:root {
--slider-bg: #F8F8F8;
--brand: #4F6D7A;
--text: #333;
}
html, body { overflow-x: hidden; }
.fullwide {
width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
}
.gifted-3d-slider {
background: var(--slider-bg);
padding: 100px 0 120px;
position: relative;
text-align: center;
}
.gifted-swiper {
width: 100%;
padding: 30px 6vw 80px;
}
.gifted-swiper .swiper-slide {
width: clamp(280px, 32vw, 520px);
height: clamp(300px, 38vw, 420px);
overflow: hidden;
box-shadow: 0 20px 50px rgba(0,0,0,0.18);
transform-origin: center;
}
.gifted-swiper .swiper-slide img {
width: 100%; height: 100%; object-fit: cover;
transition: transform .6s ease;
}
.gifted-swiper .swiper-slide-active img { transform: scale(1.08); }
.slide-caption {
position: absolute;
left: 0; right: 0; bottom: 0;
padding: 18px 20px;
background: linear-gradient(0deg, rgba(0,0,0,.55), rgba(0,0,0,0));
color: #fff; text-align: left;
}
.slide-caption h3 {
margin: 0 0 10px; font-size: clamp(16px, 2.2vw, 20px);
}
.slide-caption .btn.small {
background: var(--brand); color: #fff;
padding: 8px 16px; text-decoration: none;
transition: 0.3s;
}
.slide-caption .btn.small:hover {
background: #39535C; transform: translateY(-2px);
} .gifted-works-slider-v3 {
width: 100vw;
margin-left: calc(50% - 50vw);
background: #0d1526;
padding: 80px 0;
position: relative;
}
.gifted-works-slider-v3 .swiper-slide-active {
transform: scale(1.1);
box-shadow: 0 12px 30px rgba(0,0,0,0.5);
}
.gifted-works-slider-v3 .btn.small {
background: #cfab6e;
color: #0d1526;
padding: 10px 32px;
border: 2px solid #cfab6e;
}
.gifted-works-slider-v3 .btn.small:hover {
background: #0d1526; color: #fff;
}.hero-cta {
background: #2A3642; color: #fff;
text-align: center; padding: 60px 20px 70px;
margin-top: -40px;
}
.hero-cta-title {
font-size: clamp(1.8rem, 3vw, 2.4rem);
font-weight: 700;
text-shadow: 0 2px 6px rgba(0,0,0,0.3);
} .philosophy-section.flat {
background: #0d1526;
margin-top: -80px !important;
color: #fff;
padding-bottom: 2em;
text-align: center;
}
.philosophy-section.flat .section-label {
color: #cfab6e;
position: relative;
}
.philosophy-section.flat .section-title {
font-size: 1.2rem; font-weight: 700;
} .gifted-voice-section {
background: linear-gradient(to bottom, #FAFAFA, #FFFFFF);
padding: 100px 0;
text-align: center;
}
.voice-inner {
display: flex; justify-content: center; flex-wrap: wrap;
gap: 40px; max-width: 1200px; margin: 0 auto;
}
.voice-card {
display: flex; flex-direction: row; align-items: center;
background: #fff; border-radius: 16px;
box-shadow: 0 8px 20px rgba(0,0,0,0.06);
width: calc(33.333% - 30px); min-width: 340px;
text-decoration: none; color: inherit;
transition: all 0.4s ease;
}
.voice-card:hover { transform: translateY(-8px); }
.voice-thumb { width: 40%; max-width: 180px; height: 140px; overflow: hidden; border-radius: 12px; margin-left: 20px; }
.voice-thumb img { width: 100%; height: 100%; object-fit: cover; }
.voice-content { flex: 1; text-align: left; padding: 20px 24px 20px 0; }
.voice-title { font-weight: 700; font-size: 1.1rem; color: #0d1526; }
.voice-rating { color: #CFAB6E; font-size: 1.1rem; letter-spacing: 2px; }  .philosophy-section.flat {
background: #0d1526 !important;
color: #fff !important;
margin: 0 !important;
padding: 60px 0 80px !important;
border: none !important;
--wp--style--block-gap: 0 !important;
text-align: center;
position: relative;
z-index: 10;
box-shadow: 0 -6px 12px rgba(0,0,0,0.15);
} .philosophy-section.flat .philosophy-box {
max-width: 900px;
width: 92%;
margin: 0 auto !important;
padding: 0 !important;
background: transparent !important;
} .philosophy-section.flat .section-label {
display: inline-block;
font-size: 0.9rem;
letter-spacing: 0.15em;
text-transform: uppercase;
color: #cfab6e !important;
margin-bottom: 18px;
font-weight: 600;
position: relative;
}
.philosophy-section.flat .section-label::before,
.philosophy-section.flat .section-label::after {
content: "";
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 36px;
height: 1px;
background: #cfab6e;
}
.philosophy-section.flat .section-label::before { left: -46px; }
.philosophy-section.flat .section-label::after { right: -46px; } .philosophy-section.flat .section-title {
color: #fff !important;
font-size: clamp(1.6rem, 2.8vw, 2rem);
font-weight: 700;
margin: 0 0 10px;
text-shadow: 0 2px 6px rgba(0,0,0,0.3);
line-height: 1.4;
} .philosophy-section.flat .sub-copy {
color: rgba(255,255,255,0.85);
font-size: 1rem;
line-height: 1.6;
margin-bottom: 28px;
} .philosophy-section.flat .action-buttons {
display: flex;
justify-content: center;
gap: 20px;
flex-wrap: wrap;
margin-top: 20px;
}
.philosophy-section.flat .action-buttons .btn {
display: inline-block;
padding: 14px 42px;
font-weight: 600;
text-decoration: none;
border: 2px solid #fff;
font-size: 1rem;
transition: 0.3s ease;
border-radius: 0;
}
.philosophy-section.flat .btn-main {
background: #cfab6e;
color: #0d1526;
border-color: #cfab6e;
}
.philosophy-section.flat .btn-main:hover {
background: transparent;
color: #fff;
}
.philosophy-section.flat .btn-sub {
background: transparent;
color: #fff;
border-color: #fff;
}
.philosophy-section.flat .btn-sub:hover {
background: #fff;
color: #0d1526;
} @media (max-width: 768px) {
.philosophy-section.flat {
padding: 40px 0 60px !important;
}
.philosophy-section.flat .section-title {
font-size: 1.3rem !important;
line-height: 1.5;
}
.philosophy-section.flat .action-buttons .btn {
padding: 12px 30px;
font-size: 0.9rem;
}
} .philosophy-section.flat .section-title,
.philosophy-section.flat .wp-block-heading,
.philosophy-section.flat .c-secTitle,
.philosophy-section.flat .p-sectionHeadline,
.philosophy-section.flat .swell-block-heading,
.philosophy-section.flat .swell-block-section .c-sectionTitle,
.philosophy-section.flat .wp-block-group.has-background {
background: transparent !important;
border: none !important;
box-shadow: none !important;
outline: none !important;
padding: 0 !important;
margin: 6px 0 12px !important;
} .philosophy-section.flat .wp-block-heading,
.philosophy-section.flat .section-title {
color: #fff !important;
font-weight: 800 !important;
text-align: center !important;
text-shadow: 0 2px 6px rgba(0,0,0,0.3);
font-size: clamp(1.6rem, 2.8vw, 2rem);
line-height: 1.4;
} .philosophy-section.flat .section-label {
display: inline-block;
font-size: 0.9rem;
letter-spacing: .15em;
text-transform: uppercase;
color: #cfab6e !important;
margin-bottom: 18px;
font-weight: 600;
position: relative;
}
.philosophy-section.flat .section-label::before,
.philosophy-section.flat .section-label::after {
content: "";
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 36px; height: 1px;
background: #cfab6e;
}
.philosophy-section.flat .section-label::before { left: -46px; }
.philosophy-section.flat .section-label::after  { right: -46px; } .philosophy-section.flat .sub-copy {
color: rgba(255,255,255,.85) !important;
font-size: 1rem;
line-height: 1.6;
margin-bottom: 28px !important;
} .philosophy-section.flat .wp-block-buttons{
display:flex; justify-content:center; gap:20px; flex-wrap:wrap; margin-top:20px;
}
.philosophy-section.flat .wp-block-button__link{
border-radius:0; padding:14px 42px; font-weight:600;
border:2px solid #fff; text-decoration:none; box-shadow:none;
transition:transform .25s ease;
} .philosophy-section.flat .wp-block-button:not(.is-style-outline) .wp-block-button__link{
background:#cfab6e; color:#0d1526; border-color:#cfab6e;
}
.philosophy-section.flat .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{
background:transparent; color:#fff; border-color:#fff; transform:translateY(-2px);
} .philosophy-section.flat .wp-block-button.is-style-outline .wp-block-button__link{
background:transparent; color:#fff; border-color:#fff;
}
.philosophy-section.flat .wp-block-button.is-style-outline .wp-block-button__link:hover{
background:#fff; color:#0d1526; transform:translateY(-2px);
} .philosophy-section.flat .action-buttons a,
.philosophy-section.flat p > a[href]:not(.wp-block-button__link){
display:inline-block; padding:14px 42px; border:2px solid #fff; border-radius:0;
text-decoration:none; font-weight:600; margin:10px 10px 0;
} .philosophy-section.flat p > a[href]:not(.wp-block-button__link):first-child{
background:#cfab6e; color:#0d1526; border-color:#cfab6e;
}
.philosophy-section.flat p > a[href]:not(.wp-block-button__link):first-child:hover{
background:transparent; color:#fff; border-color:#fff; transform:translateY(-2px);
}
.philosophy-section.flat p > a[href]:not(.wp-block-button__link):not(:first-child){
background:transparent; color:#fff;
}
.philosophy-section.flat p > a[href]:not(.wp-block-button__link):not(:first-child):hover{
background:#fff; color:#0d1526; transform:translateY(-2px);
} .philosophy-section.flat{
background:#0d1526 !important;
padding:60px 0 80px !important;
box-shadow:0 -6px 12px rgba(0,0,0,.15);
}
@media (max-width:768px){
.philosophy-section.flat{ padding:40px 0 60px !important; }
.philosophy-section.flat .wp-block-button__link{ padding:12px 30px; font-size:.9rem; }
}  .philosophy-section.flat,
.philosophy-section.flat > * {
background: transparent !important;
border: none !important;
box-shadow: none !important;
} .philosophy-section.flat .c-secTitle,
.philosophy-section.flat .c-secTitle__main,
.philosophy-section.flat .p-sectionHeadline,
.philosophy-section.flat .swell-block-heading,
.philosophy-section.flat .swell-block-section .c-sectionTitle,
.philosophy-section.flat .wp-block-heading,
.philosophy-section.flat h1,
.philosophy-section.flat h2,
.philosophy-section.flat h3 {
background: transparent !important;
border: none !important;
box-shadow: none !important;
outline: none !important;
position: relative;
padding: 0 !important;
margin: 8px 0 16px !important;
} .philosophy-section.flat .c-secTitle::before,
.philosophy-section.flat .c-secTitle::after,
.philosophy-section.flat .c-secTitle__main::before,
.philosophy-section.flat .c-secTitle__main::after,
.philosophy-section.flat .p-sectionHeadline::before,
.philosophy-section.flat .p-sectionHeadline::after,
.philosophy-section.flat .swell-block-heading::before,
.philosophy-section.flat .swell-block-heading::after,
.philosophy-section.flat .wp-block-heading::before,
.philosophy-section.flat .wp-block-heading::after {
content: none !important;
display: none !important;
} .philosophy-section.flat hr,
.philosophy-section.flat .wp-block-separator {
display: none !important;
height: 0 !important;
border: 0 !important;
background: transparent !important;
} .philosophy-section.flat .wp-block-heading,
.philosophy-section.flat .section-title,
.philosophy-section.flat h2 {
color: #fff !important;
font-weight: 800 !important;
text-align: center !important;
text-shadow: 0 2px 6px rgba(0,0,0,0.3);
font-size: clamp(1.8rem, 2.8vw, 2.4rem) !important;
line-height: 1.35 !important;
} .philosophy-section.flat .wp-block-buttons { 
display:flex; justify-content:center; gap:20px; flex-wrap:wrap; margin-top:20px;
}
.philosophy-section.flat .wp-block-button__link{
border-radius:0; padding:14px 42px; font-weight:600; border:2px solid #fff;
transition:transform .25s ease; text-decoration:none; box-shadow:none;
}
.philosophy-section.flat .wp-block-button:not(.is-style-outline) .wp-block-button__link{
background:#cfab6e; color:#0d1526; border-color:#cfab6e;
}
.philosophy-section.flat .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{
background:transparent; color:#fff; border-color:#fff; transform:translateY(-2px);
}
.philosophy-section.flat .wp-block-button.is-style-outline .wp-block-button__link{
background:transparent; color:#fff; border-color:#fff;
}
.philosophy-section.flat .wp-block-button.is-style-outline .wp-block-button__link:hover{
background:#fff; color:#0d1526; transform:translateY(-2px);
} .philosophy-section.flat{
background:#0d1526 !important;
padding:60px 0 80px !important;
box-shadow:0 -6px 12px rgba(0,0,0,.15);
}
@media (max-width:768px){
.philosophy-section.flat{ padding:40px 0 60px !important; }
.philosophy-section.flat .wp-block-button__link{ padding:12px 30px; font-size:.9rem; }
}.service-cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 40px; max-width: 1100px;
margin: 2em auto 0; padding: 0 20px;
}
.service-card {
background: #fff; border-radius: 12px;
padding: 50px 30px 60px;
box-shadow: 0 4px 20px rgba(0,0,0,0.05);
transition: 0.35s; text-align: center;
}
.service-card:hover {
transform: translateY(-10px);
border-top: 4px solid #cfab6e;
box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}
.service-card .icon { font-size: 2.8rem; color: #cfab6e; }
.service-card .service-title { font-size: 1.3rem; font-weight: 700; color: #0d1526; margin-bottom: 12px; }
.service-card .btn-detail {
display: inline-block; padding: 10px 28px;
border: 1px solid #0d1526; color: #0d1526;
transition: 0.3s;
}
.service-card .btn-detail:hover {
background: #cfab6e; color: #fff; border-color: #cfab6e;
}.recruit-section.gifted-recruit-split {
position: relative;
width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
overflow: hidden;
display: flex;
align-items: stretch;
background: linear-gradient(110deg, #d9d9d9 0%, #d9d9d9 50%, #0d1526 50%, #0d1526 100%);
min-height: 600px;
} .recruit-section.gifted-recruit-split::after {
content: "";
position: absolute;
top: 0;
left: 50%;
width: 1px;
height: 100%;
background: #0d1526;
transform: translateX(-0.5px);
z-index: 1;
} .recruit-inner {
display: flex;
width: 100%;
position: relative;
z-index: 2;
} .recruit-left {
flex: 0 0 50%;
padding: 100px 7vw;
display: flex;
flex-direction: column;
justify-content: center;
color: #0d1526;
} .recruit-heading {
font-family: "Noto Serif JP", serif;
font-size: clamp(2rem, 2.8vw, 2.4rem);
font-weight: 700;
color: #0d1526;
margin-bottom: 1.5em;
line-height: 1.4;
position: relative;
}
.recruit-heading::after {
content: "";
position: absolute;
bottom: -8px;
left: 0;
width: 100px;
height: 3px;
background: linear-gradient(90deg, #cfab6e, #e0bb7e);
} .recruit-copy {
color: #333;
font-size: 1rem;
line-height: 1.9;
margin-bottom: 3em;
max-width: 520px;
} .recruit-buttons {
display: flex;
flex-wrap: wrap;
gap: 20px;
}
.recruit-section .btn {
position: relative;
display: inline-block;
overflow: hidden;
min-width: 240px;
height: 54px;
line-height: 54px;
text-align: center;
font-weight: 600;
font-size: 1rem;
border-radius: 0;
border: 2px solid #0d1526;
color: #0d1526;
text-decoration: none;
transition: all 0.4s ease;
z-index: 1;
}
.recruit-section .btn::before {
content: "";
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, #cfab6e, #e0bb7e);
transition: left 0.4s ease;
z-index: 0;
}
.recruit-section .btn:hover::before {
left: 0;
}
.recruit-section .btn span {
position: relative;
z-index: 1;
}
.recruit-section .btn:hover {
color: #fff;
border-color: #cfab6e;
} .recruit-right {
flex: 0 0 50%;
position: relative;
overflow: hidden;
background: #0d1526;
clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%);
}
.recruit-right::before {
content: "";
position: absolute;
inset: 0;
background: rgba(13, 21, 38, 0.25);
z-index: 1;
}
.recruit-image {
width: 100%;
height: 100%;
}
.recruit-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 5s ease;
}
.recruit-right:hover img {
transform: scale(1.05);
} @media (max-width: 900px) {
.recruit-section.gifted-recruit-split {
background: #f5f5f5;
flex-direction: column;
}
.recruit-right {
clip-path: none;
height: 300px;
}
.recruit-heading {
text-align: center;
}
.recruit-heading::after {
left: 50%;
transform: translateX(-50%);
}
.recruit-buttons {
justify-content: center;
}
}