/*!
Theme Name: Stellviator
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: stellviator
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.

Stellviator 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
	- CheckDisplay
	- :root-set
	- 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;
	padding: 0;
}

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

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

/* Grouping content
	 ========================================================================== */

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

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

/* Text-level semantics
	 ========================================================================== */

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

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

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

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

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

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

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

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

/* Forms
	 ========================================================================== */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Interactive
	 ========================================================================== */

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

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

/* Misc
	 ========================================================================== */

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

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

/* Box sizing
--------------------------------------------- */

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

html {
	box-sizing: border-box;
}

body * {
    box-sizing: border-box;
}
/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* - CheckDisplay
--------------------------------------------- */
/*- Check-Parts*/
header,
main,
footer {
/*	border: 1px solid #990000;*/
}
/*- Check-Layauts*/
/*- custumd*/
.site-header,
.site-main,
.site-footer {
/*	border: 1px solid #990000;*/
	margin-bottom: 20px;
}

.site-header {
	margin-bottom: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
    width: 100%;
	height: 70px;
/*	position: absolute;*/
    z-index: 100;
    background: #FFFFF9;
	/* background: rgba(255,255,255,0); */
/*	border-bottom: 4px solid #2A93D5;*/
}

.site-main {
/*	overflow-x: hidden;*/
    margin-bottom: 0;
}

#masthead {
    /*display: none;*/
}
.single #masthead,
.archive #masthead,
.page-template-page-sub #masthead {
    display: flex;
}

/* - margin-and-padding
--------------------------------------------- */
.margin-bottom-0 {
	margin-bottom: 0 !important;
}
.padding-bottom-0 {
	padding-bottom: 0 !important;;
}

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

.margin-top-0 {
	margin-top: 0 !important;
}
.padding-top-0 {
	padding-top: 0 !important;;
}
.margin-top-50 {
	margin-top: 50px !important;
}
.padding-top-50 {
	padding-top: 50px !important;;
}
.margin-top-70 {
	margin-top: 70px !important;
}
.padding-top-70 {
	padding-top: 70px !important;;
}

/* - :root-set
--------------------------------------------- */
/*変数*/
:root {
	--primary-width-01:100vw;/*MV基準値*/
	--primary-width-02:100%;/*MV基準値*/
	--primary-width-03:100;/*単位無し｜class指定時に単位付与*/
	--primary-max-width-01:1920px;
	--primary-max-width-02:1280px;
	--primary-theme-main-color:#333333;
	--primary-theme-sub-color-01:#EEEEEE;
	--primary-theme-sub-color-02:#AAAAAA;
	--primary-theme-accent-color:#3597ff;


    /*
    Major third
    375-min-12px 1920-max-16px
    */
    --font-size-sm: clamp(0.6rem, 0.21vw + 0.55rem, 0.8rem);
    --font-size-base: clamp(0.75rem, 0.26vw + 0.69rem, 1rem);
    --font-size-md: clamp(0.94rem, 0.32vw + 0.86rem, 1.25rem);
    --font-size-lg: clamp(1.17rem, 0.4vw + 1.08rem, 1.56rem);
    --font-size-xl: clamp(1.46rem, 0.51vw + 1.35rem, 1.95rem);
    --font-size-xxl: clamp(1.83rem, 0.63vw + 1.68rem, 2.44rem);
    --font-size-xxxl: clamp(2.29rem, 0.79vw + 2.1rem, 3.05rem);

    /* 見出しレベル要素ごとのフォントサイズ */
    --font-size-h1: 2em;
    --font-size-h2: 1.5em;
    --font-size-h3: 1.17em;
    --font-size-h4: 1em;
    --font-size-h5: 0.83em;
    --font-size-h6: 0.67em;
  
    /* 基本背景カラー */
    --background-color-primary: #ffffff;
    --background-color-secondary: #f0f0f0;
    --background-color-tertiary: #d8d8d8;
    --background-color-ex-01: #FAFAFA;
    --background-color-test: #EEEEEE;
  
    /* 基本フォントカラー */
    --font-color-primary: #323232;
    --font-color-secondary: #666666;
    --font-color-tertiary: #999999;
  
    /* 基本リンクカラー */
    --link-color: #1DADE2;
    /*--link-color: #007aff;*/
    --link-color-hover: #1DADE2;
    --link-color-visited: #1DADE2;
  
    /* Swiper */
    --swiper-navigation-color: #007aff; /* ナビゲーションボタンの色 */
    --swiper-pagination-color: #007aff; /* ページネーションの色 */
  
    /* その他 */
    --border-color: #cccccc; /* ボーダーの色 */
    --border-radius: 4px; /* ボーダーラウンドの半径 */

      
    /* 余白設定 */
    --margin-top-0: 0px;
    --margin-top-10: 10px;
    --margin-top-20: 20px;
    --margin-top-30: 30px;
    --margin-top-40: 40px;
    --margin-top-50: 50px;
    --margin-top-60: 60px;
    --margin-top-70: 70px;
}

/*scrollbar
--------------------------------------------- */
/* 全体のスクロールバーのスタイリング */
::-webkit-scrollbar {
    width: 10px; /* スクロールバーの幅 */
}

/* スクロールバーのトラック（背景部分） */
::-webkit-scrollbar-track {
    background: #f1f1f1; /* 背景色 */
}

/* スクロールバーのサム（操作部分） */
::-webkit-scrollbar-thumb {
    /*background: #6A839B;*/ /* サムの色 */
    background: #DDDDDD; /* サムの色 */
    /*background: #888;  サムの色 */
    border-radius: 4px; /* 角丸の半径 */
}

/* サムにホバーしたときのスタイリング */
::-webkit-scrollbar-thumb:hover {
    background: #555; /* ホバー時の色 */
}
  

/* - Typography
--------------------------------------------- */
/* fonts
--------------------------------------------- */

html {
	/*
	幅320pxデバイスでの基準値＝16px
	幅1440pxでの基準値＝24px
	となりウィンドウサイズによって可変する
	*/
	/*	font-size: calc((100vw - 320px) / 140 + 16px);*/
	/*
	レスポンシブ可変PC基準24px、SP基準16px
	*/
		font-size: calc([16px] + (24px] - [16px]) * ((100vw - [320px]) / ([1920px] - [320px])));
	  }

/*暫定*/
body, html {
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    color: rgba(0,0,0,.88);
/*設定候補-01*/
	/*font-family: "-apple-system","Roboto","Ubuntu","Cantarell","Noto Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","sans-serif";*/
/*設定候補-02*/
	font-family: YakuHanJP, "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    font-weight: 400;
    line-height: 1.6rem;
}

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

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

p {
	margin-bottom: 1.5em;
}

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

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;*/
	margin: 0;
}

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

/* Links
--------------------------------------------- */
a {
    background-color: rgba(0, 0, 0, 0);
    text-decoration: none;
  }

a {
	color:var(--link-color);
}

a:visited {
	color: var(--link-color-visited);
}

a:hover,
a:focus,
a:active {
	color:var(--link-color-hover);
}

a:focus {
	outline: none;
}

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

/* 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;
	display: flex;
    align-items: center;
/*	padding: 0 10px 0 10px;*/
}

.main-navigation li::after {
	content: '';
	margin: 0 15px;
	/*border-right:1px solid #CCC ;*/
}

.main-navigation li:last-child::after {
	border-right:none;
}

.main-navigation a {
    display: inline-block;
    font-weight: 400!important;
    text-decoration: none; /* デフォルトの下線を非表示にする */
    color: var(--font-color-primary); /* 文字色 */
    background-image: linear-gradient(90deg, #999, #999); /* 線の色 */
    background-repeat: no-repeat;
    background-position: left bottom; /* 線の起点を左・下に設定 */
    background-size: 0 1px; /* 線の横幅を0、縦幅を1pxに */
    transition: background-size 0.4s; /* 線を伸ばすアニメーション実行時間を指定 */
}

.main-navigation a:hover {
    background-size: 100% 1px; /* 線の横幅を100%にする */
}

.main-navigation li:last-child a {
    padding: 5px 15px;
    border-radius: 8px;
    background: #055;
    color: #FFF;
}

/* Footer menu. */
.main-navigation-footer {
/*	display: none;*/
/*	width: 100%;*/
	display: flex;
    justify-content: flex-end;
	align-items: center;
	width: 100%;
    gap: 3rem;
}

@media screen and (max-width: 768px) {
	.main-navigation-footer {
			width: 100%;
		}
}

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


@media screen and (min-width: 769px) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
		justify-content: flex-end;
	}
}


.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 0 0;
}

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

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

.entry-content {
	/*padding-top: 50px;*/
    margin-top: -10px;
    background-color: #FFF;
    padding-bottom: 0px;
}

.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;
    font-size: var(--font-size-sm);
}

/* 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;
}


/* Origin
--------------------------------------------- */
/*ビジュアル｜キャラクター等のレイヤー重ねる場合基準値z-index: 88*/
.chr-v-wrap {
    display: none;
    margin: 0px auto;
	margin-top: 0px;
    /*margin-top: -70px;*/
    padding: 0;
    background-size: 100%;
    background-position: top;
	background-repeat: no-repeat;
    width:  var(--primary-width-02);
    /*height: calc(var(--primary-width) * 0.5625);*/
    height: calc(var(--primary-width-01) * 0.385);
    /*max-width: ;*/
    /*height: calc(100vh - 50px);*/
    position: relative;
    /*位置調整用仮設定計算式*/
    /*width: 75%;*/
    /*width: calc(100vw * 0.50 );*/
    /*height: calc(100vh * 0.95 );*/
    /*position: absolute;*/
    /*位置調整用仮設定計算式*/
    /*bottom: 0;
    right: 10vw;*/
    /*top: 0;*/
    /*align-items: flex-start;
    display: flex;*/
    z-index: 88;
}

.chr-v-wrap::after {
/*	content: "";
	display: block;
	background: #2A93D5;
	height: 10px;
	position: absolute;
    bottom: 0;
    width: 100%;*/
}

/* ヘッダー */
/* logo */
.site-branding {

}

.site-branding h1 {
	margin: 0;
    padding: 0 20px;
    height: 70px;
    line-height: 70px;
    display: flex;
    align-items: center;
}

.site-branding h1 a {
	margin: 0;
    padding: 0 0;
    display: flex;
    align-items: center;
}

.site-branding h1 img {
	max-width: 180px;
	/*max-width: 200px;*/
	/*max-width: 250px;*/
    /*height: 40px;*/
}


/* menu */
@media screen and (max-width: 768px) {
    #sp-site-navigation {
        pointer-events: auto; /* 確実にクリック可能にする */
    }
    .sp-main-navigation {
		margin-right: 0px;
		display: flex;
	}
	.menu{
		margin-right: 20px;
		height: 24px;
		right: 20px;
		top: 25px;
		width: 30px;
        z-index: 9999;
        pointer-events: auto; /* 確実にクリック可能にする */
		/*background-color: #EEE;*/
	}
	.menu__line{
		background: #323232;
		display: block;
		height: 4px;
		transition:transform .3s;
		width: 100%;
	}
	.menu__line--center{
		margin-top: 4px;
		margin-bottom: 4px;
		top: 9px;
		width: 25px;
	}
	.menu__line--bottom{
		bottom: 0;
		width: 20px;
	}
}

/* jQueryアニメーション用 */
@media screen and (min-width: 769px) {
	.nav-box {
		display: none;
	}
}

@media screen and (max-width: 768px) {
	.menu__line--top.active{
    top: 4px;
    transform: translate(0px, 9px) rotate(45deg);
    width: 30px;
    background-color: #323232;
	}
	.menu__line--center.active{
		transform:scaleX(0);
	}
	.menu__line--bottom.active{
		bottom: 16px;
		transform: translate(0px, -6px) rotate(135deg);
		width: 30px;
		background-color: #323232;
	}

	/*nav*/
	#main-nav-pc{
		/*非表示中｜複数ページタイプメインメニュー*/
		display: none;
	}


	.nav-box {
	    margin-top: 69px;
		/*padding-top: 69px;*/
		display: none;
		width: 100%;
		height: 100vh;
		z-index: 98;
		position: fixed;
		top: 0;
		background: rgba(255,255,255,1.0);
		/*overflow-y: scroll;*/
		overflow: hidden;
        background-image: url(img/bg-main.png);
        background-size: cover;
        background-position: right bottom;
        background-repeat: no-repeat;
	}
    .nav-box ul {
        margin: 0;
        padding: 0 3% 0 0;
        width: 100%;
        height: auto;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-direction: column;
        list-style: none;
    }
	.nav-box li {
        padding: 5px 10px 5px 30px;
        margin-top: 10px;
        margin-bottom: 0px;
        width: 100%;
	}
	.nav-box li a {
        display: block;
        width: 100%;
        font-size: var(--font-size-base);
        font-weight: 700;
        text-decoration: none;
        color: #323232;
        background: none;
	}
	.nav-box {
		/*background: linear-gradient(270deg, #000000, #2d50b1);*/
		/*background: linear-gradient(rgba(0,0,0,1),rgba(45,80,177,1));*/
		/*background: linear-gradient(270deg, rgba(0,0,0,0.95),rgba(30,62,149,0.95));*/
		/*background: linear-gradient(270deg, rgba(255,255,255,0.98),rgba(250,250,250,0.98));*/
        /*background: linear-gradient(rgba(0,185,239,1),rgb(38, 204, 255));*/
        /* background: linear-gradient(rgb(255 255 255), rgb(255, 255, 255)); */
		/* background-size: 400% 400%; */
	
		/* -webkit-animation: AnimationName 30s ease infinite;
		-moz-animation: AnimationName 30s ease infinite;
		animation: AnimationName 30s ease infinite; */
		-webkit-animation: AnimationName 20s ease 1 forwards;
		-moz-animation: AnimationName 20s ease 1 forwards;
		animation: AnimationName 20s ease 1 forwards;
	}
	
	/* @-webkit-keyframes AnimationName {
		0%{background-position:0% 50%}
		50%{background-position:100% 50%}
		100%{background-position:0% 50%}
	}
	@-moz-keyframes AnimationName {
		0%{background-position:0% 50%}
		50%{background-position:100% 50%}
		100%{background-position:0% 50%}
	}
	@keyframes AnimationName {
		0%{background-position:0% 50%}
		50%{background-position:100% 50%}
		100%{background-position:0% 50%}
	}
	 */
	@-webkit-keyframes AnimationName {
		0%{background-position:0% 50%}
		100%{background-position:35% 50%}
	}
	@-moz-keyframes AnimationName {
		0%{background-position:0% 50%}
		100%{background-position:35% 50%}
	}
	@keyframes AnimationName {
		0%{background-position:0% 50%}
		100%{background-position:35% 50%}
	}
	
	.nav-box__wrap {
		padding-top: 10px;
		display: flex;
		justify-content: space-between;
		/*justify-content: center;*/
		/*justify-content: flex-start;*/
		align-items:flex-start;
		flex-direction: column;
		/*align-items:center;*/
		width: 100%;
		/*height: 100vh;*/
		height: 92vh;
		position: absolute;
	}
    .nav-box__wrap div {
		width: 100%;
	}
	.nav-box__menu__item_left {
		margin: 0 0 20px;
		padding: 15px 15px;
		width: 40%;
		max-width: 700px;
		background-color: #FFF;
	}
	
	.nav-box__menu {
		margin: 0 50px 20px;
		padding: 0px 0px;
		/*width: 45%;*/
		max-width: 700px;
	}
	
	.nav-box__menu__item_left h4 {
		margin: 0 0 20px;
		padding: 0px 0px;
	}
	
	.nav-box__menu__item_left h4 img {
		margin: 0;
		padding: 0px 0;
		width: 300px;
	}
	
	.nav-box__menu__item_left iframe {
		box-shadow: 3px 3px 4px #CCC;
	}
	
	.nav-box__menu__item {
		margin: 10px 0 10px;
		padding: 0px;
		width: 100%;
		font-size: 22px;
		font-weight: bold;
		/*color: #fff;*/
		color: #000;
		text-decoration: none;
		transition: .5s;
		list-style: none;
	}
	
	.nav-box__cr {
		margin: 0 auto 20px;
		padding: 10px 0px 0 10px;
		width: 96%;
		/*max-width: 700px;*/
		border-top: 1px solid #FFF;
		font-size: 0.7rem;
		text-align: center;
        color: #FFFFFF;
	}
	
	.nav-box__menu__item h4 {
		margin: 0 0 20px;
		padding: 0px 0px;
	}
	
	.nav-box__menu__item h4 img {
		margin: 0;
		padding: 0px 0;
		width: 300px;
	}
	
	.nav-box-txt {
		margin: 5px 0 0px 0px;
		padding: 0px 0px 20px 0;
		/*border-bottom: 1px solid #000;*/
		font-size: 1.6rem;
		font-weight: normal;
	}
	
	/*
	.nav-box-txt::before {
		font-family: "Font Awesome 5 Free";
		display: inline-block;
		content: '\f105';
		margin: 5px 10px 10px 0px;
		padding: 0px 0px 5px 0;
		color: #007aff;
		text-align: right;
		font-size: 1.6rem;
		font-weight: bold;
	}
	*/
	
	.nav-box-txt a {
		font-size: 1.6rem;
		color: #000;
		text-decoration: none;
	}
	
	.nav-box-txt a:hover {
		color: #333;
		/*color: #007aff;*/
		/*text-decoration: underline;*/
	}
	
	/*aに実装class*/
	/*
	.nav-box__menu__item a {
		padding: 20px;
		font-size: 22px;
		font-weight: bold;
		color: #fff;
		text-decoration: none;
		transition: .5s;
	}
	.nav-box__menu__item a:hover {
		color: #666;
	}
	*/
}

/* フッター */
.site-footer {
    width: 100%;
	margin: 0 auto;
    padding: 10px 0;
    text-align: center;
    background-color: #2C788B;
    font-size: var(--font-size-sm);
    font-weight: normal;
    color: #FFF;
}


.main-navigation-footer-lp {
    background: #2C788B;
}

.main-navigation-footer-lp > div {
	display: flex;
	justify-content: space-between;
}
.main-navigation-footer-lp .nav-area {
	display: flex;
	justify-content: center;
}
.main-navigation-footer-lp .nav-area p {
    margin: 0;
    padding: 0;
}
.main-navigation-footer-lp img {
	max-width: 120px;
}
.main-navigation-footer-lp ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}
.main-navigation-footer-lp ul li {
	margin: 0;
	padding: 0 0 0 25px;
	line-height: 1.8rem;
}
.main-navigation-footer-lp a {
    color: #FFF;
    text-decoration: none;
}
.main-navigation-footer-lp a:hover {
    color: #EEE;
    /*color: #0092ff;*/
    /*text-decoration: underline;*/
}

@media screen and (max-width: 768px) {
    .main-navigation-footer-lp .nav-area p {
        margin-bottom: 40px;
    }
    
}
/* sns */
.main-navigation-footer-lp .footer-sns-wrap {
    padding: 0px 0;
	margin: 0 auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
    width: 100%;
	/*height: 60px;*/
	/*position: absolute;*/
    z-index: 100;
	background: rgba(255,255,255,0);
}
.main-navigation-footer-lp .footer-sns-wrap ul {
	display: flex;
	justify-content: center;
	align-items: center;
    gap: 0;
    width: 100%;
}
.main-navigation-footer-lp .footer-sns-wrap li {
    margin: 0;
    padding: 0;
}
.main-navigation-footer-lp .footer-sns-wrap a {
    display: block;
    font-size: 1px;
}
.main-navigation-footer-lp .footer-sns-wrap img {
    width: 40px;
}

/* qr */
.site-footer .site-qr {
    padding: 30px 0 70px;
	margin: 0 auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
    width: 100%;
    max-width: 400px;
    z-index: 100;
    display: none;
}
.site-footer .site-qr ul {
    padding: 0;
	margin: 0 auto 0;
	display: flex;
	justify-content: center;
    gap: 0.5rem;
    width: 100%;
    list-style: none;
}
.site-footer .site-qr li {
    width: 45%;
    margin: 0;
    padding: 0;
}
.site-footer .site-qr img {
    width: 100%;
    vertical-align: bottom;
}
.site-footer .site-qr p {
    margin: 0;
    padding: 0;
    line-height: 1;
    text-align: center;
}


/*ヘッダー｜固定 */
#fixed-header {
	width: 100%;
    height: 70px;
    position: fixed;
    top: -70px;
    transition: .3s;
    z-index: 999;
/*    background-color: rgba(255,255,255,0.95);*/
    background-color: #FFFFF9;
    /* background-color: rgba(255,255,255,1.0); */
/*    border-bottom: 1px solid #2A93D5;*/
    display: flex;
    justify-content: space-between;

}
#fixed-header.is-show {
    top: 0;
}






/*コンテンツ最大幅設定*/
.content-max-size-01 {
    width: 90%;
    max-width: 1100px;
}

.content-max-size-02 {
    width: 90%;
    max-width: 1100px;
}

.content-max-size-02 .wp-block-columns {
    width: 100%;
/*    max-width: 1080px;*/
}

.content-max-size-full {
    width: 100%;
}

.content-max-size-full > div {
	margin: 0 auto;
    width: 90%;
    max-width: 1100px;
}

/*コンテンツ フレーム*/
.content-wrap-base {
    margin: 0 auto 0px;
    padding: 50px 0px 50px;
}

/*コンテンツ レイアウト制御*/
.content-center {
	display: flex;
    flex-direction: column;
    align-items: center;
}

/*コンテンツ 装飾制御*/
.bg-color-base {
    background-color: #EBF9FA;
}

.bg-color-accent {
    background-color: #ACDAD5;
}

.bg-color-gray {
    background-color: #fafafa;
}

.bg-color-ex {
    background-color: #efefef;
}

.bg-color-none {
    background:none ;
}

.border-top-gray {
	border-top: 1px solid #CCC;
}

.border-bottom-gray {
	border-bottom: 1px solid #CCC;
}

.border-top-and-bottom-gray {
	border-top: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
}

.border-top-and-bottom-gray > div > div {
	margin-bottom: 0;
}


.site-main{
    position: relative;
}
  
/* 画面固定だが、原点は .entry-content の padding box */
.site-main::before{
}

/* 本文を前面に（必要なら） */
.site-main > *{
}


/* 非表示 */
#office {
	display: none;
}

/* ファーストビュー後 グリッド */
.grid_top_img_box {
    margin: 0 auto;
    width: 100%;
    max-width: 1100px;
}

.grid_top_img_box > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    align-items: stretch; /* 高さを揃える */
}

.grid01 {
    grid-row: span 2; /* 左側の画像が2行分を占める */
    display: flex;
    justify-content: center;
    align-items: stretch; /* 高さを揃えて全体を表示 */
    width: 569px;
}

.grid02, .grid03 {
    display: flex;
    justify-content: center;
    align-items: center;
}

.grid-box img {
    width: auto;
    height: 100%;
    object-fit: contain; /* 縦横比を保ちながら全体を表示 */
}
/* スマホ表示用のスタイル */
@media screen and (max-width: 768px) {
    .grid_top_img_box > div {
        display: block; /* グリッドレイアウトを解除 */
    }
    
    .grid01, .grid02, .grid03 {
        width: 100%; /* 画像を縦に並べるための幅設定 */
        margin-bottom: 10px; /* 画像間のマージンを追加 */
    }

    .grid01 img, .grid02 img, .grid03 img {
        width: 100%;
        height: auto; /* 縦横比を保持しながら縦に並べる */
        object-fit: contain;
    }
}

/* アンケート */
.anc-link-button {
    display: block;
	margin: 10px auto 0 ;
    padding-top: 40px;
}
.anc-link-button > div {
    display: flex;
    justify-content: center;
    gap: 2rem;
}
.anc-link-button p {
    margin: 0;
    padding: 0px 0px!important;
}
.anc-link-button a {
    display: block;
	margin: 0px auto 0 ;
    padding: 10px 30px;
    border-radius: 20px;
    background: rgba(141,140,200,1);
    color: #FFF;
    text-align: center;
    font-weight: 700;
    transition: 0.5s;
}
.anc-link-button a:hover {
    background: rgba(141,140,200,0.7);
}
@media screen and (max-width: 768px) {
    .anc-link-button > div {
        flex-direction: column;
        gap: 1.5rem;
    }
}




/*News-sub*/
.News-sub {
    /*margin-top: var(--margin-top-50)!important;*/
}
#News-list .category {
    display: flex;
    gap: 1rem;
    margin-bottom: 10px;
}
#News-list .category a {
    padding:5px 10px;
    border-radius: 4px;
    background: #F5F4F9;
    color:#6A839B ;
}


.News-sub-details {
    margin-top: var(--margin-top-20);
    padding-top: var(--margin-top-0);
    justify-content: center;
}
#News-nav .link-area-article {
    display: flex;
    justify-content: space-between;
}
#News-nav .link-area-article .link-prevlist {
    border: 1px solid #3693F1;
    padding: 10px;
    border-radius: 4px;
}
#News-nav .link-area-article .link-prevlist::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0d9";
    font-weight: bold;
    color: #3693F1;
    display: inline-block;
    margin-right: 15px;
}
.News-sub-details .link-prev {
    display: inline-block;
    /*margin-right: 45px;*/
}
.News-sub-details .link-prev::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0d9";
    font-weight: bold;
    color: #3693F1;
    display: inline-block;
    margin-right: 15px;
}
.News-sub-details .link-next::after {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: bold;
    color: #3693F1;
    display: inline-block;
    margin-left: 15px;
}
.News-sub-details .page-numbers {
    display: inline-block;
    margin-left: 8px;
    margin-right: 8px;
}


.News-sub .link-area{
    display: flex;
    justify-content: flex-end;
}
.News-sub .link-more {
    display: inline-block;
    margin: 10px 0 0;
    padding: 3px 15px;
    border: 1px solid #3693F1;
    border-radius: 4px;
    background: #FFFFFF;
    font-size: var(--font-size-base);
    font-weight: 400;
    color: #3693F1;
    transition: 0.5s;
}
.News-sub .link-more:hover {
    display: inline-block;
    margin: 10px 0 0;
    padding: 3px 15px;
    border: 1px solid #3693F1;
    border-radius: 4px;
    /*background: #3693F1;*/
    /*color: #FFFFFF;*/
    font-size: var(--font-size-base);
    font-weight: 400;
}
/*moreview*/
.link-area-moreview{
    display: flex;
    justify-content: center;
}
.link-moreview {
    display: flex;
    flex-direction: column;
    margin: 20px 0 0;
    padding: 10px 30px;
    width: 100%;
    border: 1px solid #3693F1;
    border-radius: 8px;
    background: #3693F1;
    font-size: var(--font-size-md);
    font-weight: 400;
    text-align: center;
    color: #FFFFFF;
    transition: 0.5s;
}
.link-moreview:hover {
    margin: 20px 0 0;
    padding: 10px 30px;
    border: 1px solid #3693F1;
    border-radius: 8px;
    /*background: #3693F1;*/
    color: #FFFFFF;
    font-size: var(--font-size-md);
    font-weight: 400;
}
.link-moreview::after {
    font-family: "Font Awesome 5 Free";
    content: "\f0d7";
    font-weight: bold;
    color: #FFFFFF;
    transition: transform .3s ease-in-out;
    display: inline-block;
}
/* 親要素（.link-more）がhoverされたときに矢印を動かす */
.link-moreview:hover::after {
    transform: translateY(8px);
}


.article-wrap article {
	margin: 70px auto 0;
	margin: 20px auto 0;
	padding: 0;
	width: 100%;
	/*width: 90%;
	max-width: 1100px;*/
}

.article-wrap .entry-header {
	display: flex;
	gap: 1rem;
    margin: 0 auto;
	padding: 1% 4%;
	border-bottom: 1px solid #DDDDDD;
    max-width: 1100px;
}

.article-wrap .post-thumbnail {
    max-width: 240px;
    aspect-ratio: 16 / 9;
}

.article-wrap .post-thumbnail img {
    object-fit: cover;
    aspect-ratio: inherit;
    min-width: inherit;
}

@media screen and (max-width: 768px) {
	.article-wrap .entry-header {
		flex-direction: column;
		padding-bottom: 20px;
	}
	.article-wrap .post-thumbnail {
		max-width: inherit;
		width: 100%;
	}
	.article-wrap .post-thumbnail img {
		width: 100%;
	}
	
}


.article-wrap .entry-overview {
	display: flex;
    flex-direction: column;
    justify-content: center;
}

.article-wrap .entry-overview .cat-links {
	display: none;
}

.article-wrap .entry-overview .tags-links a {
    padding: 5px 10px;
    border-radius: 4px;
    background: #F5F4F9;
    color: #6A839B;
}

.article-wrap .entry-overview .post-tags a {
    padding: 5px 10px;
    border-radius: 4px;
    background: #F5F4F9;
    color: #6A839B;
}

.article-wrap .entry-overview h1 {
    font-size: var(--font-size-md);
	font-weight: bold;
    margin:0.7rem 0 0;
	padding: 0;
	border: none;
}

.article-wrap .entry-overview .post-excerpt {
    font-size: var(--font-size-md);
	font-weight: normal;
    margin:0.7rem 0 0;
	padding: 0;
	border: none;
}

.article-wrap .entry-content {
    width: 100%;
    margin: 0px auto;
    padding: 0%;
    padding-top: 1%;
    /*border: 1px solid #CCC;*/
    border: none;
    background: #FFF;
}
/* 本文内エリア */
.article-wrap .entry-content p {
    width: 100%;
    max-width: 1100px;
    margin: 0px auto;
    padding: 20px 4%;
    border: none;
    background: #FFF;
}
/* 本文内画像エリア */
.article-wrap .entry-content img {
    width: 100%;
    max-width: 1024px;
    margin: 0px auto;
    padding: 0%;
}
.article-wrap .entry-content figure {
    text-align: center;
}
.article-wrap .entry-content .entry-content-img {
	margin: 0px auto 0;
	padding: 40px 0;
	width: 100%;
	max-width: ;
    background: #3c3e45;
}
.article-wrap .entry-content .entry-content-img figure {
    margin: 0 auto;
    width: 96%;
    max-width: 640px;
    text-align: center;
}
.article-wrap .entry-content .entry-content-img figure img {
    width: 100%;
    max-width: 640px;
}


.article-wrap .entry-content figure.is-type-video {
    width: 100%;
    max-width: 1080px;
}

.article-wrap .entry-content iframe {
    width: 100%;
    max-width: 1080px;
    height: 100%;
    aspect-ratio: 16 / 9;
    margin: 0px auto 0px;
}

.article-wrap .entry-content .wp-block-columns .wp-block-column {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.article-wrap .entry-content .wp-block-columns .wp-block-column figure {
    width: 100%;
}
.article-wrap .entry-content .wp-block-columns .wp-block-column figure.wp-block-image {
    width: auto;
}

.article-wrap .entry-content a {
    word-break: break-all;
}

.article-wrap .post-navigation {
    padding-top: 20px;
    width: 90%;
    max-width: 1100px;
}




/*Recruit*/
.Recruit-sub {
    margin-top: var(--margin-top-0);
}
#Recruit-introduction {
    position: relative;
    margin-top: var(--margin-top-0);
}
#Recruit-introduction p {
    font-size: var(--font-size-base);
    line-height: 1.8rem;
    margin: 0 auto;
}
#Recruit-introduction strong {
    font-size: var(--font-size-lg);
}
#Recruit-introduction h2 {
    position: relative;
    /*font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "IBM Plex Sans JP", sans-serif;*/
    margin: 0 auto 30px;
    width: 100%;
    /*height: calc(var(--font-size-xl)*1.5) ;*/
    /*font-size: var(--font-size-xl);*/
    font-size: var(--font-size-xl);
    font-weight: ;
    line-height: 1.75;
    text-align: left;
    color: #032642;
    border-bottom: 2px solid #F5F4F9;
}
#Recruit-introduction h2::after {
    content: '';
	position: absolute;
    /*top: 0;*/
    bottom: -2px;
    left: 0;
    width: 55%;
    height: 100% ;
    content: '';
    display: inline-block;
    border-bottom: 2px solid #F36C21;
}
@media screen and (max-width: 768px) {
    #Recruit-introduction h2 {
        font-size: var(--font-size-lg);
        font-weight: ;
        line-height: 1.75;
    }
    #Recruit-introduction h2::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 85%;
        height: 100% ;
        content: '';
        display: inline-block;
        border-bottom: 2px solid #F36C21;
    }
}

#Recruit-introduction .img-info {
    margin: 50px auto 50px;
    width: 90%;
    max-width: 640px;
}
#Recruit-introduction .img-info img {
    border: 1px solid #CCCCCC;
    border-radius: 8px;
    overflow: hidden;
}

/* duplicate removed: .content-card-type-08 (centralized earlier in card section) */

#Recruit-introduction .img-herp {
    margin: 20px auto 50px;
    width: 90%;
    max-width: 240px;
}
#Recruit-creator p {
    margin: 0px auto 20px;
}



#Contact .main-txt {
}

#Contact .cta-buttons {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin: 25px 0 0;
    width: 100%;
}

#Contact .cta-buttons p {
    display: flex;
    width: 100%;
    margin: 0;
}

#Contact .cta-buttons p a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 900;
    font-size: var(--font-size-xl);
    padding: 15px 40px;
    width: 100%;
    border: 1px solid #3693F1;
    border-radius: 8px;
    background-color: transparent;
    color: #3693F1;
    text-align: center;

    aspect-ratio: 16 / 4.7 ;
    background-image: url(../img/bg-cta.png);
    background-image: url(http://applux-cojp.check-xserver.jp/wp-content/uploads/2024/02/bg-cta.png);
    background-size: cover;
}

@media screen and (max-width: 768px) {
    #Contact .cta-buttons {
        flex-direction: column;
    }
    #Contact .cta-buttons p a {
        font-size: var(--font-size-xl);
    }
}

#cta.cta {
    position: relative;
    margin-top: 0px;
    display: flex;
    align-items: center;
    background-image: url(http://applux-cojp.check-xserver.jp/wp-content/uploads/2024/02/bg-cta.png);
    background-size: cover;
    z-index: 1;
}

.cta-bg-contact {
    mix-blend-mode: multiply;
    background-repeat: no-repeat;
    background-color:rgb(251 239 223 / 30%);
}
.cta-bg-works {
    mix-blend-mode: multiply;
    background-repeat: no-repeat;
    background-color:rgb(194 216 233 / 30%);
}
.cta-bg-contact,
.cta-bg-works {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-size: cover;
    background-position: center;
/*    transition: opacity 0.5s ease;*/
    z-index: 2;
}


#cta.cta .main-txt {
    margin-bottom: 0;
    padding: 4px 20px;
    font-weight: 700;
    text-align: center;
    border-radius: 4px;
}

#cta.cta .cta-buttons {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin: 25px 0 0;
    z-index: 5;
}
@media screen and (max-width: 768px) {
    #cta.cta .cta-buttons {
        flex-direction: column;
    }
}
#cta.cta .cta-buttons p {
    margin: 0;
    padding: 0;
}

#cta.cta .cta-buttons .button-contact a,
#cta.cta .cta-buttons .button-works a {
    display: block;
    padding: 15px 40px;
    border-radius: 8px;
    background-color: #000;
    font-weight: 600;
    text-align: center;
    color: #FFF;
    z-index: 3;
}

#cta.cta .cta-buttons .button-contact a {
    background-color: #F36C21;
    transition: .5s;
    transition: all 0.3s ease-in-out;
}
#cta.cta .cta-buttons .button-contact a:hover {
    /*background-color: #F3AD21;*/
    transform: scale(1.05, 1.05);
}

#cta.cta .cta-buttons .button-works a {
    background-color: #3693F1;
    transition: all 0.3s ease-in-out;
}
#cta.cta .cta-buttons .button-works a:hover {
    /*background-color: #39B0FF;*/
    transform: scale(1.05, 1.05);
}



/*キービジュアル*/
.content-key-visual {
    margin: 0 auto 40px;
    padding:0 ;
    width: 100%;
}

.content-key-visual img {
	width: 100%;
}

.home #SubVisual {
    /*display: none;*/
}

#SubVisual {
    position: relative;
    margin: 0 auto 0;
    width: 100%;
    /*margin-bottom: -150px;*/
    overflow: hidden;
}
.SubVisual-inner {
    margin: 0 auto 0;
    width: 50%;
    max-width: 660px;
}
@media screen and (max-width: 768px) {
	.SubVisual-inner {
		width: 70%;
	}
	
}

/* 段落 */
/* 段落｜本文｜About */
#about p {
    margin: 0 auto 60px;
    padding: 0px 40px 0px 40px;
    width: 100%;
    font-size: 1.0rem;
    line-height: 1.8rem;
    font-weight: normal;
    text-align: left;
    color: #000;
}

/* 段落｜本文｜CSR、セミナー */
#csr p,
#seminar p {
    font-size: 1.0rem;
    line-height: 1.8rem;
    font-weight: normal;
}


/* 新着情報 */
#news ul li {
	display: flex;
}

#news ul li .news-date {
	min-width: 150px;
	margin: 0 0 20px 0;
	padding: 0 0 0 15px;
	font-size: 1.0rem;
	line-height: 1.0rem;
	font-weight: normal;
	border-left: 5px solid #2A93D5;
}

#news ul li .news-read {
	margin: 0 0 20px 0;
	padding: 0 0 0 20px;
	font-size: 1.0rem;
	line-height: 1.0rem;
	font-weight: normal;
}

@media screen and (max-width: 768px) {
	#news ul {
		margin: 0 auto;
		width: 98%;
	}
	#news ul li {
		flex-direction: column;
		margin-bottom: 10px;
	}
}

/* event */

#event {
    position: relative;
    margin: 10px auto 0;
    padding-top: 20px!important;
    padding-bottom: 20px!important;
    width: 100%;
    /*margin-bottom: -150px;*/
    background: #FFF;
    overflow: hidden;
}
#event .event-inner {
    margin: 0 auto 0;
    /*width: 50%;
    max-width: 660px;*/
}
@media screen and (max-width: 768px) {
	#event {
		width: 100%;
	}
	#event .event-inner {
		width: 100%;
	}
}


/* contents news - merged into .section-title */
/* contents profile - merged into .section-title */

#profile .profile-box {
    color: ;
}
#profile .profile-box > div {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}
.profile-icon {
    background-color: #FFF;
    width: fit-content;
    height: fit-content;
    padding: 30px;
    border: 2px solid #CCC;
    border-radius: 50%;
}
.profile-name {
    margin-top: 0;
    margin-bottom: 10px;
    padding: 0;
    font-size: var(--font-size-md);
    font-weight: 700;
}
.profile-read {
    margin-top: 0;
    margin-bottom: 10px;
    padding: 0;
    font-size: var(--font-size-base);
}
.profile-read a {
    color: ;
}

.profile-sns > div {
    display: flex;
    gap: 0.5rem;
}
.profile-sns img {
    max-width: 40px;
}

.wp-block-list {
    margin: 0 0 20px 30px;
    padding: 0;
}
.wp-block-list li {
    padding-bottom: 5px;
    font-size: var(--font-size-base);
}

/* contents contact - merged into .section-title */

#contact .profile-box {
    color: #FFF;
}
#contact .profile-box > div {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}
#contact .profile-name {
    margin-top: 0;
    margin-bottom: 10px;
    padding: 0;
    font-size: var(--font-size-md);
    font-weight: 700;
}
#contact .profile-read {
    margin-top: 0;
    margin-bottom: 10px;
    padding: 0;
    font-size: var(--font-size-base);
}
#contact .profile-read a {
    color: #EEEEEE;
}


/* contents guideline - merged into .section-title */

#guideline .profile-box {
    color: #FFF;
}
#guideline .profile-box > div {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}
#guideline .profile-name {
    margin-top: 0;
    margin-bottom: 10px;
    padding: 0;
    font-size: var(--font-size-md);
    font-weight: 700;
}
#guideline .profile-read {
    margin-top: 0;
    margin-bottom: 10px;
    padding: 0;
    font-size: var(--font-size-base);
}
#guideline .profile-read a {
    color: #EEEEEE;
}


/* contents contact-02 - merged into .section-title */

#contact-02 .profile-box {
    color: ;
}
#contact-02 .profile-box > div {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}
#contact-02 .profile-name {
    margin-top: 0;
    margin-bottom: 10px;
    padding: 0;
    font-size: var(--font-size-md);
    font-weight: 700;
}
#contact-02 .profile-read {
    margin-top: 0;
    margin-bottom: 10px;
    padding: 0;
    font-size: var(--font-size-base);
}
#contact-02 .profile-read a {
    color: #EEEEEE;
}

#works {
    /*display: none!important;*/
}
/* contents works - merged into .section-title */

#works .profile-box {
    color: #FFF;
}
#works .profile-name {
    margin-top: 0;
    margin-bottom: 10px;
    padding: 0;
    font-size: var(--font-size-md);
    font-weight: 700;
}
#works .profile-read {
    margin-top: 0;
    margin-bottom: 40px;
    padding: 0;
    font-size: var(--font-size-base);
}



/* section-title base (H2共通) */
.section-title, #vision h2, #profile h2, #News h2, #contact h2, #guideline h2, #contact-02 h2, #works h2, #company h2, #philosophy h2, #sustainability h2, #services h2, #news h2, #recruit h2 {
	position: relative;
	margin: 0 auto 30px;
	width: 100%;
	display: flex;
	align-items: center;
	text-align: left;
	font-weight: 700;

	/* defaults to match #profile h2 */
	--h2-size: var(--font-size-xl);
	--h2-color: #323232;
	--h2-underline-color: #323232;
	--h2-underline-width: 35%;
	--h2-icon: url(img/icon-h2.png);
	--h2-icon-size: var(--h2-size);

	font-size: var(--h2-size);
	line-height: calc(var(--h2-size) * 1.0);
	color: var(--h2-color);
}
.section-title::after, #vision h2::after, #profile h2::after, #News h2::after, #contact h2::after, #guideline h2::after, #contact-02 h2::after, #works h2::after, #company h2::after, #philosophy h2::after, #sustainability h2::after, #services h2::after, #news h2::after, #recruit h2::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: var(--h2-underline-width);
	height: 100%;
	display: none; /* same as #profile h2 */
	border-bottom: 2px solid var(--h2-underline-color);
}
.section-title::before,#vision h2::before, #profile h2::before, #News h2::before, #contact h2::before, #guideline h2::before, #contact-02 h2::before, #works h2::before, #company h2::before, #philosophy h2::before, #sustainability h2::before, #services h2::before, #news h2::before, #recruit h2::before {
	content: '';
	display: inline-block; /* same as #profile h2 */
	margin-right: 0.4rem;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	background-image: var(--h2-icon);
	width: var(--h2-icon-size);
	height: var(--h2-icon-size);
}
@media screen and (max-width: 768px) {
    #about-more .section-title {
        font-size: var(--font-size-lg);
        line-height: calc(var(--font-size-lg) * 1.0);
    }
}

/* variants */
.section-title--no-underline::after { display: none; }
.section-title--no-icon::before { display: none; }
.section-title--light {
	--h2-color: #FFF;
	--h2-underline-color: #FFF;
}

@media screen and (max-width: 768px) {
	.sub-contents .section-title,
	.sub-contents #vision h2,
	.sub-contents #profile h2,
	.sub-contents #News h2,
	.sub-contents #contact h2,
	.sub-contents #guideline h2,
	.sub-contents #contact-02 h2,
	.sub-contents #works h2,
	.sub-contents #company h2,
	.sub-contents #philosophy h2,
	.sub-contents #sustainability h2,
	.sub-contents #services h2,
	.sub-contents #news h2,
	.sub-contents #recruit h2 {
	}
	.sub-contents .section-title,
	.sub-contents #vision h2,
	.sub-contents #profile h2,
	.sub-contents #News h2,
	.sub-contents #contact h2,
	.sub-contents #guideline h2,
	.sub-contents #contact-02 h2,
	.sub-contents #works h2,
	.sub-contents #company h2,
	.sub-contents #philosophy h2,
	.sub-contents #sustainability h2,
	.sub-contents #services h2,
	.sub-contents #news h2,
	.sub-contents #recruit h2 {
	}
	.sub-contents .section-title::before,
	.sub-contents #vision h2::before,
	.sub-contents #profile h2::before,
	.sub-contents #News h2::before,
	.sub-contents #contact h2::before,
	.sub-contents #guideline h2::before,
	.sub-contents #contact-02 h2::before,
	.sub-contents #works h2::before,
	.sub-contents #company h2::before,
	.sub-contents #philosophy h2::before,
	.sub-contents #sustainability h2::before,
	.sub-contents #services h2::before,
	.sub-contents #news h2::before,
	.sub-contents #recruit h2::before {
	}
}




/* リンクボタン共通 */
.link-area {
display: flex;
justify-content: flex-end;
}
.link-area a {
    display: inline-block;
    margin: 10px 0 0;
    padding: 10px 30px;
    border: 1px solid #3693F1;
    border-radius: 8px;
    background: #FFFFFF;
    font-size: var(--font-size-md);
    font-weight: 400;
    color: #3693F1;
    transition: 0.5s;
}

.link-area a::after {
    font-family: "Font Awesome 5 Free";
    content: "\f054";
    font-weight: bold;
    padding-left: 10px;
    transition: transform .3s ease-in-out;
    display: inline-block;
}
/* 親要素（.link-area）がhoverされたときに矢印を動かす */
.link-area a:hover::after {
    transform: translateX(8px);
}
.link-area a:hover {
    display: inline-block;
    margin: 10px 0 0;
    padding: 10px 30px;
    border: 1px solid #3693F1;
    border-radius: 8px;
    /*background: #3693F1;*/
    /*color: #FFFFFF;*/
    font-size: var(--font-size-md);
    font-weight: 400;
}

.link-more {
    display: inline-block;
    margin: 20px auto 10px !important;
    padding: 0 !important;
    width: 98% !important;
    text-align: right;
    font-size: var(--font-size-md);
    font-weight: 400;
    color: #FFF;
    transition: 0.5s;
}
.link-more a {
    display: inline-block;
    padding: 5px 0px 5px 20px!important;
    color: #FFF;
    border: 1px solid #00582D;
    border-radius: 8px;
    background: #00582D;
}
.link-more a::after {
    font-family: "Font Awesome 5 Free";
    content: "\f054";
    font-weight: bold;
    padding-left: 10px;
    padding-right: 10px;
    color: #FFF;
    transition: transform .3s ease-in-out;
    display: inline-block;
}
/* 親要素（.link-more）がhoverされたときに矢印を動かす */
.link-more a:hover::after {
    transform: translateX(8px);
}
.link-more:hover {
    /* display: inline-block;
    margin: 20px 0 0;
    padding: 10px 30px;
    border: 1px solid #3693F1;
    border-radius: 8px;
    background: #00582D;
    color: #FFFFFF;
    font-size: var(--font-size-md);
    font-weight: 400; */
}

/*カードレイアウト制御*/

/*カードレイアウトmasonry*/
.masonry-grid {
    display: flex;
    width: auto;
}
.masonry-item {
    width: calc(33.333% - 30px); /* カラムの幅（3カラムの場合） */
    margin-bottom: 20px!important; /* アイテム間のスペース */
    height: auto; /* 高さが固定されないようにする */
    float: left;
    position: relative;
}
.masonry-item img {
    width: 100%; /* 画像がアイテムの幅に合わせて伸縮する */
    height: auto; /* 画像の高さが自動調整されるようにする */
}
.masonry-item {
    --offset: 3px;
    background-color: #FFFFFF;
    border-radius: 12px;
    border: 1px solid #EFEFEF;
    overflow: hidden;
    /*box-shadow: 0px var(--offset) var(--offset) 0px rgba(0, 0, 0, 0.25);*/
    transition: 0.5s;
}
.masonry-item:hover {
    --offset: 8px;
    background-color: #FCFCFC;
}
.masonry-item div {
    padding: 0!important;
}
.masonry-item .c-card__meta {
    display: flex;
    column-gap: 0.25rem;
    margin: 10px 0 10px;
    margin-left: 10px;
    width: 100%;
    font-size: var(--font-size-sm);
    z-index: 1;
}
.masonry-item .c-card__metaItem {}

.masonry-item .c-card__meta a {
    display: inline-block;
    padding: 0 10px;
	z-index: 1;
    border-radius: 4px;
    color: #6A839B;
	text-decoration: none;
    word-break: auto-phrase;
    background-color: #F5F4F9;
    transition-property: background-color, color;
    transition-duration: 0.2s;
    transition-timing-function: cubic-bezier(0.4, 0.67, 0.56, 0.68);
}
.masonry-item .c-card__meta a:hover {
    background-color: #CCCCCC;
    color: #fafafa;
	text-decoration: none;
}
.masonry-item .c-card__meta .wp-block-post-terms__separator {
	display: none;
}
.masonry-item .c-card__read {
	z-index: 0;
}
.masonry-item h3 {
    margin: 10px 0 10px;
    margin-left: 10px;
    margin-right: 10px;
    font-size: var(--font-size-sm);
	line-height: var(--font-size-base);
}
.masonry-item figure {
    /*border: 1px solid #EFEFEF;*/
    margin: 0px 0 10px;
    overflow: hidden;
}
.masonry-item figure a img {
    /*object-fit: cover;*/
    transition: transform 0.3s ease;
    width: 100%;
    height: auto;
}
.masonry-item figure a img:hover {
    transform: scale(1.1);
}

@media(max-width:768px) {
    .masonry-grid {
        margin: 0;
    }
    .masonry-item {
        width: 45%;
    }
    .masonry-item .c-card__meta {
        flex-wrap: wrap;
        width: auto;
        row-gap: 0.25rem;
    }
}

/*カードレイアウト アニメーション*/
.content-card-anim {
    --offset: 3px;
    background-color: #FFFFFF;
    border-radius: var(--card-radius);
    border: 1px solid #EFEFEF;
    /*box-shadow: 0px var(--offset) var(--offset) 0px rgba(0, 0, 0, 0.25);*/
    transition: 0.5s;
}
.content-card-anim:hover {
    --offset: 8px;
    background-color: #FCFCFC;
}

/*カードレイアウト 記事の要素表示制御 */
.u-visuallyHidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    border: 0;
    white-space: nowrap;
    clip-path: inset(50%);
}

/* カードレイアウト 記事 */
.content-card-type-01 ul {
	margin: 0;
}

.content-card-type-01 .type-post {
    --offset: 3px;
	padding: 10px;
	width: 98%;

    background-color: #FFFFFF;
    border-radius: var(--card-radius);
    border: 1px solid #EFEFEF;
    /*box-shadow: 0px var(--offset) var(--offset) 0px rgba(0, 0, 0, 0.25);*/
    transition: 0.5s;
}
.content-card-type-01 .type-post:hover {
    --offset: 8px;
    background-color: #FCFCFC;
}

.content-card-type-01 {
    display: flex;
    justify-content: space-between;
    width: 98%;
    margin: 0 auto;
}

.content-card-type-01 li .wp-block-group {
    position: relative;
	padding: 0!important;
}

.content-card-type-01 .wp-block-column {
    position: relative;
    width: 24%;
    padding: 1%;
}
.content-card-type-01 .wp-block-column .c-card__detail {
    position: absolute;
    inset: 0;
}
.content-card-type-01 .wp-block-column h3 {
    margin: 10px 0 10px;
    font-size: var(--font-size-sm);
	line-height: var(--font-size-sm);
}
.content-card-type-01 .wp-block-column h3::before {
    content: '';
    display: inline-block;
    width: 8px; /* アイコンの幅をフォントサイズに基づいて設定 */
    height: var(--font-size-sm); /* アイコンの幅をフォントサイズに基づいて設定 */
    margin-right: 0.25rem;
    background-color: #F36C21;
    border-radius: 2px;
	line-height: var(--font-size-sm);
    /*background: #e6011a;*/
}
.content-card-type-01 .wp-block-column .c-card__title {
    z-index: 1;
	display: flex;
}
.content-card-type-01 .wp-block-column .c-card__title a {
    color: #374049;
	text-decoration: none;
}
.content-card-type-01 .wp-block-column .c-card__title:hover {
	text-decoration: none;
}
.content-card-type-01 .wp-block-column figure {
    /*border: 1px solid #EFEFEF;*/
    margin: 0px 0 10px;
}
.content-card-type-01 .wp-block-column figure img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}
.content-card-type-01 .c-card__meta {
    display: flex;
    column-gap: 0.25rem;
    margin: 10px 0 10px;
    width: 100%;
    font-size: var(--font-size-sm);
    z-index: 1;
}
.content-card-type-01 .c-card__metaItem {}

.content-card-type-01 .c-card__meta a {
    display: inline-block;
    padding: 0 10px;
	z-index: 1;
    border-radius: 4px;
    color: #6A839B;
	text-decoration: none;
    word-break: auto-phrase;
    background-color: #F5F4F9;
    transition-property: background-color, color;
    transition-duration: 0.2s;
    transition-timing-function: cubic-bezier(0.4, 0.67, 0.56, 0.68);
}
.content-card-type-01 .c-card__meta a:hover {
    background-color: #CCCCCC;
    color: #fafafa;
	text-decoration: none;
}

.content-card-type-01 .c-card__meta .wp-block-post-terms__separator {
	display: none;
}

.content-card-type-01 .c-card__read {
	z-index: 0;
}

.content-card-type-01 .c-card__read p.wp-block-post-excerpt__excerpt {
    margin: 0px 0 0px;
    font-size: var(--font-size-sm);
    line-height: var(--font-size-md);
}

.content-card-type-01 .c-card__read .wp-block-post-excerpt__more-link {
	position: absolute;
    inset: 0;
	z-index: 0;
	text-decoration: none;
	/*border: 1px solid #4a86e8;*/
}



/*カードレイアウト 汎用*/
.content-card-type-02 {
    display: flex;
    justify-content: center;
    width: 98%;
    margin: 0 auto;
}
.content-card-type-02 ~ .content-card-type-02 { margin-top: 20px; }
.content-card-type-02 .wp-block-column {
    position: relative;
    width: 100%;
    padding: 0;
    overflow: hidden;
    background-color: #F9F9F9;
    border: 1px solid #1DADE2;
    border-radius: 10px;
}

.content-card-type-02 .wp-block-column h3 {
    margin: 10px 0 0 0;
    margin-left: 0.1rem;
    font-size: var(--font-size-base);
    color: #1DADE2;
}
.content-card-type-02 .wp-block-column p {
	width: 100%;
    margin: 0;
    padding: 1% 1% 1% 0.7rem;
    font-size: var(--font-size-sm);
    color:var(--font-color-primary);
}
.content-card-type-02 .wp-block-column ul { width: 100%; padding: 1% 1% 1% 0.7rem; }
.content-card-type-02 .wp-block-column li { width: 100%; padding: 0; }
.content-card-type-02 .wp-block-column.content-card-type-02-img { position: relative; width: 32%; padding: 1%; background-color: transparent; }
.content-card-type-02 .wp-block-column.content-card-type-02-img::before { content: ''; display: none; }
.content-card-type-02 .wp-block-column.content-card-type-02-img::after { content: ''; display: none; }
.content-card-type-02 .wp-block-column.content-card-type-02-img figure { width: 90%; }

@media screen and (max-width: 768px) {
    .content-card-type-02 .wp-block-column h3 {
        font-size: var(--font-size-md);
    }
    .content-card-type-02 .wp-block-column p {
        font-size: var(--font-size-base);
    }
    
}

/*カードレイアウト 特殊-画像重なり*/
.content-card-type-vision {
    display: flex;
    justify-content: center;
    gap: 0;
    width: 98%;
    margin: 0 auto;
}
.content-card-type-vision ~ .content-card-type-vision { margin-top: 20px; }
.content-card-type-vision .wp-block-column {
    position: relative;
    width: 100%;
    padding: 0;
    overflow: hidden;
}
.content-card-type-vision .wp-block-column:first-child {
    margin-right: -40px;
    z-index: -1;
}
.content-card-type-vision .wp-block-column:last-child {
    margin-left: -40px;
    z-index: 2;
}
.content-card-type-vision .wp-block-column.content-card-type-vision-img { position: relative; width: 32%; padding: 1%; background-color: transparent; }
.content-card-type-vision .wp-block-column.content-card-type-vision-img::before { content: ''; display: none; }
.content-card-type-vision .wp-block-column.content-card-type-vision-img::after { content: ''; display: none; }
.content-card-type-vision .wp-block-column.content-card-type-vision-img figure { width: 90%; }

@media screen and (max-width: 768px) {
    .content-card-type-vision .wp-block-column:first-child {
        margin-right: inherit;
        z-index: -1;
        margin-bottom: -50px;
    }
    .content-card-type-vision .wp-block-column:last-child {
        margin-left: inherit;
        z-index: 2;
        margin-top: -50px;
    }
}
/*カードレイアウト 画像左+文章右*/
.content-card-type-lr {
    display: flex;
    justify-content: center;
    width: 98%;
    margin: 0 auto;
}
.content-card-type-lr ~ .content-card-type-lr { margin-top: 20px; }
.content-card-type-lr .wp-block-column {
    position: relative;
    width: 100%;
    padding: 0;
    overflow: hidden;
    border-radius: 10px;
}
.content-card-type-lr .wp-block-column h3 {
    margin: 10px 0 0 0;
    margin-left: 0.1rem;
    font-size: var(--font-size-base);
    color: #1DADE2;
}
.content-card-type-lr .wp-block-column p {
    width: 100%;
    margin: 0;
    padding: 1% 1% 1% 0.7rem;
    font-size: var(--font-size-base);
    color:var(--font-color-primary);
}
.content-card-type-lr .wp-block-column.content-card-type-lr-img { position: relative; width: 32%; padding: 1%; background-color: transparent; }
.content-card-type-lr .wp-block-column.content-card-type-lr-img::before { content: ''; display: none; }
.content-card-type-lr .wp-block-column.content-card-type-lr-img::after { content: ''; display: none; }
.content-card-type-lr .wp-block-column.content-card-type-lr-img figure { width: 90%; }

/*カードレイアウト 画像並べ ベース*/
.content-card-type-base-01 {
    display: flex;
    justify-content: center;
    gap: 0.7rem;
    width: 98%;
    margin: 0 auto;
}
.content-card-type-base-01 ~ .content-card-type-base-01 { margin-top: 20px; }
.content-card-type-base-01 .wp-block-column {
    position: relative;
    width: 100%;
    padding: 0;
    overflow: hidden;
}

/*カードレイアウト ニュース*/
.content-card-type-06 ul {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    width: 98%;
    margin: 0 auto;
}
.content-card-type-06 li {
    position: relative;
    display: flex;
    gap: 2rem;
    width: 100%;
    padding: 1%;
    border: none;
    border-bottom: 2px solid #EFEFEF;
    border-radius: 0;
}
.content-card-type-06 li figure {
    margin: 0;
    max-width: 240px; 
    aspect-ratio: 16 / 9;
    border: 1px solid #CCC;
    border-radius: 8px;
}
.content-card-type-06 li figure img {
    object-fit: cover;
    aspect-ratio: 16 / 9;
    min-width: 240px;
    border-radius: 8px;
}
.content-card-type-06 li > div { display: flex; flex-direction: column; justify-content: center; width: 100%; }
.content-card-type-06 li > div > div { margin-left: 0!important; padding: 0 8px!important; }
.content-card-type-06 li .news-date { font-size: var(--font-size-base); margin-bottom: 0.5rem; }
.content-card-type-06 li h6 { 
    font-size: var(--font-size-md);
    margin-top: 0;
    margin-bottom: 0.5rem;
}
.content-card-type-06 li h6 a {
    font-size: var(--font-size-md);
    margin-top: 0;
    margin-bottom: 0.5rem;
    color: #1EAEE2;
}
.content-card-type-06 li .news-read { font-size: var(--font-size-base); margin-bottom: 0rem; }
.content-card-type-06 li .link-area { margin-top: auto; width: 13%; display: inline-block; margin-bottom: 0; }
@media screen and (max-width: 768px) {
	.content-card-type-06 ul { gap: 2rem; }
	.content-card-type-06 li { flex-direction: column; gap: 1rem; width: 100%; padding: 1%; }
	.content-card-type-06 li figure { width: 100%; max-width: inherit; }
	.content-card-type-06 li .link-area { display: flex; justify-content: flex-end; margin-bottom: 0px; padding: 0 10px 10px 0 !important; width: 100%; }
	.content-card-type-06 li .link-area div { text-align: right; }
}

.wp-block-post-title {

}

#News .link-area{
    display: flex;
    justify-content: flex-end;
}
#News .link-more {
    display: inline-block;
    margin: 10px 0 0;
    padding: 3px 15px;
    border: none;
    border-bottom: 2px solid #1EAEE2;
    border-radius: 0px;
    background: #FFFFFF;
    font-size: var(--font-size-base);
    font-weight: 400;
    color: #1EAEE2;
    text-align: left;
    transition: 0.5s;
}
#News .link-more:hover {
    display: inline-block;
    margin: 10px 0 0;
    padding: 3px 15px;
    border: none;
    border-bottom: 2px solid #1EAEE2;
    border-radius: 0px;
    /*background: #3693F1;*/
    /*color: #FFFFFF;*/
    font-size: var(--font-size-base);
    font-weight: 400;
}
@media screen and (max-width: 768px) {
    #News .link-more {
        width: max-content!important;
    }
}



/* カードレイアウト 今のところ使用していない */
.content-card-type-05 {
    display: flex;
    justify-content: space-between;
    width: 98%;
    margin: 0 auto;
}
.content-card-type-05 ~ .content-card-type-05 { margin-top: 20px; }
.content-card-type-05 .wp-block-column {
    position: relative;
    width: 32%;
    padding: 1%;
    background-color: #FCFCFC;
}
.content-card-type-05 .wp-block-column.disp-none { opacity: 0; height: 1px; }
.content-card-type-05 .wp-block-column::before {
    content: '';
    display: block;
    position: absolute;
    top: 0; left: 0;
    height: 10px; width: 10px;
    clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
    background-color: #F36C21;
}
.content-card-type-05 .wp-block-column::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0; right: 0;
    height: 10px; width: 10px;
    clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
    background-color: #FFFFFF;
}
.content-card-type-05 .wp-block-column h3 {
    margin: 0 0 0 0.9rem;
    font-size: var(--font-size-md);
}
.content-card-type-05 .wp-block-column h3::before {
    content: '';
    display: inline-block;
    width: var(--font-size-base);
    height: var(--font-size-base);
    margin-right: 0.7rem;
    background-image: url(../img/icon-base.png);
    background-size: contain;
    background-position: center;
}
.content-card-type-05 .wp-block-column ul {
    list-style: none;
    width: 100%;
    margin: 0 5px;
    padding: 3% 0 1%;
}
.content-card-type-05 .wp-block-column li {
    width: 100%;
    padding: 5px 0 5px 0.9rem;
}
.content-card-type-05 .wp-block-column li::marker { color: #999; }
.content-card-type-05 .wp-block-column.content-card-type-05-img { position: relative; width: 32%; padding: 1%; background-color: transparent; }
.content-card-type-05 .wp-block-column.content-card-type-05-img::before { content: ''; display: none; }
.content-card-type-05 .wp-block-column.content-card-type-05-img::after { content: ''; display: none; }
.content-card-type-05 .wp-block-column.content-card-type-05-img figure { width: 50%; }

/* content-card-type-09 (Studios assets cards) */
.content-card-type-09 {
    display: flex;
    justify-content: center;
    width: 98%;
    margin: 0 auto;
}
.content-card-type-09 ~ .content-card-type-09 { margin-top: 20px; }
.content-card-type-09 .wp-block-column {
    position: relative;
    width: 100%;
    padding: 1%;
    background-color: rgba(245,245,245,0.90);
}
.content-card-type-09 .wp-block-column::before {
    content: '';
    display: block;
    position: absolute;
    top: 0; left: 0;
    height: 10px; width: 10px;
    clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
    background-color: #F36C21;
    z-index: 3;
}
.content-card-type-09 .wp-block-column::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0; right: 0;
    height: 10px; width: 10px;
    clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
    background-color: #3693F1;
}
.content-card-type-09 .wp-block-column h3 {
    margin: 0;
    margin-left: 0.7rem;
    font-size: var(--font-size-md);
    color: #333;
}
.content-card-type-09 .wp-block-column p {
    width: 100%;
    margin: 0;
    padding: 1% 1% 1% 0.7rem;
    font-size: var(--font-size-base);
    color: #333;
}
.content-card-type-09 .wp-block-column ul { width: 100%; padding: 1% 1% 1% 0.7rem; }
.content-card-type-09 .wp-block-column li { width: 100%; padding: 0; }
.content-card-type-09 .wp-block-column.content-card-type-09-img { position: relative; width: 32%; padding: 1%; background-color: transparent; }
.content-card-type-09 .wp-block-column.content-card-type-09-img::before { content: ''; display: none; }
.content-card-type-09 .wp-block-column.content-card-type-09-img::after { content: ''; display: none; }
.content-card-type-09 .wp-block-column.content-card-type-09-img figure { width: 90%; }



/* content-card-type-08 (Recruit links grid) */
.content-card-type-08 > div { display: flex; justify-content: center; flex-wrap: wrap; gap: 1.7rem 1rem; width: 98%; margin: var(--margin-top-50) auto 0; }
.content-card-type-08 ~ .content-card-type-08 { /* margin-top: 20px; */ }
.content-card-type-08 p { width: 48%; }
.content-card-type-08 .link-area { justify-content: center; }
@media screen and (max-width: 768px) {
	.content-card-type-08 .link-area { width: 100%; }
}
.content-card-type-08 .link-area a { margin: 0 auto; width: 100%; text-align: center; font-size: var(--font-size-md); font-weight: 700; }
.content-card-type-08 .link-area a { display: inline-block; margin: 0 auto; padding: 10px 30px; width: 100%; text-align: center; font-size: var(--font-size-md); font-weight: 700; border: 1px solid #3693F1; border-radius: 8px; background: #FFFFFF; color: #3693F1; transition: 0.5s; }
.content-card-type-08 .link-area :hover { display: inline-block; margin: 0px auto; padding: 10px 30px; border: 1px solid #3693F1; border-radius: 8px; /*background: #3693F1;*/ /*color: #FFFFFF;*/ font-size: var(--font-size-md); font-weight: 700; }

/* content-card-type-cast */
.content-card-type-cast { justify-content: space-around; }
.content-card-type-cast div {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-basis: auto!important;
    flex-grow: initial!important;
    width: 45%;
    max-width: 760px;
    border-bottom: 2px solid;
    border-image: linear-gradient(to right,#e6011a 0%,#e6011a 29%,#4a86e8 72%,#4a86e8 100%) 1;
}
.content-card-type-cast img { width: 100%; border: 1px solid #cccccc; }
.content-card-type-cast h3,
.content-card-type-cast p { display: inline-block; font-size: 1.8rem; }
.content-card-type-cast p::before {
    padding-right: 10px;
    font-family: "Font Awesome 5 Free";
    content: '\\f105';
    color: #007aff;
    text-align: right;
    font-weight: bold;
    transition: .5s ease-out;
}

/* content-card-type-jirei (About/Services/Office) */
#about .content-card-type-jirei,
#services .content-card-type-jirei,
#office .content-card-type-jirei {
    margin: 0px auto 30px;
    padding: 0 40px 0 40px;
    width: 100%;
    max-width: 1700px;
    align-items: stretch;
    justify-content: space-between;
}
#about .content-card-type-jirei div,
#office .content-card-type-jirei div { max-width: 500px; margin-bottom: 0px; }
#about .content-card-type-jirei div,
#services .content-card-type-jirei div { background-color: #fafafa; padding: 20px; }
#services .content-card-type-jirei > div { display: flex; flex-direction: column; justify-content: space-between; margin-bottom: 20px; }
#services .content-card-type-jirei div p.read { margin-top: 10px; margin-bottom: 10px; flex-grow: 1; }
#services .content-card-type-jirei div p.link { margin: 0; text-align: right; }
#services .content-card-type-jirei div p.link a { position: relative; display: inline-block; padding: 0; border-bottom: 1px solid #8A8A8A; color: #2A93D5; font-weight: bold; text-align: right; text-decoration: none; transition: .5s ease-out; }
#services .content-card-type-jirei div p.link a::after { padding-left: 10px; font-family: "Font Awesome 5 Free"; content: '\\f105'; color: #2A93D5; text-align: right; font-weight: bold; transition: .5s ease-out; }

#about .content-card-type-jirei div h4,
#services .content-card-type-jirei div h4 { margin: 0 auto 10px; padding: 0 0 10px; display: block; font-size: 1.2rem; font-weight: bold; line-height: 1.2rem; }
#about .content-card-type-jirei div h4 { border-bottom: 2px solid; border-image: linear-gradient(to right,#e6011a 0%,#e6011a 29%,#4a86e8 72%,#4a86e8 100%) 1; }
#about .content-card-type-jirei div p,
#services .content-card-type-jirei div p { margin: 0 auto 0; padding: 0; display: block; font-size: 1.0rem; line-height: 1.8rem; }

#office .content-card-type-jirei div { background-color: #EBF9FA; padding: 20px; }
#office .content-card-type-jirei div.blank-block { background-color: #FFF; margin: 0; padding: 0; }
#office .content-card-type-jirei div h4 { position: relative; margin: 0 auto 10px; padding: 0px 0 0px 20px; display: block; font-size: 1.2rem; font-weight: bold; line-height: 2rem; }
#office .content-card-type-jirei div h4::after { position: absolute; top: 0; left: 0; width: 100%; height: 2.4rem; content: ''; border-bottom: 1px solid #ACDAD5; }
#office .content-card-type-jirei div h4::before { position: absolute; top: 0; bottom: 0; left: 0; width: 12px; height: 2rem; content: ''; background: #2A93D5; border-radius: 2px; }

#Recruit figure img {
	margin-bottom: 10px;
    border: 1px solid #CCCCCC;
    border-radius: 8px;
    overflow: hidden;
}

/* カードレイアウト｜左右｜画像＋本文 */
#seminar .wp-block-column,
#csr .wp-block-column {
/*	flex-basis: auto;*/
	flex-basis: fit-content;
}


/* 固定 CTA デフォルト非表示（JS が後で block にする） */
#fixed-cta{ display:none; }
/* 固定 CTA の箱を右下固定 */
.fixed-cta-wrap {
    height: 0;
}
#fixed-cta {
    position:fixed;
    right:26px;
    bottom:-20px;   /* コピーライト高 48px + 余白 */
    z-index:9999;

    padding: 10px 10px;
    border: 2px solid #1dade2;
    border-radius: 8px;
    background: #FFFFF6;
    
    /* スムーズなアニメーション */
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    opacity: 1;
    transform: translateY(0);
}
#fixed-cta.hidden {
    opacity: 0;
    transform: translateY(20px);
}
.fixed-cta h4 {
    color: #1DADE2;
    font-size: calc(var(--font-size-md) * 0.8);
    font-weight: 700;
    margin: 0;
}
.fixed-cta div {
	display: flex;
    gap: 0.8rem;
}
.fixed-cta p {
    margin: 0;
}

#fixed-cta .link-area a {
    display: inline-block;
    margin: 10px 0 0;
    padding: 8px 15px;
    width: 100%;
    border: none;
    border-radius: 8px;
    background: #00582D;
    font-size: var(--font-size-base);
    font-weight: 700;
    color: #FFF;
    text-align: left;
    transition: 0.5s;
}
#fixed-cta .link-area a:hover {
    display: inline-block;
    margin: 10px 0 0;
    padding: 8px 19px;
    border: none;
    border-radius: 8px;
    background: #03753e;
    font-size: var(--font-size-base);
    font-weight: 700;
    color: #FFF;
}
#fixed-cta .link-area a::before {
    padding-right: 15px;
    transition: transform .3s ease-in-out;
    display: inline-block;
}
#fixed-cta .link-area a::after {
    content: "";
    display: none;
}
#fixed-cta .link-cta-mail a::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0e0";
    font-weight: 900;
}
#fixed-cta .link-cta-tel a::before {
    font-family: "Font Awesome 5 Free";
    content: "\f879";
    font-weight: 900;
}
@media screen and (max-width: 768px) {
    #fixed-cta {
        position:fixed;
        left: 20px;
        right: 26px;
        bottom:-20px;   /* コピーライト高 48px + 余白 */
    
        padding: 10px 10px;
        border: 1px solid #1dade2;
    }
    .fixed-cta h4 {
        font-size: calc(var(--font-size-base) * 0.8);
        text-align: center;
    }
    .fixed-cta h4 br {
        display: none;
    }
    #fixed-cta > div {
        justify-content: center;
    }
    #fixed-cta .link-area a {
        margin-top: 5px;
        padding: 5px 10px;
        font-size: var(--font-size-base);
    }
    #fixed-cta .link-area a::before {
        padding-right: 5px;
    }
    #fixed-cta .link-area a span {
        display: none;
    }
}
  
/* 画像はそのまま */
.fixed-cta img{
    width:140px; height:auto; display:block;
    box-shadow:0 4px 10px rgba(0,0,0,.15);
    border-radius:4px;
}
  
/* × ボタン */
.fixed-cta .cta-close{
    position:absolute;
    top:-10px; right:-10px;
    padding: 0;
    width:24px; height:24px;
    border:none; border-radius:50%;
    background:#333; color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px; line-height:1.0;
    cursor:pointer;
    box-shadow:0 2px 5px rgba(0,0,0,.3);
}

.fixed-cta .cta-close:hover{background:#555;}



/* フッター CTAコンテンツ */
#maps {
    background: #EFF1E9;
    padding-bottom: 50px!important;
}
#maps h2 {
    text-align: center;
    color: #1DADE2;
    font-weight: 700;
    font-size: var(--font-size-xl);
}
#maps .address-area {
    border-bottom: 2px solid #1DADE2;
    padding-bottom: 40px;
}
#maps .address-area:last-of-type {
    border:none;
    margin-bottom: 0;
    padding-bottom: 0;
}
#maps .address-area p {
    margin-top: 0;
    padding: 0 10px 0 10px;
    text-align: left;
    font-size: var(--font-size-base);
}
#maps .address-area p strong {
    font-weight: 700;
}


#maps iframe {
    border: 0;
    width: 100%;
    margin: 0 auto;
}

#maps .link-area {
    display: flex;
    justify-content: center;
    border-bottom: 2px solid #1DADE2;
}
#maps .link-area .wp-block-column {
    display: flex;
    justify-content: center;
    gap: 40px;
}

#maps .link-area a {
    display: inline-block;
    margin: 10px 0 0;
    padding: 15px 30px;
    border: none;
    border-radius: 8px;
    background: #00582D;
    font-size: var(--font-size-xl);
    font-weight: 700;
    color: #FFF;
    text-align: left;
    transition: 0.5s;
}
#maps .link-area a:hover {
    display: inline-block;
    margin: 10px 0 0;
    padding: 15px 30px;
    border: none;
    border-radius: 8px;
    background: #03753e;
    font-weight: 700;
    color: #FFF;
}
#maps .link-area a::before {
    padding-right: 15px;
    transition: transform .3s ease-in-out;
    display: inline-block;
}
#maps .link-area a::after {
    content: "";
    display: none;
}
#maps .link-cta-mail a::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0e0";
    font-weight: 900;
}
#maps .link-cta-tel a::before {
    font-family: "Font Awesome 5 Free";
    content: "\f879";
    font-weight: 900;
}

@media screen and (max-width: 768px) {
    #maps h2 {
        font-size: var(--font-size-md);
    }
    #maps .link-area .wp-block-column {
        gap: 1rem;
        flex-direction: column;
        margin-bottom: 20px;
    }
    #maps .link-area .wp-block-column p {
        margin: 0 auto;
    padding: 0;
    }
    #maps .link-area a {
        margin: 10px 0 0;
        padding: 15px 20px;
        font-size: var(--font-size-md);
        width: 300px;
        text-align: center;
    }
}

/* テーブル */
.content-table-type-base {
/*    margin: 0 auto 0;
    padding: 0 40px 0 40px;
    width: 100%;
    max-width: 1700px;*/
}
/* テーブル｜会社概要 */
#services .wp-block-table {
	padding: 0 40px;
}

#services table {
    border-collapse: collapse;
    margin: 0 auto 0;
    width: 100%;
    max-width: 1700px;
}

#services table th {
    border-collapse: collapse;
    padding: 15px 10px;
	line-height: 1.8rem;
	vertical-align: top;
    font-weight: normal;
    font-size: 1.0rem;
    text-align: left;
    color: #000;
	border: none;
    border-bottom: 1px solid #DCDCDC;
    background-color: #EBF9FA;
}

#services table td {
    border-collapse: collapse;
    padding: 15px 15px;
	line-height: 1.8rem;
	vertical-align: top;
    font-weight: normal;
    font-size: 1.0rem;
    color: #000;
	border: none;
    border-bottom: 1px solid #DCDCDC;
    background-color: #FFF;
}

/* テーブル｜会社概要 */
#about .wp-block-table {
	padding: 0 40px;
}

#about table {
    border-collapse: collapse;
    margin: 0 auto 0;
    width: 100%;
    max-width: 1700px;
}

#about table th {
    border-collapse: collapse;
    padding: 15px 10px;
    font-weight: normal;
    font-size: 1.0rem;
    text-align: left;
    color: #000;
    border-bottom: 1px solid #DCDCDC;
    background-color: #FFFFFF;
}

#about table td {
    border-collapse: collapse;
    padding: 15px 15px;
    font-weight: normal;
    font-size: 1.0rem;
    color: #000;
	border: none;
    border-bottom: 1px solid #DCDCDC;
    background-color: #FFF;
}



/**
 * mw wp form
 */
 #contact-form h2 {
    position: relative;
    /*font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "IBM Plex Sans JP", sans-serif;*/
    margin: 0 auto 30px;
    width: 100%;
    /*height: calc(var(--font-size-xl)*1.5) ;*/
    /*font-size: var(--font-size-xl);*/
    font-size: var(--font-size-xl);
    font-weight: ;
    line-height: 1.75;
    text-align: left;
    color: #032642;
    border-bottom: 2px solid #F5F4F9;
}
#contact-form h2::after {
    content: '';
	position: absolute;
    /*top: 0;*/
    bottom: -2px;
    left: 0;
    width: 55%;
    height: 100% ;
    content: '';
    display: inline-block;
    border-bottom: 2px solid #F36C21;
}
@media screen and (max-width: 768px) {
    #contact-form h2 {
        font-size: var(--font-size-lg);
        font-weight: ;
        line-height: 1.75;
    }
    #contact-form h2::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 85%;
        height: 100% ;
        content: '';
        display: inline-block;
        border-bottom: 2px solid #F36C21;
    }
}


.mw_wp_form_read {
    box-sizing: border-box;
    margin-bottom: 15px;
	margin:0 auto;
/*    padding: 20px;*/
	max-width: 980px;
}

.mw_wp_form_input {
	margin:0 auto;
    margin-top:70px;
	max-width: 980px;
}
@media screen and (max-width: 768px) {
    .mw_wp_form_input {
        margin-top:0px;
    }
}
.mw_wp_form_input .mw_wp_form_read {
    margin-bottom: 15px;
    background: #feffd7;
    box-sizing: border-box;
    padding: 20px;
    font-size: 120%;
}

.mw_wp_form_title {
    color: ;
    font-size: 110%;
    font-weight: bold;
    margin-top: 24px;
    margin-bottom: 10px;
    padding: 5px 10px;
    box-sizing: border-box;
/*    border-left: 10px solid #006fbd;*/
}

.mw_wp_form_title span {
    display: inline-block;
    color: #fff;
    margin-left: 10px;
    border-radius: 20px;
    background: #1DADE2;
    padding: 2px 10px;
    box-sizing: border-box;
    font-size: 80%;
}


.mw_wp_form_title span.nini {
    display: inline-block;
    color: #fff;
    margin-left: 10px;
    border-radius: 4px;
    background: #999;
    padding: 2px 6px;
    box-sizing: border-box;
    font-size: 80%;
}

.mw_wp_form_inputs {
	display:flex;
	align-items: center;
	padding-left: 20px;
	padding-right: 20px;
}

.mw_wp_form_inputs input[type=text],
.mw_wp_form_inputs input[type=email] {
    height: 60px;
    padding: 0 20px;
}

.mw_wp_form_inputs input[type=text],
.mw_wp_form_inputs input[type=email],
.mw_wp_form_inputs textarea {
    width: 100%;
    border-radius: 0;
    border: 1px solid #ddd;
    background-color: #f7f7f7;
}

.mw_wp_form_inputs textarea {
    height: 200px;
    padding: 20px;
    resize: vertical;
}

.mw_wp_form_inputs-vertical-item {
	display:block;
	padding-left: 20px;
	padding-right: 20px;
}



.mw_wp_form_inputs_checkbox {
	padding-left: 20px;
	padding-right: 20px;
}

.mw_wp_form_inputs_error {
	text-algin:left;
	padding:5px 5px 5px 20px;
}

.mw_wp_form_inputs_error .error {
	text-algin:left;
}

.mw_wp_form_inputs .mw_wp_form_inputs_middle {
	max-width:50%;
}

.mw_wp_form_inputs_small {
	max-width:100px;
}

.mw_wp_form_inputs select {
	-webkit-appearance: auto;
	appearance: auto;
	width: 100%;
	height: 60px;
	padding: 0 20px;
    border: 1px solid #ddd;
    background-color: #f7f7f7;

}

.mw_wp_form_scloll {
	margin-top: 30px;
	margin-bottom: 15px;
}


.mw_wp_form_scloll_pp {
	margin-top: 10px;
	margin-bottom: 10px;
	height: 20em;
	overflow-y: scroll;
	overflow-y: overlay;
	border: 1px solid #CCC;
	padding: 6px 6px;
	box-sizing: border-box;
}

.mw_wp_form_scloll_pp h3 {
	text-align: left!important;
	width: 100%!important;
	max-width: 95%!important;
    margin: 15px auto;
}

.mw_wp_form_scloll_pp h4 {
	text-align: left!important;
	width: 100%!important;
	max-width: 95%!important;
    margin: 15px auto;
}

.mw_wp_form_scloll_pp p {
	text-align: left!important;
	width: 100%!important;
	max-width: 95%!important;
}

.mw_wp_form_scloll_pp ul {
	text-align: left!important;
	width: 100%!important;
	max-width: 95%!important;
    margin: 15px auto;
}

.mw_wp_form_scloll_pp ol {
	text-align: left!important;
	width: 100%!important;
	max-width: 95%!important;
    margin: 15px auto;
}

.mw_wp_form_scloll_pp th.th_pp {
	background-color: #EFEFEF;
	color: #000;
}

.mw_wp_form_pp {
	text-align: center!important;
	width: 100%!important;
	max-width: 100%!important;
}

.mw_wp_form_input button {
	margin:0 auto 0;
    padding: 10px;
	width: 200px;
    background-color:#00582D;
    color: #FFF;
    border-radius: 20px;
    font-size: var(--font-size-lg);
    font-weight: bold;
}

.mw_wp_form_input p {
	max-width: 70%;
	text-align: center;
	margin: 15px auto;
}

@media screen and (max-width: 1024px) {

.mw_wp_form_title {
	padding: 10px 0px;
/*	border-bottom: 1px solid #006fbd;*/
}

.mw_wp_form_inputs {
	padding: 0;
}

.mw_wp_form_inputs .mw_wp_form_inputs_middle {
	padding: 0;
	max-width:100%;
}

.mw_wp_form_inputs-vertical-item {
	padding: 0;
}

.mw_wp_form_inputs_checkbox {
	padding: 0;
}

.mw_wp_form_scloll {
	max-width: 80%;
	margin: 30px auto 0;
}

.mw_wp_form_input p {
	max-width: 70%;
	text-align: center;
	margin: 15px auto;
}

}


/* - デバイス表示切替スタイル
--------------------------------------------- */
@media screen and (min-width: 769px) {

	.device-display-change-sp-to-pc {
		display: none;
	}
}

@media screen and (max-width: 768px) {
    .device-display-change-pc-to-sp {
      display: none;
    }

    .chr-v-wrap {
        margin: 0px;
        margin-top: 0px;
        padding: 0;
        background-size: 100vw;
        background-repeat: no-repeat;
        /*width: var(--primary-width-01);
        height: calc(var(--primary-width-01) * 1.778);*/
        /*background-position: center center;*/ /* デフォルトの背景位置 */
    }

        /*キャラクタービジュアル｜キャラクター等のレイヤー重ね順基準値z-index: 88*/
    .chr-v-wrap-max {
        width: var(--primary-width-01);
        /*height: 100vh;*/
        overflow-y: hidden;
        /*height: calc(100vw * 2.165);*/
        height: max-content;
        /*height: calc(var(--primary-width-01) * 1.778);*/
        /*background-color: #FF0;
        container-type: inline-size;
        container-name: wrapper;*/
        border-bottom: #FFF solid 1px;
    }
    .chr-v-wrap {
        width: 100%;
        height: calc(100vw * 1.778); /* デフォルトの高さ */
        background-size: cover;
        background-position: center center; /* デフォルトの背景位置 */
        border-bottom: #FFF solid 1px;
    }
    
    .chr-v-wrap.aspect-ratio-2-165 {
        height: calc(100vw * 2.165); /* 1:2.165 のアスペクト比 */
        background-position: top center; /* 背景画像の位置を上に設定 */
        border-bottom: #FFF solid 1px;
    }
    
    .chr-v-wrap.aspect-ratio-1-778 {
        height: calc(100vw * 1.778); /* 1:1.778 のアスペクト比 */
        background-position: center center; /* 背景画像の位置を中心に設定 */
        border-bottom: #FFF solid 1px;
    }

  
}

  /*
@container wrapper (max-width: 500px) {
    .chr-v-wrap {
        width: 200px;
        height: calc(var(--primary-width-01) * 1.478);
        background-position: top center;
    }
  }
    */
/*@container chr-v-wrapper (max-aspect-ratio: 1 / 1.2) {*/
/*@container (max-width: 700px) {
    .chr-v-wrap {
        width: 50px;
        height: 100px;
        background-position: center center;
    }
}*/


	
	/* - デバイス表示切替スタイル
--------------------------------------------- */
@media screen and (max-width: 768px) {

	.site-branding h1 img {
		max-width: 110px;
		/* height: 40px; */
	}

	.content-wrap-base {
		padding-left:2%;
		padding-right:2%;
	}


#cast h2:before,
#about h2:before {
	/*
    position: absolute;
    top: -6px;
    left: 0;
    width: 200px;
    height: 6px;
    content: '';
    background: #e6011a;
	*/
}



/*見出し h3*/
#about h3 {
    /*font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "IBM Plex Sans JP", sans-serif;*/
	font-family: 'Noto Serif JP', serif;


    margin: 0 auto 30px;
    padding: 0px 0px 0px 20px;
    width: 100%;
    font-size: 1.5rem;
    line-height: 2.0rem;
    text-align: left;
    position: relative;
}

#about h3:before {
	position: absolute;
    top: 0px;
    left: 0;
    width: 10px;
    height: 2rem;
    content: '';
}

/* 本文設定 */
  #about p {
    margin: 0 auto 60px;
    padding: 0px 0px 0px 0px;
    width: 100%;
    font-size: 1.0rem;
    line-height: 1.8rem;
    font-weight: normal;
    text-align: left;
    color: #000;
}


/**/
.content-card-type-cast h3, .content-card-type-cast p {
    display: inline-block;
    /* color: #000; */
    font-size: 1.6rem;
}


#services .content-card-type-jirei {
    margin: 0px auto 30px;
    padding: 0 0px 0 0px;
    width: 100%;
    max-width: 1700px;
    align-items: stretch;
    justify-content: space-between;
}

#services .content-card-type-jirei div {
	width: 100%;
    max-width: 740px;
}

#services .content-card-type-jirei div h4 {
	margin: 0 auto 10px;
    padding: 0 0 10px;
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.2rem;
}

#services .content-card-type-jirei div p {
	margin: 0 auto 0;
    padding: 0;
    display: block;
    font-size: 1.0rem;
    line-height: 1.8rem;
}

#office .content-card-type-jirei {
    margin: 0px auto 30px;
    padding: 0 0px 0 0px;
    width: 100%;
    max-width: 1700px;
    align-items: stretch;
    justify-content: space-between;
}


#about .content-card-type-jirei {
    margin: 0px auto 30px;
    padding: 0 0px 0 0px;
    width: 100%;
    max-width: 1700px;
    align-items: stretch;
    justify-content: space-between;
}

#about .content-card-type-jirei div {
	width: 100%;
    max-width: 740px;
}

#about .content-card-type-jirei div h4 {
	margin: 0 auto 10px;
    padding: 0 0 10px;
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.2rem;
}

#about .content-card-type-jirei div p {
	margin: 0 auto 0;
    padding: 0;
    display: block;
    font-size: 1.0rem;
    line-height: 1.8rem;
}


.link-button a {
    display: block;
	margin: 10px auto 0 ;
}

/**/
#about .wp-block-table {
    padding: 0 0px;
}

/* テーブル｜会社概要 */
#services .wp-block-table {
	padding: 0 0px;
}

#services table th {
    display: block;
}

#services table td {
    display: block;
}



.mw_wp_form_inputs {
	padding: 0 0;
	margin: 0;
}

.mw_wp_form_inputs input[type=text],
.mw_wp_form_inputs input[type=email],
.mw_wp_form_inputs textarea {
	padding: 0 0;
}

/**/
.main-navigation-footer-lp > div {
	flex-direction: column;
}

.main-navigation-footer-lp p {
	text-align: center;
}

.main-navigation-footer-lp ul {
	flex-wrap: wrap;
}

.main-navigation-footer-lp ul li {
	padding-bottom: 20px;
}


	}




/* sub-page
--------------------------------------------- */
/*ビジュアル｜キャラクター等のレイヤー重ねる場合基準値z-index: 88*/
/*サブページ-ビジュアル-大*/
.chr-v-wrap-sub-big {
    margin: 0px auto;
	margin-top: 0px;
    padding: 0;
    background-size: 100%;
    background-position: top;
	background-repeat: no-repeat;
    width:  var(--primary-width-02);
    /*height: calc(var(--primary-width-01) * 0.385);*/
    position: relative;
    z-index: 88;
}

.chr-v-wrap-sub-big figure {
	margin: 0 auto;
	padding: 0;
	width: 100%;
}

.chr-v-wrap-sub-big figure img {
	margin: 0 auto;
	padding: 0;
	width: 100%;
}

.chr-v-wrap-sub-big::after {
/*	content: "";
	display: block;
	background: #2A93D5;
	height: 10px;
	position: absolute;
    bottom: 0;
    width: 100%;*/
}

.chr-v-wrap-sub-small {
    margin: 0px auto;
	margin-top: 0px;
    padding: 0;
    background-size: 100%;
    background-position: top;
	background-repeat: no-repeat;
    width:  var(--primary-width-02);
    /*height: calc(var(--primary-width-01) * 0.192);*/
    position: relative;
    z-index: 88;
}

.chr-v-wrap-sub-small figure {
	margin: 0 auto;
	padding: 0;
	width: 100%;
}

.chr-v-wrap-sub-small figure img {
	margin: 0 auto;
	padding: 0;
	width: 100%;
}

.chr-v-wrap-sub-small::after {
/*	content: "";
	display: block;
	background: #2A93D5;
	height: 10px;
	position: absolute;
    bottom: 0;
    width: 100%;*/
}

@media screen and (max-width: 768px) {
	.chr-v-wrap-sub-small::after {
		height: 4px;
	}
}


/*事業内容*/
.services-content > div > div {
	padding: 10px 20px;
}

.services-content p {
	line-height: 1.8rem;
}

.services-content p.bg-color-accent {
	border-radius: 4px;
	padding: 10px;
	margin: 1rem 0 1rem 0;
}

.services-content h3 {
    margin: 0 auto 50px;
    padding: 10px 10px 10px 10px;
    width: 100%;
    font-size: 1.4rem;
    line-height: 1.4rem;
    font-weight: bold;
    text-align: left;
    color: #000;
    position: relative;
    /*border-bottom: 6px solid #3AD9D5;*/
	border-bottom: 2px solid #1b4a74;

}

.services-content h4 {
	margin-bottom: 0;
	font-size: 1.1rem;
}

.services-content p strong {
	display: inline-block;
	line-height: 1.0rem;
}

/* テーブル｜会社概要 */
.services-content .wp-block-table {
	padding: 0 40px;
}

.services-content table {
    border-collapse: collapse;
    margin: 0 auto 30px;
    width: 100%;
    max-width: 1700px;
}

.services-content table th {
    border-collapse: collapse;
    padding: 10px 10px;
	min-width: 80px;
	line-height: 1.8rem;
	vertical-align: top;
    font-weight: bold;
    font-size: 1.0rem;
    text-align: left;
    color: #FFF;
	border: none;
    border: 1px solid #DCDCDC;
    background-color: #2A93D5;
}

.services-content table td {
    border-collapse: collapse;
    padding: 10px 10px;
	line-height: 1.8rem;
	vertical-align: top;
    font-weight: normal;
    font-size: 1.0rem;
    color: #000;
	border: none;
    border: 1px solid #DCDCDC;
    background-color: #FFF;
}

.flow-list {
/*	display: flex;
	flex-wrap: wrap;*/
}

.flow-list {
	padding-left: 0;
	position: relative;
}
.flow-list::before {
content: "";
width: 3px;
height: 100%;
background: #2A93D5;
display: block;
position: absolute;
top: 0;
left: 200px;
z-index: -1;
}
.flow-list > li {
position: relative;
list-style: none;
}
.flow-list > li:not(:last-child) {
margin-bottom: 8vh;
}
.flow-list > li .icon {
font-size: 12px;
color: #fff;
background: rgb(107,144,219);
background: -moz-linear-gradient(left, rgba(107,144,219,1) 0%, rgba(102,213,233,1) 100%);
background: -webkit-linear-gradient(left, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
background: linear-gradient(to right, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
padding: 8px 20px;
display: block;
position: absolute;
top: 0;
left: -120px;
z-index: 100;
}
.flow-list > li .icon::after {
content: "";
border-style: solid;
border-width: 5px 0 5px 10px;
border-color: transparent transparent transparent #66d5e9;
position: absolute;
top: 50%;
left: 100%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
.flow-list > li dl {
padding: 0;
display: flex;
/*position: relative;*/
}
.flow-list > li dt {
	margin: 0 0 0 0 ;
	padding: 0;
	min-width: 200px;
}
.flow-list > li dd {
	display: flex;
	align-items: center;
	margin: 0 0 0 0 ;
	padding: 0;
}
	
.flow-list > li dd::before,
.flow-list > li dd::after {
content: "";
display: block;
/*position: absolute;*/
/*top: 15px;*/
}
.flow-list > li dd::before {
width: 33px;
height: 33px;
min-width: 33px;
min-height: 33px;
background: #2A93D5;
border-radius: 50%;
margin-right: 10px;
margin-left: -15px;
/*left: -4px;*/
}
.flow-list > li dd::after {
/*width: 50px;
border-bottom: 1px dashed #999;
position: absolute;
left: 5px;*/
}
.flow-list > li dl dt {
font-weight: 600;
color:#2A93D5;
display: flex;
align-items: center;
}

.flow-list-finding {
	padding: 10px;
	display: flex;
	align-items: center;
	border-radius: 4px;
	background: #125488;
	font-weight: 600;
	color: #FFF;
	text-align: center;
}


.flow-list-type-02 {
	margin: 0;
	padding-left: 0;
	max-width: 70%;
	position: relative;
}
.flow-list-type-02::after {
	content: "";
	width: 3px;
	height: 100%;
	background: #2A93D5;
	display: block;
	position: absolute;
	top: 0;
	left: 15%;
	right: 85%;
/*	z-index: -1;*/
}
.flow-list-type-02 > li {
	margin-bottom: 30px;
	padding: 10px;
	position: relative;
	border-radius: 8px;
	background-color: #2A93D5;
	color: #FFF;
	line-height: 1.8rem;
	list-style: none;
	z-index: 1;
}
.flow-list-type-02 > li.finding {
	background-color: #125488;
}

@media screen and (max-width: 768px) {
	.services-content h2 {
		margin: 0 auto 20px;
		padding: 10px 10px 10px 10px;
		width: 100%;
		font-size: 1.5rem;
		line-height: 1.7rem;
		text-align: center;
		position: relative;
		/*border-bottom: 6px solid #3AD9D5;*/
		border-bottom: 2px solid #1b4a74;

	}
	.services-content h3 {
		font-size: 1.1rem;
		line-height: 1.4rem;
	}

	.services-content .sp_padding_0 {
		padding-left: 0;
		padding-right: 0;
	}
	.flow-list {
		margin: 0 auto;
	}
	.flow-list * {
		font-size: 0.9rem;
	}
	.flow-list::before {
		left: 150px;
	}
	.flow-list > li dt {
		margin: 0 0 0 0 ;
		padding: 0;
		min-width: 150px;
	}
	.flow-list > li dd::before {
		width: 24px;
		height: 24px;
		min-width: 24px;
		min-height: 24px;
		border-radius: 50%;
		margin-right: 10px;
		margin-left: -11px;
		/*left: -4px;*/
	}

	.flow-list-type-02 {
		max-width: 100%;
	}
	.flow-list-type-02 > li {
		margin-bottom: 30px;
		padding: 10px;
		position: relative;
		border-radius: 8px;
		background-color: #2A93D5;
		color: #FFF;
		line-height: 1.8rem;
		list-style: none;
		z-index: 1;
	}

	.services-content .wp-block-table {
		padding: 0 0;
	}
	.services-content .wp-block-table * {
		font-size: 0.9rem;
	}
	.services-content table th {
		padding: 5px 5px;
		min-width: 80px;
	}
	.services-content table td {
		padding: 5px 5px;
	}
}



/* 記事レイアウト｜左右｜画像＋本文 */
#post-archive-wrap {

}
#post-archive-wrap h2 {
    position: relative;
    /*font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "IBM Plex Sans JP", sans-serif;*/
    margin: 0 auto 30px;
    width: 100%;
    /*height: calc(var(--font-size-xl)*1.5) ;*/
    /*font-size: var(--font-size-xl);*/
    font-size: var(--font-size-xl);
    font-weight: ;
    line-height: 1.75;
    text-align: left;
    color: #032642;
    border-bottom: 2px solid #F5F4F9;
}
#post-archive-wrap h2::after {
    content: '';
	position: absolute;
    top: 0;
    left: 0;
    width: 25%;
    height: 100% ;
    content: '';
    display: inline-block;
}

.flex-archive {
    margin: 0 auto 50px;
    padding: 10px 10px 20px 10px;
    width: 100%;
	border-bottom: 2px solid #DDDDDD;

}

.flex-archive .wp-block-column {
/*	flex-basis: auto;*/
/*	flex-basis: fit-content!important;*/
}

.flex-archive .flex-archive-left {
	/*flex-basis: fit-content!important;*/
}
	
.flex-archive .flex-archive-left {
	width: auto;
}
	
.flex-archive .flex-archive-right {
	flex-grow: 3!important;
}

.flex-archive .flex-archive-left figure {
	width: 100%;
	max-width: 350px;
	border: 1px solid #CCC;
}

.flex-archive .flex-archive-left img {
	width: 100%;
	vertical-align: bottom;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.flex-archive .flex-archive-right h3 {
	font-size: 1.5rem;
}


.flex-archive .flex-archive-right .link-button {
    display: flex;
    justify-content: flex-end;
    /*max-width: 150px;*/
}
.flex-archive .flex-archive-right .link-button a {
    display: inline-block;
    margin: 10px 0 0;
    padding: 10px 30px;
    border: 1px solid #3693F1;
    border-radius: 8px;
    background: #FFFFFF;
    font-size: var(--font-size-md);
    font-weight: 400;
    color: #3693F1;
    transition: 0.5s;
}

.flex-archive .flex-archive-right .link-button a::after {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: bold;
    padding-left: 10px;
    transition: transform .3s ease-in-out;
    display: inline-block;
}
.flex-archive .flex-archive-right .link-button a {
    display: inline-block;
    margin: 20px 0 0;
    padding: 10px 30px;
    border: 1px solid #3693F1;
    border-radius: 8px;
    background: #FFFFFF;
    font-size: var(--font-size-md);
    font-weight: 400;
    color: #3693F1;
    transition: 0.5s;
}

/* 親要素（.link-more）がhoverされたときに矢印を動かす */
.flex-archive .flex-archive-right .link-button a:hover::after {
    transform: translateX(8px);
}
.flex-archive .flex-archive-right .link-button a:hover {
    display: inline-block;
    margin: 20px 0 0;
    padding: 10px 30px;
    border: 1px solid #3693F1;
    border-radius: 8px;
    font-size: var(--font-size-md);
    font-weight: 400;
}



	


.post-navigation {
    margin: 0 auto 0px!important;
    padding: 50px 0px 50px;
	width: 90%;
    max-width: 1700px;
}


.post-navigation .nav-previous {
    padding-right: 10px!important;
}
.post-navigation .nav-next {
    padding-left: 10px!important;
}

.post-navigation .nav-previous a,
.post-navigation .nav-next a {
    color: #1DADE2;
}
.post-navigation .nav-previous a:hover,
.post-navigation .nav-next a:hover {
    color: #1DADE2;
}
.post-navigation .nav-previous a:visited,
.post-navigation .nav-next a:visited {
    color: #1DADE2;
}


.img-pm {
	margin: 0 auto;
	padding: 0;
	text-align: center;
}



/*sub pages
--------------------------------------------- */
/* 会社概要 */
#p-company .content-card-type-lr .column-left {
    padding: 1rem 2rem 0 2rem;
    width: max-content;
    flex: 0 0 auto;    
}
#p-company .content-card-type-lr .column-right {
    flex:1 1 auto;
    min-width:0;
}
#p-company .content-card-type-lr .column-right h4 {
    border-bottom: 2px solid #6EC6FF;
}

/* ▼三角アイコンを消す（Safari/Firefox/Chromium系すべて） */
.wp-block-details summary { list-style: none; }
.wp-block-details summary::marker { content: ""; }
.wp-block-details summary::-webkit-details-marker { display: none; }

/* ▼行の見た目（任意） */
.wp-block-details summary{
  position: relative;
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: 1rem 1rem 1rem 2.4rem; /* ←左にアイコン分の余白 */
  cursor: pointer;

  font-size: var(--font-size-md);
  font-weight: 700;
  line-height: 1.4rem;
  color: #00582D;
  border-bottom: 2px solid #00582D;
}
.wp-block-details summary p {
    font-size: var(--font-size-base);
}
  
/* ▼Font Awesomeアイコン（閉：＋ / 開：−） */
.wp-block-details summary::before {
  content: "\f067"; /* fa-plus */
  font: normal 900 1rem/1 "Font Awesome 6 Free", "Font Awesome 5 Free"; 
  /* ↑ Free(Solid)を読み込んでいる前提。Proなら "Font Awesome 6 Pro" などに変更 */
  position: absolute;
  left: .75rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  font-size: var(--font-size-md);
  line-height: 1;
}

/* 開いたら minus に切替 */
.wp-block-details[open] summary::before{
  content: "\f068"; /* fa-minus */
}

/* ▼アクセシビリティ（キーボードフォーカス見える化） */
.wp-block-details summary:focus-visible{
  outline: 2px solid #6EC6FF;
  outline-offset: 2px;
}
/* ブラウザのスクロールアンカーと競合しないように */
#wp-block-details-js { overflow-anchor: none; }

/* 先頭/末尾の外側マージンで高さがブレないように（推奨） */
#wp-block-details-js .details-body > :first-child { margin-top: 0; }
#wp-block-details-js .details-body > :last-child  { margin-bottom: 0; }



#p-company .wp-block-table {
    margin-bottom: 70px;
	padding: 20px 20px 0;
}
#p-company table {
    border-collapse: collapse;
    margin: 0 auto 0;
    width: 100%;
    max-width: 1700px;
}
#p-company table th {
    width: 15%;
    border-collapse: collapse;
    padding: 15px 10px;
	line-height: 1.8rem;
	vertical-align: top;
    font-weight: normal;
    font-size: 1.0rem;
    text-align: left;
    color: #000;
	border: none;
    border-bottom: 1px solid #DCDCDC;
    background:
    linear-gradient(#6EC6FF, #6EC6FF)
      right 8px / 4px calc(100% - 16px - 1px) no-repeat,
    #FFF;
}

#p-company table td {
    border-collapse: collapse;
    padding: 15px 15px;
	line-height: 1.8rem;
	vertical-align: top;
    font-weight: normal;
    font-size: 1.0rem;
    color: #000;
	border: none;
    border-bottom: 1px solid #DCDCDC;
    background-color: #FFF;
}

@media screen and (max-width: 768px) {
    #p-company table th {
        width: 30%;
        font-size: var(--font-size-base);
    }
    #p-company table td {
        font-size: var(--font-size-base);
    }
    #p-company .wp-block-table:last-child {
        margin-bottom: 0;
    }
}



#about-more {
    padding-top: 110px;
    background-image: url(img/tree2.png);
    background-repeat: no-repeat;
    background-position: right 0 bottom 30px;
    background-size: 12%;
}
#about-more .about-more-read {
    margin-bottom: 0;
    padding: 0 50px 0;
}
#about-more .link-buttons {
    padding: 0 50px 0;
}
#about-more .link-buttons > div {
    display: flex;
    gap: 1rem;
    flex-basis: auto;
    flex-grow: unset;
}
#about-more .link-more {
    text-align: left;
    width: max-content !important;
}
@media screen and (max-width: 768px) {
    #about-more {
        padding-top:70px;
    }
    #about-more .about-more-read {
        margin-bottom: 0;
        padding: 0 1% 0;
    }
    #about-more .about-more-read p {
        font-size: var(--font-size-base);
    }
    #about-more .link-buttons > div {
        flex-direction: column;
    }
    #about-more .link-more {
        margin-top: 5px!important;
    }
    #about-more .link-more a {
        width: 200px!important;
    }
}

/*私たちの取り組み*/
#p-sustainability .content-card-type-lr .column-left {
    padding: 0 2rem 0 2rem;
    width: max-content;
    flex: 0 0 auto;    
}
#p-sustainability .content-card-type-lr .column-left figure {
    border-radius: 8px;
    max-width: 460px;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}
#p-sustainability .content-card-type-lr .column-left figure img {
    border-radius: 8px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#p-sustainability .content-card-type-lr .column-right {
    flex:1 1 auto;
    min-width:0;
}
#p-sustainability .content-card-type-lr .column-right h3 {
}
#p-sustainability .content-card-type-lr .column-right p {
    margin-bottom: 20px;
    padding: 0 10px;
    padding-bottom: 20px;
    background: linear-gradient(#6EC6FF, #6EC6FF)
    left 10px bottom / 40% 2px no-repeat;
}
#p-sustainability .content-card-type-lr .column-right p:last-child {
    margin-bottom: 0px;
    padding-bottom: 0px;
    background: none;
}
.section-title-h3 {
    position: relative;
    margin: 0 auto 30px;
    width: 100%;
    display: flex;
    align-items: center;
    text-align: left;
    font-weight: 700;
    font-size: var(--font-size-lg);
    line-height: calc(var(--font-size-lg) * 1.0);
    color: #323232;
}
.section-title-h3::before {
    content: '';
    display: inline-block;
    margin-right: 0.4rem;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-image: url(img/n-01.png);
    width: calc(var(--font-size-lg) * 3.0);
    height: calc(var(--font-size-lg) * 3.0);
}
.h3-n-01::before {
    background-image: url(img/n-01.png);
}
.h3-n-02::before {
    background-image: url(img/n-02.png);
}
.h3-n-03::before {
    background-image: url(img/n-03.png);
}
.h3-n-04::before {
    background-image: url(img/n-04.png);
}

/* サポート事例 */
#p-support-cases .section-title-h3 {
    position: relative;
    margin: 0 auto 30px;
    width: 100%;
    display: flex;
    align-items: center;
    text-align: left;
    font-weight: 700;
    font-size: var(--font-size-lg);
    line-height: calc(var(--font-size-lg) * 1.0);
    color: #1DADE2;
}
#p-support-cases .section-title-h3::before {
    content: '';
    display: none;
}
@media screen and (max-width: 768px) {
    #p-support-cases .section-title-h3 {
        font-size: var(--font-size-lg);
        line-height: calc(var(--font-size-lg) * 1.4);
    }
}


/* アコーディオンの中身用（JSで生成されるラッパー） */
.wp-block-details-js-simple .details-body {
    overflow: hidden;
    /* ← height はここで固定しない（autoに戻れなくなる） */
    transition: height var(--acc-duration, 300ms) var(--acc-easing, ease);
    background: #F7FFEE;
}
.wp-block-details-js-simple .details-body p {
    padding: 20px 20px;
}

  /* お好み：summaryの見た目やカーソル */
  .wp-block-details-js-simple summary {
    cursor: pointer;
    list-style: none;
  }
  .wp-block-details-js-simple summary::-webkit-details-marker { display: none; }
  
  /* --- アイコン・余白（そのまま） --- */
  .wp-block-details-js-simple details.wp-block-details summary{
    position: relative;
    padding-left: 2rem;
    cursor: pointer;
    list-style: none;
  }
  .wp-block-details-js-simple details.wp-block-details summary::-webkit-details-marker{ display:none; }
  
  .wp-block-details-js-simple details.wp-block-details summary::before{
    content: "\f067"; /* fa-plus */
    font: normal 900 1rem/1 "Font Awesome 6 Free","Font Awesome 5 Free";
    position: absolute;
    left: .75rem;
    top: 50%;
    transform: translateY(-50%);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: var(--font-size-md, 1rem);
    line-height: 1;
    transition: transform 200ms ease;
  }
  .wp-block-details-js-simple details.wp-block-details[open] summary::before{
    content: "\f068"; /* fa-minus */
    transform: translateY(-50%) rotate(0deg);
  }
  
  
/* サービス概要 */
#p-services .section-title-h3 {
    position: relative;
    margin: 0 auto 30px;
    width: 100%;
    display: flex;
    align-items: center;
    text-align: left;
    font-weight: 700;
    font-size: var(--font-size-lg);
    line-height: calc(var(--font-size-lg) * 1.0);
    color: #1DADE2;
}
#p-services .section-title-h3::before {
    content: '';
    display: none;
}
#p-services .content-card-type-lr .column-left {
    align-items: flex-start !important;
}
#p-services .content-card-type-lr .column-left {
    padding: 0 0 0 0;
    width: max-content;
    flex: 0 0 auto;
}
/* 追従メニュー */
#p-services .content-card-type-lr .column-left {
    position: sticky;
    top: var(--stick-top, 110px);
    max-height: calc(100dvh - var(--stick-top, 110px) - 16px);
    overflow: auto;
    overscroll-behavior: contain;
    z-index: 2;
}
#p-services .content-card-type-lr .column-left > div {
    padding: 20px 20px;
    background: #F5F5F5;
    border-radius: 8px;
}
#p-services .content-card-type-lr .column-left h4 {
    margin: 0;
    padding: 0 10px;
    font-size: var(--font-size-base);
}
#p-services .content-card-type-lr .column-left h4:first-child {
    margin-bottom: 10px;
    padding: 0 10px;
    color: #999999;
}
#p-services .content-card-type-lr .column-left li {
    padding: 0px 0px;
    font-size: var(--font-size-sm);
}
#p-services .content-card-type-lr .column-left li a {
    color: #009cd5;
}
#p-services .content-card-type-lr .column-left li a:hover {
    color: #1DADE2;
    text-decoration: underline;
}
#p-services .content-card-type-lr .column-left li a:visited {
    color: #1DADE2;
}
#p-services .content-card-type-lr .column-right {
    flex:1 1 auto;
    min-width:0;
}
#p-services .content-card-type-lr .column-right > div {
    margin-left: 40px;
    margin-bottom: 40px;
    background: #F7FFEE;
    padding: 20px;
}
#p-services .content-card-type-lr .column-right > div:last-child {
    margin-bottom: 0px;
}
#p-services .content-card-type-lr .column-right h3 {
    margin-left: 40px;
}
#p-services .content-card-type-lr .column-right h4 {
    padding: 0 10px;
    color: #1DADE2;
}
#p-services .content-card-type-lr .column-right p {
    margin-bottom: 20px;
    padding: 0 10px;
    padding-bottom: 20px;
    background: linear-gradient(#6EC6FF, #6EC6FF)
    left 10px bottom / 40% 2px no-repeat;
}
#p-services .content-card-type-lr .column-right p:last-child {
    margin-bottom: 0px;
    padding-bottom: 0px;
    background: none;
}
@media screen and (max-width: 768px) {
    #p-services .content-card-type-lr .column-left {
        display: none!important;
    }
    #p-services .content-card-type-lr .column-right h3 {
        margin-left: 20px;
    }
    #p-services .content-card-type-lr .column-right > div {
        margin-left: 0;
    }
    #p-services .content-card-type-lr .column-right > div > div {
        margin-bottom: 0;
    }
    #p-services .content-card-type-lr .column-right > div > div > div {
        margin-bottom: 0;
    }
}

/* 採用情報 */
#p-recruit .content-card-type-lr .column-left {
    padding: 1rem 2rem 0 2rem;
    /* width: max-content; */
    width: 280px;
    flex: 0 0 auto;
}
#p-recruit .content-card-type-lr .column-right {
    flex:1 1 auto;
    min-width:0;
}
#p-recruit .content-card-type-lr .column-right h4 {
    border-bottom: 2px solid #6EC6FF;
}

#p-recruit .wp-block-table {
    margin-bottom: 70px;
	padding: 20px 20px 0;
}
#p-recruit table {
    border-collapse: collapse;
    margin: 0 auto 0;
    width: 100%;
    max-width: 1700px;
}
#p-recruit table th {
    width: 20%;
    border-collapse: collapse;
    padding: 15px 10px;
	line-height: 1.8rem;
	vertical-align: top;
    font-weight: normal;
    font-size: 1.0rem;
    text-align: left;
    color: #000;
	border: none;
    border-bottom: 1px solid #DCDCDC;
    background:
    linear-gradient(#6EC6FF, #6EC6FF)
      right 8px / 4px calc(100% - 16px - 1px) no-repeat,
    #FFF;
}

#p-recruit table td {
    border-collapse: collapse;
    padding: 15px 15px;
	line-height: 1.8rem;
	vertical-align: top;
    font-weight: normal;
    font-size: 1.0rem;
    color: #000;
	border: none;
    border-bottom: 1px solid #DCDCDC;
    background-color: #FFF;
}

#recruit-more {
    padding-top: 0px;
}
#recruit-more > div {
    margin-top: 0px;
    padding-top: 0px;
}
#recruit-more .link-buttons {
    padding: 0 50px 0;
}
#recruit-more .link-buttons > div {
    display: flex;
    justify-content: center;
}
#recruit-more .link-more {
    text-align: left;
    width: max-content !important;
}

#recruit-more .link-more a {
    font-size: var(--font-size-md);
    font-weight: 700;
}
@media screen and (max-width: 768px) {
    #p-recruit table th {
        width: 35%;
        font-size: var(--font-size-base);
    }
    #p-recruit table td {
        font-size: var(--font-size-base);
    }
    #p-recruit .wp-block-table:last-child {
        margin-bottom: 0;
    }
}
/* お問い合わせ */
#p-contact .section-title-h3 {
    position: relative;
    margin: 0 auto 30px;
    width: 100%;
    display: flex;
    align-items: center;
    text-align: left;
    font-weight: 700;
    font-size: var(--font-size-lg);
    line-height: calc(var(--font-size-lg) * 1.6);
    color: #1DADE2;
    border-bottom: 2px solid #1DADE2;
}
#p-contact .section-title-h3::before {
    content: '';
    display: none;
}
#p-contact .content-card-type-lr{
    position: relative;
    border: 1px solid #6EC6FF;
    border-radius: 8px;
    margin-bottom: 3rem; /* 三角の分のスペース */
}

/* 最後のボックスには三角を出さない */
#p-contact .content-card-type-lr:not(:last-of-type)::after{
    content: "\f0d7";
    font: normal 900 1rem/1 "Font Awesome 6 Free", "Font Awesome 5 Free";
    font-size: 3rem;
    color: #1DADE2;

    position: absolute;
    left: 15%;
    bottom: -3rem;/* 枠の外へ少し出す */
    transform: translateX(-50%);
    display: block;
    line-height: 1;
    pointer-events: none;
}
  

#p-contact .content-card-type-lr:last-child {
    border: 1px solid #00582D;
}
#p-contact .content-card-type-lr .column-left {
    padding: 1rem 2rem 1rem 2rem;
    width: 35%;
    flex: 0 0 auto;
    border-radius: 8px 0 0 8px;
}
#p-contact .content-card-type-lr .column-left p {
    color: #FFFFFF;
    font-weight: 700;
}
#p-contact .content-card-type-lr .column-right {
    flex:1 1 auto;
    min-width:0;
    border-radius: 0px;
    display: flex;
    align-items: center;
}
#p-contact .content-card-type-lr .info-01 {
    background: #1DADE2;
}
#p-contact .content-card-type-lr .info-02 {
    background: #1DADE2;
}
#p-contact .content-card-type-lr .info-03 {
    background: #00582D;
}
@media screen and (max-width: 768px) {
    #p-contact .content-card-type-lr {
        gap: 0.4rem;
    }
    #p-contact .content-card-type-lr .column-left {
        padding: 1rem 2rem 1rem 2rem;
        border-radius: 8px 8px 0 0;
    }
    #p-contact .content-card-type-lr .column-left p {
	text-align: center;
    }
    #p-contact .content-card-type-lr:not(:last-of-type)::after{
        left: 50%;
    }
    #p-contact .h3-n-02 {
        margin: 0 auto 10px;
    }
}


/* ==============================
   スライダー機能（Swiper）
   ============================== */

/* スライダー基本設定 */
.swiper {
    width: 100%;
    overflow: hidden;
}

/* PC用スライダー（横長） */
@media screen and (min-width: 769px) {
    .swiper {
        aspect-ratio: 21/8; /* PC用：1/0.38 ≈ 2.63 */
    }
}

/* SP用スライダー（縦長） */
@media screen and (max-width: 768px) {
    .swiper {
        aspect-ratio: 9/16; /* SP用：1/1.788 ≈ 0.56 */
    }
}

.swiper .swiper-slide {
    position: relative;
}

.swiper .swiper-slide picture,
.swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* スライド内コンテンツ */
.slide-inner {
    position: relative;
    width: 100%;
    height: 100%;
}


/* 台形の白背景を ::before で敷く */
.slide-meta{
    --trap-bg: 255 255 255;   /* 色(R G B) */
    --trap-alpha: .65;        /* 透明度 0〜1 */
    position:absolute; inset:0 auto 0 0; width:min(720px,56vw);
    padding: 90px 0 0; z-index:2; color:#111;
}
.slide-meta::before{
    content:""; position:absolute; inset:0 -8% 0 0;
    background: rgb(var(--trap-bg) / var(--trap-alpha)); /* ←ここで透明度制御 */
    clip-path: polygon(0 0, 100% 0, 76% 100%, 0 100%);
    z-index:-1; pointer-events:none;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

/* 既存PC用はそのまま。SPだけ形・サイズを上書き */
@media (max-width: 767.98px){
        .slide-meta{
          --trap-alpha: .70;
          --sp-box-h: 52vh;      /* ← 台形の高さ（お好みで） */
          --sp-diag-y: 72%;      /* ← 台形内での右端の折れ位置(%) */
      
          position: absolute;
          top: 0; left: 0; right: 0;   /* bottomは付けない → 全高で張り付かない */
          width: 100%;
          padding: 56px 16px 20px;
        }
      
        .slide-meta::before{
          position: absolute;
          top: 0; left: 0; right: 0;
          height: var(--sp-box-h);     /* ← ここで高さを制限 */
          background: rgb(var(--trap-bg) / var(--trap-alpha));
      
          /* 台形（%は “::before の高さ” に対する割合） */
          clip-path: polygon(0 0, 100% 0, 100% var(--sp-diag-y), 0 100%);
      
          z-index: -1; pointer-events: none;
          box-shadow: 0 8px 24px rgba(0,0,0,.08);
        }
}

  
/* ユーティリティ（クラスで手早く切替） */
.slide-meta.alpha-40{ --trap-alpha:.40; }
.slide-meta.alpha-60{ --trap-alpha:.60; }
.slide-meta.alpha-95{ --trap-alpha:.95; }

/* 色も変えたい時（例：薄い青） */
.slide-meta.bg-sky{ --trap-bg: 255 255 255; } /* 白のまま */
.slide-meta.bg-warm{ --trap-bg: 255 250 245; } /* ほんのり暖色 */


/* 好みを一発で調整できる変数（必要ならスライドごとに上書き可） */
.slide-meta{
    --enter-delay: .22s;                               /* 開始遅延（少し待つ） */
    --enter-dur:   .60s;                               /* ふわっと長め */
    --enter-ease:  cubic-bezier(.16,1,.3,1);           /* やわらかいカーブ */
    --enter-shift: 10px;                                /* 下からの持ち上げ量 */
    --enter-blur:  6px;                                /* ぼかしから解く量 */
    --bg-dur:      .50s;                               /* 背景のフェード時間 */
  }

/* テキスト塊：最初は少し下＋ぼかし＋透明 */
.slide-meta .slide-content,
.slide-meta .slide-actions{
  opacity: 0;
  transform: translateX(var(--enter-shift));
  /* filter: blur(var(--enter-blur)); */
  transition:
    opacity  var(--enter-dur) var(--enter-ease) var(--enter-delay),
    transform var(--enter-dur) var(--enter-ease) var(--enter-delay),
    filter   var(--enter-dur) var(--enter-ease) var(--enter-delay);
  will-change: opacity, transform, filter;
}

/* アクティブ時（duplicate含む）にだけ“じわっと”現れる */
.swiper-slide-active .slide-meta::before,
.swiper-slide-duplicate-active .slide-meta::before{
  opacity: 1;
}
.swiper-slide-active .slide-meta .slide-content,
.swiper-slide-duplicate-active .slide-meta .slide-content,
.swiper-slide-active .slide-meta .slide-actions,
.swiper-slide-duplicate-active .slide-meta .slide-actions{
  opacity: 1;
  transform: none;
  filter: blur(0);
}

/* ほんの少し段差を付けたいなら：actionsだけ遅らせる（任意） */
.swiper-slide-active .slide-meta .slide-actions,
.swiper-slide-duplicate-active .slide-meta .slide-actions{
  transition-delay: calc(var(--enter-delay) + .08s);
}

/* 動きを弱めたい人向けの配慮 */
@media (prefers-reduced-motion: reduce){
  .slide-meta::before,
  .slide-meta .slide-content,
  .slide-meta .slide-actions{
    transition: none; transform: none; filter: none; opacity: 1;
  }
}


.slide-title {
    font-size: var(--font-size-xxl);
    font-weight: 900;
    margin: 0 0 1.2rem 0;
    line-height: calc(var(--font-size-xxl) * 1.4);
    color: #1DADE2;
}

.slide-desc {
    font-size: var(--font-size-md);
    margin: 0 0 1.2rem 10px;
    line-height: calc(var(--font-size-md) * 1.7);
}
@media (max-width: 767.98px){
    .slide-title {
        margin: 3rem 0 1.0rem 0;
        line-height: calc(var(--font-size-xxl) * 1.0);
    }
    .slide-desc {
        margin: 0 0 1.0rem 10px;
        line-height: calc(var(--font-size-md) * 1.4);
    }
}

/* ボタンスタイル */
.slide-button {
    margin-top: 0;
    padding: 5px;
    background: #FFFFFF;
    border: 2px solid #1DADE2;
    border-radius: 8px;
    font-size: var(--font-size-base);
    font-weight: 700;
    text-align: center;
    color: #1DADE2;
    z-index: 10;
    transition: all 0.4s ease;
}
.slide-button:hover {
    background: #1DADE2;
    border: 2px solid #1DADE2;
    border-radius: 8px;
    font-size: var(--font-size-base);
    font-weight: 700;
    text-align: center;
    color: #FFFFFF;
}

/* ボタン内の矢印アイコン */
.slide-button i {
    margin-left: 8px;
    transition: transform 0.3s ease;
}

.slide-button:hover i {
    transform: translateX(4px);
}

.slide-button a {
    display: inline-block;
    padding: 12px 24px;
    background: #1DADE2;
    color: #fff;
    text-decoration: none;
    border-radius: 6px;
    font-weight: 700;
    font-size: var(--font-size-base);
    transition: all 0.3s ease;
    border: 2px solid #1DADE2;
}

.slide-button a:hover {
    background: transparent;
    color: #1DADE2;
    border-color: #1DADE2;
}

/* ロゴスタイル */
.slide-logo {
    position: relative;
    margin-top: 20px;
    max-width: 120px;
    height: auto;
    padding: 0 130px; /* ボタンと同じパディング */
}

.slide-logo img {
    width: 100%;
    min-width: 180px;
    height: auto;
    display: block;
}

/* ナビゲーションボタン */
.swiper-button-prev,
.swiper-button-next {
    color: #323232!important;
    /* background: rgba(255, 255, 255, 0.9); */
    background: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    margin-top: -25px;
    transition: all 0.3s ease;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
    background: none!important;
    color: #fff;
}

.swiper-button-prev:after,
.swiper-button-next:after {
    font-size: 20px!important;
    font-weight: 700;
}
@media screen and (max-width: 767.98px) {
    .swiper-button-next, .swiper-button-prev {
        top: 62%!important;
    }
}


/* ページネーション */
.swiper-pagination {
    bottom: 20px;
}

.swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5);
    opacity: 1;
}

.swiper-pagination-bullet-active {
    background: #1DADE2;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
    .slide-meta {
        padding: 1.5rem 1rem 1rem;
    }
    
    .slide-title {
        font-size: var(--font-size-lg);
    }
    
    .slide-desc {
        font-size: var(--font-size-base);
    }

    .slide-button {
        padding: 10px 20px;
        font-size: calc(var(--font-size-base) * 0.8);
    }
    
    .slide-button a {
        padding: 10px 20px;
        font-size: var(--font-size-sm);
    }
    
    .slide-logo {
        bottom: 15px;
        right: 15px;
        max-width: 80px;
    }
    
    .swiper-button-prev,
    .swiper-button-next {
        width: 40px;
        height: 40px;
        margin-top: -20px;
    }
    
    .swiper-button-prev:after,
    .swiper-button-next:after {
        font-size: 16px;
    }
}

/* ローディングアニメーション */
.swiper-lazy-preloader {
    border-color: #1DADE2;
}

/* アクセシビリティ */
.swiper-button-prev:focus,
.swiper-button-next:focus {
    outline: none;
    outline-offset: 0;
}

/* スライドリンク */
.slide-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* ==============================
   スライドレイアウト制御
   ============================== */

/* スライドコンテンツエリア */
.slide-content {
    padding: 0 115px;
}

.slide-actions {
    padding: 0 130px;
}

@media (max-width: 767.98px){
    /* スライドコンテンツエリア */
    .slide-content {
        padding: 0 10px;
    }
    .slide-actions {
        padding: 0 10px;
    }
    
    /* SP用ロゴ右寄せ */
    .slide-logo {
        text-align: right;
        padding: 5px 10px;
        width: 100%;
        max-width: 100%;
    }
    .slide-logo img {
        min-width: 120px;
        max-width: 120px;
        display: inline-block!important;
    }
}
/* 1枚目: ヒーロービジュアル専用レイアウト */
.hero-slide .slide-meta {
    /* ヒーロー用のレイアウト（現在は基本スタイルと同じ） */
}

.hero-slide .slide-logo {
    /* ヒーロー用のロゴ配置（表示） */
    display: block;
}

/* 2枚目以降: コンテンツ案内ビジュアル */
.content-slide .slide-meta {
    /* コンテンツ案内用のレイアウト（現在は基本スタイルと同じ） */
}

.content-slide .slide-logo {
    /* コンテンツ案内用のロゴ配置（非表示） */
    display: none;
}

.slide-link:hover {
    text-decoration: none;
}