@charset "UTF-8";
/*!
Theme Name: naga-ss
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: naga-ss
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.

naga-ss 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;
  -webkit-text-decoration: underline dotted;
          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.8;
}

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%;
}

figure {
  margin: 1em 0;
}

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],
input[type=submit] {
  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 ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  top: 100%;
  left: -999em;
  z-index: 99999;
}

.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
  display: block;
  left: auto;
}

.main-navigation ul ul a {
  width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  left: auto;
}

.main-navigation li {
  position: relative;
}

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

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

@media screen and (min-width: 37.5em) {
  .menu-toggle {
    display: none;
  }
  .main-navigation ul {
    display: flex;
  }
}
.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;
}

.post,
.page {
  margin: 0;
}

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

.page-content,
.entry-content,
.entry-summary {
  margin: 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;
}

/* カラー設定
--------------------------------------------- */
/* 大ワク
--------------------------------------------- */
html {
  scroll-behavior: smooth;
}

body.page {
  margin: 0;
  padding: 0;
}

.site-main {
  margin-top: 120px;
}

@media only screen and (max-width: 768px) {
  .site-main {
    margin-top: 60px;
  }
}
/* テキスト・見出し設定
--------------------------------------------- */
body {
  font-size: 16px;
  font-family: "Noto Sans JP", "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
  color: #333;
}

a {
  color: #3D62AD;
}

a:visited {
  color: #3D62AD;
}

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

a:focus {
  outline: thin dotted;
}

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

.naga-bluemds {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  color: #3D62AD;
  font-size: 36px;
  font-weight: 700;
  text-align: center;
}
.naga-bluemds span {
  margin-left: 10px;
  font-family: "Encode Sans SC";
  font-size: 14px;
  font-weight: 400;
}

@media only screen and (max-width: 768px) {
  .naga-bluemds {
    margin: 0 auto;
    font-size: 30px;
  }
  .naga-bluemds span {
    display: block;
    margin-left: 0;
    font-size: 14px;
    line-height: 1em;
  }
  .longword {
    font-size: 22px;
  }
}
.headline--min {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  font-family: "noto serif jp";
  font-size: 30px;
  font-weight: 600;
  text-align: center;
  color: #3D62AD;
}
.headline--min strong {
  font-weight: 600;
  color: #BB5F71;
}

@media only screen and (max-width: 768px) {
  .headline--min {
    font-size: 18px;
  }
}
/* 共通ボタン
--------------------------------------------- */
div.blbtn {
  margin: 3rem auto 0;
  max-width: 450px;
  text-align: center;
}
div.blbtn a {
  display: block;
  padding: 0.3em 0;
  background: #3D62AD;
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  text-decoration: none;
  transition: 0.3s;
}
div.blbtn a::before {
  font-family: "Material Symbols Outlined";
  content: "arrow_circle_right";
  font-size: 26px;
  vertical-align: middle;
  margin-right: 1rem;
}
div.blbtn a:hover {
  background-position: right center;
  background-size: 200% auto;
  animation: ripple 1.5s infinite;
}
@keyframes ripple {
  0% {
    box-shadow: 0 0 0 0 #3D62AD;
  }
  70% {
    box-shadow: 0 0 0 10px rgba(61, 98, 173, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(61, 98, 173, 0);
  }
}

@media only screen and (max-width: 768px) {
  div.blbtn {
    margin: 2rem auto 0;
    max-width: 90vw;
  }
  div.blbtn a {
    padding: 0.3em 0;
    font-size: 18px;
  }
  div.blbtn a::before {
    font-size: 24px;
    margin-right: 0.5rem;
  }
}
/* 続きを読むボタン
--------------------------------------------- */
@media only screen and (max-width: 768px) {
  .readmore {
    --collapsed-height: 10rem; /* 未展開の高さ（調整可） */
    --duration: 350ms; /* アニメ時間 */
  }
  .readmore__content {
    position: relative;
    overflow: hidden;
    max-height: var(--collapsed-height);
    transition: max-height var(--duration) ease;
  }
  /* 近代ブラウザ向け：ぼかし用にマスクを使う（テキストにも綺麗に効く） */
  .readmore__content:not(.is-open) {
    -webkit-mask-image: linear-gradient(to bottom, #000 70%, rgba(0, 0, 0, 0));
    mask-image: linear-gradient(to bottom, #000 70%, rgba(0, 0, 0, 0));
  }
  /* フォールバック：疑似要素の白→透明グラデ（背景色に合わせて調整） */
  .readmore__content::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 3rem;
    pointer-events: none;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
    opacity: 1;
    transition: opacity var(--duration) ease;
  }
  .readmore__content.is-open::after {
    opacity: 0;
  }
  /* 開いた状態は十分大きい max-height にしてスライドダウン風に */
  .readmore__content.is-open {
    max-height: 9999px; /* 実質 auto 代替 */
  }
  .readmore__btn {
    position: relative;
    display: block;
    gap: 0.5rem;
    align-items: center;
    width: 80%;
    height: 35px;
    margin: 0.5rem auto 0;
    padding: 0.6rem 1rem;
    border-radius: 30px;
    border: 0;
    background-color: #3D62AD;
    color: #fff;
    cursor: pointer;
  }
  .readmore__btn::before {
    position: absolute;
    left: 8px;
    top: 8px;
    font-family: "Material Symbols Outlined";
    content: "arrow_drop_down_circle";
    vertical-align: middle;
    font-size: 20px;
  }
}
/* 改行設定
--------------------------------------------- */
br.spbr {
  display: none;
}

@media screen and (max-width: 768px) {
  br.pcbr {
    display: none;
  }
  br.spbr {
    display: block;
  }
}
/* 各ページタイトル
--------------------------------------------- */
header.pagetitle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 200px;
  background-color: #3D62AD;
  background-blend-mode: multiply;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
header.pagetitle h1, header.pagetitle h2 {
  position: relative;
  margin: 0;
  font-size: 40px;
  font-weight: 200;
  line-height: 1em;
  color: #fff;
}
header.pagetitle h1::after, header.pagetitle h2::after {
  content: "";
  position: absolute;
  width: 60px;
  height: 0;
  left: calc(50% - 30px);
  top: 60px;
  border-bottom: 1px solid #fff;
}
header.pagetitle p {
  margin: 40px 0 0;
  line-height: 1em;
  color: #fff;
  font-family: "Encode Sans SC";
}

.pagetitle-works {
  background-image: url("../../uploads/2025/11/title_works.jpg");
}

.pagetitle-company {
  background-image: url("../../uploads/2025/11/title_company.jpg");
}

.pagetitle-business {
  background-image: url("../../uploads/2025/11/title_business.jpg");
}

.pagetitle-access {
  background-image: url("../../uploads/2025/11/title_access.jpg");
}

.pagetitle-recruit {
  background-image: url("../../uploads/2025/11/title_recruit.jpg");
}

.pagetitle-contact {
  background-image: url("../../uploads/2025/11/title_contact.jpg");
  background-position: center bottom !important;
}

.pagetitle-news {
  background-image: url("../../uploads/2025/11/title_news.jpg");
}

.pagetitle-equipment {
  background-image: url("../../uploads/2025/11/title_equipment.jpg");
}

@media only screen and (max-width: 768px) {
  header.pagetitle {
    height: 150px;
  }
  header.pagetitle h1 {
    margin: 0;
    font-size: 24px;
  }
  header.pagetitle h1::after {
    content: "";
    position: absolute;
    width: 60px;
    height: 0;
    left: calc(50% - 30px);
    top: 40px;
    border-bottom: 1px solid #fff;
  }
  header.pagetitle p {
    margin: 30px 0 0;
    font-size: 14px;
  }
}
/* ヘッダーメインナビ
--------------------------------------------- */
header.fixedheader {
  position: fixed;
  top: 0;
  width: 100%;
  height: 120px;
  background: #fff;
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0);
  z-index: 10000;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.15);
  transition: 0.5s;
}
header.fixedheader div.headerlogowrap {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  margin: 0 auto;
}
header.fixedheader div.headerlogowrap .headerlogo {
  width: clamp(200px, 30%, 400px);
  margin: 0;
  padding: 0;
}
header.fixedheader div.headerlogowrap .headerlogo a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 100%;
  text-decoration: none;
  color: #3D62AD;
}
header.fixedheader div.headerlogowrap .headerlogo a img {
  display: block;
  max-width: 220px;
  min-width: 100px;
  margin-left: 20%;
  transition: 0.3s;
}
header.fixedheader div.headerlogowrap .headerlogo a:hover img {
  opacity: 0.7;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap {
  width: clamp(600px, 50%, 800px);
  height: 100%;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap .headernavi__tel {
  display: flex;
  justify-content: end;
  align-items: center;
  height: 50%;
  font-size: 22px;
  font-weight: 500;
  color: #3D62AD;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap .headernavi__tel img {
  display: inline-block;
  margin: 0 0.3rem -3px 0;
  height: 22px;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap .headernavi__tel span {
  margin-left: 0.7em;
  font-size: 13px;
  font-weight: 400;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi {
  width: 100%;
  height: 50%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi > li {
  position: relative;
  height: 100%;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5em;
  transition: 0.3s;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi > li a {
  color: #333;
  text-decoration: none;
  vertical-align: middle;
  transition: 0.3s;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi > li a:hover {
  color: #3D62AD;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi > li a span {
  margin-right: 0.2em;
  vertical-align: middle;
  font-variation-settings: "FILL" 1;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi > li::after {
  position: absolute;
  bottom: 1.5em;
  left: 50%;
  content: "";
  width: 0;
  height: 2px;
  background-color: #3D62AD;
  transition: 0.3s;
  transform: translateX(-50%);
}
header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi > li:hover {
  cursor: pointer;
  color: #3D62AD;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi > li:hover::after {
  width: 100%;
}
header.fixedheader div.headerlogowrap .contactbtn {
  width: 120px;
  height: 120px;
}
header.fixedheader div.headerlogowrap .contactbtn a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #333;
  background-color: #F19DAE;
  transition: 0.5s;
}
header.fixedheader div.headerlogowrap .contactbtn a .mailicon {
  display: block;
  font-size: 40px;
  text-align: center;
}
header.fixedheader div.headerlogowrap .contactbtn a .contactbtn__text {
  font-size: 14px;
  text-align: center;
}
header.fixedheader div.headerlogowrap .contactbtn a:hover {
  background-color: #E95C79;
  color: #fff;
}

header.smaller {
  height: 60px;
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.1);
}
header.smaller div.headerlogowrap ul.headernavi {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
header.smaller div.headerlogowrap ul.headernavi > li {
  line-height: 60px;
  transition: unset;
}
header.smaller div.headerlogowrap ul.headernavi > li::after {
  bottom: 0.8em;
}

div.spnavigation { /*SPナビ非表示*/
  display: none;
}

@media only screen and (max-width: 768px) {
  header.fixedheader {
    top: 0;
    width: 100%;
    height: 60px;
    margin-top: 0;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.25);
    z-index: 10000;
  }
  header.fixedheader div.headerlogowrap {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    max-width: initial;
    width: 100%;
    height: 100%;
    margin: 0 auto;
  }
  header.fixedheader div.headerlogowrap .headerlogo {
    max-width: 35vw;
    max-height: 50px;
    margin: 0;
    padding: 0 0 0 0.5rem;
  }
  header.fixedheader div.headerlogowrap .headerlogo a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
  }
  header.fixedheader div.headerlogowrap .headerlogo a img {
    display: block;
    width: auto;
    max-height: 50px;
    margin: 0;
  }
  header.fixedheader div.headerlogowrap .headerlogo a span {
    display: none;
  }
  header.fixedheader div.headerlogowrap .headernavi__wrap, header.fixedheader div.headerlogowrap .contactbtn { /*PCナビ非表示*/
    display: none;
  }
  header.fixedheader div.headerlogowrap div.spnavigation {
    display: block;
    height: 80%;
    padding-right: 0.5em;
    /* ボタン本体 */
    /* アイコンの線用コンテナ（中線は使わない＝透明） */
    /* 2本線（before / after のみ使用） */
    /* 上の線 */
    /* 下の線 */
    /* 開いたとき：2本線をXに、文字をCLOSEに */
    /* ドロワー本体（既存） */
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-checkbox {
    display: none;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-icon {
    cursor: pointer;
    display: inline-block;
    position: relative;
    width: 50px;
    height: 56px; /* テキスト分を少し高めに */
    z-index: 100;
    /* 下に出すラベル文字（MENU/CLOSE） */
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-icon::after {
    content: "MENU";
    position: absolute;
    left: 50%;
    bottom: 12px; /* 線の下に表示 */
    transform: translateX(-50%);
    font-size: 10px;
    letter-spacing: 0.12em;
    color: #3D62AD;
    transition: color 0.3s ease, opacity 0.3s ease;
    opacity: 1;
    pointer-events: none;
    text-transform: uppercase;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-icon span {
    position: absolute;
    left: 50%;
    top: 16px; /* 全体の上寄せ位置 */
    width: 84%;
    height: 2px;
    margin-left: -42%;
    background: transparent; /* 中線は表示しない */
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-icon span::before,
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-icon span::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 100%;
    height: 100%;
    margin-left: -50%;
    background: #3D62AD;
    border-radius: 10px;
    transition: transform 0.3s ease-in-out, background-color 0.3s ease-in-out;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-icon span::before {
    transform: translateY(-3px);
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-icon span::after {
    transform: translateY(6px);
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-checkbox:checked ~ #drawer-icon span::before {
    transform: translateY(3px) rotate(25deg);
    background-color: #fff;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-checkbox:checked ~ #drawer-icon span::after {
    transform: translateY(3px) rotate(-25deg);
    background-color: #fff;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-checkbox:checked ~ #drawer-icon::after {
    content: "CLOSE";
    color: #fff;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-content {
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 40;
    width: 100%;
    height: 100%;
    background-color: rgba(61, 98, 173, 0.95);
    padding: 0;
    color: #fff;
    transition: all 0.3s ease-in-out 0s;
    transform: translateY(-100%);
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-content .spnavi__wrap {
    margin-top: 5rem;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-content .spnavi__wrap a {
    color: #fff;
    text-decoration: none;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-content .spnavi__wrap .spnavi__page {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-content .spnavi__wrap .spnavi__page div {
    width: 50%;
    height: 70px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-content .spnavi__wrap .spnavi__page div a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-content .spnavi__wrap .spnavi__page div:nth-child(odd) {
    border-right: 1px solid rgba(255, 255, 255, 0.2);
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-content .spnavi__wrap .spnavi__contact {
    height: 70px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    vertical-align: middle;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-content .spnavi__wrap .spnavi__contact a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-content .spnavi__wrap .spnavi__contact a span {
    margin-right: 0.5rem;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-content .spnavi__wrap .spnav__tel {
    margin-top: 2.5rem;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-content .spnavi__wrap .spnav__tel p {
    margin: 0;
    padding: 0;
    text-align: center;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-content .spnavi__wrap .spnav__tel p.spnav__telnumber span {
    margin-left: 0.5rem;
    font-size: 22px;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-content .spnavi__wrap .spnav__tel p.spnav__teltime {
    margin-top: 0.5rem;
    font-size: 14px;
    font-weight: 300;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-checkbox:checked ~ #drawer-content {
    transform: translateY(0);
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-close {
    display: none;
    position: fixed;
    z-index: 39;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    transition: all 0.3s ease-in-out 0s;
  }
  header.fixedheader div.headerlogowrap div.spnavigation #drawer-checkbox:checked ~ #drawer-close {
    display: block;
    opacity: 0.3;
  }
} /*768*/
/* フッター上の問い合わせリンク
--------------------------------------------- */
section.footercontact {
  padding: 60px 0;
  background-color: #D7DFF0;
}
section.footercontact .footercontact__inner {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
section.footercontact .footercontact__intro {
  margin: 0;
  text-align: center;
}
section.footercontact .footercontact__contents {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
}
section.footercontact .footercontact__contents .footercontact__form a {
  display: block;
  padding: 1em 2em;
  border: 1px solid #E95C79;
  color: #E95C79;
  text-decoration: none;
  transition: 0.3s;
}
section.footercontact .footercontact__contents .footercontact__form a span {
  vertical-align: middle;
  margin-right: 0.3rem;
}
section.footercontact .footercontact__contents .footercontact__form a:hover {
  background-color: #E95C79;
  color: #fff;
}
section.footercontact .footercontact__contents .footercontact__tel p {
  margin: 0;
  text-align: center;
  color: #3D62AD;
}
section.footercontact .footercontact__contents .footercontact__tel p.footercontact__telno a {
  text-decoration: none;
  color: #3D62AD;
}
section.footercontact .footercontact__contents .footercontact__tel p.footercontact__telno a span {
  margin-left: 0.3rem;
  font-size: 22px;
  font-weight: 500;
}
section.footercontact .footercontact__contents .footercontact__tel p.footercontact__teltime {
  font-size: 14px;
  font-weight: 300;
}
section.footercontact .footercontact__contents .footercontact__fax p {
  margin: 0;
  text-align: center;
  color: #3D62AD;
}
section.footercontact .footercontact__contents .footercontact__fax p.footercontact__faxno span {
  margin-left: 0.3rem;
  font-size: 22px;
  font-weight: 500;
}

@media only screen and (max-width: 768px) {
  section.footercontact {
    padding: 30px 0;
  }
  section.footercontact .footercontact__inner {
    margin: 0 auto;
  }
  section.footercontact .footercontact__contents {
    flex-direction: column;
    margin-top: 20px;
  }
  section.footercontact .footercontact__contents .footercontact__form a {
    padding: 1em 2em;
  }
  section.footercontact .footercontact__contents .footercontact__form a span {
    margin-right: 0.3rem;
  }
  section.footercontact .footercontact__contents .footercontact__tel {
    margin-top: 20px;
  }
  section.footercontact .footercontact__contents .footercontact__fax {
    display: none;
  }
}
/* フッター
--------------------------------------------- */
footer.site-footer {
  padding: 3rem 0 2rem;
  color: #fff;
  background-color: #3D62AD;
}
footer.site-footer .footer__wrap {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
footer.site-footer .footer__wrap .footer__company {
  width: -moz-fit-content;
  width: fit-content;
}
footer.site-footer .footer__wrap .footer__company div.footerlogo a img {
  display: block;
  max-width: 200px;
  margin: 0 auto;
}
footer.site-footer .footer__wrap .footer__company dl {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: -moz-fit-content;
  width: fit-content;
  margin: 1rem 0 0;
  padding: 0;
}
footer.site-footer .footer__wrap .footer__company dl dt {
  width: 6rem;
  margin: 0;
  padding: 0;
  font-weight: 400;
}
footer.site-footer .footer__wrap .footer__company dl dd {
  margin: 0;
  padding: 0;
  font-weight: 300;
}
footer.site-footer .footer__wrap .footer__navi {
  width: 55%;
}
footer.site-footer .footer__wrap .footer__navi ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 3rem 3rem 3rem;
}
footer.site-footer .footer__wrap .footer__navi ul li {
  margin: 0;
  padding: 0;
}
footer.site-footer .footer__wrap .footer__navi ul li a {
  color: #fff;
  text-decoration: none;
}
footer.site-footer .footer__wrap .footer__navi ul li a:hover {
  text-decoration: underline;
}
footer.site-footer .footer__cpr {
  width: 90%;
  max-width: 1200px;
  margin: 1rem auto 0;
  font-size: 12px;
  font-weight: 200;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  footer.site-footer {
    padding: 3rem 0 1rem;
  }
  footer.site-footer .footer__wrap {
    flex-direction: column;
  }
  footer.site-footer .footer__wrap .footer__company {
    width: 40%;
  }
  footer.site-footer .footer__wrap .footer__company div.footerlogo a img {
    max-width: 200px;
  }
  footer.site-footer .footer__wrap .footer__company dl {
    display: none;
  }
  footer.site-footer .footer__wrap .footer__navi {
    width: 100%;
  }
  footer.site-footer .footer__wrap .footer__navi ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 3rem 3rem 3rem 3rem;
    position: relative;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    margin: 2rem 0 0;
    padding: 0;
    list-style: none;
    font-weight: 300;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  footer.site-footer .footer__wrap .footer__navi ul li {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  footer.site-footer .footer__wrap .footer__navi ul li:nth-child(odd) {
    border-right: 1px solid rgba(255, 255, 255, 0.2);
  }
  footer.site-footer .footer__wrap .footer__navi ul li a {
    color: #fff;
    text-decoration: none;
  }
  footer.site-footer .footer__cpr {
    margin: 1rem auto 0;
    font-size: 10px;
  }
}
/* ヒーローセクション
--------------------------------------------- */
section.hero-sp {
  width: 100%;
  height: calc(100vh - 60px);
  overflow: hidden;
}
section.hero-sp .hero-sp__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
}
section.hero-sp .hero-sp__inner .hero-sp__bg {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
  transition: opacity 1s ease;
  will-change: opacity;
}
section.hero-sp .hero-sp__inner .bgbeta {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
}
section.hero-sp .hero-sp__inner img {
  position: relative;
  display: block;
  width: 65%;
  z-index: 2;
}

section.hero-pc {
  width: 100%;
  height: calc(100vh - 120px);
  overflow: hidden;
}
section.hero-pc .hero-pc__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  background: url("../../uploads/2025/10/demo_spbg.jpg");
  background-position: center center;
  background-size: cover;
}
section.hero-pc .hero-pc__inner video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  background-size: cover;
  background-position: center;
}
section.hero-pc .hero-pc__inner .bgbeta {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}
section.hero-pc .hero-pc__inner img {
  position: relative;
  display: block;
  width: clamp(400px, 70%, 800px);
}

/* トップページ
--------------------------------------------- */
section.homeabout {
  padding: 80px 0;
  background-image: url("../../uploads/2025/11/homeabout_bg.jpg");
  background-position: center bottom;
  background-size: contain;
  background-repeat: no-repeat;
}
section.homeabout .homeabout__title {
  padding-bottom: 0.3em;
  border-bottom: 1px solid #3D62AD;
  text-align: left;
}
section.homeabout .homeabout__inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
section.homeabout .homeabout__text {
  width: 50%;
}
section.homeabout .homeabout__text .homeabout__content--main {
  margin: 2rem 0 0;
}
section.homeabout .homeabout__text .homeabout__content--sub {
  margin: 1rem 0 0;
}
section.homeabout .homeabout__text h3 {
  max-width: 250px;
  margin: 3rem 0 0;
  padding: 0.3em 0;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
  color: #3D62AD;
  border: 1px solid #3D62AD;
}
section.homeabout .homeabout__text h4 {
  margin: 1rem 0 0;
  font-size: 18px;
  font-weight: 500;
  color: #E95C79;
}
section.homeabout .homeabout__text ul {
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}
section.homeabout .homeabout__text ul li::before {
  margin-right: 0.5rem;
  font-family: "Material Symbols Outlined";
  content: "check_box";
  vertical-align: middle;
  font-size: 20px;
}
section.homeabout .homeabout__text .homeabout__spimg1, section.homeabout .homeabout__text .homeabout__spimg2 {
  display: none;
}
section.homeabout .homeabout__image {
  width: 45%;
}
section.homeabout .homeabout__image .homeabout__imageinner {
  position: relative;
  margin-top: -30px;
  height: calc(100% + 30px);
}
section.homeabout .homeabout__image .homeabout__imageinner div {
  position: absolute;
  width: 80%;
  height: 320px;
  overflow: hidden;
}
section.homeabout .homeabout__image .homeabout__imageinner div:nth-child(1) {
  left: 0;
  top: 0;
}
section.homeabout .homeabout__image .homeabout__imageinner div:nth-child(2) {
  right: 0;
  top: 33.3333333333%;
}
section.homeabout .homeabout__image .homeabout__imageinner div:nth-child(3) {
  left: 0;
  bottom: 0;
}
section.homeabout .homeabout__image .homeabout__imageinner img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media only screen and (max-width: 768px) {
  section.homeabout {
    padding: 50px 0;
    background-size: 180%;
  }
  section.homeabout .homeabout__title {
    padding-bottom: 0;
    border-bottom: 0;
    text-align: center;
  }
  section.homeabout .homeabout__inner {
    display: block;
    margin: 0 auto;
  }
  section.homeabout .homeabout__text {
    width: 100%;
  }
  section.homeabout .homeabout__text .homeabout__content--main {
    margin: 2rem 0 0;
  }
  section.homeabout .homeabout__text .homeabout__content--sub {
    margin: 1rem 0 0;
  }
  section.homeabout .homeabout__text h3 {
    max-width: 250px;
    margin: 3rem auto 0;
    padding: 0.3em 0;
    text-align: center;
  }
  section.homeabout .homeabout__text h4 {
    margin: 1rem 0 0;
  }
  section.homeabout .homeabout__text ul {
    margin: 1rem 0 0;
  }
  section.homeabout .homeabout__text .homeabout__spimg1 {
    position: relative;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    display: flex;
    flex-wrap: nowrap;
    margin-top: 1rem;
  }
  section.homeabout .homeabout__text .homeabout__spimg1 img {
    display: block;
    width: 50%;
  }
  section.homeabout .homeabout__text .homeabout__spimg2 {
    display: block;
    width: 60%;
    margin: 1rem auto 0;
  }
  section.homeabout .homeabout__text .homeabout__spimg2 img {
    display: block;
    width: 100%;
  }
  section.homeabout .homeabout__image {
    display: none;
  }
}
section.homemidlink .homemidlink__inner {
  display: flex;
  flex-wrap: nowrap;
}
section.homemidlink .homemidlink__company {
  display: flex;
  align-items: center;
  width: 50%;
  height: 300px;
  background-color: #3D62AD;
  background-image: url("../../uploads/2025/11/homemidlink__company_bg.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
section.homemidlink .homemidlink__company .homemidlink__innerinner {
  width: 100%;
  max-width: 600px;
  margin: 0 0 0 auto;
}
section.homemidlink .homemidlink__company .homemidlink__innerinner p {
  margin: 0;
  color: #fff;
}
section.homemidlink .homemidlink__business {
  display: flex;
  align-items: center;
  width: 50%;
  height: 300px;
  background-color: #3D62AD;
  background: center center/cover no-repeat url("../../uploads/2025/11/homemidlink__business_bg.jpg");
}
section.homemidlink .homemidlink__business .homemidlink__innerinner {
  width: 100%;
  max-width: 600px;
  margin: 0 auto 0 0;
}
section.homemidlink .homemidlink__business .homemidlink__innerinner p {
  margin: 0;
  color: #fff;
}
section.homemidlink p {
  margin: 0;
  text-align: center;
}
section.homemidlink .homemidlinkbtn {
  max-width: 320px;
  margin-top: 1rem;
}
section.homemidlink .homemidlinkbtn a {
  color: #3D62AD;
  background: rgba(255, 255, 255, 0.8);
}
section.homemidlink .homemidlinkbtn a:hover {
  background: rgb(255, 255, 255);
}

@media only screen and (max-width: 768px) {
  section.homemidlink .homemidlink__inner {
    flex-direction: column;
  }
  section.homemidlink .homemidlink__company {
    width: 100%;
    height: 230px;
  }
  section.homemidlink .homemidlink__company .homemidlink__innerinner {
    margin: 0;
  }
  section.homemidlink .homemidlink__business {
    width: 100%;
    height: 230px;
  }
  section.homemidlink .homemidlink__business .homemidlink__innerinner {
    margin: 0;
  }
}
section.homeworks {
  padding: 80px 0;
  background: center center/cover no-repeat url("../../uploads/2025/11/homeworks_bg.jpg");
}
section.homeworks .homeworks-images {
  width: 100%;
  margin-top: 3rem;
  overflow: hidden;
  position: relative;
  height: 390px;
}
section.homeworks .homeworks-images__inner {
  display: inline-flex;
  gap: 20px;
  position: absolute;
  left: 0;
  top: 0;
}
section.homeworks .homeworks-images__inner img {
  display: block;
  width: 300px;
  height: 390px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

@media only screen and (max-width: 768px) {
  section.homeworks {
    padding: 40px 0;
  }
  section.homeworks .homeworks-images {
    margin-top: 2rem;
    height: 180px;
  }
  section.homeworks .homeworks-images__inner {
    gap: 10px;
  }
  section.homeworks .homeworks-images__inner img {
    width: 120px;
    height: 180px;
  }
}
section.homeequipment {
  padding: 70px 0;
  background: #ddd;
}
section.homeequipment .homeequipment__inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
section.homeequipment .homeequipment__image {
  width: calc((100% - 80px) / 2);
}
section.homeequipment .homeequipment__image img {
  display: block;
  width: 100%;
}
section.homeequipment .homeequipment__contents {
  width: calc((100% - 80px) / 2);
}
section.homeequipment .homeequipment__contents p {
  margin: 2rem 0 0;
  font-size: 18px;
  text-align: center;
}
section.homeequipment .homeequipment__contents .homeequipment__spimg {
  display: none;
}

@media only screen and (max-width: 768px) {
  section.homeequipment {
    padding: 30px 0;
  }
  section.homeequipment .homeequipment__inner {
    flex-direction: column;
  }
  section.homeequipment .homeequipment__image {
    width: 100%;
  }
  section.homeequipment .homeequipment__image img {
    display: none;
  }
  section.homeequipment .homeequipment__contents {
    width: 100%;
  }
  section.homeequipment .homeequipment__contents p {
    margin: 1rem 0 0;
    font-size: 16px;
    text-align: left;
  }
  section.homeequipment .homeequipment__contents p br {
    display: none;
  }
  section.homeequipment .homeequipment__contents .homeequipment__spimg {
    display: block;
    width: 75%;
    margin: 1rem auto 0;
  }
}
section.homenews {
  padding: 70px 0;
  background: left center/contain no-repeat url("../../uploads/2025/11/honenews_bg.jpg");
}
section.homenews .homenews__inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 60px;
  background: #D7DFF0;
}
section.homenews .homenews__title {
  width: calc((100% - 80px) * 0.3);
}
section.homenews .homenews__title h2.naga-bluemds {
  width: 100%;
  text-align: left;
}
section.homenews .homenews__title p {
  margin: 2rem 0 0;
}
section.homenews .homenews__title p span {
  vertical-align: middle;
}
section.homenews .homenews__list {
  width: calc((100% - 80px) * 0.7);
}
section.homenews .homenews__list .recent-posts-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #999;
}
section.homenews .homenews__list .recent-posts-list li {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 1rem;
  border-bottom: 1px solid #999;
}
section.homenews .homenews__list .recent-post-date {
  display: block;
  width: 9em;
}
section.homenews .homenews__list .recent-post-title {
  display: block;
  width: auto;
}

@media only screen and (max-width: 768px) {
  section.homenews {
    padding: 50px 0;
    background: center center/cover no-repeat url("../../uploads/2025/11/honenews_bg.jpg");
  }
  section.homenews .homenews__inner {
    flex-direction: column;
    padding: 0;
    background: transparent;
  }
  section.homenews .homenews__title {
    width: 100%;
  }
  section.homenews .homenews__title h2.naga-bluemds {
    text-align: center;
  }
  section.homenews .homenews__title p {
    margin: 1rem 0 0;
    text-align: right;
  }
  section.homenews .homenews__list {
    width: 100%;
  }
  section.homenews .homenews__list .recent-posts-list {
    margin-top: 2rem;
    border-top: 1px solid #999;
  }
  section.homenews .homenews__list .recent-posts-list li {
    flex-direction: column;
    padding: 1rem;
    border-bottom: 1px solid #999;
  }
  section.homenews .homenews__list .recent-post-date {
    display: block;
    width: 9em;
  }
  section.homenews .homenews__list .recent-post-title {
    display: block;
    width: auto;
  }
}
section.homerecruit {
  padding: 60px 0;
  background: #EDDBE2;
}
section.homerecruit .homerecruit__inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
section.homerecruit .recruitmds {
  font-family: "noto serif jp";
  font-size: 36px;
  font-weight: 600;
  text-align: center;
}
section.homerecruit .recruitmds strong {
  font-weight: 600;
  background: linear-gradient(transparent 70%, #F19DAE 70%);
}
section.homerecruit .homerecruitcont__wrap {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-end;
}
section.homerecruit .homerecruitcont__contents {
  width: calc((100% - 100px) * 0.4);
}
section.homerecruit .homerecruitcont__contents p {
  font-size: 20px;
  text-align: center;
  line-height: 2em;
}
section.homerecruit .homerecruitcont__image {
  width: calc((100% - 100px) * 0.6);
}
section.homerecruit .homerecruitcont__image img {
  display: block;
  width: 100%;
}

@media only screen and (max-width: 768px) {
  section.homerecruit {
    padding: 40px 0;
  }
  section.homerecruit .recruitmds {
    font-size: 26px;
  }
  section.homerecruit .homerecruitcont__wrap {
    flex-direction: column-reverse;
  }
  section.homerecruit .homerecruitcont__contents {
    width: 100%;
  }
  section.homerecruit .homerecruitcont__contents p {
    font-size: 16px;
    text-align: center;
    line-height: 1.8em;
  }
  section.homerecruit .homerecruitcont__image {
    width: 100%;
  }
  section.homerecruit .homerecruitcont__image img {
    width: 80%;
    margin: 0 auto;
  }
}
/* 会社情報
--------------------------------------------- */
section.companyphilosophy {
  padding: 80px 0;
}
section.companyphilosophy .companyphilosophy__inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
section.companyphilosophy .companyphilosophy__title {
  width: 25%;
  min-width: 220px;
}
section.companyphilosophy .companyphilosophy__title h2 {
  margin: 0;
  font-family: "noto serif jp";
  font-size: 40px;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1em;
  color: #3D62AD;
}
section.companyphilosophy .companyphilosophy__title p {
  margin: 10px 0 0;
  font-family: "Encode Sans SC";
  font-size: 14px;
  line-height: 1em;
}
section.companyphilosophy .readmore {
  width: 75%;
}
section.companyphilosophy .readmore h3 {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 50px 0 0;
  padding: 0.3em 35px;
  font-size: 22px;
  font-weight: 600;
  color: #BB5F71;
}
section.companyphilosophy .readmore h3:first-child {
  margin: 0;
}
section.companyphilosophy .readmore h3::before, section.companyphilosophy .readmore h3::after {
  position: absolute;
  width: 15px;
  height: 30px;
  content: "";
}
section.companyphilosophy .readmore h3::before {
  left: 0;
  top: 0;
  border-top: 1px solid #666;
  border-left: 1px solid #666;
}
section.companyphilosophy .readmore h3::after {
  right: 0;
  bottom: 0;
  border-bottom: 1px solid #666;
  border-right: 1px solid #666;
}
section.companyphilosophy .readmore p {
  margin: 20px 0 0;
  padding-left: 35px;
  font-size: 18px;
}
section.companyphilosophy .readmore dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 20px 0 0;
  padding-left: 35px;
  gap: 0.7rem 0;
}
section.companyphilosophy .readmore dl dt {
  width: 12rem;
  font-weight: 500;
  color: #3D62AD;
}
section.companyphilosophy .readmore dl dt::before {
  font-family: "Material Symbols Outlined";
  content: "circle_circle";
  font-size: 14px;
  vertical-align: middle;
  margin-right: 0.3rem;
}
section.companyphilosophy .readmore dl dd {
  width: calc(100% - 12rem);
  margin: 0;
}
section.companyphilosophy .readmore .readmore__btn {
  display: none;
}

.company-mp {
  background: #E3E7F2;
  background-image: url("../../uploads/2025/11/whitelogo_company_bg.svg");
  background-position: -100px 50%;
  background-repeat: no-repeat;
  background-size: 60% auto;
}

.company-qp {
  background: #F9ECEF;
  background-image: url("../../uploads/2025/11/chip_company_bg.svg");
  background-position: right -50px top 50%;
  background-repeat: no-repeat;
  background-size: auto 70%;
}

@media only screen and (max-width: 768px) {
  section.companyphilosophy {
    padding: 50px 0;
  }
  section.companyphilosophy .companyphilosophy__inner {
    flex-direction: column;
  }
  section.companyphilosophy .companyphilosophy__title {
    width: 100%;
    text-align: center;
  }
  section.companyphilosophy .companyphilosophy__title h2 {
    font-size: 32px;
  }
  section.companyphilosophy .companyphilosophy__title p {
    margin: 10px 0 0;
    font-size: 12px;
  }
  section.companyphilosophy .readmore {
    width: 100%;
  }
  section.companyphilosophy .readmore h3 {
    margin: 30px auto 0;
    padding: 0.3em 20px;
    font-size: 18px;
  }
  section.companyphilosophy .readmore h3:first-child {
    margin: 30px auto 0;
  }
  section.companyphilosophy .readmore h3::before, section.companyphilosophy .readmore h3::after {
    position: absolute;
    width: 10px;
    height: 20px;
    content: "";
  }
  section.companyphilosophy .readmore h3::before {
    left: 0;
    top: 0;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
  }
  section.companyphilosophy .readmore h3::after {
    right: 0;
    bottom: 0;
    border-bottom: 1px solid #666;
    border-right: 1px solid #666;
  }
  section.companyphilosophy .readmore p {
    margin: 15px 0 0;
    padding-left: 0;
    font-size: 16px;
  }
  section.companyphilosophy .readmore dl {
    flex-direction: column;
    margin: 15px 0 0;
    padding-left: 0;
    gap: 0.7rem 0;
  }
  section.companyphilosophy .readmore dl dt {
    width: 100%;
  }
  section.companyphilosophy .readmore dl dt::before {
    margin-right: 0.3rem;
  }
  section.companyphilosophy .readmore dl dd {
    width: 100%;
    margin: 0;
  }
  section.companyphilosophy .readmore .readmore__btn {
    display: block;
  }
  .company-mp {
    background-position: -50px 100px;
    background-size: 100% auto;
  }
  .company-qp {
    background-position: right -100px top 100px;
    background-size: 100% auto;
  }
}
section.companyinfo {
  background-image: url("../../uploads/2025/11/companyinfo_bg.svg");
  background-position: 0 -300px;
  background-repeat: repeat-y;
  background-size: cover;
}

.president {
  padding: 80px 0;
}
.president .president__inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 90%;
  max-width: 1000px;
  margin: 50px auto 0;
}
.president .president__image {
  width: 30%;
}
.president .president__image img {
  display: block;
  width: 100%;
}
.president .president__comment {
  width: 60%;
}
.president .president__comment p {
  margin: 0;
  font-size: 18px;
  line-height: 2em;
}
.president .president__comment .president__comment--name {
  margin-top: 20px;
  font-family: "noto serif jp";
}
.president .president__comment .president__comment--name span {
  margin-left: 1em;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.2em;
}

@media only screen and (max-width: 768px) {
  .president {
    padding: 50px 0;
  }
  .president .president__inner {
    flex-direction: column;
    margin: 30px auto 0;
  }
  .president .president__image {
    width: 50%;
    margin: 0 auto;
  }
  .president .president__comment {
    width: 100%;
    margin-top: 20px;
  }
  .president .president__comment p {
    font-size: 16px;
    line-height: 1.8em;
  }
  .president .president__comment .president__comment--name {
    margin-top: 15px;
    text-align: center;
  }
  .president .president__comment .president__comment--name span {
    margin-left: 1em;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.2em;
  }
}
.companypf {
  padding: 80px 0;
}
.companypf .companypf__inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 90%;
  max-width: 1200px;
  margin: 50px auto 0;
}
.companypf .companypf__image {
  width: 38%;
}
.companypf .companypf__content {
  width: 55%;
}
.companypf .companypf__dl1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  margin: 0;
  border-bottom: 1px solid #999;
}
.companypf .companypf__dl1 > dt {
  width: 22%;
  min-width: 5em;
  padding: 1em;
  padding-left: 0;
  border-top: 1px solid #999;
  font-weight: 500;
  text-align: center;
}
.companypf .companypf__dl1 > dd {
  width: 78%;
  margin: 0;
  padding: 1em;
  padding-right: 0;
  border-top: 1px solid #999;
}
.companypf .companypf__dl2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  margin: 0;
}
.companypf .companypf__dl2 dt {
  width: 25%;
  min-width: 6em;
  font-weight: 400;
}
.companypf .companypf__dl2 dd {
  width: 75%;
  margin: 0;
}

@media only screen and (max-width: 768px) {
  .companypf {
    padding: 50px 0;
  }
  .companypf .companypf__inner {
    flex-direction: column;
    margin: 30px auto 0;
  }
  .companypf .companypf__image {
    width: 75%;
    margin: 0 auto;
  }
  .companypf .companypf__content {
    width: 100%;
  }
  .companypf .companypf__dl1 {
    flex-direction: column;
    margin: 20px 0 0;
    border-bottom: 1px solid #999;
  }
  .companypf .companypf__dl1 > dt {
    width: 100%;
    padding: 0.5em;
    padding-bottom: 0;
    text-align: left;
  }
  .companypf .companypf__dl1 > dd {
    width: 100%;
    margin: 0 0 0 1em;
    padding: 0.5em;
    padding-top: 0;
    border-top: 0;
  }
  .companypf .companypf__dl2 {
    flex-direction: column;
    margin: 0;
  }
  .companypf .companypf__dl2 dt {
    width: 7em;
    margin-top: 0.8em;
    text-align: center;
    color: #3D62AD;
    border: 1px solid #3D62AD;
  }
  .companypf .companypf__dl2 dd {
    width: 100%;
    margin: 0;
  }
}
.companyht {
  padding: 80px 0;
}
.companyht .companyht__inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 90%;
  max-width: 900px;
  margin: 50px auto 0;
}
.companyht .companyht__inner dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  margin: 0;
  border-bottom: 1px solid #999;
}
.companyht .companyht__inner dl dt {
  width: 25%;
  min-width: 5em;
  padding: 1em;
  padding-left: 0;
  border-top: 1px solid #999;
  font-weight: 400;
  text-align: center;
}
.companyht .companyht__inner dl dd {
  width: 75%;
  margin: 0;
  padding: 1em;
  padding-right: 0;
  border-top: 1px solid #999;
}

@media only screen and (max-width: 768px) {
  .companyht {
    padding: 50px 0;
  }
  .companyht .companyht__inner {
    flex-direction: column;
    margin: 30px auto 0;
  }
  .companyht .companyht__inner dl {
    flex-direction: column;
    margin: 20px 0 0;
    border-bottom: 1px solid #999;
  }
  .companyht .companyht__inner dl dt {
    width: 100%;
    padding: 0.5em;
    padding-bottom: 0;
    text-align: left;
  }
  .companyht .companyht__inner dl dd {
    width: 100%;
    margin: 0 0 0 1em;
    padding: 0.5em;
    padding-top: 0;
    border-top: 0;
  }
}
/* 設備紹介
--------------------------------------------- */
section.equipment__intro {
  padding: 80px 0;
}

@media only screen and (max-width: 768px) {
  section.equipment__intro {
    padding: 30px 0;
  }
}
section.equipmentmutus {
  padding: 80px 0;
  background-color: #f6f6f6;
}
section.equipmentmutus .equipmentmutus__inner {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
section.equipmentmutus .equipmentmutus__content {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
section.equipmentmutus .equipmentmutus__text {
  width: 42%;
}
section.equipmentmutus .equipmentmutus__text .mutus__subtitle {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0;
  padding: 0.1em 3em;
  border: 1px solid #333;
}
section.equipmentmutus .equipmentmutus__text h3 {
  margin: 5px 0 0;
  font-size: 36px;
  font-weight: 400;
}
section.equipmentmutus .equipmentmutus__text .mutus__subsubtitle {
  margin: 0;
}
section.equipmentmutus .equipmentmutus__text h4 {
  display: flex;
  align-items: center;
  margin: 20px 0 0;
  font-size: 20px;
  font-weight: 500;
}
section.equipmentmutus .equipmentmutus__text h4::after {
  content: "";
  height: 1px;
  margin-left: 1rem;
  flex-grow: 1;
  background-color: #333;
}
section.equipmentmutus .equipmentmutus__text dl {
  margin: 0;
}
section.equipmentmutus .equipmentmutus__text dl dt {
  margin: 1rem 0 0;
  font-weight: 500;
  color: #3D62AD;
}
section.equipmentmutus .equipmentmutus__text dl dd {
  margin: 0 0 0 1em;
}
section.equipmentmutus .equipmentmutus__text dl dd::before {
  font-family: "Material Symbols Outlined";
  content: "arrow_right";
  font-size: 20px;
  vertical-align: middle;
  margin-right: 0.5rem;
}
section.equipmentmutus .equipmentmutus__image {
  width: 55%;
}
section.equipmentmutus .equipmentmutus__image img {
  display: block;
  width: 100%;
}
section.equipmentmutus .equipmentmutus__movie {
  margin-top: 30px;
}
section.equipmentmutus .equipmentmutus__movie iframe {
  display: block;
  width: 600px;
  aspect-ratio: 16/9;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  section.equipmentmutus {
    padding: 50px 0;
  }
  section.equipmentmutus .equipmentmutus__content {
    flex-direction: column;
  }
  section.equipmentmutus .equipmentmutus__text {
    width: 100%;
  }
  section.equipmentmutus .equipmentmutus__text .mutus__subtitle {
    padding: 0 2em;
  }
  section.equipmentmutus .equipmentmutus__text h3 {
    margin: 5px 0 0;
    font-size: 32px;
  }
  section.equipmentmutus .equipmentmutus__text h4 {
    margin: 20px 0 0;
    font-size: 18px;
  }
  section.equipmentmutus .equipmentmutus__text dl {
    margin: 0;
  }
  section.equipmentmutus .equipmentmutus__text dl dt {
    margin: 1rem 0 0;
  }
  section.equipmentmutus .equipmentmutus__text dl dd {
    margin: 0 0 0 0.5em;
  }
  section.equipmentmutus .equipmentmutus__image {
    width: 100%;
    margin-top: 20px;
  }
  section.equipmentmutus .equipmentmutus__movie {
    margin-top: 20px;
  }
  section.equipmentmutus .equipmentmutus__movie iframe {
    width: 100%;
  }
}
section.equipmentlist {
  padding: 80px 0;
}
section.equipmentlist .equipmentlist__inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
section.equipmentlist .equipmentlist__content {
  max-width: 1000px;
  margin: 30px auto 0;
}
section.equipmentlist .equipmentlist__content .equipmentlist__spnote {
  display: none;
}
section.equipmentlist .equipmentlist__header {
  display: grid;
  grid-template-columns: 250px 324px 324px 99px;
  gap: 1px;
  background-color: #999;
  color: #fff;
}
section.equipmentlist .equipmentlist__header div {
  padding: 0.8rem 0;
  font-weight: 500;
  text-align: center;
  background-color: #3D62AD;
}
section.equipmentlist .equipmentlist__list {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  width: 1000px;
}
section.equipmentlist .equipmentlist__list h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 250px;
  margin: 0;
  background-color: rgba(61, 98, 173, 0.15);
  font-size: 16px;
  font-weight: 400;
  border: 1px solid #999;
  border-top: 0;
  border-right: 0;
}
section.equipmentlist .equipmentlist__list table {
  width: 750px;
  margin: 0;
  border-collapse: collapse;
}
section.equipmentlist .equipmentlist__list table tr th {
  display: none;
}
section.equipmentlist .equipmentlist__list table tr td {
  padding: 0.8rem 0;
  border: 0;
  background-color: #fff;
  border: 1px solid #999;
  text-align: center;
}
section.equipmentlist .equipmentlist__list table tr td.column-1, section.equipmentlist .equipmentlist__list table tr td .column-2 {
  width: 325px;
}
section.equipmentlist .equipmentlist__list table tr td.column-3 {
  width: 100px;
}
section.equipmentlist .equipmentlist__list table tr:first-child td {
  border-top: 0;
}
section.equipmentlist .equipmentlist__list table caption {
  display: none;
}

@media only screen and (max-width: 768px) {
  section.equipmentlist {
    padding: 50px 0;
  }
  section.equipmentlist .equipmentlist__content {
    margin: 30px auto 0;
  }
  section.equipmentlist .equipmentlist__content .equipmentlist__spnote {
    display: block;
    margin: 0 0 5px;
    font-size: 14px;
    text-align: center;
  }
  section.equipmentlist .equipmentlist__header {
    display: none;
  }
  section.equipmentlist .equipmentlist__list {
    flex-direction: column;
    width: 100%;
  }
  section.equipmentlist .equipmentlist__list h3 {
    position: relative;
    width: 100%;
    height: 3em;
    margin: 1px 0 0;
    background-color: #3D62AD;
    font-weight: 500;
    color: #fff;
    border: 0;
  }
  section.equipmentlist .equipmentlist__list h3::before {
    position: absolute;
    left: 10px;
    top: 0;
    margin-right: 0.5rem;
    font-family: "Material Symbols Outlined";
    content: "expand_circle_down";
    font-size: 26px;
    transition: 0.3s;
  }
  section.equipmentlist .equipmentlist__list .equipmentlist__trigger.is-open::before {
    transform: rotate(-180deg);
  }
  section.equipmentlist .equipmentlist__list table {
    width: 100%;
    margin: 3px 0 10px;
  }
  section.equipmentlist .equipmentlist__list table tr th {
    display: table-cell;
    padding: 0.2em 0;
    border: 1px solid #999;
    font-size: 14px;
    font-weight: 400;
    text-align: center;
    background-color: #ccc;
  }
  section.equipmentlist .equipmentlist__list table tr td {
    padding: 0.5rem 0;
    border: 0;
    background-color: #fff;
    border: 1px solid #999;
    font-size: 14px;
    text-align: center;
  }
  section.equipmentlist .equipmentlist__list table tr td.column-1, section.equipmentlist .equipmentlist__list table tr td .column-2 {
    width: 41%;
  }
  section.equipmentlist .equipmentlist__list table tr td.column-3 {
    width: 18%;
  }
  section.equipmentlist .equipmentlist__list table tr:first-child td {
    border-top: 1px solid #999;
  }
  section.equipmentlist .equipmentlist__list table caption {
    display: none;
  }
}
/* 事業内容
--------------------------------------------- */
section.business-sm {
  padding: 80px 0;
}
section.business-sm .business-sm__inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  width: 90%;
  max-width: 1200px;
  margin: 30px auto;
}
section.business-sm .business-sm__image {
  width: 45%;
}
section.business-sm .business-sm__image img {
  display: block;
  width: 100%;
}
section.business-sm .business-sm__content {
  width: 49%;
}
section.business-sm .business-sm__content p {
  margin: 0;
  font-size: 18px;
  line-height: 2em;
}

@media only screen and (max-width: 768px) {
  section.business-sm {
    padding: 50px 0;
  }
  section.business-sm .business-sm__inner {
    flex-direction: column;
    margin: 20px auto;
  }
  section.business-sm .business-sm__image {
    width: 80%;
    margin: 0 auto;
  }
  section.business-sm .business-sm__content {
    width: 100%;
    margin-top: 15px;
  }
  section.business-sm .business-sm__content p {
    font-size: 16px;
    line-height: 1.8em;
  }
}
section.business-dt {
  padding: 80px 0;
  background-image: url("../../uploads/2025/11/business-dt_bg.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
section.business-dt .business-dt__inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}
section.business-dt .business-dt__content {
  width: 45%;
}
section.business-dt .business-dt__headline {
  margin: 0;
  font-family: "noto serif jp";
  font-size: 24px;
  font-weight: 600;
  line-height: 1em;
  color: #fff;
}
section.business-dt .business-dt__headline::before {
  font-family: "noto sans jp";
  font-size: 60px;
  font-weight: 200;
  line-height: 1em;
  color: rgba(255, 255, 255, 0.3);
}
section.business-dt .budthl1::before {
  content: "01";
}
section.business-dt .budthl2::before {
  content: "02";
}
section.business-dt .business-dt__image {
  display: block;
  width: 100%;
  margin-top: 10px;
}
section.business-dt .business-dt__text {
  margin: 10px 0 0;
  color: #fff;
}

@media only screen and (max-width: 768px) {
  section.business-dt {
    padding: 50px 0;
  }
  section.business-dt .business-dt__inner {
    flex-direction: column;
  }
  section.business-dt .business-dt__content {
    width: 100%;
  }
  section.business-dt .business-dt__content:last-child {
    margin-top: 30px;
  }
  section.business-dt .business-dt__headline {
    font-size: 20px;
  }
  section.business-dt .business-dt__headline::before {
    font-size: 50px;
  }
  section.business-dt .business-dt__image {
    margin-top: 10px;
  }
  section.business-dt .business-dt__text {
    margin: 10px 0 0;
    color: #fff;
  }
}
section.production-process {
  position: relative;
  padding: 80px 0;
  background: linear-gradient(rgba(61, 98, 173, 0.15), rgba(241, 157, 174, 0.2));
}
section.production-process .production-process__inner {
  position: relative;
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
  z-index: 2;
}
section.production-process .production-process__title {
  width: calc(50% - 100px);
  min-width: 330px;
}
section.production-process .production-process__title h2 {
  max-width: 330px;
  margin: 0 auto;
  padding: 10px 0;
  border-top: 1px solid #333;
  font-size: 40px;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.2em;
  color: #3D62AD;
}
section.production-process .production-process__title h2 span {
  display: flex;
  align-items: center;
  font-family: "Encode Sans SC";
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  color: #E95C79;
}
section.production-process .production-process__title h2 span::before, section.production-process .production-process__title h2 span::after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #333;
}
section.production-process .production-process__title h2 span::before {
  margin-right: 15px;
}
section.production-process .production-process__title h2 span::after {
  margin-left: 15px;
}
section.production-process .production-process__title p {
  margin: 10px 0 0;
  text-align: center;
}
section.production-process .ppbg1, section.production-process .ppbg2 {
  position: absolute;
  width: 50%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  mix-blend-mode: darken;
  z-index: 1;
}
section.production-process .ppbg1 {
  left: 0;
  top: 0;
  background-image: url("../../uploads/2025/11/ppbg1.jpg");
  opacity: 0.08;
}
section.production-process .ppbg2 {
  right: 0;
  bottom: 0;
  background-image: url("../../uploads/2025/11/ppbg2.jpg");
  background-position: right bottom;
  opacity: 0.15;
}
section.production-process .production-process__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  margin: 50px auto 0;
  gap: 100px;
}
section.production-process .production-process__container .production-process__item {
  position: relative;
  height: 360px;
  padding: 30px;
  background: #fff;
  box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.25);
}
section.production-process .production-process__container .production-process__item:nth-child(odd) {
  margin-top: -220px;
}
section.production-process .production-process__container .production-process__item .ppnumber {
  position: absolute;
  right: 0;
  top: -60px;
  font-family: "Afacad";
  font-size: 200px;
  line-height: 1;
  font-style: italic;
  color: rgba(0, 0, 0, 0.05);
}
section.production-process .production-process__container .production-process__item img {
  display: block;
  max-width: 100px;
  margin: 0 auto;
}
section.production-process .production-process__container .production-process__item h3 {
  margin: 10px 0 0;
  font-size: 22px;
  font-weight: 500;
  text-align: center;
}
section.production-process .production-process__container .production-process__item p {
  margin: 10px 0 0;
  font-size: clamp(12px, 1.5vw, 16px);
}
section.production-process .production-process__container #step1 {
  order: 2;
}
section.production-process .production-process__container #step2 {
  order: 1;
}
section.production-process .production-process__container #step3 {
  order: 4;
}
section.production-process .production-process__container #step4 {
  order: 3;
}
section.production-process .production-process__container #step5 {
  order: 6;
}
section.production-process .production-process__container #step6 {
  order: 5;
}
section.production-process .production-process__container #step7 {
  order: 8;
}
section.production-process .production-process__container #step8 {
  order: 7;
}
section.production-process .production-process__footer {
  width: calc(50% - 100px);
  margin: -50px 0 0 auto;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  section.production-process {
    padding: 50px 0;
  }
  section.production-process .production-process__inner {
    margin: 0 auto;
  }
  section.production-process .production-process__title {
    width: 100%;
    min-width: 100%;
  }
  section.production-process .production-process__title h2 {
    max-width: 100%;
    font-size: 36px;
  }
  section.production-process .production-process__title h2 span {
    font-size: 14px;
  }
  section.production-process .production-process__title p {
    margin: 5px 0 0;
  }
  section.production-process .ppbg1, section.production-process .ppbg2 {
    width: 100%;
  }
  section.production-process .production-process__container {
    display: block;
    width: 100%;
    margin: 30px auto 0;
  }
  section.production-process .production-process__container .production-process__item {
    position: relative;
    height: 100%;
    margin-top: 20px;
    padding: 20px;
  }
  section.production-process .production-process__container .production-process__item:nth-child(odd) {
    margin-top: 20px;
  }
  section.production-process .production-process__container .production-process__item .ppnumber {
    position: absolute;
    right: 0;
    top: -35px;
    font-size: 150px;
  }
  section.production-process .production-process__container .production-process__item img {
    max-width: 80px;
  }
  section.production-process .production-process__container .production-process__item h3 {
    margin: 10px 0 0;
    font-size: 22px;
  }
  section.production-process .production-process__container .production-process__item p {
    margin: 10px 0 0;
    font-size: 16px;
  }
  section.production-process .production-process__footer {
    width: 100%;
    margin: 20px 0 0;
  }
  section.production-process .production-process__footer br {
    display: none;
  }
}
/* 加工実績
--------------------------------------------- */
section.workslist {
  width: 90%;
  max-width: 1200px;
  margin: 50px auto;
}
section.workslist .workslist__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-left: 1px solid #3D62AD;
  border-top: 1px solid #3D62AD;
}
section.workslist .workslist__box {
  padding: 40px;
  border-right: 1px solid #3D62AD;
  border-bottom: 1px solid #3D62AD;
}
section.workslist .workslist__box img {
  display: block;
}
section.workslist .workslist__box p {
  margin: 1em 0 0;
}

@media only screen and (max-width: 768px) {
  section.workslist {
    width: 100%;
    margin: 0;
  }
  section.workslist .workslist__inner {
    grid-template-columns: 1fr;
    border-left: none;
    border-top: none;
  }
  section.workslist .workslist__box {
    padding: 25px;
    border-right: none;
  }
  section.workslist .workslist__box p {
    margin: 0.5em 0 0;
  }
}
/* アクセス
--------------------------------------------- */
section.access-mainoffice {
  padding: 80px 0;
}
section.access-mainoffice .access-mainoffice__inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
section.access-mainoffice .access-mainoffice__inner h2 {
  width: 100%;
  margin: 0;
  text-align: left;
  letter-spacing: 0.2em;
}
section.access-mainoffice .access-mainoffice__inner p {
  margin: 0;
}

.access__mapcontainer {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  margin-top: 30px;
}
.access__mapcontainer .access__mapcontainer--left {
  width: 33%;
}
.access__mapcontainer .access__mapcontainer--left img {
  display: block;
  width: 100%;
}
.access__mapcontainer .access__mapcontainer--left img:last-child {
  margin-top: 30px;
}
.access__mapcontainer .access__mapcontainer--right {
  width: 60%;
}
.access__mapcontainer .access__mapcontainer--right iframe {
  display: block;
  width: 100%;
  height: 100%;
}

div.gglmap a::before {
  content: "pin_drop";
}

@media only screen and (max-width: 768px) {
  section.access-mainoffice {
    padding: 50px 0;
  }
  section.access-mainoffice .access-mainoffice__inner h2 {
    text-align: center;
  }
  section.access-mainoffice .access-mainoffice__inner p {
    font-size: 14px;
    text-align: center;
  }
  .access__mapcontainer {
    flex-direction: column;
    margin-top: 30px;
  }
  .access__mapcontainer .access__mapcontainer--left {
    width: 100%;
  }
  .access__mapcontainer .access__mapcontainer--left img:last-child {
    margin-top: 20px;
  }
  .access__mapcontainer .access__mapcontainer--right {
    height: 300px;
    margin-top: 20px;
    position: relative;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
  }
}
/* 採用情報
--------------------------------------------- */
section.recruit_intro {
  padding: 80px 0;
}
section.recruit_intro .recruit_intro__inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
section.recruit_intro .recruit_intro__image {
  display: block;
  width: 100%;
  max-width: 600px;
  margin: 30px auto 0;
}
section.recruit_intro .recruit_intro__list {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 50px;
}
section.recruit_intro .recruit_intro__merit {
  width: 30%;
}
section.recruit_intro .recruit_intro__merit h3 {
  position: relative;
  margin: 0 0 0 45px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1em;
  color: #3D62AD;
  z-index: 0;
}
section.recruit_intro .recruit_intro__merit h3::before {
  position: absolute;
  inset: 0;
  margin-left: -45px;
  font-family: "Material Symbols Outlined";
  content: "check_circle";
  font-size: 60px;
  vertical-align: middle;
  color: #F19DAE;
  opacity: 0.5;
  z-index: -1;
}
section.recruit_intro .recruit_intro__merit ul {
  margin: 20px 0 0 45px;
  padding-left: 1.5em;
}
div.recruitbtn a::before {
  content: "account_circle";
}

@media only screen and (max-width: 768px) {
  section.recruit_intro {
    padding: 50px 0;
  }
  section.recruit_intro .recruit_intro__image {
    width: 80%;
    margin: 20px auto 0;
  }
  section.recruit_intro .recruit_intro__list {
    flex-direction: column;
    margin-top: 0;
  }
  section.recruit_intro .recruit_intro__merit {
    width: 100%;
  }
  section.recruit_intro .recruit_intro__merit h3 {
    position: relative;
    margin: 30px 0 0 40px;
    font-size: 18px;
  }
  section.recruit_intro .recruit_intro__merit h3::before {
    margin-left: -40px;
    font-size: 60px;
  }
  section.recruit_intro .recruit_intro__merit ul {
    margin: 10px 0 0 40px;
  }
  section.recruit_intro .recruit_intro__merit ul li {
    font-size: 14px;
  }
}
section.recruitjd {
  padding: 80px 0;
  background-color: #f6f6f6;
}
section.recruitjd .tablepress-id-1 {
  width: 90%;
  max-width: 1000px;
  margin: 30px auto 0;
  border-collapse: collapse;
}
section.recruitjd .tablepress-id-1 tr td {
  padding: 1.5rem;
  vertical-align: middle;
}
section.recruitjd .tablepress-id-1 tr td.column-1 {
  width: 20%;
  min-width: 10rem;
  padding: 1.5rem 0;
  border-bottom: 3px solid #3D62AD;
  text-align: center;
}
section.recruitjd .tablepress-id-1 tr td.column-2 {
  width: 80%;
  border-bottom: 1px solid #3D62AD;
}
section.recruitjd .tablepress-id-1 tr td dl {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 1.5rem 0 0;
}
section.recruitjd .tablepress-id-1 tr td dl:first-child {
  margin: 0;
}
section.recruitjd .tablepress-id-1 tr td dl dt {
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 400;
}
section.recruitjd .tablepress-id-1 tr td dl dd {
  margin: 0;
}
section.recruitjd .tablepress-id-1 tr td dl dd ul {
  margin: 0;
  padding-left: 3rem;
}
section.recruitjd .tablepress-id-1 tr:first-child .column-1 {
  border-top: 3px solid #3D62AD;
}
section.recruitjd .tablepress-id-1 tr:first-child .column-2 {
  border-top: 1px solid #3D62AD;
}
section.recruitjd .tablepress-id-1 caption {
  display: none;
}

@media only screen and (max-width: 768px) {
  section.recruitjd {
    padding: 50px 0;
  }
  section.recruitjd .tablepress-id-1 {
    margin: 20px auto 0;
    border-bottom: 1px solid #3D62AD;
  }
  section.recruitjd .tablepress-id-1 tr {
    display: flex;
    flex-direction: column;
  }
  section.recruitjd .tablepress-id-1 tr td {
    padding: 0.5rem;
  }
  section.recruitjd .tablepress-id-1 tr td.column-1 {
    width: 100%;
    min-width: 100%;
    padding: 0.5rem;
    padding-bottom: 0;
    border-bottom: 0;
    border-top: 1px solid #3D62AD;
    font-weight: 500;
    text-align: left;
  }
  section.recruitjd .tablepress-id-1 tr td.column-2 {
    width: 100%;
    padding: 0 0 0.5rem 1.5rem;
    border: 0;
  }
  section.recruitjd .tablepress-id-1 tr td dl {
    flex-direction: column;
    margin: 1rem 0 0;
  }
  section.recruitjd .tablepress-id-1 tr td dl:first-child {
    margin: 0;
  }
  section.recruitjd .tablepress-id-1 tr td dl dt {
    width: -moz-fit-content;
    width: fit-content;
    font-weight: 400;
  }
  section.recruitjd .tablepress-id-1 tr td dl dd {
    margin: 0;
  }
  section.recruitjd .tablepress-id-1 tr td dl dd ul {
    margin: 0;
    padding-left: 2rem;
  }
  section.recruitjd .tablepress-id-1 tr:first-child .column-1 {
    border-top: 1px solid #3D62AD;
  }
  section.recruitjd .tablepress-id-1 tr:first-child .column-2 {
    border-top: 0;
  }
  section.recruitjd .tablepress-id-1 caption {
    display: none;
  }
}
section.no-openings {
  padding: 80px 0;
  background-color: #f6f6f6;
}
section.no-openings p {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  font-size: 18px;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  section.no-openings {
    padding: 50px 0;
  }
  section.no-openings p {
    font-size: 16px;
    text-align: left;
  }
  section.no-openings p br {
    display: none;
  }
}
/* お問い合わせ
--------------------------------------------- */
section.contacttel {
  padding: 80px 0;
  background-color: #f6f6f6;
}
section.contacttel .contacttel__inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
section.contacttel .contacttel__content {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  margin-top: 50px;
  border-left: 1px solid #999;
  border-right: 1px solid #999;
}
section.contacttel .contacttel__content > div {
  width: 50%;
  padding: 30px 0;
  text-align: center;
}
section.contacttel .contacttel__content > div .contacttel__num {
  margin: 0;
  font-size: 20px;
}
section.contacttel .contacttel__content > div .contacttel__num span {
  margin-left: 1rem;
  font-size: 34px;
  font-weight: 500;
}
section.contacttel .contacttel__content > div .contacttel__num a {
  color: #333;
  text-decoration: none;
}
section.contacttel .contacttel__content > div .contacttel__time {
  margin: 0;
}
section.contacttel .contacttel__content > div:first-child {
  border-right: 1px solid #999;
}

@media only screen and (max-width: 768px) {
  section.contacttel {
    padding: 50px 0;
  }
  section.contacttel .contacttel__content {
    flex-direction: column;
    margin-top: 30px;
    border: 0;
  }
  section.contacttel .contacttel__content > div {
    width: 100%;
    padding: 10px 0;
  }
  section.contacttel .contacttel__content > div .contacttel__num {
    margin: 0;
    font-size: 18px;
  }
  section.contacttel .contacttel__content > div .contacttel__num span {
    font-size: 28px;
  }
  section.contacttel .contacttel__content > div:first-child {
    border-right: 0;
  }
}
section.contactpp {
  scroll-margin-top: 120px;
  padding: 80px 0;
  background-color: #f6f6f6;
}
section.contactpp .contactpp__inner {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
section.contactpp .contactpp__inner .contactpp__content {
  margin-top: 30px;
}
section.contactpp .contactpp__inner h3 {
  font-size: 18px;
  font-weight: 500;
  margin: 1.5em 0 0;
}
section.contactpp .contactpp__inner p {
  margin: 0.5em 0 0;
}
section.contactpp .contactpp__inner ul {
  margin: 0;
  padding: 0 0 0 3em;
}

@media only screen and (max-width: 768px) {
  section.contactpp {
    scroll-margin-top: 60px;
    padding: 50px 0;
  }
  section.contactpp .contactpp__inner .contactpp__content {
    margin-top: 20px;
  }
  section.contactpp .contactpp__inner h3 {
    font-size: 16px;
  }
  section.contactpp .contactpp__inner p {
    font-size: 14px;
  }
  section.contactpp .contactpp__inner ul {
    padding: 0 0 0 1.5em;
    font-size: 14px;
  }
}
/* 共通フォーム
--------------------------------------------- */
section.contactform {
  padding: 80px 0;
  scroll-margin-top: 120px;
}
section.contactform .contactform__inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
section.contactform .contactform__content {
  max-width: 900px;
  margin: 50px auto 0;
  padding: 50px 0;
  background-color: rgba(61, 98, 173, 0.15);
}
section.contactform .contactform__content p {
  margin: 0;
}
section.contactform .contactform__content dl {
  max-width: 600px;
  margin: 0 auto;
}
section.contactform .contactform__content dl dt {
  font-size: 18px;
  font-weight: 400;
}
section.contactform .contactform__content dl dt span {
  margin-left: 0.5em;
  padding: 0.2em 0.5em;
  background-color: red;
  font-size: 0.8em;
  color: #fff;
  border-radius: 3px;
}
section.contactform .contactform__content dl dd {
  margin: 5px 0 30px;
}
section.contactform .contactform__content dl dd input {
  width: 100%;
  padding: 0.5em;
}
section.contactform .contactform__content dl dd input.postcode {
  max-width: 150px;
}
section.contactform .contactform__content dl dd input.wpcf7-file {
  padding: 0;
}
section.contactform .contactform__content dl dd textarea {
  width: 100%;
  height: 15em;
}
section.contactform .contactform__content dl dd textarea.your-certification {
  height: 7em;
}
section.contactform .contactform__content dl dd .file-display-area {
  margin-top: 5px;
}
section.contactform .contactform__content dl dd .file-name-display {
  font-size: 0.9em;
  color: #555;
  margin-bottom: 5px;
}
section.contactform .contactform__content dl dd .file-reset-btn {
  background-color: #f2f2f2;
  border: 1px solid #ccc;
  padding: 3px 10px;
  font-size: 0.85em;
  cursor: pointer;
  border-radius: 4px;
}
section.contactform .contactform__content dl dd .file-reset-btn:hover {
  background-color: #e6e6e6;
}
section.contactform .contactform__content dl dd .your-sex > span {
  display: block;
}
section.contactform .contactform__content dl dd .your-sex > span label {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
section.contactform .contactform__content dl dd .your-sex > span label input {
  width: -moz-fit-content;
  width: fit-content;
  margin-right: 0.5em;
}
section.contactform .contactform__content .wpcf7-submit {
  display: block;
  margin: 2rem auto 0;
  padding: 0.7em 0;
  width: 450px;
  background: #3D62AD;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  border-radius: 0;
  transition: 0.3s;
  cursor: pointer;
}
section.contactform .contactform__content .wpcf7-submit:hover {
  background-position: right center;
  background-size: 200% auto;
  animation: ripple 1.5s infinite;
}
@keyframes ripple {
  0% {
    box-shadow: 0 0 0 0 #3D62AD;
  }
  70% {
    box-shadow: 0 0 0 10px rgba(61, 98, 173, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(61, 98, 173, 0);
  }
}
section.contactform .contactform__content .pplink {
  font-size: 14px;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  section.contactform {
    padding: 50px 0;
    scroll-margin-top: 60px;
  }
  section.contactform .contactform__content {
    margin: 30px auto 0;
    padding: 20px;
  }
  section.contactform .contactform__content dl dt {
    font-size: 16px;
  }
  section.contactform .contactform__content dl dt span {
    margin-left: 0.5em;
    padding: 0.2em 0.5em;
    font-size: 0.8em;
  }
  section.contactform .contactform__content dl dd {
    margin: 5px 0 20px;
  }
  section.contactform .contactform__content dl dd input {
    padding: 0.3em;
  }
  section.contactform .contactform__content dl dd textarea {
    width: 100%;
    height: 10em;
  }
  section.contactform .contactform__content dl dd textarea.your-certification {
    height: 5em;
  }
  section.contactform .contactform__content dl dd .file-display-area {
    margin-top: 5px;
  }
  section.contactform .contactform__content dl dd .file-name-display {
    font-size: 0.9em;
    color: #555;
    margin-bottom: 5px;
  }
  section.contactform .contactform__content dl dd .file-reset-btn {
    background-color: #f2f2f2;
    border: 1px solid #ccc;
    padding: 3px 10px;
    font-size: 0.85em;
    cursor: pointer;
    border-radius: 4px;
  }
  section.contactform .contactform__content dl dd .file-reset-btn:hover {
    background-color: #e6e6e6;
  }
  section.contactform .contactform__content .wpcf7-submit {
    margin: 2rem auto 0;
    padding: 0.7em 0;
    width: 100%;
    font-size: 18px;
  }
}
section.thanks {
  padding: 80px 0;
}
section.thanks .thanks__inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
section.thanks .thanks__content {
  text-align: center;
}
section.thanks .thanks__content p {
  margin: 1.5em 0 0;
}

@media only screen and (max-width: 768px) {
  section.thanks {
    padding: 50px 0;
  }
  section.thanks .thanks__content {
    text-align: left;
  }
  section.thanks .thanks__content p {
    margin: 1em 0 0;
  }
  section.thanks .thanks__content p br {
    display: none;
  }
}
/* お知らせ
--------------------------------------------- */
section.news__wrap {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  width: 90%;
  max-width: 1200px;
  margin: 80px auto;
}
section.news__wrap .news__content {
  width: 63%;
}
section.news__wrap .news__content .page-title {
  margin: -50px 0 -30px;
  font-size: 20px;
  font-weight: 600;
  color: #BB5F71;
}
section.news__wrap .news__content article {
  margin-top: 50px;
  padding: 30px;
  border: 5px solid rgba(61, 98, 173, 0.3);
  box-sizing: border-box;
}
section.news__wrap .news__content article:first-child {
  margin: 0;
}
section.news__wrap .news__content article .entry-title {
  margin: 0;
  font-size: 30px;
  font-weight: 600;
  color: #3D62AD;
}
section.news__wrap .news__content article .entry-title a {
  text-decoration: none;
  color: #3D62AD;
}
section.news__wrap .news__content article .entry-meta {
  margin: 10px 0 0;
  font-size: 14px;
  font-style: italic;
}
section.news__wrap .news__content article .entry-content {
  margin: 30px 0 0;
}
section.news__wrap .news__content .pagination {
  margin-top: 50px;
}
section.news__wrap .news__content .pagination .nav-links {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
section.news__wrap .news__content .pagination .page-numbers {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #3D62AD;
}
section.news__wrap .news__content .pagination .prev, section.news__wrap .news__content .pagination .next {
  width: 80px;
}
section.news__wrap .news__content .pagination .current {
  background-color: #d6d6d6;
}
section.news__wrap .news__content .post-navigation {
  margin-top: 20px !important;
}
section.news__wrap .news__content .post-navigation .nav-links {
  flex-direction: column;
}
section.news__wrap .news__content .post-navigation .nav-links > div {
  margin: 10px 0;
}
section.news__wrap .news__sidebar {
  width: 30%;
}
section.news__wrap .news__sidebar > aside {
  position: sticky;
  top: 130px;
}
section.news__wrap .news__sidebar .wp-block-heading {
  margin: 0;
  border-bottom: 1px dashed #F19DAE;
  font-size: 18px;
  font-weight: 600;
}
section.news__wrap .news__sidebar ul {
  list-style: disc;
  margin: 10px 0 0 2em;
  padding: 0;
}

@media only screen and (max-width: 768px) {
  section.news__wrap {
    flex-direction: column;
    margin: 30px auto;
  }
  section.news__wrap .news__content {
    width: 100%;
  }
  section.news__wrap .news__content .page-title {
    margin: 0;
    font-size: 20px;
  }
  section.news__wrap .news__content article {
    margin-top: 30px;
    padding: 15px;
  }
  section.news__wrap .news__content article .entry-title {
    margin: 0;
    font-size: 22px;
  }
  section.news__wrap .news__content article .entry-content {
    margin: 30px 0 0;
  }
  section.news__wrap .news__content .pagination {
    margin-top: 30px;
    font-size: 14px;
  }
  section.news__wrap .news__content .pagination .page-numbers {
    width: 30px;
    height: 30px;
  }
  section.news__wrap .news__content .pagination .prev, section.news__wrap .news__content .pagination .next {
    width: 65px;
  }
  section.news__wrap .news__content .post-navigation {
    margin-top: 100px;
  }
  section.news__wrap .news__content .post-navigation .nav-links {
    flex-direction: column;
  }
  section.news__wrap .news__content .post-navigation .nav-links > div {
    margin: 10px 0;
  }
  section.news__wrap .news__sidebar {
    width: 100%;
    margin-top: 30px;
  }
  section.news__wrap .news__sidebar > aside {
    position: relative;
    top: 0;
  }
  section.news__wrap .news__sidebar .wp-block-heading {
    font-size: 16px;
  }
  section.news__wrap .news__sidebar ul {
    margin: 10px 0 0 1.5em;
  }
}/*# sourceMappingURL=style.css.map */