#mvPc, #mvSp, #umekita-hero-open {
display: none !important;
} #mic-hero-section {
width: 100%;
background-color: #fff;
font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
overflow: hidden;
box-sizing: border-box;
position: relative; padding: 30px 0; 
}
.mic-hero-inner {
width: 100%;
max-width: 100%; 
margin: 0 auto;
display: flex;
flex-wrap: wrap;
align-items: center; 
justify-content: space-between;
} .mic-text-area {
width: 100%;
padding: 60px 20px;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center; 
position: relative;
z-index: 20; 
} .mic-text-bg-circle {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 300px;
height: 300px;
background-color: #DEF5DC;
opacity: 0.3; 
filter: blur(40px); 
border-radius: 50%;
z-index: -1;
} .mic-center-group {
display: flex;
flex-direction: column;
align-items: center; 
width: 100%;
max-width: 640px;
margin: 0 auto;
text-align: center;
} .mic-info-container {
display: flex;
flex-direction: row; 
align-items: center; 
justify-content: center;
gap: 15px; 
margin-bottom: 30px; 
width: 100%;
} .mic-balloon-wrapper {
position: relative;
width: 110px; 
flex-shrink: 0; 
border-radius: 0 !important;
overflow: visible !important;
}
.mic-balloon-bg {
width: 100%;
height: auto;
display: block;
filter: none;
border-radius: 0 !important;
}
.mic-balloon-text {
position: absolute;
top: 54%; 
left: 50%;
transform: translate(-50%, -50%);
width: 100%;
text-align: center;
color: #fff;
font-weight: 500;
font-size: 13px; 
line-height: 1.5;
white-space: nowrap;
} .mic-facility-info {
color: #1D2A89; 
font-weight: 700;
font-size: 30px;
line-height: 1.4;
letter-spacing: 0.05em;
font-feature-settings: "palt";
white-space: nowrap;
text-align: left;
margin: 0;
}
.mic-addr-1, .mic-addr-2 {
display: inline;
}
.mic-addr-3 {
display: block;
} .mic-logo-wrapper {
margin-bottom: 40px;
width: 100%;
max-width: 360px; 
}
.mic-text-logo-container {
display: flex;
flex-direction: column;
width: 100%;
color: #333;
}
.mic-logo-ja-line {
font-family: "Yu Mincho Medium", "YuMincho", "Hiragino Mincho ProN", serif;
font-weight: 700; 
font-size: 32px; 
line-height: 1.3;
display: block;
width: 100%;
text-align: justify;
text-align-last: justify;
-webkit-text-stroke: 0.5px #333;
text-stroke: 0.5px #333;
letter-spacing: -0.02em;
} .mic-catch-copy-container {
display: grid;
grid-template-areas: "stack"; 
width: 100%;
position: relative;
}
.mic-catch-copy {
grid-area: stack; 
font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
font-size: 15px; 
line-height: 1.8;
letter-spacing: 0.05em;
color: #000;
font-weight: 500;
margin-bottom: 0;
width: 100%;
text-align: left;
white-space: normal;
overflow-wrap: break-word;
opacity: 0;
transition: opacity 1.0s ease-in-out; 
z-index: 0;
pointer-events: none; 
align-self: start;
}
.mic-catch-copy.is-active {
opacity: 1;
z-index: 1;
pointer-events: auto;
}
.text-chunk {
display: inline-block;
}
.mic-pc-br { display: none; }
.mic-sp-br { display: inline; } .mic-visual-area {
width: 100%;
position: relative;
display: grid;
grid-template-areas: "slide"; 
aspect-ratio: 3 / 2;
z-index: 1;
overflow: hidden;
touch-action: pan-y;
user-select: none;
-webkit-user-select: none;
}
.mic-slide-item {
grid-area: slide; 
width: 100%;
height: 100%;
opacity: 0;
transition: opacity 1.0s ease-in-out;
z-index: 0;
pointer-events: none;
}
.mic-slide-item.is-active {
opacity: 1;
z-index: 1;
}
.mic-slide-item img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
border-radius: 0;
} .mic-slide-indicators {
position: absolute;
bottom: 20px;
right: 20px;
z-index: 10;
display: flex;
gap: 10px;
align-items: center; 
}
.mic-indicator-line {
width: 30px;
height: 3px;
background-color: rgba(255, 255, 255, 0.5);
position: relative;
overflow: hidden;
border-radius: 2px;
cursor: pointer;
pointer-events: auto;
transition: height 0.2s;
}
.mic-indicator-line::after {
content: '';
position: absolute;
top: -10px; bottom: -10px;
left: 0; right: 0;
background: transparent;
}
.mic-indicator-progress {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 0%;
background-color: #4fa794;
}
.mic-indicator-line.is-active .mic-indicator-progress {
animation: progressFill 10s linear forwards;
}
.mic-visual-area.is-paused .mic-indicator-progress {
animation-play-state: paused;
}
@keyframes progressFill {
0% { width: 0%; }
100% { width: 100%; }
} .mic-pause-btn {
background: transparent;
border: none;
cursor: pointer;
padding: 0;
margin-left: 5px;
width: 14px;
height: 14px;
position: relative;
opacity: 0.8;
transition: opacity 0.3s;
outline: none;
}
.mic-pause-btn:hover {
opacity: 1;
} .mic-pause-btn::before, .mic-pause-btn::after {
content: '';
display: block;
width: 3px;
height: 12px;
background-color: #fff;
position: absolute;
top: 50%;
transform: translateY(-50%);
transition: all 0.2s;
border-radius: 1px;
}
.mic-pause-btn::before { left: 3px; }
.mic-pause-btn::after { right: 3px; } .mic-pause-btn.is-paused::before {
height: 0;
width: 0;
border-top: 6px solid transparent;
border-bottom: 6px solid transparent;
border-left: 11px solid #fff;
background-color: transparent;
left: 3px;
border-radius: 0;
}
.mic-pause-btn.is-paused::after {
opacity: 0;
} .mic-slide-arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 50px;
height: 50px; background: rgba(255, 255, 255, 0.2);
border: 1px solid rgba(255, 255, 255, 0.4);
border-radius: 50%;
cursor: pointer;
z-index: 15;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.3s, opacity 0.3s;
backdrop-filter: blur(4px);
padding: 0;
outline: none; box-shadow: none;
opacity: 1;
}
.mic-slide-arrow:hover {
background: rgba(255, 255, 255, 0.5);
}
.mic-slide-arrow::before {
content: '';
display: block;
width: 12px;
height: 12px;
border-top: 3px solid #fff;
border-right: 3px solid #fff; position: static; 
box-sizing: border-box;
margin: 0;
} .mic-slide-prev {
left: 15px;
}
.mic-slide-prev::before {
transform: rotate(-135deg);
margin-left: 4px; } .mic-slide-next {
right: 15px;
}
.mic-slide-next::before {
transform: rotate(45deg);
margin-right: 4px; } @media screen and (min-width: 960px) {
.mic-slide-arrow {
width: 60px;
height: 60px;
}
.mic-slide-arrow::before {
width: 14px;
height: 14px;
border-width: 3px;
}
.mic-slide-prev { left: 20px; }
.mic-slide-next { right: calc(2.5vw + 20px); }
} @media screen and (min-width: 960px) {
#mic-hero-section {
padding-top: 3.5vw;
padding-bottom: 3.5vw;
padding-right: 2.5vw;
padding-left: 0;
}
.mic-hero-inner {
flex-wrap: nowrap;
gap: 0;
width: 100%;
max-width: none; 
align-items: flex-start; 
}
.mic-pc-br { display: block; margin-top: 0.2em; }
.mic-sp-br { display: none; }
.mic-text-area {
width: 45%;
flex: 0 0 45%;
padding-left: 5vw; 
padding-right: 3vw;
padding-top: 0;
padding-bottom: 0; min-height: 36.666vw;
align-items: flex-start;
text-align: left;
}
.mic-center-group {
align-items: flex-start;
text-align: left;
max-width: none;
width: 100%;
}
.mic-text-bg-circle {
width: 35vw;
height: 35vw; 
left: 45%; 
filter: blur(3vw); 
}
.mic-info-container {
justify-content: flex-start;
gap: 1.5vw;
margin-bottom: 2vw;
}
.mic-balloon-wrapper {
width: 9vw; 
max-width: none;
}
.mic-balloon-text {
font-size: 1.7vw; 
line-height: 1.5;
top: 54%;
}
.mic-facility-info {
font-size: 2.28vw; 
line-height: 1.4;
white-space: nowrap;
}
.mic-addr-3 {
display: inline;
}
.mic-logo-wrapper {
width: 100%;
max-width: 34vw; 
margin-left: 0;        
margin-right: auto;
margin-bottom: 2.5vw;
}
.mic-logo-ja-line {
font-size: 3.5vw; 
letter-spacing: -0.05em;
-webkit-text-stroke: 0.04vw #333; 
text-stroke: 0.04vw #333;
}
.mic-catch-copy {
font-size: 1.4vw; 
line-height: 1.8;
width: 100%;
max-width: 34vw; 
text-align: left;
white-space: normal;
}
.mic-visual-area {
width: 55%; 
flex: 0 0 55%;
aspect-ratio: 3 / 2;
height: auto; 
min-width: 0;
padding-right: 2.5vw;
box-sizing: border-box;
overflow: hidden;
}
.mic-slide-item img {
border-radius: 0;
}
.mic-slide-indicators {
bottom: 2vw;
right: 5vw;
gap: 0.8vw;
}
.mic-indicator-line {
width: 2.5vw;
height: 0.3vw;
}
.mic-pause-btn {
width: 1.2vw;
height: 1.2vw;
margin-left: 0.5vw;
}
.mic-pause-btn::before, .mic-pause-btn::after {
width: 0.25vw;
height: 0.9vw;
}
.mic-pause-btn::before { left: 0.2vw; }
.mic-pause-btn::after { right: 0.2vw; }
.mic-pause-btn.is-paused::before {
border-top: 0.5vw solid transparent;
border-bottom: 0.5vw solid transparent;
border-left: 0.9vw solid #fff;
left: 0.25vw;
}
.mic-slide-arrow {
width: 60px;
height: 60px;
}
.mic-slide-arrow::before { width: 18px; height: 18px; border-top: 3px solid #FFFFFF; 
border-right: 3px solid #FFFFFF; border-width: 3px;
}
.mic-slide-prev { left: 15px; }
.mic-slide-next { right: calc(2.5vw + 15px); }
} @media screen and (max-width: 959px) {
#mic-hero-section {
padding-right: 0;
padding-top: 10px;
padding-bottom: 40px;
}
.mic-hero-inner {
max-width: 1400px;
flex-direction: column;
}
.mic-text-area {
width: 100%;
padding: 24px 4% 20px;
order: 1;
align-items: center; 
}
.mic-center-group {
align-items: center;
text-align: center;
width: 100%;
}
.mic-text-bg-circle {
width: 340px;
height: 340px;
left: 50%;
}
.mic-info-container {
margin-bottom: 3vw; 
max-width: 100%;
width: auto;
justify-content: center;
gap: 2.5vw; 
margin-left: auto;
margin-right: auto;
box-sizing: border-box;
}
.mic-balloon-wrapper {
width: 23vw;
max-width: 100px; 
}
.mic-balloon-text {
font-size: 3.5vw; 
line-height: 1.3;
width: 96%;
white-space: normal;
}
@media screen and (min-width: 500px) {
.mic-balloon-text { font-size: 14px; }
}
.mic-facility-info {
font-size: 5.6vw; 
font-weight: 700;
letter-spacing: 0.04em;
text-align: left;
white-space: nowrap;
}
@media screen and (min-width: 500px) {
.mic-facility-info { font-size: 24px; }
}
.mic-addr-1 {
display: inline;
width: auto;
margin-bottom: 0;
}
.mic-addr-2 {
display: inline;
margin-left: 0.3em;
}
.mic-addr-3 {
display: block;
margin-left: 0; 
margin-top: 2px;
}
.mic-logo-wrapper {
max-width: 92%;
margin: 1.5vw auto 3vw;
}
.mic-logo-ja-line {
font-size: 9vw; 
}
@media screen and (min-width: 500px) {
.mic-logo-ja-line { font-size: 40px; }
}
.mic-catch-copy {
font-size: 15px;
line-height: 1.6; 
text-align: left;
letter-spacing: 0.04em;
max-width: 340px;
margin: 0 auto;
}
.mic-catch-copy .text-chunk {
display: block;
margin-bottom: 0.2em; 
}
.mic-pc-br {
display: none;
}
.mic-visual-area {
width: 100%;
order: 2;
aspect-ratio: 3 / 2;
height: auto;
padding-right: 0 !important;
border-radius: 0 !important;
}
} @media screen and (min-width: 768px) and (max-width: 959px) {
.mic-info-container {
gap: 20px;
}
.mic-balloon-wrapper {
width: 100px;
}
.mic-balloon-text {
font-size: 15px !important;
}
.mic-facility-info {
font-size: 24px !important;
}
.mic-logo-ja-line {
font-size: 44px !important;
}
.mic-catch-copy {
font-size: 16px;
max-width: 420px;
}
.mic-text-area {
padding: 40px 20px 30px;
}
} html.translated-ltr .mic-catch-copy,
html.translated-rtl .mic-catch-copy,
html.translated-ltr .mic-balloon-text,
html.translated-rtl .mic-balloon-text,
html.translated-ltr .mic-logo-ja-line,
html.translated-rtl .mic-logo-ja-line {
word-break: normal !important;
overflow-wrap: break-word !important;
white-space: normal !important; 
}
html.translated-ltr .mic-facility-info,
html.translated-rtl .mic-facility-info {
font-size: 2.0vw !important;
line-height: 1.4 !important;
width: 100% !important;
white-space: normal !important;
word-break: normal !important;
overflow-wrap: break-word !important;
}
html.translated-ltr .mic-addr-1,
html.translated-rtl .mic-addr-1 {
display: block !important;
}
html.translated-ltr .mic-addr-2,
html.translated-rtl .mic-addr-2,
html.translated-ltr .mic-addr-3,
html.translated-rtl .mic-addr-3 {
display: inline !important;
}
html.translated-ltr .mic-facility-info br,
html.translated-rtl .mic-facility-info br {
display: none !important;
}
html.translated-ltr .mic-logo-ja-line,
html.translated-rtl .mic-logo-ja-line {
text-align: left !important;
text-align-last: auto !important;
letter-spacing: normal !important;
font-size: 3.5vw !important; 
font-weight: 700 !important;
-webkit-text-stroke: 0 !important;
height: auto !important;
width: auto !important;
}
html.translated-ltr .mic-balloon-text,
html.translated-rtl .mic-balloon-text {
font-size: 0.9vw !important; 
line-height: 1.2 !important;
top: 50% !important;
width: 90% !important;
}
@media screen and (max-width: 959px) {
html.translated-ltr .mic-logo-ja-line,
html.translated-rtl .mic-logo-ja-line {
text-align: center !important;
font-size: 28px !important;
}
html.translated-ltr .mic-facility-info,
html.translated-rtl .mic-facility-info {
font-size: 16px !important;
}
html.translated-ltr .mic-balloon-text,
html.translated-rtl .mic-balloon-text {
font-size: 11px !important;
}
} .mic-balloon-text {
position: absolute !important; top: 52% !important;  
left: 52% !important;
transform: translate(-50%, -50%) !important; width: max-content !important;
display: flex !important;
flex-direction: column;
align-items: stretch;
line-height: 1.3 !important;
} .mic-balloon-text span {
display: block !important;
font-weight: 700 !important;
font-size: 15px !important; 
white-space: nowrap !important; } .mic-line-year,
.mic-line-date {
text-align: justify !important;
text-align-last: justify !important;
width: 100% !important;
letter-spacing: 0.05em !important;
} .mic-line-status {
text-align: center !important;
text-align-last: center !important;
letter-spacing: 0.05em !important;
} html.translated-ltr .mic-balloon-text,
html.translated-rtl .mic-balloon-text { width: 90% !important;
max-width: 100px !important;
left: 50% !important; }
html.translated-ltr .mic-balloon-text span,
html.translated-rtl .mic-balloon-text span {
white-space: normal !important; 
word-break: break-word !important;
font-size: 10px !important; line-height: 1.1 !important;
text-align: center !important;
text-align-last: center !important;
letter-spacing: 0 !important;
} @media screen and (min-width: 960px) {
.mic-balloon-text span { font-size: 1.6vw !important; } html.translated-ltr .mic-balloon-text span { font-size: 1.1vw !important; }
}
@media screen and (max-width: 959px) {
.mic-balloon-text span { font-size: 4vw !important; }
.mic-balloon-wrapper { width: 26vw !important; max-width: 130px !important; } html.translated-ltr .mic-balloon-text span { font-size: 2.8vw !important; }
}  .mic-concept-section {
width: 100%;
background-color: #fff;
font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
color: #333; padding: 4.5vw 2vw; 
box-sizing: border-box;
}
.mic-concept-inner {
width: 90%;
max-width: none;
margin: 0 auto;
} .mic-concept-title {
color: #8D7B55;
font-weight: 700;
text-align: center;
line-height: 1.5;
margin-top: 0;
margin-bottom: 0; 
letter-spacing: 0.05em; font-size: 2.1vw; 
} .mic-concept-columns {
display: flex;
justify-content: space-between;
align-items: stretch; gap: 6vw;
width: 100%;
}
.mic-concept-col {
flex: 1;
width: 100%;
display: flex;
flex-direction: column;
} .mic-col-head {
color: #8D7B55;
font-weight: 700;
text-align: center;
padding-bottom: 0.8vw;       
margin-bottom: 1.0vw;      
border-bottom: 0.15vw solid #8D7B55;
letter-spacing: 0.05em; font-size: 1.8vw; display: flex;
align-items: flex-end; justify-content: center;
width: 100%;
box-sizing: border-box;
} .mic-col-text {
line-height: 1.5;
text-align: center;
font-weight: 500;
color: #000;
margin: 0;
white-space: nowrap; font-size: 1.15vw;
} .mic-ib {
display: inline-block;
} @media screen and (max-width: 959px) {
.mic-concept-section {
padding: 50px 20px;
}
.mic-concept-inner {
max-width: 100%;
width: 100%;
}
.mic-concept-title {
font-size: 25px; 
margin-bottom: 35px;
line-height: 1.6;
}
.mic-concept-columns {
flex-direction: column;
gap: 35px;
}
.mic-col-head {
font-size: 20px;
margin-bottom: 12px;
padding-bottom: 8px;
border-bottom-width: 2px;
display: block; 
min-height: auto !important; 
}
.mic-col-text {
font-size: 14px;
white-space: normal;
line-height: 1.6;
}
}  html.translated-ltr .mic-col-head,
html.translated-rtl .mic-col-head,
html.translated-ltr .mic-col-text,
html.translated-rtl .mic-col-text,
html.translated-ltr .mic-concept-title,
html.translated-rtl .mic-concept-title {
white-space: normal !important;
word-break: break-word !important;
word-wrap: break-word !important;
height: auto !important;
width: auto !important;
} html.translated-ltr .mic-concept-title,
html.translated-rtl .mic-concept-title { font-size: 2.0vw !important; 
line-height: 1.4 !important;
} html.translated-ltr .mic-col-head,
html.translated-rtl .mic-col-head { min-height: 4.0vw; 
align-items: flex-end !important; 
line-height: 1.2 !important;
} html.translated-ltr .mic-col-text,
html.translated-rtl .mic-col-text {
font-size: 14px !important;
} html.translated-ltr .mic-concept-section br,
html.translated-rtl .mic-concept-section br {
display: none !important;
}
html.translated-ltr .mic-ib,
html.translated-rtl .mic-ib {
display: inline !important;
} @media screen and (max-width: 959px) { html.translated-ltr .mic-concept-title,
html.translated-rtl .mic-concept-title {
font-size: 18px !important; 
}
html.translated-ltr .mic-col-head,
html.translated-rtl .mic-col-head {
min-height: auto !important;
display: block !important;
}
}  #uklp-director-section {
width: 100%; background: linear-gradient(to bottom, #ffffff 0%, #f4fcf8 30%, #f4fcf8 70%, #ffffff 100%);
font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
color: #333;
box-sizing: border-box;
padding: 80px 20px;
}
.director-inner {
width: 100%;
max-width: 1200px;
margin: 0 auto;
} .director-card {
background: #fff;
border-radius: 24px;
box-shadow: 0 12px 50px rgba(0,0,0,0.03);
padding: 70px;
display: flex;
flex-direction: column;
gap: 60px; } .director-profile-row {
display: flex;
flex-wrap: nowrap;
gap: 80px;
align-items: flex-start;
width: 100%;
border-bottom: 1px solid #f0f0f0; padding-bottom: 60px;
margin-bottom: 0;
} .director-left {
flex: 0 0 380px;
width: 380px;
display: flex;
flex-direction: column;
align-items: flex-start;
text-align: left;
}
.director-img-frame {
width: 100%;
aspect-ratio: 1 / 1; 
border-radius: 16px;
overflow: hidden;
margin-bottom: 24px;
box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.director-img-frame img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
object-position: center 20%; 
}
.director-position {
font-size: 15px;
color: #00b1ac;
font-weight: 700;
margin-bottom: 8px;
display: block;
}
.director-name {
font-size: 30px;
font-weight: 700;
line-height: 1.4;
color: #111;
margin: 0;
}
.director-name span {
font-size: 18px;
margin-right: 24px;
font-weight: 500;
} .director-right-message {
flex: 1;
margin-top: 6px; } .director-message-text p {
font-size: 16px;
font-weight: 500;
line-height: 2.0;
margin-bottom: 24px;
color: #333;
text-align: justify;
}
.director-message-text p:last-child {
margin-bottom: 0;
} .director-bottom-row {
display: grid; grid-template-columns: 1.4fr 1fr 1fr;
gap: 40px;
width: 100%;
align-items: flex-start;
} .director-sub-heading {
font-size: 20px;
font-weight: 700;
color: #333;
border-left: 6px solid #bcebd3;
padding-left: 14px;
line-height: 1.2; 
padding-top: 2px;
padding-bottom: 2px;
margin-bottom: 24px;
margin-top: 0;
} .director-col {
width: 100%;
} .director-bio-dl {
display: grid;
grid-template-columns: auto 1fr;
gap: 12px 20px;
margin: 0; 
}
.director-bio-dl dt {
font-weight: 700;
color: #00b1ac;
font-size: 16px; 
line-height: 1.6;
white-space: nowrap;
}
.director-bio-dl dd {
margin: 0;
font-size: 16px;
font-weight: 500;
line-height: 1.6;
color: #333;
} .director-simple-list {
list-style: none;
padding: 0;
margin: 0;
}
.director-simple-list li {
position: relative;
padding-left: 18px;
margin-bottom: 8px;
font-size: 16px;
font-weight: 500;
color: #333;
line-height: 1.6;
}
.director-simple-list li::before {
content: "";
position: absolute;
left: 0;
top: 9px;
width: 6px;
height: 6px;
background-color: #92d86c;
border-radius: 50%;
} @media screen and (min-width: 960px) { .director-message-text {
height: auto !important;
overflow: visible !important;
}
.director-readmore-btn {
display: none !important;
}
.director-message-text::after {
display: none !important;
}
} @media screen and (max-width: 959px) {
#uklp-director-section {
padding: 60px 20px;
}
.director-card {
padding: 40px 24px;
gap: 40px;
} .director-profile-row {
flex-direction: column;
gap: 40px;
align-items: center; 
padding-bottom: 40px;
border-bottom: 1px dashed #e0e0e0;
}
.director-left {
width: 100%;
flex: auto;
align-items: center;
text-align: center;
}
.director-img-frame {
width: 240px; 
border-radius: 50%;
margin-bottom: 20px;
}
.director-name { font-size: 24px; }
.director-position { font-size: 14px; }
.director-right-message {
width: 100%;
margin-top: 0;
} .director-bottom-row {
grid-template-columns: 1fr;
gap: 50px;
} .director-bio-dl {
gap: 8px 16px; 
}
.director-bio-dl dt,
.director-bio-dl dd,
.director-simple-list li {
font-size: 15px; 
} .director-message-text {
position: relative;
overflow: hidden;
transition: height 0.5s cubic-bezier(0.25, 1, 0.5, 1); height: 260px;
}
.director-message-text::after {
content: "";
position: absolute;
bottom: 0; left: 0; right: 0;
height: 100px;
background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
pointer-events: none;
transition: opacity 0.5s;
opacity: 1;
}
.director-message-text.is-open::after {
opacity: 0;
}
.director-message-text p {
font-size: 15px; 
line-height: 1.8;
text-align: left;
margin-bottom: 20px;
} .director-readmore-btn {
display: flex;
align-items: center;
justify-content: center;
margin: 20px auto 0;
padding: 12px 40px;
background: #f4fcf8;
border: 1px solid #bcebd3;
color: #00b1ac;
font-weight: 700;
border-radius: 30px;
cursor: pointer;
font-size: 14px;
transition: background 0.2s;
width: fit-content;
}
.director-readmore-btn:hover {
background: #eefcfb;
}
.director-readmore-btn::after {
content: "";
display: inline-block;
width: 6px;
height: 6px;
border-right: 2px solid #00b1ac;
border-bottom: 2px solid #00b1ac;
transform: rotate(45deg);
margin-left: 10px;
transition: transform 0.3s;
margin-top: -3px;
}
.director-readmore-btn.is-active::after {
transform: rotate(-135deg);
margin-top: 3px;
}
}  #uklp-medical-details { --font-base: "Noto Sans JP", sans-serif;
--c-text-main: #111111;
--c-text-sub: #444444;
--c-teal: #00b1ac;
--c-green: #71bf61;
--c-bg-body: #f4fcf8;
--c-bg-card: #ffffff;
--c-bg-accent: #eff8f0;
--c-border-green: #bcebd3; --grad-primary: linear-gradient(90deg, #50c4a9 0%, #92d86c 100%); font-family: var(--font-base);
color: var(--c-text-main);
width: 100%; max-width: 100vw;
overflow-x: hidden; background: linear-gradient(to bottom, #ffffff 0%, var(--c-bg-body) 5%, var(--c-bg-body) 95%, #ffffff 100%); font-size: 20px; 
line-height: 2.0;
font-feature-settings: "palt";
font-weight: 500;
overflow-wrap: break-word;
word-wrap: break-word;
}
#uklp-medical-details * { box-sizing: border-box; }
#uklp-medical-details img { width: 100%; height: auto; vertical-align: middle; object-fit: cover; box-shadow: none; border-radius: 16px; }
#uklp-medical-details a { text-decoration: none; color: inherit; transition: opacity 0.3s; }
#uklp-medical-details a:hover { opacity: 0.8; }
#uklp-medical-details ul { list-style: none; padding: 0; margin: 0; }
#uklp-medical-details h2, #uklp-medical-details h3, #uklp-medical-details h4, #uklp-medical-details p { margin: 0; padding: 0; } #uklp-medical-details .uklp-wrap { width: 100%; max-width: 1440px; margin: 0 auto; padding: 100px 40px; } #uklp-medical-details .title-main { 
font-size: 80px; 
font-weight: 500; 
width: fit-content;
margin: 0 auto 80px;
background: linear-gradient(90deg, #50B0AA 0%, #90D070 100%); 
-webkit-background-clip: text; 
-webkit-text-fill-color: transparent; 
display: block; 
text-align: center;
line-height: 1.2;
letter-spacing: 0.05em;
}
#uklp-medical-details .title-sec,
#uklp-medical-details .inbound-title,
#uklp-medical-details .nkt-main-title { 
font-size: 40px; 
font-weight: 800; 
margin-bottom: 30px; 
color: var(--c-text-main); 
line-height: 1.4; 
} #uklp-medical-details p, #uklp-medical-details li, #uklp-medical-details dd { 
font-size: 20px; 
line-height: 2.0; 
color: var(--c-text-sub);
} .pc-only { display: grid; }
.sp-only { display: none; } #uklp-medical-details .treatments-grid { 
display: grid; 
grid-template-columns: 1fr 1fr; 
gap: 60px; 
margin-bottom: 120px; 
align-items: stretch; 
}
#uklp-medical-details .card-item { 
display: flex; 
flex-direction: column; 
align-items: center; 
width: 100%; 
height: 100%; 
} #uklp-medical-details .capsule-badge { 
background: var(--grad-primary); color: #fff; 
font-size: 26px; 
font-weight: 700; 
padding: 20px 0; 
width: 280px;     
text-align: center; border-radius: 60px; 
margin-bottom: 30px; 
box-shadow: 0 6px 20px rgba(80, 196, 169, 0.3); 
line-height: 1;
}
#uklp-medical-details .card-text { 
margin-bottom: 30px; 
text-align: justify; 
width: 100%; 
flex-grow: 0;
}
#uklp-medical-details .card-image-wrap { width: 100%; margin-bottom: 30px; aspect-ratio: 16/9; overflow: hidden; border-radius: 16px; }
#uklp-medical-details .card-image-wrap img { width: 100%; height: 100%; object-fit: cover; }
#uklp-medical-details .menu-list { width: 100%; display: flex; flex-direction: column; gap: 20px; margin-top: auto; }
#uklp-medical-details .menu-link { 
background: #fff; border: 1px solid #eee; border-radius: 16px; 
padding: 30px; display: grid; grid-template-columns: 1fr auto; 
align-items: center; gap: 20px; 
box-shadow: 0 5px 15px rgba(0,0,0,0.03); 
transition: transform 0.2s, box-shadow 0.2s;
}
#uklp-medical-details .menu-link:hover { transform: translateY(-4px); box-shadow: 0 10px 25px rgba(0,0,0,0.08); opacity: 1; }
#uklp-medical-details .menu-title { font-size: 24px; font-weight: 800; color: var(--c-teal); display: block; margin-bottom: 6px; line-height: 1.2; }
#uklp-medical-details .menu-desc { font-size: 16px; color: #666; font-weight: 500; line-height: 1.4; }
#uklp-medical-details .icon-next { width: 50px; height: 50px; background: #eefcfb; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
#uklp-medical-details .icon-next::after { content: ""; width: 10px; height: 18px; background-image: url(https://umekitaclinic.org/wp-content/themes/umekita-clinic/assets/images/lp/ui/arrow/right02.svg); background-size: contain; background-repeat: no-repeat; filter: invert(32%) sepia(64%) saturate(493%) hue-rotate(124deg) brightness(93%) contrast(90%); } #uklp-medical-details .card-section { background: #fff; border-radius: 24px; padding: 70px; margin-bottom: 70px; box-shadow: 0 12px 50px rgba(0,0,0,0.03); }
#uklp-medical-details .grid-row { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
#uklp-medical-details .info-dl { margin-bottom: 28px; border-bottom: 1px solid #eee; padding-bottom: 28px; }
#uklp-medical-details .info-dl:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
#uklp-medical-details .info-dt { 
font-size: 24px; font-weight: 800; 
margin-bottom: 14px; 
display: flex; align-items: center; 
color: var(--c-text-main); 
}
#uklp-medical-details .info-dt::before { 
content: ""; display: inline-block; width: 16px; height: 16px; 
background: #bcebd3; border-radius: 50%; 
margin-right: 16px; flex-shrink: 0; 
}
#uklp-medical-details .info-dd { padding-left: 32px; font-size: 19px; } #uklp-medical-details .content-list li {
padding-left: 0.2em;
text-indent: -0.6em;
margin-left: 0.6em;
color: var(--c-text-main); 
} #uklp-medical-details .long-text-item {
letter-spacing: -0.04em;    
white-space: normal;       
overflow-wrap: break-word;  
word-break: normal;          
} #uklp-medical-details .nkt-top-area { display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; align-items: center; margin-bottom: 60px; }
#uklp-medical-details .nkt-sub { font-size: 20px; font-weight: 700; display: block; margin-bottom: 12px; color: #666; }
#uklp-medical-details .feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }
#uklp-medical-details .feature-box { background: var(--c-bg-accent); border-radius: 16px; display: flex; align-items: stretch; overflow: hidden; height: 100%; min-height: 100px; }
#uklp-medical-details .feature-num { 
background: #8ecf75; color: #fff; width: 80px; 
display: flex; flex-direction: column; align-items: center; justify-content: center; flex-shrink: 0; 
padding-right: 5px; 
}
#uklp-medical-details .feature-num .lbl { font-size: 15px; font-weight: 700; }
#uklp-medical-details .feature-num .val { font-size: 32px; font-weight: 900; line-height: 1; }
#uklp-medical-details .feature-desc { padding: 20px 24px; display: flex; align-items: center; font-weight: 700; font-size: 18px; width: 100%; line-height: 1.5; }
#uklp-medical-details .btn-nkt { 
display: flex; align-items: center; justify-content: center; 
width: fit-content; min-width: 360px; padding: 24px 48px; 
background: var(--grad-primary); color: #fff; 
font-size: 20px; font-weight: 700; border-radius: 60px; 
margin: 60px auto 0; 
box-shadow: 0 8px 24px rgba(0,0,0,0.15); 
text-align: center; 
}
#uklp-medical-details .btn-nkt::after { content: ""; display: block; width: 12px; height: 18px; margin-left: 20px; flex-shrink: 0; background-image: url(https://umekitaclinic.org/wp-content/themes/umekita-clinic/assets/images/lp/ui/arrow/right01.svg); background-size: contain; background-repeat: no-repeat; filter: brightness(0) invert(1); } #uklp-medical-details .aging-ips-section { margin-top: 100px; }
#uklp-medical-details .aging-row { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; margin-bottom: 100px; }
#uklp-medical-details .ips-row { 
display: grid; grid-template-columns: 1fr 1fr; gap: 80px; 
align-items: center; 
margin-bottom: 0;
}
#uklp-medical-details .aging-content h4 { font-size: 30px; font-weight: 800; margin-bottom: 24px; display: flex; align-items: center; line-height: 1.4; }
#uklp-medical-details .aging-content h4::before { content: ""; width: 10px; height: 36px; background: var(--c-teal); margin-right: 20px; border-radius: 5px; flex-shrink: 0; }
#uklp-medical-details .ipeace-link { 
display: inline-block; margin-top: 20px; margin-bottom: 0;
color: var(--c-teal); font-weight: 700; font-size: 18px; line-height: 1.4;
border-bottom: none; 
}
#uklp-medical-details .external-icon { display: inline-block; width: 0.9em; height: 0.9em; vertical-align: middle; margin-left: 5px; background: url(https://umekitaclinic.org/wp-content/themes/umekita-clinic/assets/images/lp/ui/icon/external.svg) no-repeat center/contain; } #uklp-medical-details .beauty-head { 
display: flex; align-items: center;
margin: 50px 0 40px; 
}
#uklp-medical-details .pill-marker { width: 18px; height: 48px; background: #99d6a3; border-radius: 9px; margin-right: 24px; flex-shrink: 0; }
#uklp-medical-details .beauty-title { 
font-size: 34px; font-weight: 800; 
line-height: 1; 
margin-top: 4px;
}
#uklp-medical-details .beauty-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
#uklp-medical-details .beauty-btn { 
background: var(--c-bg-accent); color: #111; font-weight: 700; 
padding: 20px; border-radius: 100px; font-size: 19px; 
display: flex; align-items: center; justify-content: center; text-align: center; 
width: 100%; height: 100%; min-height: 80px; flex-direction: column; line-height: 1.2;
}
#uklp-medical-details .beauty-btn .main-text { font-size: 1em; display: block; }
#uklp-medical-details .beauty-btn .sub-text { font-size: 0.8em; display: block; font-weight: 500; margin-top: 5px; opacity: 0.8; } #uklp-medical-details .inbound-row { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; border-bottom: 2px solid #f5f5f5; padding-bottom: 70px; margin-bottom: 70px; align-items: center; }
#uklp-medical-details .inbound-row:last-child { border: none; padding-bottom: 0; margin-bottom: 0; } #uklp-medical-details .special-slider-area { width: 100%; position: relative; border-radius: 16px; overflow: hidden; } #uklp-medical-details .splide__arrow { 
background: transparent !important; width: 60px; height: 60px; 
opacity: 0.8; 
transition: opacity 0.3s;
}
#uklp-medical-details .splide__arrow:hover { opacity: 1; }
#uklp-medical-details .splide__arrow svg { display: none; }
#uklp-medical-details .splide__arrow--prev {
left: 10px;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.9)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'%3E%3C/polyline%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: center;
background-size: 40px;
}
#uklp-medical-details .splide__arrow--next {
right: 10px;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.9)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: center;
background-size: 40px;
} @media screen and (min-width: 701px) and (max-width: 1366px) { #uklp-medical-details { font-size: 16px; } #uklp-medical-details .uklp-wrap { padding: 60px 24px; max-width: 1000px; }  #uklp-medical-details .title-main { font-size: 50px; margin-bottom: 50px; }
#uklp-medical-details .title-sec, 
#uklp-medical-details .inbound-title, 
#uklp-medical-details .nkt-main-title { font-size: 26px; margin-bottom: 20px; } #uklp-medical-details p, 
#uklp-medical-details li, 
#uklp-medical-details dd { font-size: 15px; line-height: 1.8; } #uklp-medical-details .treatments-grid { gap: 30px; margin-bottom: 80px; }
#uklp-medical-details .card-section { padding: 40px 30px; margin-bottom: 50px; border-radius: 16px; }
#uklp-medical-details .grid-row { gap: 30px; } #uklp-medical-details .capsule-badge { font-size: 20px; padding: 15px 0; width: 220px; margin-bottom: 20px; } #uklp-medical-details .menu-link { padding: 20px; gap: 12px; }
#uklp-medical-details .menu-title { font-size: 18px; }
#uklp-medical-details .menu-desc { font-size: 13px; }
#uklp-medical-details .icon-next { width: 36px; height: 36px; } #uklp-medical-details .info-dt { font-size: 18px; margin-bottom: 8px; }
#uklp-medical-details .info-dd { font-size: 15px; padding-left: 20px; }
#uklp-medical-details .info-dl { margin-bottom: 15px; padding-bottom: 15px; } #uklp-medical-details .nkt-top-area { gap: 30px; margin-bottom: 40px; }
#uklp-medical-details .nkt-sub { font-size: 15px; }
#uklp-medical-details .feature-grid { gap: 12px; }
#uklp-medical-details .feature-desc { font-size: 14px; padding: 12px; }
#uklp-medical-details .feature-num { width: 50px; }
#uklp-medical-details .feature-num .val { font-size: 20px; }
#uklp-medical-details .btn-nkt { min-width: 260px; padding: 16px 24px; font-size: 18px; margin-top: 40px; } #uklp-medical-details .aging-ips-section { margin-top: 50px; }
#uklp-medical-details .aging-row, 
#uklp-medical-details .ips-row { gap: 30px; margin-bottom: 50px; }
#uklp-medical-details .aging-content h4 { font-size: 20px; margin-bottom: 12px; }
#uklp-medical-details .aging-content h4::before { height: 24px; margin-right: 12px; } #uklp-medical-details .beauty-head { margin: 30px 0 20px; }
#uklp-medical-details .beauty-title { font-size: 24px; }
#uklp-medical-details .beauty-list { gap: 12px; }
#uklp-medical-details .beauty-btn { font-size: 15px; padding: 12px; min-height: 60px; } #uklp-medical-details .inbound-row { gap: 30px; padding-bottom: 30px; margin-bottom: 30px; }
} @media screen and (max-width: 700px) {
.pc-only { display: none !important; }
.sp-only { display: flex !important; flex-direction: column; gap: 50px; } #uklp-medical-details { font-size: 16px; font-weight: 500; }
#uklp-medical-details .uklp-wrap { padding: 50px 20px; }
#uklp-medical-details .card-section { padding: 36px 24px; border-radius: 20px; margin-bottom: 40px; } #uklp-medical-details p, 
#uklp-medical-details li, 
#uklp-medical-details dd,
#uklp-medical-details .sp-card p,
#uklp-medical-details .info-dd { 
font-size: 16px !important; 
line-height: 1.8 !important; 
color: var(--c-text-sub) !important;
} #uklp-medical-details .treatments-grid,
#uklp-medical-details .grid-row,
#uklp-medical-details .nkt-top-area,
#uklp-medical-details .feature-grid,
#uklp-medical-details .inbound-row,
#uklp-medical-details .aging-row,
#uklp-medical-details .ips-row {
grid-template-columns: 1fr; gap: 30px; display: flex; flex-direction: column;
} #uklp-medical-details .beauty-list { grid-template-columns: 1fr 1fr; gap: 12px; } #uklp-medical-details .grid-row picture,
#uklp-medical-details .inbound-row picture,
#uklp-medical-details .nkt-top-area picture,
#uklp-medical-details .aging-img-wrap,
#uklp-medical-details .ips-img-wrap {
order: -1; width: 100%; margin-bottom: 12px;
} #uklp-medical-details .title-main { font-size: 42px; margin-bottom: 40px; }
#uklp-medical-details .title-sec, 
#uklp-medical-details .inbound-title,
#uklp-medical-details .nkt-main-title,
#uklp-medical-details .aging-content h4,
#uklp-medical-details .beauty-title { 
font-size: 26px; 
font-weight: 800; 
margin-bottom: 20px; 
} #uklp-medical-details .capsule-badge { 
width: auto; display: inline-block; padding: 16px 44px; 
font-size: 22px; 
min-height: auto; margin: 0 auto 24px;
box-shadow: 0 4px 12px rgba(80, 196, 169, 0.2);
} #uklp-medical-details .beauty-head {
margin: 40px 0 24px;
align-items: center; }
#uklp-medical-details .pill-marker {
height: 36px; width: 12px;
margin-right: 16px;
border-radius: 6px;
}
#uklp-medical-details .beauty-title {
font-size: 26px;
margin-top: 2px; }
#uklp-medical-details #cells .nkt-header { display: flex; flex-direction: column-reverse; gap: 20px; } #uklp-medical-details .beauty-btn { min-height: 64px; padding: 10px; font-size: 15px; border-radius: 30px; }
#uklp-medical-details .btn-nkt { min-width: 90%; padding: 18px; font-size: 17px; margin-top: 36px; }
#uklp-medical-details .info-dt { font-size: 20px; margin-bottom: 10px; }
#uklp-medical-details .info-dt::before { width: 14px; height: 14px; margin-right: 12px; }
#uklp-medical-details .info-dd { padding-left: 26px; } #uklp-medical-details .sp-container { text-align: center; }
#uklp-medical-details .sp-desc { text-align: justify; margin-bottom: 24px; display: inline-block; text-align-last: left; }
#uklp-medical-details .sp-card {
background: #fff; border-radius: 16px; padding: 28px 24px;
box-shadow: 0 4px 15px rgba(0,0,0,0.05);
text-align: left; border: 1px solid #f0f0f0;
}
#uklp-medical-details .sp-card h3 {
font-size: 20px; font-weight: 800; margin-bottom: 14px; display: inline-block;
border-bottom: 2px solid var(--c-border-green); padding-bottom: 8px; width: 100%;
color: var(--c-text-main);
}
#uklp-medical-details .sp-card p { margin-bottom: 24px; }
#uklp-medical-details .sp-card-btn {
background: #f4fcf8; border: 1px solid #e0e0e0; border-radius: 10px; padding: 14px 18px;
font-weight: 700; font-size: 15px; color: var(--c-teal);
display: flex; flex-direction: row; align-items: center; justify-content: space-between;
width: 100%; min-height: 54px; text-align: left;
}
#uklp-medical-details .sp-card-btn::after {
content: ""; width: 8px; height: 8px;
border-right: 2px solid var(--c-teal); border-bottom: 2px solid var(--c-teal);
transform: rotate(-45deg); margin-left: 10px;
}
#uklp-medical-details .sp-btn-grid {
display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
#uklp-medical-details .sp-btn-grid .sp-card-btn { justify-content: center; text-align: center; }
#uklp-medical-details .sp-btn-grid .sp-card-btn::after { display: none; } #uklp-medical-details .long-text-item {
white-space: normal;
font-size: 16px !important;
letter-spacing: normal;
}
}  #lab-section {
width: 100%; max-width: 100vw; 
overflow-x: hidden; 
background-color: #fff;
font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
color: #333;
box-sizing: border-box;
padding-top: 0;
padding-left: 0;
padding-right: 0;
overflow-wrap: normal; 
word-wrap: normal;
word-break: normal;
} @media screen and (min-width: 960px) {
#lab-section {
padding-bottom: 100px;
}
.lab-inner {
width: 1200px;
margin: 0 auto;
max-width: 95%; 
} .lab-main-title {
text-align: left;
margin-bottom: 40px;
}
.lab-sub-text {
display: block;
color: #45c1d6;
font-weight: 700;
font-size: 24px;
margin-bottom: 10px;
letter-spacing: 0.02em;
}
.lab-title-part {
display: inline;
margin-right: 0.5em;
}
.lab-main-text {
display: block;
color: #45c1d6;
font-weight: 700;
font-size: 52px;
line-height: 1.2;
letter-spacing: 0.02em;
}
.lab-intro-text {
font-weight: 500;
font-size: 19px;
line-height: 1.8;
margin-bottom: 60px;
max-width: 100%;
} .lab-cards-container {
display: flex;
justify-content: space-between;
align-items: stretch;
width: 100%;
margin-bottom: 70px;
gap: 30px;
}
.lab-card {
flex: 1;
width: 0;
background: #fff;
border-radius: 24px;
overflow: hidden;
display: flex;
flex-direction: column;
position: relative;
z-index: 1;
} .lab-card-left { border: 3px solid #43bed0; }
.lab-header-left {
background-color: #43bed0;
color: #fff;
font-weight: 700;
text-align: center;
padding: 18px 0;
font-size: 24px;
letter-spacing: 0.05em;
} .lab-card-right { border: 3px solid #4A90E2; }
.lab-header-right {
background-color: #4A90E2;
color: #fff;
font-weight: 700;
text-align: center;
padding: 18px 0;
font-size: 24px;
letter-spacing: 0.05em;
}
.lab-card-body {
padding: 30px 35px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start; 
height: 100%; 
} .lab-diagram-distance {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
height: 160px; 
margin-top: 0;
margin-bottom: 25px;
}
.lab-circle {
width: 130px;
height: 130px;
border-radius: 50%;
border: 3px solid #43bed0;
color: #43bed0;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
background: #fff;
flex-shrink: 0;
text-align: center;
font-size: 22px;
line-height: 1.2;
box-sizing: border-box;
padding: 5px 10px;
word-break: normal; 
overflow-wrap: normal;
}
.lab-distance-line {
flex-grow: 1;
text-align: center;
position: relative;
margin: 0 20px;
}
.lab-distance-text {
display: block;
color: #43bed0;
font-size: 16px;
font-weight: 700;
margin-bottom: 8px;
}
.lab-dashed-border {
width: 100%;
border-top: 2px dashed #43bed0;
height: 1px;
}
.lab-diagram-solution {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
height: 160px;
margin-top: 0;
margin-bottom: 25px;
flex-grow: 0; 
}
.lab-oval {
background: linear-gradient(180deg, #E0F2F1 0%, #E3F2FD 100%);
border-radius: 70px;
padding: 30px 20px;
text-align: center;
width: 90%;
box-sizing: border-box;
}
.lab-oval-sub {
color: #1D2A89;
font-weight: 700;
font-size: 17px; 
line-height: 1.6;
display: block;
margin-bottom: 0.5em;
}
.lab-oval-main {
color: #1D2A89;
font-weight: 700;
font-size: 26px;
display: block;
} .lab-list {
list-style: none;
padding: 0;
margin: 0;
width: 100%;
}
.lab-list li {
font-size: 19px;
font-weight: 500;
margin-bottom: 0.5em;
padding-left: 1em;
position: relative;
line-height: 1.5;
text-align: left;
}
.lab-list li::before {
content: "●";
position: absolute;
left: 0;
color: #000;
font-size: 0.8em;
top: 0.1em;
}
.lab-solution-desc {
font-size: 19px;
font-weight: 500;
text-align: center;
line-height: 1.6;
margin-top: 45px;
}
.lab-arrow-center {
width: 0;
height: 0;
border-top: 24px solid transparent;
border-bottom: 24px solid transparent;
border-left: 36px solid #1D2A89;
flex-shrink: 0;
align-self: center; 
margin-top: 0;
} .lab-concept-title {
color: #45c1d6;
font-size: 28px;
font-weight: 700;
margin-bottom: 20px;
}
.lab-concept-text {
font-size: 19px;
line-height: 1.8;
margin-bottom: 60px;
font-weight: 500;
text-align: justify;
} .lab-btn-wrapper { text-align: center; }
.lab-btn {
display: inline-block;
width: 380px;
padding: 22px 0;
border-radius: 50px;
background: linear-gradient(90deg, #3EB8C8 0%, #4A90E2 100%);
color: #fff;
font-size: 22px;
font-weight: 700;
text-decoration: none;
position: relative;
transition: opacity 0.3s;
box-shadow: 0 4px 12px rgba(66, 165, 245, 0.3);
}
.lab-btn:hover { opacity: 0.9; }
.lab-btn::after {
content: "";
display: block;
width: 12px;
height: 12px;
border-top: 3px solid #fff;
border-right: 3px solid #fff;
transform: rotate(45deg);
position: absolute;
top: 50%;
right: 40px;
margin-top: -7px;
}
} @media screen and (min-width: 960px) and (max-width: 1366px) {
#lab-section { padding-bottom: 60px; } .lab-inner { width: 90%; max-width: 1000px; } .lab-main-title { margin-bottom: 30px; }
.lab-main-text { font-size: 36px; } 
.lab-sub-text { font-size: 18px; } .lab-intro-text, .lab-list li, .lab-solution-desc, .lab-concept-text {
font-size: 15px;
line-height: 1.7;
}
.lab-intro-text { margin-bottom: 40px; }
.lab-concept-text { margin-bottom: 40px; } .lab-cards-container { gap: 20px; margin-bottom: 40px; }
.lab-card { border-radius: 16px; }
.lab-header-left, .lab-header-right { font-size: 18px; padding: 12px 0; }
.lab-card-body { padding: 20px 15px; } .lab-diagram-distance, .lab-diagram-solution { height: 120px; margin-bottom: 20px; }
.lab-circle { width: 90px; height: 90px; font-size: 16px; border-width: 2px; }
.lab-distance-text { font-size: 14px; margin-bottom: 4px; }
.lab-oval { padding: 20px 10px; border-radius: 50px; }
.lab-oval-main { font-size: 20px; }
.lab-oval-sub { font-size: 14px; }
.lab-solution-desc { margin-top: 25px; } .lab-arrow-center {
border-top-width: 18px;
border-bottom-width: 18px;
border-left-width: 28px;
} .lab-concept-title { font-size: 22px; margin-bottom: 15px; } .lab-btn { width: 300px; padding: 16px 0; font-size: 18px; }
.lab-btn::after { right: 30px; }
} @media screen and (max-width: 959px) {
#lab-section { padding-bottom: 20vw; }
.lab-inner { width: 90%; max-width: 100%; margin: 0 auto; }
.lab-main-title { margin-bottom: 8vw; text-align: left; }
.lab-sub-text { display: block; margin-bottom: 1.5vw; color: #45c1d6 !important; font-weight: 700; line-height: 1.4; }
.lab-title-part { display: block; font-size: 4.8vw; margin-bottom: 0.5vw; }
.lab-main-text { display: block; font-size: 8.0vw; line-height: 1.3; color: #45c1d6 !important; font-weight: 700; margin-top: 1.5vw; }
.lab-intro-text { font-size: 3.8vw; margin-bottom: 8vw; line-height: 1.7; }
.lab-cards-container { display: flex; flex-direction: column; align-items: center; gap: 6vw; margin-bottom: 12vw; width: 100%; }
.lab-card { width: 100%; flex: auto; border-radius: 4vw; overflow: hidden; box-sizing: border-box; position: relative; z-index: 1; background: #fff; }
.lab-card-left { border: 2px solid #4DB6AC; }
.lab-header-left { background-color: #43bed0; color: #fff; font-weight: 700; text-align: center; padding: 3.5vw 0; font-size: 4.5vw; width: 100%; }
.lab-card-right { border: 2px solid #4A90E2; }
.lab-header-right { background-color: #4A90E2; color: #fff; font-weight: 700; text-align: center; padding: 3.5vw 0; font-size: 4.5vw; width: 100%; }
.lab-card-body { padding: 6vw 4vw; display: flex; flex-direction: column; align-items: center; width: 100%; box-sizing: border-box; }
.lab-diagram-distance { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-bottom: 5vw; }
.lab-circle { width: 20vw; height: 20vw; border-radius: 50%; border: 2px solid #43bed0; color: #43bed0; font-weight: 700; display: flex; align-items: center; justify-content: center; background: #fff; flex-shrink: 0; text-align: center; font-size: 4.0vw; line-height: 1.2; box-sizing: border-box; padding: 1vw 2vw; word-break: normal; overflow-wrap: normal; }
.lab-distance-line { flex-grow: 1; text-align: center; position: relative; margin: 0 2vw; }
.lab-distance-text { display: block; color: #43bed0; font-size: 3.2vw; font-weight: 700; margin-bottom: 1vw; }
.lab-dashed-border { width: 100%; border-top: 2px dashed #43bed0; height: 1px; }
.lab-list { width: 100%; }
.lab-list li { font-size: 4.0vw; font-weight: 700; margin-bottom: 2vw; padding-left: 1em; position: relative; line-height: 1.5; text-align: left; }
.lab-list li::before { content: "●"; position: absolute; left: 0; color: #000; font-size: 0.8em; top: 0.1em; }
.lab-arrow-center { width: 0; height: 0; border-left: 6vw solid transparent; border-right: 6vw solid transparent; border-top: 7vw solid #1D2A89; border-bottom: 0; margin: 0; }
.lab-diagram-solution { width: 100%; display: flex; justify-content: center; margin-bottom: 5vw; }
.lab-oval { background: linear-gradient(180deg, #E0F2F1 0%, #E3F2FD 100%); border-radius: 12vw; padding: 6vw 4vw; text-align: center; width: 100%; box-sizing: border-box; }
.lab-oval-sub { color: #1D2A89; font-weight: 700; font-size: 3.5vw; display: block; margin-bottom: 0.5em; }
.lab-oval-main { color: #1D2A89; font-weight: 700; font-size: 5.0vw; display: block; }
.lab-solution-desc { font-size: 4.0vw; font-weight: 700; text-align: center; line-height: 1.6; }
.lab-concept-title { color: #45c1d6; font-size: 5.5vw; font-weight: 700; margin-bottom: 4vw; text-align: left; }
.lab-concept-text { font-size: 4.0vw; line-height: 1.8; margin-bottom: 8vw; font-weight: 500; text-align: justify; }
.lab-btn-wrapper { width: 100%; text-align: center; }
.lab-btn { display: inline-block; width: 85vw; padding: 4.0vw 0; border-radius: 10vw; background: linear-gradient(90deg, #3EB8C8 0%, #4A90E2 100%); color: #fff; font-size: 4.5vw; font-weight: 700; text-decoration: none; position: relative; box-shadow: 0 1.5vw 4vw rgba(66, 165, 245, 0.3); }
.lab-btn::after { content: ""; display: block; width: 2.5vw; height: 2.5vw; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(45deg); position: absolute; top: 50%; right: 8vw; margin-top: -1.5vw; }
}  #uklp-onsen-collab {
width: 100%;
background-color: #ffffff;
border-top: 1px solid #f0f0f0;
border-bottom: 1px solid #f0f0f0;
font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
color: #333;
box-sizing: border-box;
padding: 80px 0;
position: relative;
overflow: hidden;
}
#uklp-onsen-collab * { box-sizing: border-box; }
.onsen-inner {
width: 100%;
max-width: 1280px; 
padding: 0 40px;
margin: 0 auto;
} .onsen-top-section {
display: flex;
flex-wrap: wrap;
align-items: center; 
justify-content: space-between;
margin-bottom: 60px;
} .onsen-info-col {
width: 45%; 
padding-right: 40px;
display: flex;
flex-direction: column;
} .onsen-tagline {
display: flex;
align-items: center;
color: #00b1ac;
font-weight: 700;
font-size: 24px;
margin-bottom: 24px;
letter-spacing: 0.02em;
line-height: 1.3;
}
.onsen-tagline::before {
content: "";
display: block;
width: 6px;
height: 1.2em;
background: #00b1ac;
margin-right: 15px;
border-radius: 3px;
} .onsen-title-block {
margin-bottom: 40px;
display: flex;
flex-direction: column; align-items: flex-start;
} .onsen-title-upper {
display: flex;
flex-direction: column; width: fit-content; 
} .onsen-text-justify {
display: block;
font-size: 46px;
font-weight: 600;
line-height: 1.25;
color: #333;
font-feature-settings: "palt";
letter-spacing: -0.02em; text-align: justify;
text-align-last: justify;
width: 100%; } .onsen-cross-title {
display: block;
color: #00b1ac;
font-size: 32px;
font-weight: 700;
line-height: 1;
margin: 10px 0 10px 5px; } .onsen-title-lower {
font-size: 46px;
font-weight: 600;
line-height: 1.25;
color: #333;
font-feature-settings: "palt";
letter-spacing: -0.02em;
display: block;
text-align: left; } .onsen-logo-mini {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 25px;
margin-bottom: 30px;
padding: 10px 0;
width: 100%;
}
.onsen-logo-img {
height: 50px;
width: auto;
max-width: 100%;
object-fit: contain;
} .onsen-logo-x {
color: #00b1ac;
font-size: 24px;
font-weight: 700;
line-height: 1;
} .onsen-lead {
font-size: 16px; 
line-height: 2.0;
color: #444; 
font-weight: 500;
text-align: left;
} .onsen-visual-col {
width: 50%;
position: relative;
user-select: none;
}
.onsen-slide-frame {
width: 100%;
aspect-ratio: 3 / 2;
border-radius: 24px;
overflow: hidden;
position: relative;
box-shadow: 0 15px 40px rgba(0,0,0,0.08); 
background-color: #f5f5f5;
}
.onsen-slide-img {
width: 100%;
height: 100%;
object-fit: cover;
position: absolute;
top: 0;
left: 0;
opacity: 0;
transition: opacity 1.0s ease;
z-index: 1;
pointer-events: none;
}
.onsen-slide-img.active {
opacity: 1;
z-index: 2;
} .onsen-arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 50px;
height: 50px;
background: rgba(255, 255, 255, 0.2);
border: 1px solid rgba(255, 255, 255, 0.4);
border-radius: 50%;
cursor: pointer;
z-index: 10;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.3s, opacity 0.3s;
backdrop-filter: blur(4px);
}
.onsen-arrow:hover { background: rgba(255, 255, 255, 0.5); }
.onsen-arrow::after {
content: ''; display: block; width: 12px; height: 12px;
border-top: 3px solid #fff; border-right: 3px solid #fff;
}
.onsen-arrow-prev { left: 15px; }
.onsen-arrow-prev::after { transform: rotate(-135deg); margin-left: 4px; }
.onsen-arrow-next { right: 15px; }
.onsen-arrow-next::after { transform: rotate(45deg); margin-right: 4px; }
.onsen-dots {
position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%);
display: flex; gap: 10px; z-index: 10;
}
.onsen-dot {
width: 10px; height: 10px; background: rgba(255, 255, 255, 0.5);
border-radius: 50%; cursor: pointer; transition: background 0.3s, transform 0.3s;
}
.onsen-dot.active { background: #00b1ac; transform: scale(1.2); }
.onsen-dot:hover { background: rgba(255, 255, 255, 0.8); } .onsen-merit-list {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-bottom: 60px;
}
.onsen-merit-card {
background: #fcfdfd;
border: 1px solid #ebf3f1;
border-radius: 16px;
padding: 28px;
transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}
.onsen-merit-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 30px rgba(0, 177, 172, 0.1);
border-color: #bcebd3;
background: #fff;
}
.onsen-step-num {
font-family: "Jost", sans-serif;
font-size: 44px;
font-weight: 700;
color: #d8efeb;
line-height: 1;
margin-bottom: 12px;
display: block;
}
.onsen-card-title {
font-size: 21px;
font-weight: 700;
color: #222;
margin: 0 0 12px 0;
line-height: 1.4;
}
.onsen-card-text {
font-size: 16px;
line-height: 1.8;
color: #666;
margin: 0;
text-align: left;
} .onsen-btn-area { text-align: center; }
.onsen-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: 360px;
padding: 22px 0;
background: linear-gradient(90deg, #00b0ab 0%, #6cd66d 100%);
color: #fff;
font-weight: 700;
font-size: 20px;
border-radius: 50px;
text-decoration: none;
transition: all 0.3s;
box-shadow: 0 6px 20px rgba(0, 177, 172, 0.2);
}
.onsen-btn:hover {
transform: translateY(-3px);
box-shadow: 0 12px 25px rgba(0, 177, 172, 0.3);
opacity: 0.95;
}
.onsen-btn::after {
content: ""; display: block; width: 10px; height: 10px;
border-top: 2px solid #fff; border-right: 2px solid #fff;
transform: rotate(45deg); margin-left: 12px; margin-top: 2px;
} @media screen and (max-width: 1200px) {
.onsen-text-justify, .onsen-title-lower { font-size: 38px; }
.onsen-tagline { font-size: 20px; }
.onsen-info-col { width: 48%; padding-right: 20px; }
.onsen-visual-col { width: 50%; }
.onsen-logo-img { height: 40px; }
} @media screen and (max-width: 959px) {
#uklp-onsen-collab { padding: 60px 0; }
.onsen-inner { padding: 0 24px; max-width: 600px; } .onsen-top-section {
display: block;
margin-bottom: 40px;
}
.onsen-info-col {
width: 100%;
padding-right: 0;
margin-bottom: 30px; align-items: center;
text-align: center;
} .onsen-title-block {
align-items: center; width: 100%;
margin-bottom: 25px;
} .onsen-title-upper { width: fit-content;
margin: 0 auto; }
.onsen-tagline { 
font-size: 18px; 
margin-bottom: 15px; 
justify-content: center;
}
.onsen-tagline::before { margin-right: 10px; }
.onsen-text-justify, .onsen-title-lower {
font-size: 30px; 
line-height: 1.3;
}
.onsen-cross-title {
margin: 10px 0;
font-size: 24px;
text-align: center; }
.onsen-title-lower {
text-align: center; } .onsen-logo-mini {
justify-content: center;
gap: 15px;
margin-bottom: 25px;
}
.onsen-logo-img { height: 35px; }
.onsen-logo-x { font-size: 20px; } .onsen-visual-col { width: 100%; margin-bottom: 0; }
.onsen-slide-frame { border-radius: 16px; }
.onsen-arrow { width: 40px; height: 40px; } .onsen-lead {
font-size: 16px;
line-height: 1.8;
margin-top: 30px; 
text-align: justify; } .onsen-merit-list { grid-template-columns: 1fr; gap: 20px; margin-bottom: 40px; }
.onsen-merit-card { padding: 24px; }
.onsen-step-num { font-size: 36px; margin-bottom: 8px; }
.onsen-card-title { font-size: 20px; }
.onsen-card-text { font-size: 16px; }
.onsen-btn { width: 100%; max-width: 320px; font-size: 18px; padding: 18px 0; }
}  #recruit-section {
width: 100%; max-width: 100vw; 
overflow-x: hidden; background: linear-gradient(180deg, #d8f5e5 0%, #dff9eb 100%);
font-family: "Noto Sans JP", sans-serif;
color: #111;
box-sizing: border-box; padding: 100px 30px;
}
#recruit-section * {
box-sizing: border-box;
}
.recruit-inner {
width: 100%; max-width: 1200px;
margin: 0 auto;
position: relative;
} .recruit-title { font-size: 48px;
font-weight: 900;
margin-bottom: 70px;
line-height: 1.2;
background: linear-gradient(90deg, #00b1ac 0%, #92d86c 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
display: inline-block;
}
.recruit-lead { font-size: 30px;
font-weight: 700;
text-align: center;
margin-bottom: 50px;
line-height: 1.5;
color: #111;
} .recruit-text { font-size: 19px;
line-height: 2.0;
font-weight: 500;
text-align: justify;
margin-bottom: 70px;
color: #333;
} .recruit-list-area {
text-align: center;
margin-bottom: 70px;
}
.recruit-list-title { font-size: 22px;
font-weight: 700;
margin-bottom: 30px;
color: #111;
display: block;
}
.recruit-tags {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 18px 24px;
}
.recruit-tag {
background-color: #fff;
color: #111; font-size: 19px;
font-weight: 700;
padding: 15px 36px;
border-radius: 50px;
display: inline-block;
min-width: 140px;
box-shadow: 0 3px 6px rgba(0,0,0,0.03);
} .recruit-btn-wrapper {
text-align: center;
}
.recruit-btn {
display: inline-flex;
align-items: center;
justify-content: center; width: 380px;
padding: 22px 0;
border-radius: 50px;
background: linear-gradient(90deg, #00b0ab 0%, #6cd66d 100%);
color: #fff;
font-size: 22px;
font-weight: 700;
text-decoration: none;
position: relative;
transition: opacity 0.3s, transform 0.2s;
box-shadow: 0 5px 15px rgba(0, 176, 171, 0.2);
}
.recruit-btn:hover {
opacity: 0.9;
transform: translateY(-2px);
} .recruit-btn::after {
content: "";
display: block;
width: 10px;
height: 10px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
transform: rotate(45deg);
margin-left: 15px;
position: relative;
top: -1px;
} @media screen and (min-width: 769px) and (max-width: 1366px) {
#recruit-section { padding: 70px 30px; } .recruit-inner { width: 90%; max-width: 1000px; } .recruit-title { font-size: 36px; margin-bottom: 40px; } .recruit-lead { font-size: 24px; margin-bottom: 30px; } .recruit-text { 
font-size: 16px; line-height: 1.8; 
margin-bottom: 50px; 
}
.recruit-list-area { margin-bottom: 50px; }
.recruit-list-title { font-size: 18px; margin-bottom: 20px; }
.recruit-tags { gap: 12px 16px; }
.recruit-tag { 
font-size: 16px; padding: 12px 24px; 
min-width: 120px; 
}
.recruit-btn { 
width: 320px; padding: 18px 0; 
font-size: 18px; }
} @media screen and (max-width: 768px) {
#recruit-section {
padding: 60px 20px;
}
.recruit-title {
font-size: 32px;
margin-bottom: 40px;
display: block;
text-align: left;
}
.recruit-lead {
font-size: 20px;
text-align: left;
margin-bottom: 30px;
line-height: 1.6;
}
.recruit-text {
font-size: 15px;
line-height: 1.9;
text-align: left;
margin-bottom: 50px;
}
.recruit-list-title {
font-size: 18px;
margin-bottom: 20px;
}
.recruit-tags {
gap: 10px;
}
.recruit-tag {
font-size: 14px;
padding: 10px 20px;
min-width: auto;
}
.recruit-btn {
width: 100%;
max-width: 300px;
font-size: 16px;
padding: 16px 0;
}
.recruit-btn::after {
width: 8px;
height: 8px;
}
}   body {
font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
line-height: 1.6;
color: #333;
} #contact-form-wrapper {
width: 100%; max-width: 100vw; 
overflow-x: hidden; max-width: 1200px; margin: 0 auto; box-sizing: border-box;
padding: 60px 20px;
}
#contact-form-wrapper * {
box-sizing: border-box;
} .contact-title {
display: table;
margin: 0 auto 40px auto;
font-size: 40px; font-weight: 700;
line-height: 1.2;
text-align: center; background: linear-gradient(90deg, #50B0AA 0%, #90D070 100%);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
width: auto; 
} .contact-dl {
width: 100%;
margin: 0;
padding: 0;
border-top: 1px solid #e0e0e0;
}
.contact-dl-row {
display: flex;
flex-wrap: nowrap;
width: 100%;
border-bottom: 1px solid #e0e0e0;
align-items: center;
padding: 15px 0; } .contact-dt {
width: 260px; flex-shrink: 0;
padding-right: 15px;
display: flex;
align-items: center;
justify-content: flex-start;
font-weight: 700;
font-size: 18px; color: #111;
line-height: 1.4;
} .require-label {
background-color: #e60012;
color: #fff;
font-size: 12px;
font-weight: 700;
padding: 4px 8px;
border-radius: 4px;
margin-right: 10px;
line-height: 1;
display: inline-block;
white-space: nowrap;
transform: translateY(1px);
} .any-label-spacer {
display: inline-block;
width: 45px;
flex-shrink: 0;
margin-right: 10px;
} .contact-dd {
flex-grow: 1;
margin: 0;
} .align-top {
align-items: flex-start !important; 
padding-top: 20px;
}
.align-top .contact-dt {
margin-top: 5px; 
padding-top: 0;
} #contact-form-wrapper input[type="text"],
#contact-form-wrapper input[type="email"],
#contact-form-wrapper input[type="tel"],
#contact-form-wrapper select,
#contact-form-wrapper textarea {
width: 100%;
max-width: 100%;
padding: 10px 15px; font-size: 16px;
color: #333;
border: 1px solid #ccc;
border-radius: 4px;
background-color: #fff;
appearance: none;
line-height: 1.5;
transition: border-color 0.2s, box-shadow 0.2s;
}
#contact-form-wrapper input:focus,
#contact-form-wrapper select:focus,
#contact-form-wrapper textarea:focus {
border-color: #50B0AA;
outline: none;
box-shadow: 0 0 5px rgba(80, 176, 170, 0.3);
}
#contact-form-wrapper ::placeholder {
color: #bbb;
}
#contact-form-wrapper textarea {
height: 180px; resize: vertical;
}
#contact-form-wrapper select {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 15px center;
padding-right: 35px;
} .contact-privacy {
text-align: center;
margin: 30px 0;
font-size: 15px;
display: flex;
justify-content: center;
align-items: center;
}
.contact-privacy a {
color: #0056b3;
text-decoration: underline;
margin: 0 5px;
}
.wpcf7-list-item { margin: 0; }
.wpcf7-list-item-label { cursor: pointer; }
input[type="checkbox"] {
margin-right: 8px;
transform: scale(1.2);
cursor: pointer;
} .contact-submit-area {
text-align: center;
margin-bottom: 0;
}
.contact-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: 320px; padding: 18px 0; font-size: 20px; font-weight: 700;
color: #fff;
border: none;
border-radius: 50px;
background: linear-gradient(90deg, #50B0AA 0%, #90D070 100%);
cursor: pointer;
transition: opacity 0.3s, transform 0.2s;
box-shadow: 0 5px 15px rgba(80, 176, 170, 0.2);
position: relative;
}
.contact-btn:hover {
opacity: 0.9;
transform: translateY(-2px);
}
.contact-btn::after {
content: "";
display: block;
width: 8px;
height: 8px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
transform: rotate(45deg);
margin-left: 12px;
position: relative;
top: -1px;
} @media screen and (min-width: 769px) and (max-width: 1366px) { #contact-form-wrapper {
max-width: 900px; padding: 40px 20px;
} .contact-title {
font-size: 30px; margin-bottom: 30px;
} .contact-dt {
width: 200px; font-size: 16px; padding-right: 10px;
} .contact-dl-row {
padding: 12px 0;
} #contact-form-wrapper input[type="text"],
#contact-form-wrapper input[type="email"],
#contact-form-wrapper input[type="tel"],
#contact-form-wrapper select,
#contact-form-wrapper textarea {
padding: 8px 12px; font-size: 15px; } #contact-form-wrapper textarea {
height: 150px; } .contact-btn {
width: 260px; padding: 15px 0; font-size: 18px; }
} @media screen and (max-width: 768px) {
#contact-form-wrapper {
padding: 40px 15px; max-width: 100%; 
}
.contact-title {
font-size: 28px;
margin-bottom: 30px;
text-align: left;
display: block;
width: 100%;
}
.contact-dl-row {
display: block;
padding: 15px 0;
}
.contact-dt {
width: 100%;
padding-right: 0;
padding-bottom: 8px;
font-size: 16px;
}
.contact-dd {
width: 100%;
}
.any-label-spacer {
display: none;
}
.align-top {
padding-top: 0;
}
.align-top .contact-dt {
margin-top: 0;
}
.contact-btn {
width: 100%;
max-width: 280px;
font-size: 16px;
padding: 15px 0;
}
}   #access {
font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
line-height: 1.6;
color: #333;
width: 100%; max-width: 100vw;
overflow-x: hidden;   margin: 0 auto;
padding: 90px 20px;
box-sizing: border-box;
}
#access * {
box-sizing: border-box;
}
#access img {
max-width: 100%;
height: auto;
vertical-align: bottom;
border-radius: 0;
} .access-inner {
width: 100%;
max-width: 1200px;
margin: 0 auto;
} #access .title01 {
text-align: left;
margin: 0 0 40px 0;
font-size: 48px;
font-weight: 700;
line-height: 1.2;
display: inline-block; background: linear-gradient(90deg, #50B0AA 0%, #90C076 100%);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
} #access h3 {
font-size: 24px;
font-weight: 700;
margin-top: 60px;
margin-bottom: 30px;
padding-left: 15px;
border-left: 6px solid #90C076;
line-height: 1.4;
color: #333;
} #access .lead-text {
text-align: center;
font-size: 19px;
margin-bottom: 30px;
} #access dl {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
margin-bottom: 40px;
border: none;
background-color: transparent;
padding: 0;
}
#access dt {
font-weight: 700;
margin-right: 15px;
font-size: 16px;
background-color: #90C076;
color: #fff;
padding: 4px 15px;
border-radius: 4px;
line-height: 1.4;
}
#access dd {
margin: 0;
font-size: 16px;
font-weight: 500;
} #access iframe {
width: 100%;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
display: block;
margin-bottom: 40px;
} #accessStation ol {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
padding: 0;
list-style: none;
counter-reset: step-counter;
}
#accessStation li {
position: relative;
background: transparent;
} #accessStation li::before {
counter-increment: step-counter;
content: counter(step-counter);
position: absolute;
top: 0;
left: 0;
z-index: 2;
background-color: #333;
color: #fff;
width: 50px;
height: 50px;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 24px; 
line-height: 1;
}
#accessStation li picture {
display: block;
margin-bottom: 15px;
overflow: hidden;
border: none; 
}
#accessStation li p {
font-size: 17px;
line-height: 1.6;
margin: 0;
font-weight: 500;
} #accessTrain ul,
#accessAirport ul {
display: flex;
flex-wrap: wrap;
gap: 30px;
padding: 0;
list-style: none;
}
#accessTrain li,
#accessAirport li {
width: calc(33.333% - 20px); background: #fff;
border: 1px solid #e0e0e0;
border-radius: 8px;
padding: 20px;
transition: box-shadow 0.3s;
flex: 1; }
#accessTrain li:hover,
#accessAirport li:hover {
box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
#access h4 {
font-size: 18px;
font-weight: 700;
color: #90C076 !important;
margin-top: 0;
margin-bottom: 15px;
border-bottom: 1px dashed #ccc;
padding-bottom: 10px;
}
#access .txt p {
margin-bottom: 15px;
font-size: 17px;
line-height: 1.5;
}
#access .txt p:last-child {
margin-bottom: 0;
}
#access small {
font-size: 13px;
color: #666;
font-weight: 700;
display: inline-block;
margin-bottom: 4px;
background: #f0f0f0;
padding: 2px 6px;
border-radius: 3px;
} #accessParking {
text-align: center;
margin-top: 60px;
background: #f9f9f9;
border-radius: 10px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 30px; 
padding: 60px 20px;
}
#accessParking h3 {
margin: 0; 
border: none;
padding: 0;
text-align: center;
} #access .link01 {
display: inline-flex;
align-items: center;
justify-content: center;
width: 320px;
padding: 10px 0;
font-size: 18px;
font-weight: 700;
color: #fff;
text-decoration: none;
border: none;
border-radius: 50px;
background: linear-gradient(90deg, #50B0AA 0%, #90C076 100%);
cursor: pointer;
transition: opacity 0.3s, transform 0.2s;
box-shadow: 0 5px 15px rgba(144, 208, 112, 0.4);
position: relative;
}
#access .link01:hover {
opacity: 0.9;
transform: translateY(-2px);
} #access .link01::after {
content: none;
display: none;
} @media screen and (min-width: 769px) and (max-width: 1366px) { #access { padding: 60px 30px; }
.access-inner { max-width: 1000px; } #access .title01 { font-size: 36px; margin-bottom: 30px; }
#access h3 { font-size: 22px; margin-top: 40px; margin-bottom: 20px; }
#access h4 { font-size: 17px; } #access .lead-text { font-size: 16px; margin-bottom: 20px; }
#access dl { margin-bottom: 30px; }
#access dt, #access dd { font-size: 15px; } #accessStation ol { gap: 20px; }
#accessStation li::before { width: 40px; height: 40px; font-size: 20px; }
#accessStation li p { font-size: 15px; } #accessTrain ul, #accessAirport ul { gap: 20px; }
#accessTrain li, #accessAirport li { padding: 15px; }
#access .txt p { font-size: 15px; } #access iframe { height: 350px; margin-bottom: 30px; } #accessParking { margin-top: 40px; padding: 40px 20px; gap: 20px; }
#access .link01 { width: 280px; font-size: 16px; }
} @media screen and (max-width: 768px) {
#access {
padding: 60px 15px;
}
.access-inner { width: 100%; max-width: 100%; }
#access .title01 {
font-size: 32px;
text-align: left;
margin-bottom: 30px;
display: block; 
}
#access .lead-text {
text-align: left;
font-size: 16px;
}
#access dl {
flex-direction: column; 
text-align: center;
}
#access dt {
margin-right: 0;
margin-bottom: 8px;
}
#access h3 {
font-size: 20px;
margin-top: 40px;
margin-bottom: 20px;
}
#accessParking h3 {
margin: 0;
}
#accessStation ol {
grid-template-columns: repeat(2, 1fr);
gap: 15px;
}
#accessStation li::before {
width: 35px;
height: 35px;
font-size: 16px;
}
#accessStation li p {
font-size: 15px;
}
#access .txt p {
font-size: 15px;
}
#accessTrain li,
#accessAirport li {
width: 100%;
flex: auto;
}
#access .link01 {
width: 100%;
max-width: 280px;
font-size: 16px;
padding: 10px 0;
}
#access iframe {
height: 300px;
}
}  #sns {
display: flex;
justify-content: center; align-items: center;  gap: 50px; padding: 0 20px 80px; list-style: none;
margin: 0 auto;
width: 100%; max-width: 100vw;
box-sizing: border-box;
flex-wrap: wrap;
}
#sns li {
margin: 0;
padding: 0;
line-height: 1;
flex-shrink: 0;
}
#sns a {
display: block;
transition: opacity 0.3s, transform 0.2s;
text-decoration: none;
}
#sns a:hover {
opacity: 0.7;
transform: translateY(-3px);
}
#sns img { height: 60px; 
width: auto;
vertical-align: bottom;
} @media screen and (min-width: 769px) and (max-width: 1366px) {
#sns {
gap: 30px; padding-bottom: 50px; }
#sns img {
height: 45px; }
} @media screen and (max-width: 768px) {
#sns {
flex-wrap: nowrap; gap: 25px;
padding: 0 15px 50px;
}
#sns img {
height: 25px;
}
}  #uklp-sitemap-section い{
width: 100%;
max-width: 100vw;
overflow-x: hidden;
background-color: #f8fbf9;
font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
color: #333;
box-sizing: border-box;
padding: 60px 0;
border-top: 1px solid #eef6f2;
}
#uklp-sitemap-section * {
box-sizing: border-box;
} .uklp-sitemap-inner {
width: 90%;
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: 40px;
} .uklp-sitemap-brand {
width: 380px;
flex-shrink: 0;
} .uklp-sitemap-logo {
display: flex;
align-items: center;
gap: 15px;
margin-bottom: 24px;
cursor: pointer;
}
.uklp-sitemap-logo img {
height: 64px;
width: auto;
object-fit: contain;
}
.uklp-sitemap-address {
font-size: 16px;
line-height: 1.8;
color: #444;
font-weight: 500;
margin-bottom: 24px;
text-align: left;
}
.uklp-sitemap-address span { display: block; } .uklp-sitemap-sns {
list-style: none;
padding: 0;
margin: 0;
display: flex;
gap: 24px;
align-items: center;
flex-wrap: wrap;
}
.uklp-sitemap-sns li { margin: 0; } .uklp-sitemap-sns a {
display: block;
transition: opacity 0.3s, transform 0.2s;
text-decoration: none;
line-height: 1;
}
.uklp-sitemap-sns a:hover {
opacity: 0.7;
transform: translateY(-2px);
}
.uklp-sitemap-sns img {
height: 36px;
width: auto;
vertical-align: bottom;
} .uklp-sitemap-links {
flex: 1;
display: flex;
justify-content: flex-end;
gap: 50px;
}
.uklp-sitemap-col {
display: flex;
flex-direction: column;
gap: 16px;
min-width: 140px;
}
.uklp-sitemap-head {
font-size: 18px;
font-weight: 700;
color: #00b1ac;
margin-bottom: 10px;
border-bottom: 2px solid #bcebd3;
padding-bottom: 6px;
display: inline-block;
}
.uklp-sitemap-list {
list-style: none;
margin: 0;
padding: 0;
}
.uklp-sitemap-list > li {
margin-bottom: 14px;
} .uklp-sitemap-item {
font-size: 17px;
color: #333;
font-weight: 500;
display: inline-block;
cursor: pointer;
transition: color 0.2s, transform 0.2s;
line-height: 1.4; background: none;
border: none;
padding: 0;
text-align: left;
}
.uklp-sitemap-item:hover {
color: #00b1ac;
transform: translateX(4px);
} .uklp-sitemap-sublist {
list-style: none;
margin: 10px 0 0 0;
padding-left: 20px;
border-left: 2px solid #e0f0e9;
}
.uklp-sitemap-sublist li {
margin-bottom: 8px;
position: relative;
padding-left: 12px;
}
.uklp-sitemap-sublist li:last-child { margin-bottom: 0; }
.uklp-sitemap-sublist li::before {
content: "";
position: absolute;
left: 0;
top: 0.7em;
width: 8px;
height: 2px;
background-color: #bcebd3;
}
.uklp-sitemap-sublist .uklp-sitemap-item {
font-size: 15px;
color: #555;
} @media screen and (min-width: 769px) and (max-width: 1200px) {
.uklp-sitemap-inner { gap: 30px; }
.uklp-sitemap-brand { width: 320px; }
.uklp-sitemap-logo img { height: 50px; }
.uklp-sitemap-links { gap: 30px; }
.uklp-sitemap-col { min-width: auto; }
.uklp-sitemap-item { font-size: 15px; }
} @media screen and (max-width: 768px) {
#uklp-sitemap-section {
padding: 50px 0 30px;
}
.uklp-sitemap-inner {
flex-direction: column;
align-items: center;
gap: 30px; 
} .uklp-sitemap-brand {
width: 100%;
max-width: 380px;
margin: 0 auto;
border-bottom: 1px dashed #ddd;
padding-bottom: 25px;
text-align: left;
}
.uklp-sitemap-logo {
margin-bottom: 15px;
justify-content: flex-start;
}
.uklp-sitemap-logo img { height: 48px; }
.uklp-sitemap-address { font-size: 14px; margin-bottom: 15px; }
.uklp-sitemap-sns {
justify-content: flex-start;
gap: 20px;
}
.uklp-sitemap-sns img { height: 32px; } .uklp-sitemap-links {
width: 100%;
max-width: 400px;
margin: 0 auto;
justify-content: flex-start;
flex-wrap: wrap;
gap: 25px 10px; }
.uklp-sitemap-col {
width: calc(50% - 5px); gap: 8px;
min-width: auto;
}
.uklp-sitemap-col:last-child {
width: 100%;
}
.uklp-sitemap-head {
font-size: 16px;
margin-bottom: 4px;
width: 100%;
padding-bottom: 4px;
}
.uklp-sitemap-list > li {
margin-bottom: 4px;
}
.uklp-sitemap-item {
font-size: 15px;
padding: 3px 0;
display: block;
line-height: 1.4;
}
.uklp-sitemap-sublist {
margin-top: 4px;
padding-left: 10px;
}
.uklp-sitemap-sublist li {
margin-bottom: 2px;
}
.uklp-sitemap-sublist .uklp-sitemap-item {
font-size: 13px;
padding: 2px 0;
}
}  footer#footer.wrap, 
#footer.wrap {
display: none !important;
height: 0 !important;
padding: 0 !important;
margin: 0 !important;
border: none !important;
} html { overflow-x: hidden; }
body { margin:0; padding:0; }
.ggf-footer{
--bg:#90C177;
--text:#fff;
position:relative; z-index:0;
background:var(--bg);
color:var(--text); width:100vw;
margin-left:calc(50% - 50vw);
margin-right:calc(50% - 50vw);
}
@supports (width:100dvw){
.ggf-footer{
width:100dvw;
margin-left:calc(50% - 50dvw);
margin-right:calc(50% - 50dvw);
}
} .ggf-footer{
margin-bottom:0 !important;
padding:14px 16px;
box-sizing:border-box;
-webkit-text-size-adjust:100%;
display: block; 
}
.ggf-footer__inner{
max-width:1200px;
margin:0 auto;
text-align:center;
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Arial,sans-serif;
font-weight:600;
line-height:1.6;
white-space:nowrap;
overflow:hidden;
text-overflow:clip;
font-size:16px;
letter-spacing:0;
} @media (max-width:640px){
.ggf-footer{
padding-top:12px; padding-bottom: calc(12px + env(safe-area-inset-bottom));
padding-left:max(8px, env(safe-area-inset-left) + 6px);
padding-right:max(8px, env(safe-area-inset-right) + 6px);
}
.ggf-footer__inner{ line-height:1.5; }
} .wpcf7 form fieldset.hidden-fields-container{
display: none !important;
}