@charset "UTF-8";
/*
Theme Name: 
Theme URI: https://
Author: Qubic
Author URI: https://qu-bic.jp
Description: 
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
/*****************************

このファイルは直接変更しないでください。
CSSを変更・修正・追記したい場合は、scssファイルを作成し、そちらに記述お願いします。

*****************************/
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

html,
*::before,
*::after {
  box-sizing: border-box;
}

main {
  display: block;
}

a {
  text-decoration: none;
}

input,
input:focus,
textarea:focus {
  outline: 0;
  border-radius: 0;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=submit],
input[type=button],
input[type=date]::-webkit-inner-spin-button,
input[type=date]::-webkit-clear-button,
textarea {
  -webkit-appearance: none;
  border-radius: 0;
}

input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

select {
  outline: none;
  text-indent: 0.01px;
  text-overflow: "";
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
}

select option {
  background-color: #fff;
  color: #333;
}

select::-ms-expand {
  display: none;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}

figure {
  margin: 0;
}

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

iframe {
  max-width: 100%;
  vertical-align: bottom;
}

li {
  list-style: none;
}

table {
  border-collapse: collapse;
}

body {
  -webkit-text-size-adjust: 100%;
}

html {
  color: #333333;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "游ゴシック体", "Lucida Grande", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  line-height: 2;
  height: 100%;
}
@media screen and (min-width: 768px) {
  html {
    font-size: min(12px + 4 * (100vw - 768px) / 912, 16px);
  }
}
@media screen and (max-width: 767.5px) {
  html {
    font-size: min(3.846vw, 18px);
  }
}

a {
  color: #333333;
  display: block;
}

#wrapper {
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  #wrapper {
    height: auto;
  }
}
@media screen and (max-width: 767.5px) {
  #wrapper {
    height: 100%;
  }
}

section,
.section {
  width: 100%;
  height: auto;
  position: relative;
}

.l_container {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l_container {
    width: min(95%, 1680px);
  }
}
@media screen and (max-width: 767.5px) {
  .l_container {
    width: min(100% - 2rem);
  }
}

.container {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .container {
    width: min(90%, 1280px);
  }
}
@media screen and (max-width: 767.5px) {
  .container {
    width: min(100% - 2rem, 650px);
  }
}

.m_container {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .m_container {
    width: min(90%, 1080px);
  }
}
@media screen and (max-width: 767.5px) {
  .m_container {
    width: min(100% - 2rem, 650px);
  }
}

.s_container {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .s_container {
    width: min(90%, 960px);
  }
}
@media screen and (max-width: 767.5px) {
  .s_container {
    width: min(100% - 2rem, 650px);
  }
}

@media screen and (min-width: 768px) {
  .is_sp {
    display: none;
  }
  .is_tab {
    display: none;
  }
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .is_hidden_tab {
    display: none;
  }
  .is_tab {
    display: block;
  }
}
@media screen and (max-width: 767.5px) {
  .is_pc {
    display: none;
  }
  .is_hidden_tab {
    display: none;
  }
}
.objectCover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover;object-position: 50% 50%;";
}

.objectContain {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 50%;
  font-family: "object-fit: contain;object-position: 50% 50%;";
}

.point_reader {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.preload * {
  transition: none;
}

@media screen and (min-width: 768px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 50000;
    border-bottom: 1px solid #FFF;
    transition: background 0.3s, box-shadow 0.3s;
  }
  header.active, header.other {
    background: #FFF;
    box-shadow: 0px 4px 40px 0px rgba(51, 51, 51, 0.0392156863);
    transition: background 0.3s, box-shadow 0.3s;
  }
  header .header_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: calc(14 / 16 * 1rem) calc(30 / 16 * 1rem);
  }
  header .header_inner .logo {
    width: calc(210 / 16 * 1rem);
    display: flex;
    align-items: center;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  header .header_inner .logo {
    width: calc(180 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  header .header_inner .logo a {
    width: 100%;
  }
  header .header_inner .logo a img {
    display: block;
    width: 100%;
    height: auto;
  }
  header nav ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  header nav ul li a {
    width: calc(160 / 16 * 1rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: calc(12 / 16 * 1rem);
    font-weight: 500;
    line-height: 1.5;
    transition: color 0.3s;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  header nav ul li a {
    width: calc(130 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  header nav ul li a::after {
    content: attr(data-en);
    font-size: calc(18 / 16 * 1rem);
    line-height: 1.1666666667;
    font-weight: 700;
    font-family: "Inter", sans-serif;
  }
  header nav ul li a:hover {
    color: #8FC31F;
  }
  header nav ul li.cta a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(200 / 16 * 1rem);
    padding: calc(20 / 16 * 1rem);
    font-size: calc(18 / 16 * 1rem);
    font-family: "Inter", sans-serif;
    line-height: 1.1666666667;
    text-align: center;
    color: #FFF;
    background: #8FC31F;
    border-radius: calc(60 / 16 * 1rem);
    border: 1px solid #8FC31F;
    transition: background 0.3s, color 0.3s;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  header nav ul li.cta a {
    width: calc(180 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  header nav ul li.cta a:hover {
    background: #FFF;
    color: #8FC31F;
  }
}
@media screen and (max-width: 767.5px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(70 / 15 * 1rem);
    z-index: 50000;
    background: #FFF;
  }
  header.other {
    box-shadow: 0px 4px 40px 0px rgba(51, 51, 51, 0.0392156863);
  }
  header .header_inner {
    height: inherit;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: calc(15 / 15 * 1rem);
  }
  header .header_inner .logo {
    position: relative;
    height: inherit;
    width: calc(167 / 15 * 1rem);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  header .header_inner .logo a {
    width: 100%;
  }
  header .header_inner .logo a img {
    display: block;
    width: 100%;
    height: auto;
  }
  header .header_inner nav {
    position: fixed;
    top: calc(69 / 15 * 1rem);
    right: -100%;
    width: 100%;
    height: calc(100% - calc(69 / 15 * 1rem));
    background: #FFF;
    padding: calc(67 / 15 * 1rem) calc(15 / 15 * 1rem);
    overflow-y: auto;
    transition: 0.3s;
  }
  header .header_inner nav.active {
    right: 0;
  }
  header .header_inner nav ul {
    border-top: 1px solid #B9B9B9;
  }
  header .header_inner nav ul li {
    border-bottom: solid 1px #B9B9B9;
  }
  header .header_inner nav ul li a {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-direction: row-reverse;
    column-gap: calc(30 / 15 * 1rem);
    color: #333333;
    padding: calc(20 / 15 * 1rem) calc(15 / 15 * 1rem);
    font-size: calc(15 / 15 * 1rem);
    font-weight: 500;
    line-height: 1.4666666667;
  }
  header .header_inner nav ul li a::after {
    content: attr(data-en);
    font-size: calc(20 / 15 * 1rem);
    line-height: 1.2;
    font-weight: 700;
    font-family: "Inter", sans-serif;
    width: calc(94 / 15 * 1rem);
  }
  header .header_inner nav ul li.cta {
    border-bottom: none;
    margin-top: calc(50 / 15 * 1rem);
    text-align: center;
  }
  header .header_inner nav ul li.cta a {
    display: inline-block;
    width: calc(200 / 15 * 1rem);
    padding: calc(20 / 15 * 1rem);
    font-size: calc(18 / 15 * 1rem);
    font-family: "Inter", sans-serif;
    line-height: 1.1666666667;
    color: #FFF;
    background: #8FC31F;
    border-radius: calc(60 / 15 * 1rem);
  }
  header .header_inner .menu_open {
    width: 3.5rem;
    height: 3.5rem;
    position: relative;
  }
  header .header_inner .menu_open span {
    position: absolute;
    top: 50%;
    left: 50%;
    background: #333333;
    width: calc(30 / 15 * 1rem);
    height: 2px;
    transition: 0.3s;
  }
  header .header_inner .menu_open span:nth-of-type(1) {
    transform: translate(-50%, -50%) translateY(7px);
  }
  header .header_inner .menu_open span:nth-of-type(2) {
    transform: translate(-50%, -50%);
  }
  header .header_inner .menu_open span:nth-of-type(3) {
    transform: translate(-50%, -50%) translateY(-7px);
  }
  header .header_inner .menu_open.active span:nth-of-type(1) {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  header .header_inner .menu_open.active span:nth-of-type(2) {
    opacity: 0;
  }
  header .header_inner .menu_open.active span:nth-of-type(3) {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
}
@media screen and (min-width: 768px) {
  footer {
    position: relative;
    z-index: 1;
    background: #333333;
    padding-top: calc(92 / 16 * 1rem);
    grid-row-start: 2;
    grid-row-end: 3;
  }
  footer .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  footer .wrap .info p {
    font-size: calc(16 / 16 * 1rem);
    font-weight: 700;
    letter-spacing: 0.15em;
    color: #FFF;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  footer .wrap .info p {
    font-size: calc(14 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  footer .wrap .info p {
    font-size: calc(12 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  footer .wrap .info .link {
    margin-top: calc(25 / 16 * 1rem);
  }
  footer .wrap .nav {
    display: flex;
  }
  footer .wrap .nav li:last-child a {
    padding-right: 0;
  }
  footer .wrap .nav li a {
    font-size: calc(16 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5625;
    color: #FFF;
    padding: 0 calc(15 / 16 * 1rem);
    transition: opacity 0.3s;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  footer .wrap .nav li a {
    font-size: calc(14 / 16 * 1rem);
    padding: 0 calc(15 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  footer .wrap .nav li a {
    font-size: calc(12 / 16 * 1rem);
    padding: 0 calc(9 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  footer .wrap .nav li a:hover {
    opacity: 0.7;
  }
  footer .copy {
    border-top: 1px solid #D9DBDD;
    padding: calc(28 / 16 * 1rem) 0;
    text-align: center;
    margin-top: calc(92 / 16 * 1rem);
  }
  footer .copy small {
    font-size: calc(12 / 16 * 1rem);
    font-weight: 500;
    font-family: "Inter", sans-serif;
    line-height: 1.5833333333;
    letter-spacing: 0.05em;
    color: #FFF;
  }
}
@media screen and (max-width: 767.5px) {
  footer {
    position: relative;
    z-index: 1;
    background: #333333;
    margin-top: calc(-3 / 15 * 1rem);
  }
  footer .wrap .info p {
    font-size: calc(15 / 15 * 1rem);
    font-weight: 700;
    letter-spacing: 0.15em;
    color: #FFF;
    text-align: center;
  }
  footer .wrap .info .link {
    margin-top: calc(25 / 15 * 1rem);
    text-align: center;
  }
  footer .wrap .nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: calc(50 / 15 * 1rem);
    column-gap: calc(23 / 15 * 1rem);
  }
  footer .wrap .nav li a {
    font-size: calc(15 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    color: #FFF;
    padding: calc(10 / 15 * 1rem) calc(7 / 15 * 1rem);
  }
  footer .copy {
    border-top: 1px solid #D9DBDD;
    padding: calc(20 / 15 * 1rem) 0;
    text-align: center;
    margin-top: calc(50 / 15 * 1rem);
  }
  footer .copy small {
    font-size: calc(12 / 15 * 1rem);
    font-weight: 500;
    font-family: "Inter", sans-serif;
    line-height: 1.5833333333;
    letter-spacing: 0.05em;
    color: #FFF;
  }
}
.poppins {
  font-family: "Poppins", sans-serif;
}

@media screen and (min-width: 768px) {
  .wpcf7 {
    position: relative;
  }
  .wpcf7 span.wpcf7-not-valid-tip {
    position: absolute;
    bottom: -39px;
    left: 18px;
    font-size: 12px;
  }
  .wpcf7 .your_msg span.wpcf7-not-valid-tip {
    bottom: -15px;
  }
  .wpcf7 div.wpcf7-response-output {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    color: #f00;
    font-size: 14px;
  }
  .ajax-loader {
    position: absolute;
    top: 50%;
    left: 110%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 767.5px) {
  .wpcf7 {
    position: relative;
  }
  .wpcf7 span.wpcf7-not-valid-tip {
    position: absolute;
    bottom: -39px;
    left: 18px;
    font-size: 12px;
  }
  .wpcf7 .your_msg span.wpcf7-not-valid-tip {
    bottom: -15px;
  }
  .wpcf7 div.wpcf7-response-output {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    color: #f00;
    font-size: 12px;
    white-space: nowrap;
  }
  .ajax-loader {
    position: absolute;
    top: 50%;
    left: 110%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (min-width: 768px) {
  .postarea {
    border-bottom: solid 1px #ccc;
    padding-bottom: calc(60 / 16 * 1rem);
  }
  .postarea p {
    margin: calc(40 / 16 * 1rem) 0;
    line-height: 1.75;
    font-weight: 500;
  }
  .postarea .img_wrap {
    display: flex;
    gap: calc(32 / 16 * 1rem);
  }
  .postarea h2 {
    font-size: 1.8rem;
    margin: calc(80 / 16 * 1rem) 0 calc(30 / 16 * 1rem);
  }
  .postarea h3 {
    font-size: 1.5rem;
    margin: 2.5rem 0 2rem;
  }
  .postarea h4 {
    font-size: 1.25rem;
    margin: 2rem 0 1.5rem;
  }
  .postarea h5 {
    font-size: 1.1rem;
    margin: 1rem 0;
    margin: 1.5rem 0;
  }
  .postarea h6 {
    font-size: 1rem;
    margin: 1.5rem 0;
  }
  .postarea ul {
    margin: calc(30 / 16 * 1rem) 0;
  }
  .postarea ul.blocks-gallery-grid {
    margin: 3rem 0 0;
  }
  .postarea ul li {
    position: relative;
    padding-left: calc(15 / 16 * 1rem);
    font-weight: 500;
    line-height: 1.5;
  }
  .postarea ul li::before {
    content: "";
    width: calc(8 / 16 * 1rem);
    height: calc(8 / 16 * 1rem);
    background: #8FC31F;
    border-radius: 50%;
    position: absolute;
    top: calc(8 / 16 * 1rem);
    left: 0;
  }
  .postarea ol {
    margin: calc(30 / 16 * 1rem) 0;
    counter-reset: num;
  }
  .postarea ol li {
    padding-left: calc(18 / 16 * 1rem);
    counter-increment: num;
    line-height: 1.5;
    font-weight: 500;
    position: relative;
  }
  .postarea ol li::before {
    content: counter(num) ".";
    position: absolute;
    top: 0;
    left: 0;
  }
  .postarea strong {
    font-weight: bold;
  }
  .postarea blockquote {
    background: #F1F1F1;
    padding: calc(60 / 16 * 1rem) calc(30 / 16 * 1rem);
    position: relative;
    font-weight: 500;
    margin: calc(30 / 16 * 1rem) 0;
  }
  .postarea blockquote cite {
    font-size: 0.8rem;
    color: #999;
  }
  .postarea a {
    display: inline;
    color: #026DBA;
    position: relative;
  }
  .postarea a::after {
    content: "";
    width: 100%;
    height: 1px;
    background: #026DBA;
    position: absolute;
    bottom: calc(-2 / 16 * 1rem);
    left: 0;
    transition: width 0.3s;
  }
  .postarea a:hover::after {
    width: 0;
  }
  .postarea img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
  }
  .postarea table {
    width: 100%;
    margin: calc(60 / 16 * 1rem) 0 calc(30 / 16 * 1rem);
  }
  .postarea table th,
  .postarea table td {
    border: solid 1px #ccc;
    padding: calc(6 / 16 * 1rem) calc(10 / 16 * 1rem);
    text-align: left;
    font-weight: 500;
  }
}
@media screen and (max-width: 767.5px) {
  .postarea {
    padding-bottom: calc(20 / 15 * 1rem);
    border-bottom: solid 1px #ccc;
  }
  .postarea p {
    margin: calc(30 / 15 * 1rem) 0;
  }
  .postarea h2 {
    font-size: calc(20 / 15 * 1rem);
    margin: calc(50 / 15 * 1rem) 0 calc(20 / 15 * 1rem);
  }
  .postarea h3 {
    font-size: 1.3rem;
    margin: 2rem 0;
  }
  .postarea h4 {
    font-size: 1.2rem;
    margin: 1.5rem 0;
  }
  .postarea h5 {
    font-size: 1.1rem;
    margin: 1rem 0;
  }
  .postarea h6 {
    font-size: 1rem;
    margin: 1rem 0;
  }
  .postarea ul {
    margin: calc(30 / 15 * 1rem) 0;
  }
  .postarea ul.blocks-gallery-grid {
    margin: 3rem 0 0;
  }
  .postarea ul li {
    position: relative;
    padding-left: calc(16 / 15 * 1rem);
    font-weight: 500;
    line-height: 1.5;
  }
  .postarea ul li::before {
    content: "";
    width: calc(8 / 15 * 1rem);
    height: calc(8 / 15 * 1rem);
    background: #8FC31F;
    border-radius: 50%;
    position: absolute;
    top: calc(6 / 15 * 1rem);
    left: 0;
  }
  .postarea ol {
    margin: calc(30 / 15 * 1rem) 0;
    counter-reset: num;
  }
  .postarea ol li {
    padding-left: calc(18 / 15 * 1rem);
    counter-increment: num;
    line-height: 1.5;
    font-weight: 500;
    position: relative;
  }
  .postarea ol li::before {
    content: counter(num) ".";
    position: absolute;
    top: 0;
    left: 0;
  }
  .postarea strong {
    font-weight: bold;
  }
  .postarea blockquote {
    background: #F1F1F1;
    padding: calc(30 / 15 * 1rem) calc(20 / 15 * 1rem);
    position: relative;
  }
  .postarea blockquote cite {
    font-size: 0.8rem;
    color: #999;
  }
  .postarea a {
    display: inline;
    color: #026DBA;
    text-decoration: underline;
  }
  .postarea .img_wrap {
    margin: calc(30 / 15 * 1rem) 0 calc(15 / 15 * 1rem);
    display: flex;
    flex-direction: column;
    gap: calc(16 / 15 * 1rem);
  }
  .postarea img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
  }
  .postarea table {
    width: 100%;
    margin: calc(40 / 15 * 1rem) 0 calc(20 / 15 * 1rem);
  }
  .postarea table th,
  .postarea table td {
    border: solid 1px #ccc;
    padding: calc(6 / 15 * 1rem) calc(8 / 16 * 1rem);
    font-size: calc(16 / 15 * 1rem);
    font-weight: 500;
    text-align: left;
  }
}
@media screen and (min-width: 768px) {
  .search {
    width: 100%;
    border: 1px solid #ddd;
  }
  .search form .search_inner {
    display: flex;
    justify-content: space-between;
    height: 3rem;
    align-items: center;
  }
  .search form .search_inner .input {
    width: calc(100% - 3rem);
    height: 100%;
  }
  .search form .search_inner .input input {
    border: none;
    padding: 0 1rem;
    width: 100%;
    height: 100%;
  }
  .search form .search_inner .submit {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    width: 3rem;
    height: 3rem;
    color: #000;
  }
  .search form .search_inner .submit span {
    font-size: 1.2rem;
  }
  .post_none {
    text-align: center;
  }
}
@media screen and (max-width: 767.5px) {
  .search {
    width: 100%;
    border: 1px solid #ddd;
  }
  .search form .search_inner {
    display: flex;
    justify-content: space-between;
    height: 3rem;
    align-items: center;
  }
  .search form .search_inner .input {
    width: calc(100% - 3rem);
    height: 100%;
  }
  .search form .search_inner .input input {
    border: none;
    padding: 0 1rem;
    width: 100%;
    height: 100%;
    font-size: 16px;
  }
  .search form .search_inner .submit {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    width: 3rem;
    height: 3rem;
    color: #000;
  }
  .search form .search_inner .submit span {
    font-size: 1.2rem;
  }
  .post_none {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .e-btn {
    display: inline-block;
    background: #8FC31F;
    color: #FFF;
    padding: calc(20 / 16 * 1rem) calc(80 / 16 * 1rem);
    font-size: calc(20 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    border-radius: calc(80 / 16 * 1rem);
    transition: background 0.3s, color 0.3s;
  }
  .e-btn.en {
    font-family: "Inter", sans-serif;
    line-height: 1.2;
    border-radius: calc(30 / 16 * 1rem);
    text-transform: uppercase;
  }
  .e-btn.border {
    border: 1px solid #8FC31F;
  }
  .e-btn:hover {
    background: #FFF;
    color: #8FC31F;
  }
  .e-btn.transparent {
    background: transparent;
    color: #FFF;
    border: 1px solid #FFF;
  }
  .e-btn.transparent:hover {
    background: #FFF;
    color: #333333;
  }
  .e-btn.white {
    background: #FFF;
    color: #8FC31F;
  }
  .e-btn.white:hover {
    background: #8FC31F;
    color: #FFF;
  }
  .e-btn.thanks {
    border: 1px solid #8FC31F;
    width: calc(400 / 16 * 1rem);
    text-align: center;
  }
}
@media screen and (max-width: 767.5px) {
  .e-btn {
    display: inline-block;
    background: #8FC31F;
    color: #FFF;
    padding: calc(20 / 15 * 1rem) calc(60 / 15 * 1rem);
    font-size: calc(16 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    border-radius: calc(80 / 15 * 1rem);
  }
  .e-btn.en {
    font-family: "Inter", sans-serif;
    line-height: 1.1875;
    border-radius: calc(30 / 15 * 1rem);
    text-transform: uppercase;
    padding: calc(15 / 15 * 1rem) calc(60 / 15 * 1rem);
  }
  .e-btn.transparent {
    background: transparent;
    border: 1px solid #FFF;
    color: #FFF;
  }
  .e-btn.white {
    background: #FFF;
    color: #8FC31F;
  }
  .e-btn.thanks {
    width: calc(300 / 15 * 1rem);
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .e-cta {
    background: #FFF;
    padding: 9.8958333333vw 0 calc(70 / 16 * 1rem);
    position: relative;
  }
  .e-cta.black {
    background: rgba(51, 51, 51, 0.77);
  }
  .e-cta.black .box .item h2 {
    color: #FFF;
  }
  .e-cta.black .box .item p {
    color: #FFF;
  }
  .e-cta .en_ttl {
    font-family: "Inter", sans-serif;
    font-size: 9.6354166667vw;
    font-weight: 700;
    line-height: 0.8486486486;
    letter-spacing: 0.03em;
    color: rgba(217, 217, 217, 0.29);
    position: absolute;
    right: 7.03125vw;
    top: 3.3854166667vw;
    white-space: nowrap;
  }
  .e-cta .box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 calc(60 / 16 * 1rem);
    position: relative;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .e-cta .box {
    padding: 0 calc(30 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .e-cta .box {
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  .e-cta .box .item h2 {
    font-size: calc(42 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .e-cta .box .item h2 {
    font-size: calc(32 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .e-cta .box .item h2 {
    font-size: calc(24 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .e-cta .box .item p {
    margin-top: calc(20 / 16 * 1rem);
    font-size: calc(18 / 16 * 1rem);
    font-weight: 500;
    line-height: 1.5;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .e-cta .box .item p {
    font-size: calc(16 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .e-cta .box .item p {
    font-size: calc(15 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .e-cta .box .link a {
    display: inline-block;
    background: #8FC31F;
    color: #FFF;
    padding: calc(20 / 16 * 1rem) calc(80 / 16 * 1rem);
    font-size: calc(20 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    border-radius: calc(80 / 16 * 1rem);
    border: 1px solid #8FC31F;
    transition: background 0.3s, color 0.3s;
  }
  .e-cta .box .link a span {
    display: block;
    font-size: calc(16 / 16 * 1rem);
    line-height: 1.5;
    text-align: center;
  }
  .e-cta .box .link a:hover {
    background: #FFF;
    color: #8FC31F;
  }
}
@media screen and (max-width: 767.5px) {
  .e-cta {
    background: #FFF;
    padding: calc(71 / 15 * 1rem) 0 calc(50 / 15 * 1rem);
    position: relative;
  }
  .e-cta.black {
    background: rgba(51, 51, 51, 0.77);
    padding-top: calc(114 / 15 * 1rem);
  }
  .e-cta.black .en_ttl {
    top: calc(67 / 15 * 1rem);
  }
  .e-cta.black .box .item h2 {
    color: #FFF;
  }
  .e-cta.black .box .item p {
    color: #FFF;
  }
  .e-cta .en_ttl {
    font-family: "Inter", sans-serif;
    font-size: calc(70 / 15 * 1rem);
    font-weight: 700;
    line-height: 0.8428571429;
    letter-spacing: 0.03em;
    color: rgba(217, 217, 217, 0.29);
    position: absolute;
    left: 50%;
    top: calc(24 / 15 * 1rem);
    transform: translateX(-50%);
    white-space: nowrap;
  }
  .e-cta .box {
    position: relative;
  }
  .e-cta .box .item {
    text-align: center;
  }
  .e-cta .box .item h2 {
    font-size: calc(32 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
  }
  .e-cta .box .item p {
    margin-top: calc(20 / 15 * 1rem);
    font-size: calc(16 / 15 * 1rem);
    font-weight: 500;
    line-height: 1.75;
  }
  .e-cta .box .link {
    margin-top: calc(40 / 15 * 1rem);
    text-align: center;
  }
  .e-cta .box .link a {
    display: inline-block;
    background: #8FC31F;
    color: #FFF;
    padding: calc(15 / 15 * 1rem) calc(80 / 15 * 1rem);
    font-size: calc(18 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    border-radius: calc(80 / 15 * 1rem);
  }
  .e-cta .box .link a span {
    display: block;
    font-size: calc(15 / 15 * 1rem);
    line-height: 1.4666666667;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .e-access {
    position: relative;
    z-index: 2;
    background: linear-gradient(180deg, #FFF 0%, #FFF 74%, #333333 74%, #333333 100%);
  }
  .e-access.black {
    background: linear-gradient(180deg, rgba(51, 51, 51, 0.77) 0%, rgba(51, 51, 51, 0.77) 74%, #333333 74%, #333333 100%);
  }
  .e-access h2 {
    font-family: "Inter", sans-serif;
    font-size: min(9.6354166667vw, 11.56rem);
    font-weight: 700;
    line-height: 0.8486486486;
    letter-spacing: 0.02em;
    color: rgba(217, 217, 217, 0.29);
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
    position: absolute;
    left: -8.1770833333vw;
    top: 0;
    z-index: 1;
  }
}
@media screen and (min-width: 768px) and (min-width: 1440px) and (max-width: 1499.5px) {
  .e-access h2 {
    left: -6vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .e-access h2 {
    left: -5.5vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1279.5px) {
  .e-access h2 {
    left: -5.5vw;
  }
}
@media screen and (min-width: 768px) {
  .e-access .map {
    width: 100%;
    position: relative;
  }
  .e-access .map iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 1280/540;
    position: relative;
    z-index: 2;
  }
}
@media screen and (max-width: 767.5px) {
  .e-access {
    position: relative;
    z-index: 2;
    background: linear-gradient(180deg, #FFF 0%, #FFF 52%, #333333 52%, #333333 100%);
  }
  .e-access.black {
    background: linear-gradient(180deg, rgba(51, 51, 51, 0.77) 0%, rgba(51, 51, 51, 0.77) 52%, #333333 52%, #333333 100%);
  }
  .e-access .map {
    width: 100%;
    display: flex;
    flex-direction: column-reverse;
  }
  .e-access .map h2 {
    font-family: "Inter", sans-serif;
    font-size: calc(70 / 15 * 1rem);
    font-weight: 700;
    line-height: 0.8428571429;
    letter-spacing: 0.03em;
    color: rgba(217, 217, 217, 0.29);
    text-align: center;
    white-space: nowrap;
    margin-top: calc(20 / 15 * 1rem);
  }
  .e-access .map iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 360/300;
    position: relative;
    z-index: 2;
  }
}
@media screen and (min-width: 768px) {
  .lower_mv {
    margin-top: calc(90 / 16 * 1rem);
  }
  .lower_mv:has(.swiper) {
    padding-bottom: calc(162 / 16 * 1rem);
  }
  .lower_mv .mv_nav {
    background: #333333;
    box-shadow: 0px 4px 40px 0px rgba(255, 255, 255, 0.1490196078);
  }
  .lower_mv .mv_nav ul {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .lower_mv .mv_nav ul li a {
    display: block;
    padding: calc(18 / 16 * 1rem) min(1.3020833333vw, 30 / 16 * 1rem);
    font-size: calc(15 / 16 * 1rem);
    line-height: 1.4666666667;
    font-weight: 700;
    color: #FFF;
    transition: color 0.3s;
  }
  .lower_mv .mv_nav ul li a:hover {
    color: #8FC31F;
  }
  .lower_mv .head {
    margin-top: calc(90 / 16 * 1rem);
  }
  .lower_mv .head h1 {
    font-size: calc(24 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .lower_mv .en_ttl {
    display: inline-block;
    font-family: "Inter", sans-serif;
    font-weight: 700;
    font-size: calc(180 / 16 * 1rem);
    line-height: 1.2055555556;
    -webkit-background-clip: text;
    color: transparent;
    text-transform: capitalize;
    background-repeat: no-repeat;
    background-size: cover;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .lower_mv .en_ttl {
    font-size: calc(140 / 15 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .lower_mv .en_ttl {
    font-size: calc(120 / 15 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .lower_mv .swiper {
    margin-top: calc(72 / 16 * 1rem);
    max-height: 28.9583333333vw;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .lower_mv .swiper .swiper-slide {
    transform: scale(0.8);
    transition: 0.3s;
  }
  .lower_mv .swiper .swiper-slide a {
    transition: 0.3s;
  }
  .lower_mv .swiper .swiper-slide a:hover {
    opacity: 0.7;
  }
  .lower_mv .swiper .swiper-slide img {
    height: auto;
    width: 100%;
  }
  .lower_mv .swiper .swiper-slide-active {
    transform: scale(1);
    z-index: 1;
  }
  .lower_mv .swiper .swiper-button-prev,
  .lower_mv .swiper .swiper-button-next {
    width: calc(57 / 16 * 1rem);
    height: calc(57 / 16 * 1rem);
  }
  .lower_mv .swiper .swiper-button-prev::after,
  .lower_mv .swiper .swiper-button-next::after {
    content: "";
    width: 100%;
    height: 100%;
    background: url(./images/original/ico_swiper_arrow.svg) no-repeat center center/contain;
  }
  .lower_mv .swiper .swiper-button-prev {
    left: 24.7395833333vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .lower_mv .swiper .swiper-button-prev {
    left: 23.3918128655vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .lower_mv .swiper .swiper-button-prev {
    left: 23.4375vw;
  }
}
@media screen and (min-width: 768px) {
  .lower_mv .swiper .swiper-button-next {
    right: 24.7395833333vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .lower_mv .swiper .swiper-button-next {
    right: 23.3918128655vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .lower_mv .swiper .swiper-button-next {
    right: 23.4375vw;
  }
}
@media screen and (min-width: 768px) {
  .lower_mv .swiper .swiper-button-next::after {
    transform: rotate(180deg);
  }
  .lower_mv .mv_img {
    margin-top: calc(162 / 16 * 1rem);
    width: 100%;
  }
  .lower_mv .mv_img img {
    width: 100%;
    height: auto;
    aspect-ratio: 1920/699;
    object-fit: cover;
  }
  .lower_mv.products .en_ttl {
    background-image: url(./images/products/mv_ttl_bg.jpg);
  }
  .lower_mv.privacy .en_ttl {
    background-image: url(./images/privacy/mv_ttl_bg.jpg);
  }
  .lower_mv.contact .en_ttl {
    background-image: url(./images/contact/mv_ttl_bg.jpg);
  }
  .lower_mv.recruit .en_ttl {
    background-image: url(./images/recruit/mv_ttl_bg.jpg);
  }
  .lower_mv.company .en_ttl {
    background-image: url(./images/company/mv_ttl_bg.jpg);
  }
  .lower_mv.original .en_ttl {
    background-image: url(./images/original/mv_ttl_bg.jpg);
  }
}
@media screen and (max-width: 767.5px) {
  .lower_mv {
    margin-top: calc(70 / 15 * 1rem);
  }
  .lower_mv .mv_nav {
    background: #333333;
    box-shadow: 0px 4px 40px 0px rgba(255, 255, 255, 0.1490196078);
    padding: calc(5 / 15 * 1rem) 0;
  }
  .lower_mv .mv_nav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }
  .lower_mv .mv_nav ul li a {
    display: block;
    padding: calc(5 / 15 * 1rem) calc(15 / 15 * 1rem);
    font-size: calc(13 / 15 * 1rem);
    line-height: 1.4615384615;
    font-weight: 700;
    color: #FFF;
  }
  .lower_mv .head {
    margin-top: calc(56 / 15 * 1rem);
  }
  .lower_mv .head h1 {
    font-size: calc(16 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .lower_mv .en_ttl {
    display: inline-block;
    font-family: "Inter", sans-serif;
    font-weight: 700;
    font-size: calc(64 / 15 * 1rem);
    line-height: 1.203125;
    -webkit-background-clip: text;
    color: transparent;
    text-transform: capitalize;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .lower_mv .swiper {
    margin-top: calc(52 / 15 * 1rem);
    margin-bottom: calc(59 / 15 * 1rem);
    padding: 0 calc(16 / 15 * 1rem);
  }
  .lower_mv .swiper .swiper-slide img {
    height: auto;
    width: 100%;
  }
  .lower_mv .swiper .swiper-button-prev,
  .lower_mv .swiper .swiper-button-next {
    width: calc(30 / 15 * 1rem);
    height: calc(30 / 15 * 1rem);
    top: 53%;
  }
  .lower_mv .swiper .swiper-button-prev::after,
  .lower_mv .swiper .swiper-button-next::after {
    content: "";
    width: 100%;
    height: 100%;
    background: url(./images/original/ico_swiper_arrow.svg) no-repeat center center/contain;
  }
  .lower_mv .swiper .swiper-button-prev {
    left: 0;
  }
  .lower_mv .swiper .swiper-button-next {
    right: 0;
  }
  .lower_mv .swiper .swiper-button-next::after {
    transform: rotate(180deg);
  }
  .lower_mv .mv_img {
    margin-top: calc(72 / 15 * 1rem);
    width: 100%;
  }
  .lower_mv .mv_img img {
    width: 100%;
    height: auto;
    aspect-ratio: 390/247;
    object-fit: cover;
  }
  .lower_mv.products .en_ttl {
    background-image: url(./images/products/mv_ttl_bg_sp.jpg);
  }
  .lower_mv.privacy .en_ttl {
    background-image: url(./images/privacy/mv_ttl_bg_sp.jpg);
  }
  .lower_mv.contact .en_ttl {
    background-image: url(./images/contact/mv_ttl_bg_sp.jpg);
  }
  .lower_mv.recruit .en_ttl {
    background-image: url(./images/recruit/mv_ttl_bg_sp.jpg);
  }
  .lower_mv.company .en_ttl {
    background-image: url(./images/company/mv_ttl_bg_sp.jpg);
  }
  .lower_mv.original .en_ttl {
    background-image: url(./images/original/mv_ttl_bg_sp.jpg);
  }
}
@media screen and (min-width: 768px) {
  .e-breadcrumb {
    display: flex;
    align-items: center;
    column-gap: calc(4 / 16 * 1rem);
    padding: calc(30 / 16 * 1rem) 0;
  }
  .e-breadcrumb li {
    display: flex;
    align-items: center;
    column-gap: calc(4 / 16 * 1rem);
  }
  .e-breadcrumb li a {
    position: relative;
    color: #333333;
    font-size: calc(12 / 16 * 1rem);
    font-weight: 500;
    line-height: 1;
    display: inline-block;
    letter-spacing: 0.06em;
    transition: color 0.3s;
  }
  .e-breadcrumb li a::after {
    content: "";
    background: #333333;
    width: 100%;
    height: 1px;
    display: block;
    position: absolute;
    bottom: calc(-2 / 16 * 1rem);
    left: 0;
    transition: 0.3s;
  }
  .e-breadcrumb li a:hover {
    color: #8FC31F;
  }
  .e-breadcrumb li a:hover::after {
    width: 0;
  }
  .e-breadcrumb li::after {
    content: "";
    background: url(./images/common/ico_arrow.svg) no-repeat center/contain;
    width: calc(12 / 16 * 1rem);
    height: calc(12 / 16 * 1rem);
    display: block;
  }
  .e-breadcrumb li:last-of-type::after {
    content: none;
  }
  .e-breadcrumb li span {
    font-size: calc(12 / 16 * 1rem);
    font-weight: 500;
    line-height: 1;
    display: inline-block;
  }
}
@media screen and (max-width: 767.5px) {
  .e-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: calc(8 / 15 * 1rem) calc(4 / 15 * 1rem);
    padding: calc(16 / 15 * 1rem) 0;
  }
  .e-breadcrumb li {
    display: flex;
    align-items: center;
    column-gap: calc(4 / 15 * 1rem);
  }
  .e-breadcrumb li a {
    color: #333333;
    font-size: calc(12 / 15 * 1rem);
    font-weight: 500;
    line-height: 1;
    display: inline-block;
    letter-spacing: 0.06em;
    text-decoration: underline;
  }
  .e-breadcrumb li::after {
    content: "";
    background: url(./images/common/ico_arrow.svg) no-repeat center/contain;
    width: calc(10 / 15 * 1rem);
    height: calc(10 / 15 * 1rem);
    display: block;
  }
  .e-breadcrumb li:last-of-type::after {
    content: none;
  }
  .e-breadcrumb li span {
    font-size: calc(12 / 15 * 1rem);
    font-weight: 500;
    line-height: 1;
    display: inline-block;
  }
}
@media screen and (min-width: 768px) {
  .e-btn_map {
    display: inline-block;
    background: #FFF;
    color: #172A88;
    font-family: "Inter", sans-serif;
    font-size: calc(20 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.2;
    padding: calc(19 / 16 * 1rem) calc(86 / 16 * 1rem);
    border-radius: calc(31 / 16 * 1rem);
    border: 1px solid #FFF;
    transition: background 0.3s, color 0.3s;
  }
  .e-btn_map:hover {
    background: transparent;
    color: #FFF;
  }
  .e-btn_map.border {
    border: 2px solid #172A88;
    font-size: calc(16 / 16 * 1rem);
    line-height: 1.25;
    letter-spacing: 0.09em;
    padding: calc(18 / 16 * 1rem) calc(65 / 16 * 1rem);
  }
  .e-btn_map.border:hover {
    background: #172A88;
    color: #FFF;
  }
}
@media screen and (max-width: 767.5px) {
  .e-btn_map {
    display: inline-block;
    background: #FFF;
    color: #172A88;
    font-family: "Inter", sans-serif;
    font-size: calc(16 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.1875;
    padding: calc(19 / 15 * 1rem) calc(86 / 15 * 1rem);
    border-radius: calc(31 / 15 * 1rem);
  }
  .e-btn_map.border {
    border: 2px solid #172A88;
    letter-spacing: 0.09em;
    padding: calc(18 / 15 * 1rem) calc(65 / 15 * 1rem);
    border-radius: calc(53 / 15 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .box.e-lists.no-post {
    grid-template-columns: repeat(1, 1fr);
  }
  .e-lists {
    margin-top: calc(60 / 16 * 1rem);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: calc(29 / 16 * 1rem);
  }
  .e-lists.bg_black > p {
    color: #FFF;
  }
  .e-lists.bg_black .item a h3 {
    color: #FFF;
  }
  .e-lists > p {
    text-wrap: nowrap;
    text-align: center;
    width: 100%;
  }
  .e-lists .item a {
    transition: opacity 0.3s;
  }
  .e-lists .item a:hover {
    opacity: 0.7;
  }
  .e-lists .item a figure {
    border: 1px solid #cccccc;
  }
  .e-lists .item a figure img {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: cover;
  }
  .e-lists .item a h3 {
    font-size: calc(16 / 16 * 1rem);
    font-weight: 500;
    line-height: 1.6875;
    letter-spacing: 0.05em;
    text-align: center;
    margin-top: calc(14 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .e-lists .item a h3 {
    font-size: calc(14 / 16 * 1rem);
  }
}
@media screen and (max-width: 767.5px) {
  .box.e-lists.no-post {
    grid-template-columns: repeat(1, 1fr);
  }
  .e-lists {
    margin-top: calc(32 / 15 * 1rem);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(20 / 15 * 1rem) 0;
  }
  .e-lists.bg_black > p {
    color: #FFF;
  }
  .e-lists.bg_black .item a h3 {
    color: #FFF;
  }
  .e-lists > p {
    text-wrap: nowrap;
    text-align: center;
    width: 100%;
  }
  .e-lists .item:nth-child(even) a figure {
    border-left: 0.5px solid #cccccc;
  }
  .e-lists .item:nth-child(odd) a figure {
    border-right: 0.5px solid #cccccc;
  }
  .e-lists .item a figure {
    border: 1px solid #cccccc;
  }
  .e-lists .item a figure img {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: cover;
  }
  .e-lists .item a h3 {
    font-size: calc(14 / 15 * 1rem);
    font-weight: 500;
    line-height: 1.6428571429;
    letter-spacing: 0.05em;
    text-align: center;
    margin-top: calc(8 / 15 * 1rem);
    padding: 0 calc(12 / 15 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .e-series {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .e-series .item {
    aspect-ratio: 426/454;
    position: relative;
  }
  .e-series .item::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(51, 51, 51, 0.5);
    position: absolute;
    top: 0;
    left: 0;
  }
  .e-series .item:nth-child(1) {
    background: url(./images/top/top03_img01.jpg) no-repeat center center/cover;
  }
  .e-series .item:nth-child(2) {
    background: url(./images/top/top03_img02.jpg) no-repeat center center/cover;
  }
  .e-series .item:nth-child(3) {
    background: url(./images/top/top03_img03.jpg) no-repeat center center/cover;
  }
  .e-series .item:nth-child(4) {
    background: url(./images/top/top03_img04.jpg) no-repeat center center/cover;
  }
  .e-series .item:nth-child(5) {
    background: url(./images/top/top03_img07.jpg) no-repeat center center/cover;
  }
  .e-series .item:nth-child(6) {
    background: url(./images/top/top03_img05.jpg) no-repeat center center/cover;
  }
  .e-series .item:nth-child(7) {
    background: url(./images/top/top03_img09.jpg) no-repeat center center/cover;
  }
  .e-series .item:nth-child(8) {
    background: url(./images/top/top03_img06.jpg) no-repeat center center/cover;
  }
  .e-series .item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 calc(20 / 16 * 1rem);
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
  }
  .e-series .item a::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(306.8deg, rgba(143, 195, 31, 0.94) 15.68%, rgba(23, 42, 136, 0.94) 84.17%);
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 0.5s;
    z-index: -1;
  }
  .e-series .item a h3 {
    font-size: calc(28 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: calc(8 / 16 * 1rem);
    transition: 0.3s;
  }
  .e-series .item a h3 span {
    font-size: calc(30 / 16 * 1rem);
    font-weight: 500;
    line-height: 1.4;
  }
  .e-series .item a p {
    font-size: calc(16 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.06em;
    color: #FFF;
    height: 0;
    opacity: 0;
    transition: 0.5s;
  }
  .e-series .item a .btn {
    margin-top: calc(30 / 16 * 1rem);
    text-align: center;
    transition: 0.3s;
  }
  .e-series .item a .btn span {
    display: inline-block;
    font-family: "Inter", sans-serif;
    font-size: calc(18 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.2222222222;
    letter-spacing: 0.03em;
    color: #FFF;
    border: 1px solid #FFF;
    padding: calc(8 / 16 * 1rem) calc(45 / 16 * 1rem);
    border-radius: calc(20 / 16 * 1rem);
    transition: background 0.3s, color 0.3s;
  }
  .e-series .item a:hover::after {
    opacity: 1;
  }
  .e-series .item a:hover p {
    margin-top: calc(30 / 16 * 1rem);
    animation: height 0.5s ease 0.5s both;
    animation: fade 0.3s linear 0.3s both;
  }
  .e-series .item a:hover .btn span {
    background: #FFF;
    color: #172A88;
    transition: background 0.3s, color 0.3s;
  }
  @keyframes height {
    0% {
      height: 0;
    }
    50% {
      height: 1em;
    }
    100% {
      height: auto;
    }
  }
  @keyframes fade {
    0% {
      opacity: 0;
      height: auto;
    }
    100% {
      opacity: 1;
      height: auto;
    }
  }
}
@media screen and (max-width: 767.5px) {
  .e-series {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .e-series .item {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
  }
  .e-series .item::before {
    content: "";
    display: block;
    width: 101%;
    height: 101%;
    background: rgba(51, 51, 51, 0.5);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .e-series .item:nth-child(1) {
    background: url(./images/top/top03_img01.jpg) no-repeat center center/cover;
  }
  .e-series .item:nth-child(2) {
    background: url(./images/top/top03_img02.jpg) no-repeat center center/cover;
  }
  .e-series .item:nth-child(3) {
    background: url(./images/top/top03_img03.jpg) no-repeat center center/cover;
  }
  .e-series .item:nth-child(4) {
    background: url(./images/top/top03_img04.jpg) no-repeat center center/cover;
  }
  .e-series .item:nth-child(5) {
    background: url(./images/top/top03_img07.jpg) no-repeat center center/cover;
  }
  .e-series .item:nth-child(6) {
    background: url(./images/top/top03_img05.jpg) no-repeat center center/cover;
  }
  .e-series .item:nth-child(7) {
    background: url(./images/top/top03_img09.jpg) no-repeat center center/cover;
  }
  .e-series .item:nth-child(8) {
    background: url(./images/top/top03_img06.jpg) no-repeat center center/cover;
  }
  .e-series .item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: calc(33 / 15 * 1rem) calc(15 / 15 * 1rem);
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
  }
  .e-series .item a h3 {
    font-size: calc(18 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: calc(4 / 15 * 1rem);
  }
  .e-series .item a h3 span {
    font-size: calc(20 / 15 * 1rem);
    font-weight: 500;
    line-height: 1.35;
  }
  .e-series .item a p {
    margin-top: calc(8 / 15 * 1rem);
    font-size: calc(12 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5833333333;
    letter-spacing: 0.06em;
    color: #FFF;
  }
  .e-series .item a .btn {
    margin-top: calc(20 / 15 * 1rem);
    text-align: center;
  }
  .e-series .item a .btn span {
    display: inline-block;
    font-family: "Inter", sans-serif;
    font-size: calc(16 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.1875;
    letter-spacing: 0.03em;
    color: #FFF;
    border: 1px solid #FFF;
    padding: calc(6 / 15 * 1rem) calc(28 / 15 * 1rem);
    border-radius: calc(20 / 15 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top01 {
    height: 100vh;
    background: url(./images/top/mv_pc.jpg) no-repeat center center/cover;
    position: relative;
    z-index: 2;
  }
  .top01 .top01_in {
    max-width: calc(1762 / 16 * 1rem);
    margin-inline: auto;
    padding: 0 calc(30 / 16 * 1rem);
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  .top01 .box {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  .top01 .icon {
    width: calc(766 / 16 * 1rem);
    position: absolute;
    top: 50%;
    left: calc(30 / 16 * 1rem);
    transform: translateY(-50%);
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .top01 .icon {
    width: calc(700 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top01 .icon {
    width: 40.625rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top01 .icon {
    width: 45vw;
  }
}
@media screen and (min-width: 768px) {
  .top01 .icon img {
    width: 100%;
  }
  .top01 .item {
    position: relative;
  }
  .top01 .txt_ja {
    display: inline-block;
    background: #FFF;
    font-size: calc(27 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.4814814815;
    letter-spacing: 0.03em;
    padding: calc(2 / 16 * 1rem) calc(4 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .top01 .txt_ja {
    font-size: calc(23 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top01 .txt_ja {
    font-size: calc(20 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top01 .txt_ja {
    font-size: calc(18 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top01 .txt_wrap {
    display: flex;
    align-items: center;
    column-gap: calc(39 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .top01 .txt_wrap {
    column-gap: calc(30 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top01 .txt_wrap {
    column-gap: calc(20 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top01 .txt_wrap {
    column-gap: calc(10 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top01 .txt_en {
    display: flex;
    align-items: center;
    font-size: calc(120 / 16 * 1rem);
    font-weight: 700;
    font-family: "Inter", sans-serif;
    line-height: 1.2083333333;
    letter-spacing: 0.03em;
    white-space: nowrap;
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .top01 .txt_en {
    font-size: calc(100 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top01 .txt_en {
    font-size: calc(90 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top01 .txt_en {
    font-size: calc(80 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top01 .arrow {
    width: calc(46 / 16 * 1rem);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: calc(20 / 16 * 1rem);
    margin-left: calc(8 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .top01 .arrow {
    margin-top: calc(15 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top01 .arrow {
    margin-top: calc(10 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top01 .arrow {
    margin-top: calc(5 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top01 .green {
    display: inline-block;
    padding: calc(10 / 16 * 1rem) 0;
    background: #8FC31F;
    color: #FFF;
    font-size: calc(35 / 16 * 1rem);
    letter-spacing: 0.1em;
    line-height: 1.2;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-transform: uppercase;
    margin-top: calc(15 / 16 * 1rem);
    margin-left: calc(6 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .top01 .green {
    font-size: calc(28 / 16 * 1rem);
    margin-top: calc(10 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top01 .green {
    font-size: calc(23 / 16 * 1rem);
    margin-top: calc(5 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top01 .green {
    font-size: calc(18 / 16 * 1rem);
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .top02 {
    width: 100%;
    height: calc(100vh - calc(90 / 16 * 1rem));
    position: fixed;
    top: calc(90 / 16 * 1rem);
    left: 0;
    background-color: rgba(4, 3, 8, 0.8);
  }
  .top02::before {
    content: "";
    display: block;
    width: 100%;
    height: calc(100% + calc(90 / 16 * 1rem));
    background: rgba(34, 34, 34, 0.9);
    position: absolute;
    top: calc(-90 / 16 * 1rem);
    left: 0;
    z-index: 1;
  }
  .top02 .box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(90%, 1280px);
    display: flex;
    justify-content: space-between;
    z-index: 2;
  }
  .top02 .head {
    margin-top: min(5.2083333333vw, 6.25rem);
  }
  .top02 .head h2 {
    position: relative;
  }
  .top02 .head h2 .en_ttl {
    position: absolute;
    top: -7.875rem;
    right: -9.9375rem;
    font-family: "Inter", sans-serif;
    font-size: min(8.3333333333vw, 10rem);
    font-weight: 700;
    line-height: 0.85;
    letter-spacing: 0.03em;
    color: rgba(255, 255, 255, 0.8);
    opacity: 0.16;
    white-space: nowrap;
    z-index: 1;
  }
}
@media screen and (min-width: 768px) and (min-width: 1440px) and (max-width: 1679.5px) {
  .top02 .head h2 .en_ttl {
    top: calc(-90 / 16 * 1rem);
    right: calc(-240 / 16 * 1rem);
    font-size: calc(120 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .top02 .head h2 .en_ttl {
    top: calc(-50 / 16 * 1rem);
    right: auto;
    left: -25%;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top02 .head h2 .en_ttl {
    top: calc(-80 / 16 * 1rem);
    left: -22%;
    right: auto;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top02 .head h2 .en_ttl {
    top: calc(-70 / 16 * 1rem);
    left: -20%;
  }
}
@media screen and (min-width: 768px) {
  .top02 .head h2 .ja_ttl {
    font-size: calc(60 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #FFF;
  }
}
@media screen and (min-width: 768px) and (min-width: 1440px) and (max-width: 1679.5px) {
  .top02 .head h2 .ja_ttl {
    font-size: calc(50 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .top02 .head h2 .ja_ttl {
    font-size: calc(50 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top02 .head h2 .ja_ttl {
    font-size: calc(40 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top02 .head h2 .ja_ttl {
    font-size: calc(30 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top02 .head .link {
    margin-top: calc(96 / 16 * 1rem);
  }
  .top02 .item {
    max-width: calc(753 / 16 * 1rem);
    width: 65%;
  }
  .top02 .item ul {
    border-top: 1px solid #FFF;
  }
  .top02 .item ul li {
    border-bottom: 1px solid #FFF;
    padding: calc(30 / 16 * 1rem) calc(52 / 16 * 1rem) calc(30 / 16 * 1rem) 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top02 .item ul li {
    padding: calc(20 / 16 * 1rem) calc(42 / 16 * 1rem) calc(20 / 16 * 1rem) 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top02 .item ul li {
    padding: calc(30 / 16 * 1rem) calc(32 / 16 * 1rem) calc(30 / 16 * 1rem) 0;
  }
}
@media screen and (min-width: 768px) {
  .top02 .item ul li h3 {
    display: flex;
    align-items: center;
    column-gap: calc(16 / 16 * 1rem);
    font-size: calc(36 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    color: #FFF;
  }
  .top02 .item ul li h3::after {
    content: attr(data-en);
    font-family: "Inter", sans-serif;
    font-size: calc(15 / 16 * 1rem);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
  }
}
@media screen and (min-width: 768px) and (min-width: 1440px) and (max-width: 1679.5px) {
  .top02 .item ul li h3 {
    font-size: calc(30 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top02 .item ul li h3 {
    font-size: calc(30 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top02 .item ul li h3 {
    font-size: calc(26 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top02 .item ul li p {
    font-size: calc(16 / 16 * 1rem);
    font-weight: 500;
    line-height: 1.75;
    color: #FFF;
    margin-top: calc(8 / 16 * 1rem);
  }
  .top02 .images {
    width: 103%;
    display: flex;
    transform: rotate(-28deg) translate(17%, -10%);
    opacity: 0;
    visibility: hidden;
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .top02 .images {
    transform: rotate(-28deg) translate(15%, -10%);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top02 .images {
    width: 110%;
    transform: rotate(-28deg) translate(10%, -10%);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top02 .images {
    transform: rotate(-28deg) translate(2%, -10%);
    width: 120%;
  }
}
@media screen and (min-width: 768px) {
  .top02 .column {
    width: 20%;
    flex-shrink: 0;
  }
  .top02 .column + .column {
    margin-left: calc(30 / 16 * 1rem);
  }
  .top02 .column img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: cover;
  }
  .top02 .column img + img {
    margin-top: calc(20 / 16 * 1rem);
  }
  .top03 {
    margin-top: 250vh;
    padding-top: calc(140 / 16 * 1rem);
    padding-bottom: calc(140 / 16 * 1rem);
    background: #FFF;
    position: relative;
    transition: background 0.5s;
  }
  .top03.active {
    background: #545555;
  }
  .top03.active .head {
    color: #FFF;
  }
  .top03.active .head .en_ttl {
    opacity: 0.21;
  }
  .top03 .top03_in {
    width: min(90%, 1280px);
    margin-inline: auto;
  }
  .top03 .head {
    text-align: center;
    position: relative;
    transition: color 0.5s;
  }
  .top03 .head .en_ttl {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(185 / 16 * 1rem);
    font-weight: 700;
    font-family: "Inter", sans-serif;
    line-height: 0.8486486486;
    letter-spacing: 0.03em;
    white-space: nowrap;
    color: #000;
    mix-blend-mode: multiply;
    opacity: 0;
    transition: opacity 0.5s;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top03 .head .en_ttl {
    font-size: calc(150 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top03 .head .en_ttl {
    font-size: calc(130 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top03 .head h2 {
    font-size: calc(48 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    position: relative;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top03 .head h2 {
    font-size: calc(36 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top03 .head h2 {
    font-size: calc(28 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top03 .head p {
    margin-top: calc(30 / 16 * 1rem);
    font-size: calc(18 / 16 * 1rem);
    font-weight: 500;
    line-height: 1.7777777778;
    position: relative;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top03 .head p {
    margin-top: calc(20 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top03 .head p {
    margin-top: calc(10 / 16 * 1rem);
    font-size: calc(16 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top03 .box {
    margin-top: calc(50 / 16 * 1rem);
  }
  .top03 .link {
    margin-top: calc(50 / 16 * 1rem);
    text-align: center;
  }
  .top04 {
    padding: calc(110 / 16 * 1rem) 0;
    background: url(./images/top/top04_bg_img.jpg) no-repeat center center/cover;
    z-index: 2;
  }
  .top04::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(51, 51, 51, 0.9);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
  .top04 h2 {
    font-family: "Inter", sans-serif;
    font-size: calc(185 / 16 * 1rem);
    font-weight: 700;
    line-height: 0.8486486486;
    color: rgba(255, 255, 255, 0.71);
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    white-space: nowrap;
    z-index: 2;
  }
}
@media screen and (min-width: 768px) and (min-width: 1440px) and (max-width: 1679.5px) {
  .top04 h2 {
    font-size: calc(160 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .top04 h2 {
    font-size: calc(150 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top04 h2 {
    font-size: calc(130 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top04 h2 {
    font-size: calc(120 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top04 .top04_in {
    width: min(90%, 1700px);
    margin-inline: auto;
  }
  .top04 .box {
    width: 91.1764705882%;
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    column-gap: calc(80 / 16 * 1rem);
    position: relative;
    z-index: 2;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top04 .box {
    column-gap: calc(40 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top04 .box figure {
    width: 42.5806451613%;
  }
  .top04 .box figure img {
    width: 100%;
    height: auto;
    aspect-ratio: 660/797;
    object-fit: cover;
  }
  .top04 .item {
    flex-shrink: 0;
  }
  .top04 .item h3 {
    display: flex;
    flex-direction: column;
    gap: calc(12 / 16 * 1rem);
  }
  .top04 .item h3 span {
    display: inline-block;
    width: fit-content;
    background: #FFF;
    padding: 0 calc(12 / 16 * 1rem);
    font-size: calc(30 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.1em;
  }
  .top04 .item h3 span:first-child {
    padding-right: calc(8 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1440px) and (max-width: 1679.5px) {
  .top04 .item h3 span {
    font-size: calc(24 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .top04 .item h3 span {
    font-size: calc(24 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top04 .item h3 span {
    font-size: calc(23 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top04 .item h3 span {
    font-size: calc(20 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top04 .txt {
    margin-top: calc(30 / 16 * 1rem);
  }
  .top04 .txt p {
    font-size: calc(18 / 16 * 1rem);
    font-weight: 700;
    color: #FFF;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top04 .txt p {
    font-size: calc(15 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top04 .txt p + p {
    margin-top: 1.5em;
  }
  .top04 .link {
    margin-top: calc(70 / 16 * 1rem);
  }
  .top05 {
    background: #FFF;
  }
  .top05 .top05_in {
    width: 100%;
    padding-top: calc(150 / 16 * 1rem);
    height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(60 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top05 .top05_in {
    padding-top: calc(150 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top05 .head {
    text-align: center;
    position: relative;
  }
  .top05 .head span {
    font-family: "Inter", sans-serif;
    font-weight: 700;
    font-size: calc(160 / 16 * 1rem);
    line-height: 0.85;
    letter-spacing: 0.03em;
    color: rgba(51, 51, 51, 0.06);
    white-space: nowrap;
    mix-blend-mode: multiply;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top05 .head span {
    font-size: calc(140 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top05 .head span {
    font-size: calc(120 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top05 .head h2 {
    position: relative;
    font-size: calc(53 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.4905660377;
    letter-spacing: 0.05em;
    z-index: 2;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top05 .head h2 {
    font-size: calc(45 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top05 .head h2 {
    font-size: calc(40 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top05 .bg_wrap {
    position: relative;
    width: 66%;
    height: 14.6875vw;
    margin-inline: auto;
    background: url(./images/top/top05_bg.png) no-repeat center center/cover;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
  .top05 .box {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    counter-reset: num;
    display: flex;
    flex-direction: column;
    align-items: center;
    will-change: transform;
  }
  .top05 .box .item {
    margin-top: 30vh;
    max-width: calc(1144 / 16 * 1rem);
    width: 80%;
    padding: calc(70 / 16 * 1rem) calc(100 / 16 * 1rem) calc(80 / 16 * 1rem);
    position: relative;
    background: rgba(255, 255, 255, 0.8588235294);
  }
  .top05 .box .item:first-child {
    margin-top: 80vh;
  }
  .top05 .box .item:nth-child(even) h3::before {
    left: calc(24 / 16 * 1rem);
    right: auto;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top05 .box .item {
    margin-top: 35vh;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top05 .box .item {
    margin-top: 35vh;
  }
}
@media screen and (min-width: 768px) {
  .top05 .box .item h3 {
    font-size: calc(40 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    color: #172A88;
  }
  .top05 .box .item h3::before {
    content: counter(num, decimal-leading-zero);
    counter-increment: num;
    font-size: calc(200 / 16 * 1rem);
    font-family: "Inter", sans-serif;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.03em;
    color: rgba(51, 51, 51, 0.08);
    mix-blend-mode: multiply;
    position: absolute;
    top: calc(-17 / 16 * 1rem);
    right: calc(24 / 16 * 1rem);
  }
  .top05 .box .item p {
    margin-top: calc(40 / 16 * 1rem);
    font-size: calc(22 / 16 * 1rem);
    font-weight: 500;
    line-height: 1.7727272727;
  }
  .top06 {
    overflow: hidden;
  }
  .top06 .box {
    display: flex;
    background: linear-gradient(111.08deg, #172a88 42.93%, #8fc31f 100%);
  }
  .top06 .box figure {
    width: 58.3333333333%;
    aspect-ratio: 1120/550;
    box-shadow: 0px 0px 30.41px 0px rgba(0, 0, 0, 0.0784313725);
  }
  .top06 .box figure img {
    width: 100%;
  }
  .top06 .box .item {
    width: 41.6666666667%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: min(3.0208333333vw, 3.625rem);
    position: relative;
  }
  .top06 .box .item .en_ttl {
    font-family: "Inter", sans-serif;
    font-size: min(8.0729166667vw, 9.68rem);
    font-weight: 700;
    line-height: 0.8451612903;
    letter-spacing: 0.02em;
    color: rgba(217, 217, 217, 0.45);
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    right: 0;
    top: 0;
  }
  .top06 .box .item h2 {
    font-size: calc(42 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #FFF;
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .top06 .box .item h2 {
    font-size: calc(36 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top06 .box .item h2 {
    font-size: calc(32 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top06 .box .item h2 {
    font-size: calc(24 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .top06 .box .item p {
    font-size: calc(32 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #FFF;
    text-align: center;
    position: relative;
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .top06 .box .item p {
    font-size: calc(24 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .top06 .box .item p {
    font-size: calc(20 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .top06 .box .item p {
    font-size: calc(18 / 16 * 1rem);
  }
}
@media screen and (max-width: 767.5px) {
  .top01 {
    background: url(./images/top/mv_sp.jpg) no-repeat center center/cover;
    position: relative;
    overflow: hidden;
    height: 100vh;
    display: flex;
    align-items: center;
    position: relative;
    margin-top: calc(70 / 15 * 1rem);
    z-index: 2;
  }
  .top01 .top01_in {
    padding: 0 calc(15 / 15 * 1rem);
  }
  .top01 .icon {
    width: 63.5897435897%;
    position: absolute;
    bottom: 25.641025641vw;
    right: calc(-12 / 15 * 1rem);
  }
  .top01 .icon img {
    width: 100%;
  }
  .top01 .box {
    margin-top: -17.9487179487vw;
  }
  .top01 .item {
    position: relative;
  }
  .top01 .txt_ja {
    display: inline-flex;
    flex-direction: column;
    gap: calc(5 / 15 * 1rem);
    font-size: calc(15 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.4666666667;
    letter-spacing: 0.03em;
  }
  .top01 .txt_ja span {
    background: #FFF;
    padding: calc(2 / 16 * 1rem) calc(7 / 16 * 1rem);
    display: inline-block;
    width: fit-content;
  }
  .top01 .txt_ja span.ja_01 {
    padding-left: 0;
  }
  .top01 .txt_wrap {
    display: flex;
    align-items: center;
    column-gap: calc(12 / 15 * 1rem);
    margin-top: calc(4 / 15 * 1rem);
  }
  .top01 .txt_en {
    display: flex;
    align-items: center;
    font-size: calc(42 / 15 * 1rem);
    font-weight: 700;
    font-family: "Inter", sans-serif;
    line-height: 1.1904761905;
    letter-spacing: 0.03em;
    white-space: nowrap;
  }
  .top01 .arrow {
    width: calc(16 / 15 * 1rem);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: calc(8 / 15 * 1rem);
  }
  .top01 .green {
    display: inline-block;
    padding: calc(4 / 15 * 1rem) 0;
    background: #8FC31F;
    color: #FFF;
    font-size: calc(13 / 15 * 1rem);
    letter-spacing: 0.1em;
    line-height: 1.1538461538;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-transform: uppercase;
    margin-top: calc(5 / 15 * 1rem);
  }
  .top02 {
    width: 100%;
    position: relative;
    top: 0;
    left: 0;
    padding-top: calc(100 / 15 * 1rem);
    background-color: rgba(4, 3, 8, 0.8);
    overflow: hidden;
    transition: 0.3s;
  }
  .top02::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(34, 34, 34, 0.9);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
  .top02 .box {
    position: relative;
    padding: calc(114 / 15 * 1rem) calc(15 / 15 * 1rem) calc(80 / 15 * 1rem);
    width: 100%;
    max-width: 650px;
    display: flex;
    flex-direction: column;
    z-index: 2;
    opacity: 0;
  }
  .top02 .head {
    display: contents;
  }
  .top02 .head h2 {
    order: 1;
  }
  .top02 .head h2 .en_ttl {
    position: absolute;
    top: calc(30 / 15 * 1rem);
    left: calc(15 / 15 * 1rem);
    font-family: "Inter", sans-serif;
    font-size: calc(70 / 15 * 1rem);
    font-weight: 700;
    line-height: 0.8428571429;
    letter-spacing: 0.03em;
    color: rgba(255, 255, 255, 0.8);
    opacity: 0.16;
    white-space: nowrap;
    z-index: 1;
  }
  .top02 .head h2 .ja_ttl {
    font-size: calc(32 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #FFF;
  }
  .top02 .head .link {
    margin-top: calc(48 / 15 * 1rem);
    order: 3;
    text-align: center;
  }
  .top02 .item {
    order: 2;
  }
  .top02 .item ul {
    border-top: 1px solid #FFF;
  }
  .top02 .item ul li {
    border-bottom: 1px solid #FFF;
    padding: calc(20 / 15 * 1rem) 0;
  }
  .top02 .item ul li h3 {
    display: flex;
    align-items: center;
    column-gap: calc(16 / 15 * 1rem);
    font-size: calc(22 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    color: #FFF;
  }
  .top02 .item ul li h3::after {
    content: attr(data-en);
    font-family: "Inter", sans-serif;
    font-size: calc(13 / 15 * 1rem);
    font-weight: 500;
    line-height: 1.1538461538;
    letter-spacing: 0.1em;
  }
  .top02 .item ul li p {
    font-size: calc(15 / 15 * 1rem);
    font-weight: 500;
    color: #FFF;
    margin-top: calc(8 / 15 * 1rem);
  }
  .top02 .images {
    width: 120%;
    display: flex;
    transform: rotate(-28deg) translate(5%, -10%);
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
  }
  .top02 .column {
    width: 50%;
    flex-shrink: 0;
  }
  .top02 .column + .column {
    margin-left: calc(20 / 15 * 1rem);
  }
  .top02 .column img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: cover;
  }
  .top02 .column img + img {
    margin-top: calc(15 / 15 * 1rem);
  }
  .top03 {
    padding-top: calc(30 / 15 * 1rem);
    padding-bottom: calc(80 / 15 * 1rem);
    background: #FFF;
    position: relative;
    transition: background 0.5s, margin-top 0.3s;
  }
  .top03.active {
    background: #545555;
  }
  .top03.active .head {
    color: #FFF;
  }
  .top03.active .head .en_ttl {
    opacity: 0.21;
  }
  .top03 .head {
    text-align: center;
    position: relative;
    padding-top: calc(84 / 15 * 1rem);
    transition: color 0.5s;
  }
  .top03 .head .en_ttl {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(70 / 15 * 1rem);
    font-weight: 700;
    font-family: "Inter", sans-serif;
    line-height: 0.8428571429;
    letter-spacing: 0.03em;
    color: #333;
    white-space: nowrap;
    mix-blend-mode: multiply;
    opacity: 0.04;
    transition: opacity 0.5s;
  }
  .top03 .head h2 {
    font-size: calc(32 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    position: relative;
  }
  .top03 .head p {
    margin-top: calc(20 / 15 * 1rem);
    font-size: calc(15 / 15 * 1rem);
    font-weight: 500;
    position: relative;
  }
  .top03 .box {
    margin-top: calc(32 / 15 * 1rem);
  }
  .top03 .link {
    margin-top: calc(48 / 15 * 1rem);
    text-align: center;
  }
  .top04 {
    padding: calc(50 / 15 * 1rem) 0;
    background: url(./images/top/top04_bg_img.jpg) no-repeat center center/cover;
    z-index: 2;
  }
  .top04::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(51, 51, 51, 0.9);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
  .top04 h2 {
    font-family: "Inter", sans-serif;
    font-size: calc(70 / 15 * 1rem);
    font-weight: 700;
    line-height: 0.85;
    color: rgba(255, 255, 255, 0.71);
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    top: calc(47 / 15 * 1rem);
    left: calc(15 / 15 * 1rem);
    white-space: nowrap;
    z-index: 2;
  }
  .top04 .top04_in {
    padding: 0 calc(15 / 15 * 1rem);
  }
  .top04 .box {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-end;
    position: relative;
    z-index: 2;
  }
  .top04 .box figure {
    width: calc(100% - calc(70 / 15 * 1rem));
  }
  .top04 .box figure img {
    width: 100%;
    height: auto;
    aspect-ratio: 290/320;
    object-fit: cover;
  }
  .top04 .item h3 {
    background: #FFF;
    padding: calc(12 / 15 * 1rem);
  }
  .top04 .item h3 span {
    font-size: calc(22 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.7727272727;
    letter-spacing: 0.06em;
  }
  .top04 .txt {
    margin-top: calc(25 / 15 * 1rem);
  }
  .top04 .txt p {
    font-size: calc(15 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.6666666667;
    color: #FFF;
  }
  .top04 .txt p + p {
    margin-top: 1.5em;
  }
  .top04 .link {
    margin-top: calc(30 / 15 * 1rem);
    text-align: center;
  }
  .top05 {
    background: #FFF;
  }
  .top05 .top05_in {
    width: 100%;
    padding-top: calc(69 / 15 * 1rem);
    height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(20 / 15 * 1rem);
  }
  .top05 .head {
    text-align: center;
    position: relative;
    padding-top: calc(45 / 16 * 1rem);
  }
  .top05 .head span {
    font-family: "Inter", sans-serif;
    font-weight: 700;
    font-size: calc(57 / 15 * 1rem);
    line-height: 0.8421052632;
    letter-spacing: 0.03em;
    color: rgba(51, 51, 51, 0.06);
    white-space: nowrap;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
  }
  .top05 .head h2 {
    position: relative;
    font-size: calc(30 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    z-index: 2;
  }
  .top05 .bg_wrap {
    position: relative;
    width: 66%;
    height: 72.3076923077vw;
    margin-inline: auto;
    background: url(./images/top/top05_bg.png) no-repeat center center/cover;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
  .top05 .box {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    counter-reset: num;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 calc(15 / 15 * 1rem) calc(60 / 15 * 1rem);
    will-change: transform;
  }
  .top05 .box .item {
    margin-top: 30vh;
    margin-inline: auto;
    max-width: 650px;
    width: 100%;
    background: #FFF;
    padding: calc(30 / 15 * 1rem);
  }
  .top05 .box .item:first-child {
    margin-top: 80vh;
  }
  .top05 .box .item h3 {
    display: flex;
    align-items: center;
    column-gap: calc(16 / 15 * 1rem);
    font-size: calc(20 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
  }
  .top05 .box .item h3::before {
    content: counter(num, decimal-leading-zero);
    counter-increment: num;
    width: calc(44 / 15 * 1rem);
    height: calc(44 / 15 * 1rem);
    background: #172A88;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF;
    font-size: calc(24 / 15 * 1rem);
    font-family: "Inter", sans-serif;
    font-style: italic;
    font-weight: 600;
    line-height: 1.2083333333;
    letter-spacing: 0.03em;
  }
  .top05 .box .item p {
    margin-top: calc(20 / 15 * 1rem);
    font-size: calc(15 / 15 * 1rem);
    font-weight: 500;
    line-height: 1.6666666667;
  }
  .top06 {
    overflow: hidden;
  }
  .top06 .box {
    background: linear-gradient(149.69deg, #172a88 19.15%, #8fc31f 98.88%);
  }
  .top06 .box figure {
    aspect-ratio: 390/192;
  }
  .top06 .box figure img {
    width: 100%;
  }
  .top06 .box .item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-bottom: calc(70 / 15 * 1rem);
  }
  .top06 .box .item .en_ttl {
    font-family: "Inter", sans-serif;
    font-size: calc(70 / 15 * 1rem);
    font-weight: 700;
    line-height: 0.8428571429;
    letter-spacing: 0.03em;
    color: rgba(217, 217, 217, 0.45);
  }
  .top06 .box .item h2 {
    font-size: calc(32 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #FFF;
    margin-top: calc(17 / 15 * 1rem);
  }
  .top06 .box .item p {
    font-size: calc(16 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
    color: #FFF;
    text-align: center;
    margin-top: calc(20 / 15 * 1rem);
  }
  .top06 .box .item .link {
    margin-top: calc(48 / 15 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .page404 .catch_copy {
    height: 100vh;
    min-height: 750px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
  }
  .page404 .catch_copy .ttl {
    font-size: 3rem;
    margin-bottom: 0.5rem;
    color: #fff;
  }
  .page404 .custom-figure {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100vh;
    z-index: -1;
    /* z-indexは通常0以上が推奨 */
  }
  .page404 .custom-figure img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 767.5px) {
  .page404 .catch_copy {
    height: 100vh;
    min-height: 650px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
  }
  .page404 .catch_copy .ttl {
    font-size: 1.8rem;
    margin-bottom: 0.25rem;
    color: #fff;
  }
  .page404 .custom-figure {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100vh;
    z-index: -1;
    /* z-indexは通常0以上が推奨 */
  }
  .page404 .custom-figure img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}
@media screen and (min-width: 768px) {
  .privacy02 {
    padding: calc(140 / 16 * 1rem) 0;
  }
  .privacy02 .box h2 {
    font-size: calc(30 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    color: #172A88;
    margin: calc(80 / 16 * 1rem) 0 1rem;
  }
  .privacy02 .box ol {
    margin-top: calc(50 / 16 * 1rem);
    margin-bottom: calc(100 / 16 * 1rem);
  }
  .privacy02 .box h3 {
    font-size: calc(22 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    margin: calc(32 / 16 * 1rem) 0 calc(16 / 16 * 1rem);
  }
  .privacy02 .box p {
    font-size: calc(18 / 16 * 1rem);
    font-weight: 500;
  }
  .privacy02 .box p a {
    display: inline-block;
  }
  .privacy02 .box .right {
    text-align: right;
    margin-top: calc(16 / 16 * 1rem);
  }
}
@media screen and (max-width: 767.5px) {
  .privacy02 {
    padding: calc(80 / 15 * 1rem) 0;
  }
  .privacy02 .box h2 {
    font-size: calc(24 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    color: #172A88;
    margin: calc(60 / 15 * 1rem) 0 calc(16 / 15 * 1rem);
  }
  .privacy02 .box ol {
    margin-top: calc(40 / 15 * 1rem);
    margin-bottom: calc(60 / 15 * 1rem);
  }
  .privacy02 .box h3 {
    font-size: calc(18 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    margin: calc(20 / 15 * 1rem) 0 calc(16 / 15 * 1rem);
  }
  .privacy02 .box p {
    font-size: calc(15 / 15 * 1rem);
    font-weight: 500;
    line-height: 1.8;
  }
  .privacy02 .box p a {
    display: inline-block;
  }
  .privacy02 .box .sp_flex {
    display: flex;
  }
  .privacy02 .box .right {
    text-align: right;
    margin-top: calc(7 / 15 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .products02 {
    padding: calc(140 / 16 * 1rem) 0;
  }
  .products02 .box {
    counter-reset: num;
  }
  .products02 .box .item {
    display: flex;
    position: relative;
    background: #f9f9f9;
  }
  .products02 .box .item:nth-child(odd)::before {
    right: 0;
  }
  .products02 .box .item:nth-child(even) {
    flex-direction: row-reverse;
  }
  .products02 .box .item:nth-child(even)::before {
    left: 0;
  }
  .products02 .box .item:nth-child(1) .body {
    background-image: url(./images/products/products02_bg01.png);
  }
  .products02 .box .item:nth-child(2) .body {
    background-image: url(./images/products/products02_bg02.png);
  }
  .products02 .box .item:nth-child(3) .body {
    background-image: url(./images/products/products02_bg03.png);
  }
  .products02 .box .item:nth-child(4) .body {
    background-image: url(./images/products/products02_bg04.png);
  }
  .products02 .box .item::before {
    content: counter(num, decimal-leading-zero);
    counter-increment: num;
    font-size: calc(200 / 16 * 1rem);
    font-family: "Inter", sans-serif;
    font-weight: 800;
    line-height: 1;
    color: rgba(51, 51, 51, 0.06);
    mix-blend-mode: multiply;
    position: absolute;
    top: calc(15 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .products02 .box .item::before {
    font-size: calc(160 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .products02 .box .item::before {
    font-size: calc(140 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .products02 .box .item::before {
    font-size: calc(120 / 16 * 1rem);
    top: 0;
  }
}
@media screen and (min-width: 768px) {
  .products02 .box .item figure {
    width: 50%;
  }
  .products02 .box .item figure img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 840/570;
  }
  .products02 .body {
    width: 50%;
    padding-left: min(7.2916666667vw, 8.75rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-size: cover;
    background-position: center;
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .products02 .body {
    padding-left: calc(80 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .products02 .body {
    padding-left: calc(40 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .products02 .body {
    padding-left: calc(25 / 16 * 1rem);
    padding-right: calc(25 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .products02 .body h2 {
    font-size: calc(40 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .products02 .body h2 {
    font-size: calc(30 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .products02 .body h2 {
    font-size: calc(30 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .products02 .catch {
    margin-top: calc(20 / 16 * 1rem);
    font-size: calc(22 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    color: #8FC31F;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .products02 .catch {
    font-size: calc(20 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .products02 .catch {
    font-size: calc(18 / 16 * 1rem);
    margin-top: calc(15 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .products02 .txt {
    margin-top: calc(32 / 16 * 1rem);
    font-size: calc(15 / 16 * 1rem);
    font-weight: 500;
    line-height: 1.8;
    max-width: calc(567 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .products02 .txt {
    font-size: calc(14 / 16 * 1rem);
    max-width: calc(528 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .products02 .txt {
    font-size: calc(13 / 16 * 1rem);
    max-width: 100%;
    margin-top: calc(25 / 16 * 1rem);
  }
}
@media screen and (max-width: 767.5px) {
  .products02 {
    padding: calc(100 / 15 * 1rem) 0 calc(80 / 15 * 1rem);
  }
  .products02 .box {
    counter-reset: num;
  }
  .products02 .box .item {
    background: #f9f9f9;
  }
  .products02 .box .item:nth-child(1) .body {
    background-image: url(./images/products/products02_bg01.png);
  }
  .products02 .box .item:nth-child(2) .body {
    background-image: url(./images/products/products02_bg02.png);
  }
  .products02 .box .item:nth-child(3) .body {
    background-image: url(./images/products/products02_bg03.png);
  }
  .products02 .box .item:nth-child(4) .body {
    background-image: url(./images/products/products02_bg04.png);
  }
  .products02 .box .item figure img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 360/245;
  }
  .products02 .body {
    padding: calc(32 / 15 * 1rem) calc(20 / 15 * 1rem);
    background-size: cover;
    background-position: center;
    position: relative;
  }
  .products02 .body::before {
    content: counter(num, decimal-leading-zero);
    counter-increment: num;
    font-size: calc(90 / 15 * 1rem);
    font-family: "Inter", sans-serif;
    font-weight: 800;
    line-height: 1;
    color: rgba(51, 51, 51, 0.06);
    mix-blend-mode: multiply;
    position: absolute;
    top: calc(10 / 15 * 1rem);
    right: 0;
  }
  .products02 .body h2 {
    font-size: calc(30 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
  }
  .products02 .catch {
    margin-top: calc(16 / 15 * 1rem);
    font-size: calc(18 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    color: #8FC31F;
  }
  .products02 .txt {
    margin-top: calc(16 / 15 * 1rem);
    font-size: calc(15 / 15 * 1rem);
    font-weight: 500;
    line-height: 1.6666666667;
  }
}
@media screen and (min-width: 768px) {
  .contact02 {
    padding: calc(140 / 16 * 1rem) 0;
  }
  .contact02 h2 {
    font-size: calc(32 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.78125;
    text-align: center;
  }
  .contact02 h2 span {
    display: block;
    font-size: calc(20 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.8;
  }
  .contact02 .box {
    margin-top: calc(58 / 16 * 1rem);
  }
  .contact02 .box .item {
    display: flex;
    align-items: center;
    column-gap: calc(50 / 16 * 1rem);
  }
  .contact02 .box .item:not(:first-child) {
    margin-top: calc(50 / 16 * 1rem);
  }
  .contact02 .box .item .inner01 label {
    font-size: calc(16 / 16 * 1rem);
    line-height: 1.5;
    font-weight: 500;
    display: flex;
    align-items: center;
    column-gap: calc(25 / 16 * 1rem);
    width: calc(191 / 16 * 1rem);
    white-space: nowrap;
  }
  .contact02 .box .item .inner01 label span {
    display: inline-block;
    background: #8FC31F;
    color: #FFF;
    font-size: calc(12 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.0833333333;
    padding: calc(3 / 16 * 1rem) calc(7 / 16 * 1rem);
    border-radius: calc(2 / 16 * 1rem);
  }
  .contact02 .box .item .inner01 .limit {
    font-size: 0.8rem;
    color: red;
  }
  .contact02 .box .item .inner02 {
    width: 100%;
  }
  .contact02 .box .item .inner02 input,
  .contact02 .box .item .inner02 textarea {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    width: 100%;
    border: none;
    border-radius: calc(6 / 16 * 1rem);
    padding: calc(11 / 16 * 1rem) calc(16 / 16 * 1rem);
    background: #f4f4f4;
  }
  .contact02 .box .item .inner02 textarea {
    height: calc(123 / 16 * 1rem);
  }
  .contact02 .box .item .inner02 ::placeholder {
    color: #9d9d9d;
  }
  .contact02 .box .item .inner02 .wpcf7-not-valid-tip {
    text-wrap: nowrap;
  }
  .contact02 .box .item .inner02.select .wpcf7 span.wpcf7-not-valid-tip {
    left: 14px !important;
  }
  .contact02 .box .item .inner02.select {
    position: relative;
    background: #f4f4f4;
    width: calc(240 / 16 * 1rem);
    padding: calc(7 / 16 * 1rem) calc(16 / 16 * 1rem);
    border-radius: calc(6 / 16 * 1rem);
  }
  .contact02 .box .item .inner02.select select {
    width: 100%;
    border: none;
    background: transparent;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
  }
  .contact02 .box .item .inner02.select::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: calc(10 / 16 * 1rem);
    width: calc(17 / 16 * 1rem);
    height: calc(17 / 16 * 1rem);
    background: url(./images/contact/ico_select_arrow.svg) no-repeat center/contain;
    pointer-events: none;
  }
  .contact02 .box .wpcf7-response-output {
    position: absolute;
    transform: translateY(38px);
  }
  .contact02 .box .privacy_policy {
    margin-top: calc(50 / 16 * 1rem);
  }
  .contact02 .box .privacy_policy .label {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .contact02 .box .privacy_policy .label input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
  }
  .contact02 .box .privacy_policy .label input:checked + span::after {
    opacity: 1;
  }
  .contact02 .box .privacy_policy .label span {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    font-size: calc(14 / 16 * 1rem);
    color: #111;
    line-height: 1.5;
    cursor: pointer;
  }
  .contact02 .box .privacy_policy .label span a {
    color: #111;
    position: relative;
  }
  .contact02 .box .privacy_policy .label span a::after {
    content: "";
    display: block;
    position: absolute;
    bottom: calc(3 / 16 * 1rem);
    left: 0;
    width: 100%;
    height: 1px;
    background: #111;
    transition: 0.3s;
  }
  .contact02 .box .privacy_policy .label span a:hover::after {
    width: 0;
  }
  .contact02 .box .privacy_policy .label .wpcf7-not-valid-tip {
    color: #dc3232;
    position: absolute;
    text-wrap: nowrap;
    top: 45%;
    left: -12%;
  }
  .contact02 .box .wpcf7-spinner {
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
  }
  .contact02 .box .submit {
    position: relative;
    margin: calc(30 / 16 * 1rem) auto 0;
    width: calc(400 / 16 * 1rem);
    display: block;
    text-align: center;
  }
  .contact02 .box .submit input {
    width: 100%;
    border-radius: calc(65 / 16 * 1rem);
    background: #8FC31F;
    border: 1px solid #8FC31F;
    color: #FFF;
    text-align: center;
    font-size: calc(20 / 16 * 1rem);
    font-weight: 700;
    line-height: 4;
    cursor: pointer;
    transition: 0.3s;
  }
  .contact02 .box .submit input:hover {
    background: #FFF;
    color: #8FC31F;
  }
  .contact02 .box .privacy_policy label .wpcf7-list-item-label::before {
    content: "";
    width: 1.0625rem;
    height: 1.0625rem;
    border: 1px solid #333333;
    margin-right: 0.625rem;
  }
  .contact02 .box .privacy_policy label .wpcf7-list-item-label::after {
    display: block;
    position: absolute;
    z-index: 2;
    content: "";
    top: -0.125rem;
    left: 0.4375rem;
    width: 0.625rem;
    height: 1.0625rem;
    border-bottom: 2px solid #8fc31f;
    border-right: 2px solid #8fc31f;
    transform: rotate(45deg);
    opacity: 0;
    transition: 0.3s;
  }
  .contact02 .wpcf7-list-item {
    display: inline-block;
    margin: 0 !important;
  }
  .contact-confirm .btn {
    margin: 5rem 0 0;
    display: flex;
  }
  .contact-confirm .box .item .select {
    background: none !important;
    width: 100% !important;
    padding: 0 !important;
  }
  .contact-confirm .box .item .select::after {
    display: none !important;
  }
}
@media screen and (max-width: 767.5px) {
  .contact02 {
    padding: calc(80 / 15 * 1rem) 0;
  }
  .contact02 h2 {
    font-size: calc(30 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
  }
  .contact02 h2 span {
    display: block;
    font-size: calc(20 / 15 * 1rem);
    line-height: 1.8;
  }
  .contact02 .box {
    margin-top: calc(32 / 15 * 1rem);
  }
  .contact02 .box .item {
    display: flex;
    flex-direction: column;
    row-gap: calc(8 / 15 * 1rem);
  }
  .contact02 .box .item:not(:first-child) {
    margin-top: calc(32 / 15 * 1rem);
  }
  .contact02 .box .item .inner01 label {
    font-size: calc(15 / 15 * 1rem);
    line-height: 1.4666666667;
    font-weight: 500;
    display: flex;
    align-items: center;
    column-gap: calc(25 / 15 * 1rem);
  }
  .contact02 .box .item .inner01 label span {
    display: inline-block;
    background: #8FC31F;
    color: #FFF;
    font-size: calc(12 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.0833333333;
    padding: calc(3 / 15 * 1rem) calc(7 / 15 * 1rem);
    border-radius: calc(2 / 15 * 1rem);
  }
  .contact02 .box .item .inner01 .limit {
    font-size: 0.8rem;
    color: red;
  }
  .contact02 .box .item .inner02 {
    width: 100%;
  }
  .contact02 .box .item .inner02 input,
  .contact02 .box .item .inner02 textarea {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4375;
    width: 100%;
    border: none;
    border-radius: calc(6 / 15 * 1rem);
    padding: calc(11 / 15 * 1rem) calc(16 / 15 * 1rem);
    background: #f4f4f4;
  }
  .contact02 .box .item .inner02 textarea {
    height: calc(250 / 15 * 1rem);
  }
  .contact02 .box .item .inner02 ::placeholder {
    color: #9d9d9d;
  }
  .contact02 .box .item .inner02.select {
    position: relative;
    border-radius: calc(6 / 15 * 1rem);
    padding: calc(8 / 15 * 1rem) calc(16 / 15 * 1rem);
    background: #f4f4f4;
  }
  .contact02 .box .item .inner02.select select {
    width: 100%;
    border: none;
    background: transparent;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
  }
  .contact02 .box .item .inner02.select::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: calc(10 / 15 * 1rem);
    width: calc(17 / 15 * 1rem);
    height: calc(17 / 15 * 1rem);
    background: url(./images/contact/ico_select_arrow.svg) no-repeat center/contain;
    pointer-events: none;
  }
  .contact02 .box .wpcf7-response-output {
    position: absolute;
    transform: translateY(38px);
  }
  .contact02 .box .privacy_policy {
    margin-top: calc(32 / 15 * 1rem);
  }
  .contact02 .box .privacy_policy .label {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .contact02 .box .privacy_policy .label .wpcf7-form-control-wrap {
    position: static;
  }
  .contact02 .box .privacy_policy .label label {
    position: relative;
  }
  .contact02 .box .privacy_policy .label label input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
  }
  .contact02 .box .privacy_policy .label label input:checked + span::after {
    opacity: 1;
  }
  .contact02 .box .privacy_policy .label span {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    font-size: calc(14 / 15 * 1rem);
    color: #111;
    line-height: 1.5;
  }
  .contact02 .box .privacy_policy .label span a {
    color: #111;
    text-decoration: underline;
  }
  .contact02 .box .privacy_policy .label span .wpcf7-not-valid-tip {
    color: #dc3232;
    position: absolute;
    text-wrap: nowrap;
    top: 45%;
    left: 50%;
    transform: translate(-50%, 0);
    font-size: 12px;
  }
  .contact02 .box .wpcf7-spinner {
    position: absolute;
    top: 50%;
    left: 95%;
    transform: translateY(-50%);
  }
  .contact02 .box .submit {
    position: relative;
    margin: calc(24 / 15 * 1rem) auto 0;
    width: calc(300 / 15 * 1rem);
  }
  .contact02 .box .submit input {
    width: 100%;
    border-radius: calc(65 / 15 * 1rem);
    background: #8FC31F;
    color: #FFF;
    text-align: center;
    font-size: calc(15 / 15 * 1rem);
    font-weight: 700;
    line-height: 4;
  }
  .contact02 .box .privacy_policy label .wpcf7-list-item-label::before {
    content: "";
    width: 1.1333333333rem;
    height: 1.1333333333rem;
    border: 1px solid #333333;
    margin-right: 0.6666666667rem;
  }
  .contact02 .box .privacy_policy label .wpcf7-list-item-label::after {
    display: block;
    position: absolute;
    z-index: 2;
    content: "";
    top: -0.1333333333rem;
    left: 0.4666666667rem;
    width: 0.6666666667rem;
    height: 1.1333333333rem;
    border-bottom: 2px solid #8fc31f;
    border-right: 2px solid #8fc31f;
    transform: rotate(45deg);
    opacity: 0;
    transition: 0.3s;
  }
  .contact02 .wpcf7-list-item {
    display: inline-block;
    margin: 0 !important;
  }
  .contact-confirm .btn {
    margin: 1rem 0 0;
    display: flex;
    gap: 2rem;
  }
  .contact-confirm .box .item .select {
    background: none !important;
    width: 100% !important;
    padding: 0 !important;
  }
  .contact-confirm .box .item .select::after {
    display: none !important;
  }
  .contact02 .box .privacy_policy label input:checked + span::after {
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  .thanks02 {
    padding: calc(140 / 16 * 1rem) 0;
  }
  .thanks02 .txt p {
    font-size: calc(18 / 16 * 1rem);
    font-weight: 500;
    text-align: center;
  }
  .thanks02 .link {
    margin-top: calc(50 / 16 * 1rem);
    text-align: center;
  }
}
@media screen and (max-width: 767.5px) {
  .thanks02 {
    padding: calc(80 / 15 * 1rem) 0 calc(90 / 15 * 1rem);
  }
  .thanks02 .txt p {
    font-size: calc(15 / 15 * 1rem);
    font-weight: 500;
    line-height: 1.8;
    text-align: center;
  }
  .thanks02 .link {
    margin-top: calc(50 / 15 * 1rem);
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .recruit02 {
    padding: calc(140 / 16 * 1rem) 0;
  }
  .recruit02 h2 {
    font-size: calc(40 / 16 * 1rem);
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: center;
    color: #172A88;
  }
  .recruit02 table {
    margin-top: calc(50 / 16 * 1rem);
    width: 100%;
    border-top: 1px solid #CCCCCC;
  }
  .recruit02 table tr {
    border-bottom: 1px solid #CCCCCC;
  }
  .recruit02 table th {
    width: calc(180 / 16 * 1rem);
    padding: calc(30 / 16 * 1rem);
    font-size: calc(18 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
    vertical-align: baseline;
  }
  .recruit02 table td {
    padding: calc(30 / 16 * 1rem);
    font-size: calc(18 / 16 * 1rem);
    font-weight: 500;
    line-height: 1.5;
  }
  .recruit02 table td ul li:not(:first-child) {
    margin-top: calc(16 / 16 * 1rem);
  }
  .recruit02 table td ul li span {
    display: inline-block;
  }
}
@media screen and (max-width: 767.5px) {
  .recruit02 {
    padding: calc(80 / 15 * 1rem) 0;
  }
  .recruit02 h2 {
    font-size: calc(30 / 15 * 1rem);
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: center;
    color: #172A88;
  }
  .recruit02 table {
    margin-top: calc(32 / 15 * 1rem);
    width: 100%;
    border-top: 1px solid #CCCCCC;
  }
  .recruit02 table tr {
    border-bottom: 1px solid #CCCCCC;
  }
  .recruit02 table th {
    width: calc(95 / 15 * 1rem);
    padding: calc(20 / 15 * 1rem) 0;
    font-size: calc(15 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.6666666667;
    text-align: left;
    vertical-align: baseline;
  }
  .recruit02 table td {
    padding: calc(20 / 15 * 1rem) 0;
    font-size: calc(15 / 15 * 1rem);
    font-weight: 500;
    line-height: 1.6666666667;
  }
  .recruit02 table td ul li:not(:first-child) {
    margin-top: calc(16 / 15 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .company02 {
    padding: calc(140 / 16 * 1rem) 0 calc(200 / 16 * 1rem);
  }
  .company02 .company02_in {
    max-width: calc(1920 / 16 * 1rem);
    margin-inline: auto;
    position: relative;
  }
  .company02 .box {
    max-width: calc(919 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .company02 .item {
    width: calc(800 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .company02 .item {
    width: calc(650 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .company02 .item h2 {
    font-size: calc(40 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #172A88;
  }
  .company02 .item .txt {
    margin-top: calc(60 / 16 * 1rem);
  }
  .company02 .item .txt p {
    font-size: calc(18 / 16 * 1rem);
    font-weight: 700;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .company02 .item .txt p {
    font-size: calc(16 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .company02 .item .txt p {
    font-size: calc(14 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .company02 .item .txt p + p {
    margin-top: 1.5em;
  }
  .company02 .item .txt .txt_right {
    text-align: right;
    font-size: calc(20 / 16 * 1rem);
    line-height: 1.8;
    margin-top: calc(10 / 16 * 1rem);
  }
  .company02 .item .txt .txt_right span {
    font-size: calc(15 / 16 * 1rem);
    line-height: 2.4;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .company02 .item .txt .txt_right {
    font-size: calc(18 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .company02 .item .txt .txt_right {
    font-size: calc(16 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .company02 .img_wrap {
    width: 27.0833333333vw;
    max-width: calc(520 / 16 * 1rem);
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
  }
  .company02 .img_wrap .left {
    position: relative;
    width: 52.8846153846%;
    margin-top: 34.2307692308%;
    margin-right: -13.4615384615%;
    z-index: 1;
  }
  .company02 .img_wrap .right {
    width: 60.7692307692%;
  }
  .company03 {
    padding-bottom: calc(200 / 16 * 1rem);
  }
  .company03 figure {
    width: 100%;
  }
  .company03 figure img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 1920/592;
  }
  .company03 .company03_in {
    max-width: calc(1920 / 16 * 1rem);
    margin-inline: auto;
  }
  .company03 .box {
    padding-left: 5%;
    max-width: calc(1600 / 16 * 1rem);
    margin-top: calc(-185 / 16 * 1rem);
    margin-left: auto;
    position: relative;
    box-sizing: content-box;
  }
  .company03 .box .item {
    background: #FFF;
    box-shadow: 0px 0px 60px 0px rgba(0, 0, 0, 0.0588235294);
    padding: calc(80 / 16 * 1rem) calc(80 / 16 * 1rem) calc(120 / 16 * 1rem) calc(100 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .company03 .box .item {
    padding: calc(80 / 16 * 1rem) calc(40 / 16 * 1rem) calc(80 / 16 * 1rem) calc(80 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .company03 .box h2 {
    font-size: calc(40 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #172A88;
  }
  .company03 .box table {
    margin-top: calc(55 / 16 * 1rem);
  }
  .company03 .box table th {
    font-size: calc(18 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.6666666667;
    text-align: left;
    vertical-align: baseline;
    width: calc(180 / 16 * 1rem);
    padding: calc(25 / 16 * 1rem) 0;
  }
  .company03 .box table td {
    font-size: calc(18 / 16 * 1rem);
    font-weight: 500;
    line-height: 1.6666666667;
    vertical-align: baseline;
    padding: calc(25 / 16 * 1rem) 0;
  }
  .company03 .box table td .link {
    margin-top: calc(24 / 16 * 1rem);
  }
  .company04 {
    padding-bottom: calc(140 / 16 * 1rem);
  }
  .company04 figure {
    width: 100%;
  }
  .company04 figure img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 1920/592;
  }
  .company04 .company04_in {
    max-width: calc(1920 / 16 * 1rem);
    margin-inline: auto;
  }
  .company04 .box {
    padding-left: 5%;
    max-width: calc(1600 / 16 * 1rem);
    margin-top: calc(-185 / 16 * 1rem);
    margin-left: auto;
    position: relative;
    box-sizing: content-box;
  }
  .company04 .box .item {
    background: #FFF;
    box-shadow: 0px 0px 60px 0px rgba(0, 0, 0, 0.0588235294);
    padding: calc(80 / 16 * 1rem) calc(80 / 16 * 1rem) calc(100 / 16 * 1rem) calc(100 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .company04 .box .item {
    padding: calc(80 / 16 * 1rem) calc(40 / 16 * 1rem) calc(80 / 16 * 1rem) calc(80 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .company04 .box h2 {
    font-size: calc(40 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #172A88;
  }
  .company04 .box table {
    margin-top: calc(55 / 16 * 1rem);
  }
  .company04 .box table th {
    font-size: calc(18 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
    vertical-align: baseline;
    width: calc(180 / 16 * 1rem);
    padding: calc(25 / 16 * 1rem) 0;
  }
  .company04 .box table td {
    font-size: calc(18 / 16 * 1rem);
    font-weight: 500;
    line-height: 1.5;
    vertical-align: baseline;
    padding: calc(25 / 16 * 1rem) 0;
  }
  .company04 .box table td a {
    transition: 0.3s;
    display: inline-flex;
    gap: 0.5rem;
    align-items: center;
  }
  .company04 .box table td a:hover {
    color: #8fc31f;
  }
  .company04 .box table td a svg {
    margin-bottom: 0.1rem;
  }
  .company04 .box table td a svg path {
    transition: 0.3s;
  }
  .company04 .box table td a:hover {
    color: #8fc31f;
  }
  .company04 .box table td a:hover svg path {
    stroke: #8fc31f;
  }
}
@media screen and (max-width: 767.5px) {
  .company02 {
    padding: calc(80 / 15 * 1rem) 0 calc(100 / 15 * 1rem);
  }
  .company02 .item h2 {
    font-size: calc(30 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #172A88;
  }
  .company02 .item .txt {
    margin-top: calc(30 / 15 * 1rem);
  }
  .company02 .item .txt p {
    font-size: calc(15 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.6666666667;
  }
  .company02 .item .txt p + p {
    margin-top: 1.5em;
  }
  .company02 .item .txt .txt_right {
    text-align: right;
    font-size: calc(18 / 15 * 1rem);
    line-height: 1.7777777778;
    margin-top: calc(10 / 15 * 1rem);
  }
  .company02 .item .txt .txt_right span {
    font-size: calc(15 / 15 * 1rem);
    line-height: 2.1333333333;
  }
  .company02 .img_wrap {
    display: flex;
    margin-top: calc(20 / 15 * 1rem);
  }
  .company02 .img_wrap .left {
    position: relative;
    width: 52.7777777778%;
    margin-top: 34.7222222222%;
    margin-right: -13.3333333333%;
    z-index: 1;
  }
  .company02 .img_wrap .right {
    width: 61.1111111111%;
  }
  .company03 {
    padding-bottom: calc(75 / 15 * 1rem);
  }
  .company03 figure {
    width: 100%;
  }
  .company03 figure img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 390/200;
  }
  .company03 .box {
    padding: calc(30 / 15 * 1rem) calc(15 / 15 * 1rem) 0;
    background: #FFF;
  }
  .company03 .box h2 {
    font-size: calc(30 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #172A88;
  }
  .company03 .box table {
    margin-top: calc(5 / 15 * 1rem);
  }
  .company03 .box table th {
    font-size: calc(15 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.4666666667;
    text-align: left;
    vertical-align: baseline;
    width: calc(110 / 15 * 1rem);
    padding: calc(25 / 15 * 1rem) 0;
  }
  .company03 .box table td {
    font-size: calc(15 / 15 * 1rem);
    font-weight: 500;
    line-height: 1.4666666667;
    vertical-align: baseline;
    padding: calc(25 / 15 * 1rem) 0;
  }
  .company03 .box table td span {
    display: inline-block;
  }
  .company03 .box table td .link {
    margin-top: calc(24 / 15 * 1rem);
  }
  .company04 {
    padding-bottom: calc(55 / 15 * 1rem);
  }
  .company04 figure {
    width: 100%;
  }
  .company04 figure img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 390/200;
  }
  .company04 .box {
    padding: calc(30 / 15 * 1rem) calc(15 / 15 * 1rem) 0;
    background: #FFF;
  }
  .company04 .box h2 {
    font-size: calc(30 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #172A88;
  }
  .company04 .box table {
    margin-top: calc(5 / 15 * 1rem);
  }
  .company04 .box table th {
    font-size: calc(15 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.4666666667;
    text-align: left;
    vertical-align: baseline;
    width: calc(90 / 15 * 1rem);
    padding: calc(25 / 15 * 1rem) 0;
  }
  .company04 .box table td {
    font-size: calc(15 / 15 * 1rem);
    font-weight: 500;
    line-height: 1.4666666667;
    vertical-align: baseline;
    padding: calc(25 / 15 * 1rem) 0;
  }
  .company04 .box table td span {
    display: inline-block;
  }
  .company04 .box table td .link {
    margin-top: calc(24 / 15 * 1rem);
  }
  .company04 .box table td a {
    display: inline-flex;
    gap: 0.5rem;
    align-items: center;
  }
  .company04 .box table td a svg {
    margin-bottom: 0.1rem;
    width: 1.1rem;
    height: 1.1rem;
    aspect-ratio: 1/1;
  }
}
@media screen and (min-width: 768px) {
  .original02 {
    background: #f1f1f1;
    padding: calc(80 / 16 * 1rem) 0;
  }
  .original02 .banner a {
    display: flex;
    justify-content: center;
    width: 100%;
    height: auto;
    transition: opacity 0.3s;
  }
  .original02 .banner a:hover {
    opacity: 0.7;
  }
  .original_bg_wrap {
    background: url(./images/original/original_bg.png) no-repeat center center/cover;
  }
  .original03 {
    padding-top: calc(100 / 16 * 1rem);
  }
  .original03 ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .original03 ul {
    gap: calc(10 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .original03 ul li a {
    display: block;
    width: calc(162 / 16 * 1rem);
    padding: calc(8 / 16 * 1rem) calc(16 / 16 * 1rem) calc(8 / 16 * 1rem) calc(22 / 16 * 1rem);
    border: 1px solid #8FC31F;
    border-radius: calc(30 / 16 * 1rem);
    position: relative;
    font-size: calc(14 / 16 * 1rem);
    font-weight: 500;
    line-height: 1.6428571429;
    text-align: center;
    background: #FFF;
    transition: background 0.3s, color 0.3s;
  }
  .original03 ul li a::before {
    content: "";
    display: block;
    width: calc(10 / 16 * 1rem);
    height: calc(10 / 16 * 1rem);
    background: #8FC31F;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: calc(12 / 16 * 1rem);
    transform: translateY(-50%);
    transition: background 0.3s;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .original03 ul li a {
    min-width: calc(140 / 16 * 1rem);
    width: auto;
    padding: calc(8 / 16 * 1rem) calc(10 / 16 * 1rem) calc(8 / 16 * 1rem) calc(28 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .original03 ul li a {
    min-width: calc(120 / 16 * 1rem);
    width: auto;
    font-size: calc(12 / 16 * 1rem);
    padding: calc(5 / 16 * 1rem) calc(8 / 16 * 1rem) calc(5 / 16 * 1rem) calc(20 / 16 * 1rem);
  }
  .original03 ul li a::before {
    width: calc(8 / 16 * 1rem);
    height: calc(8 / 16 * 1rem);
    left: calc(8 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .original03 ul li a:hover {
    background: #8FC31F;
    color: #fff;
  }
  .original03 ul li a:hover::before {
    background: #fff;
  }
  .original04 {
    padding: calc(140 / 16 * 1rem) 0;
  }
  .original04 .original04_in {
    width: min(90%, 1080px);
    margin-inline: auto;
  }
  .original04 h2 {
    width: calc(167 / 16 * 1rem);
    margin-inline: auto;
  }
  .original04 .link {
    margin-top: calc(60 / 16 * 1rem);
    text-align: center;
  }
  .original05 {
    padding: calc(140 / 16 * 1rem) 0;
    position: relative;
  }
  .original05::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(34, 34, 34, 0.6509803922);
    position: absolute;
    top: 0;
    left: 0;
  }
  .original05 .original05_in {
    position: relative;
    z-index: 1;
    width: min(90%, 1080px);
    margin-inline: auto;
  }
  .original05 h2 {
    width: calc(300 / 16 * 1rem);
    margin-inline: auto;
  }
  .original05 .link {
    margin-top: calc(60 / 16 * 1rem);
    text-align: center;
  }
  .original06 {
    padding: calc(140 / 16 * 1rem) 0;
  }
  .original06 .original06_in {
    width: min(90%, 1080px);
    margin-inline: auto;
  }
  .original06 h2 {
    width: calc(238 / 16 * 1rem);
    margin-inline: auto;
  }
  .original06 .link {
    margin-top: calc(60 / 16 * 1rem);
    text-align: center;
  }
  .original07 {
    padding: calc(140 / 16 * 1rem) 0;
    position: relative;
  }
  .original07::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(34, 34, 34, 0.6509803922);
    position: absolute;
    top: 0;
    left: 0;
  }
  .original07 .original07_in {
    position: relative;
    z-index: 1;
    width: min(90%, 1080px);
    margin-inline: auto;
  }
  .original07 h2 {
    width: calc(210 / 16 * 1rem);
    margin-inline: auto;
  }
  .original07 .link {
    margin-top: calc(60 / 16 * 1rem);
    text-align: center;
  }
  .original08 {
    padding: calc(140 / 16 * 1rem) 0;
  }
  .original08 .original08_in {
    width: min(90%, 1080px);
    margin-inline: auto;
  }
  .original08 h2 {
    width: calc(228 / 16 * 1rem);
    margin-inline: auto;
  }
  .original08 .link {
    margin-top: calc(60 / 16 * 1rem);
    text-align: center;
  }
  .original09 {
    padding: calc(140 / 16 * 1rem) 0;
    position: relative;
  }
  .original09::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(34, 34, 34, 0.6509803922);
    position: absolute;
    top: 0;
    left: 0;
  }
  .original09 .original09_in {
    position: relative;
    z-index: 1;
    width: min(90%, 1080px);
    margin-inline: auto;
  }
  .original09 h2 {
    width: calc(210 / 16 * 1rem);
    margin-inline: auto;
  }
  .original09 .link {
    margin-top: calc(60 / 16 * 1rem);
    text-align: center;
  }
  .original10 {
    padding: calc(140 / 16 * 1rem) 0;
  }
  .original10 .original10_in {
    width: min(90%, 1080px);
    margin-inline: auto;
  }
  .original10 h2 {
    width: calc(228 / 16 * 1rem);
    margin-inline: auto;
  }
  .original10 .link {
    margin-top: calc(60 / 16 * 1rem);
    text-align: center;
  }
  .original11 {
    padding: calc(140 / 16 * 1rem) 0;
    position: relative;
  }
  .original11::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(34, 34, 34, 0.6509803922);
    position: absolute;
    top: 0;
    left: 0;
  }
  .original11 .original11_in {
    width: min(90%, 1080px);
    margin-inline: auto;
    position: relative;
    z-index: 1;
  }
  .original11 h2 {
    width: calc(228 / 16 * 1rem);
    margin-inline: auto;
    text-align: center;
    color: #fff;
  }
  .original11 .link {
    margin-top: calc(60 / 16 * 1rem);
    text-align: center;
  }
}
@media screen and (max-width: 767.5px) {
  .original02 {
    background: #f1f1f1;
    padding: calc(40 / 15 * 1rem) 0;
  }
  .original02 .banner a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    transition: opacity 0.3s;
  }
  .original02 .banner a:hover {
    opacity: 0.7;
  }
  .original_bg_wrap {
    background: url(./images/original/original_bg.png) repeat center center;
  }
  .original03 {
    padding-top: calc(40 / 15 * 1rem);
  }
  .original03 ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: calc(16 / 16 * 1rem) calc(30 / 15 * 1rem);
  }
  .original03 ul li {
    width: calc(50% - 1rem);
  }
  .original03 ul li a {
    display: block;
    width: 100%;
    padding: calc(6 / 15 * 1rem) calc(16 / 15 * 1rem) calc(6 / 15 * 1rem) calc(20 / 15 * 1rem);
    border: 1px solid #8FC31F;
    border-radius: calc(30 / 15 * 1rem);
    position: relative;
    font-size: calc(14 / 15 * 1rem);
    font-weight: 500;
    line-height: 1.6428571429;
    letter-spacing: 0.03em;
    text-align: center;
  }
  .original03 ul li a::before {
    content: "";
    display: block;
    width: calc(10 / 15 * 1rem);
    height: calc(10 / 15 * 1rem);
    background: #8FC31F;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: calc(10 / 15 * 1rem);
    transform: translateY(-50%);
  }
  .original04 {
    padding: calc(60 / 15 * 1rem) 0 calc(80 / 15 * 1rem);
  }
  .original04 h2 {
    width: calc(119 / 15 * 1rem);
    margin-inline: auto;
  }
  .original04 .link {
    margin-top: calc(30 / 15 * 1rem);
    text-align: center;
  }
  .original05 {
    padding: calc(60 / 15 * 1rem) 0 calc(80 / 15 * 1rem);
    position: relative;
  }
  .original05::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(34, 34, 34, 0.6509803922);
    position: absolute;
    top: 0;
    left: 0;
  }
  .original05 .original05_in {
    position: relative;
    z-index: 1;
  }
  .original05 h2 {
    width: calc(191 / 15 * 1rem);
    margin-inline: auto;
  }
  .original05 .link {
    margin-top: calc(30 / 15 * 1rem);
    text-align: center;
  }
  .original06 {
    padding: calc(60 / 15 * 1rem) 0 calc(80 / 15 * 1rem);
  }
  .original06 h2 {
    width: calc(238 / 15 * 1rem);
    margin-inline: auto;
  }
  .original06 .link {
    margin-top: calc(30 / 15 * 1rem);
    text-align: center;
  }
  .original07 {
    padding: calc(60 / 15 * 1rem) 0 calc(80 / 15 * 1rem);
    position: relative;
  }
  .original07::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(34, 34, 34, 0.6509803922);
    position: absolute;
    top: 0;
    left: 0;
  }
  .original07 .original07_in {
    position: relative;
    z-index: 1;
  }
  .original07 h2 {
    width: calc(210 / 15 * 1rem);
    margin-inline: auto;
  }
  .original07 .link {
    margin-top: calc(30 / 15 * 1rem);
    text-align: center;
  }
  .original08 {
    padding: calc(60 / 15 * 1rem) 0 calc(80 / 15 * 1rem);
  }
  .original08 h2 {
    width: calc(152 / 15 * 1rem);
    margin-inline: auto;
  }
  .original08 .link {
    margin-top: calc(30 / 15 * 1rem);
    text-align: center;
  }
  .original09 {
    padding: calc(60 / 15 * 1rem) 0 calc(80 / 15 * 1rem);
    position: relative;
  }
  .original09::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(34, 34, 34, 0.6509803922);
    position: absolute;
    top: 0;
    left: 0;
  }
  .original09 .original09_in {
    position: relative;
    z-index: 1;
  }
  .original09 h2 {
    width: calc(210 / 15 * 1rem);
    margin-inline: auto;
  }
  .original09 .link {
    margin-top: calc(30 / 15 * 1rem);
    text-align: center;
  }
  .original10 {
    padding: calc(60 / 15 * 1rem) 0 calc(80 / 15 * 1rem);
  }
  .original10 h2 {
    width: calc(152 / 15 * 1rem);
    margin-inline: auto;
  }
  .original10 .link {
    margin-top: calc(30 / 15 * 1rem);
    text-align: center;
  }
  .original11 {
    padding: calc(60 / 15 * 1rem) 0 calc(80 / 15 * 1rem);
  }
  .original11 h2 {
    width: calc(152 / 15 * 1rem);
    margin-inline: auto;
    text-align: center;
  }
  .original11 .link {
    margin-top: calc(30 / 15 * 1rem);
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .category02 {
    padding: calc(140 / 16 * 1rem) 0;
  }
  .category02 .category02_in {
    width: min(90%, 1080px);
    margin-inline: auto;
  }
  .category02 h2 {
    font-size: calc(40 / 16 * 1rem);
    font-weight: 700;
    line-height: 1;
    color: #FFF;
    text-align: center;
    margin-inline: auto;
  }
  .category02 h2.select_ttl {
    width: calc(167 / 16 * 1rem);
  }
  .category02 h2.kitchenmate_ttl {
    width: calc(300 / 16 * 1rem);
  }
  .category02 h2.naturalcook_ttl {
    width: calc(238 / 16 * 1rem);
  }
  .category02 h2.visions_ttl {
    width: calc(210 / 16 * 1rem);
  }
  .category02 h2.freewalk_ttl {
    width: calc(228 / 16 * 1rem);
  }
  .category02 .e-lists.no-post {
    grid-template-columns: repeat(1, 1fr);
  }
  .category02 .e-lists.no-post p {
    text-align: center;
  }
  .category03 {
    padding: calc(100 / 16 * 1rem) 0;
    background: rgba(51, 51, 51, 0.8);
  }
  .category03 .category03_in {
    width: min(90%, 1280px);
    margin-inline: auto;
  }
  .category03 h2 {
    font-size: calc(40 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    color: #FFF;
    text-align: center;
  }
  .category03 .box {
    margin-top: calc(60 / 16 * 1rem);
  }
}
@media screen and (max-width: 767.5px) {
  .category02 {
    padding: calc(60 / 15 * 1rem) 0 calc(80 / 15 * 1rem);
  }
  .category02 h2 {
    font-size: calc(30 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    color: #FFF;
    text-align: center;
    margin-inline: auto;
  }
  .category02 h2.select_ttl {
    width: calc(120 / 16 * 1rem);
  }
  .category02 h2.kitchenmate_ttl {
    width: calc(191 / 16 * 1rem);
  }
  .category02 h2.naturalcook_ttl {
    width: calc(238 / 16 * 1rem);
  }
  .category02 h2.visions_ttl {
    width: calc(210 / 16 * 1rem);
  }
  .category02 h2.freewalk_ttl {
    width: calc(152 / 16 * 1rem);
  }
  .category02 .e-lists.no-post {
    grid-template-columns: repeat(1, 1fr);
  }
  .category02 .e-lists.no-post p {
    text-align: center;
  }
  .category03 {
    padding: calc(80 / 15 * 1rem) 0;
    background: rgba(51, 51, 51, 0.8);
  }
  .category03 h2 {
    font-size: calc(32 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    color: #FFF;
    text-align: center;
  }
  .category03 .box {
    margin-top: calc(32 / 15 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .single02 {
    padding: calc(90 / 16 * 1rem) 0 calc(108 / 16 * 1rem);
  }
  .single02 .head h1 {
    font-size: calc(22 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .single02 .head .catch {
    font-size: calc(42 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-top: calc(8 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .single02 .head .catch {
    font-size: calc(28 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .single02 .box {
    margin-top: calc(48 / 16 * 1rem);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .single02 .box .single_swiper {
    width: 50%;
    position: relative;
  }
  .single02 .box .single_swiper .swiper-button-prev,
  .single02 .box .single_swiper .swiper-button-next {
    width: calc(30 / 16 * 1rem);
    height: calc(30 / 16 * 1rem);
    top: auto;
    bottom: min(5.3rem, 4.4270833333vw);
  }
  .single02 .box .single_swiper .swiper-button-prev::after,
  .single02 .box .single_swiper .swiper-button-next::after {
    content: "";
    width: 100%;
    height: 100%;
    background: url(./images/original/ico_swiper_arrow.svg) no-repeat center center/contain;
  }
  .single02 .box .single_swiper .swiper-button-prev {
    left: calc(-40 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .single02 .box .single_swiper .swiper-button-prev {
    left: calc(-30 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .single02 .box .single_swiper .swiper-button-next {
    transform: rotate(180deg);
    right: calc(-40 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .single02 .box .single_swiper .swiper-button-next {
    right: calc(-30 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .single02 .box .main_swiper .swiper-slide {
    height: auto;
  }
  .single02 .box .main_swiper .swiper-slide figure {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #d9d9d9;
    aspect-ratio: 1;
  }
  .single02 .box .main_swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .single02 .box .thumb_swiper {
    margin-top: calc(16 / 16 * 1rem);
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .single02 .box .thumb_swiper .swiper-slide {
    opacity: 0.5;
    cursor: pointer;
  }
  .single02 .box .thumb_swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
  }
  .single02 .box .thumb_swiper .swiper-slide-thumb-active {
    opacity: 1;
  }
  .single02 .box .item {
    width: 42.8571428571%;
  }
  .single02 .box .item .cat {
    display: inline-block;
    min-width: calc(150 / 16 * 1rem);
    font-size: calc(15 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.6666666667;
    letter-spacing: 0.03em;
    text-align: center;
    color: #FFF;
    background-color: #8FC31F;
    padding: calc(6 / 16 * 1rem) calc(16 / 16 * 1rem);
    border-radius: calc(30 / 16 * 1rem);
  }
  .single02 .box .item .txt {
    font-size: calc(16 / 16 * 1rem);
    font-weight: 500;
    line-height: 1.6875;
    margin-top: calc(20 / 16 * 1rem);
  }
  .single02 .box .item table {
    margin-top: calc(36 / 16 * 1rem);
    width: 100%;
    border: 1px solid #333333;
  }
  .single02 .box .item table tr:not(:last-child) {
    border-bottom: calc(1 / 16 * 1rem) solid #333333;
  }
  .single02 .box .item table thead {
    border-bottom: calc(1 / 16 * 1rem) solid #333333;
    background: rgba(180, 180, 180, 0.6588235294);
  }
  .single02 .box .item table thead td {
    font-size: calc(16 / 16 * 1rem);
    font-weight: 700;
  }
  .single02 .box .item table th {
    font-size: calc(18 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    padding: calc(20 / 16 * 1rem) calc(8 / 16 * 1rem) calc(20 / 16 * 1rem) calc(16 / 16 * 1rem);
    text-align: left;
    white-space: nowrap;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .single02 .box .item table th {
    font-size: calc(14 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .single02 .box .item table td {
    font-size: calc(14 / 16 * 1rem);
    line-height: 1.9285714286;
    padding: calc(20 / 16 * 1rem) calc(4 / 16 * 1rem);
  }
  .single02 .box .item table td.price {
    white-space: nowrap;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .single02 .box .item table td {
    font-size: calc(12 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .single02 .box .item .item_detail {
    margin-top: calc(36 / 16 * 1rem);
  }
  .single02 .box .item .detail_ttl {
    font-size: calc(16 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.6875;
  }
  .single02 .box .item .detail_txt {
    margin-top: calc(12 / 16 * 1rem);
    font-size: calc(14 / 16 * 1rem);
    line-height: 1.6428571429;
  }
  .single02 .box .item .detail_wrap {
    display: flex;
    column-gap: calc(63 / 16 * 1rem);
  }
  .single02 .box .item .link {
    margin-top: calc(34 / 16 * 1rem);
  }
  .single02 .box .item .link a {
    display: block;
    background: #8FC31F;
    color: #FFF;
    text-align: center;
    border: 1px solid #8FC31F;
    border-radius: calc(12 / 16 * 1rem);
    padding: calc(30 / 16 * 1rem);
    font-size: calc(20 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.2;
    position: relative;
    transition: background 0.3s, color 0.3s;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .single02 .box .item .link a {
    font-size: calc(16 / 16 * 1rem);
    padding: calc(20 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .single02 .box .item .link a span {
    width: calc(25 / 16 * 1rem);
    height: calc(25 / 16 * 1rem);
    border-radius: 50%;
    background: #FFF;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: calc(20 / 16 * 1rem);
    top: 50%;
    transform: translateY(-50%);
    transition: background 0.3s;
  }
  .single02 .box .item .link a span::after {
    display: block;
    content: "";
    width: calc(12 / 16 * 1rem);
    height: calc(10 / 16 * 1rem);
    mask: url(./images/single/ico_btn_arrow.svg) no-repeat center center;
    mask-size: contain;
    background: #8FC31F;
    transition: background 0.3s;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .single02 .box .item .link a span {
    width: calc(20 / 16 * 1rem);
    height: calc(20 / 16 * 1rem);
  }
  .single02 .box .item .link a span::after {
    width: calc(10 / 16 * 1rem);
    height: calc(8 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .single02 .box .item .link a:hover {
    background: #FFF;
    color: #8FC31F;
  }
  .single02 .box .item .link a:hover span {
    background: #8FC31F;
  }
  .single02 .box .item .link a:hover span::after {
    background: #FFF;
  }
  .single03 {
    border-top: 1px solid #cccccc;
    padding-bottom: calc(140 / 16 * 1rem);
  }
  .single03 .single_btn {
    margin-top: calc(100 / 16 * 1rem);
    text-align: center;
  }
  .single03 .single_btn a {
    display: inline-block;
    background: #8FC31F;
    color: #FFF;
    border-radius: calc(60 / 16 * 1rem);
    border: 1px solid #8FC31F;
    font-size: calc(18 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    padding: calc(21 / 16 * 1rem) calc(62 / 16 * 1rem);
    transition: background 0.3s, color 0.3s;
  }
  .single03 .single_btn a:hover {
    background: #FFF;
    color: #8FC31F;
  }
  .single04 {
    padding: calc(100 / 16 * 1rem) 0;
    background: rgba(51, 51, 51, 0.6588235294);
  }
  .single04 .single04_in {
    width: min(90%, 1080px);
    margin-inline: auto;
  }
  .single04 h2 {
    font-size: calc(40 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    color: #FFF;
    text-align: center;
  }
  .single05 {
    padding: calc(100 / 16 * 1rem) 0;
    background: rgba(51, 51, 51, 0.8);
  }
  .single05 .single05_in {
    width: min(90%, 1280px);
    margin-inline: auto;
  }
  .single05 h2 {
    font-size: calc(40 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    color: #FFF;
    text-align: center;
  }
  .single05 .box {
    margin-top: calc(60 / 16 * 1rem);
  }
}
@media screen and (max-width: 767.5px) {
  .single02 {
    padding: calc(35 / 15 * 1rem) 0 calc(50 / 15 * 1rem);
  }
  .single02 .head h1 {
    font-size: calc(18 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.6666666667;
    letter-spacing: 0.05em;
  }
  .single02 .head .catch {
    font-size: calc(24 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-top: calc(16 / 15 * 1rem);
  }
  .single02 .box {
    margin-top: calc(25 / 15 * 1rem);
  }
  .single02 .box .single_swiper {
    position: relative;
  }
  .single02 .box .single_swiper .swiper-button-prev,
  .single02 .box .single_swiper .swiper-button-next {
    width: calc(15 / 15 * 1rem);
    height: calc(15 / 15 * 1rem);
    top: auto;
    bottom: 8.9743589744vw;
  }
  .single02 .box .single_swiper .swiper-button-prev::after,
  .single02 .box .single_swiper .swiper-button-next::after {
    content: "";
    width: 100%;
    height: 100%;
    background: url(./images/original/ico_swiper_arrow.svg) no-repeat center center/contain;
  }
  .single02 .box .single_swiper .swiper-button-prev {
    left: calc(-9 / 15 * 1rem);
  }
  .single02 .box .single_swiper .swiper-button-next {
    transform: rotate(180deg);
    right: calc(-9 / 15 * 1rem);
  }
  .single02 .box .main_swiper .swiper-slide {
    height: auto;
  }
  .single02 .box .main_swiper .swiper-slide figure {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #d9d9d9;
    aspect-ratio: 1;
  }
  .single02 .box .main_swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .single02 .box .thumb_swiper {
    margin-top: calc(6 / 15 * 1rem);
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .single02 .box .thumb_swiper .swiper-slide {
    opacity: 0.5;
    cursor: pointer;
  }
  .single02 .box .thumb_swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
  }
  .single02 .box .thumb_swiper .swiper-slide-thumb-active {
    opacity: 1;
  }
  .single02 .box .item {
    margin-top: calc(40 / 15 * 1rem);
  }
  .single02 .box .item .cat {
    display: inline-block;
    min-width: calc(150 / 15 * 1rem);
    font-size: calc(13 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.6923076923;
    letter-spacing: 0.03em;
    text-align: center;
    color: #FFF;
    background-color: #8FC31F;
    padding: calc(5 / 15 * 1rem) calc(12 / 15 * 1rem);
    border-radius: calc(30 / 15 * 1rem);
  }
  .single02 .box .item .txt {
    font-size: calc(15 / 15 * 1rem);
    font-weight: 500;
    line-height: 1.6666666667;
    margin-top: calc(16 / 15 * 1rem);
  }
  .single02 .box .item .table {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 0.4rem;
  }
  .single02 .box .item .table_txt {
    font-size: calc(13 / 15 * 1rem);
  }
  .single02 .box .item table {
    margin-top: calc(16 / 15 * 1rem);
    width: 100%;
    border: 1px solid #333333;
    white-space: nowrap;
  }
  .single02 .box .item table tr:not(:last-child) {
    border-bottom: 1px solid #333333;
  }
  .single02 .box .item table thead {
    border-bottom: calc(1 / 15 * 1rem) solid #333333;
    background: rgba(180, 180, 180, 0.6588235294);
  }
  .single02 .box .item table thead td {
    font-size: calc(16 / 15 * 1rem);
    font-weight: 700;
  }
  .single02 .box .item table th {
    font-size: calc(15 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.4666666667;
    letter-spacing: 0.1em;
    padding: calc(16 / 15 * 1rem) calc(12 / 15 * 1rem);
    text-align: left;
  }
  .single02 .box .item table td {
    font-size: calc(15 / 15 * 1rem);
    line-height: 1.4666666667;
    padding: calc(16 / 15 * 1rem) calc(12 / 15 * 1rem);
  }
  .single02 .box .item .item_detail {
    margin-top: calc(16 / 15 * 1rem);
  }
  .single02 .box .item .detail_ttl {
    font-size: calc(15 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.6666666667;
  }
  .single02 .box .item .detail_txt {
    margin-top: calc(8 / 15 * 1rem);
    font-size: calc(14 / 15 * 1rem);
    line-height: 1.6428571429;
  }
  .single02 .box .item .detail_wrap {
    display: flex;
    column-gap: calc(63 / 15 * 1rem);
  }
  .single02 .box .item .link {
    margin-top: calc(16 / 15 * 1rem);
  }
  .single02 .box .item .link a {
    display: block;
    background: #8FC31F;
    color: #FFF;
    text-align: center;
    border-radius: calc(12 / 15 * 1rem);
    padding: calc(13 / 15 * 1rem);
    font-size: calc(18 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.6111111111;
    position: relative;
  }
  .single02 .box .item .link a span {
    width: calc(25 / 15 * 1rem);
    height: calc(25 / 15 * 1rem);
    border-radius: 50%;
    background: #FFF;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: calc(16 / 15 * 1rem);
    top: 50%;
    transform: translateY(-50%);
  }
  .single02 .box .item .link a span::after {
    display: block;
    content: "";
    width: calc(12 / 16 * 1rem);
    height: calc(10 / 16 * 1rem);
    mask: url(./images/single/ico_btn_arrow.svg) no-repeat center center;
    mask-size: contain;
    background: #8FC31F;
  }
  .single03 {
    padding-bottom: calc(80 / 15 * 1rem);
    border-top: 1px solid #cccccc;
  }
  .single03 .single_btn {
    margin-top: calc(80 / 15 * 1rem);
    text-align: center;
  }
  .single03 .single_btn a {
    display: inline-block;
    background: #8FC31F;
    color: #FFF;
    border-radius: calc(60 / 15 * 1rem);
    font-size: calc(18 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    padding: calc(21 / 15 * 1rem) calc(62 / 15 * 1rem);
  }
  .single04 {
    padding: calc(80 / 15 * 1rem) 0;
    background: rgba(51, 51, 51, 0.6588235294);
  }
  .single04 h2 {
    font-size: calc(32 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    color: #FFF;
    text-align: center;
  }
  .single05 {
    padding: calc(80 / 15 * 1rem) 0;
    background: rgba(51, 51, 51, 0.8);
  }
  .single05 h2 {
    font-size: calc(32 / 15 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    color: #FFF;
    text-align: center;
  }
  .single05 .box {
    margin-top: calc(32 / 15 * 1rem);
  }
}
/*# sourceMappingURL=sourcemaps/style.css.map */