/*!
Theme Name: XWRITE
Theme URI: https://xwrite.jp/
Author: XServer Inc.
Author URI: https://www.xserver.co.jp/
Description: エックスサーバー株式会社が提供するWordPressテーマ「XWRITE」
Version: 3.0.1
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.txt
Text Domain: xwrite
*/
body {
font-family: 'Shippori Mincho', serif;
overflow-x: hidden;
}
.articleContainer {
    margin: 0 auto !important;
}
.non-decoration{
margin-top:0 !important;
padding:0 !important;
background-color: transparent !important;

}
.alnd-header {
position: fixed;
top: 0;
left: 0;
right: 0;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
z-index: 1000;
padding: 0 40px;
height: 80px;
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.alnd-logo {
display: flex;
align-items: center;
font-size: 24px;
font-weight: bold;
color: #333;
text-decoration: none;
}

.alnd-logo-icon {
width: 40px;
height: 40px;
background: linear-gradient(135deg, #ff6b35, #f7931e);
border-radius: 50%;
margin-right: 10px;
position: relative;
}

.alnd-logo-icon::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 20px;
height: 20px;
background: white;
border-radius: 50%;
}

.alnd-nav {
display: flex;
align-items: center;
gap: 40px;
}

.alnd-nav-menu {
display: flex;
list-style: none;
gap: 40px;
margin-right: 40px;
}

.alnd-nav-item {
font-size: 14px;
color: #333;
text-decoration: none;
font-weight: 500;
transition: color 0.3s ease;
}

.alnd-nav-item:hover {
color: #ff6b35;
}

.alnd-cta-btn {
background: linear-gradient(135deg, #ff6b35, #f7931e);
color: white;
padding: 12px 24px;
border: none;
border-radius: 25px;
font-size: 14px;
font-weight: 600;
cursor: pointer;
transition: transform 0.3s ease, box-shadow 0.3s ease;
text-decoration: none;
display: inline-block;
}

.alnd-cta-btn:hover {
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(255, 107, 53, 0.3);
}

.alnd-hero {
height: 100vh;
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
padding: 0 80px;
position: relative;
overflow: hidden;
}

.alnd-bg-slideshow {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
}

.alnd-bg-slide {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
animation: alndSlideshow 15s infinite;
}

.alnd-bg-slide:nth-child(1) {
animation-delay: 0s;
}

.alnd-bg-slide:nth-child(2) {
animation-delay: 5s;
}

.alnd-bg-slide:nth-child(3) {
animation-delay: 10s;
}

.alnd-slide-img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}

.alnd-slide-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
z-index: 1;
}

@keyframes alndSlideshow {
0% { opacity: 0; }
20% { opacity: 1; }
33.33% { opacity: 1; }
53.33% { opacity: 0; }
100% { opacity: 0; }
}
.alnd-hero-content {
position: relative;
z-index: 10;
max-width: 800px;
}

.alnd-hero-title {
font-size: 48px;
letter-spacing: 3px !important;
font-weight: 700;
color: white;
line-height: 45px !important;
margin-bottom: 0px !important;}

.alnd-hero-subtitle {
font-size: 18px;
color: rgba(255, 255, 255, 0.8);
line-height: 1.6;
margin-bottom: 60px;
font-weight: 400;
margin-top:0 !important;
}

/* Bottom Section */
.alnd-hero-bottom {
position: absolute;
bottom: 80px;
left: 80px;
right: 80px;
display: flex;
justify-content: space-between;
align-items: center;
z-index: 10;
}

.alnd-bottom-text {
font-size: 14px;
color: rgba(255, 255, 255, 0.7);
}

.alnd-view-all-btn {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
color: white;
padding: 15px 30px;
border-radius: 8px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 10px;
}

.alnd-view-all-btn:hover {
background: rgba(255, 255, 255, 0.2);
transform: translateY(-2px);
}

.alnd-view-all-btn::after {
content: '→';
font-size: 18px;
transition: transform 0.3s ease;
}

.alnd-view-all-btn:hover::after {
transform: translateX(5px);
}

/* Responsive Design */
@media (max-width: 768px) {
.alnd-header {
padding: 0 20px;
}

.alnd-nav-menu {
display: none;
}

.alnd-hero {
padding: 0 40px;
height:77vh

}

.alnd-hero-title {
font-size: 36px;
margin-top:0 !important;
}

.alnd-hero-subtitle {
font-size: 16px;
}

.alnd-hero-bottom {
left: 40px;
right: 40px;
bottom: 40px;
flex-direction: column;
gap: 20px;
align-items: flex-start;
}
}
/* — Reset — */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

/* — News Section — */
.alnd-news-section {
background: #f8f9fa;
padding: 40px 0;
}
.alnd-news-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 80px;
display: grid;
grid-template-columns: 200px 1fr;
gap: 60px;
align-items: center;
}
.alnd-news-title {
font-size: 32px;
font-weight: 700;
color: #18689D;
letter-spacing: -0.02em;
}

.alnd-news-card {
background: #fff;
border-radius: 8px;
padding: 20px 30px;
box-shadow: 0 2px 8px rgba(0,0,0,0.06);
height: 80px;
overflow: hidden;
display: flex;
align-items: center;
cursor: pointer;
transition: transform .3s, box-shadow .3s;
}
.alnd-news-card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

.alnd-news-content {
flex: 1;
position: relative;
display: flex;
align-items: center;
}
.alnd-news-slides {
  display: flex;
  flex-direction: column;
  will-change: transform;
}

.alnd-news-slide {
display: flex;
align-items: center;
gap: 20px;
height: 40px;
flex-shrink: 0;
}

.alnd-news-meta {
display: flex;
align-items: center;
gap: 12px;
white-space: nowrap;
}
.alnd-news-date {
font-size: 14px;
color: #666;
font-weight: 500;
}
.alnd-news-category {
background: #e8f4f8;
color: #0066cc;
font-size: 11px;
font-weight: 600;
padding: 4px 10px;
border-radius: 12px;
text-transform: uppercase;
letter-spacing: .5px;
}

.alnd-news-title-text {
font-size: 16px;
font-weight: 600;
color: #333;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
flex: 1;
transition: color .3s;
}
.alnd-news-card:hover .alnd-news-title-text {
color: #00d4aa;
}
.alnd-news-title-text .alnd-news-link {
  display: block;           /* ブロック要素化 */
  text-decoration: none;    /* 下線なし */
  color: inherit;           /* 親の文字色を継承 */
  width: 100%;
}
.alnd-news-card:hover .alnd-news-link {
  color: #00d4aa;           /* ホバー時の色 */
}
/* — Responsive — */
@media (max-width: 768px) {
.alnd-news-section {
padding: 30px 0;
}
.alnd-news-container {
grid-template-columns: 1fr;
padding: 0 40px;
gap: 20px;
}
.alnd-news-title {
font-size: 24px;
text-align: center;
}
.alnd-news-card {
height: 70px;
padding: 15px 20px;
}
.alnd-news-slide {
height: 35px;
}
.alnd-news-date {
font-size: 12px;
}
.alnd-news-category {
font-size: 10px;
padding: 3px 8px;
}
.alnd-news-title-text {
font-size: 14px;
}
}
/* About US Section */
.alnd-about-section {
background: #ffffff;
padding: 0;
position: relative;
overflow: hidden;
}

.alnd-about-bg-image {
position: absolute;
top: 0;
right: 0;
width: 50%;
height: 100%;
object-fit: cover;
object-position: center;
opacity: 0.1;
z-index: 1;
}

.alnd-about-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 80px;
position: relative;
z-index: 2;
}

.alnd-about-header {
margin-bottom: 60px;
}

.alnd-about-label {
font-size: 32px !important;
font-weight: 700;
padding:0 !important;
margin-top:0 !important;
color: #18689D !important;
margin-bottom: 40px  !important;
letter-spacing: -0.02em !important;
background-color: transparent !important;
border:none !important;
}

.alnd-about-title {
font-size: 40px;
font-weight: 700;
color: #333;
line-height: 1.2;
margin-bottom: 50px;
letter-spacing: -0.02em;
max-width: 600px;
}

.alnd-about-content {
max-width: 800px;
}

.alnd-about-text {
font-size: 18px;
color: #555;
line-height: 1.8;
margin-bottom: 30px;
font-weight: 400;
}

.alnd-about-text:last-child {
margin-bottom: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
.alnd-about-section {
padding: 80px 0;
}

.alnd-about-bg-image {
width: 70%;
opacity: 0.08;
}

.alnd-about-container {
padding: 0 40px;
}

.alnd-about-label {
font-size: 24px;
margin-bottom: 30px;
}

.alnd-about-title {
font-size: 40px;
margin-bottom: 40px;
}

.alnd-about-text {
font-size: 16px;
line-height: 1.7;
margin-bottom: 25px;
}
}

@media (max-width: 480px) {
.alnd-about-section {
padding: 60px 0;
}

.alnd-about-bg-image {
width: 80%;
opacity: 0.06;
}

.alnd-about-container {
padding: 0 20px;
}

.alnd-about-title {
font-size: 32px;
}

.alnd-about-text {
font-size: 15px;
}
}
/* Business Introduction Section */
.alnd-business-section {
padding:0;
}

.alnd-business-container {
max-width: 1400px;
margin: 0 auto;
padding: 0 40px;
}

.alnd-business-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

.alnd-business-item {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 400px;
}

.alnd-business-content {
background: white;
padding: 60px 50px;
display: flex;
flex-direction: column;
justify-content: center;
}

.alnd-business-image-wrapper {
position: relative;
overflow: hidden;
}

.alnd-business-image {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}

.alnd-business-subtitle {
font-size: 12px;
color: #0066cc;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 15px;
}

.alnd-business-title {
font-size: 32px;
margin-top:0 !important;
font-weight: 700;
color: #333;
line-height: 1.3;
margin-bottom: 25px;
letter-spacing: -0.02em;
}

.alnd-business-description {
font-size: 16px;
color: #666;
line-height: 1.7;
margin-bottom: 35px;
}

.alnd-business-btn {
background: linear-gradient(135deg, #0066cc, #004499);
color: white;
padding: 15px 40px;
border: none;
border-radius: 30px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 10px;
align-self: flex-start;
position: relative;
overflow: hidden;
}

.alnd-business-btn::after {
content: '→';
font-size: 18px;
transition: transform 0.3s ease;
}

.alnd-business-btn:hover {
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(0, 102, 204, 0.3);
}

.alnd-business-btn:hover::after {
transform: translateX(5px);
}

/* 画像位置の調整 */
.alnd-business-item:nth-child(1) ,.alnd-business-item:nth-child(3),.alnd-business-item:nth-child(2),.alnd-business-item:nth-child(4)  {
grid-column: span 2;
}

.alnd-business-item:nth-child(3) .alnd-business-content {
order: 1;
}
.alnd-business-item:nth-child(3) .alnd-business-image-wrapper {
order: 2;
}
.alnd-business-item:nth-child(2) .alnd-business-content {
order: 2;
}

.alnd-business-item:nth-child(2) .alnd-business-image-wrapper {
order: 1;
}

/* Responsive Design */
@media (max-width: 1024px) {
.alnd-business-container {
padding: 0 20px;
}

.alnd-business-content {
padding: 50px 40px;
}

.alnd-business-title {
font-size: 28px;
}
}

@media (max-width: 768px) {
.alnd-business-section {
padding: 20px 0;
}
.alnd-business-container h2{
margin-top:0 !important;
}
.alnd-business-item:nth-child(2) .alnd-business-image-wrapper{
order:1;		
}
.alnd-business-grid {
grid-template-columns: 1fr;
gap: 0;
}

.alnd-business-item {
grid-template-columns: 1fr;
min-height: auto;
}
.alnd-business-item:nth-child(3) .alnd-business-image-wrapper{
order: 1;
}
.alnd-business-item:nth-child(2) .alnd-business-content {
order: 1;
}

.alnd-business-item:nth-child(2) .alnd-business-image-wrapper {
order: 2;
}

.alnd-business-image-wrapper {
height: 250px;
}

.alnd-business-content {
padding: 40px 30px;
}

.alnd-business-title {
font-size: 24px;
margin-bottom: 20px;
}

.alnd-business-description {
font-size: 15px;
margin-bottom: 30px;
}

.alnd-business-btn {
padding: 12px 30px;
font-size: 14px;
}
}

@media (max-width: 480px) {
.alnd-business-section {
padding: 60px 0;
}

.alnd-business-content {
padding: 30px 20px;
}

.alnd-business-title {
font-size: 22px;
}

.alnd-business-description {
font-size: 14px;
}
}
.alnd-recruit-section {
position: relative;
height: 500px;
overflow: hidden;
display: flex;
align-items: center;
}

.alnd-recruit-bg-image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
z-index: 1;
}

.alnd-recruit-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, rgba(0, 150, 136, 0.8), rgba(0, 100, 120, 0.7));
z-index: 2;
}

.alnd-recruit-container {
position: relative;
z-index: 3;
max-width: 1200px;
margin: 0 auto;
padding: 0 80px;
width: 100%;
}

.alnd-recruit-content {
max-width: 600px;
}

.alnd-recruit-label {
font-size: 14px;
color: white;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 20px;
opacity: 0.9;
}
.alnd-recruit-title {
font-size: 30px !important;
font-weight: 700;
color: white;
line-height: 1.2 !important;
margin-bottom: 25px !important;
letter-spacing: -0.02em;
}

.alnd-recruit-description {
font-size: 18px;
color: white;
line-height: 1.7;
margin-bottom: 15px;
opacity: 0.95;
}

.alnd-recruit-actions {
position: absolute;
bottom: 40px;
right: 80px;
z-index: 3;
display: flex;
flex-direction: column;
gap: 15px;
align-items: flex-end;
}

.alnd-recruit-link {
color: white;
text-decoration: none;
font-size: 16px;
font-weight: 600;
display: flex;
align-items: center;
gap: 8px;
transition: all 0.3s ease;
position: relative;
}

.alnd-recruit-link::after {
content: '→';
font-size: 18px;
transition: transform 0.3s ease;
}

.alnd-recruit-link:hover::after {
transform: translateX(5px);
}

.alnd-recruit-link:hover {
opacity: 0.8;
}

.alnd-recruit-link-main {
font-size: 18px;
}

.alnd-recruit-link-sub {
font-size: 14px;
opacity: 0.9;
}

/* Responsive Design */
@media (max-width: 1024px) {
.alnd-recruit-container {
padding: 0 60px;
}

.alnd-recruit-actions {
right: 60px;
bottom: 30px;
}

.alnd-recruit-title {
font-size: 40px;
}
}

@media (max-width: 768px) {
.alnd-recruit-section {
height: 450px;
}

.alnd-recruit-container {
padding: 0 40px;
}

.alnd-recruit-actions {
position: static;
margin-top: 40px;
align-items: flex-start;
}

.alnd-recruit-title {
font-size: 32px;
margin-bottom: 20px;
}

.alnd-recruit-description {
font-size: 16px;
margin-bottom: 12px;
}

.alnd-recruit-link-main {
font-size: 16px;
}

.alnd-recruit-link-sub {
font-size: 13px;
}
}

@media (max-width: 480px) {
.alnd-recruit-section {
height: 400px;
}

.alnd-recruit-container {
padding: 0 20px;
}

.alnd-recruit-title {
font-size: 28px;
}

.alnd-recruit-description {
font-size: 15px;
}
}
.alnd-ceo-section {
background: #ffffff;
padding: 120px 0;
}

.alnd-ceo-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 80px;
}

.alnd-ceo-grid {
display: grid;
grid-template-columns: 400px 1fr;
gap: 80px;
align-items: center;
}

.alnd-ceo-image-wrapper {
position: relative;
}

.alnd-ceo-image {
width: 100%;
height: 500px;
object-fit: cover;
object-position: center;
border-radius: 12px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}

.alnd-ceo-content {
padding: 20px 0;
}

.alnd-ceo-label {
font-size: 14px;
color: #18689D;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 20px;
}

.alnd-ceo-title {
font-size: 42px !important;
font-weight: 700;
color: #333 !important;
line-height: 1.3;
margin-bottom: 40px !important;
letter-spacing: -0.02em;
}

.alnd-ceo-message {
font-size: 18px;
color: #555;
line-height: 1.8;
margin-bottom: 30px;
}

.alnd-ceo-message:last-of-type {
margin-bottom: 50px;
}

.alnd-ceo-signature {
border-top: 2px solid #f0f0f0;
}

.alnd-ceo-position {
font-size: 16px;
color: #666;
font-weight: 500;
}

.alnd-ceo-name {
font-size: 24px;
color: #333;
font-weight: 700;
letter-spacing: 0.5px;
margin-top:0 !important;
}

/* Responsive Design */
@media (max-width: 1024px) {
.alnd-ceo-container {
padding: 0 60px;
}

.alnd-ceo-grid {
grid-template-columns: 350px 1fr;
gap: 60px;
}

.alnd-ceo-image {
height: 450px;
}

.alnd-ceo-title {
font-size: 36px;
}
}

@media (max-width: 768px) {
.alnd-ceo-section {
padding: 80px 0;
}

.alnd-ceo-container {
padding: 0 40px;
}

.alnd-ceo-grid {
grid-template-columns: 1fr;
gap: 50px;
}

.alnd-ceo-image {
height: 400px;
max-width: 300px;
margin: 0 auto;
}

.alnd-ceo-title {
font-size: 32px;
margin-bottom: 30px;
}

.alnd-ceo-message {
font-size: 16px;
margin-bottom: 25px;
}

.alnd-ceo-message:last-of-type {
margin-bottom: 40px;
}
}

@media (max-width: 480px) {
.alnd-ceo-section {
padding: 60px 0;
}

.alnd-ceo-container {
padding: 0 20px;
}

.alnd-ceo-title {
font-size: 28px;
}

.alnd-ceo-message {
font-size: 15px;
}

.alnd-ceo-image {
height: 350px;
}
}
.recruitment-container {
max-width: 1400px;
margin: 0 auto;
padding: 0 24px;
}

.recruitment-hero {
background: linear-gradient(135deg, #1a365d 0%, #2c5282 25%, #3182ce  75%, #4299e1 100%);
color: white;
padding: 120px 0 100px;
text-align: center;
position: relative;
overflow: hidden;
}

.recruitment-hero::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="20" height="20" patternUnits="userSpaceOnUse"><path d="M 20 0 L 0 0 0 20" fill="none" stroke="rgba(255,255,255,0.03)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');
animation: float-pattern 30s linear infinite;
}

@keyframes float-pattern {
0% { transform: translate(-25%, -25%) rotate(0deg); }
100% { transform: translate(-25%, -25%) rotate(360deg); }
}

.recruitment-hero-content {
position: relative;
z-index: 1;
}

.recruitment-hero h1 {
font-size: clamp(3rem, 8vw, 5rem);
font-weight: 700;
margin-bottom: 32px;
background: linear-gradient(135deg, #ffffff 0%, #f7fafc 50%, #e2e8f0 100%);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
letter-spacing: -0.02em;
}

.recruitment-hero-subtitle {
font-size: clamp(1.1rem, 3vw, 1.4rem);
max-width: 800px;
margin: 0 auto;
opacity: 0.95;
font-weight: 300;
line-height: 1.8;
text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.recruitment-mission {
background: linear-gradient(to bottom, #ffffff 0%, #f8fafc 100%);
padding: 10px 0;
text-align: center;
position: relative;
}

.recruitment-mission::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent 0%, #e2e8f0 50%, transparent 100%);
}

.recruitment-mission h2 {
font-size: clamp(2.5rem, 6vw, 3.5rem);
color: #1a365d !important;
margin-top:0 !important;
margin-bottom: 48px !important;
font-weight: 600;
position: relative;
display: inline-block;
}
.recruitment-container h2{
background:none !important;
}
.recruitment-mission h2::after {
content: '';
position: absolute;
bottom: -16px;
left: 50%;
transform: translateX(-50%);
width: 80px;
height: 4px;
background: linear-gradient(90deg, #2c5282, #4299e1);
border-radius: 2px;
}

.recruitment-mission-text {
color: #4a5568;
max-width: 900px;
margin: 0 auto;
line-height: 1.9;
font-weight: 300;
}

.recruitment-positions {
padding: 10px 0;
margin-top:0 !important;
position: relative;
}

.recruitment-positions::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><circle cx="50" cy="50" r="2" fill="rgba(44,82,130,0.05)"/><circle cx="150" cy="80" r="1.5" fill="rgba(44,82,130,0.05)"/><circle cx="80" cy="150" r="1" fill="rgba(44,82,130,0.05)"/><circle cx="170" cy="170" r="1.5" fill="rgba(44,82,130,0.05)"/></svg>') repeat;
}

.recruitment-positions-content {
position: relative;
z-index: 1;
}

.recruitment-positions h2 {
text-align: center;
color: #1a365d !important;
margin-top:0 !important;
margin-bottom: 20px;
font-weight: 600;
position: relative;
display: inline-block;
width: 100%;
}

.recruitment-positions h2::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 120%;
height: 120%;
background: radial-gradient(ellipse, rgba(44, 82, 130, 0.05) 0%, transparent 70%);
z-index: -1;
}

.recruitment-positions-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
gap: 40px;
}

.recruitment-position-card {
background: linear-gradient(135deg, #ffffff 0%, #fafafa 100%);
border-radius: 20px;
padding: 48px 40px;
box-shadow: 
0 10px 40px rgba(0, 0, 0, 0.08),
0 4px 20px rgba(0, 0, 0, 0.04),
inset 0 1px 0 rgba(255, 255, 255, 0.8);
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
border: 1px solid rgba(255, 255, 255, 0.8);
position: relative;
overflow: hidden;
}

.recruitment-position-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 6px;
background: linear-gradient(90deg, #4a5568, #718096);
transition: all 0.3s ease;
}

.recruitment-position-card:hover {
transform: translateY(-12px) scale(1.02);
box-shadow: 
0 25px 60px rgba(0, 0, 0, 0.15),
0 10px 40px rgba(0, 0, 0, 0.08),
inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.recruitment-position-card:hover::before {
background: linear-gradient(90deg, #2c5282, #4299e1);
height: 8px;
}

.recruitment-position-card.recruitment-featured {
background: linear-gradient(135deg, #ffffff 0%, #f0f8ff 100%);
border: 2px solid #2c5282;
transform: scale(1.05);
}

.recruitment-position-card.recruitment-featured::before {
background: linear-gradient(90deg, #e53e3e, #f56500, #d69e2e);
height: 8px;
animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {
0%, 100% { background-position: -200% center; }
50% { background-position: 200% center; }
}

.recruitment-position-card.recruitment-featured:hover {
transform: translateY(-12px) scale(1.07);
}

.recruitment-position-title {
font-size: clamp(1.4rem, 4vw, 1.8rem);
font-weight: 700;
color: #1a365d;
margin-bottom: 24px;
display: flex;
align-items: center;
gap: 16px;
line-height: 1.3;
}

.recruitment-featured-badge {
background: linear-gradient(135deg, #e53e3e 0%, #f56500 50%, #d69e2e 100%);
color: white;
padding: 8px 16px;
border-radius: 25px;
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.8px;
box-shadow: 0 4px 15px rgba(229, 62, 62, 0.3);
animation: pulse-glow 2s ease-in-out infinite;
}

@keyframes pulse-glow {
0%, 100% { box-shadow: 0 4px 15px rgba(229, 62, 62, 0.3); }
50% { box-shadow: 0 6px 25px rgba(229, 62, 62, 0.5); }
}

.recruitment-job-details {
background: linear-gradient(135deg, #f8fafc 0%, #edf2f7 100%);
border-radius: 16px;
padding: 32px;
margin-bottom: 32px;
border: 1px solid rgba(226, 232, 240, 0.8);
position: relative;
}

.recruitment-job-details::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.4) 100%);
border-radius: 16px;
z-index: -1;
}

.recruitment-detail-item {
display: flex;
margin-bottom: 16px;
align-items: flex-start;
}

.recruitment-detail-item:last-child {
margin-bottom: 0;
}

.recruitment-label {
font-weight: 700;
color: #2d3748;
min-width: 90px;
flex-shrink: 0;
}

.recruitment-value {
color: #4a5568;
font-weight: 500;
line-height: 1.6;
}

.recruitment-job-content {
margin-bottom: 32px;
}

.recruitment-job-content h4 {
color: #1a365d;
margin-bottom: 20px;
font-weight: 700;
position: relative;
padding-bottom: 12px;
}

.recruitment-job-content h4::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 60px;
height: 3px;
background: linear-gradient(90deg, #2c5282, #4299e1);
border-radius: 2px;
}

.recruitment-job-content ul {
list-style: none;
padding-left: 0;
}

.recruitment-job-content li {
color: #4a5568;
margin-bottom: 12px;
padding-left: 24px;
position: relative;
line-height: 1.7;
font-weight: 400;
}

.recruitment-job-content li::before {
content: '▶';
position: absolute;
left: 0;
color: #2c5282;
font-size: 0.8rem;
top: 2px;
}

.recruitment-requirements {
background: linear-gradient(135deg, #f0f8ff 0%, #e6f3ff 100%);
border-radius: 16px;
padding: 32px;
border: 1px solid rgba(44, 82, 130, 0.1);
position: relative;
}

.recruitment-requirements::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.2) 100%);
border-radius: 16px;
z-index: -1;
}

.recruitment-requirements h4 {
color: #1a365d;
margin-top:0 !important;
border:none !important;
margin-bottom: 20px;
font-weight: 700;
position: relative;
padding-bottom: 12px;
}

.recruitment-requirements h4::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 60px;
height: 3px;
background: linear-gradient(90deg, #2c5282, #4299e1);
border-radius: 2px;
}

.recruitment-requirements ul {
list-style: none;
padding-left: 0;
}

.recruitment-requirements li {
color: #2d3748;
margin-bottom: 10px;
padding-left: 24px;
position: relative;
font-weight: 500;
line-height: 1.6;
}

.recruitment-requirements li::before {
content: '✓';
position: absolute;
left: 0;
color: #2c5282;
font-weight: 700;
font-size: 1rem;
}

.recruitment-cta {
background: linear-gradient(135deg, #1a365d 0%, #2c5282 25%, #3182ce 75%, #4299e1 100%);
color: white;
padding: 100px 0;
text-align: center;
position: relative;
overflow: hidden;
}

.recruitment-cta::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="dots" width="10" height="10" patternUnits="userSpaceOnUse"><circle cx="5" cy="5" r="1" fill="rgba(255,255,255,0.1)"/></pattern></defs><rect width="100" height="100" fill="url(%23dots)"/></svg>');
animation: drift 25s linear infinite;
}

@keyframes drift {
0% { transform: translateX(0) translateY(0); }
100% { transform: translateX(-10px) translateY(-10px); }
}

.recruitment-cta-content {
position: relative;
z-index: 1;
}

.recruitment-cta h2 {
margin-top:0 !important;
margin-bottom: 32px;
font-weight: 700;
text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}
.recruitment-cta-description {
font-size: clamp(1.1rem, 2.5vw, 1.3rem);
margin-bottom: 48px;
opacity: 0.95;
max-width: 700px;
margin-left: auto;
margin-right: auto;
line-height: 1.8;
font-weight: 300;
}

.recruitment-apply-btn {
display: inline-block;
background: linear-gradient(135deg, #ffffff 0%, #f7fafc 100%);
color: #1a365d;
padding: 20px 48px;
border-radius: 50px;
text-decoration: none;
font-weight: 700;
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
box-shadow: 
0 10px 30px rgba(255, 255, 255, 0.3),
0 4px 15px rgba(0, 0, 0, 0.1);
position: relative;
overflow: hidden;
}

.recruitment-apply-btn::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
transition: left 0.5s ease;
}

.recruitment-apply-btn:hover {
transform: translateY(-4px) scale(1.05);
box-shadow: 
0 20px 40px rgba(255, 255, 255, 0.4),
0 8px 25px rgba(0, 0, 0, 0.15);
}

.recruitment-apply-btn:hover::before {
left: 100%;
}

.recruitment-contact-info {
background: linear-gradient(to bottom, #ffffff 0%, #f8fafc 100%);
padding: 20px 0;
text-align: center;
}

.recruitment-contact-info h3 {
color: #1a365d;
margin-top:none !important;
margin-bottom: 48px;
font-weight: 600;
border:none !important;
position: relative;
display: inline-block;
}
.recruitment-contact-info h3::before {
content:none !important;	
}
.recruitment-contact-info h3::after {
content: '';
position: absolute;
bottom: -12px;
left: 50%;
transform: translateX(-50%);
width: 80px;
height: 4px;
background: linear-gradient(90deg, #2c5282, #4299e1);
border-radius: 2px;
}

.recruitment-contact-details {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 32px;
max-width: 900px;
margin: 0 auto;
}

.recruitment-contact-item {
background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
padding: 40px 32px;
border-radius: 20px;
border: 1px solid rgba(226, 232, 240, 0.8);
box-shadow: 
0 8px 30px rgba(0, 0, 0, 0.06),
0 4px 15px rgba(0, 0, 0, 0.03);
transition: all 0.3s ease;
position: relative;
}

.recruitment-contact-item::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.4) 100%);
border-radius: 20px;
z-index: -1;
}

.recruitment-contact-item:hover {
transform: translateY(-8px);
box-shadow: 
0 15px 40px rgba(0, 0, 0, 0.1),
0 8px 25px rgba(0, 0, 0, 0.05);
}

.recruitment-contact-item h4 {
margin-top:0 !important;
color: #1a365d;
margin-bottom: 16px;
font-weight: 700;
}

.recruitment-contact-item p {
color: #4a5568;
line-height: 1.7;
font-weight: 400;
}
@media (max-width: 768px) {
.recruitment-positions-grid { 
grid-template-columns: 1fr;
gap: 32px;
}

.recruitment-position-card {
padding: 32px 24px;
}

.recruitment-position-card.recruitment-featured {
transform: scale(1.02);
}

.recruitment-job-details,
.recruitment-requirements {
padding: 24px;
}
}

@media (max-width: 480px) {
.recruitment-positions-grid {
grid-template-columns: 1fr;
}
}
.sustainability-header {
background: #1e3a8a;
color: #e2e8f0;
padding: 60px 0 40px;
border-bottom: 3px solid #3b82f6;
}

.sustainability-nav {
max-width: 1000px;
margin: 0 auto;
padding: 0 30px;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
}

.sustainability-logo {
font-size: 1.1rem;
font-weight: 500;
color: #cbd5e0;
}

.sustainability-breadcrumb {
font-size: 0.9rem;
color: #a0aec0;
}

.sustainability-main-title {
max-width: 1000px;
margin: 0px auto 0;
padding: 0 30px;
}

.sustainability-title-ja {
font-size: 2.8rem;
margin-top:0!important;
font-weight: 300;
letter-spacing: 0.05em;
margin-bottom: 15px !important;
}

.sustainability-title-en {
font-size: 1rem;
color: #94a3b8;
text-transform: uppercase;
letter-spacing: 0.1em;
margin-bottom: 25px;
}

.sustainability-intro {
font-size: 14px;
line-height: 1.7;
color: #cbd5e0;
max-width: 650px;
}

.sustainability-content {
max-width: 1000px;
margin: 0 auto;
padding: 0px 30px;
}

.philosophy-section {
margin-bottom: 80px;
}

.section-header {
border-left: 4px solid #3b82f6;
padding-left: 20px;
margin-bottom: 0px;
}

.section-title {
font-size: 1.8rem;
font-weight: 400;
color: #2d3748 !important;
background:none !important;
margin-top:0 !important;
padding:0 !important;
margin-bottom: 0px !important;
}

.section-subtitle {
font-size: 0.9rem;
color: #718096;
text-transform: uppercase;
letter-spacing: 0.05em;
}

.philosophy-text {
font-size: 14px;
line-height: 1.8;
color: #4a5568;
margin-bottom: 35px;
}

.philosophy-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 35px;
}

.philosophy-item {
background: #f7fafc;
padding: 35px 30px;
border: 1px solid #e2e8f0;
position: relative;
}

.philosophy-item::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 3px;
background: #3b82f6;
}

.philosophy-item h3 {
font-size: 20px;
font-weight: 500;
color: #2d3748;
margin-top:0 !important;
border-bottom:none !important;
margin-bottom: 0 !important;
}
.philosophy-item h3::before{
content:none !important;
}
.philosophy-item p {
color: #4a5568;
line-height: 1.7;
margin-top:0 !important;
}

.initiatives-section {
margin-bottom: 80px;
}

.initiatives-intro {
font-size: 14px;
color: #4a5568;
line-height: 1.7;
}

.initiative-block {
background: white;
border: 1px solid #e2e8f0;
margin-bottom: 40px;
overflow: hidden;
}

.initiative-header {
background: #1e3a8a;
color: white;
padding: 25px 30px;
display: flex;
align-items: center;
gap: 15px;
}

.initiative-number {
background: #3b82f6;
color: white;
width: 35px;
height: 35px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 600;
font-size: 20px;
}

.initiative-title {
font-size: 1.3rem;
margin:0 !important;
border-bottom:none !important;
font-weight: 400;
padding:0 !important;
}
.initiative-title::before{
content:none !important;
}
.initiative-content {
padding: 35px 30px;
}

.initiative-description {
color: #4a5568;
line-height: 1.7;
margin-bottom: 25px;
}

.action-list {
list-style: none;
}

.action-list li {
padding: 8px 0;
color: #2d3748;
position: relative;
padding-left: 20px;
}

.action-list li::before {
content: '・';
position: absolute;
left: 0;
color: #3b82f6;
font-weight: bold;
}

.commitment-section {
background: #f8f9fa;
padding: 50px 0;
margin: 60px -30px 0;
}

.commitment-container {
max-width: 1000px;
margin: 0 auto;
padding: 0 30px;
}

.commitment-text {
font-size: 14px;
line-height: 1.8;
color: #4a5568;
text-align: left;
}

.data-section {
margin: 80px 0;
}

.data-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 30px;
margin-top: 40px;
}

.data-item {
text-align: center;
padding: 30px 20px;
background: white;
border: 1px solid #e2e8f0;
}

.data-value {
font-size: 2.2rem;
font-weight: 300;
color: #3b82f6;
margin-bottom: 10px;
}

.data-label {
font-size: 0.9rem;
color: #718096;
text-transform: uppercase;
letter-spacing: 0.05em;
}

.contact-section {
background: #1e3a8a;
color: white;
padding: 50px 0;
margin: 60px -30px 0;
text-align: center;
}

.contact-container {
max-width: 1000px;
margin: 0 auto;
padding: 0 30px;
}

.contact-title {
font-size: 1.5rem;
font-weight: 300;
margin-bottom: 20px;
}

.contact-text {
color: #cbd5e0;
margin-bottom: 30px;
}

.contact-email {
color: #60a5fa;
text-decoration: none;
font-weight: 500;
}

.contact-email:hover {
text-decoration: underline;
}

@media (max-width: 768px) {
.sustainability-nav {
flex-direction: column;
gap: 15px;
text-align: center;
}

.sustainability-title-ja {
font-size: 2.2rem;
}

.sustainability-content {
padding: 40px 20px;
}

.philosophy-grid {
grid-template-columns: 1fr;
}

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

.commitment-section,
.contact-section {
margin-left: -20px;
margin-right: -20px;
}
}
.sustainability-hero {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 120px 0 80px;
text-align: center;
position: relative;
overflow: hidden;
}

.sustainability-hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><defs><pattern id="grid" width="50" height="50" patternUnits="userSpaceOnUse"><path d="M 50 0 L 0 0 0 50" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)"/></svg>');
opacity: 0.3;
}

.sustainability-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
position: relative;
z-index: 1;
}

.sustainability-hero h1 {
font-size: 40px;
font-weight: 700;
margin-bottom: 16px;
letter-spacing: -0.02em;
}

.sustainability-hero p {
font-size: 15px;
font-weight: 400;
opacity: 0.9;
max-width: 600px;
margin: 0 auto;
}

.sustainability-section {
padding: 20px 0;
}

.sustainability-section h2 {
font-size: 30px;
font-weight: 700;
text-align: center;
margin-bottom: 60px;
letter-spacing: -0.02em;
}

.sustainability-mission {
text-align: center;
}

.sustainability-mission-content {
max-width: 800px;
margin: 0 auto;
}

.sustainability-mission p {
font-size: 20px;
color: #424245;
margin-bottom: 24px;
}

.sustainability-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 32px;
margin-top: 60px;
}

.sustainability-card {
background: white;
border-radius: 18px;
padding: 32px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}

.sustainability-card:hover {
transform: translateY(-8px);
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.sustainability-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #4CAF50, #2196F3, #FF9800);
}

.sustainability-icon {
width: 60px;
height: 60px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20px;
font-size: 20px;
}

.sustainability-icon.healthcare {
background: linear-gradient(135deg, #667eea, #764ba2);
color: white;
}

.sustainability-icon.finance {
background: linear-gradient(135deg, #4CAF50, #45a049);
color: white;
}

.sustainability-icon.innovation {
background: linear-gradient(135deg, #FF9800, #f57c00);
color: white;
}

.sustainability-icon.partnership {
background: linear-gradient(135deg, #2196F3, #1976d2);
color: white;
}

.sustainability-card h3 {
font-size: 25px;
font-weight: 600;
margin-bottom: 16px;
color: #1d1d1f;
margin-top:0 !important;
}

.sustainability-card p {
color: #424245;
line-height: 1.7;
margin-bottom: 20px;
}

.sustainability-card ul {
list-style: none;
color: #424245;
}

.sustainability-card li {
position: relative;
padding-left: 20px;
margin-bottom: 8px;
}

.sustainability-card li::before {
content: '✓';
position: absolute;
left: 0;
color: #4CAF50;
font-weight: bold;
}

.sustainability-goals {
padding: 80px 0;
}

.sustainability-goals-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 24px;
margin-top: 40px;
}

.sustainability-goal {
background: white;
border-radius: 16px;
padding: 24px;
text-align: center;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
transition: all 0.3s ease;
border: 2px solid transparent;
}

.sustainability-goal:hover {
border-color: #007aff;
transform: translateY(-4px);
}

.sustainability-goal-number {
width: 50px;
height: 50px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
color: white;
margin: 0 auto 16px;
font-size: 16px;
}

.sustainability-goal-3 .sustainability-goal-number { background: #4C9F38; }
.sustainability-goal-8 .sustainability-goal-number { background: #A21942; }
.sustainability-goal-9 .sustainability-goal-number { background: #FD6925; }
.sustainability-goal-17 .sustainability-goal-number { background: #19486A; }

.sustainability-goal h4 {
font-size: 25px;
font-weight: 600;
margin-bottom: 8px;
color: #1d1d1f;
margin-top:0 !important;
}
.sustainability-goal h4::before{
	content:none !important;
}
.sustainability-goal p {
font-size: 12px;
color: #424245;
}

.sustainability-stats {
background: linear-gradient(135deg, #f5f5f7, #ffffff);
padding: 80px 0;
}

.sustainability-stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 40px;
text-align: center;
}

.sustainability-stat {
padding: 40px 20px;
}

.sustainability-stat-number {
font-size: 20px;
font-weight: 700;
color: #007aff;
margin-bottom: 8px;
display: block;
}

.sustainability-stat-label {
font-size: 17px;
color: #424245;
font-weight: 500;
}

.sustainability-cta {
background: linear-gradient(135deg, #1d1d1f, #424245);
color: white;
text-align: center;
padding: 80px 0;
}

.sustainability-cta h2 {
color: white;
margin-bottom: 20px;
}

.sustainability-cta p {
font-size: 15px;
opacity: 0.9;
margin-bottom: 40px;
max-width: 600px;
margin-left: auto;
margin-right: auto;
}

.sustainability-button {
display: inline-block;
background: #007aff;
color: white;
padding: 16px 32px;
border-radius: 12px;
text-decoration: none;
font-weight: 500;
transition: all 0.3s ease;
border: none;
cursor: pointer;
font-size: 1rem;
}

.sustainability-button:hover {
background: #0056cc;
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(0, 122, 255, 0.3);
}

@media (max-width: 768px) {
.sustainability-hero h1 {
font-size: 30px;
}

.sustainability-hero {
padding: 80px 0 60px;
}

.sustainability-section {
padding: 60px 0;
}

.sustainability-section h2 {
font-size: 2rem;
}

.sustainability-container {
padding: 0 16px;
}

.sustainability-grid {
grid-template-columns: 1fr;
gap: 24px;
}

.sustainability-goals-grid {
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 16px;
}
}

.sustainability-fade-in {
opacity: 0;
transform: translateY(30px);
transition: all 0.6s ease;
}

.sustainability-fade-in.visible {
opacity: 1;
transform: translateY(0);
}