@charset "UTF-8";
/*!
Theme Name: econixe
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: econixe
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

econixe is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* Box sizing
--------------------------------------------- */
/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
  color: #404040;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}

p {
  margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", courier, monospace;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
  background: #fff;
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

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

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/* Links
--------------------------------------------- */
a {
  color: #4169e1;
}

a:visited {
  color: #800080;
}

a:hover,
a:focus,
a:active {
  color: #191970;
}

a:focus {
  outline: thin dotted;
}

a:hover,
a:active {
  outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type=button],
input[type=reset] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  line-height: 1;
  padding: 0.6em 1em 0.4em;
}

button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
  border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type=button]:active,
input[type=button]:focus,
input[type=reset]:active,
input[type=reset]:focus,
input[type=submit]:active,
input[type=submit]:focus {
  border-color: #aaa #bbb #bbb;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea {
  color: #666;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 3px;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=range]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
.main-navigation {
  display: block;
  width: 100%;
}

.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.main-navigation a {
  display: block;
  text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
  display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  text-align: end;
  flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
  display: block;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
  margin: 0 0 1.5em;
}

.widget select {
  max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*=wp-image-] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  width: 100%;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/* Jetpack infinite scroll
--------------------------------------------- */
/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;
  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

/*------------------*/
/* base */
/*------------------*/
body {
  color: black;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  line-height: 1;
}
body p {
  font-weight: 300;
  line-height: 1.75;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  body p {
    line-height: 1.8;
    font-size: clamp(14px, 3.7333333333vw, 17.5px);
  }
}

.mt0 {
  margin-top: 0;
}

.mb0 {
  margin-bottom: 0;
}

a {
  color: #000000;
}
a:hover {
  opacity: 0.5;
  transition: 0.3s cubic-bezier(0.45, 0, 0.55, 1);
}

a:focus,
*:focus {
  outline: none;
}

a[href^="tel:"] {
  pointer-events: none;
}
@media (max-width: 999px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

:root {
  --size-base: 1400;
}
@media (max-width: 999px) {
  :root {
    --size-base: 1000;
  }
}
@media (max-width: 767px) {
  :root {
    --size-base: 768;
  }
}

.container {
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 1000px) {
  .container {
    width: clamp(750px, 1000 / var(--size-base) * 100vw, 1000px);
  }
}
@media (max-width: 999px) {
  .container {
    padding-right: clamp(15px, 25 / var(--size-base) * 100vw, 25px);
    padding-left: clamp(15px, 25 / var(--size-base) * 100vw, 25px);
  }
}

.row {
  display: flex;
}
@media (max-width: 767px) {
  .row {
    display: block;
  }
}

figure {
  margin: 0;
}

/* image layout （画像の位置） */
:root {
  --image-width: clamp(450px, calc(600 / var(--size-base) * 100vw), 600px);
  --image-gap-size: clamp(52px, calc(70 / var(--size-base) * 100vw), 70px);
}

.image_align_right {
  display: flex;
}
@media (max-width: 767px) {
  .image_align_right {
    display: block;
  }
}
.image_align_right .image {
  width: var(--image-width);
  margin-left: var(--image-gap-size);
  flex-shrink: 0;
}
@media (max-width: 999px) {
  .image_align_right .image {
    margin-left: calc(var(--image-gap-size) / 2);
    width: 40%;
  }
}
@media (max-width: 767px) {
  .image_align_right .image {
    padding-top: calc(var(--image-gap-size) / 3);
    margin: 0 auto;
    width: 100%;
    text-align: center;
  }
}

.image_align_left {
  display: flex;
}
@media (max-width: 767px) {
  .image_align_left {
    display: block;
  }
}
.image_align_left .image {
  width: var(--image-width);
  margin-right: var(--image-gap-size);
  flex-shrink: 0;
  order: 1;
}
@media (max-width: 999px) {
  .image_align_left .image {
    margin-right: calc(var(--image-gap-size) / 2);
    width: 40%;
  }
}
@media (max-width: 767px) {
  .image_align_left .image {
    padding: calc(var(--image-gap-size) / 3) 0;
    margin: 0 auto;
    width: 100%;
    text-align: center;
  }
}
.image_align_left .text {
  order: 2;
}

.image_align_center {
  display: flex;
  justify-content: space-between;
  gap: var(--gutter-xs);
}
@media (max-width: 767px) {
  .image_align_center {
    display: block;
    width: 90%;
    margin: 0 auto;
  }
}
@media (max-width: 767px) {
  .image_align_center img:first-of-type {
    padding-bottom: calc(var(--image-gap-size) / 3);
  }
}
.image_align_center > div {
  text-align: center;
}

.image_pull_right {
  margin-right: calc(50% - 49vw);
}

.image_pull_left {
  margin-left: calc(50% - 49vw);
}

.image_parallel {
  display: flex;
  justify-content: center;
  gap: var(--gutter-xs);
  margin: var(--gutter-m) 0;
  margin-right: min(-19.5vw, -195px);
}
@media (max-width: 999px) {
  .image_parallel {
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }
}
@media (max-width: 767px) {
  .image_parallel {
    display: block;
  }
}

@media (max-width: 999px) {
  .image_parallel_img01 {
    width: 100%;
    text-align: left;
  }
}
@media (max-width: 767px) {
  .image_parallel_img01 {
    padding-right: 10%;
  }
}

.image_parallel_img02 {
  padding-top: var(--gutter-s);
}
@media (max-width: 999px) {
  .image_parallel_img02 {
    width: 100%;
    text-align: right;
  }
}
@media (max-width: 767px) {
  .image_parallel_img02 {
    padding-left: 10%;
  }
}

/* mv */
:root {
  --header_mv-width: 460px;
  --header_mv-height: 457px;
}

.header_mv {
  position: relative;
  margin: 0 auto;
  width: 100%;
}
@media (min-width: 1000px) {
  .header_mv {
    width: clamp(1050px, 1400 / var(--size-base) * 100vw, 1400px);
  }
}
@media (max-width: 530px) {
  .header_mv {
    overflow: hidden;
  }
}
.header_mv:after {
  content: "";
  display: block;
  background: url(./images/mv_page_bg_pc.svg) no-repeat;
  position: absolute;
  z-index: -1;
  width: clamp(517.5px, 690 / var(--size-base) * 100vw, 690px);
  height: clamp(330.75px, 441 / var(--size-base) * 100vw, 441px);
  top: clamp(75px, 100 / var(--size-base) * 100vw, 100px);
  left: clamp(60.75px, 81 / var(--size-base) * 100vw, 81px);
}
@media (max-width: 767px) {
  .header_mv:after {
    background: url(./images/mv_page_bg_sp.svg) no-repeat;
    background-size: contain;
    top: 24%;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (max-width: 530px) {
  .header_mv:after {
    width: calc(100% + 30px);
    top: clamp(140px, 37.3333333333vw, 175px);
    left: clamp(-10px, -2.6666666667vw, -12.5px);
    transform: none;
  }
}
.header_mv .container {
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: clamp(63.75px, 85 / var(--size-base) * 100vw, 85px) 0;
}
@media (min-width: 1000px) {
  .header_mv .container {
    width: clamp(855px, 1140 / var(--size-base) * 100vw, 1140px);
  }
}
@media (max-width: 999px) {
  .header_mv .container {
    padding-left: clamp(15px, 25 / var(--size-base) * 100vw, 25px);
    padding-right: clamp(15px, 25 / var(--size-base) * 100vw, 25px);
  }
}
@media (max-width: 767px) {
  .header_mv .container {
    flex-direction: column;
    padding-top: clamp(75px, 100 / var(--size-base) * 100vw, 100px);
  }
}
.header_mv .mv_image {
  width: var(--header_mv-width);
  height: var(--header_mv-height);
}
@media (max-width: 999px) {
  .header_mv .mv_image {
    width: 50%;
    height: auto;
  }
}
@media (max-width: 767px) {
  .header_mv .mv_image {
    width: 100%;
    text-align: right;
  }
  .header_mv .mv_image img {
    width: 80%;
    padding-right: clamp(15px, 4vw, 18.75px);
  }
}
.header_mv .mv_text {
  padding-left: var(--gutter-m);
}
@media (min-width: 1200px) {
  .header_mv .mv_text {
    padding-left: var(--gutter-l);
  }
}
@media (max-width: 767px) {
  .header_mv .mv_text {
    width: 100%;
    padding-top: var(--gutter-l);
    padding-left: var(--gutter-xs);
  }
}
.header_mv .mv_text p {
  font-weight: 500;
  font-size: clamp(13.5px, 18 / var(--size-base) * 100vw, 18px);
  margin-top: clamp(30px, 40 / var(--size-base) * 100vw, 40px);
}
@media (max-width: 767px) {
  .header_mv .mv_text p {
    font-size: clamp(13px, 3.4666666667vw, 16.25px);
    margin-top: clamp(30px, 8vw, 37.5px);
  }
}

.title01_en {
  font-family: "Quicksand", sans-serif;
  color: #007dbc;
  font-size: clamp(54.75px, 73 / var(--size-base) * 100vw, 73px);
  font-weight: 300;
  display: block;
}
@media (max-width: 767px) {
  .title01_en {
    font-size: clamp(45px, 12vw, 56.25px);
  }
}

.title01_ja {
  display: block;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-left: 2px;
  padding-top: var(--gutter-xxs);
  font-size: clamp(13.5px, 18 / var(--size-base) * 100vw, 18px);
}
@media (max-width: 767px) {
  .title01_ja {
    font-size: clamp(13px, 3.4666666667vw, 16.25px);
  }
}

.bg_obi {
  position: relative;
  background: url(./images/mv_page_obi.svg);
  background-size: cover;
  background-position: center center;
}
.bg_obi:after {
  content: "";
  background: #007dbc;
  display: inline-block;
  position: absolute;
  top: -50%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 50;
}
@media (min-width: 1000px) {
  .bg_obi {
    height: 120px;
  }
  .bg_obi:after {
    width: 1px;
    height: 120px;
  }
}
@media (max-width: 999px) {
  .bg_obi {
    height: 60px;
  }
  .bg_obi:after {
    width: 1px;
    height: 60px;
  }
}

/* heading */
h1,
h2,
h3,
h4,
h5 {
  margin: 0;
}

.title02 {
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.1em;
  position: relative;
  line-height: 1.6;
  font-size: clamp(31.5px, 42 / var(--size-base) * 100vw, 42px);
  padding-bottom: clamp(56.25px, 75 / var(--size-base) * 100vw, 75px);
}
.title02:before {
  content: "";
  background: url(./images/icon_drop.svg) no-repeat;
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: clamp(13.5px, 18 / var(--size-base) * 100vw, 18px);
  height: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  top: clamp(-52.5px, -70 / var(--size-base) * 100vw, -70px);
}
@media (max-width: 767px) {
  .title02:before {
    width: clamp(13px, 3.4666666667vw, 16.25px);
    height: clamp(20px, 5.3333333333vw, 25px);
    top: clamp(-30px, -8vw, -37.5px);
  }
}
@media (max-width: 767px) {
  .title02 {
    font-size: clamp(24px, 6.4vw, 30px);
    padding-bottom: clamp(20px, 5.3333333333vw, 25px);
  }
}

.title_border {
  font-weight: 500;
  border-bottom: 1px solid #c2c2c2;
  line-height: 1.4;
  position: relative;
  font-size: clamp(21px, 28 / var(--size-base) * 100vw, 28px);
  padding-bottom: clamp(19.5px, 26 / var(--size-base) * 100vw, 26px);
  margin-bottom: clamp(48.75px, 65 / var(--size-base) * 100vw, 65px);
}
@media (max-width: 767px) {
  .title_border {
    font-size: clamp(20px, 5.3333333333vw, 25px);
    padding-bottom: clamp(16px, 4.2666666667vw, 20px);
    margin-bottom: clamp(20px, 5.3333333333vw, 25px);
  }
}
.title_border:before {
  content: "";
  width: 17%;
  height: 1px;
  background: #16b8c4;
  display: inline-block;
  position: absolute;
  bottom: -0.5px;
  left: 0;
}

:root {
  --circle-width: 100px;
  --circle-fz: 24px;
}
@media (max-width: 767px) {
  :root {
    --circle-width: 50px;
    --circle-fz: 18px;
  }
}

.title_circle {
  font-weight: 700;
  color: #007dbc;
  line-height: 1.4;
  position: relative;
  padding-left: var(--gutter-s);
  font-size: var(--circle-fz);
  margin-top: var(--gutter-s);
  margin-bottom: var(--gutter-m);
}
.title_circle:before {
  content: "";
  width: var(--circle-width);
  height: var(--circle-width);
  border-radius: 9999px;
  background: #e4f1f9;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: -1;
}

.title_bold {
  line-height: 1.75;
  font-weight: 700;
  font-size: clamp(16.5px, 22 / var(--size-base) * 100vw, 22px);
  margin-bottom: clamp(18px, 24 / var(--size-base) * 100vw, 24px);
  margin-top: clamp(9px, 12 / var(--size-base) * 100vw, 12px);
}
@media (max-width: 767px) {
  .title_bold {
    font-size: clamp(16px, 4.2666666667vw, 20px);
    margin-bottom: clamp(10px, 2.6666666667vw, 12.5px);
    margin-top: clamp(5px, 1.3333333333vw, 6.25px);
  }
}

/* text */
.text_black {
  color: #000000 !important;
}

.text_left {
  text-align-last: left;
}

.text_right {
  text-align: right;
}

.text_center {
  text-align: center;
}

.text_white {
  color: white !important;
}

.td_bg_blue {
  background: #d9e8ea;
}

/* padding */
@media (min-width: 1000px) {
  :root {
    --gutter-l: 70px;
    --gutter-m: 60px;
    --gutter-s: 40px;
    --gutter-xs: 30px;
    --gutter-xxs: 20px;
  }
}
@media (max-width: 999px) {
  :root {
    --gutter-l: 35px;
    --gutter-m: 30px;
    --gutter-s: 20px;
    --gutter-xs: 15px;
    --gutter-xxs: 10px;
  }
}

/* button */
:root {
  --button-width: 40px;
  --button-height: 40px;
  --button-fz: 16px;
}

.button {
  display: block;
  text-decoration: none;
  position: relative;
  border-radius: 9999px;
  text-align: center;
  width: var(--button-width);
  height: var(--button-height);
  line-height: var(--button-height);
  font-size: var(--button-fz);
}
@media (max-width: 767px) {
  .button {
    width: calc(var(--button-width) * 0.8);
    height: calc(var(--button-height) * 0.8);
    line-height: calc(var(--button-height) * 0.8);
    font-size: calc(var(--button-fz) * 0.8);
    margin-left: auto;
    margin-right: auto;
  }
}
.button:after {
  content: "";
  display: block;
  background: url(./images/icon_arrow_circle_white_right.svg) no-repeat;
  width: 21px;
  height: 21px;
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
  z-index: 1;
}
@media (max-width: 767px) {
  .button:after {
    width: 15px;
    height: 15px;
  }
}

/* label */
:root {
  --label-width: 130px;
  --label-height: 32px;
}

.label {
  display: block;
  text-decoration: none;
  border-radius: calc(var(--label-height) / 2);
  text-align: center;
  color: white;
}
@media (min-width: 1000px) {
  .label {
    width: var(--label-width);
    height: var(--label-height);
    line-height: var(--label-height);
    font-size: clamp(12px, 16 / var(--size-base) * 100vw, 16px);
  }
}
@media (max-width: 999px) {
  .label {
    width: var(--label-width);
    height: var(--label-height);
    line-height: var(--label-height);
    font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
  }
}
.label:visited {
  color: white;
}

/* link */
:root {
  --link_more-color: #000;
  --label-fz: 16px;
}

.link_more {
  padding-bottom: clamp(7.5px, 10 / var(--size-base) * 100vw, 10px);
}
.link_more a {
  font-family: "Quicksand", sans-serif;
  color: var(--link_more-color);
  text-decoration: none;
  padding: 0 10px 4px 10px;
  margin-bottom: clamp(7.5px, 10 / var(--size-base) * 100vw, 10px);
  border-bottom: 1px solid;
  border-color: var(--link_more-color);
}
@media (min-width: 1000px) {
  .link_more a {
    font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
  }
}
@media (max-width: 999px) {
  .link_more a {
    font-size: clamp(18.75px, 25 / var(--size-base) * 100vw, 25px);
  }
}
.link_more a:visited {
  color: var(--link_more-color);
}

:root {
  --link-number: 4;
  --link-number-sp: 2;
}

.header_links_wrapper {
  margin-right: auto;
  margin-left: auto;
  max-width: 1000px;
}
@media (max-width: 767px) {
  .header_links_wrapper {
    padding: 0 10px;
  }
}

.header_links {
  list-style: none;
  padding-left: 0;
  margin: 0;
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding-top: clamp(15px, 20 / var(--size-base) * 100vw, 20px);
  padding-bottom: clamp(60px, 80 / var(--size-base) * 100vw, 80px);
}
@media (max-width: 767px) {
  .header_links {
    flex-wrap: wrap;
    padding-bottom: clamp(20px, 5.3333333333vw, 25px);
  }
}
.header_links li {
  text-align: center;
}
@media (max-width: 767px) {
  .header_links li {
    width: calc(100% / var(--link-number-sp));
    margin-bottom: clamp(30px, 8vw, 37.5px);
  }
}
.header_links a {
  text-decoration: none;
  display: block;
  font-size: clamp(16.5px, 22 / var(--size-base) * 100vw, 22px);
  letter-spacing: 0.03em;
  font-weight: 500;
  color: #bebebf;
  line-height: 1.4;
  position: relative;
}
@media (max-width: 767px) {
  .header_links a {
    font-size: clamp(16px, 4.2666666667vw, 20px);
    letter-spacing: 0;
    line-height: 1.4;
  }
}
.header_links a:after {
  content: "";
  display: inline-block;
  width: 66px;
  height: 4px;
  background: #80d6c2;
  position: absolute;
  bottom: calc(clamp(10.5px, 14 / var(--size-base) * 100vw, 14px) * -1);
  left: 50%;
  transform: translateX(-50%);
}

.business01 .link_business01 a,
.business02 .link_business02 a,
.business03 .link_business03 a,
.business04 .link_business04 a,
.business01_1 .link_business01 a,
.business01_2 .link_business01 a,
.business01_3 .link_business01 a,
.business01_4 .link_business01 a,
.service .link_about01 a,
.company .link_about02 a,
.initiative .link_about03 a,
.in-numbers .link_about04 a{
  color: #007dbc;
}

:root {
  --button-width: 220px;
  --button-height: 50px;
  --button-fz: 18px;
}
@media (max-width: 767px) {
  :root {
    --button-width: 190px;
    --button-height: 40px;
    --button-fz: 16px;
  }
}

.anchors ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  padding-bottom: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
  max-width: 1000px;
  justify-content: center;
}
@media (max-width: 999px) {
  .anchors ul {
    flex-wrap: wrap;
  }
}
@media (max-width: 530px) {
  .anchors ul {
    flex-wrap: nowrap;
    justify-content: flex-start;
    width: 100%;
    overflow-y: scroll;
    gap: var(--gutter-xxs);
    padding-bottom: var(--gutter-s);
  }
}
.anchors li {
  display: flex;
  align-items: center;
  padding: 0 20px;
}
@media (max-width: 999px) {
  .anchors li {
    padding-bottom: var(--gutter-xs);
  }
}
@media (max-width: 530px) {
  .anchors li {
    padding: 0;
  }
}
.anchors a {
  display: block;
  max-width: 220px;
  width: var(--button-width);
  height: var(--button-height);
  border-radius: 9999px;
  line-height: var(--button-height);
  background: #16b8c4;
  text-decoration: none;
  position: relative;
  text-align: center;
  color: white;
  font-weight: 500;
  font-size: var(--button-fz);
}
.anchors a:after {
  content: "";
  display: block;
  background: url(./images/icon_arrow_circle_white_bottom.svg) no-repeat;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 50%;
  right: 4%;
  z-index: 1;
  transform: translateY(-50%);
}

/* list */
.list_disc {
  padding-left: 1rem;
  margin: 0;
  list-style: none;
}
.list_disc li {
  text-indent: -1rem;
  padding-left: 1rem;
  padding-bottom: 3px;
  line-height: 1.75;
}
.list_disc li:before {
  content: "・";
}

/* table */
.wp-block-table td,
.wp-block-table th {
  border: none;
}

table {
  margin-bottom: 0;
  font-weight: 500;
  line-height: 1.75;
  font-size: clamp(12px, 16 / var(--size-base) * 100vw, 16px);
}
@media (max-width: 767px) {
  table {
    font-size: clamp(14px, 3.7333333333vw, 17.5px);
  }
}
table ul {
  padding-left: clamp(15px, 20 / var(--size-base) * 100vw, 20px);
  margin: 0;
}

.table_style01 {
  border-top: 1px solid #c2c2c2;
  margin-bottom: 0;
  position: relative;
}
.table_style01:before {
  content: "";
  width: 17%;
  height: 1px;
  background: #24d3ca;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 767px) {
  .table_style01:before {
    content: none;
  }
}
.table_style01 td {
  border-bottom: 1px solid #c2c2c2;
  padding: clamp(18.75px, 25 / var(--size-base) * 100vw, 25px);
}
@media (max-width: 767px) {
  .table_style01 td {
    display: block;
    width: 100%;
    padding: clamp(16px, 4.2666666667vw, 20px);
  }
}
.table_style01 td:first-of-type {
  border-bottom: 1px solid #16b8c4;
  color: #007dbc;
  letter-spacing: 0.03em;
  width: 17%;
}
@media (max-width: 767px) {
  .table_style01 td:first-of-type {
    width: 100%;
  }
}

.table_style02 {
  margin-bottom: 0;
}
.table_style02 td {
  background: white;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  border-right: 1px solid #c2c2c2;
  border-left: 1px solid #c2c2c2;
  padding: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
}
.table_style02 td:first-of-type {
  color: #007dbc;
  border-left: 1px solid transparent;
  letter-spacing: 0.03em;
  width: 20%;
}
.table_style02 .none {
  background: none;
  border-top: none;
}
.table_style02 .th {
  background: #80d6c2;
  color: white;
  border-top: none;
  padding: clamp(4.5px, 6 / var(--size-base) * 100vw, 6px);
  white-space: nowrap;
}

.wp-element-caption {
  text-align: right;
  padding: 10px 0;
}
@media (min-width: 1000px) {
  .wp-element-caption {
    font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
  }
}
@media (max-width: 999px) {
  .wp-element-caption {
    font-size: clamp(9px, 12 / var(--size-base) * 100vw, 12px);
  }
}

/* pages */
@media (min-width: 1000px) {
  .column-layout {
    column-count: 2;
  }
}

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

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

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

@media (min-width: 1000px) {
  .xs-only {
    display: none;
  }
}

.pc-only {
  display: none;
}
@media (min-width: 1000px) {
  .pc-only {
    display: block;
  }
}

/* 絶対配置 */
:root {
  --absolute-top: 160;
  --absolute-left: 1040;
}

.absolute {
  position: absolute;
  top: min(var(--absolute-top) * 1vw / 14, var(--absolute-top) * 1px);
  left: min(var(--absolute-left) * 1vw / 14, var(--absolute-left) * 1px);
}

/*------------------*/
/* header */
/*------------------*/
.site-header {
  position: absolute;
  z-index: 999;
  top: 0;
  left: auto;
  right: auto;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.site-title {
  margin: 0;
  padding: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
}
@media (max-width: 767px) {
  .site-title {
    padding: clamp(15px, 15 / var(--size-base) * 100vw, 15px);
  }
}
.site-title a {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #000000;
}
.site-title img {
  width: clamp(98.25px, 131 / var(--size-base) * 100vw, 131px);
}
@media (max-width: 767px) {
  .site-title img {
    width: clamp(119px, 31.7333333333vw, 148.75px);
  }
}

.site-name {
  line-height: 0;
  padding-left: 10px;
  padding-top: 5px;
}
.site-name span {
  line-height: 1;
}
.site-name span:first-of-type {
  display: block;
  font-weight: 500;
  font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
  letter-spacing: 0.11em;
}
@media (max-width: 767px) {
  .site-name span:first-of-type {
    font-size: clamp(12px, 3.2vw, 15px);
  }
}
.site-name span:last-of-type {
  display: block;
  font-family: "Quicksand", sans-serif;
  font-weight: 500;
  padding-top: 5px;
  font-size: clamp(7.5px, 10 / var(--size-base) * 100vw, 10px);
}
@media (max-width: 767px) {
  .site-name span:last-of-type {
    font-size: clamp(10px, 2.6666666667vw, 12.5px);
  }
}

/* メニューボタン */
.main-navigation {
  position: fixed;
  top: 0;
  right: 0;
  width: 160px;
  height: 160px;
}
@media (max-width: 767px) {
  .main-navigation {
    width: clamp(100px, 26.6666666667vw, 125px);
    height: clamp(100px, 26.6666666667vw, 125px);
  }
}

.button_wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.menu-toggle,
.menu-mail,
.menu-phone {
  border: none;
  outline: none;
  border-radius: 0;
  cursor: pointer;
  width: clamp(60px, 80 / var(--size-base) * 100vw, 80px);
  height: clamp(60px, 80 / var(--size-base) * 100vw, 80px);
}
@media (max-width: 767px) {
  .menu-toggle,
  .menu-mail,
  .menu-phone {
    width: 50px;
    height: 50px;
  }
}

.menu-toggle {
  display: block;
  background: url(./images/menu_close.svg) no-repeat;
}

.menu-mail {
  background: url(./images/menu_mail.svg) no-repeat;
}

.menu-phone {
  background: url(./images/menu_phone.svg) no-repeat;
}

/* メニュー */
.menu-gnavi-container {
  position: fixed;
  z-index: 900;
  top: -100vh;
  left: 0;
  width: 100%;
  height: 100vh;
  transition: ease-in-out 0.3s;
  background: #16b8c4;
  border-radius: 0 0 0 clamp(37.5px, 50 / var(--size-base) * 100vw, 50px);
}
@media (max-width: 767px) {
  .menu-gnavi-container {
    border-radius: 0 0 0 clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  }
}

.main-navigation.toggled .menu-gnavi-container {
  top: 0;
  overflow: auto;
}
.main-navigation.toggled .menu-toggle {
  position: relative;
  background: url(./images/menu_open.svg) no-repeat center center;
  z-index: 999;
  outline: none;
}

.header_menu_wrapper {
  display: flex;
}
@media (max-width: 767px) {
  .header_menu_wrapper {
    flex-direction: column;
  }
}
.header_menu_wrapper .nav-menu {
  padding: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
}
@media (max-width: 999px) {
  .header_menu_wrapper .nav-menu {
    padding: clamp(30px, 40 / var(--size-base) * 100vw, 40px);
  }
}
@media (max-width: 767px) {
  .header_menu_wrapper .nav-menu {
    padding: clamp(10px, 2.6666666667vw, 12.5px);
  }
  .header_menu_wrapper .nav-menu:first-of-type {
    padding-bottom: 0;
  }
  .header_menu_wrapper .nav-menu:last-of-type {
    padding-top: 0;
  }
}

.menu-gnavi-container {
  padding: clamp(37.5px, 50 / var(--size-base) * 100vw, 50px);
}
@media (max-width: 999px) {
  .menu-gnavi-container {
    padding: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  }
}
@media (max-width: 767px) {
  .menu-gnavi-container {
    padding: clamp(22px, 5.8666666667vw, 27.5px);
  }
}

.menu_logo img {
  width: clamp(178.5px, 238 / var(--size-base) * 100vw, 238px);
}
@media (max-width: 767px) {
  .menu_logo img {
    width: clamp(119px, 31.7333333333vw, 148.75px);
  }
}

.header_menu .menu-item {
  font-weight: 500;
  color: white;
  font-weight: 500;
  font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
}
@media (max-width: 767px) {
  .header_menu .menu-item {
    font-size: clamp(11px, 2.9333333333vw, 13.75px);
    padding-bottom: clamp(15px, 20 / var(--size-base) * 100vw, 20px);
    margin-bottom: clamp(15px, 20 / var(--size-base) * 100vw, 20px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
}
.header_menu .menu-item a {
  color: white;
  text-decoration: none;
}
.header_menu .menu-item .en {
  font-family: "Quicksand", sans-serif;
  font-weight: 300;
  font-size: clamp(31.5px, 42 / var(--size-base) * 100vw, 42px);
  padding-right: var(--gutter-xs);
}
@media (max-width: 999px) {
  .header_menu .menu-item .en {
    display: block;
    margin-bottom: 5px;
    padding-top: var(--gutter-xs);
  }
}
@media (max-width: 767px) {
  .header_menu .menu-item .en {
    font-size: clamp(22px, 5.8666666667vw, 27.5px);
    padding-right: clamp(20px, 5.3333333333vw, 25px);
    padding-bottom: 5px;
  }
}
.header_menu .menu-item .child {
  display: block;
  padding-left: var(--gutter-l);
}
.header_menu .menu-item .child a {
  font-size: clamp(12px, 16 / var(--size-base) * 100vw, 16px);
  text-decoration: none;
  padding-top: var(--gutter-xs);
  display: block;
}
@media (max-width: 767px) {
  .header_menu .menu-item .child {
    padding-left: var(--gutter-m);
    padding-top: var(--gutter-xxs);
  }
  .header_menu .menu-item .child a {
    font-size: clamp(11px, 14 / var(--size-base) * 100vw, 14px);
    font-size: clamp(14px, 3.7333333333vw, 17.5px);
    text-decoration: none;
    padding-bottom: 0;
    display: block;
  }
  .header_menu .menu-item .child li:last-of-type a {
    padding-bottom: 0;
  }
}
.header_menu .menu-item .child_child {
  padding-left: var(--gutter-s);
}
.header_menu .menu-item .child_child a {
  padding-top: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
}
.header_menu .menu-item01,
.header_menu .menu-item02 {
  padding-bottom: var(--gutter-s);
}
.header_menu .menu-item03,
.header_menu .menu-item04,
.header_menu .menu-item05,
.header_menu .menu-item06 {
  padding-bottom: var(--gutter-s);
}

/*------------------*/
/* footer */
/*------------------*/
.site-footer {
  background: #007dbc;
  color: white;
  overflow: hidden;
  padding-top: clamp(37.5px, 50 / var(--size-base) * 100vw, 50px);
}
@media (max-width: 767px) {
  .site-footer {
    padding-top: clamp(35px, 9.3333333333vw, 43.75px);
  }
}
.site-footer .site-title {
  padding: 0;
}
.site-footer .site-title img {
  width: clamp(98.25px, 131 / var(--size-base) * 100vw, 131px);
}
@media (max-width: 767px) {
  .site-footer .site-title img {
    width: clamp(119px, 31.7333333333vw, 148.75px);
  }
}
.site-footer .site-title a {
  color: white;
  display: inline-block;
  flex-direction: column;
}
.site-footer .site-title img {
  display: block;
  padding-bottom: 6px;
}
.site-footer .site-name {
  display: block;
  padding-left: 0;
}
.site-footer .footer_menu_area {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  padding-bottom: clamp(105px, 140 / var(--size-base) * 100vw, 140px);
  width: 50%;
  order: 2;
  position: relative;
}
.site-footer .footer_menu_area:after {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 22.83%;
  background: url(./images/image_footer.svg) no-repeat;
  position: absolute;
  left: -20%;
  bottom: 0;
}
@media (max-width: 767px) {
  .site-footer .footer_menu_area {
    padding-bottom: 22.83%;
    position: relative;
    width: 100%;
  }
  .site-footer .footer_menu_area:after {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 22.83%;
    background: url(./images/image_footer.svg) no-repeat;
    background-position: bottom center;
    position: absolute;
    left: -5%;
    bottom: 0;
  }
}
@media (max-width: 530px) {
  .site-footer .footer_menu_area {
    padding-bottom: 30.83%;
  }
  .site-footer .footer_menu_area:after {
    width: calc(100% + 60px);
    margin: 0 -30px;
    padding-bottom: 30.83%;
    left: -5%;
    bottom: 0;
  }
}
.site-footer .footer_info {
  width: 50%;
  order: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-right: var(--gutter-l);
}
@media (max-width: 767px) {
  .site-footer .footer_info {
    padding-top: clamp(30px, 8vw, 37.5px);
    width: 100%;
  }
}
.site-footer .address {
  padding-top: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
}
@media (max-width: 767px) {
  .site-footer .address {
    font-size: clamp(13px, 3.4666666667vw, 16.25px);
    padding-top: clamp(20px, 5.3333333333vw, 25px);
  }
}
.site-footer .address p {
  font-size: 14px;
  margin: 0;
}
.site-footer .address .en {
  font-family: "Quicksand", sans-serif;
}
.site-footer .links {
  margin: 0;
  padding-left: 0;
  list-style: none;
  display: flex;
  gap: 10px;
  padding-top: clamp(30px, 40 / var(--size-base) * 100vw, 40px);
  padding-bottom: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
}
.site-footer .links li {
  border-radius: 20px;
}
.site-footer .links a {
  display: block;
  text-decoration: none;
  text-align: center;
  width: clamp(105px, 140 / var(--size-base) * 100vw, 140px);
  height: clamp(30px, 40 / var(--size-base) * 100vw, 40px);
  line-height: clamp(30px, 40 / var(--size-base) * 100vw, 40px);
}
@media (max-width: 767px) {
  .site-footer .links {
    padding: clamp(30px, 8vw, 37.5px) 0;
  }
}
.site-footer .links li {
  background: white;
}
.site-footer .links a {
  color: #007dbc;
  font-weight: 500;
  font-size: 14px;
}
@media (max-width: 767px) {
  .site-footer .links a {
    font-size: 13px;
  }
}
.site-footer .sdgs {
  display: inline-block;
  background: url(./images/icon_sdgscolor.svg) no-repeat, white;
  color: #000000;
  font-size: 14px;
  padding: var(--gutter-xxs);
  margin-bottom: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
  max-width: 280px;
  width: 80%;
}
@media (max-width: 767px) {
  .site-footer .sdgs {
    margin-bottom: clamp(30px, 8vw, 37.5px);
    font-size: clamp(14px, 3.7333333333vw, 17.5px);
    padding: var(--gutter-xs);
  }
}
.site-footer .sdgs a {
  text-decoration: none;
  color: #000000;
  display: inline-flex;
  align-items: center;
  line-height: 1.4;
	white-space: nowrap;
}
.site-footer .sdgs a img {
  width: 14px;
  height: 14px;
  margin-left: 5px;
}
.site-footer .pp a {
  color: white;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
}

/* menu */
.footer_menu_wrapper {
  display: flex;
  justify-content: space-between;
}

.footer_menu {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.footer_menu:first-of-type {
  width: 60%;
  padding-right: clamp(22px, 30 / var(--size-base) * 100vw, 30px);
}
@media (max-width: 767px) {
  .footer_menu:first-of-type {
    width: 64%;
    padding-right: clamp(15px, 20 / var(--size-base) * 100vw, 20px);
  }
}
.footer_menu:last-of-type {
  width: 40%;
}
@media (max-width: 767px) {
  .footer_menu:last-of-type {
    width: 36%;
  }
}
.footer_menu .icon {
  width: 30px;
  margin-right: 20px;
}
@media (max-width: 767px) {
  .footer_menu .icon {
    display: block;
    padding-bottom: 10px;
  }
}
.footer_menu .menu-item {
  font-weight: 500;
  color: white;
  font-size: clamp(12px, 16 / var(--size-base) * 100vw, 16px);
  padding-bottom: clamp(22px, 30 / var(--size-base) * 100vw, 30px);
}
@media (max-width: 767px) {
  .footer_menu .menu-item {
    font-size: clamp(15px, 4vw, 18.75px);
    padding-bottom: clamp(30px, 8vw, 37.5px);
  }
}
.footer_menu .menu-item a {
  color: white;
  text-decoration: none;
}
.footer_menu .menu-item .child {
  display: block;
  list-style: none;
  margin: 0;
  padding-left: 0;
  padding-top: clamp(15px, 20 / var(--size-base) * 100vw, 20px);
  padding-left: clamp(52.5px, 70 / var(--size-base) * 100vw, 70px);
}
.footer_menu .menu-item .child a {
  font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
  text-decoration: none;
  padding-bottom: 14px;
  display: block;
}
@media (max-width: 767px) {
  .footer_menu .menu-item .child {
    padding-top: clamp(20px, 5.3333333333vw, 25px);
    padding-left: clamp(16px, 4.2666666667vw, 20px);
  }
  .footer_menu .menu-item .child a {
    font-size: clamp(13px, 3.4666666667vw, 16.25px);
    text-decoration: none;
    padding-bottom: clamp(14px, 3.7333333333vw, 17.5px);
    display: block;
  }
  .footer_menu .menu-item .child li:last-of-type a {
    padding-bottom: 0;
  }
}

.copyright {
  font-size: 12px;
  font-family: "Quicksand", sans-serif;
  margin: 0;
  padding-top: clamp(48px, 64 / var(--size-base) * 100vw, 64px);
  padding-bottom: clamp(22px, 30 / var(--size-base) * 100vw, 30px);
}
@media (max-width: 767px) {
  .copyright {
    padding: clamp(20px, 5.3333333333vw, 25px) 0;
  }
}

#gotop {
  position: fixed;
  background: white;
  width: clamp(60px, 80 / var(--size-base) * 100vw, 80px);
  height: clamp(60px, 80 / var(--size-base) * 100vw, 80px);
  display: block;
  margin-left: auto;
  z-index: 500;
  bottom: 0;
  right: 0;
}
#gotop a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  outline: none;
}
#gotop a:hover {
  opacity: 1;
  cursor: pointer;
}
#gotop img {
  width: clamp(10px, 10 / var(--size-base) * 100vw, 10px);
  height: clamp(16px, 16 / var(--size-base) * 100vw, 16px);
}

/*------------------*/
/* top */
/*------------------*/
.home .mv {
  position: relative;
  margin: 0 auto;
  width: 100%;
}
@media (min-width: 1000px) {
  .home .mv {
    width: clamp(1050px, 1400 / var(--size-base) * 100vw, 1400px);
  }
}
@media (max-width: 530px) {
  .home .mv {
    overflow: hidden;
  }
}
.home .mv:after {
  content: "";
  display: block;
  background: url(./images/mv_top_bg_pc.svg) no-repeat;
  position: absolute;
  z-index: -1;
  width: clamp(517.5px, 690 / var(--size-base) * 100vw, 690px);
  height: clamp(330.75px, 441 / var(--size-base) * 100vw, 441px);
  top: clamp(75px, 100 / var(--size-base) * 100vw, 100px);
  left: clamp(60.75px, 81 / var(--size-base) * 100vw, 81px);
}
@media (max-width: 767px) {
  .home .mv:after {
    background: url(./images/mv_top_bg_sp_2.svg) no-repeat;
    background-size: contain;
    top: 10%;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (max-width: 530px) {
  .home .mv:after {
    width: 100%;
    top: clamp(80px, 21.3333333333vw, 100px);
    left: clamp(30px, 8vw, 37.5px);
    transform: none;
  }
}
.home .mv .container {
  margin-right: auto;
  margin-left: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
@media (min-width: 1000px) {
  .home .mv .container {
    width: clamp(855px, 1140 / var(--size-base) * 100vw, 1140px);
    padding: clamp(45px, 60 / var(--size-base) * 100vw, 60px) 0;
  }
}
@media (max-width: 999px) {
  .home .mv .container {
    padding: clamp(75px, 100 / var(--size-base) * 100vw, 100px) clamp(15px, 25 / var(--size-base) * 100vw, 25px) clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  }
}
@media (max-width: 767px) {
  .home .mv .container {
    flex-direction: column;
  }
}
.home .mv .mv_image {
  width: 63%;
  position: relative;
  margin-right: clamp(-52.5px, -70 / var(--size-base) * 100vw, -70px);
}
@media (min-width: 1200px) {
  .home .mv .mv_image {
    width: 657px;
    margin-right: clamp(-72px, -96 / var(--size-base) * 100vw, -96px);
  }
}
@media (max-width: 999px) {
  .home .mv .mv_image {
    width: 50%;
    height: auto;
    margin-right: clamp(-15px, -20 / var(--size-base) * 100vw, -20px);
  }
}
@media (max-width: 767px) {
  .home .mv .mv_image {
    width: 100%;
    order: 1;
  }
}
.home .mv .mv_text {
  padding-left: var(--gutter-m);
}
.home .mv .mv_text p {
  font-weight: 500;
  font-size: clamp(13.5px, 18 / var(--size-base) * 100vw, 18px);
  margin-top: clamp(30px, 40 / var(--size-base) * 100vw, 40px);
}
@media (max-width: 767px) {
  .home .mv .mv_text p {
    font-size: clamp(18px, 4.8vw, 22.5px);
    margin-top: clamp(30px, 8vw, 37.5px);
  }
}
@media (max-width: 767px) {
  .home .mv .mv_text {
    width: 100%;
    order: 2;
	  padding-left: var(--gutter-xs);
  }
}
@media (min-width: 1000px) {
  .home .mv .title01_en {
    font-size: clamp(53px, 70 / var(--size-base) * 100vw, 70px);
    padding-bottom: clamp(18px, 24 / var(--size-base) * 100vw, 24px);
  }
}
@media (max-width: 999px) {
  .home .mv .title01_en {
    font-size: clamp(48px, 65 / var(--size-base) * 100vw, 65px);
    padding-bottom: clamp(20px, 26 / var(--size-base) * 100vw, 26px);
  }
}
.home .mv .title01_ja {
  font-size: clamp(24px, 32 / var(--size-base) * 100vw, 32px);
  line-height: 1.4;
  letter-spacing: 0.2em;
	    color: #007dbc;
}
@media (max-width: 767px) {
  .home .mv .title01_ja {
    font-size: clamp(27px, 7.2vw, 33.75px);
  }
}
.home .sec {
  padding-top: clamp(52.5px, 70 / var(--size-base) * 100vw, 70px);
}
@media (max-width: 999px) {
  .home .sec {
    padding-left: var(--gutter-xs);
    padding-right: var(--gutter-xs);
  }
}
@media (max-width: 767px) {
  .home .sec {
    padding-top: clamp(50px, 13.3333333333vw, 62.5px);
  }
}
.home .sec .title01_en {
  font-size: clamp(37.5px, 50 / var(--size-base) * 100vw, 50px);
}
.home .title01_ja {
  font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
}
@media (max-width: 767px) {
  .home .title01_ja {
    font-size: clamp(13px, 3.4666666667vw, 16.25px);
  }
}
.home .button {
  background: #007dbc;
  color: white;
  width: clamp(168px, 224 / var(--size-base) * 100vw, 224px);
  height: clamp(30px, 40 / var(--size-base) * 100vw, 40px);
  line-height: clamp(30px, 40 / var(--size-base) * 100vw, 40px);
  font-size: clamp(12px, 16 / var(--size-base) * 100vw, 16px);
}
@media (max-width: 767px) {
  .home .button {
    width: clamp(250px, 66.6666666667vw, 312.5px);
    height: clamp(60px, 16vw, 75px);
    line-height: clamp(60px, 16vw, 75px);
    font-size: clamp(18px, 4.8vw, 22.5px);
  }
}
.home .button_en {
  font-family: "Quicksand", sans-serif;
  font-weight: 400;
}
@media (max-width: 767px) {
  .home .button_en {
    --button-fz: 20px;
  }
}

/* about */
.top_about {
  position: relative;
}
@media (max-width: 767px) {
  .top_about {
    height: auto;
  }
  .top_about:after {
    content: "";
    width: 1px;
    height: 60px;
    background: #007dbc;
    display: inline-block;
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 50;
  }
}
.top_about .sec {
  position: relative;
}
.top_about .sec:before {
  content: "";
  display: block;
  background: #e4f1f9;
  width: calc(1330 / var(--size-base) * 100vw);
  height: clamp(408.75px, 545 / var(--size-base) * 100vw, 545px);
  border-radius: 0 clamp(75px, 100 / var(--size-base) * 100vw, 100px) 0 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media (max-width: 999px) {
  .top_about .sec:before {
    width: 100%;
    height: 80%;
  }
}
@media (max-width: 767px) {
  .top_about .sec:before {
    border-radius: 0 clamp(37.5px, 50 / var(--size-base) * 100vw, 50px) 0 0;
    height: 100%;
  }
}
.top_about p {
  font-weight: 500;
  margin: 0;
  letter-spacing: 0.05em;
  font-size: clamp(15px, 20 / var(--size-base) * 100vw, 20px);
  padding: clamp(45px, 60 / var(--size-base) * 100vw, 60px) 0;
}
@media (max-width: 999px) {
  .top_about p {
    padding-bottom: var(--gutter-m);
  }
}
@media (max-width: 767px) {
  .top_about p {
    font-size: clamp(18px, 4.8vw, 22.5px);
    padding-top: clamp(40px, 10.6666666667vw, 50px);
    padding-bottom: clamp(40px, 10.6666666667vw, 50px);
  }
}
.top_about .container {
  position: relative;
}

.top_about_text {
  width: 50%;
  padding-left: clamp(30px, 40 / var(--size-base) * 100vw, 40px);
  position: absolute;
  right: 0;
  top: 0;
}
@media (max-width: 767px) {
  .top_about_text {
    width: 100%;
    position: relative;
    padding: var(--gutter-xs);
  }
}
@media (max-width: 767px) {
  .top_about_text .button_en {
    margin-right: 0;
  }
}

@media (max-width: 767px) {
  .top_about_image {
    padding: clamp(40px, 10.6666666667vw, 50px) 0;
  }
  .top_about_image img {
    width: calc(100% + 30px);
    margin-left: -30px;
  }
}

/* info */
.top_info {
  padding-bottom: clamp(75px, 100 / var(--size-base) * 100vw, 100px);
}
@media (max-width: 767px) {
  .top_info {
    padding-bottom: clamp(65px, 17.3333333333vw, 81.25px);
  }
}
.top_info .button {
  margin-left: auto;
}
.top_info .button:after {
  width: 14px;
  height: 14px;
}
@media (max-width: 767px) {
  .top_info .button:after {
    width: 16px;
    height: 16px;
  }
}
@media (max-width: 767px) {
  .top_info .button {
    margin-right: 0;
  }
}
.top_info .container {
  padding: var(--gutter-xs);
}

.list_info {
  border-bottom: 1px solid #c2c2c2;
  padding-top: clamp(37.5px, 50 / var(--size-base) * 100vw, 50px);
  margin-bottom: clamp(37.5px, 50 / var(--size-base) * 100vw, 50px);
}
@media (max-width: 767px) {
  .list_info {
    padding-top: clamp(50px, 13.3333333333vw, 62.5px);
    margin-bottom: clamp(40px, 10.6666666667vw, 50px);
  }
}
.list_info a {
  text-decoration: none;
  display: flex;
  align-items: center;
  color: #000000;
}
.list_info dl {
  border-top: 1px solid #c2c2c2;
  margin: 0;
  padding: clamp(19.5px, 26 / var(--size-base) * 100vw, 26px);
}
@media (max-width: 767px) {
  .list_info dl {
    padding: clamp(20px, 5.3333333333vw, 25px) clamp(10px, 2.6666666667vw, 12.5px);
  }
}
.list_info dt {
  color: #007dbc;
  font-family: "Quicksand", sans-serif;
  font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
  font-weight: 500;
}
@media (max-width: 767px) {
  .list_info dt {
    font-size: clamp(13px, 3.4666666667vw, 16.25px);
  }
}
.list_info dd {
  margin: 0;
  padding-left: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  font-weight: 500;
}

/* ecotopics */
.top_ecotopics .sec {
  position: relative;
}
.top_ecotopics .sec:before {
  content: "";
  display: block;
  background: #e4f1f9;
  width: 100%;
  height: 100%;
  border-radius: clamp(75px, 100 / var(--size-base) * 100vw, 100px) 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media (max-width: 767px) {
  .top_ecotopics .sec:before {
    border-radius: 0 clamp(37.5px, 50 / var(--size-base) * 100vw, 50px) 0 0;
    height: 100%;
  }
}
.top_ecotopics .title h2 {
  flex-shrink: 0;
}
.top_ecotopics .title p {
  margin: 0;
  padding-left: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
}
@media (max-width: 767px) {
  .top_ecotopics .title p {
    padding-top: clamp(40px, 10.6666666667vw, 50px);
    scroll-padding-bottom: clamp(40px, 10.6666666667vw, 50px);
    font-weight: 500;
    padding-left: 0;
  }
}
.top_ecotopics .label {
  background: #007dbc;
}

/* business */
.top_business .title h2 {
  flex-shrink: 0;
}
.top_business .title p {
  margin: 0;
  padding-left: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
}
@media (max-width: 767px) {
  .top_business .title p {
    padding-top: clamp(40px, 10.6666666667vw, 50px);
    scroll-padding-bottom: clamp(40px, 10.6666666667vw, 50px);
    font-weight: 500;
    padding-left: 0;
  }
}

.top_business_list {
  list-style: none;
  padding-left: 0;
  margin: 0;
  margin-top: clamp(60px, 80 / var(--size-base) * 100vw, 80px);
}
@media (max-width: 767px) {
  .top_business_list {
    margin-top: clamp(50px, 13.3333333333vw, 62.5px);
  }
}
.top_business_list h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(112.5px, 150 / var(--size-base) * 100vw, 150px);
  height: clamp(112.5px, 150 / var(--size-base) * 100vw, 150px);
  border-radius: 9999px;
  background: white;
  border: 3px solid #007dbc;
  flex-shrink: 0;
  margin-top: clamp(-37.5px, -50 / var(--size-base) * 100vw, -50px);
  margin-left: auto;
  margin-right: auto;
}
.top_business_list h3 span {
  display: block;
  color: #007dbc;
  line-height: 1.35;
  font-size: clamp(15px, 20 / var(--size-base) * 100vw, 20px);
  letter-spacing: 0.03em;
  text-align: center;
}
@media (max-width: 767px) {
  .top_business_list h3 {
    position: relative;
    width: clamp(150px, 40vw, 187.5px);
    height: clamp(150px, 40vw, 187.5px);
    margin-top: clamp(-20px, -5.3333333333vw, -25px);
  }
  .top_business_list h3:after {
    content: "";
    width: clamp(66px, 17.6vw, 82.5px);
    height: clamp(47px, 12.5333333333vw, 58.75px);
    display: block;
    position: absolute;
    bottom: -20%;
    left: 50%;
    transform: translateX(-50%);
  }
  .top_business_list h3 span {
    font-size: clamp(20px, 5.3333333333vw, 25px);
  }
}
.top_business_list li {
  background-repeat: no-repeat;
  color: white;
  position: relative;
  width: 25%;
  padding: 0 clamp(33px, 44 / var(--size-base) * 100vw, 44px);
}
@media (max-width: 767px) {
  .top_business_list li {
    align-items: center;
    width: 100%;
    min-height: 0;
    height: auto;
    padding: clamp(30px, 8vw, 37.5px) clamp(10px, 2.6666666667vw, 12.5px);
    display: flex;
    align-items: center;
  }
}
.top_business_list li:nth-of-type(1) {
  background-image: url(./images/image_top_business_01_pc@2x.jpg);
}
.top_business_list li:nth-of-type(1):after {
  content: "";
  background: url(./images/icon_top_business_01.svg) no-repeat;
  width: clamp(99px, 132 / var(--size-base) * 100vw, 132px);
  height: clamp(70.5px, 94 / var(--size-base) * 100vw, 94px);
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .top_business_list li:nth-of-type(1):after {
    content: none;
  }
}
@media (max-width: 767px) {
  .top_business_list li:nth-of-type(1) {
    background-image: url(./images/image_top_business_01_sp@2x.jpg);
    background-size: cover;
  }
  .top_business_list li:nth-of-type(1) h3 {
    position: relative;
  }
  .top_business_list li:nth-of-type(1) h3:after {
    content: "";
    background: url(./images/icon_top_business_01.svg) no-repeat;
    width: clamp(49.5px, 66 / var(--size-base) * 100vw, 66px);
    height: clamp(35.25px, 47 / var(--size-base) * 100vw, 47px);
    display: block;
    position: absolute;
    bottom: -20%;
    left: 50%;
  }
}
.top_business_list li:nth-of-type(2) {
  background-image: url(./images/image_top_business_02_pc@2x.jpg);
}
.top_business_list li:nth-of-type(2):after {
  content: "";
  background: url(./images/icon_top_business_02.svg) no-repeat;
  width: clamp(107.25px, 143 / var(--size-base) * 100vw, 143px);
  height: clamp(60px, 80 / var(--size-base) * 100vw, 80px);
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .top_business_list li:nth-of-type(2):after {
    content: none;
  }
}
@media (max-width: 767px) {
  .top_business_list li:nth-of-type(2) {
    background-image: url(./images/image_top_business_02_sp@2x.jpg);
    background-size: cover;
  }
  .top_business_list li:nth-of-type(2) h3 {
    position: relative;
    order: 2;
  }
  .top_business_list li:nth-of-type(2) h3:after {
    content: "";
    background: url(./images/icon_top_business_02.svg) no-repeat;
    width: clamp(56.25px, 75 / var(--size-base) * 100vw, 75px);
    height: clamp(31.5px, 42 / var(--size-base) * 100vw, 42px);
    display: block;
    position: absolute;
    bottom: -14%;
    left: 50%;
    transform: translateX(-50%);
  }
}
.top_business_list li:nth-of-type(3) {
  background-image: url(./images/image_top_business_03_pc@2x.jpg);
}
.top_business_list li:nth-of-type(3):after {
  content: "";
  background: url(./images/icon_top_business_03.svg) no-repeat;
  width: clamp(68.25px, 91 / var(--size-base) * 100vw, 91px);
  height: clamp(69.75px, 93 / var(--size-base) * 100vw, 93px);
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .top_business_list li:nth-of-type(3):after {
    content: none;
  }
}
@media (max-width: 767px) {
  .top_business_list li:nth-of-type(3) {
    background-image: url(./images/image_top_business_03_sp@2x.jpg);
    background-size: cover;
  }
  .top_business_list li:nth-of-type(3) h3 {
    position: relative;
  }
  .top_business_list li:nth-of-type(3) h3:after {
    content: "";
    background: url(./images/icon_top_business_03.svg) no-repeat;
    width: clamp(40.5px, 54 / var(--size-base) * 100vw, 54px);
    height: clamp(41.25px, 55 / var(--size-base) * 100vw, 55px);
    display: block;
    position: absolute;
    bottom: -20%;
    left: 50%;
    transform: translateX(-50%);
  }
}
.top_business_list li:nth-of-type(4) {
  background-image: url(./images/image_top_business_04_pc@2x.jpg);
}
.top_business_list li:nth-of-type(4):after {
  content: "";
  background: url(./images/icon_top_business_04.svg) no-repeat;
  width: clamp(110.25px, 147 / var(--size-base) * 100vw, 147px);
  height: clamp(59.25px, 79 / var(--size-base) * 100vw, 79px);
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .top_business_list li:nth-of-type(4):after {
    content: none;
  }
}
@media (max-width: 767px) {
  .top_business_list li:nth-of-type(4) {
    background-image: url(./images/image_top_business_01_sp@2x.jpg);
    background-size: cover;
  }
  .top_business_list li:nth-of-type(4) h3 {
    position: relative;
    order: 2;
  }
  .top_business_list li:nth-of-type(4) h3:after {
    content: "";
    background: url(./images/icon_top_business_04.svg) no-repeat;
    width: clamp(60px, 80 / var(--size-base) * 100vw, 80px);
    height: clamp(32.25px, 43 / var(--size-base) * 100vw, 43px);
    display: block;
    position: absolute;
    bottom: -20%;
    left: 50%;
    transform: translateX(-50%);
  }
}
.top_business_list .wrapper {
  flex-grow: 1;
  padding-bottom: clamp(75px, 100 / var(--size-base) * 100vw, 100px);
}
@media (max-width: 767px) {
  .top_business_list .wrapper {
    padding-bottom: 0;
  }
}
.top_business_list p {
  margin-top: clamp(30px, 40 / var(--size-base) * 100vw, 40px);
}
@media (max-width: 767px) {
  .top_business_list p {
    margin-top: 0;
    padding-left: clamp(16px, 4.2666666667vw, 20px);
    font-size: clamp(13px, 3.4666666667vw, 16.25px);
  }
}
.top_business_list .link_more {
  text-align: right;
}
@media (max-width: 767px) {
  .top_business_list .link_more {
    text-align: center;
    margin-bottom: clamp(10px, 2.6666666667vw, 12.5px);
  }
}
.top_business_list .link_more a {
  --link_more-color: white;
  font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
}
@media (max-width: 767px) {
  .top_business_list .link_more a {
    font-size: clamp(25px, 6.6666666667vw, 31.25px);
  }
}

/* casestudy */
.top_casestudy {
  padding-bottom: clamp(105px, 140 / var(--size-base) * 100vw, 140px);
}
@media (max-width: 767px) {
  .top_casestudy {
    padding-bottom: var(--gutter-s);
  }
}
.top_casestudy .title h2 {
  flex-shrink: 0;
}
.top_casestudy .title p {
  margin: 0;
  padding-left: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
  padding-top: clamp(7.5px, 10 / var(--size-base) * 100vw, 10px);
}
@media (max-width: 767px) {
  .top_casestudy .title p {
    padding-top: clamp(40px, 10.6666666667vw, 50px);
    scroll-padding-bottom: clamp(40px, 10.6666666667vw, 50px);
    font-weight: 500;
    padding-left: 0;
  }
}
.top_casestudy .label {
  background: #35bc31;
}
.top_casestudy .title a {
  font-size: clamp(13.5px, 18 / var(--size-base) * 100vw, 18px);
}
@media (max-width: 530px) {
  .top_casestudy .title a {
    font-size: 16px;
  }
}
.top_casestudy .tag a {
  display: block;
  padding-top: clamp(18px, 24 / var(--size-base) * 100vw, 24px);
  text-decoration: none;
}
.top_casestudy .button {
  margin: auto;
}
.top_casestudy .button:after {
  width: 14px;
  height: 14px;
}
@media (max-width: 767px) {
  .top_casestudy .button:after {
    width: 16px;
    height: 16px;
  }
}

/* recruit */
.top_recruit {
  width: 100%;
  height: 0;
  position: relative;
  padding-bottom: 30%;
  background: url(./images/image_top_recruit_01_pc@2x.png) no-repeat center center;
  background-size: cover;
}
@media (max-width: 999px) {
  .top_recruit {
    padding-bottom: 46%;
  }
}
@media (max-width: 767px) {
  .top_recruit {
    height: auto;
    background: url(./images/image_top_recruit_01_sp.png) no-repeat bottom center;
    background-size: contain;
  }
}

.top_recruit_text .button_en:after {
  width: 14px;
  height: 14px;
}
@media (max-width: 767px) {
  .top_recruit_text .button_en:after {
    width: 16px;
    height: 16px;
  }
}
@media (max-width: 767px) {
  .top_recruit_text .button_en {
    margin-top: clamp(37.5px, 50 / var(--size-base) * 100vw, 50px);
    margin-right: 0;
  }
}

/* contact */
.top_contact .sec {
  padding-top: clamp(90px, 120 / var(--size-base) * 100vw, 120px);
  padding-bottom: clamp(150px, 200 / var(--size-base) * 100vw, 200px);
}
@media (max-width: 767px) {
  .top_contact .sec {
    padding-top: clamp(65px, 17.3333333333vw, 81.25px);
    padding-bottom: clamp(65px, 17.3333333333vw, 81.25px);
  }
}

.top_contact_wrapper {
  border: 1px solid #007dbc;
  align-items: center;
  display: flex;
  padding: clamp(34.5px, 46 / var(--size-base) * 100vw, 46px) clamp(30px, 40 / var(--size-base) * 100vw, 40px);
}
@media (max-width: 999px) {
  .top_contact_wrapper {
    display: block;
    padding: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
  }
}
@media (max-width: 767px) {
  .top_contact_wrapper {
    padding: clamp(30px, 40 / var(--size-base) * 100vw, 40px);
  }
}

@media (max-width: 530px) {
  .top_contact_wrapper {
    padding: clamp(20px, 30 / var(--size-base) * 100vw, 30px);
  }
}

.top_contact_info {
  padding: 0 clamp(22.5px, 30 / var(--size-base) * 100vw, 30px) 0 0;
  border-right: 1px solid #007dbc;
}
.top_contact_info p {
  margin-bottom: 0;
}
@media (max-width: 999px) {
  .top_contact_info {
    border-bottom: 1px solid #007dbc;
    border-right: none;
    padding: 0 0 clamp(20px, 5.3333333333vw, 25px) 0;
  }
}

.top_contact_link {
  font-weight: 500;
  padding: 0 clamp(30px, 40 / var(--size-base) * 100vw, 40px);
}
@media (max-width: 999px) {
  .top_contact_link {
    padding: clamp(30px, 40 / var(--size-base) * 100vw, 40px) 0 0 0;
  }
}
.top_contact_link ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.top_contact_link li {
  padding-bottom: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
}
.top_contact_link li:first-of-type .top_contact_icon {
  width: clamp(21px, 28 / var(--size-base) * 100vw, 28px);
  height: clamp(13.5px, 18 / var(--size-base) * 100vw, 18px);
}
@media (max-width: 767px) {
  .top_contact_link li:first-of-type .top_contact_icon {
    width: clamp(31px, 8.2666666667vw, 38.75px);
    height: clamp(20px, 5.3333333333vw, 25px);
    margin-right: clamp(10px, 2.6666666667vw, 12.5px);
  }
}
.top_contact_link li:last-of-type {
  padding-bottom: 0;
}
.top_contact_link li:last-of-type .top_contact_icon {
  width: clamp(21px, 28 / var(--size-base) * 100vw, 28px);
  height: clamp(21px, 28 / var(--size-base) * 100vw, 28px);
}
@media (max-width: 767px) {
  .top_contact_link li:last-of-type .top_contact_icon {
    width: clamp(20px, 5.3333333333vw, 25px);
    height: clamp(20px, 5.3333333333vw, 25px);
  }
}
.top_contact_link a {
  display: flex;
  align-items: center;
  border: 1px solid #007dbc;
  text-decoration: none;
  text-align: center;
  color: #000000;
  margin-top: 10px;
  border-radius: 9999px;
  width: clamp(307.5px, 410 / var(--size-base) * 100vw, 410px);
  height: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
  line-height: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
    justify-content: center;
    gap: 20px;
}
@media (max-width: 767px) {
  .top_contact_link a {
    justify-content: center;
    width: 100%;
    height: clamp(60px, 16vw, 75px);
    line-height: clamp(60px, 16vw, 75px);
    padding: 0 10px;
  }
}
@media (max-width: 530px) {
 .top_contact_link a {
    gap: 10px;
	}
}
.top_contact_link .number {
  font-size: clamp(18px, 24 / var(--size-base) * 100vw, 24px);
}
@media (max-width: 767px) {
  .top_contact_link .number {
    font-size: clamp(19px, 5.0666666667vw, 23.75px);
    padding: 0 clamp(6px, 1.6vw, 7.5px);
  }
}
@media (max-width: 530px) {
 .top_contact_link .number {
	 line-height: 1;
    font-size: 15px;
	 font-weight: 700;
  }
}
.top_contact_link .hour {
  text-align: left;
  font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
  padding-right: clamp(12px, 16 / var(--size-base) * 100vw, 16px);
}
@media (max-width: 767px) {
  .top_contact_link .hour {
    font-size: clamp(12px, 3.2vw, 15px);
    line-height: 1.2;
  }
}
.top_contact_link .hour br {
  display: none;
}
@media (max-width: 767px) {
  .top_contact_link .hour br {
    display: block;
  }
}

/* top list */
.swiper {
  width: 100%;
}

/*スライドが非アクティブのときは矢印ボタンを非表示にする*/
.swiper:not(.swiper-initialized) .swiper-button-prev,
.swiper:not(.swiper-initialized) .swiper-button-next {
  display: none;
}

/*スライドが非アクティブのとき,スライドをgridレイアウトに変更*/
.swiper:not(.swiper-initialized) .swiper-wrapper {
  display: grid;
}

.top_list {
  width: clamp(750px, 1000 / var(--size-base) * 100vw, 1000px);
  margin-right: auto;
  margin-left: auto;
  padding-top: clamp(30px, 40 / var(--size-base) * 100vw, 40px);
  padding-bottom: clamp(52.5px, 70 / var(--size-base) * 100vw, 70px);
}
.top_list .swiper:not(.swiper-initialized) .swiper-wrapper {
  grid-template-columns: repeat(auto-fill, 23%);
  column-gap: 2.6%;
  row-gap: clamp(30px, 40 / var(--size-base) * 100vw, 40px);
}
@media (max-width: 767px) {
  .top_list .swiper:not(.swiper-initialized) .swiper-wrapper {
    grid-template-columns: repeat(auto-fit, 48%);
    column-gap: 4%;
    row-gap: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  }
}
@media (max-width: 999px) {
  .top_list {
    width: 100%;
    padding-right: var(--gutter-s);
    padding-left: var(--gutter-s);
  }
}
@media (max-width: 767px) {
  .top_list {
    padding-right: clamp(15px, 25 / var(--size-base) * 100vw, 25px);
    padding-left: clamp(15px, 25 / var(--size-base) * 100vw, 25px);
  }
}
@media (max-width: 530px) {
  .top_list {
    padding-left: clamp(50px, 13.3333333333vw, 62.5px);
  }
}
.top_list .label {
  display: block;
  position: relative;
  z-index: 10;
  margin: 0 auto;
}
.top_list .image {
  display: block;
  margin-top: clamp(-12px, -16 / var(--size-base) * 100vw, -16px);
}
.top_list .image img {
  width: auto;
  height: clamp(180px, 240 / var(--size-base) * 100vw, 240px);
  object-fit: cover;
  border-radius: 20px;
}
@media (max-width: 767px) {
  .top_list .image img {
    height: 240px;
  }
}
.top_list .date {
  display: block;
  font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
  padding-top: clamp(18px, 24 / var(--size-base) * 100vw, 24px);
  font-weight: 400;
  color: #007dbc;
}
.top_list .title a {
  display: block;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  color: #000000;
/*   padding-top: clamp(12px, 16 / var(--size-base) * 100vw, 16px); */
/*   overflow: hidden; */
/*   white-space: nowrap; */
/*   text-overflow: ellipsis; */
line-height: 1.4;	
}
.top_list .link_more {
  text-align: right;
  padding-top: clamp(11.25px, 15 / var(--size-base) * 100vw, 15px);
}
@media (max-width: 530px) {
  .top_list .link_more {
    text-align: center;
  }
}

@media (max-width: 530px) {
  .swiper-slide {
    max-width: clamp(220px, 58.6666666667vw, 275px);
    padding-bottom: clamp(60px, 16vw, 75px);
  }
}
.swiper-slide a {
  text-decoration: none;
}

@media (max-width: 530px) {
  .swiper-pagination-bullet {
    width: 20px;
    height: 20px;
  }
}

/*------------------*/
/* page */
/*------------------*/
/* common */
:root {
  --page_sec-padding: clamp(97.5px, calc(130 / var(--size-base) * 100vw), 130px);
  --page_bg-color: #e4f1f9;
}
@media (max-width: 767px) {
  :root {
    --page_sec-padding: clamp(60px, calc(80 / var(--size-base) * 100vw), 80px);
  }
}

/* page common */
.page .sec {
  padding-top: var(--page_sec-padding);
  padding-bottom: var(--page_sec-padding);
}
.page .bg {
  background: var(--page_bg-color);
}
.page .bg_inner {
  background: white;
  border-radius: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  width: clamp(855px, 1140 / var(--size-base) * 100vw, 1140px);
  margin: 0 auto;
  padding: clamp(52.5px, 70 / var(--size-base) * 100vw, 70px);
}
@media (max-width: 767px) {
  .page .bg_inner {
    padding: clamp(35px, 9.3333333333vw, 43.75px) 0;
    width: 90%;
    margin: 0 auto;
  }
}
.page .button_gmap {
  display: block;
  font-family: "Quicksand", sans-serif;
  font-size: clamp(12px, 16 / var(--size-base) * 100vw, 16px);
  width: clamp(135px, 180 / var(--size-base) * 100vw, 180px);
  height: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  line-height: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  background: #35bc31;
  color: white;
  text-align: center;
  text-decoration: none;
  border-radius: clamp(11.25px, 15 / var(--size-base) * 100vw, 15px);
  margin-top: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
}
@media (max-width: 767px) {
  .page .button_gmap {
    margin-top: clamp(10px, 2.6666666667vw, 12.5px);
    font-size: clamp(14px, 3.7333333333vw, 17.5px);
  }
}
.page .dl_style01 {
  display: flex;
  justify-content: space-between;
  gap: var(--gutter-xs);
}
@media (min-width: 1000px) {
  .page .dl_style01 {
    gap: clamp(37.5px, 50 / var(--size-base) * 100vw, 50px);
  }
}
@media (max-width: 767px) {
  .page .dl_style01 {
    display: block;
  }
}
.page .dl_style01 dl {
  background: #e4f1f9;
  border-radius: clamp(15px, 20 / var(--size-base) * 100vw, 20px);
  padding: var(--gutter-xs);
  width: 33.3333333333%;
}
@media (max-width: 767px) {
  .page .dl_style01 dl {
    padding: var(--gutter-s);
    width: 100%;
    margin-bottom: clamp(30px, 40 / var(--size-base) * 100vw, 40px);
  }
}
.page .dl_style01 dt {
  color: #007dbc;
  position: relative;
  line-height: 1.4;
  text-align: center;
  width: calc(100% + var(--gutter-xs) * 2);
  font-size: clamp(18px, 24 / var(--size-base) * 100vw, 24px);
  margin: calc(clamp(34.5px, 46 / var(--size-base) * 100vw, 46px) * -1) calc(var(--gutter-xs) * -1) clamp(15px, 20 / var(--size-base) * 100vw, 20px);
}
@media (max-width: 767px) {
  .page .dl_style01 dt {
    font-size: clamp(18px, 4.8vw, 22.5px);
    margin: calc(clamp(30px, 8vw, 37.5px) * -1) calc(var(--gutter-xs) * -1) clamp(10px, 2.6666666667vw, 12.5px);
  }
}
.page .dl_style01 dd {
  line-height: 1.75;
  margin: 0;
}

/* company */
.company .mv_image {
  --header_mv-width: 521px;
  --header_mv-height: 457px;
}

@media (max-width: 767px) {
  .company_address_table td:nth-of-type(2) {
    border-bottom: none;
  }
}
.company_address_table td:nth-of-type(3) {
  width: 40%;
  padding: clamp(15px, 20 / var(--size-base) * 100vw, 20px);
}
@media (max-width: 767px) {
  .company_address_table td:nth-of-type(3) {
    width: 100%;
    padding: clamp(10px, 2.6666666667vw, 12.5px);
  }
}
.company_address_table td:nth-of-type(3) img {
  vertical-align: bottom;
}
@media (max-width: 767px) {
  .company_address_table td:nth-of-type(3) img {
    width: 100%;
    max-width: 100%;
  }
}

.company_enkaku_table td {
  padding: clamp(15px, 20 / var(--size-base) * 100vw, 20px);
}

#company_environment {
  padding-bottom: clamp(60px, 80 / var(--size-base) * 100vw, 80px);
}
@media (max-width: 767px) {
  #company_environment {
    padding-bottom: clamp(40px, 10.6666666667vw, 50px);
  }
}
#company_environment .lead {
  margin: 0;
  font-weight: 500;
  padding: clamp(52.5px, 70 / var(--size-base) * 100vw, 70px) 0;
}
@media (max-width: 767px) {
  #company_environment .lead {
    padding: clamp(20px, 5.3333333333vw, 25px) 0;
  }
}
@media (max-width: 767px) {
  #company_environment .has-text-align-center {
    text-align: left;
  }
}

.company_environment_column {
  gap: clamp(75px, 100 / var(--size-base) * 100vw, 100px);
}
@media (max-width: 767px) {
  .company_environment_column {
    gap: clamp(20px, 5.3333333333vw, 25px);
  }
}

#company_engineer ul {
  padding-left: 0;
  margin: 0;
  border-top: 1px solid #c2c2c2;
  border-bottom: 1px solid #c2c2c2;
  list-style: none;
  line-height: 1.9;
  columns: 2;
  padding: clamp(15px, 20 / var(--size-base) * 100vw, 20px) 0;
}
@media (max-width: 530px) {
  #company_engineer ul {
    padding: clamp(10px, 2.6666666667vw, 12.5px) 0;
    columns: 1;
  }
}

/* initiative */
.initiative .mv_image {
  --header_mv-width: 521px;
  --header_mv-height: 457px;
}
@media (min-width: 1000px) {
  .initiative .anchors ul {
    justify-content: center;
    gap: var(--gutter-s);
  }
}
@media (max-width: 530px) {
  .initiative .anchors ul {
    justify-content: flex-start;
  }
}
.initiative .left_padding {
  padding-left: var(--gutter-s);
}
.initiative .box {
  padding-bottom: var(--gutter-s);
}
.initiative .list_disc {
  padding-bottom: var(--gutter-xs);
  font-size: clamp(12px, 16 / var(--size-base) * 100vw, 16px);
}
@media (max-width: 767px) {
  .initiative .list_disc {
    font-size: clamp(14px, 3.7333333333vw, 17.5px);
  }
}
.initiative .content01 {
  padding-bottom: var(--gutter-s);
}
.initiative .content01 .image_align_left {
  align-items: center;
}
.initiative .content01 .image_align_left .image {
  --image-gap-size: clamp(40px, calc(50 / var(--size-base) * 100vw), 50px);
}
.initiative .content02 {
  --image-width: clamp(150px, calc(200 / var(--size-base) * 100vw), 200px);
  --image-gap-size: clamp(52px, calc(70 / var(--size-base) * 100vw), 70px);
  padding-bottom: 0;
}
.initiative .content02 .emphasis {
  font-size: clamp(21px, 28 / var(--size-base) * 100vw, 28px);
  margin-bottom: var(--gutter-xs);
}
@media (max-width: 767px) {
  .initiative .content02 .emphasis {
    font-size: clamp(20px, 5.3333333333vw, 25px);
  }
}
.initiative .content02 .image {
  padding-top: 0;
  padding-bottom: var(--gutter-m);
}
.initiative .content03 {
  --image-width: clamp(375px, calc(500 / var(--size-base) * 100vw), 500px);
  --image-gap-size: clamp(45px, calc(60 / var(--size-base) * 100vw), 60px);
}
.initiative .content03 .emphasis {
  font-weight: 700;
  font-size: clamp(16.5px, 22 / var(--size-base) * 100vw, 22px);
}
@media (max-width: 767px) {
  .initiative .content03 .emphasis {
    font-size: clamp(16px, 4.2666666667vw, 20px);
  }
}
.initiative .content04 {
  --image-width: clamp(112px, calc(150 / var(--size-base) * 100vw), 150px);
  --image-gap-size: clamp(52px, calc(70 / var(--size-base) * 100vw), 70px);
}
.initiative .content04 .image {
  margin-top: calc(clamp(37.5px, 50 / var(--size-base) * 100vw, 50px) * -1);
  margin-bottom: clamp(82.5px, 110 / var(--size-base) * 100vw, 110px);
}
@media (max-width: 767px) {
  .initiative .content04 .image {
    margin-top: 0;
    margin-bottom: clamp(55px, 14.6666666667vw, 68.75px);
  }
}
.initiative .content05 {
  --image-width: clamp(375px, calc(500 / var(--size-base) * 100vw), 500px);
  --image-gap-size: clamp(52px, calc(70 / var(--size-base) * 100vw), 70px);
}
.initiative .content06 {
  padding-bottom: 0;
}
.initiative .content06 .dl_list {
  display: flex;
  line-height: 1.4;
  font-size: clamp(16.5px, 22 / var(--size-base) * 100vw, 22px);
}
@media (max-width: 767px) {
  .initiative .content06 .dl_list {
    font-size: clamp(16px, 4.2666666667vw, 20px);
  }
}
.initiative .content06 .dl_list dd {
  font-weight: 700;
  margin: 0;
}
.initiative .content06 .dl_style01 {
  text-align: center;
  padding-top: var(--gutter-s);
  padding-bottom: var(--gutter-xxs);
}
.initiative .content06 .dl_style01 dd {
  font-weight: 700;
  font-size: clamp(13.5px, 18 / var(--size-base) * 100vw, 18px);
}
@media (max-width: 767px) {
  .initiative .content06 .dl_style01 dd {
    font-size: clamp(16px, 4.2666666667vw, 20px);
  }
}
.initiative .content06 .dl_style01 .text_blue {
  color: #007dbc;
  display: block;
  font-size: clamp(21px, 28 / var(--size-base) * 100vw, 28px);
}
@media (max-width: 767px) {
  .initiative .content06 .dl_style01 .text_blue {
    font-size: clamp(20px, 5.3333333333vw, 25px);
  }
}
.initiative .content06 .dl_style01 .number {
  font-size: clamp(27px, 36 / var(--size-base) * 100vw, 36px);
}
@media (max-width: 767px) {
  .initiative .content06 .dl_style01 .number {
    font-size: clamp(25px, 6.6666666667vw, 31.25px);
  }
}
.initiative .content07 ul {
  list-style: none;
  padding-left: 0;
  margin: var(--gutter-xs) 0;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .initiative .content07 ul {
    display: block;
    text-align: center;
  }
}
.initiative .content07 img {
  width: clamp(225px, 300 / var(--size-base) * 100vw, 300px);
}
@media (max-width: 767px) {
  .initiative .content07 img {
    padding-bottom: var(--gutter-xs);
  }
}
.initiative .annotation {
  text-align: right;
  margin: 0;
  font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
}
@media (max-width: 767px) {
  .initiative .annotation {
    font-size: clamp(10px, 2.6666666667vw, 12.5px);
  }
}
.initiative .gmap_image > div {
  width: 50%;
}
@media (max-width: 767px) {
  .initiative .gmap_image > div {
    width: 100%;
  }
}
.initiative .gmap_wrapper {
  max-width: 465px;
  width: 100%;
  margin: 0 auto;
  clip-path: inset(0 round 20px);
}
@media (max-width: 767px) {
  .initiative .gmap_wrapper {
    margin-bottom: calc(var(--image-gap-size) / 3);
  }
}
.initiative .gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 70.96%;
  position: relative;
}
.initiative .gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.initiative .button_area01 {
  padding: var(--gutter-xxs) 0;
}
.initiative .button_area02 {
  padding-top: var(--gutter-l);
  justify-content: center;
}
.initiative .button01 {
  --button-width: 224px;
  --button-height: 40px;
  --button-fz: 16px;
  background: #16b8c4;
  margin-right: var(--gutter-xxs);
  color: white;
}
@media (max-width: 767px) {
  .initiative .button01 {
    font-size: 16px;
    width: 84%;
    height: 40px;
    line-height: 40px;
    margin: 0 auto var(--gutter-xs) auto;
  }
}
.initiative .button02 {
  --button-width: 304px;
  --button-height: 40px;
  --button-fz: 16px;
  background: #35bc31;
  color: white;
}
@media (max-width: 767px) {
  .initiative .button02 {
    font-size: 16px;
    width: 84%;
    height: 40px;
    line-height: 40px;
    margin: 0 auto var(--gutter-xs) auto;
  }
}
.initiative .button03 {
  --button-width: 376px;
  --button-height: 60px;
  --button-fz: 24px;
  background: #007dbc;
  color: white;
  margin: 0 var(--gutter-xs);
}
@media (max-width: 767px) {
  .initiative .button03 {
    margin: 0 auto var(--gutter-xs) auto;
  }
}

.initiative_table {
  padding: var(--gutter-m) var(--gutter-s);
}
.initiative_table td:last-of-type {
  border-right: none;
}

.sdgs .sdgs_inner {
  background: white;
  padding: var(--gutter-l);
}
@media (min-width: 1000px) {
  .sdgs .sdgs_inner {
    padding: clamp(52.5px, 70 / var(--size-base) * 100vw, 70px) clamp(67.5px, 90 / var(--size-base) * 100vw, 90px);
  }
}
.sdgs .row {
  flex-wrap: wrap;
  justify-content: space-between;
}
.sdgs .box {
  padding: var(--gutter-xs);
  width: 50%;
}
@media (max-width: 767px) {
  .sdgs .box {
    width: 100%;
  }
}
.sdgs h3 {
  font-weight: 700;
  line-height: 1.4;
  padding-bottom: 10px;
  font-size: clamp(18px, 24 / var(--size-base) * 100vw, 24px);
  text-align: center;
  border-bottom: 1px solid #007dbc;
  margin-bottom: var(--gutter-xs);
}
@media (max-width: 767px) {
  .sdgs h3 {
    font-size: clamp(16px, 4.2666666667vw, 20px);
  }
}
.sdgs .list_disc {
  padding-left: 0;
  font-weight: 700;
  font-size: clamp(11.25px, 15 / var(--size-base) * 100vw, 15px);
  padding-bottom: 0;
}
@media (max-width: 767px) {
  .sdgs .list_disc {
    font-size: clamp(13px, 3.4666666667vw, 16.25px);
  }
}
.sdgs .list_disc li {
  padding-bottom: 8px;
}
@media (max-width: 530px) {
  .sdgs .list_disc li {
    text-indent: -13px;
    padding-left: 13px;
  }
}
.sdgs p {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.sdgs h4 {
  color: #007dbc;
  border: 1px solid #007dbc;
  padding: 5px;
  display: inline-block;
  margin-bottom: 10px;
}
.sdgs .icon_sdgs ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding-left: 0;
  padding: var(--gutter-xs) 0;
}
.sdgs .icon_sdgs li {
  list-style: none;
}
.sdgs .icon_sdgs img {
  width: 50px;
  height: 50px;
}

.sdgs_desc {
  display: flex;
  align-items: center;
  border: 1px solid #000;
  padding: 20px;
}
@media (max-width: 530px) {
  .sdgs_desc {
    display: block;
  }
}
.sdgs_desc .logo {
  width: clamp(114px, 152 / var(--size-base) * 100vw, 152px);
  margin-right: var(--gutter-xs);
}
@media (max-width: 530px) {
  .sdgs_desc .logo {
    width: 100%;
    text-align: center;
    padding-bottom: 10px;
  }
}
.sdgs_desc .contents {
  flex: 1;
}
.sdgs_desc .contents .text {
  font-size: 13px;
}
.sdgs_desc .contents img {
  width: 30px;
  height: 30px;
}
.sdgs_desc .contents ul {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.sdgs_desc .contents p {
  margin: 0 0 10px 0;
}

/* service */
.service .mv_image {
  --header_mv-width: 521px;
  --header_mv-height: 457px;
}
.service .sec01 {
  padding-bottom: clamp(105px, 140 / var(--size-base) * 100vw, 140px);
}
@media (max-width: 999px) {
  .service .sec01 {
    padding-bottom: clamp(40px, 10.6666666667vw, 50px);
  }
}
.service .sec01 .title02 {
  padding-bottom: 0;
}
.service .sec01 .wrapper {
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .service .sec01 .wrapper {
    overflow: hidden;
  }
}
.service .sec01 .text {
  width: 37.8%;
  position: absolute;
  z-index: 10;
  top: 17.4%;
  left: 54.4%;
}
@media (max-width: 999px) {
  .service .sec01 .text {
    width: auto;
  }
}
@media (max-width: 767px) {
  .service .sec01 .text {
    position: static;
    min-width: initial;
    width: 96%;
    margin: 0 auto;
    transform: none;
    padding-right: clamp(15px, 25 / var(--size-base) * 100vw, 25px);
    padding-left: clamp(15px, 25 / var(--size-base) * 100vw, 25px);
  }
}
.service .sec01 .image img {
  max-width: 1700px;
  margin-left: -21%;
}
@media (max-width: 1399px) {
  .service .sec01 .image img {
    width: 100%;
    margin-left: calc(100% - 110vw);
  }
}
.service .sec01 p {
  font-weight: 500;
  line-height: 2;
  font-size: clamp(21px, 28 / var(--size-base) * 100vw, 28px);
}
@media (max-width: 999px) {
  .service .sec01 p {
    font-size: clamp(16.5px, 22 / var(--size-base) * 100vw, 22px);
  }
}
@media (max-width: 767px) {
  .service .sec01 p {
    font-size: clamp(17px, 4.5333333333vw, 21.25px);
  }
}
.service .sec02 {
  padding-top: 0;
  padding-bottom: var(--gutter-l);
}
.service .sec02 .title02 {
  padding-top: var(--page_sec-padding);
}
.service .sec02 .title02:before {
  top: clamp(52.5px, 70 / var(--size-base) * 100vw, 70px);
}
@media (max-width: 767px) {
  .service .sec02 .title02:before {
    top: clamp(30px, 8vw, 37.5px);
  }
}
.service .sec02 .wrapper {
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .service .sec02 .wrapper {
    overflow: hidden;
  }
}
.service .sec02 .text {
  position: relative;
  z-index: 10;
}
@media (max-width: 999px) {
  .service .sec02 .text {
    width: 70%;
    margin: 0 auto;
  }
}
@media (max-width: 767px) {
  .service .sec02 .text {
    width: 80%;
    padding-top: var(--gutter-s);
    padding-bottom: var(--gutter-s);
  }
}
.service .sec02 .image {
  width: 100%;
  max-width: 1220px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
@media (max-width: 767px) {
  .service .sec02 .image {
    margin-left: calc(100% - 105vw);
    top: 0;
  }
}
.service .sec02 p {
  margin: 0;
  text-align: center;
  font-weight: 500;
  line-height: 2;
  font-size: clamp(21px, 28 / var(--size-base) * 100vw, 28px);
}
@media (max-width: 767px) {
  .service .sec02 p {
    font-size: clamp(17px, 4.5333333333vw, 21.25px);
    text-align-last: left;
  }
}
@media (max-width: 767px) {
  .service .sec02 {
    padding-bottom: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  }
}
.service .sec03 {
  position: relative;
  padding-bottom: 0;
}
.service .sec03:after {
  content: "";
  display: block;
  background: url(./images/bg_service_sec03_pc.svg) no-repeat;
  position: absolute;
  z-index: -1;
  width: clamp(1392px, 1856 / var(--size-base) * 100vw, 1856px);
  height: clamp(564.75px, 753 / var(--size-base) * 100vw, 753px);
  top: 40%;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 999px) {
  .service .sec03:after {
    width: 110%;
  }
}
@media (max-width: 767px) {
  .service .sec03:after {
    background: url(./images/bg_service_sec03_sp.svg) no-repeat;
    background-size: contain;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
  }
}
.service .sec03 .row {
  width: clamp(855px, 1140 / var(--size-base) * 100vw, 1140px);
  margin: 0 auto;
}
@media (max-width: 999px) {
  .service .sec03 .row {
    padding-right: clamp(15px, 25 / var(--size-base) * 100vw, 25px);
    padding-left: clamp(15px, 25 / var(--size-base) * 100vw, 25px);
    width: 100%;
  }
}
.service .sec03 .image_align_right {
  --image-width: clamp(375px, calc(500 / var(--size-base) * 100vw), 500px);
  --image-gap-size: clamp(52px, calc(70 / var(--size-base) * 100vw), 70px);
}
@media (max-width: 999px) {
  .service .sec03 .image_align_right .image {
    width: 40%;
  }
}
@media (max-width: 767px) {
  .service .sec03 .image_align_right .image {
    width: 100%;
  }
}
.service .sec03 .image_align_left {
  --image-width: clamp(375px, calc(500 / var(--size-base) * 100vw), 500px);
  --image-gap-size: clamp(52px, calc(70 / var(--size-base) * 100vw), 70px);
  padding-top: var(--gutter-s);
}
.service .sec03 .lead {
  font-weight: 500;
  font-size: clamp(21px, 28 / var(--size-base) * 100vw, 28px);
}
@media (max-width: 767px) {
  .service .sec03 .lead {
    font-size: clamp(12.75px, 17 / var(--size-base) * 100vw, 17px);
  }
}
.service .sec03 .name {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  font-weight: 500;
  padding: var(--gutter-s) 0;
}
.service .sec03 .name img {
  width: clamp(101.25px, 135 / var(--size-base) * 100vw, 135px);
  height: clamp(30px, 40 / var(--size-base) * 100vw, 40px);
  padding-left: 10px;
}
.service .sec04 {
  padding-top: 0;
  padding-bottom: var(--gutter-l);
}
.service .sec04 .title02 {
  padding-top: var(--page_sec-padding);
}
.service .sec04 .title02:before {
  top: clamp(52.5px, 70 / var(--size-base) * 100vw, 70px);
}
@media (max-width: 767px) {
  .service .sec04 .title02:before {
    top: clamp(30px, 8vw, 37.5px);
  }
}
.service .sec04 .wrapper {
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .service .sec04 .wrapper {
    overflow: hidden;
  }
}
.service .sec04 .text {
  width: 37.8%;
  position: absolute;
  z-index: 10;
  top: 31.4%;
  left: 51.4%;
}
@media (max-width: 999px) {
  .service .sec04 .text {
    width: auto;
    padding-right: var(--gutter-l);
    top: 36%;
  }
}
@media (max-width: 767px) {
  .service .sec04 .text {
    position: static;
    min-width: initial;
    width: 96%;
    margin: 0 auto;
    transform: none;
    padding-right: clamp(15px, 25 / var(--size-base) * 100vw, 25px);
    padding-left: clamp(15px, 25 / var(--size-base) * 100vw, 25px);
  }
}
.service .sec04 .image img {
  max-width: 1430px;
  margin-top: -13%;
  margin-left: -2%;
}
@media (max-width: 1399px) {
  .service .sec04 .image img {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .service .sec04 .image img {
    padding-top: var(--gutter-l);
  }
}
.service .sec04 .button {
  --button-width: 376px;
  --button-height: 60px;
  --button-fz: 24px;
  background: #007dbc;
  color: white;
  margin-top: var(--gutter-l);
}

/* business01 */
.business01 .sec {
  padding-bottom: 0;
}
.business01 .mv_image {
  --header_mv-width: 421px;
  --header_mv-height: 411px;
  margin-right: clamp(37.5px, 50 / var(--size-base) * 100vw, 50px);
}
.business01 .entry-content {
  padding-bottom: clamp(75px, 100 / var(--size-base) * 100vw, 100px);
}
.business01 .h3_wrapper,
.business01 .h4_wrapper {
  padding-top: var(--gutter-l);
}
.business01 .h4_wrapper:first-of-type {
  padding-top: 0;
}
.business01 .h4_wrapper:last-of-type {
  padding-bottom: var(--gutter-l);
}
.business01 .title_circle {
  margin-top: var(--gutter-s);
  margin-bottom: var(--gutter-xs);
  padding-left: var(--gutter-xxs);
  --circle-width: 40px;
  --circle-fz: 22px;
}
@media (max-width: 767px) {
  .business01 .title_circle {
    --circle-width: 20px;
    --circle-fz: 18px;
  }
}
.business01 .title_circle + p {
  padding-left: var(--gutter-xxs);
}
.business01 figure {
  text-align: center;
}
.business01 figcaption {
  text-align: center;
  font-weight: 500;
  font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
  padding-top: var(--gutter-xxs);
}
@media (max-width: 767px) {
  .business01 figcaption {
    padding-bottom: var(--gutter-s);
    font-size: clamp(12px, 3.2vw, 15px);
  }
}
.business01 .table_style02 {
  width: clamp(690px, 920 / var(--size-base) * 100vw, 920px);
  margin: var(--gutter-s) auto 0 auto;
  padding-bottom: var(--gutter-xs);
}
.business01 .table_style02 td:last-of-type {
  border-right: none;
}
@media (min-width: 1000px) {
  .business01 .table_style02 td:last-of-type {
    width: 61%;
  }
}
@media (min-width: 1000px) {
  .business01 .table_style02 td:nth-of-type(2) {
    width: 23%;
  }
}
@media (min-width: 1000px) {
  .business01 .table_style02 td:first-of-type {
    width: 16%;
  }
}
.business01 .image_align_center img:first-of-type {
  padding-bottom: 0;
}
.business01 .content01 {
  position: relative;
}
.business01 .content01:before {
  content: "";
  display: block;
  background: url(./images/bg_business01_1_1.svg) no-repeat;
  position: absolute;
  z-index: -1;
  width: clamp(106.5px, 142 / var(--size-base) * 100vw, 142px);
  height: clamp(180px, 240 / var(--size-base) * 100vw, 240px);
  top: 56%;
  left: clamp(-165px, -220 / var(--size-base) * 100vw, -220px);
}
@media (max-width: 999px) {
  .business01 .content01 {
    overflow: hidden;
  }
}
.business01 .content01:after {
  content: "";
  display: block;
  background: url(./images/bg_business01_1_2.svg) no-repeat;
  position: absolute;
  z-index: -1;
  width: clamp(69px, 92 / var(--size-base) * 100vw, 92px);
  height: clamp(112.5px, 150 / var(--size-base) * 100vw, 150px);
  top: 24%;
  right: clamp(-121.5px, -162 / var(--size-base) * 100vw, -162px);
}
.business01 .content02 .image_parallel {
  margin-bottom: 0;
}
.business01 .content02 .image {
  position: relative;
}
@media (max-width: 767px) {
  .business01 .content02 .image {
    padding: 0;
  }
}
.business01 .content02 .icon01 {
  position: absolute;
  top: min(12vw, 120px);
  left: min(10vw, -100px);
  width: min(9.8vw, 98px);
  height: min(3.5vw, 35px);
}
@media (max-width: 999px) {
  .business01 .content02 .icon01 {
    left: min(5vw, -50px);
  }
}
@media (max-width: 530px) {
  .business01 .content02 .icon01 {
    top: min(60vw, 600px);
    left: min(1vw, -10px);
  }
}
.business01 .content02 .icon02 {
  position: absolute;
  top: min(20vw, 200px);
  left: min(-4vw, -40px);
  width: min(15.4vw, 154px);
  height: min(5.5vw, 55px);
}
@media (max-width: 999px) {
  .business01 .content02 .icon02 {
    left: min(-1vw, -10px);
  }
}
@media (max-width: 530px) {
  .business01 .content02 .icon02 {
    top: min(70vw, 700px);
    left: min(0vw, 0px);
  }
}
.business01 .content02 .icon03 {
  position: absolute;
  top: min(-3vw, -30px);
  right: min(-12vw, -120px);
  width: min(11.2vw, 112px);
  height: min(4vw, 40px);
}
@media (max-width: 999px) {
  .business01 .content02 .icon03 {
    right: min(-4vw, -40px);
  }
}
@media (max-width: 530px) {
  .business01 .content02 .icon03 {
    top: min(-2vw, -20px);
    right: min(-1vw, -10px);
  }
}
.business01 .content03 {
  padding-bottom: clamp(75px, 100 / var(--size-base) * 100vw, 100px);
}
@media (max-width: 767px) {
  .business01 .content03 {
    padding-bottom: clamp(37.5px, 50 / var(--size-base) * 100vw, 50px);
  }
}
.business01 .content03 .image_parallel {
  margin-bottom: 0;
}
.business01 .content03 .image {
  position: relative;
}
@media (max-width: 767px) {
  .business01 .content03 .image {
    padding: 0;
  }
}
.business01 .content03 .icon01 {
  position: absolute;
  top: min(12vw, 120px);
  left: min(30vw, -300px);
  width: min(44vw, 440px);
  height: min(19.8vw, 198px);
}
@media (max-width: 999px) {
  .business01 .content03 .icon01 {
    top: min(20vw, 200px);
    left: min(10vw, -100px);
  }
}
@media (max-width: 530px) {
  .business01 .content03 .icon01 {
    top: min(100vw, 1000px);
    left: min(5vw, -50px);
  }
}

/* business01_1 */
:root {
  --over-image-width: 594;
  --over-image-height: 656;
  --over-image-gap: 150;
  --over-text-width: 610;
  --over-text-height: 240;
  --over-text-gap: 54;
}

.business01_1 .mv_image {
  --header_mv-width: 421px;
  --header_mv-height: 411px;
}
@media (min-width: 1000px) {
  .business01_1 .mv_image {
    margin-right: clamp(37.5px, 50 / var(--size-base) * 100vw, 50px);
  }
}
.business01_1 .business_link_list li:not(:first-of-type) .label {
  background: white;
  color: #007dbc;
  border: 1px solid #007dbc;
}
.business01_1 .h3_wrapper {
  padding-top: var(--gutter-l);
}
.business01_1 .wp-block-table {
  padding-bottom: clamp(52.5px, 70 / var(--size-base) * 100vw, 70px);
}
.business01_1 .table_style02 {
  width: clamp(750px, 1000 / var(--size-base) * 100vw, 1000px);
  margin: var(--gutter-s) auto 0 auto;
}
.business01_1 .image_align_left .image {
  margin-right: 0;
}
.business01_1 .image_overlap {
  display: flex;
  position: relative;
}
@media (max-width: 767px) {
  .business01_1 .image_overlap {
    display: block;
  }
}
.business01_1 .image_overlap .image {
  width: 74.4%;
  position: relative;
  z-index: 10;
  right: calc(clamp(127.5px, 170 / var(--size-base) * 100vw, 170px) * -1);
}
@media (max-width: 767px) {
  .business01_1 .image_overlap .image {
    width: 100%;
    right: 0;
  }
}
.business01_1 .image_overlap .image figure {
  text-align: center;
}
.business01_1 .image_overlap .text {
  width: 80%;
  position: relative;
  z-index: 20;
  margin-right: calc(clamp(180px, 240 / var(--size-base) * 100vw, 240px) * -1);
}
@media (max-width: 767px) {
  .business01_1 .image_overlap .text {
    width: 100%;
    margin-right: 0;
  }
}
.business01_1 .youtube {
  margin-top: var(--gutter-l);
  display: block;
}
@media (min-width: 1000px) {
  .business01_1 .youtube {
    width: clamp(364.5px, 486 / var(--size-base) * 100vw, 486px);
    height: auto;
  }
}
@media (max-width: 999px) {
  .business01_1 .youtube {
    width: clamp(270px, 360 / var(--size-base) * 100vw, 360px);
  }
}
@media (max-width: 767px) {
  .business01_1 .youtube {
    margin: var(--gutter-s) auto;
  }
}
.business01_1 .list_circle {
  padding-left: 0;
  margin: 0;
  list-style: none;
  padding-top: var(--gutter-xs);
}
.business01_1 .list_circle li {
  font-weight: 500;
  line-height: 1.4;
  position: relative;
  padding-left: var(--gutter-xxs);
  margin-bottom: var(--gutter-xs);
  font-size: clamp(13.5px, 18 / var(--size-base) * 100vw, 18px);
}
.business01_1 .list_circle li:before {
  content: "";
  display: inline-block;
  background: #d9e8ea;
  width: 40px;
  height: 40px;
  border-radius: 9999px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: -1;
}
@media (max-width: 767px) {
  .business01_1 .list_circle li {
    font-size: clamp(15px, 4vw, 18.75px);
    margin-bottom: var(--gutter-s);
  }
}
.business01_1 .image_align_right {
  --image-width: clamp(427px, calc(570 / var(--size-base) * 100vw), 570px);
  --image-gap-size: clamp(38px, calc(40 / var(--size-base) * 100vw), 40px);
}
.business01_1 table {
  margin-bottom: var(--gutter-l);
}
.business01_1 table ul {
  padding-left: var(--gutter-xxs);
  margin: 0;
}
.business01_1 table td:last-of-type {
  border-right: none;
}
.business01_1 figcaption,
.business01_1 caption {
  text-align: center;
  font-weight: 500;
  font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
  line-height: 1.6;
  padding: var(--gutter-xxs) 0;
}
.business01_1 .image_align_center {
  padding-top: var(--gutter-s);
}
.business01_1 .live_video {
  width: 100%;
  padding: var(--gutter-l) 0;
  text-align: center;
}

/* business01_2 */
.business01_2 .mv_image {
  --header_mv-width: 421px;
  --header_mv-height: 411px;
}
@media (min-width: 1000px) {
  .business01_2 .mv_image {
    margin-right: clamp(37.5px, 50 / var(--size-base) * 100vw, 50px);
  }
}
.business01_2 .business_link_list li:not(:nth-of-type(2)) .label {
  background: white;
  color: #007dbc;
  border: 1px solid #007dbc;
}
.business01_2 .wp-block-table table {
  width: 800px;
  margin: var(--gutter-l) auto;
}
.business01_2 .anchors {
  --button-width: 260px;
  --button-height: 65px;
  --button-radius: 30px;
  --button-fz: 16px;
}
.business01_2 .anchors ul {
  flex-wrap: wrap;
  gap: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
}
@media (max-width: 530px) {
  .business01_2 .anchors ul {
    flex-wrap: nowrap;
    gap: var(--gutter-xxs);
  }
}
.business01_2 .anchors a {
  line-height: 1.6;
  height: auto;
}
.business01_2 .anchors a:after {
  right: -10px;
}
@media (max-width: 530px) {
  .business01_2 .anchors a:after {
    right: 10px;
  }
}
@media (max-width: 530px) {
  .business01_2 .anchors a {
    max-width: inherit;
  }
}
.business01_2 .anchors li {
  align-items: center;
  height: var(--button-height);
  background: #16b8c4;
  border-radius: 9999px;
  padding-bottom: 0;
}
.business01_2 .title_border {
  padding-top: var(--gutter-l);
}
.business01_2 .content01 td:last-of-type {
  width: 37.5%;
  border-right: none;
}
.business01_2 .content02 td:last-of-type {
  border-right: none;
  font-weight: 400;
}
.business01_2 .content03 td:last-of-type {
  border-right: none;
  font-weight: 400;
}
.business01_2 .content04 td:nth-of-type(2) {
  width: 35%;
}
.business01_2 .content04 td:last-of-type {
  border-right: none;
  width: 46.25%;
  font-weight: 400;
}
.business01_2 .content05 td:nth-of-type(2) {
  width: 35%;
}
.business01_2 .content05 td:last-of-type {
  border-right: none;
  width: 46.25%;
  font-weight: 400;
}
.business01_2 .annotation {
  text-align: right;
  margin: 0;
  font-weight: 500;
}
@media (min-width: 1000px) {
  .business01_2 .annotation {
    font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
  }
}
@media (max-width: 999px) {
  .business01_2 .annotation {
    font-size: clamp(7.5px, 10 / var(--size-base) * 100vw, 10px);
  }
}
.business01_2 .content06 ul {
  padding-left: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  margin: 0;
}
.business01_2 .content06 li {
  line-height: 1.6;
}
.business01_2 .table_style02 .td_bg_blue {
  background: #d9e8ea;
}

/* business01_3 */
.business01_3 .mv_image {
  --header_mv-width: 421px;
  --header_mv-height: 411px;
}
@media (min-width: 1000px) {
  .business01_3 .mv_image {
    margin-right: clamp(37.5px, 50 / var(--size-base) * 100vw, 50px);
  }
}
.business01_3 .sec {
  padding-bottom: 0;
}
.business01_3 .business_link_list li:not(:nth-of-type(3)) .label {
  background: white;
  color: #007dbc;
  border: 1px solid #007dbc;
}
.business01_3 .title02 span {
  display: block;
  font-size: clamp(24px, 32 / var(--size-base) * 100vw, 32px);
}
@media (max-width: 767px) {
  .business01_3 .title02 span {
    font-size: clamp(18px, 4.8vw, 22.5px);
  }
}
.business01_3 .title_border {
  padding-top: var(--gutter-l);
}
.business01_3 .list_circle {
  padding-left: 0;
  margin: 0;
  list-style: none;
  padding-top: var(--gutter-xs);
}
.business01_3 .list_circle li {
  font-weight: 500;
  line-height: 1.4;
  position: relative;
  padding-left: var(--gutter-xxs);
  margin-bottom: var(--gutter-xs);
  font-size: clamp(16.5px, 22 / var(--size-base) * 100vw, 22px);
  color: #007dbc;
}
.business01_3 .list_circle li:before {
  content: "";
  display: inline-block;
  background: #d9e8ea;
  width: 40px;
  height: 40px;
  border-radius: 9999px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: -1;
}
@media (max-width: 767px) {
  .business01_3 .list_circle li {
    font-size: clamp(15px, 4vw, 18.75px);
    margin-bottom: var(--gutter-s);
  }
}
.business01_3 .image_align_right {
  --image-width: clamp(356px, calc(475 / var(--size-base) * 100vw), 475px);
  --image-gap-size: clamp(50px, calc(65 / var(--size-base) * 100vw), 65px);
  padding-bottom: clamp(41.25px, 55 / var(--size-base) * 100vw, 55px);
}
@media (max-width: 999px) {
  .business01_3 .image_align_right {
    justify-content: space-between;
  }
}

/* business01_4 */
.business01_4 .mv_image {
  --header_mv-width: 421px;
  --header_mv-height: 411px;
}
@media (min-width: 1000px) {
  .business01_4 .mv_image {
    margin-right: clamp(37.5px, 50 / var(--size-base) * 100vw, 50px);
  }
}
.business01_4 .sec {
  padding-bottom: 0;
}
.business01_4 .business_link_list li:not(:nth-of-type(4)) .label {
  background: white;
  color: #007dbc;
  border: 1px solid #007dbc;
}
.business01_4 .h3_wrapper {
  padding-top: var(--gutter-l);
}
.business01_4 .title_circle {
  margin-bottom: var(--gutter-xxs);
  padding-left: var(--gutter-xxs);
}
.business01_4 .title_circle:first-of-type {
  margin-top: 0;
}
@media (min-width: 1000px) {
  .business01_4 .title_circle {
    --circle-width: 40px;
    --circle-fz: 22px;
  }
}
@media (max-width: 999px) {
  .business01_4 .title_circle {
    --circle-width: 20px;
    --circle-fz: 16px;
  }
}
.business01_4 .image_align_right .image {
  --image-width: clamp(356px, calc(475 / var(--size-base) * 100vw), 475px);
}
@media (min-width: 1000px) {
  .business01_4 .image_align_right .image {
    margin-left: var(--gutter-s);
  }
}
@media (max-width: 999px) {
  .business01_4 .image_align_right .image {
    width: 50%;
  }
}
@media (max-width: 767px) {
  .business01_4 .image_align_right .image {
    width: 100%;
  }
}
.business01_4 figcaption {
  text-align: center;
  font-weight: 500;
  font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
  padding: var(--gutter-xxs) 0;
}
.business01_4 .content01 .text_inner:first-of-type {
  padding-bottom: var(--gutter-xs);
}
.business01_4 .content01 .image_full {
  padding-top: var(--gutter-xs);
  text-align: center;
}
.business01_4 .content02 .image_align_right .image {
  --image-width: clamp(322px, calc(430 / var(--size-base) * 100vw), 430px);
}
@media (min-width: 1000px) {
  .business01_4 .content02 .image_align_right .image {
    margin-left: 0;
  }
}
.business01_4 .content02 .text figure {
  padding-top: var(--gutter-xs);
}
@media (min-width: 1000px) {
  .business01_4 .content02 .text figure {
    width: clamp(356.25px, 475 / var(--size-base) * 100vw, 475px);
  }
}
.business01_4 .annotation {
  font-weight: 500;
}
@media (min-width: 1000px) {
  .business01_4 .annotation {
    font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
    text-align: right;
  }
}
@media (max-width: 999px) {
  .business01_4 .annotation {
    font-size: clamp(7.5px, 10 / var(--size-base) * 100vw, 10px);
  }
}

.business02 .sec {
  padding-bottom: 0;
}
.business02 .mv_image {
  --header_mv-width: 421px;
  --header_mv-height: 411px;
}
@media (min-width: 1000px) {
  .business02 .mv_image {
    margin-right: clamp(37.5px, 50 / var(--size-base) * 100vw, 50px);
  }
}
.business02 .row {
  --image-width: clamp(352px, calc(470 / var(--size-base) * 100vw), 470px);
  --image-gap-size: clamp(52px, calc(70 / var(--size-base) * 100vw), 70px);
  padding-bottom: clamp(97.5px, 130 / var(--size-base) * 100vw, 130px);
}
@media (max-width: 767px) {
  .business02 .row {
    padding-bottom: clamp(20px, 5.3333333333vw, 25px);
  }
}
.business02 .icon_h3 {
  width: clamp(210px, 280 / var(--size-base) * 100vw, 280px);
  height: clamp(75px, 100 / var(--size-base) * 100vw, 100px);
  display: block;
  margin-bottom: var(--gutter-xs);
  margin-top: calc(clamp(52.5px, 70 / var(--size-base) * 100vw, 70px) * -1);
}
@media (max-width: 767px) {
  .business02 .icon_h3 {
    width: clamp(140px, 37.3333333333vw, 175px);
    height: clamp(50px, 13.3333333333vw, 62.5px);
  }
}
.business02 .h3_wrapper {
  position: relative;
}
.business02 .h3_wrapper:before {
  content: "";
  display: block;
  position: absolute;
  top: 40%;
  left: -10%;
  z-index: -1;
}
@media (max-width: 999px) {
  .business02 .h3_wrapper:before {
    overflow: hidden;
  }
}
.business02 .content01 {
  padding-top: clamp(120px, 160 / var(--size-base) * 100vw, 160px);
}
@media (max-width: 767px) {
  .business02 .content01 {
    padding-top: clamp(90px, 24vw, 112.5px);
  }
}
.business02 .content01:before {
  background: url(./images/bg_business02_1_1.svg) no-repeat;
  width: clamp(165px, 220 / var(--size-base) * 100vw, 220px);
  height: clamp(270px, 360 / var(--size-base) * 100vw, 360px);
  top: 56%;
  left: -22%;
}
@media (max-width: 999px) {
  .business02 .content01:before {
    width: clamp(109.5px, 146 / var(--size-base) * 100vw, 146px);
    height: clamp(180px, 240 / var(--size-base) * 100vw, 240px);
    top: 50%;
    left: 0;
  }
}
@media (max-width: 767px) {
  .business02 .content01:before {
    width: clamp(82.5px, 110 / var(--size-base) * 100vw, 110px);
    height: clamp(135px, 180 / var(--size-base) * 100vw, 180px);
    top: 34%;
  }
}
@media (max-width: 999px) {
  .business02 .content01 {
    overflow: hidden;
  }
}
.business02 .content02 {
  padding-top: clamp(52.5px, 70 / var(--size-base) * 100vw, 70px);
}
@media (max-width: 767px) {
  .business02 .content02 {
    padding-top: clamp(90px, 24vw, 112.5px);
  }
}
.business02 .content02:before {
  background: url(./images/bg_business02_1_2.svg) no-repeat;
  width: clamp(450px, 600 / var(--size-base) * 100vw, 600px);
  height: clamp(160.5px, 214 / var(--size-base) * 100vw, 214px);
  top: 40%;
  left: 60%;
}
@media (max-width: 999px) {
  .business02 .content02:before {
    width: clamp(300px, 400 / var(--size-base) * 100vw, 400px);
    height: clamp(106.5px, 142 / var(--size-base) * 100vw, 142px);
    top: 60%;
    left: auto;
    right: clamp(-45px, -60 / var(--size-base) * 100vw, -60px);
  }
}
@media (max-width: 767px) {
  .business02 .content02:before {
    width: clamp(225px, 300 / var(--size-base) * 100vw, 300px);
    height: clamp(80.25px, 107 / var(--size-base) * 100vw, 107px);
    top: 29%;
  }
}
@media (max-width: 999px) {
  .business02 .content02 {
    overflow: hidden;
  }
}
.business02 .content03 {
  padding-top: clamp(52.5px, 70 / var(--size-base) * 100vw, 70px);
}
@media (max-width: 767px) {
  .business02 .content03 {
    padding-top: clamp(90px, 24vw, 112.5px);
    padding-bottom: clamp(100px, 26.6666666667vw, 125px);
  }
}
.business02 .content03:before {
  background: url(./images/bg_business02_1_3.svg) no-repeat;
  width: clamp(448.5px, 598 / var(--size-base) * 100vw, 598px);
  height: clamp(184.5px, 246 / var(--size-base) * 100vw, 246px);
  top: auto;
  left: auto;
  right: 0;
  bottom: 0;
}
@media (max-width: 999px) {
  .business02 .content03:before {
    width: clamp(298.5px, 398 / var(--size-base) * 100vw, 398px);
    height: clamp(123px, 164 / var(--size-base) * 100vw, 164px);
  }
}
@media (max-width: 767px) {
  .business02 .content03:before {
    width: clamp(224.25px, 299 / var(--size-base) * 100vw, 299px);
    height: clamp(92.25px, 123 / var(--size-base) * 100vw, 123px);
  }
}
@media (max-width: 999px) {
  .business02 .content03 {
    overflow: hidden;
  }
}

.business03 .sec {
  padding-bottom: 0;
}
.business03 .mv_image {
  --header_mv-width: 421px;
  --header_mv-height: 411px;
}
@media (min-width: 1000px) {
  .business03 .mv_image {
    margin-right: clamp(37.5px, 50 / var(--size-base) * 100vw, 50px);
  }
}
.business03 .row {
  --image-width: clamp(352px, calc(470 / var(--size-base) * 100vw), 470px);
  --image-gap-size: clamp(52px, calc(70 / var(--size-base) * 100vw), 70px);
  padding-bottom: clamp(97.5px, 130 / var(--size-base) * 100vw, 130px);
}
@media (max-width: 767px) {
  .business03 .row {
    padding-bottom: clamp(30px, 8vw, 37.5px);
  }
}
.business03 .h3_wrapper {
  position: relative;
}
.business03 .h3_wrapper:before {
  content: "";
  display: block;
  position: absolute;
  top: 40%;
  left: -10%;
  z-index: -1;
}
.business03 .content01 {
  padding-top: clamp(120px, 160 / var(--size-base) * 100vw, 160px);
}
@media (max-width: 999px) {
  .business03 .content01 {
    padding-top: clamp(90px, 24vw, 112.5px);
  }
}
.business03 .content01:before {
  background: url(./images/bg_business03_1_1.svg) no-repeat;
  width: clamp(189.75px, 253 / var(--size-base) * 100vw, 253px);
  height: clamp(195px, 260 / var(--size-base) * 100vw, 260px);
  top: 50%;
  left: -22%;
}
@media (max-width: 999px) {
  .business03 .content01:before {
    width: clamp(126px, 168 / var(--size-base) * 100vw, 168px);
    height: clamp(129.75px, 173 / var(--size-base) * 100vw, 173px);
    top: 60%;
    left: 0;
  }
}
@media (max-width: 767px) {
  .business03 .content01:before {
    width: clamp(94.5px, 126 / var(--size-base) * 100vw, 126px);
    height: clamp(97.5px, 130 / var(--size-base) * 100vw, 130px);
    top: 30%;
    left: 0;
  }
}
@media (max-width: 999px) {
  .business03 .content01 {
    overflow: hidden;
  }
}
.business03 .content02:before {
  background: url(./images/bg_business03_1_2.svg) no-repeat;
  width: clamp(277.5px, 370 / var(--size-base) * 100vw, 370px);
  height: clamp(195px, 260 / var(--size-base) * 100vw, 260px);
  top: 30%;
  left: auto;
  right: -20%;
}
@media (max-width: 999px) {
  .business03 .content02:before {
    width: clamp(184.5px, 246 / var(--size-base) * 100vw, 246px);
    height: clamp(129.75px, 173 / var(--size-base) * 100vw, 173px);
    top: 40%;
    left: auto;
    right: 0;
  }
}
@media (max-width: 767px) {
  .business03 .content02:before {
    width: clamp(138.75px, 185 / var(--size-base) * 100vw, 185px);
    height: clamp(97.5px, 130 / var(--size-base) * 100vw, 130px);
    top: 20%;
    right: -2%;
  }
}
@media (max-width: 999px) {
  .business03 .content02 {
    overflow: hidden;
  }
}
.business03 .content03 {
  padding-bottom: clamp(52.5px, 70 / var(--size-base) * 100vw, 70px);
}
@media (max-width: 999px) {
  .business03 .content03 {
    padding-bottom: clamp(30px, 8vw, 37.5px);
  }
}
@media (max-width: 767px) {
  .business03 .content03 {
    padding-bottom: clamp(90px, 24vw, 112.5px);
  }
}
.business03 .content03:before {
  background: url(./images/bg_business03_1_3.svg) no-repeat;
  width: clamp(286.5px, 382 / var(--size-base) * 100vw, 382px);
  height: clamp(195px, 260 / var(--size-base) * 100vw, 260px);
  top: auto;
  bottom: 0;
  left: -20%;
}
@media (max-width: 999px) {
  .business03 .content03:before {
    width: clamp(190.5px, 254 / var(--size-base) * 100vw, 254px);
    height: clamp(129.75px, 173 / var(--size-base) * 100vw, 173px);
    left: 0;
  }
}
@media (max-width: 767px) {
  .business03 .content03:before {
    width: clamp(143.25px, 191 / var(--size-base) * 100vw, 191px);
    height: clamp(97.5px, 130 / var(--size-base) * 100vw, 130px);
  }
}
@media (max-width: 999px) {
  .business03 .content03 {
    overflow: hidden;
  }
}

.business04 .bg_wrapper {
  position: relative;
}
.business04 .bg_wrapper:before {
  content: "";
  display: block;
  position: absolute;
  background: url(./images/bg_business04_pc.png) repeat-y center top;
  width: calc(100% + 440px);
  height: 92%;
  background-size: auto;
  top: 8%;
  left: clamp(-330px, -440 / var(--size-base) * 100vw, -440px);
  right: clamp(-330px, -440 / var(--size-base) * 100vw, -440px);
  margin: auto;
}
@media (max-width: 1399px) {
  .business04 .bg_wrapper:before {
    background-size: 90%;
  }
}
@media (max-width: 999px) {
  .business04 .bg_wrapper:before {
    width: 100%;
    background-size: contain;
  }
}
@media (max-width: 767px) {
  .business04 .bg_wrapper:before {
    background: url(./images/bg_business04_sp.png) repeat-y center top;
    background-size: contain;
  }
}
.business04 .mv_image {
  --header_mv-width: 421px;
  --header_mv-height: 411px;
}
@media (min-width: 1000px) {
  .business04 .mv_image {
    margin-right: clamp(37.5px, 50 / var(--size-base) * 100vw, 50px);
  }
}
.business04 .row {
  --image-width: clamp(352px, calc(470 / var(--size-base) * 100vw), 470px);
  --image-gap-size: clamp(52px, calc(70 / var(--size-base) * 100vw), 70px);
  padding-top: clamp(97.5px, 130 / var(--size-base) * 100vw, 130px);
}
@media (max-width: 767px) {
  .business04 .row {
    padding-top: clamp(52.5px, 70 / var(--size-base) * 100vw, 70px);
    padding-bottom: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  }
}
.business04 .h3_wrapper {
  position: relative;
}
.business04 .h3_wrapper:before {
  content: "";
  display: block;
  position: absolute;
  top: 40%;
  left: -10%;
  z-index: -1;
}
.business04 .annotation {
  padding-left: 0;
  margin: 0;
  list-style: none;
  padding-top: var(--gutter-l);
  font-size: clamp(10.5px, 14 / var(--size-base) * 100vw, 14px);
}
@media (max-width: 767px) {
  .business04 .annotation {
    font-size: clamp(10px, 2.6666666667vw, 12.5px);
  }
}
.business04 .annotation li {
  line-height: 1.6;
}
.business04 .annotation li:before {
  content: "※";
}

.business_link {
  position: relative;
  margin-top: var(--gutter-l);
  padding-bottom: clamp(97.5px, 130 / var(--size-base) * 100vw, 130px);
}
@media (max-width: 767px) {
  .business_link {
    margin-top: clamp(100px, 26.6666666667vw, 125px);
    padding-bottom: clamp(40px, 10.6666666667vw, 50px);
  }
}
.business_link:after {
  content: "";
  display: block;
  width: 100%;
  background: #e4f1f9;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  height: 68%;
}
.business_link .business_link_title {
  color: #007dbc;
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  font-size: clamp(24px, 32 / var(--size-base) * 100vw, 32px);
  padding: var(--gutter-m) 0;
}
@media (max-width: 767px) {
  .business_link .business_link_title {
    font-size: clamp(20px, 5.3333333333vw, 25px);
    padding: var(--gutter-m) 0;
  }
}

.business_link_list {
  list-style: none;
  margin: 0;
  padding-left: 0;
  display: flex;
  justify-content: space-between;
}
.business_link_list a {
  text-decoration: none;
}
@media (max-width: 767px) {
  .business_link_list {
    flex-wrap: wrap;
    gap: var(--gutter-xs);
    width: 90%;
    margin: 0 auto;
  }
}
@media (max-width: 767px) {
  .business_link_list li {
    width: 47%;
  }
}
.business_link_list .label {
  display: block;
  background: #007dbc;
  font-weight: 500;
  margin: 0 auto calc(clamp(22.5px, 30 / var(--size-base) * 100vw, 30px) * -1) auto;
  position: relative;
  z-index: 10;
  --label-width: clamp(142px, calc(190 / var(--size-base) * 100vw), 190px);
  --label-height: clamp(45px, calc(60 / var(--size-base) * 100vw), 60px);
}
@media (max-width: 767px) {
  .business_link_list .label {
    --label-width: 142px;
    --label-height: 40px;
  }
}
.business_link_list .image {
  display: block;
  position: relative;
  z-index: 5;
}
.business_link_list .image img {
  width: 100%;
  object-fit: cover;
  border-radius: 20px;
  height: clamp(180px, 240 / var(--size-base) * 100vw, 240px);
}
/* recruit */
.recruit .mv_image {
  --header_mv-width: 364px;
  --header_mv-height: 389px;
}
@media (min-width: 1000px) {
  .recruit .mv_image {
    margin-right: clamp(52.5px, 70 / var(--size-base) * 100vw, 70px);
  }
}
.recruit .entry-content p {
  line-height: 2;
  font-weight: 500;
  text-align: center;
  font-size: clamp(18px, 24 / var(--size-base) * 100vw, 24px);
}
@media (max-width: 767px) {
  .recruit .entry-content p {
    font-size: clamp(16px, 4.2666666667vw, 20px);
  }
  .recruit .entry-content p br {
    display: none;
  }
}
.recruit .entry-content .banner {
  padding-top: clamp(75px, 100 / var(--size-base) * 100vw, 100px);
}
@media (max-width: 767px) {
  .recruit .entry-content .banner {
    padding-top: clamp(40px, 10.6666666667vw, 50px);
  }
}

/* contact */
.contact .mv_image {
  --header_mv-width: 364px;
  --header_mv-height: 389px;
}
@media (min-width: 1000px) {
  .contact .mv_image {
    margin-right: clamp(52.5px, 70 / var(--size-base) * 100vw, 70px);
  }
}
.contact input[type=text],
.contact input[type=email],
.contact textarea {
  border: none;
  width: 100%;
  padding: 0;
	background: transparent;
/*   padding-left: var(--gutter-xs); */
}

.contact2 input[type=text],
.contact2 input[type=email],
.contact2 textarea {
  border: none;
  width: 100%;
  padding: 0;
	background: transparent;
/*   padding-left: var(--gutter-xs); */
}

.contact input[type=text]:focus,
.contact input[type=email]:focus,
.contact textarea:focus {
  outline: none;
}
.contact input[type=text]::placeholder,
.contact input[type=email]::placeholder,
.contact textarea::placeholder {
  color: #e67072;
}

.formUnit {
  border: 1px solid #007dbc;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  padding: 0 var(--gutter-xs);
  margin-bottom: var(--gutter-xs);
  font-size: clamp(13.5px, 18 / var(--size-base) * 100vw, 18px);
  min-height: 60px;
	gap: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
}
@media (max-width: 767px) {
  .formUnit {
    font-size: clamp(16px, 4.2666666667vw, 20px);
    min-height: 46px;
  }
}
@media (max-width: 530px) {
  .formUnit {
border-radius: 24px;
  }
}

.formUnit_textarea {
  align-items: flex-start;
  border-radius: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
}
.formUnit_textarea > div {
  padding-top: var(--gutter-xs);
}
.formUnit_textarea .interface {
  width: 100%;
}
@media (max-width: 767px) {
  .formUnit_textarea {
    border-radius: clamp(20px, 5.3333333333vw, 25px);
  }
}

.formUnit_short {
  width: 50%;
}
@media (max-width: 767px) {
  .formUnit_short {
    width: 100%;
  }
}

.formUnit_middle {
  width: 65%;
}
@media (max-width: 767px) {
  .formUnit_middle {
    width: 100%;
  }
}

.formUnit_long {
  width: 100%;
}
@media (max-width: 767px) {
  .formUnit_long {
    width: 100%;
  }
}

.formUnit_label {
  flex: 0 0 auto;
  color: #949495;
}

.formUnit_select {
  position: relative;
  background: #d9e8ea;
  border-radius: 9999px;
  width: 50%;
  height: 80px;
  margin-top: clamp(112.5px, 150 / var(--size-base) * 100vw, 150px);
  margin-bottom: clamp(97.5px, 130 / var(--size-base) * 100vw, 130px);
	line-height: 80px;
    padding-left: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
}
.formUnit_select:before {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: var(--gutter-xs);
  transform: translateY(-50%);
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #007dbc;
  pointer-events: none;
}
@media (max-width: 767px) {
  .formUnit_select {
    width: 100%;
    min-height: 60px;
    margin-top: clamp(70px, 18.6666666667vw, 87.5px);
    margin-bottom: clamp(40px, 10.6666666667vw, 50px);
  }
}
.formUnit_select select {
  appearance: none;
  border: none;
  background: #d9e8ea;
  width: 100%;
  border-radius: 9999px;
/*   padding-left: var(--gutter-s); */
  letter-spacing: 0.05em;
/*   min-height: 80px; */
  font-size: clamp(13px, 18 / var(--size-base) * 100vw, 18px);
}
@media (max-width: 767px) {
  .formUnit_select select {
    min-height: 60px;
    font-size: clamp(16px, 4.2666666667vw, 20px);
  }
}
.formUnit_select select:focus-visible {
  outline: none;
}

.formUnit_mm {
  padding: var(--gutter-l) 0;
  display: flex;
  font-size: clamp(13.5px, 18 / var(--size-base) * 100vw, 18px);
}
@media (max-width: 767px) {
  .formUnit_mm {
    flex-direction: column;
    padding-bottom: 0;
  }
}
.formUnit_mm .formUnit_label {
  color: #000000;
}
.formUnit_mm .interface {
  display: flex;
  padding-left: var(--gutter-s);
  gap: var(--gutter-xs);
}
.formUnit_mm label {
  display: flex;
}
.formUnit_mm label input[type=radio] {
  flex: 1;
  accent-color: #007dbc;
  transform: scale(2);
}
.formUnit_mm label span {
  padding-left: clamp(7.5px, 10 / var(--size-base) * 100vw, 10px);
}
@media (max-width: 767px) {
  .formUnit_mm label {
    padding-bottom: var(--gutter-s);
  }
}

.form_attention {
  margin: 0;
  padding: var(--gutter-l) 0;
  line-height: 1.75;
  list-style-position: inside;
  font-size: clamp(12px, 16 / var(--size-base) * 100vw, 16px);
}
@media (max-width: 767px) {
  .form_attention {
    font-size: clamp(14px, 3.7333333333vw, 17.5px);
    padding: var(--gutter-s) 0;
  }
}

@media (max-width: 530px) {
	.formUnit {
		display: block;
		padding: 10px 20px;
	}
	.formUnit_label {
		padding: 10px 0;
	}
}

.js-pp-checkbox {
  padding: var(--gutter-l) 0;
  background: #e4f1f9;
}
.js-pp-checkbox label {
  display: flex;
  justify-content: center;
}
.js-pp-checkbox input[type=checkbox] {
  flex: 0;
  transform: scale(2.5);
  margin-right: 0;
  accent-color: #007dbc;
}
.js-pp-checkbox .mwform-checkbox-field-text {
  padding-left: var(--gutter-s);
}
.mw_wp_form .back {
	display: none;
}

.mw_wp_form_preview .back {
	display: block;
}

.form_button .container {
	display: flex;
	gap: var(--gutter-s);
}
@media (max-width: 767px) {
.form_button .container {
	display: block;
}
.form_button .back {
	margin-bottom: var(--gutter-s);
}
.form_button .button:first-of-type {
	margin-bottom: var(--gutter-s);
}
}

.form_button {
  padding: clamp(97.5px, 130 / var(--size-base) * 100vw, 130px) 0;
}
@media (max-width: 767px) {
  .form_button {
    padding: clamp(40px, 10.6666666667vw, 50px) 0;
  }
}
.form_button .button {
  position: relative;
  background: #007dbc;
  margin: 0 auto;
  --button-width: 486px;
  --button-height: 100px;
}
@media (max-width: 767px) {
  .form_button .button {
    --button-width: 380px;
    --button-height: 80px;
  }
}
.form_button .button:focus {
  outline: none;
}
.form_button .button input {
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  background: #007dbc;
  color: white;
  border: none;
  cursor: pointer;
  font-size: clamp(18px, 24 / var(--size-base) * 100vw, 24px);
}
@media (max-width: 767px) {
  .form_button .button input {
    font-size: clamp(18px, 4.8vw, 22.5px);
  }
}


.mw_wp_form_complete {
  text-align: center;
  padding: var(--gutter-l);
}

.error404 .header_mv {
   padding: var(--gutter-l);
  margin-top: var(--gutter-l);
}
.error404 .header_mv:after {
content: none;
}
.error404 .container {
  justify-content: center;
	padding-bottom: var(--gutter-l);
}
.error404 .page-content {
  text-align: center;
}

/* privacy-policy */
.privacy-policy .entry-content ul {
  padding-left: 0;
}
.privacy-policy .entry-content ul li {
  padding-bottom: var(--gutter-xxs);
}

/*------------------*/
/* archive */
/*------------------*/
.archive .mv_image {
  --header_mv-width: 460px;
  --header_mv-height: 457px;
}
.archive .title_area {
  padding-top: clamp(97.5px, 130 / var(--size-base) * 100vw, 130px);
}
@media (max-width: 767px) {
  .archive .title_area {
    padding-top: clamp(65px, 17.3333333333vw, 81.25px);
  }
}
.archive .anchors ul {
  margin-bottom: var(--gutter-s);
  gap: clamp(15px, 20 / var(--size-base) * 100vw, 20px);
}
@media (min-width: 1000px) {
  .archive .anchors ul {
    flex-wrap: wrap;
  }
}
@media (max-width: 767px) {
  .archive .anchors ul {
    gap: clamp(7.5px, 10 / var(--size-base) * 100vw, 10px);
  }
}
.archive .anchors li {
  align-self: flex-start;
  padding: 0;
}
.archive .anchors a {
  display: block;
  white-space: nowrap;
  --button-width: 140px;
  --button-height: 50px;
}
@media (max-width: 767px) {
  .archive .anchors a {
    --button-width: 120px;
    --button-height: 40px;
  }
}
.archive .anchors a:after {
  content: none;
}

.information_list {
  border-top: 1px solid #c2c2c2;
}
.information_list article {
  border-bottom: 1px solid #c2c2c2;
  padding: var(--gutter-xxs);
  position: relative;
}
.information_list article:after {
  content: "";
  display: block;
  background: url(./images/icon_arrow_circle_blue.svg) no-repeat;
  width: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  height: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  position: absolute;
  top: 50%;
  right: clamp(15px, 20 / var(--size-base) * 100vw, 20px);
  transform: translateY(-50%);
  z-index: 1;
}
.information_list article a {
  text-decoration: none;
  color: #000000;
}
.information_list article .date {
  color: #007dbc;
  font-family: "Quicksand", sans-serif;
  font-size: clamp(12px, 16 / var(--size-base) * 100vw, 16px);
}
.information_list article .title {
  margin-bottom: 0;
  font-size: clamp(13.5px, 18 / var(--size-base) * 100vw, 18px);
}
@media (max-width: 767px) {
  .information_list article .title {
    font-size: clamp(16px, 4.2666666667vw, 20px);
  }
}
.information_list article .content {
  margin-bottom: 0;
}

.archive_list {
  display: grid;
}
.archive_list article {
  position: relative;
}
.archive_list article a {
  color: white;
  text-decoration: none;
}
.archive_list .label {
  --label-width: 100px;
  --label-height: 30px;
  display: block;
  position: absolute;
  top: 2%;
  right: 2%;
  z-index: 10;
}
.archive_list .image {
  display: block;
  position: relative;
  z-index: 5;
}
.archive_list .image img {
  width: 100%;
  object-fit: cover;
  border-radius: 20px;
  height: clamp(255px, 340 / var(--size-base) * 100vw, 340px);
}
@media (max-width: 767px) {
  .archive_list .image img {
    height: clamp(180px, 48vw, 225px);
  }
}
.archive_list .text {
  margin: 0 auto;
  position: relative;
  border-radius: clamp(15px, 20 / var(--size-base) * 100vw, 20px);
  z-index: 20;
  width: 90%;
  margin-top: calc(clamp(15px, 20 / var(--size-base) * 100vw, 20px) * -1);
  padding: var(--gutter-xs);
}
@media (max-width: 767px) {
  .archive_list .text {
    margin-top: calc(clamp(20px, 5.3333333333vw, 25px) * -1);
    padding: var(--gutter-xs);
  }
}
.archive_list .tag {
  font-size: clamp(12px, 16 / var(--size-base) * 100vw, 16px);
}
@media (max-width: 767px) {
  .archive_list .tag {
    font-size: clamp(14px, 3.7333333333vw, 17.5px);
  }
}
.archive_list .date {
  display: block;
  font-size: clamp(12px, 16 / var(--size-base) * 100vw, 16px);
  font-weight: 400;
  color: white;
  padding-bottom: 0;
}
.archive_list .title {
  display: block;
  font-weight: 500;
/*   padding-top: clamp(12px, 16 / var(--size-base) * 100vw, 16px); */
/*   overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; */
  font-size: 18px;
	line-height: 1.4;
}
@media (max-width: 767px) {
  .archive_list .title {
    font-size: clamp(16px, 4.2666666667vw, 20px);
  }
}
.archive_list .excerpt {
  margin-bottom: 0;
  line-height: 1.4;
}

.post-type-archive-casestudy .mv_image,
.tax-casestudy_cat .mv_image {
  --header_mv-width: 456px;
  --header_mv-height: 405px;
}
@media (min-width: 1200px) {
  .post-type-archive-casestudy .mv_image,
  .tax-casestudy_cat .mv_image {
    margin-right: clamp(52.5px, 70 / var(--size-base) * 100vw, 70px);
  }
}
.post-type-archive-casestudy .archive_list,
.tax-casestudy_cat .archive_list {
  grid-template-columns: repeat(auto-fit, 48%);
  column-gap: 4%;
}
@media (min-width: 1000px) {
  .post-type-archive-casestudy .archive_list,
  .tax-casestudy_cat .archive_list {
    width: clamp(750px, 1140 / var(--size-base) * 100vw, 1140px);
    margin-right: auto;
    margin-left: auto;
    row-gap: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
  }
}
@media (max-width: 999px) {
  .post-type-archive-casestudy .archive_list,
  .tax-casestudy_cat .archive_list {
    width: 100%;
    padding-right: clamp(15px, 15 / var(--size-base) * 100vw, 15px);
    padding-left: clamp(15px, 15 / var(--size-base) * 100vw, 15px);
    row-gap: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  }
}
.post-type-archive-casestudy .label_cat a,
.tax-casestudy_cat .label_cat a {
  background: #35bc31;
}
.post-type-archive-casestudy .label,
.tax-casestudy_cat .label {
  background: #35bc31;
}
.post-type-archive-casestudy .text,
.tax-casestudy_cat .text {
  background: #35bc31;
}
.post-type-archive-casestudy article:nth-of-type(2) .text, .post-type-archive-casestudy article:nth-of-type(3) .text, .post-type-archive-casestudy article:nth-of-type(6) .text, .post-type-archive-casestudy article:nth-of-type(7) .text,
.tax-casestudy_cat article:nth-of-type(2) .text,
.tax-casestudy_cat article:nth-of-type(3) .text,
.tax-casestudy_cat article:nth-of-type(6) .text,
.tax-casestudy_cat article:nth-of-type(7) .text {
  background: #35bc9e;
}
.post-type-archive-casestudy .anchors li,
.tax-casestudy_cat .anchors li {
  background: white;
}
.post-type-archive-casestudy .anchors a,
.tax-casestudy_cat .anchors a {
  color: #35bc31;
  background: white;
  border: 1px solid #35bc31;
}
.post-type-archive-casestudy .anchors .current,
.tax-casestudy_cat .anchors .current {
  background: #35bc31;
  color: white;
}

.post-type-archive-ecotopics .mv_image,
.tax-ecotopics_cat .mv_image {
  --header_mv-width: 460px;
  --header_mv-height: 447px;
}
@media (min-width: 1200px) {
  .post-type-archive-ecotopics .mv_image,
  .tax-ecotopics_cat .mv_image {
    margin-right: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  }
}
.post-type-archive-ecotopics .archive_list,
.tax-ecotopics_cat .archive_list {
  grid-template-columns: repeat(auto-fit, 32%);
  column-gap: 2%;
}
@media (min-width: 1000px) {
  .post-type-archive-ecotopics .archive_list,
  .tax-ecotopics_cat .archive_list {
    width: clamp(750px, 1140 / var(--size-base) * 100vw, 1140px);
    margin-right: auto;
    margin-left: auto;
    row-gap: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  }
}
@media (max-width: 999px) {
  .post-type-archive-ecotopics .archive_list,
  .tax-ecotopics_cat .archive_list {
    width: 100%;
    padding-right: clamp(15px, 15 / var(--size-base) * 100vw, 15px);
    padding-left: clamp(15px, 15 / var(--size-base) * 100vw, 15px);
    row-gap: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  }
}
@media (max-width: 767px) {
  .post-type-archive-ecotopics .archive_list,
  .tax-ecotopics_cat .archive_list {
    grid-template-columns: repeat(auto-fit, 48%);
    column-gap: 4%;
  }
}
.post-type-archive-ecotopics .label_cat a,
.tax-ecotopics_cat .label_cat a {
  background: #007dbc;
}
.post-type-archive-ecotopics .label,
.tax-ecotopics_cat .label {
  background: #007dbc;
}
.post-type-archive-ecotopics .text,
.tax-ecotopics_cat .text {
  background: #007dbc;
}
.post-type-archive-ecotopics article:nth-of-type(2n) .text,
.tax-ecotopics_cat article:nth-of-type(2n) .text {
  background: #16b8c4;
}
.post-type-archive-ecotopics .anchors li,
.tax-ecotopics_cat .anchors li {
  background: white;
}
.post-type-archive-ecotopics .anchors a,
.tax-ecotopics_cat .anchors a {
  color: #007dbc;
  border: 1px solid #007dbc;
  background: white;
}
.post-type-archive-ecotopics .anchors .current,
.tax-ecotopics_cat .anchors .current {
  background: #007dbc;
  color: white;
}

/* pager */
.pager {
  padding: clamp(97.5px, 130 / var(--size-base) * 100vw, 130px) 0;
}
@media (max-width: 767px) {
  .pager {
    padding: clamp(40px, 10.6666666667vw, 50px) 0;
  }
}

.nav-links {
  display: flex;
  justify-content: center;
}
.nav-links a {
  display: inline-block;
  font-family: "Quicksand", sans-serif;
  color: #16b8c4;
  border: 1px solid #16b8c4;
  text-decoration: none;
  border-radius: 9999px;
  text-align: center;
  font-size: clamp(18px, 24 / var(--size-base) * 100vw, 24px);
  width: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
  height: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
  line-height: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
}
@media (max-width: 767px) {
  .nav-links a {
    font-size: clamp(18px, 4.8vw, 22.5px);
    width: clamp(40px, 10.6666666667vw, 50px);
    height: clamp(40px, 10.6666666667vw, 50px);
    line-height: clamp(40px, 10.6666666667vw, 50px);
  }
}
.nav-links .prev {
  position: relative;
  border: none;
}
.nav-links .prev:after {
  content: "";
  display: block;
  background: url(./images/pager_left.svg) no-repeat;
  width: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
  height: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .nav-links .prev:after {
    width: clamp(40px, 10.6666666667vw, 50px);
    height: clamp(40px, 10.6666666667vw, 50px);
  }
}
.nav-links .next {
  position: relative;
  border: none;
}
.nav-links .next:after {
  content: "";
  display: block;
  background: url(./images/pager_right.svg) no-repeat;
  width: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
  height: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .nav-links .next:after {
    width: clamp(40px, 10.6666666667vw, 50px);
    height: clamp(40px, 10.6666666667vw, 50px);
  }
}

.page-numbers {
  background: white;
  display: inline-block;
  color: #35bc31;
  text-align: center;
  margin-right: var(--gutter-xxs);
  width: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
  height: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
  line-height: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
}
@media (max-width: 767px) {
  .page-numbers {
    width: clamp(40px, 10.6666666667vw, 50px);
    height: clamp(40px, 10.6666666667vw, 50px);
    line-height: clamp(40px, 10.6666666667vw, 50px);
  }
}

.current {
  display: inline-block;
  font-family: "Quicksand", sans-serif;
  color: #16b8c4;
  border: 1px solid #16b8c4;
  text-decoration: none;
  border-radius: 9999px;
  text-align: center;
  background: #16b8c4;
  color: white;
  font-size: clamp(18px, 24 / var(--size-base) * 100vw, 24px);
  width: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
  height: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
  line-height: clamp(45px, 60 / var(--size-base) * 100vw, 60px);
}
@media (max-width: 767px) {
  .current {
    font-size: clamp(18px, 4.8vw, 22.5px);
    width: clamp(40px, 10.6666666667vw, 50px);
    height: clamp(40px, 10.6666666667vw, 50px);
    line-height: clamp(40px, 10.6666666667vw, 50px);
  }
}

/*------------------*/
/* single */
/*------------------*/
.single article {
  padding: clamp(105px, 140 / var(--size-base) * 100vw, 140px) 0;
}
@media (max-width: 767px) {
  .single article {
    padding: clamp(40px, 10.6666666667vw, 50px) 0;
  }
}
.single .date {
  color: #007dbc;
  font-family: "Quicksand", sans-serif;
  padding-bottom: var(--gutter-xs);
  font-size: clamp(13.5px, 18 / var(--size-base) * 100vw, 18px);
}
@media (max-width: 767px) {
  .single .date {
    font-size: clamp(16px, 4.2666666667vw, 20px);
  }
}
.single .entry-title {
  font-weight: 500;
  border-bottom: 1px solid #c2c2c2;
  padding-bottom: var(--gutter-s);
  line-height: 1.4;
  font-size: clamp(21px, 28 / var(--size-base) * 100vw, 28px);
}
@media (max-width: 767px) {
  .single .entry-title {
    font-size: clamp(20px, 5.3333333333vw, 25px);
  }
}
.single .link {
  padding-top: clamp(97.5px, 130 / var(--size-base) * 100vw, 130px);
}
@media (max-width: 767px) {
  .single .link {
    padding-top: clamp(65px, 17.3333333333vw, 81.25px);
  }
}
.single .button {
  --button-width: 380px;
  --button-height: 60px;
  --button-fz: 24px;
  background: #007dbc;
  color: white;
  margin: 0 auto;
}
.single .label_cat a {
  display: inline-block;
  background: #000;
  color: white;
  text-decoration: none;
  border-radius: 9999px;
  margin-bottom: var(--gutter-s);
  font-size: clamp(12px, 16 / var(--size-base) * 100vw, 16px);
  padding: clamp(6px, 8 / var(--size-base) * 100vw, 8px) clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
}
@media (max-width: 767px) {
  .single .label_cat a {
    font-size: clamp(14px, 3.7333333333vw, 17.5px);
    padding: clamp(6px, 1.6vw, 7.5px) clamp(20px, 5.3333333333vw, 25px);
  }
}
.single .label_tag a {
  display: block;
  font-weight: 500;
  text-decoration: none;
  color: #000000;
  padding-bottom: var(--gutter-xs);
  font-size: clamp(13.5px, 18 / var(--size-base) * 100vw, 18px);
}
@media (max-width: 767px) {
  .single .label_tag a {
    font-size: clamp(16px, 4.2666666667vw, 20px);
  }
}

.related-posts {
  position: relative;
  margin-top: clamp(150px, 200 / var(--size-base) * 100vw, 200px);
}
@media (max-width: 767px) {
  .related-posts {
    margin-top: clamp(100px, 26.6666666667vw, 125px);
  }
}
.related-posts:after {
  content: "";
  display: block;
  width: 100%;
  height: 40%;
  background: #e4f1f9;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.related-posts .related-posts_title {
  color: #007dbc;
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  font-size: clamp(31.5px, 42 / var(--size-base) * 100vw, 42px);
  padding: var(--gutter-l) 0;
}
@media (max-width: 767px) {
  .related-posts .related-posts_title {
    font-size: clamp(24px, 6.4vw, 30px);
    padding: var(--gutter-l) 0;
  }
}

.related-posts_list .swiper:not(.swiper-initialized) .swiper-wrapper {
  grid-template-columns: repeat(auto-fit, 32%);
  column-gap: 2%;
}
@media (min-width: 1000px) {
  .related-posts_list {
    width: clamp(750px, 1140 / var(--size-base) * 100vw, 1140px);
    margin-right: auto;
    margin-left: auto;
    row-gap: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  }
}
@media (max-width: 999px) {
  .related-posts_list {
    width: 100%;
    padding-right: clamp(15px, 25 / var(--size-base) * 100vw, 25px);
    padding-left: clamp(15px, 25 / var(--size-base) * 100vw, 25px);
    row-gap: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  }
}
@media (max-width: 530px) {
  .related-posts_list {
    padding-left: clamp(50px, 13.3333333333vw, 62.5px);
  }
}
.related-posts_list .swiper-slide {
  position: relative;
}
.related-posts_list .swiper-slide a {
  color: white;
  display: block;
}
.related-posts_list .label {
  --label-width: 100px;
  --label-height: 30px;
  display: block;
  position: absolute;
  top: 2%;
  right: 2%;
  z-index: 10;
}
.related-posts_list .image {
  display: block;
  position: relative;
  z-index: 5;
}
.related-posts_list .image img {
  width: 100%;
  object-fit: cover;
  border-radius: 20px;
  height: clamp(255px, 340 / var(--size-base) * 100vw, 340px);
}
@media (max-width: 767px) {
  .related-posts_list .image img {
    height: clamp(180px, 48vw, 225px);
  }
}
.related-posts_list .text {
  margin: 0 auto;
  position: relative;
  border-radius: clamp(15px, 20 / var(--size-base) * 100vw, 20px);
  z-index: 20;
  width: 90%;
  margin-top: calc(clamp(15px, 20 / var(--size-base) * 100vw, 20px) * -1);
  padding: var(--gutter-xs);
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .related-posts_list .text {
    margin-top: calc(clamp(20px, 5.3333333333vw, 25px) * -1);
    padding: var(--gutter-xxs);
  }
}
.related-posts_list .tag {
  font-size: clamp(12px, 16 / var(--size-base) * 100vw, 16px);
}
@media (max-width: 767px) {
  .related-posts_list .tag {
    font-size: clamp(14px, 3.7333333333vw, 17.5px);
  }
}
.related-posts_list .date {
  display: block;
  font-size: clamp(12px, 16 / var(--size-base) * 100vw, 16px);
  font-weight: 400;
  color: white;
  padding-bottom: 0;
}
.related-posts_list .title {
  display: block;
  font-weight: 500;
  padding-top: clamp(12px, 16 / var(--size-base) * 100vw, 16px);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 18px;
}
@media (max-width: 767px) {
  .related-posts_list .title {
    font-size: clamp(16px, 4.2666666667vw, 20px);
  }
}
.related-posts_list .excerpt {
  margin-bottom: 0;
  line-height: 1.4;
}

.single-casestudy .mv_image {
  --header_mv-width: 456px;
  --header_mv-height: 405px;
}
@media (min-width: 1200px) {
  .single-casestudy .mv_image {
    margin-right: clamp(52.5px, 70 / var(--size-base) * 100vw, 70px);
  }
}
.single-casestudy .label_cat a {
  background: #35bc31;
}
.single-casestudy .label {
  background: #35bc31;
}
.single-casestudy .text {
  background: #35bc31;
}
.single-casestudy .swiper-slide:nth-of-type(2) .text {
  background: #35bc9e;
}

.single-ecotopics .mv_image {
  --header_mv-width: 460px;
  --header_mv-height: 447px;
}
@media (min-width: 1200px) {
  .single-ecotopics .mv_image {
    margin-right: clamp(22.5px, 30 / var(--size-base) * 100vw, 30px);
  }
}
.single-ecotopics .label_cat a {
  background: #007dbc;
}
.single-ecotopics .label {
  background: #007dbc;
}
.single-ecotopics .text {
  background: #007dbc;
}
.single-ecotopics .swiper-slide:nth-of-type(2) .text {
  background: #16b8c4;
}

/* 202409 */


.single-ecotopics .number {
    padding-bottom: 5px;
}

.tax-ecotopics_cat .number,
.post-type-archive-ecotopics .number,
.home .number {
    padding: 10px 0 5px 0;
}

/* 202510 */

.in-numbers .section_images {
  padding-top: clamp(1.875rem, 1.303rem + 2.44vw, 3.438rem);
}

.in-numbers .section_images {
  position: relative;
}

.in-numbers .section_images::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: #ebf4fb;
  width: 100%;
  height: clamp(11.125rem, 7.032rem + 17.46vw, 22.313rem);
  z-index: -1;
}

.in-numbers h3 {
  font-size: clamp(1.125rem, 0.622rem + 2.15vw, 2.5rem);
  text-align: center;
  font-weight: normal;
}

.in-numbers h3 img {
  height: 33px;
  width: auto;
  display: block;
  margin: 20px auto 0;
}

.in-numbers .anchors ul {
  padding-bottom: clamp(4.813rem, 3.189rem + 6.93vw, 9.25rem);
}

.in-numbers .anchors li {
  padding: 0 5px;
}

@media (max-width: 999px) {
.in-numbers .anchors li {
    padding-bottom: var(--gutter-xs);
  }
}

.in-numbers .anchors a {
  width: 100%;
  max-width: 249px;
  min-width: 177px;
  padding-inline: 48px;
  white-space: nowrap;
}

.in-numbers_images {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 16.79px;
  padding-top: clamp(1.875rem, 1.303rem + 2.44vw, 3.438rem);
  padding-bottom: clamp(4.5rem, 2.854rem + 7.02vw, 9rem);
}

.in-numbers_images img {
  display: block;
  width: 100%;
  height: auto;
}

/* 会社紹介・社員構成 */

/* 創業年 - 左上 */
#in-numbers01 .item:nth-child(1),
#in-numbers02 .item:nth-child(1) {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}

/* 会社の承継 - 中上 */
#in-numbers01 .item:nth-child(2),
#in-numbers02 .item:nth-child(2) {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}

/* 社長の年齢 - 右上 */
#in-numbers01 .item:nth-child(3),
#in-numbers02 .item:nth-child(3) {
  grid-column: 3 / 4;
  grid-row: 1 / 2;
}

/* 拠点数 - 左下中 */
#in-numbers01 .item:nth-child(4),
#in-numbers02 .item:nth-child(4) {
  grid-column: 1 / 3;
  grid-row: 2 / 3;
}

/* 職場環境・働き方 趣味・嗜好 */

/* 左全部 */
#in-numbers03 .item:nth-child(1),
#in-numbers05 .item:nth-child(1) {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
}

/* 中上 */
#in-numbers03 .item:nth-child(2),
#in-numbers05 .item:nth-child(2) {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}

/* 右上 */
#in-numbers03 .item:nth-child(3),
#in-numbers05 .item:nth-child(3) {
  grid-column: 3 / 4;
  grid-row: 1 / 2;
}

/* 下中 */
#in-numbers03 .item:nth-child(4),
#in-numbers05 .item:nth-child(4) {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}

/* 右下 */
#in-numbers03 .item:nth-child(5),
#in-numbers05 .item:nth-child(5) {
  grid-column: 3 / 4;
  grid-row: 2 / 3;
}

/* 社内文化 */

/* 上全部 */
#in-numbers04 .item:nth-child(1) {
  grid-column: 1 / 4;
  grid-row: 1 / 2;
}

/* 中左 */
#in-numbers04 .item:nth-child(2) {
  grid-column: 1 / 3;
  grid-row: 2 / 3;
}

/* 右中下 */
#in-numbers04 .item:nth-child(5) {
  grid-column: 3 / 4;
  grid-row: 2 / 4;
}

/* 下左 */
#in-numbers04 .item:nth-child(3) {
  grid-column: 1 / 2;
  grid-row: 3 / 4;
}

/* 中下 */
#in-numbers04 .item:nth-child(4) {
  grid-column: 2 / 3;
  grid-row: 3 / 4;
}

@media (max-width: 767px) {
  .in-numbers_images {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 12px;
  }
  /* 創業年 - 左上 */
  #in-numbers01 .item:nth-child(1),
  #in-numbers02 .item:nth-child(1) {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }

  /* 会社の承継 - 右上 */
  #in-numbers01 .item:nth-child(2),
  #in-numbers02 .item:nth-child(2) {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }

  /* 社長の年齢 - 左中 */
  #in-numbers01 .item:nth-child(3) {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }

  /* 拠点数 - 下段 */
  #in-numbers01 .item:nth-child(4) {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
  }

  /* 社員数 - 右中 */
  #in-numbers01 .item:nth-child(5) {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }

  /* 文系 */
  #in-numbers02 .item:nth-child(3) {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
  }

  /* 男女 */
  #in-numbers02 .item:nth-child(4) {
    grid-column: 1 / 3;
    grid-row: 2 / 3;
  }

  /* 新卒 */
  #in-numbers02 .item:nth-child(5) {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
  }

  /* 職場環境・働き方 趣味・嗜好 */

  /* 上全部 */
  #in-numbers03 .item:nth-child(1),
  #in-numbers05 .item:nth-child(1) {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
  }

  /* 左中 */
  #in-numbers03 .item:nth-child(2),
  #in-numbers05 .item:nth-child(2) {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }

  /* 右中 */
  #in-numbers03 .item:nth-child(3),
  #in-numbers05 .item:nth-child(3) {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }

  /* 左下 */
  #in-numbers03 .item:nth-child(4),
  #in-numbers05 .item:nth-child(4) {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
  }

  /* 右下 */
  #in-numbers03 .item:nth-child(5),
  #in-numbers05 .item:nth-child(5) {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
  }

  /* 社内文化 */

  /* 上2段全部 */
  #in-numbers04 .item:nth-child(1) {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
  }

  /* 中左 */
  #in-numbers04 .item:nth-child(2) {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
  }

  /* 中左 */
  #in-numbers04 .item:nth-child(3) {
    grid-column: 1 / 2;
    grid-row: 4 / 5;
  }

  /* 中右 */
  #in-numbers04 .item:nth-child(4) {
    grid-column: 2 / 3;
    grid-row: 4 / 5;
  }

  /* 下全部 */
  #in-numbers04 .item:nth-child(5) {
    grid-column: 1 / 3;
    grid-row: 5 / 7;
  }
}

@media (max-width: 530px) {
  .in-numbers .anchors li {
    padding: 0;
  }
  .in-numbers .anchors ul {
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
}
