/*!
Theme Name: szl24-v1
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: szl24-v1
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.

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

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

--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15;
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: var(--font-jp), sans-serif;
  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: var(--font-jp), sans-serif;
  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: var(--font-jp), sans-serif;
  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;
  scroll-behavior: smooth;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */

body,
button,
input,
select,
optgroup,
textarea {
  color: #707070;
  font-family: var(--font-jp), sans-serif;
  font-size: 1.6rem;
  letter-spacing: .15rem;
  line-height: 1.5;
}

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

p {
  margin-bottom: 1.5em;
}

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

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: var(--font-jp), sans-serif;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: var(--font-jp), sans-serif;
}

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

ul {
  list-style: none;
}

ol {
  list-style: decimal;
}

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

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */

embed,
iframe,
object {
  max-width: 100%;
}

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

figure {
  margin: 1em 0;
}

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

/* Links
--------------------------------------------- */

a {
  color: #4169e1;
}

a:visited {
  color: #800080;
}

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

a:focus {
  outline: thin dotted;
}

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

/* Forms
--------------------------------------------- */

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

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

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

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

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

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}


/* Root
--------------------------------------------- */

:root {
  --font-jp: "ud-reimin-pr6n", serif; 
  --font-en: "Playfair Display", serif;
}


/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
.container {
  position: relative;
  margin: 0 auto;
  padding: 60px 0;
  width: calc(100vw - 30px);
  max-width: 480px;
}

@media screen and (min-width: 960px) {
  .container {
    max-width: 960px;
  }
}

@media screen and (min-width: 1160px) {
  .container {
    max-width: 1160px;
  }
}




/* Main Visual */
.mainVisual {
    position: relative;
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.mainVisual__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
	filter: brightness(80%);
}

.mainVisual__overlay {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1.0);
    z-index: 10;
    text-align: center;
	white-space: nowrap;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.mainVisual__logo {
    width: 200px;
    height: auto;
    margin-bottom: 20px;
}

.mainVisual__title {
    font-size: 2rem;
	font-weight: 300;
    margin: 0;
    color: #fff;
    text-shadow: 0px 4px 8px rgba(0, 0, 0, 0.5);
}

.mainVisual__subtitle {
    font-size: 0.9rem;
    color: #fff;
	margin: 0;
    text-shadow: 0px 4px 8px rgba(0, 0, 0, 0.5);
}

.mainVisual__overlay--hidden {
    position: absolute;
    top: 83%; /* 通常スクロール時に下に移動 */
    transform: translate(-50%, -50%) scale(1.0); /* 縮小表示 */
}

@media screen and (min-width: 768px) {
    .mainVisual__title {
        font-size: 3.3rem;
		margin: 10px 0;
    }
    .mainVisual__subtitle {
        font-size: 1.3rem;
    }
    .mainVisual__logo {
        width: 300px;
    }
	
	.mainVisual__overlay--hidden {
    top: 80%; /* 通常スクロール時に下に移動 */
}
}

/* スクロールダウン */
.scroll_down {
    position: absolute;
    bottom: 30px; 
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
	z-index: 99;
}


.scroll_down .mouse {
    position: relative;
    display: block;
    width: 20px;
    height: 35px;
    margin: 0 auto;
    box-sizing: border-box;
    border: 1px solid #fff; /* 枠線の色 */
    border-radius: 20px;
}

.scroll_down .mouse > * {
    position: absolute;
    display: block;
    top: 30%;
    left: 50%;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 -4px;
    background: #fff; /* 点の色 */
    border-radius: 50%;
    animation: ani-mouse 2.5s linear infinite;
}

@keyframes ani-mouse {
    0% {
        opacity: 0;
        top: 70%;
    }
    40% {
        opacity: 0;
        top: 30%;
    }
    70% {
        opacity: 1;
        top: 30%;
    }
    100% {
        opacity: 1;
        top: 70%;
    }
}



/* Global Section */
.global {
    position: relative;
    width: 100%;
    height: 100vh;
    color: #ffffff;
    text-align: center;
}

.global::before,
.global::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    z-index: 2;
    pointer-events: none;
}

/* 上部のグラデーション */
.global::before {
    top: -250px;
	height: 500px;
    background: linear-gradient(to bottom, rgba(157, 188, 152, 0), #9DBC98, rgba(157, 188, 152, 0));
}

/* 下部のグラデーション */
.global::after {
    bottom: 0;
	height: 300px;
    background: linear-gradient(to bottom, rgba(99, 136, 137, 0), #638889);
}

.global__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
	object-fit: cover;
}

.global__background img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100vh;
    transform: translate(-50%, -50%);
    object-fit: cover; /* 画像を全体に広げる */
}

.global__background video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100vh;
    transform: translate(-50%, -50%);
    object-fit: cover; /* 画像を全体に広げる */
}

.global__content {
    position: absolute;
    top: -50px;
    left: 0;
    max-width: 100%;
    z-index: 2;
    text-align: left;
    padding: 20px;
}

.global__title {
    font-size: 1.8rem;
	font-weight: 300;
    margin-bottom: 20px;
}

.global__text {
    font-size: 1.2rem;
    line-height: 1.8;
}



@media screen and (min-width: 768px) {
.global__content {
    top: 10%;
    left: 5%;
    max-width: 450px;
    padding: 20px;
}
	.global__title {
    font-size: 2.5rem;
}
}

/* common */

.common__title {
    font-size: 2.8rem;
    font-family: var(--font-en), sans-serif;
	font-style: italic;
	font-weight: 300;
	color: #707070;
    margin: 0 auto 20px;
	text-align: center;
}

.common__text {
    font-size: 1.2rem;
    line-height: 1.8;
	text-align: center;
}

.common__subtitle {
    font-size: 1.8rem;
    line-height: 1.8;
	font-weight: 300;
	 margin: 0 auto;
	text-align: center;
}



@media screen and (min-width: 768px) {
.common__title {
    font-size: 4rem;
}
}

/* Strengths Section */
.strengths {
    background-color: #638889;
	color: #fff;
}

.strengths__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.strengths__box {
    padding: 0 10px;
    text-align: left;
}

.strengths__number {
	position: relative;
    font-size: 2rem;
    display: block;
	text-align: right;
	border-bottom: solid 1px #B1C4C4;
}

.strengths__number::after {
    content: "";
    position: absolute;
    bottom: -1px; /* テキスト下に配置 */
    right: 0;
    width: 45px; /* 線の幅 */
    height: 2px; /* 線の高さ */
    background-color: #fff; /* 線の色 */
}

.number-hash{
    font-size: 1.8rem;
	padding: 10px 5px;
	opacity: .8;
}

.strengths__main {
    font-size: 1.6rem;
    margin-top: 15px;
	font-weight: 300;
	margin: 0;
}

.strengths__text{
    padding: 10px 0;
}

.strengths__sub {
    font-size: 1.2rem;
	margin: 0;
}

.strengths__sm{
    font-size: 1.1rem;
	font-style: normal;
	font-weight: 100;
	padding-left: 10px;
}

.strengths .common__title{
    color: #fff;
}

@media screen and (min-width:960px) {
  .strengths__grid {
    grid-template-columns: repeat(2, 1fr);
	   gap:30px 60px;
}
}
@media screen and (min-width:798px) {
  .strengths__box {
    padding: 0 30px;  
}

	.strengths__text{
    padding: 20px 0;
}
	.strengths__main {
    font-size: 1.8rem;
}
}


.common__moreButton a {
  font-size: 1.1rem;
  letter-spacing: 0.1em;
  color: #707070;
  font-weight: 400;
  display: block;
  position: relative;
  box-sizing: border-box;
  max-width: 150px;
  text-align: left; 
  padding: 4px 16px 4px 0;
  margin: 24px 0 24px auto; /* 右詰にする */
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s;
}

.common__moreButton a::before {
  content: "";
  display: block;
  position: absolute;
  width: 150px;
  height: 1px;
  background: #707070;
  bottom: 0;
  transition: all 0.3s;
}

.common__moreButton a::after {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 1px;
    background: #707070;
    rotate: 35deg;
    right: -1px;
    /* bottom: 10px; */
    transition: all 0.3s;
}

.common__moreButton a:hover::after,
.common__moreButton a:hover::before {
  translate: 0;
  transition: all 0.3s;
}

.strengths .common__moreButton a
{
	color: #fff;
}

.strengths .common__moreButton a::before,
.strengths .common__moreButton a::after{
	background: #fff;
}


/* Holdings Section */
.holdings{
	background-color: #f0eee1;

}


.holdings__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
	margin-top: 50px;
}

.holdings__slider {
    overflow-x: auto;
    display: flex;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    -ms-overflow-style: none; /* IE & Edge */
    margin-left: -20px; /* コンテナの左端からはみ出す */
    margin-right: -20px; /* コンテナの右端からはみ出す */
    padding-left: 20px; /* 内側に余白を追加 */
    padding-right: 20px; /* 内側に余白を追加 */
}


.holdings__slider::-webkit-scrollbar {
    height: 8px; /* スクロールバーの高さ */
}

.holdings__slider::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2); /* スクロールバーの色 */
    border-radius: 10px;
}

.holdings__wrapper {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.holdings__list {
    display: flex;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0;
    scroll-snap-align: start;
}

.holdings__item {
    flex: 0 0 calc(80% - 20px);
    max-width: 300px;
    scroll-snap-align: center;
    text-align: center;
	 padding-right: 20px;
}


.holdings__image {
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}

.holdings__title {
    font-size: 1.4rem;
    margin-top: 15px;
	color: #707070;
}

.holdings__text {
    font-size: 1.2rem;
    color: #666;
    line-height: 1.6;
	text-align: left;
	padding: 0;
}


@media screen and (max-width:1160px) {
.holdings .container{
	max-width: 100%;
}}

@media screen and (min-width:960px) {
  .holdings__grid {
    grid-template-columns: repeat(3, 1fr);
}
	.holdings__slider {
        overflow: visible;
		 margin-left: 0; /* はみ出しを解除 */
        margin-right: 0; /* はみ出しを解除 */
		margin-top: 30px;
    }

    .holdings__list {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
		padding-left: 0;
    }
	.holdings__title {
    font-size: 1.6rem;
}
.holdings__text {
	padding: 0 20px;
}
    .holdings__item {
        flex: none;
        max-width: none;
    }
}



/* Image Section */
.image__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
}
@media screen and (min-width:960px) {
 .image__grid  {
    grid-template-columns: repeat(4, 1fr);
}
}

.image__item {
}

/* News Section */
.news {
    position: relative;
}

.news__wrap {
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
}


.news__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
	padding: 10px 0;
    gap: 20px;
	border-bottom: 1px solid #D3D3D3;
}

.news__date {
    font-size: 1.2rem;
    color: #D3D3D3;
}

.news__item a{
    text-decoration: none;
}

.news__text {
    font-size: 1.3rem;
    line-height: 1.6;
	margin: 0;
	padding: 10px 0 ;
	color: #707070;
}

.news-page__container{
    max-width: 769px;
	padding: 0 20px;
	margin: 50px auto;
}

@media screen and (min-width: 960px) {
	
	.news-page__container{
	margin: 100px auto;
}
	
	.news .lo-grid{
        gap:100px;
    }
    .news__wrap {
        order: 2;
    }
    .media__insta {
        order: 1;
    }
}

/* Media Section */

.media {
    position: relative;
    background: linear-gradient(to bottom, #F0EEE1, #E6EEEB);
}


.media__other {
    display: grid;
	 grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    justify-content: space-between;
}

.media__iframe-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 36.25%; /* 16:9 aspect ratio */
    margin-bottom: 20px;
	aspect-ratio:16 / 9;
}

.media__iframe-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

@media screen and (min-width: 1024px) {
   .media__other {
	 grid-template-columns: repeat(3, 1fr);
}
	
	.media .container{
		padding-bottom: 100px;
	}
}


/* Recruit Section */
.recruit {
    text-align: center;
}

.recruit__content {
    max-width: 600px;
    margin: 50px auto;
	padding: 0 20px;
}

.recruit__text {
    font-size: 1.2rem;
    color: #707070;
    text-align: left;
}

.recruit .common__title {
    color: #638889;
}


.recruit__image img {
    width: 100%;
    height: auto;
    display: block;
}

.recruit__image--top {
    margin-bottom: 50px;
}

.recruit__image--bottom {
    margin-top: 50px;
}


.recruit__carousel {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.recruit__carousel-track {
    display: flex;
    animation: scroll-carousel 20s linear infinite;
}

.recruit__carousel--top .recruit__carousel-track {
    animation: scroll-carousel-reverse 20s linear infinite;
}

.recruit__carousel img {
    width: 100%;
    height: auto;
    flex-shrink: 0;
}

@keyframes scroll-carousel {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-100% / 3));
    }
}

/* 逆方向のカルーセル */
@keyframes scroll-carousel-reverse {
    0% {
        transform: translateX(calc(-100% / 3));
    }
    100% {
        transform: translateX(0);
    }
}


/* Footer */
.footer {
    display: flex;
    justify-content: space-between;
    color: #ffffff;
}


.footer__logo {
    font-size: 1.8rem;
    font-weight: bold;
}

.footer__menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 20px;
}

.footer__menu li a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s;
}

.footer__menu li a:hover {
    color: #3498db;
}

.page-header {
    position: relative;
    height: 30vh;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    overflow: hidden;
}

.page-header__back-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.page-header__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
	filter: brightness(80%);
}

.page-header__wrapper {
    position: relative;
    z-index: 1;
    color: #fff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
}

.page-header__title {
    font-size: 1.6rem;
    font-weight: 300;
    line-height: 1.4;
}

.page-header__bigtitle {
    font-size: 2.8rem;
	font-style: italic;
	display: block;
}



@media screen and (min-width: 768px) {
	.page-header {
    height: 50vh;
}
    .page-header__title {
        font-size: 1.8rem;
    }

    .page-header__bigtitle {
        font-size: 4rem;
    }
}




.page-strengths{
    background: #F0EEE1;
	color:#707070;
}



.page-strengths .strengths__number {
	position: relative;
    font-size: 2rem;
    display: block;
	text-align: right;
	border-bottom: solid 1px #C8C8C8;
}

.page-strengths .strengths__number::after {
    background-color: #707070; /* 線の色 */
}

.page-strengths .strengths__text{
    background-color: #F6F4EC;
	padding: 20px 10px;
}

@media screen and (min-width:798px) {
  .page-strengths .strengths__box {
    padding: 0;  
}
	.page-strengths .common__subtitle{
    margin-bottom: 10px;
	font-size: 2rem;
}
}

.strengths-point {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 50px 20px;
    background-color:#F0EEE1;
}

.strengths-point__wrapper {
    max-width: 960px;
    width: 100%;
    text-align: center;
}

.strengths-point__box {
    margin: 0 auto;
    padding: 20px;
	max-width: 750px;
}

.strengths-point__box:nth-child(1) {
    margin-bottom: 50px;
}

.strengths-point__title {
    font-size: 1.8rem;
    font-weight: 300;
	color: #707070;
	margin: 0 0 5px;
}

.strengths-point__subtitle {
    font-size: 1.2rem;
    color: #707070;
    margin: 0 0 5px;
}

.strengths-point__image img {
    width: 100%;
    height: auto;
	margin-top: 30px;
}

.strengths-point__textbox {
    margin-top: 20px;
    text-align: left;
}

.strengths-point__heading {
    font-size: 1.4rem;
	text-align: center;
	padding: 5px 0;
	font-weight: 300;
	margin: 0 0 10px;
}

.strengths-point__ownedfarms .strengths-point__heading{
    color: #fff;
	background: #638889;
}

.strengths-point__partnerfarms .strengths-point__heading{
    color: #707070;
	background: #ffffff;
}

.strengths-point__ownedfarms  {
    margin-bottom: 30px;
}

.strengths-point__list {
    list-style-type: decimal;
	color: #707070;
	font-size: 1.4rem;
}

.strengths-point__list li{
    padding-bottom: 5px;
}

ul.strengths-point__list {
    margin: 0;
	padding: 0;
	margin-left: 30px;
}

@media screen and (min-width:798px) {
.strengths-point__title {
    font-size: 2.8rem;
}

.strengths-point__subtitle {
    font-size: 1.4rem;
}
	
.strengths-point__textbox{
	position: relative;
	margin-top: -100px;
	display: flex;
	gap:30px;
	justify-content: flex-end;
	 align-items: flex-end; 
	}
	
	.farmmap{
	padding-right:100px;
}
	
	.strengths-point__ownedfarms{
	margin-bottom: 0;
}
	

}



.strengths-other-point {
    position: relative;
    background-color:#F0EEE1;
    overflow: hidden;
}

.container.strengths-other-point__grid{
	padding: 0 20px 150px;
}

.strengths-other-point__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
     justify-content: right;
	padding-bottom: 150px;
}




.strengths-other-point__block {
    align-items: center;
	width: 100%;
    padding: 20px 50px;
    background-color: #F6F4EC;
	 z-index: 2;
}

.strengths-other-point__title {
    font-size: 1.5rem;
    font-weight: 300;
    margin-bottom: 15px;
    color: #707070;
}
.strengths-other-point__image  {
    text-align: center;
}

.strengths-other-point__image img {
    width: 100%;
	max-width: 200px;
    height: auto;
    margin-bottom: 15px;
}

.strengths-other-point__text {
    font-size: 1.3rem;
    color: #707070;
}

/* PCで2つ並びにする */
@media screen and (min-width: 960px) {
    .strengths-other-point__grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
	.strengths-other-point__block {
    padding: 20px 50px;
}
	.container.strengths-other-point__grid{
	padding: 0 100px 100px;
}
	.strengths-other-point__block:nth-child(3) {
    grid-column-end: 3; 
}
}

/* 背景画像とグラデーション */
.strengths-other-point__background {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 200px;
    z-index: 2;
	opacity: 0.8;
}

.strengths-other-point__background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.strengths-other-point__background::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #F0EEE1, rgba(249, 249, 249, 0));
    z-index: 1;
}

.strengths-other-point__background-wrap {
    position: absolute;
    bottom: 0;
	height: 200px;
	width: 100%;
	z-index: 1;
}



@media screen and (min-width:798px) {
.strengths-other-point__background-wrap {
	height: 450px;
	}
	.strengths-other-point__background {
		height: 450px;
	}
}


.strengths-message {
  position: relative;
	overflow: hidden;
	
}

.strengths-message__content {
}


.strengths-message__text {
    text-align: left;
    max-width: 600px;
	margin-top: 30px;
}

.strengths-message__title{
    font-size: 1.2rem;
	color: #fff;
    font-family: var(--font-en), sans-serif;
    font-style: italic;
    font-weight: 300;
    margin: 20px 0 5px;
    background-color: #638889;
    display: inline-block;
    padding: 0 1rem 0.1rem;
}


.strengths-message__catch {
    font-size: 2rem;
    line-height: 1.4;
	margin: 0;
}

.strengths-message__description {
    font-size: 1.3rem;
    line-height: 1.6;
}

.strengths-message__name{
    font-size: 1.2rem;
	margin-top: 30px;
}
.strengths-message__name span{
    font-size: 1.6rem;
}


.strengths-message__image{
    position:static;
	width: 100%;
}

.strengths-message__image img {
    width: 100%;
    height: auto;
    display: block;
}

.strengths-message__content .common__title,
.strengths-message__content .common__subtitle{
    text-align: left;
}

.strengths-message__content .common__title{
    margin-bottom: 0;
	color:#DDDDDD; 
	font-size: 5rem;
}

.strengths-message__content .common__subtitle{
    font-size: 1.6rem;
}



@media screen and (min-width: 960px) {
    .strengths-message__content {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
    }
.strengths-message__image{
    position: absolute;
    top: 50%;
	transform: translateY(-50%);
    right: -5%;
    width: 45vw;
	max-width: 750px;
	min-width:500px;
    height: auto;
    z-index: 1;
}

}


.strengths-background{
	background:  linear-gradient(to bottom, #F0EEE1, #E6EEEB);
	z-index: -2;
}

.strengths-background .common__subtitle{
	font-size: 2rem;
	margin-bottom: 30px;
	position: relative;
}

.strengths-background .common__subtitle::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -5px;
    width: 50px;
    height: 1px;
    background: #707070;
}

.strengths-history__block {
    position: relative;
	max-width: 550px;
	padding-left: 15px;
	margin: 0 auto;
}

.strengths-history__block:before {
    position: absolute;
    display: block;
    content: "";
    background: #fff;
    width: 9px;
    height: 100%;
	border-radius: 20px;
    z-index: 1;
}

.strengths-history__list {
    display: flex;
    flex-direction: column;
	margin-top: 50px;
}

.strengths-history__item {
    display: flex;
    align-items: flex-start;
    padding-bottom: 30px;
}

.strengths-history__year {
    position: relative;
    color: #638889;
	font-family: var(--font-en), sans-serif;
	font-style: italic;
    line-height: 1;
    box-sizing: border-box;
    word-break: break-word;
    width: 70px;
    padding-left: 15px;
    font-size: 1.8rem;
}

.strengths-history__year:before {
    position: absolute;
    display: block;
    content: "";
    top: 1rem;
    left: .1rem;
    width: 7px;
    height: 7px;
    background: #638889;
    border-radius: 50%;
    transform: translateY(-50%);
	z-index: 2;
}

.strengths-history__description {
    line-height: 1.5;
    flex: 1;
	margin: 0 0 0 10px;
    font-size: 1.4rem;
}

.strengths-history__description span {
    display: block;
    margin-top: 5px;
    font-size: 1.2rem;
}

@media only screen and (min-width: 769px) {
	.strengths-history__block {
        padding-left: 0;
    }
    .strengths-history__block:before {
        top: 12px;
        left: 96px;
    }
    .strengths-history__item {
        padding-bottom: 40px;
    }
    .strengths-history__year {
        width: 100px;
        padding-right: 15px;
        font-size: 2.6rem;
    }
.strengths-history__year:before {
    top: .7em;
    right: -.4rem;
	left: auto;
}
    .strengths-history__description {
        margin: 5px 0 5px 50px;
        font-size: 1.6rem;
    }
}


/* strengths-application */
.strengths-application {
    padding: 20px 0;
}

.strengths-application__content {
    background: #fff;
    padding: 0;
	max-width: 796px;
	margin: 0 auto;
}

.strengths-application__list {
    display: flex;
    flex-direction: column;
}

.strengths-application__item {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    padding: 10px 0;
	font-size: 1.2rem;
}

.strengths-application__term {
    flex: 0 0 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid #DDDDDD;
    text-align: center;
    font-weight: normal;
}

.strengths-application__definition {
    flex-grow: 1;
    padding: 10px 20px;
	margin: 0 0 0 15px;
    border-bottom: 1px solid #DDDDDD;
}

@media (min-width: 960px) {
    .strengths-application__content {
        padding: 50px;
    }
	.strengths-application__item {
	font-size: 1.4rem;
}
    .strengths-application__term {
        flex: 0 0 120px; 
    }
	
	.strengths-application__definition {
    padding: 30px 20px;
		margin: 0 0 0 30px;
}
}

.holdings-section {
}

.holdings-section .container{
	max-width: 950px;
	padding: 30px;
	margin-bottom: 100px;
	margin-top: -50px;
	position: relative;
	background: #fff;
}

.holdings-section__gallery-large {
    width: 100%;
    height: 300px;
    overflow: hidden;
}

.holdings-section__gallery-large img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.holdings-section__logo {
    text-align: center;
}

.holdings-section__image {
    max-width: 200px;
    height: auto;
    display: inline-block;
}

.holdings-section__content {
    display: flex;
    flex-wrap: wrap;
}

.holdings-section__content.lo-grid{
    gap: 50px;
}

.holdings-section__gallery img {
    width: 100%;
    height: auto;
    display: block;
}

.holdings-section__text {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
	font-size: 1.4rem;
}

.holdings-section__text p{
    margin-top: 0;
}

.holdings-section__text ul {
    list-style: none;
    padding: 0;
    margin: 10px 0 30px;
}

.holdings-section__text li {
    margin-bottom: 5px;
	padding: 5px 0;
	border-bottom: solid 1px #C8C8C8; 
}

.holdings-section__map iframe {
    width: 100%;
    height: 200px;
    border: none;
}

.content-kokonoe {
	margin-top: 20px;
    flex-direction: column-reverse;
}

.content-kokonoe .holdings-section__gallery {
    order: 1;
}

.content-kokonoe .holdings-section__text {
    order: 2;
}

@media (min-width: 768px) {
     .content-kokonoe .holdings-section__gallery {
        order: 2;
    }

    .content-kokonoe .holdings-section__text {
        order: 1;
    }
}

.holdings-menu {
    text-align: center;
}

.holdings-menu__content {
    display: flex;
    justify-content: center;
    gap: 20px;
	max-width: 796px;
	margin: 0 auto;
}

.holdings-menu__item {
    display: inline-block;
    text-align: center;
}

.holdings-menu__item img {
    width: 100%;
    height: auto;
    transition: transform 0.3s ease;
}

.holdings-menu__item img:hover {
    transform: scale(1.1);
}

.recruit-message {
 position: relative;
}


.recruit-message__catch {
    font-size: 2rem;
    font-weight: 300;
    margin-bottom: 20px;
    line-height: 1.5;
}

.recruit-message__description {
    font-size: 1.2rem;
    margin-bottom: 15px;
    line-height: 1.6;
}

.recruit-message__image{
    position:static;
	width: 100%;
}

.recruit-message__image img {
    width: 100%;
    height: auto;
    display: block;
}

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

    .recruit-message__text {
        padding: 30px;
    }

    .recruit-message__catch {
        font-size: 2.4rem;
    }

    .recruit-message__description {
        font-size: 1.4rem;
    }

    .recruit-message__content {
        flex-direction: row;
        justify-content: space-between;
      
		align-items: flex-start;
    }
.recruit-message__image{
    position: absolute;
    top: 60%;
	transform: translateY(-50%);
    left: 0;
    width: 45vw;
	max-width: 750px;
	min-width:500px;
    height: auto;
    z-index: 1;
}

}

.recruit-value{
background: #F0EEE1;
	}

.recruit-value__box{
background: #F6F4EC;
}

.recruit-value__wrap.lo-grid{
    grid-gap:20px 50px;
	margin: 50px auto 0;
	max-width: 600px;
}

.recruit-value__title{
	font-size: 1.8rem;
	font-weight: 300;
	margin: 10px 0;
	text-align: center;
}

.recruit-value__text{
	font-size: 1.3rem;
}


.recruit-ethics {
    background: #F0EEE1;
}

.recruit-ethics .container {
	padding-top: 10px;
}

.recruit-ethics__heading {
    margin: 40px 0 20px;
    text-align: center;
}

.recruit-ethics__wrap {
    grid-gap: 20px 50px;
    margin: 50px auto 0;
    max-width: 960px;
}

.recruit-ethics__box {
    background: #F6F4EC;
    padding: 20px;
    text-align: center;
}

.recruit-ethics__title {
    font-size: 1.8rem;
    font-weight: 300;
    margin: 10px 0;
}

.recruit-ethics__text {
    margin-bottom: 0;
	 font-size: 1.4rem;
	text-align: left;
}

@media (min-width: 768px) {
    .recruit-ethics__box {
    padding: 20px 50px;
}
}


.recruit-benefits {
    padding:  20px　60px;
}


.recruit-benefits__list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
    padding: 0;
    margin: 30px auto 0;
    list-style: none;
	max-width: 960px;
}


.recruit-benefits__item {
    flex: 1 1 calc(50% - 20px); 
    padding: 20px;
	font-size: 1.4rem;
}


.recruit-benefits__highlight {
    display: block;
    font-size: 1.8rem;
    color: #638889;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

@media (max-width: 768px) {
    .recruit-benefits__list {
        flex-direction: column;
    }

    .recruit-benefits__item {
        flex: 1 1 100%; /* 1列に */
    }
}

.recruit-image__wrap{
    display: flex;	
}

@media screen and (min-width: 960px) {
	.recruit-image__wrap{
    max-width: 1160px;
		margin: 50px auto;
		 gap:100px;
}
	.image__box01{
		margin-top: 100px;
	}
	
	
	.image__box02 img{
		margin-right: 20px;
		max-width: 450px;
	}
	
}


.recruit-crew {
    padding: 50px 0;
    background: linear-gradient(to left, #F0EEE1, rgba(99, 136, 137, 0.9));
}

.recruit-crew .common__title,
.recruit-crew .common__subtitle{
    color: #fff;
}

.recruit-crew__slider {

    position: relative;
    margin: 50px auto 100px;
}

.recruit-crew__list {
    display: flex;
    animation: scroll 20s linear infinite;
}

.recruit-crew__item {
    position: relative;
	overflow: hidden;
    margin: 0 10px;
    flex: 0 0 auto;
    width: 200px;
}

.recruit-crew__item:nth-child(even) {
        transform: translateY(50px);
}


.recruit-crew__item img {
    width: 100%;
    height: 100%;
transition: transform 0.3s ease;
	transform: scale(1.05);
}

.recruit-crew__item figure{
    margin: 0;

}






@media screen and (max-width: 768px) {
	
	.recruit-crew__item {
    width: 120px;
}


    .recruit-crew__item img {
        margin-bottom: 10px;
    }

}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}



.recruit__button {
    text-align: center; /* ボタンを中央揃え */
    margin: 20px 0;
}

.recruit__button-link {
    display: inline-block;
    padding: 12px 24px;
    font-size: 1.2rem;
    font-weight: bold;
    color: #fff;
    background-color: #638889; 
    border: none;
    text-decoration: none;
}

.recruit__button a{
    color: #fff;
}

.recruit__button-link:hover {
    background-color: #4f6e6e; /* ホバー時の色 */
}

.recruit__container {
            border: 1px solid #ddd;
            padding: 10px;
            width: 100%;
            max-width: 900px;
            margin: 30px auto 0;
        }
        .recruit__tab-button {
            width: 100%;
            padding: 10px;
            text-align: left;
            background-color: #fff;
            border: none;
            cursor: pointer;
            font-size: 16px;
        }
        .recruit__title {
            font-weight: bold;
			font-size: 1.7rem;
			color: #638889; 
        }

		.recruit__summary{
            margin-top: 10px; 
			color: #707070;
			font-size: 1.3rem;
        }
        .recruit__application {
            display: none;
            margin-top: 10px;
            border-top: 1px solid #ddd;
            padding: 10px;
        }

		.recruit__section-title{
            font-size: 1.5rem;
			border-left: solid 3px #638889; 
			padding-left: 5px;
        }

		.recruit__section-text{
            font-size: 1.4rem;
			margin-bottom: 30px;
        }



/* テーブルの基本デザイン */
.recruit__table {
    width: 100%;
    border-collapse: collapse;
	font-size: 1.3rem;
}

/* 各セルのスタイル */
.recruit__table-cell {
    padding: 12px;
    border: 1px solid #ddd;
    text-align: left;
}

/* 左側のタイトルセルのデザイン */
.recruit__table-cell--title {
    font-weight: bold;
    width: 20%; 
    white-space: nowrap; 
}




/* Single
--------------------------------------------- */

.single__wrapper .entry-meta {
  color: #D3D3D3;
	font-size: 1.3rem;
}

.single__wrapper .entry-title {
  margin-top: 0;
  font-size: 1.6rem;
}

.single__wrapper .entry-content {
  font-size: 1.3rem;
}

.single__button-wrapper {
  margin-top: 100px;
  text-align: center;
}

@media screen and (min-width:960px) {
  .single__wrapper {
    max-width: 767px;
    margin: 100px auto;
  }
}


/* Mail
--------------------------------------------- */

.contact__section{
	    background-color: #f0eee1;
	
}

.contact-page__form{
	margin: 50px auto;
	max-width: 796px;
}

.contact-page__text{
	margin:0 auto 50px;
	position: relative;
	margin-top: -100px;
}

.contact-page__form p{
	font-size: 1.3rem;
	font-weight: 300;
}


.contact-header.page-header {
    background: #f0eee1;
}

.contact-header .page-header__wrapper{
    color:#707070;
	z-index: 2;
	text-shadow:none;
}

.contact-header .page-header__back-image {
	opacity: .5;
    z-index: 0;
}

.contact-header.page-header::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, #F0EEE1, rgba(249, 249, 249, 0));
    z-index: 1;
}


.cf-area {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 5rem 0;
	transition: all .3s;
	line-height:1;
	font-size: 1.3rem;
	
}


.cf-area dt {
  width: 200px;
	margin: 0;
  padding-right: 30px;
  text-align: right;
}

.cf-area dd {
    flex: 1;
	margin: 0;
}

.cf-area p{
	margin: 0;
}

dl.cf-area {
	margin: 0 0 50px;
	padding: 0;
}

.cf-area input, .cf-area textarea {
  width: 100%;
  padding: 0.8em;
  border: none;
  background-color: #fff;
  font-size: 1.4rem;
	resize: vertical;
	transition: all .3s;
}

.cf-area input:focus,.cf-area textarea:focus {
	outline: none;
	background: #dde2e9;
}

.cf-required {
	color: #B0B0B0;
	font-size: .8rem;
	padding: 0 2px;
	display: block;
	margin-top: 5px;
}

.cf-send input {
	display: block;
	background: #638889;
	width: 300px;
	height: 60px;
	margin: 30px auto 0;
	border: none;
	color: #fff;
	font-size: 1.3rem;
	font-weight: bold;
	transition: all .3s;
}

.cf-send input:hover {
	filter: brightness(1.25);
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	background-color: #ffffff;
	border: none;
	text-align: center;
}

@media screen and (max-width:768px){
	.cf-area {
		display: block;
	}

	.cf-area dt {
    width: 100%;
		margin-bottom: 5px;
    padding-right: 0;
    text-align: left;
		line-height:1.5em;
	}
	
	dl.cf-area {
	margin: 0 0 20px;
}
	.cf-required {
	display: inline;
	margin-top: 0;
}

}


/* header
--------------------------------------------- */
.header {
}

.header__container {
	position:fixed;
  margin: 0 auto;
  padding: 20px;
  width: calc(100vw - 20px);
  max-width: 130px;
  mix-blend-mode: difference;
	z-index: 999999;
	transition: opacity 0.5s ease, filter 0.5s ease;
}

.header__container.no-blend {
    mix-blend-mode: normal; /* 最初は通常表示 */
}


@media screen and (min-width:960px) {
  .header__container {
  padding: 30px 0 0 50px;
max-width: 180px;
}
}


/* Footer
--------------------------------------------- */

.site-footer {
    background-color: #4D4D4D; 
}

.footer-info {
    display: block;
    padding: 50px 0 20px;
}

.footer-info__logo {
    justify-content: center;
    margin-bottom: 20px;
}

.footer-info__logo-image {
    max-width: 100px; 
}

.footer-info__contact {
    font-size: 1.2rem;
    color: #fff;
    margin-top: 10px;
    line-height: 1.6;
}

.footer-info__contact a{
    color: #fff;
	pointer-events: none;
	text-decoration: none;
}



.footer-info__menu .menu  {
    display: grid;
    grid-template-columns: 1fr 1fr; 
    gap: 15px 30px;
    max-width: 100%; 
    margin: 0 auto;
	padding: 0;
	font-size: 1.3rem;
}

.footer-info__menu a {
    color: white; /* リンクの文字色を白に */
    text-decoration: none; /* 下線を消す */
}

.footer-info__sns{
	border-top: solid 1px #fff;
	margin-top: 20px;
	padding: 10px 0;
}

.footer-info__sns {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    align-items: center;
}

.footer-info__sns-icon {
    width: 15px;
    height: auto;
    display: inline-block;
    float: left;
}

.footer-info__copy{
	font-size: 0.9rem;
	text-align: center;
	background-color: #4D4D4D; 
	color: #909090; 
	margin: 0;
	padding: 0 0 30px;
}


@media (min-width: 960px) {
    .footer-info {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 50px 0 0;
    }
	
    .footer-info__logo-image {
        max-width: 150px; /* 高さを調整 */
    }

    .footer-info__logo {
        margin-bottom: 0;
    }

    .footer-info__menu .menu  {
        grid-template-columns: 1fr 1fr 1fr; /* PCサイズで3列に */
        max-width: 650px;
    }
}




/* Tel-null
--------------------------------------------- */

.fax a,
.comany-info-data a,
.footer-google-map__info-detail a {
  pointer-events: none;
  text-decoration: none;
}

.fax a,
.footer-google-map__info-detail a {
  color: #fff;
}

.comany-info-data a {
  color: #707070;
}

/* Responsive
--------------------------------------------- */

.forSP {
  display: block;
}

.forPC {
  display: none;
}

@media (min-width: 767px) {
  .forSP {
    display: none;
  }

  .forPC {
    display: block;
  }
}

@media (min-width: 960px) {
  .forTD {
    display: block;
  }
}

/* primaryNavi
--------------------------------------------- */



/* 9つの点で構成されたベントーメニュー */
.menu-toggle {
  position: fixed;
  top: 20px;
  right: 20px;
	background: transparent;
  border: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  gap: 10px;
  cursor: pointer;
  z-index: 9999999;
}

.menu-toggle span {
  display: block;
  width: 5px; /* 線の長さ */
  height: 5px; /* 線の太さ */
  background: #fff; /* 線の色 */
  margin: 0; /* 線同士の間隔 */
  transition: all 0.3s ease; /* アニメーションを適用 */
}

/* メニューオープン時 */
.menu-toggle.active span:nth-child(1) {
  transform: translate(10px, 10px);
}

.menu-toggle.active span:nth-child(2) {
  transform: scale(0);
}

.menu-toggle.active span:nth-child(3) {
  transform: translate(-10px, 10px);
}

.menu-toggle.active span:nth-child(4),
.menu-toggle.active span:nth-child(5),
.menu-toggle.active span:nth-child(6) {
  transform: scale(0);
}

.menu-toggle.active span:nth-child(7) {
  transform: translate(10px, -10px);
}

.menu-toggle.active span:nth-child(8) {
  transform: scale(0);
}

.menu-toggle.active span:nth-child(9) {
  transform: translate(-10px, -10px);
}

/* 全画面メニュー */
.primary-navigation {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  display: none;
  z-index: 999;
  justify-content: center;
  align-items: center;
  color: #fff;
}

.primary-navigation.active {
  display: flex;
}

.menu-content {
  text-align: center;
}

.menu-logo img {
  max-width: 150px;
  margin-bottom: 20px;
}

.nav-menu {
  list-style: none;
  padding: 0;
}

.nav-menu li {
  margin: 20px 0;
}

.nav-menu a {
  color: #fff;
  text-decoration: none;
  font-size: 1.5rem;
}

.menu-sns img {
  width: 20px;
  margin: 10px;
}

.menu-contact {
  margin-top: 20px;
  font-size: 1.2rem;
}



/* Grid
--------------------------------------------- */

.site-main {
  overflow: hidden;
}

@media screen and (max-width:767px) {
  .lo-grid {
    display: grid;
    grid-gap: 20px;
  }

  .lo-grid--1col--sp {
    grid-template-columns: repeat(1, 1fr);
  }

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

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

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

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

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


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

  .lo-grid--td {
    display: grid;
    grid-gap: 20px;
  }

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

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

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

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

  .lo-grid {
    display: grid;
    grid-gap: 20px;
  }

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

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

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

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

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

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

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

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


}



/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Posts and pages
--------------------------------------------- */

.sticky {
  display: block;
}

.post,
.page {
  margin: 0 0 0;
}

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

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

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

/* Comments
--------------------------------------------- */

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

.bypostauthor {
  display: block;
}

/* Widgets
--------------------------------------------- */

.widget {
  margin: 0 0 1.5em;
}

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

/* Media
--------------------------------------------- */

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

/* Make sure logo link wraps around logo image. */

.custom-logo-link {
  display: inline-block;
}

/* Captions
--------------------------------------------- */

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

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

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

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

/* Galleries
--------------------------------------------- */

.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 0 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;
}



/* フェードインアニメーション */
/* フェードインアニメーション */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px); /* 下からフェードイン */
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 初期状態：非表示 */
.fade-in {
    opacity: 0;
    transform: translateY(20px); /* 初期位置を下に設定 */
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    transition-delay: 0.5s; /* 0.5秒遅延 */
}

/* 表示されたときの状態 */
.fade-in.active {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0s; /* アクティブ時に遅延をリセット */
}


.fade-in:nth-child(1) {
    transition-delay: 0.3s;
}
.fade-in:nth-child(2) {
    transition-delay: 0.5s;
}
.fade-in:nth-child(3) {
    transition-delay: 0.7s;
}
.fade-in:nth-child(4) {
    transition-delay: 0.9s;
}
.fade-in:nth-child(5) {
    transition-delay: 1.1s;
}
.fade-in:nth-child(6) {
    transition-delay: 1.3s;
}
.fade-in:nth-child(7) {
    transition-delay: 1.5s;
}
.fade-in:nth-child(8) {
    transition-delay: 1.7s;
}
.fade-in:nth-child(9) {
    transition-delay: 1.9s;
}


@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-50px); /* 左から */
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(50px); /* 右から */
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* 初期状態：非表示 */
.fade-in-left,
.fade-in-right {
    opacity: 0;
    transform: translateX(0);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* 表示されたときの状態 */
.fade-in-left.active {
    animation: fadeInLeft 0.8s ease-out forwards;
}

.fade-in-right.active {
    animation: fadeInRight 0.8s ease-out forwards;
}

