/*
Theme Name: GeneratePress Child
Description: GeneratePress child theme
Author: Your Name
Template: generatepress
Version: 1.0
*/

@import url("../generatepress/style.css");

/* ========================================
   ローカルで作成したカスタムCSS
   ======================================== */

/* Basic Styles */

html {
scroll-behavior: smooth;
}

body {
font-family: 'Zen Old Mincho', serif;
margin: 0;
color: #333;
background-color: #fff;
}

a {
text-decoration: none;
color: inherit;
}

.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
position:relative;
}

.btn {
display:flex;
justify-content: flex-end;
padding: 10px 30px;
color: #000;
font-weight: bold;
transition: all 0.3s;
align-items:center;
}


.title {
text-align: center;
margin-bottom: 60px;
}

.title .en {
font-family: 'Cinzel', serif;
font-size: 50px;
font-weight: 700;
color: #000000;
margin: 0;
text-align:left;
letter-spacing: 0.1em;
}

.title h2 {
font-size: 16px;
font-weight: 700;
margin: 0;
text-align:left;
letter-spacing: 0.1em;
}

/* Header */
header {
width:100%;
z-index: 1000;
margin:auto;
position:absolute;
left:0;
right:0;
margin:auto;
}

.header-container {
display:flex;
padding: 10px 20px;
position:relative;
}

.logo-main-txt-box{
background:#FFF;
display:table;
padding:0 20px;
}
.logo{
padding:35px 60px 0;
letter-spacing: 0.39em;
}
.logo a {
align-items: center;
}

.logo-sub {
font-size: 13px;
margin: 0;
}

.logo-main {
font-size: 31px;
font-weight: 400;
margin: 0;
}
.logo-main img{
width:150px;
}

.logo-en {
font-family: 'Inter', sans-serif;
font-size: 12px;
letter-spacing: 0.59em;
margin:0;
padding:5px 20px;
background:#FFF;
display:table;
color:#9c9c9c;
}

.pc-nav{
position: fixed;
background:#FFF;
right:5%;
top:40px;
display:flex;
align-items:center;
justify-content:center;
padding:0 20px;
border-radius:10px;
height:60px;
box-shadow:0 0 6px 0px rgb(0 0 0 / 6%);
}
.pc-nav ul {
display: flex;
list-style: none;
margin: 0;
padding: 0;
display:flex;
align-items:center;  
}

.pc-nav li {
margin-left: 20px;
}

.pc-nav a {
font-size: 14.5px;
font-weight: 700;
}

.pc-nav .button {
background-color: #2D39CB;
color: #fff;
padding: 10px 50px;
border-radius: 26px;
}

.hamburger-menu {
display: none;
background: none;
border: none;
cursor: pointer;
}

.hamburger-menu span {
display: block;
width: 25px;
height: 3px;
background-color: #333;
margin: 5px 0;
}

.sp-nav {
display: none;
}

/* Main Content */
main {
overflow:hidden;
}

/* First View */
#first-view {
padding:50px;
background:#2C39CB;
position:relative;
margin:0;
height: 100vh;
}
#first-view:before{
content:"";
background:#FFF;
top:25px;
left:25px;
position:absolute;
width:80%;
height:60%;
z-index:0;
}
.first-view-container{
height:80vh;
width:90%;
background:linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url('https://cyd-k.com/wp/wp-content/themes/generatepress-child/img/fv-bg.jpg') no-repeat center center /cover;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
text-align: center;
z-index:1;
position:relative;
margin:auto;
}

.first-view-text{
position:absolute;
left:-20px;
bottom:-30px;
}
.first-view-text .sub-title {
font-family: 'Cinzel', serif;
font-size: 40px;
letter-spacing: 0.27em;
font-weight:bold;
margin:0;
padding:0;
}
.main-title{
text-align:left;
margin:0 0 0;
padding:0 0 0;
position:relative;
bottom:20px;
left:-20px
}
.main-title span {
font-family: 'Cinzel', serif;
font-weight: 700;
font-size:44px;
}
.main-title span.ssize-txt{
font-family: 'Shippori Mincho', serif;
font-size:34px;
font-weight: 500;
}
.main-title .large {
font-size: 150px;
margin:0 10px;
}
.main-title .extra-large {
font-family: 'Inter', sans-serif;
font-size: 130px;
margin:0 10px 0;
position:relative;
top:30px;
}
.main-title .extra-large img{
width:140px;
}

.gallerys {
position:relative;
top:-50px;
right:-5%;
width: 100%;
display: flex;
}
.gallery-item {
width: 50%;
}
.gallery-item img {
width: 100%;
display: block;
}

/* News */
#news {
padding: 100px 0;
}
.news-h{
display:flex;
justify-content:center;
}

.news-h .title{
width:30%;
}
.news-h .news-list{
width:70%;
}

.news-list article {
border-top: 1px solid #ddd;
}
.news-list article:last-child{
border-bottom: 1px solid #ddd;
}

.news-list a {
display: flex;
padding: 50px 20px;
align-items: center;
}

.news-list time {
font-family: 'Cinzel', serif;
font-size: 16px;
margin-right: 40px;
}

.news-list h3 {
font-size: 17px;
font-weight: 700;
margin: 0;
}

.view-more {
margin-top: 80px;
display:flex;
position:relative;
width:100%;
justify-content:flex-end;
}
.view-more a{
display:flex;
justify-content: center;
padding: 10px 30px;
color: #000;
font-weight: bold;
transition: all 0.3s;
align-items:center;
width:auto;
flex-direction: row;
}
.more-txt{
display:block;
margin:0 30px;
}
.arrow-icon {
width: 30px;
height: 30px;
background:#2c39cb;
transform: rotate(45deg);
display: flex;
align-items: center;
justify-content: center;
position: relative;
transition: all 0.3s ease;
}
.arrow-icon::after {
content: '→';
color: white;
font-size: 18px;
font-weight: bold;
transform: rotate(-45deg);
display: flex;
align-items: center;
justify-content: center;
}


/* Message */
#message {
padding:0;
position:relative;
}
#message:before{
content:"";
background:#2c39cb;
top:25px;
left:0;
position:absolute;
width:100%;
height:300px;
z-index:-1;
}
#message .title{
text-align:left;
margin:auto;
color:#FFF;
z-index:100;
position:relative;
top:90px;
width:100%;
max-width:1200px;
}
#message .title .en{
color:#FFF;
}
.message-container {
justify-content: space-between;
margin:50px 0 0;
position:relative;
z-index:0;
}
.message-item {
max-width:1200px;
width: 100%;
position: relative;    
margin:auto;
}
.message-item-img img {
width: 100%;
position:relative;
z-index:-1;
filter: grayscale(100%);
}
.message-item-img{
position:relative;
width:98%;
height:350px;
margin:auto;
box-sizing:border-box;
}
.message-item-img img{
width:100%;
height:350px;
object-fit:cover;
object-position:top;
}
.message-item-img::before {
content: '';
position: absolute;
top: 0;
left: 0;
width:100%;
height:100%;
background-color: rgba(0, 0, 0, 0.5);
pointer-events: none;
}
.message-item-text {
width:100%;
max-width:1000px;
position: absolute;
top: 65%;
left: 50%;
transform: translate(-50%, -50%);
color: #fff;
text-align: center;
display:flex;
align-items:center;
}

.message-item:nth-of-type(1) .message-jp img{
height:150px;
object-fit:contain;
}
.message-item:nth-of-type(2) .message-jp img{
height:190px;
object-fit:contain;
}
.message-item:nth-of-type(3) .message-jp img{
height:170px;
object-fit:contain;
}

.message-l{
display:flex;
align-items:center;
margin:0 200px 0 0;
}
.michi .message-l{
margin:0 0 0 0;
}
.michi .message-r{
margin:0 400px 0 0;
}
.message-item-text .message-number {
font-family: 'Cinzel', serif;
font-size:80px;
opacity: 0.42;
position: absolute;
top:-140px;
right:0px;
font-weight: 500;
line-height: 1.8;    
}
.message-en {
font-family: 'Cinzel', serif;
font-size: 28px;
font-weight: 700;
letter-spacing: 0.22em;
}
.message-jp {
font-family: 'Inter', sans-serif;
font-size: 100px;
margin:0 50px 0 0;
}
.message-item h4 {
font-size: 16px;
font-weight: 700;
text-align:left;
border-bottom:1px solid rgb(255 255 255 / 60%);
padding:0 0 10px;
margin:0 0 20px;
}
.message-item .message-l p {
font-size: 28px;
font-weight: 700;
line-height: 1.8;
}
.message-item .message-r p{
text-align:left;
font-size: 24px;
font-weight: 500;
line-height: 1.5;
margin:0;
}
.message-footer-wrap{
position:relative;
background:#2c39cb;
}
.message-footer-wrap:before{
content:"";
background:#2c39cb;
top:-150px;
left:0;
position:absolute;
width:100%;
height:900px;
z-index:-1;
}
.message-footer {
padding:0;
position:relative;
z-index:0;
margin:80px 0 50px;
width:100%;
padding:50px 50px 50px;
box-sizing:border-box;
}
.message-footer-img{
position:relative;
z-index:-1;   
height:600px;
width:100%;
max-width:1000px;
margin:auto;
overflow:hidden;
}
.message-footer-img::before {
content: '';
position: absolute;
top: 0;
left: 0;
width:100%;
height:600px;
background-color: rgba(0, 0, 0, 0.5);
pointer-events: none;
}
.message-footer-img img{
width: 100%;
height:100%; 
object-fit:cover;
position:relative;
z-index:-1;
filter: grayscale(100%);
}
.message-footer-img iframe {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%); /* 要素自身の大きさの半分だけ移動して補正 */
margin:auto;
width:150%;
height:100%;
object-fit:cover;
z-index: -1;
max-width:150%;
}   
.message-footer-txt{
text-align: center;
color: #fff;   
position: absolute;
z-index:10;
margin:auto;
left:0;
right:0;    
bottom:0;
width:100%;
}

.message-footer p {
font-size: 24px;
line-height: 2.6;
margin:0 0 50px;
}
.message-footer h3 {
font-size: 31px;
margin:0;    
}
.message-footer h3 span {
font-family: 'Inter', sans-serif;
font-size: 100px;
margin:0 15px 0;
position:relative;
top:40px;
}
.message-footer h3 span img{
width:140px;
}
.message-footer .en-footer {
font-family: 'Cinzel', serif;
font-size: 50px;
font-weight:700;
letter-spacing: 0.22em;
line-height:1.6;
margin:50px auto 0;
bottom:10px;
left:0;
right:0;
max-width:1200px;
text-align:center;
position:relative;
}


/* Service */
#service {
padding: 100px 0;
}
#service .title{
margin:0;
letter-spacing: 0.1em;    
}
#service .title .en{
letter-spacing: 0.1em;
}
.service-intro {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 60px;
}
.service-intro h3 {
font-size: 30px;
line-height: 1.7;
}
.service-intro p {
width: 50%;
font-size: 16px;
line-height: 2;
}
.service-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 100px;
margin:0 0 50px;
}
.service-grid2{
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 80px;
}
.service-item {
position: relative;
}
.service-item img {
width: 100%;
box-shadow:40px 40px 0 0 #2c39cb;
}
.service-grid2 .service-item img {
width: 100%;
box-shadow:25px 25px 0 0 #2c39cb;
}
.service-item-content {
color: #000;
margin:50px 0 20px;    
}
.service-item-title {
display: flex;
align-items: center;
margin:0 0 20px;
}
.service-icon {
width: 24px;
height: 24px;
background-color: #2C39CB;
margin-right: 10px;
}
.service-item h4 {
font-size: 24px;
margin: 0;
}
.service-item p {
font-size: 16px;
line-height: 2.2;
}

/* Strength */
#strength {
padding: 100px 0;
color: #fff;
}
.strength-bg{
display: grid;
grid-template-columns: repeat(2, 1fr);
background:#2c39cb;
justify-content:center;
}
.strength-content {
position:relative;
}
.strength-l{
position:absolute;
top:80px;
right:50px;
width:550px;
}
.strength-img{
position:relative;
z-index:0;   
height:800px;
}
.strength-img::before {
content: '';
position: absolute;
top: 0;
left: 0;
width:100%;
height:100%;
background-color: rgba(0, 0, 0, 0.5);
pointer-events: none;
}
.strength-img img{
width: 100%;
height:800px; 
object-fit:cover;
object-position:top;
position:relative;
z-index:-1;
filter: grayscale(100%);
}
.strength-content .title{
margin:0;
letter-spacing: 0.1em;    
}
.strength-content .title .en{
letter-spacing: 0.1em;
color:#FFF;
}
.strength-text {
width:100%;
}
.strength-text h3 {
font-size: 30px;
line-height: 1.8;
font-weight:500;
}
.trust-mark{
display:flex;
align-items:baseline;
position:absolute;
bottom:-400px;
left:0;
}
.trust-mark .jp {
font-family: 'Inter', sans-serif;
font-size: 120px;
margin:0 20px 0 0;
padding:0;
position:relative;
top:40px;
}
.trust-mark .jp img{
width:140px;
}

.trust-mark .en {
font-family: 'Cinzel', serif;
font-size: 32px;
letter-spacing: 0.22em;
margin:50px 0 0;
}

.strength-desc {
width:100%;
position:relative;
}
.strength-desc .strength-r{
position:absolute;
top:80px;
left:50px;
width:550px;

}
.strength-desc p {
font-size: 16px;
line-height: 2;
}

.signature {
font-family: 'Inter', sans-serif;
font-size: 35px;
text-align: right;
}

/* Works */
#works {
padding: 100px 0 50px;
position:relative;
}
#works:before{
content:"";
background:#2c39cb;
bottom:0;
left:0;
position:absolute;
width:100%;
height:600px;
z-index:-1;
}
.works-title-box{
display:flex;
}
.works-title-box .title{
width: 50%;
}
.works-intro{
width: 50%;
}
.works-intro p {
font-size: 16px;
line-height: 2.2;
}
.works-grid {
display: flex;
justify-content: space-between;
margin-top: 40px;
position:relative;
}
.works-item {
width: 32%;
position: relative;
}
.works-item img {
width: 100%;
}
.works-item-caption {
bottom: 20px;
left: 20px;
color: #FFF;
}
.works-item h3 {
font-size: 20px;
}
.works-item p {
font-size: 16px;
line-height: 1.8;
}

#works .view-more {
margin-top: 80px;
display:flex;
position:relative;
width:100%;
justify-content:center;
}
#works .more-txt{
display:block;
margin:0 30px;
color:#FFF;
}
#works .arrow-icon {
width: 30px;
height: 30px;
background:#ffffff;
transform: rotate(45deg);
display: flex;
align-items: center;
justify-content: center;
position: relative;
transition: all 0.3s ease;
}
#works .arrow-icon::after {
content: '→';
color: #2c39cb;
font-size: 18px;
font-weight: bold;
transform: rotate(-45deg);
display: flex;
align-items: center;
justify-content: center;
}


/* Recruit */
#recruit {
padding: 100px 0 50px;
background-color: #FFF;
}
.recruit-content {
display: flex;
align-items: center;
position:relative;
}
.recruit-text {
width: 50%;
padding:0 50px 0 0;
box-sizing:border-box;
}
.recruit-text h3 {
font-size: 30px;
line-height: 1.8;
}
.recruit-text p {
font-size: 16px;
line-height: 2.4;
}
.recruit-images {
width: 50%;
position:relative;
}
.recruit-images img:nth-of-type(1){
position:absolute;
top:-340px;
left:0;
width:270px;
box-shadow:0 0 6px 0 rgb(0 0 0 / 8%);
}
.recruit-images img:nth-of-type(2){
position:absolute;
top:-150px;
right:0;
width:230px;
box-shadow:0 0 6px 0 rgb(0 0 0 / 8%);
}
.recruit-images img:nth-of-type(3) {
position:absolute;
top:130px;
left:100px;
width:200px;
box-shadow:0 0 6px 0 rgb(0 0 0 / 8%);
}
#recruit .view-more {
margin-top: 50px;
display:flex;
position:relative;
width:100%;
justify-content:flex-start;
}
#recruit .view-more a{
display:flex;
justify-content:flex-start;
padding: 10px 0px;
color: #000;
font-weight: bold;
transition: all 0.3s;
align-items:center;
width:200px;
flex-direction: row;
}
#recruit .view-more .more-txt{
display:block;
margin:0 30px 0 0;
}

/* Local Activities */
#local-activities {
padding: 100px 0 300px;
background:#2c39cb;
}
#local-activities .container{
position:relative;
}
.local-activities-txt-box{
display:flex;
z-index:1;  
position:relative;
}
.local-activities-txt-box .title{
color:#FFF;
}
.local-activities-txt-box .title .en{
color:#FFF;
line-height:1.3;
margin:25px 0;
}
.local-activities-text {
width: 400px;
padding:35px 0 0 150px;
color:#FFF;
}
.local-activities-text h3 {
font-size: 30px;
line-height: 1.8;
font-weight:500;
}
.local-activities-text p {
font-size: 16px;
line-height: 2.4;
}
.local-activities-images {
position:absolute;
width:100%;
height:100%;
left:0;
top:0;
z-index:0;
}
.local-activities-images img:nth-of-type(1){
position:absolute;
bottom:-200px;
left:40px;
width:280px;
}
.local-activities-images img:nth-of-type(2){
position:absolute;
top:0;
right:0;
width:270px;
}
.local-activities-images img:nth-of-type(3){
position:absolute;
bottom:-250px;
right:200px;
width:350px;
}

/* Company */
#company {
padding: 100px 0;
}
.company-content {
display: flex;
}
.company-img {
width: 50%;
}
.company-img img {
width: 100%;
}
.company-info {
width: 50%;
padding-left:80px;
box-sizing:border-box;
}
.company-info dl {display: grid;grid-template-columns: 150px 1fr;gap: 20px;}
.company-info dt {
font-weight: bold;
}

/* Second Page */

#second-first-view {
padding:50px;
background:#2C39CB;
position:relative;
margin:0;
height: 100vh;
}
#second-first-view:before{
content:"";
background:#FFF;
top:25px;
left:25px;
position:absolute;
width:80%;
height:60%;
z-index:0;
}
.second-first-view-container{
height:85vh;
width:90%;
background:linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url('https://cyd-k.com/wp/wp-content/themes/generatepress-child/img/second-fv-bg.png') no-repeat center center /cover;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
text-align: center;
z-index:1;
position:relative;
margin:auto;
}


#about {
padding: 100px 0;
}
.about-content {
display: flex;
align-items: center;
}
.about-img {
width: 50%;
}
.about-img img {
width: 100%;
}
.about-text {
width: 50%;
padding-left: 40px;
}
.about-text h3 {
font-size: 35px;
line-height: 1.8;
}
.about-text p {
font-size: 16px;
line-height: 2.3;
}

#public-works {
padding: 100px 0;
background-color: #2C39CB;
color: #fff;
}
.public-works-content {
display: flex;
align-items: center;
}
.public-works-text {
width: 50%;
padding:0 80px 0 0;
box-sizing:border-box;
}
.public-works-text .title{
margin:0 0 50px;
}
.public-works-text h2 {
font-size: 40px;
position:relative;
padding:0 0 0 60px;
}
.public-works-text h2:before {
content:"";
width: 30px;
height: 30px;
background:#ffffff;
transform: rotate(45deg);
display: flex;
align-items: center;
justify-content: center;
position: relative;
transition: all 0.3s ease;
position:absolute;
top:0;
left:0;
bottom:0;
margin:auto;
}
.public-works-text h4 {
font-size: 30px;
margin:0 0 40px;
font-weight:500;
}
.public-works-text p {
font-size: 16px;
line-height: 2.5;
}
.works-category {
margin-top: 40px;
}
.category-btn {
display: inline-block;
background-color: #fff;
color: #333;
padding: 10px 55px 10px 25px;
border-radius: 37px;
margin-right: 10px;
margin-bottom: 20px;
position:relative;
}
.category-btn:before {
content:"▼";
font-size:16px;
position:absolute;    
top:9px;
right:20px;
bottom:0;
margin:auto;
color:#2c39cb;
}
.public-works-img {
width: 50%;
height:600px; 
position:relative;
}
.public-works-img img{
width: 100%;
height:600px; 
object-fit:cover;
position:relative;
z-index:0;
filter: grayscale(100%);
}
.public-works-img:before {
content: '';
position: absolute;
top: 0;
left: 0;
width:100%;
height:100%;
background-color: rgba(0, 0, 0, 0.5);
pointer-events: none;
z-index:1;
}
.public-works-img .en {
font-family: 'Cinzel', serif;
font-size: 80px;
position:absolute;
bottom:-130px;
right:-50px;
z-index:1;
font-weight:bold;
text-align:right;
letter-spacing: 0.1em;
}
.public-works-img .en span{
font-size: 80px;
font-weight:500;
display:block;
}


#list {
padding: 50px 0 100px;
background-color: #f2f2f2;
}
.list-category {
margin-bottom: 60px;
}
.list-category h2 {
font-size: 35px;
text-align: center;
margin: 80px 0 60px;
position: relative;
display: flex;
align-items: center;
justify-content: center;
gap: 1rem;
}
.list-category h2::before,
.list-category h2::after {
content: '';
width: 100px;
height: 1px;
background: #333;
}


.list-category ul {
list-style: none;
padding: 0;
}
.list-category li {
background-color: #fff;
padding: 40px 50px;
margin-bottom: 20px;
border-left: 10px solid #2C39CB;
display:flex;
align-items:center;
border-radius:8px;
}
.list-category h4 {
font-size: 24px;
margin:0;
width:35%;
padding:0 0 0 60px;
box-sizing:border-box;
position:relative;
}
.list-category h4:before{
content:"";
background:url(https://cyd-k.com/wp/wp-content/themes/generatepress-child/img/checkicon.svg)no-repeat center 100%;
width:30px;
height:30px;
position:absolute;
top:0;
left:0;
margin:auto;
}
.list-category p {
font-size: 16px;
line-height: 2.2;
margin: 0;
width:65%;
position:relative;
padding:0 0 0 50px;
box-sizing:border-box;
}
.list-category p:before{
content:"";
height:50px;
width:2px;
background:#000;
top:0;
bottom:0;
left:0;
margin:auto;
position:absolute;
}

#company-sub {
padding: 100px 0;
}

/* Footer */
footer {
background: url('https://cyd-k.com/wp/wp-content/themes/generatepress-child/img/footer-bg.jpg') no-repeat center center/cover;
color: #fff;
padding-top: 100px;
}
.footer-container {
display: flex;
justify-content: space-between;
padding-bottom: 100px;
position: relative;
width:100%;
max-width:1200px;
margin:auto;
}
.footer-logo .logo-main {
font-size: 34px;
}
.footer-logo .logo-en {
font-family: 'Inter', sans-serif;
font-size: 12px;
letter-spacing: 0.59em;
margin:0;
padding:5px 0px;
background:none;
display:table;
color:rgb(255 255 255 / 50%);
}
.footer-info {
font-size: 18px;
}
.footer-nav ul {
list-style: none;
padding: 0;
columns: 2;
}
.footer-nav li {
margin-bottom: 30px;
padding:0 20px;
}
.to-top a {
position: absolute;
bottom: 20px;
right: 20px;
background-color: #2C39CB;
width: 50px;
height: 50px;
background:#ffffff;
transform: rotate(45deg);
display: flex;
align-items: center;
justify-content: center;
position: relative;
transition: all 0.3s ease;
position:absolute;
margin:auto;
}
.to-top a::before {
content: '→';
color: #2a35bd;
font-size: 28px;
font-weight: bold;
transform: rotate(225deg);
display: flex;
align-items: center;
justify-content: center;
}

.copyright {
text-align: left;
padding:20px;
background-color: #2C39CB;
font-family: 'Cinzel', serif;
font-size: 13px;
}
.copyright p{
margin:auto;
width:100%;
max-width:1200px;    
}

/* Responsive */
@media (max-width: 768px) {
.pc-nav {
display: none;
}

.hamburger-menu {
display: block;
}

.sp-nav {
display: none;
position: absolute;
top: 100%;
left: 0;
width: 100%;
background-color: #fff;
}

.sp-nav.open {
display: block;
}

.sp-nav ul {
list-style: none;
padding: 0;
margin: 0;
}

.sp-nav li {
text-align: center;
border-bottom: 1px solid #ddd;
}

.sp-nav a {
display: block;
padding: 20px;
}

.first-view-text .sub-title {
font-size: 24px;
}

.main-title .large {
font-size: 80px;
}

.main-title .extra-large {
font-size: 100px;
}

.gallerys {
flex-wrap: wrap;
}

.gallery-item {
width: 50%;
}

.message-container,
.works-grid,
.recruit-content,
.local-activities-content,
.company-content,
.about-content,
.public-works-content {
flex-direction: column;
}

.message-item,
.works-item,
.recruit-text,
.recruit-images,
.local-activities-images,
.local-activities-text,
.company-img,
.company-info,
.about-img,
.about-text,
.public-works-text,
.public-works-img {
width: 100%;
}

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

.footer-container {
flex-direction: column;
text-align: center;
}

.footer-nav ul {
columns: 1;
}
}

/* ========================================
実績スライダーのスタイル
======================================== */

.works-slider-container {
position: relative;
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}

/* スライダー本体 */
.works-slider {
position: relative;
}
.works-slider .slick-track {
display: flex;
align-items: stretch;
}
.works-slider .slick-slide {
padding: 0 15px;
box-sizing: border-box;
}
.works-slider .slick-slide > div {
height: 100%;
}

/* 実績アイテムのスタイル */
.works-item {
border-radius:0px;
overflow: hidden;
transition: all 0.3s ease;
height: 100%;
display: flex;
flex-direction: column;
}
.works-item:hover {
transform: translateY(-8px);
}

.works-item a {
text-decoration: none;
color: inherit;
display: flex;
flex-direction: column;
height: 100%;
}
.works-item img {
width: 100%;
height: 200px;
object-fit: cover;
transition: transform 0.3s ease;
}
.works-item:hover img {
transform: scale(1.00);
}
.works-item-caption {
padding: 20px 0 0;
flex-grow: 1;
display: flex;
flex-direction: column;
}


/* カスタム矢印ナビゲーション */
.works-slider-nav {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 100%;
display: flex;
justify-content: space-between;
pointer-events: none;
z-index: 10;
}
.works-prev,
.works-next {
width: 50px;
height: 50px;
background: rgba(255, 255, 255, 0.95);
border: none;
border-radius:0;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
pointer-events: auto;
color: #333;
}
.works-prev:hover,
.works-next:hover {
background: white;
transform: scale(1.1);
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
color: #007cba;
}
.works-prev {
position:relative;
left: -65px;
}
.works-next {
position:relative;
right: -25px;
}

/* ドット表示 */
.works-slider-dots {
text-align: center;
margin-top: 30px;
display:none;
}
.works-slider .slick-dots {
position: static;
bottom: auto;
list-style: none;
display: flex !important;
justify-content: center;
padding: 0;
margin: 30px 0 0 0;
}
.works-slider .slick-dots li {
margin: 0 5px;
}
.works-slider .slick-dots li button {
width: 12px;
height: 12px;
border-radius: 50%;
border: none;
background: #ddd;
cursor: pointer;
transition: all 0.3s ease;
font-size: 0;
padding: 0;
}
.works-slider .slick-dots li.slick-active button {
background: #007cba;
transform: scale(1.2);
}
.works-slider .slick-dots li button:hover {
background: #007cba;
}

/* レスポンシブ対応 */
@media (max-width: 1024px) {
.works-prev {
left: -15px;
}
.works-next {
right: -15px;
}
.works-prev,
.works-next {
width: 45px;
height: 45px;
}
}

@media (max-width: 768px) {
.works-slider-container {
padding: 0 10px;
}
.works-slider .slick-slide {
padding: 0 10px;
}
.works-item img {
height: 180px;
}
.works-item-caption {
padding:40px 0px;
}
.works-item-caption h3 {
font-size: 16px;
}
.works-item-caption p {
font-size: 13px;
}
.works-prev,
.works-next {
width: 40px;
height: 40px;
}
.works-prev {
left: -10px;
}
.works-next {
right: -10px;
}
}

@media (max-width: 480px) {
.works-prev,
.works-next {
display: none; /* スマホでは矢印を非表示 */
}
.works-slider-container {
padding: 0 5px;
}
.works-slider .slick-slide {
padding: 0 5px;
}
}


/* 記事一覧のスタイル */
.news-list {
display: flex;
flex-direction: column;
gap: 20px;
}
.news-item {
border: 1px solid #e0e0e0;
border-radius: 8px;
padding: 20px;
transition: box-shadow 0.3s ease;
}

.news-item:hover {
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.news-meta {
display: flex;
gap: 15px;
margin-bottom: 10px;
font-size: 14px;
color: #666;
}
.news-category {
background: #f0f0f0;
padding: 2px 8px;
border-radius: 4px;
}
.news-title {
margin: 0;
font-size: 18px;
color: #333;
}
/* カテゴリー一覧のスタイル */
.category-list {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 20px;
}
.category-item {
border: 1px solid #e0e0e0;
border-radius: 8px;
padding: 20px;
text-align: center;
transition: transform 0.3s ease;
}
.category-item:hover {
transform: translateY(-5px);
}
.category-name {
margin: 0 0 10px 0;
color: #333;
}
.category-count {
font-size: 12px;
color: #999;
}

.hamburger-menu {
display: none;
background: none;
border: none;
cursor: pointer;
padding: 5px;
background:#2c39cb!important;
}
.hamburger-menu span {
display: block;
width: 25px;
height: 1px;
background-color: #FFF;
margin: 5px auto;
transition: all 0.3s ease;
transform-origin: center;    
}

/* ハンバーガーメニューのアニメーション */
.hamburger-menu.active span:nth-child(1) {
transform: rotate(45deg) translate(8px, 8px);
}
.hamburger-menu.active span:nth-child(2) {
opacity: 0;
}
.hamburger-menu.active span:nth-child(3) {
transform: rotate(-45deg) translate(3px, -4px);
}
.sp-nav {
display: none;
}
/* body.menu-openの時のスクロール制御 */
body.menu-open {
overflow: hidden;
}
/* Responsive */
@media (max-width: 768px) {
.pc-nav {
display: none;
}
.hamburger-menu {
display: block;
z-index:1000;
height:40px;
width:40px;
}
.sp-nav {
position: fixed; /* absoluteからfixedに変更 */
top: 0;
width:100%;
height: 100vh;
background-color: #fff;
box-shadow: -5px 0 15px rgba(0,0,0,0.1);
transition: right 0.3s ease;
z-index: 999;
padding-top: 80px; /* ヘッダー分の余白 */
overflow-y: auto;
}

/* activeクラスが付いた時に表示 */
.sp-nav.active {
right: 0;
display:block;
}
.sp-nav ul {
list-style: none;
padding: 20px 0;
margin: 0;
}
.sp-nav li {
text-align:center;
}
.sp-nav a {
display: block;
padding: 20px 30px;
text-decoration: none;
color: #333;
transition: all 0.3s ease;
}
.sp-nav a:hover {
background: #f8f9fa;
color: #2c39cb;
padding-left: 40px;
}
.sp-nav .button {
background: #2c39cb;
color: white !important;
margin: 20px 30px;
border-radius: 50px;
text-align: center;
}
}

/* オーバーレイを追加 */
.overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.5);
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
z-index: 998;
}
.overlay.active {
opacity: 1;
visibility: visible;
}
.sp-br{
display:none;
}


@media only screen and (orientation:landscape) and (max-width : 813px),(orientation:portrait) and (max-width : 753px){
.sp-br{
display:block;
}
.sp-none{
display:none;
}
.message-footer-img {
position: relative;
width: 100%;
height:100%;
overflow: hidden;
}
.message-footer-img iframe {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%); /* 要素自身の大きさの半分だけ移動して補正 */
margin:auto;
width: 300%;
max-width:300%;
height:100%;
object-fit:cover;
z-index: -1;
}   
.logo {
padding: 0;
letter-spacing: 0;
}
header.scrolled .hamburger-menu{
position:fixed;
right:0px;
top:0px;
}
.header-container {
display:flex;
padding: 10px 10px;
position:relative;
}
.logo-main img{
width:80px;
margin:10px 0 0;
}
.logo-main-txt-box{
background:#FFF;
display:table;
padding:0 10px;
}
.logo-en {
font-family: 'Inter', sans-serif;
font-size: 10px;
letter-spacing: 0.3em;
margin:-1px 0 0;
padding:0px 10px;
background:#FFF;
display:table;
color:#9c9c9c;
}
.logo-en:last-child{
padding:0 10px 5px;
}   
.hamburger-menu {
right:0px;
position:absolute;
top:0px;
}
.hamburger-menu {
display: block;
z-index:1000;
height:55px;
width:55px;
}

.title .en {
font-family: 'Cinzel', serif;
font-size: 38px;
font-weight: 700;
color: #000000;
margin: 0;
text-align:left;
letter-spacing: 0.1em;
}

#first-view {
padding:70px 10px 0 20px;
background:#2C39CB;
position:relative;
margin:0;
height: 100vh;
}
#first-view:before{
content:"";
background:#FFF;
top:10px;
left:10px;
position:absolute;
width:100%;
height:60%;
z-index:0;
}
.first-view-container{
height:80vh;
width:100%;
background:linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url('https://cyd-k.com/wp/wp-content/themes/generatepress-child/img/fv-bg.jpg') no-repeat center center /cover;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
text-align: center;
z-index:1;
position:relative;
margin:auto;
}
.first-view-text{
position:relative;
left:0;
bottom:0;
top:0;
right:0;
margin:auto;
text-align:left;
}
.first-view-text .sub-title {
font-family: 'Cinzel', serif;
font-size: 20px;
letter-spacing: 0.27em;
font-weight:bold;
margin:0;
padding:0;
text-align:left;
left:30px;
top:25px;
position:relative;
}
.main-title{
padding:0 10px 0;
position:relative;
top:0;
bottom:0;
left:-5px;
right:0;
margin:auto;
}
.main-title span {
font-family: 'Cinzel', serif;
font-weight: 700;
font-size:20px;
letter-spacing:2.6px;
}
.main-title span:nth-of-type(1){
display:block;
margin:0;
padding:0;
top:30px;
left:20px;
position:relative;
}
.main-title span.ssize-txt{
font-family: 'Shippori Mincho', serif;
font-size:18px;
font-weight: 500;
position:relative;
width:100%;
margin:40px 0 0;
display:block;
text-align:center;
}
.main-title span.ssize-txt:before{
content:"";
width:30px;
height:1px;
background:#FFF;
position: absolute;
left:0;
right:0;
margin:auto;
top:0;
}
.main-title .large {
font-size: 60px;
margin:0 10px;
position:relative;
top:15px;
}
.main-title .extra-large {
font-family: 'Inter', sans-serif;
font-size: 10px;
margin:0 10px 0;
position:relative;
top:30px;
}
.main-title .extra-large img{
width:80px;
}
.gallerys {
position:relative;
top:-50px;
right:-5%;
width: 900px;
display: flex;
flex-wrap:nowrap;
overflow:scroll;
}
.gallery-item {
width: 100%;
}
.gallery-item img {
width: 100%;
display: block;
}

/* News */
#news {
padding: 50px 0;
}
.news-h{
display:flex;
justify-content:center;
flex-wrap:wrap;
}
.news-h .title{
width:100%;
margin:0 0 30px;
}
.news-h .news-list{
width:100%;
}
.news-list article {
border-top: 1px solid #ddd;
}
.news-list article:last-child{
border-bottom: 1px solid #ddd;
}
.news-list a {
display: flex;
padding: 30px 20px;
align-items: center;
flex-wrap:wrap;
}
.news-list time {
font-family: 'Cinzel', serif;
font-size: 16px;
margin:0 0 10px;
}
.news-list h3 {
font-size: 17px;
font-weight: 700;
margin: 0;
}
.view-more {
margin-top: 50px;
display:flex;
position:relative;
width:100%;
justify-content:flex-end;
}
.view-more a{
display:flex;
justify-content: center;
padding: 10px 30px;
color: #000;
font-weight: bold;
transition: all 0.3s;
align-items:center;
width:auto;
flex-direction: row;
}

#message {
padding:0;
position:relative;
}
#message:before{
content:"";
background:#2c39cb;
top:0;
left:0;
position:absolute;
width:100%;
height:200px;
z-index:1;
}
#message .title{
margin:auto;
color:#FFF;
z-index:100;
position:relative;
top:70px;
left:0;
right:0;
width:100%;
max-width:100%;
padding:0 25px;
box-sizing:border-box;
}
#message .title .en{
color:#FFF;
}
.message-container {
justify-content: space-between;
margin:120px 0 0;
position:relative;
z-index:0;
}
.message-item {
max-width:1200px;
width: 99%;
position: relative;    
margin:auto;
}
.message-item-img img {
width: 100%;
position:relative;
z-index:-1;
filter: grayscale(100%);
}
.message-item-img{
position:relative;
width:98%;
height:550px;
margin:auto;
box-sizing:border-box;
}
.message-item-img img{
width:100%;
height:550px;
object-fit: cover;
object-position:top;
}
.message-item-img::before {
content: '';
position: absolute;
top: 0;
left: 0;
width:100%;
height:100%;
background-color: rgba(0, 0, 0, 0.5);
pointer-events: none;
}
.message-item-text {
width: 100%;
max-width: 1000px;
position: absolute;
top: 0;
bottom: 0;
left:0;
right: 0;
margin: auto;
transform: none;
color: #fff;
text-align: center;
display: flex;
align-items: center;
flex-wrap:wrap;
align-content: center;
justify-content: flex-start;
padding:0 30px;
}
.message-item:nth-of-type(2) .message-item-text{
display: flex;
flex-direction: column-reverse;
}
.message-item:nth-of-type(1) .message-jp img{
height:150px;
object-fit:contain;
position:relative;
top:40px;
}
.message-item:nth-of-type(2) .message-jp img{
height:190px;
object-fit:contain;
position:relative;
top:40px;
}
.message-item:nth-of-type(3) .message-jp img{
height:170px;
object-fit:contain;
position:relative;
top:40px;
}   
.message-l{
display:flex;
align-items:baseline;
margin:0 0 0 0;
}
.michi .message-l{
margin:0 0 0 0;
}
.michi .message-r{
margin:0 0 0;
padding:0;
box-sizing:border-box;
text-align:left;
}
.message-item-text .message-number {
font-family: 'Cinzel', serif;
font-size:65px;
opacity: 0.42;
position: absolute;
top:0;
right:20px;
font-weight: 500;
line-height: 1.8;    
}
.message-en {
font-family: 'Cinzel', serif;
font-size: 28px;
font-weight: 700;
letter-spacing: 0.22em;
}
.message-jp {
font-family: 'Inter', sans-serif;
font-size:100px;
margin:0 15px 0 0;
width:100px;
text-align:center;
position:relative;
bottom:-20px;
}
.message-item-text .message-r{
text-align:left;
} 
.message-item h4 {
font-size: 16px;
font-weight: 700;
text-align:left;
border-bottom:1px solid rgb(255 255 255 / 60%);
padding:0 0 10px;
margin:0 0 20px;
display:inline-block;
}
.message-item .message-l p {
font-size: 18px;
font-weight: 700;
line-height: 1.8;
margin:0 0 50px;
}
.message-item .message-r p{
text-align:left;
font-size: 24px;
font-weight: 500;
line-height: 1.5;
margin:0;
}
.message-footer-wrap{
position:relative;
background:#2c39cb;
}
.message-footer-wrap:before{
content:"";
background:#2c39cb;
top:-300px;
left:0;
position:absolute;
width:100%;
height:1020px;
z-index:-1;
}
.message-footer {
padding:0;
position:relative;
z-index:0;
margin:40px 0 20px;
width:100%;
padding:40px 20px 40px;
box-sizing:border-box;
}
.message-footer-img{
position:relative;
z-index:-1;   
height:600px;
width:100%;
max-width:1000px;
margin:auto;
}
.message-footer-img::before {
content: '';
position: absolute;
top: 0;
left: 0;
width:100%;
height:100%;
background-color: rgba(0, 0, 0, 0.5);
pointer-events: none;
}
.message-footer-img img{
width: 100%;
height:600px; 
object-fit:cover;
position:relative;
z-index:-1;
filter: grayscale(100%);
}
.message-footer-txt{
text-align: center;
color: #fff;   
position: absolute;
z-index:10;
margin:auto;
left:0;
right:0;    
bottom:0;
top:200px;
width:100%;
}
.message-footer p {
font-size: 18px;
line-height: 2.6;
margin:0 0 0px;
}
.message-footer h3 {
font-size: 18px;
margin:0 0 50px;    
}
.message-footer h3 span {
font-family: 'Inter', sans-serif;
font-size: 30px;
margin:0 15px 0;
position:relative;
top:40px;
}
.message-footer h3 span img{
width:100px;
}
.message-footer .en-footer {
font-family: 'Cinzel', serif;
font-size: 20px;
font-weight:700;
letter-spacing: 0.22em;
line-height:1.6;
margin:50px auto 0;
bottom:-110px;
left:0;
right:0;
max-width:1200px;
text-align:center;
position:relative;
}
   
#service {
padding: 100px 0;
}
#service .title{
margin:0;
letter-spacing: 0.1em;    
}
#service .title .en{
letter-spacing: 0.1em;
}
.service-intro {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 60px;
flex-wrap:wrap;
}
.service-intro h3 {
font-size: 26px;
line-height: 1.7;
}
.service-intro p {
width: 100%;
font-size: 16px;
line-height: 2;
}
.service-grid {
display: grid;
grid-template-columns: repeat(1, 1fr);
gap:40px;
margin:0 0 40px;
}
.service-grid2{
display: grid;
grid-template-columns: repeat(1, 1fr);
gap:40px;
}
.service-item {
position: relative;
}
.service-item img {
width: 95%;
box-shadow:20px 20px 0 0 #2c39cb;
}
.service-grid2 .service-item img {
width: 95%;
box-shadow:20px 20px 0 0 #2c39cb;
}
.service-item-content {
color: #000;
margin:50px 0 20px;    
}
.service-item-title {
display: flex;
align-items: center;
margin:0 0 20px;
}
.service-icon {
width: 24px;
height: 24px;
background-color: #2C39CB;
margin-right: 10px;
}
.service-item h4 {
font-size: 24px;
margin: 0;
}
.service-item p {
font-size: 16px;
line-height: 2.2;
}
#service .view-more {
margin-top: 0px;
display:flex;
position:relative;
width:100%;
justify-content:flex-end;
}   

#strength {
padding: 100px 0 0px;
color: #fff;
}
.strength-bg{
display:flex;
flex-wrap: wrap;
background:#2c39cb;
justify-content:center;
}
.strength-content {
position:relative;
width:100%;   
}
.strength-l{
position:absolute;
top:100px;
left:30px;
width:100%;
}
.strength-img{
position:relative;
z-index:0;   
height:400px;
}
.strength-img::before {
content: '';
position: absolute;
top: 0;
left: 0;
width:100%;
height:100%;
background-color: rgba(0, 0, 0, 0.5);
pointer-events: none;
}
.strength-img img{
width: 100%;
height:400px; 
object-fit:cover;
object-position:center;
position:relative;
z-index:-1;
filter: grayscale(100%);
}
.strength-content .title{
margin:0 0 0;
letter-spacing: 0.1em;    
}
.strength-content .title .en{
letter-spacing: 0.1em;
color:#FFF;
margin:10px 0;
}
.strength-text {
width:100%;
}
.strength-text h3 {
font-size: 24px;
line-height: 1.8;
font-weight:500;
}
.trust-mark{
display:flex;
align-items:baseline;
position:absolute;
bottom:-150px;
left:0px;
}
.trust-mark .jp {
font-family: 'Inter', sans-serif;
font-size: 120px;
margin:0 20px 0 0;
padding:0;
position:relative;
top:20px;
}
.trust-mark .jp img{
width:80px;
}
.trust-mark .en {
font-family: 'Cinzel', serif;
font-size: 32px;
letter-spacing: 0.22em;
margin:50px 0 0;
}
.strength-desc {
width:100%;
position:relative;
}
.strength-desc .strength-r{
position:relative;
top:0;
left:0;
width:100%;
padding:60px 30px 30px;
box-sizing:border-box;
}
.strength-desc p {
font-size: 16px;
line-height: 2;
}
.signature {
font-family: 'Inter', sans-serif;
font-size: 35px;
text-align:left;
}

#works {
padding: 100px 0 50px;
position:relative;
}
#works:before{
content:"";
background:#2c39cb;
bottom:0;
left:0;
position:absolute;
width:100%;
height:600px;
z-index:-1;
}
.works-title-box{
display:flex;
flex-wrap:wrap;
}
.works-title-box .title{
width: 100%;
margin:0 0 20px;
}
.works-intro{
width: 100%;
}
.works-intro p {
font-size: 16px;
line-height: 2.2;
margin:0 0 40px;
}
.works-grid {
display: flex;
justify-content: space-between;
margin-top: 40px;
position:relative;
}
.works-item {
width: 32%;
position: relative;
}
.works-item img {
width: 100%;
height: 250px;
border-radius:0;
}
.works-item-caption {
bottom: 20px;
left: 20px;
color: #FFF;
}
.works-item h3 {
font-size: 20px;
}
.works-item p {
font-size: 16px;
line-height: 1.8;
}
#works .view-more {
margin-top:0px;
display:flex;
position:relative;
width:100%;
justify-content:center;
}
#works .more-txt{
display:block;
margin:0 30px;
color:#FFF;
}
#works .arrow-icon {
width: 30px;
height: 30px;
background:#ffffff;
transform: rotate(45deg);
display: flex;
align-items: center;
justify-content: center;
position: relative;
transition: all 0.3s ease;
}
#works .arrow-icon::after {
content: '→';
color: #2c39cb;
font-size: 18px;
font-weight: bold;
transform: rotate(-45deg);
display: flex;
align-items: center;
justify-content: center;
}
#works .works-item {
border-radius: 0px;
}

#recruit {
padding: 100px 0 650px;
background-color: #FFF;
}
#recruit .title {
text-align: center;
margin:0 0 20px;
}   
.recruit-content {
display: flex;
align-items: center;
position:relative;
}
.recruit-text {
width:100%;
padding:0;
box-sizing:border-box;
}
.recruit-text h3 {
font-size: 28px;
line-height: 1.8;
}
.recruit-text p {
font-size: 16px;
line-height: 2.4;
}
.recruit-images {
width: 100%;
position:relative;
}
.recruit-images img:nth-of-type(1){
position:absolute;
top:30px;
left:0;
width:250px;
box-shadow:0 0 6px 0 rgb(0 0 0 / 8%);
}
.recruit-images img:nth-of-type(2){
position:absolute;
top:470px;
left:0;
width:150px;
box-shadow:0 0 6px 0 rgb(0 0 0 / 8%);
}
.recruit-images img:nth-of-type(3) {
position:absolute;
top:410px;
left:60%;
width:130px;
box-shadow:0 0 6px 0 rgb(0 0 0 / 8%);
}
#recruit .view-more {
margin: 40px 0 20px;
display:flex;
position:relative;
width:100%;
justify-content:flex-end;
}
#recruit .view-more a{
display:flex;
justify-content:flex-start;
padding: 10px 0px;
color: #000;
font-weight: bold;
transition: all 0.3s;
align-items:center;
width:200px;
flex-direction: row;
}
#recruit .view-more .more-txt{
display:block;
margin:0 30px 0 0;
}

#local-activities {
padding: 100px 0 750px;
background:#2c39cb;
}
#local-activities .title {
text-align: center;
margin-bottom:0px;
}   
#local-activities .container{
position:relative;
}
.local-activities-txt-box{
display:flex;
z-index:1;  
position:relative;
flex-wrap:wrap;
}
.local-activities-txt-box .title{
color:#FFF;
}
.local-activities-txt-box .title .en{
color:#FFF;
line-height:1.3;
margin:25px 0;
}
.local-activities-text {
width:100%;
padding:0;
color:#FFF;
}
.local-activities-text h3 {
font-size: 30px;
line-height: 1.8;
font-weight:500;
}
.local-activities-text p {
font-size: 16px;
line-height: 2.4;
}
.local-activities-images {
position:relative;
width:100%;
height:100%;
left:0;
top:0;
z-index:0;
}
.local-activities-images img:nth-of-type(1){
position:absolute;
bottom:0;
top:20px;
left:0px;
width:200px;
}
.local-activities-images img:nth-of-type(2){
position:absolute;
top:350px;
right:0;
width:180px;
}
.local-activities-images img:nth-of-type(3){
position:absolute;
bottom:-700px;
right:0;
left:0;
width:200px;
}
   
#company {
padding: 60px 0 30px;
}
#company .title{
margin:30px 0 40px;
}   
.company-content {display: flex;flex-direction: column-reverse;}
.company-img {
width: 100%;
}
.company-img img {
width: 100%;
}
.company-info {
width: 100%;
padding:0px 10px 40px;
box-sizing:border-box;
}
.company-info dl {
display: flex;
flex-wrap:wrap; 
gap: 10px;
}
.company-info dt {
font-weight: bold;
display:block;
width:100%;
font-size:16px;
margin:0;
padding:0;
}
#company .company-info dd{
margin:0 0 20px;
}
   
footer {
background: url('https://cyd-k.com/wp/wp-content/themes/generatepress-child/img/footer-bg.jpg') no-repeat center center/cover;
color: #fff;
padding-top:50px;
}
.footer-container {
display: flex;
justify-content: space-between;
padding:40px 30px 100px;
position: relative;
width:100%;
max-width:1200px;
margin:auto;
text-align:left;
box-sizing:border-box;
}
.footer-logo .logo-main {
font-size: 34px;
}
.footer-logo .logo-en {
font-family: 'Inter', sans-serif;
font-size: 12px;
letter-spacing: 0.59em;
margin:0;
padding:5px 0px;
background:none;
display:table;
color:rgb(255 255 255 / 50%);
}
.footer-info {
font-size: 18px;
}
.footer-nav ul {
list-style: none;
padding: 0;
columns: 2;
margin:0;
}
.footer-nav li {
margin-bottom: 20px;
padding:0 10px;
}

#second-first-view {
padding:70px 10px 0 20px;
background:#2C39CB;
position:relative;
margin:0;
height: 100vh;
}
#second-first-view:before{
content:"";
background:#FFF;
top:10px;
left:10px;
position:absolute;
width:100%;
height:60%;
z-index:0;
}
.second-first-view-container{
height:80vh;
width:100%;
background:linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url('https://cyd-k.com/wp/wp-content/themes/generatepress-child/img/second-fv-bg.png') no-repeat center center /cover;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
text-align: center;
z-index:1;
position:relative;
margin:auto;
}
#second-first-view .first-view-text{
position:relative;
left:0;
bottom:0;
top:0;
right:0;
margin:auto;
}
#second-first-view .first-view-text .sub-title {
font-family: 'Cinzel', serif;
font-size: 20px;
letter-spacing: 0.27em;
font-weight:bold;
margin:0;
padding:0;
text-align:left;
left:30px;
top:20px;
position:relative;
}

#second-first-view .main-title{
padding:0 10px 0;
position:relative;
top:0;
bottom:0;
left:-5px;
right:0;
margin:auto;
}
#second-first-view .main-title span {
font-family: 'Cinzel', serif;
font-weight: 700;
font-size:20px;
letter-spacing:2.6px;
}
#second-first-view .main-title span:nth-of-type(1){
display:inline-block;
margin:0;
padding:0;
top:0;
left:0;
position:relative;
}   
#second-first-view .main-title span.sp-none {
display:none;
margin:0;
padding:0;
top:30px;
left:20px;
position:relative;
}
#second-first-view .main-title span.ssize-txt{
font-family: 'Shippori Mincho', serif;
font-size:18px;
font-weight: 500;
position:relative;
width:100%;
margin:30px 0 0;
display:block;
text-align:center;
}
#second-first-view .main-title span.ssize-txt:before{
content:"";
width:30px;
height:1px;
background:#FFF;
position: absolute;
left:0;
right:0;
margin:auto;
top:0;
}
#second-first-view .main-title .large {
font-size: 90px;
margin:0 10px 0 0;
position:relative;
top:10px;
}
#second-first-view .main-title .extra-large {
font-family: 'Inter', sans-serif;
font-size: 10px;
margin:0 10px 0;
position:relative;
top:30px;
}
   
#about {
padding: 80px 0;
}
.about-content {
display: flex;
align-items: center;
flex-direction: column-reverse;
}
.about-img {
width: 100%;
}
.about-img img {
width: 100%;
}
.about-text {
width: 100%;
padding:0;
}
.about-text h3 {
font-size: 28px;
line-height: 1.8;
font-weight:bold;
}
.about-text p {
font-size: 16px;
line-height: 2.3;
margin:0 0 60px;
}

#public-works {
padding: 60px 0 0;
background-color: #2C39CB;
color: #fff;
}
#public-works .container {
padding:0;
}   
.public-works-content {
display: flex;
align-items: center;
}
.public-works-text {
width: 100%;
padding:0 0 0 0;
box-sizing:border-box;
padding: 0 25px;
}
.public-works-text .title{
margin:0 0 50px;
}
.public-works-text h2 {
font-size: 36px;
position:relative;
padding:0 0 0 60px;
}
.public-works-text h2:before {
content:"";
width: 25px;
height: 25px;
background:#ffffff;
transform: rotate(45deg);
display: flex;
align-items: center;
justify-content: center;
position: relative;
transition: all 0.3s ease;
position:absolute;
top:0;
left:0;
bottom:0;
margin:auto;
}
.public-works-text h4 {
font-size: 28px;
margin:0 0 40px;
font-weight:700;
}
.public-works-text p {
font-size: 16px;
line-height: 2.5;
}
.works-category {
margin: 40px 0;
}
.category-btn {
display: inline-block;
background-color: #fff;
color: #333;
padding: 10px 55px 10px 25px;
border-radius: 37px;
margin-right: 10px;
margin-bottom: 20px;
position:relative;
}
.category-btn:before {
content:"▼";
font-size:16px;
position:absolute;    
top:9px;
right:20px;
bottom:0;
margin:auto;
color:#2c39cb;
}
.public-works-img {
width: 100%;
height:400px; 
position:relative;
}
.public-works-img img{
width: 100%;
height:400px; 
object-fit:cover;
position:relative;
z-index:0;
filter: grayscale(100%);
}
.public-works-img:before {
content: '';
position: absolute;
top: 0;
left: 0;
width:100%;
height:100%;
background-color: rgba(0, 0, 0, 0.5);
pointer-events: none;
z-index:1;
}
.public-works-img .en {
font-family: 'Cinzel', serif;
font-size: 55px;
position:absolute;
bottom:-60px;
right:30px;
z-index:1;
font-weight:bold;
text-align:right;
letter-spacing: 0.1em;
}
.public-works-img .en span{
font-size: 45px;
font-weight:500;
display:block;
}


#list {
padding: 50px 0 50px;
background-color: #f2f2f2;
}
.list-category {
margin-bottom: 60px;
}
.list-category h2 {
font-size: 24px;
text-align: center;
margin: 40px 0 60px;
position: relative;
display: flex;
align-items: center;
justify-content: center;
gap: 1rem;
font-weight:bold;
}
.list-category h2::before,
.list-category h2::after {
content: '';
width: 60px;
height: 1px;
background: #333;
}


.list-category ul {
list-style: none;
padding: 0;
margin:0;
}
.list-category li {
background-color: #fff;
padding: 40px 25px;
margin-bottom: 20px;
border-left: 10px solid #2C39CB;
display:flex;
align-items:center;
border-radius:8px;
flex-wrap:wrap;
}
.list-category h4 {
font-size: 24px;
margin:0;
width:100%;
padding:0 0 50px 60px;
box-sizing:border-box;
position:relative;
}
.list-category h4:before{
content:"";
background:url(https://cyd-k.com/wp/wp-content/themes/generatepress-child/img/checkicon.svg)no-repeat center 100%;
width:30px;
height:30px;
position:absolute;
top:0;
left:0;
margin:auto;
}
.list-category p {
font-size: 15px;
line-height: 1.8;
margin: 0;
width:100%;
position:relative;
padding:0;
box-sizing:border-box;
}
.list-category p:before{
content:"";
height:1px;
width:100%;
background:#000;
top:-130%;
bottom:0;
left:0;
margin:auto;
position:absolute;
}

#company-sub {
padding: 100px 0;
}
   
}


.site-main .page-header{
position: initial;
text-align: center;
height: 350px;
display: flex;
align-items: center;
justify-content: center;
background: #ccc;
padding: 50px;
background: #2C39CB;
margin: 0;
}
.site-main .page-header:before{
content:"";
background:#FFF;
top:25px;
left:25px;
position:absolute;
width:80%;
height:250px;
z-index:0;
}
.site-main .page-header h1{
height:250px;
width:90%;
background:linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url('https://cyd-k.com/wp/wp-content/themes/generatepress-child/img/fv-bg.jpg') no-repeat center center /cover;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
text-align: center;
z-index:1;
position:relative;
margin:auto;
font-size:24px;
}

.inside-article .entry-header{
position: initial;
}

.content-area{
background:#2c39cb;
}
.content-area .site-main{
}
.content-area .inside-article{
background:#FFF;
}
.content-area .entry-content{
max-width:1200px;
width:100%;
margin:auto!important;
display:block;
background:#FFF;
padding:30px;
}
.content-area .entry-content h2.wp-block-heading{
font-weight:bold;
margin:40px 0 20px;
}
.content-area .entry-content p{
font-size:16px;
}
.content-area .entry-content .snow-monkey-form{
width:100%;
margin:80px 0 0;
}
.content-area .entry-content .snow-monkey-form input{
width:100%;
}
.content-area .smf-form--business .smf-item{
border:0;
}
.content-area .smf-form--business .smf-item__col--label {
border-bottom: none;
border-right: 0px solid #ddd;
flex: 0 0 14em;
max-width: 14em;
margin:10px 0;
display:flex;
align-items:center;
background:#eaecff;
border-radius:5px;
font-weight:bold;
}
.content-area .entry-content .snow-monkey-form button{
width:300px;
max-width:100%;
border:0;
background:#2c39cb;
color:#FFF;
font-weight:bold;
padding:15px 20px;
border-radius:50px;
font-family: 'Zen Old Mincho', serif;
font-size:20px;
}
.entry-header{
position: initial;
text-align: center;
height: 350px;
display: flex;
align-items: center;
justify-content: center;
background: #ccc;
padding: 50px;
background: #2C39CB;
margin: 0;
}
.entry-header:before{
content:"";
background:#FFF;
top:25px;
left:25px;
position:absolute;
width:80%;
height:250px;
z-index:0;
}
.recruit-table table{
border:0;
background:#FFF;
border-collapse: separate;
border-spacing: 2px;
background-color:#FFF!important;
}
.recruit-table table tr{
border:0;
background:#FFF;
}
.recruit-table table tr td:nth-of-type(1){
border:0;
background:#eaecff;
width:30%;
padding:20px;
font-weight:bold;
}
.recruit-table table tr td:nth-of-type(2){
border:0;
background:#f7f8ff;
}
.recruit-bt .wp-block-button .wp-block-button__link{
padding:15px 35px;
background:#2c39cb!important;
font-weight:bold;
width:300px;
max-width:100%;
margin:0 0 80px;
}
.entry-header h1{
height:250px;
width:90%;
background:linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url('https://cyd-k.com/wp/wp-content/themes/generatepress-child/img/fv-bg.jpg') no-repeat center center /cover;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
text-align: center;
z-index:1;
position:relative;
margin:auto;
font-size:24px;
}
.page-id-61 .entry-header h1{
height:250px;
width:90%;
background:linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url('https://cyd-k.com/wp/wp-content/uploads/2025/07/contact-2048x652.png') no-repeat center center /cover;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
text-align: center;
z-index:1;
position:relative;
margin:auto;
font-size:24px;
}
.page-id-56 .entry-header h1{
height:250px;
width:90%;
background:linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url('https://cyd-k.com/wp/wp-content/uploads/2025/07/message2-1-2048x652.png') no-repeat center center /cover;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
text-align: center;
z-index:1;
position:relative;
margin:auto;
font-size:24px;
}

.news-archive,.category-list{
max-width: 1200px;
width: 100%;
margin: 0 auto 80px !important;
display: block;
background: #FFF;
padding: 30px;
border-radius: 20px;
}

@media only screen and (orientation:landscape) and (max-width : 813px),(orientation:portrait) and (max-width : 753px){
.site-main .page-header h1{
height:300px;
width:100%;
background:linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url('https://cyd-k.com/wp/wp-content/themes/generatepress-child/img/fv-bg.jpg') no-repeat center center /cover;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
text-align: center;
z-index:1;
position:relative;
margin:auto;
}
.entry-header h1{
height:300px;
width:100%;
background:linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url('https://cyd-k.com/wp/wp-content/themes/generatepress-child/img/fv-bg.jpg') no-repeat center center /cover;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
text-align: center;
z-index:1;
position:relative;
margin:auto;
}
.page-id-61 .entry-header h1{
height:300px;
width:1000%;
background:linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url('https://cyd-k.com/wp/wp-content/uploads/2025/07/contact-2048x652.png') no-repeat center center /cover;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
text-align: center;
z-index:1;
position:relative;
margin:auto;
}
.page-id-56 .entry-header h1{
height:300px;
width:100%;
background:linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),url('https://cyd-k.com/wp/wp-content/uploads/2025/07/message2-1-2048x652.png') no-repeat center center /cover;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
text-align: center;
z-index:1;
position:relative;
margin:auto;
}
.entry-header{
position: initial;
text-align: center;
height: 370px;
display: flex;
align-items: center;
justify-content: center;
background: #ccc;
padding: 0 10px 0 20px;
background: #2C39CB;
margin: 0;
}
.entry-header:before{
content:"";
background:#FFF;
top:10px;
left:10px;
position:absolute;
width:100%;
height:250px;
z-index:0;
}
.smf-form--business .smf-item__col{
padding:0;
}
.content-area .smf-form--business .smf-item__col--label {
border-bottom: none;
border-right: 0px solid #ddd;
flex: 0 0 14em;
max-width:100%;
margin:30px 0 0;
display:flex;
align-items:center;
background:#eaecff;
border-radius:5px 5px 0 0;
font-weight:bold;
padding:10px 10px;
box-sizing:border-box;
}
.content-area .entry-content .snow-monkey-form input{
width:100%;
border-radius:0px 0px 5px 5px;
border:1px solid #efefef;
}
.content-area .entry-content .snow-monkey-form textarea{
width:100%;
border-radius:0px 0px 5px 5px;
border:1px solid #efefef;
}
.content-area .entry-content h2.wp-block-heading{
font-weight:bold;
margin:0px 0 20px;
font-size:24px;
}

.recruit-table table{
border:0;
background:#FFF;
border-collapse: separate;
border-spacing:2px;
background-color:#FFF!important;
}
.recruit-table table tr{
border:0;
background:#FFF;
}
.recruit-table table tr td:nth-of-type(1){
border:0;
background:#eaecff;
padding:20px;
display:block;
width:100%;
font-weight:bold;
}
.recruit-table table tr td:nth-of-type(2){
border:0;
background:#f7f8ff;
display:block;
width:100%;
padding:15px 20px;
}

.site-main .page-header{
position: initial;
text-align: center;
height: 350px;
display: flex;
align-items: center;
justify-content: center;
background: #ccc;
background: #2C39CB;
padding: 0 10px 0 20px;
}
.news-archive,.category-list{
width: 95%;
margin: 0 auto 50px !important;
border-radius: 10px;
padding:20px 15px;
}
.news-list a {
display: flex;
padding: 10px;
align-items: center;
flex-wrap:wrap;
}  
.site-main .page-header:before{
content: "";
background: #FFF;
top: 10px;
left: 10px;
position: absolute;
width: 100%;
height: 250px;
z-index: 0;
}

.site-main{
overflow:hidden;
}

}