/* layout for mobile */
body {
    background-color: #041121;
    color: #e0e0e0;
    font-family: 'Noto Sans JP', sans-serif;
} 

a{
    color: #FFFFFF;
}

a:visited {
    color: #FFFFFF;
}

#hero {
    margin: 0px 0px 0px 0px;
}

#greetings {
    margin: 0px  0px 0px 0px;
    padding: 50px 30px 50px 30px;
}

#services {
    margin: 0px 0px 0px 0px;
    padding: 50px 30px 50px 30px;
}

#information {
    margin: 0px 0px 0px 0px;
    padding: 50px 30px 50px 30px;
}

#about {
    margin: 0px 0px 0px 0px;
}


/* layout for Tablet */
@media screen and (min-width:481px){

    #greetings {
	display: flex;
        padding: 100px 30px 0px 30px;
        align-items: center;
        flex-direction: column;
    }

    #services {
	display: flex;
	padding: 100px 30px 0px 30px;
	align-items: center;
	flex-direction: column;
    }

    #information {
	display: flex;
        padding: 100px 30px 0px 30px;
        align-items: center;
        flex-direction: column;
    }
}

/* layout for PC */
@media screen and (min-width:960px){

    #greetings {
        padding: 100px 80px 100px 80px;
    }

    #services {
        padding: 100px 80px 100px 80px;
    }

    #information {
        padding: 100px 80px 100px 80px;
    }
}

.l-hero {
    height: 450px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    background-position: 50%;
    background-size: cover;
    background-repeat: no-repeat;
}

.l-inner {
    background-image: url(/uploads/background.avif);
    padding: 10px 10px 10px 10px;
}

.l-message {
    margin: 20px 0px 0px 0px;
}

.l-message h2 {
    margin: 0px 0px 34px 0px;
 
    font-weight: 900;
    font-size: clamp(1.4rem, 5vw, 4rem);
    line-height: 1.2;
    letter-spacing: -0.02em; /* 詰めることで強さを出す */
    color: #FFFFFF;  
};

.l-services {
    margin: 40px 0px 0px 0px;
}

.l-information {
    margin: 0px 0px 0px 0px;
    width: 100%;
/*    border-top: 2px solid #FFFFFF;*/
}

.l-information article {
    /* border-bottom: 2px solid #FFFFFF; */
}

.l-company {
    margin: 40px 0px 0px 0px;
    padding: 50px 30px 50px 30px;
}

.l-company-info {
    width: 100%;
}

.l-company-info dl {
    margin: 40px 0px 0px 0px;
}

.l-company-map iframe {
    width:  100%;
    height: 400px;
    border: 0;
}

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

    .l-hero {
        height: 530px;
    }

    .l-inner {
	width: 80%;
	max-width: 1320px;
	padding: 20px 20px 20px 20px;
    }

    .l-message {
        margin: 40px 0px 0px 0px;
    }

    .l-company {
	padding: 100px 30px 0px 30px;
	display: flex;
	flex-direction:column;
	align-items: center;
   }
}

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

    .l-hero {
        height: 720px;
	background-position-y: 25%;
    }

    .l-inner {
        display: flex;
        padding: 40px 40px 40px 40px;
    }

    .l-message {
        margin: 0px 0px 0px 0px;
    }

    .l-message h2 {
        margin: 0px 0px 40px 0px;     
    }

    .l-services {
        margin: 0px 0px 0px 0px;
    }

    .l-company {
	padding: 100px 80px 0px 80px;
    }
}


/* component for Mobile */
.c-tagline {
    margin: 0px 0px 10px 14px;

    font-family: 'Inter', 'Noto Sans JP', sans-serif;
    font-weight: 900;
    font-size:  clamp(2rem, 10vw, 8rem); /*画面幅に応じて巨大に可変 */
    line-height: 1.05;
    letter-spacing: -0.05em;
    text-transform: uppercase; /* 英字はすべて大文字 */
 
    /* 権威を出すための「重さ」の演出 */
    color: #FFFFFF;
    text-shadow: 0 10px 30px rgba(0,0,0,0.5); /* 文字の背後にわずかな奥行き */
}

.c-title {
    border-bottom: 2px solid rgb( 205, 205, 205);

    color: #FFFFFF;
    font-size: 14px;
    font-weight:bold;
    line-height: 1.4;
    margin-block-start:0.83em;
    margin-block-end:0.83em;
    margin-inline-start: 0px;
    margin-inline-end:0px;


    margin: 0px 0px 0px 0px;

    padding: 0px 0px 4px 0px;
    width: fit-content;
}

.c-description {
    font-size: 12px;
    margin: 0px 0px 0px 0px;
}

.c-description ul {
    font-weight: 300;
}

.c-work {
    margin: 0px 0px 50px 0px;
}

.c-work h2 {
    font-weight: 900;
    font-size: clamp(1.3rem, 4vw, 3rem);
    letter-spacing: -0.02em; /* 詰めることで強さを出す */

    margin: 15px 0px 15px 0px;
    color: #FFFFFF;
}

.c-work-desc {
    margin: 0px 0px 26px 0px;

    font-weight: 300;
    font-size: 12px;
    letter-spacing: 0.15em; 
}

.c-work-img {
    display: flex;
    justify-content: space-around;
}

.c-work-img img {
    display: none;
    width: 100%;
    height: auto;
}

.c-work-img img:first-child {
    display: block;
}

.c-information {
    margin: 0px 0px 50px 0px;
}

.c-company {
    margin: 0px 0px 30px 0px;  
}


.c-company dt {
    border-bottom: 1px solid rgb(205, 205, 205);
    font-size: 12px;
    margin: 0px 0px 10px 0px;
    padding: 0px 0px 2px 0px;
    width: fit-content;
}

.c-company dd {
    border-bottom: 1px solid rgb(220, 220, 220);
    font-size: 14px;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 2px 0px;
    width: 100%;
}

.c-company ul {
    padding-inline-start: 20px;
}

/* component for Tablet */
@media screen and (min-width:481px){

    .c-title {
        font-size: 16px;
    }

    .c-work {
        margin: 0px 0px 56px 0px;
    }

    .c-work-img img {
       display: block;
       width: 35%;
       object-fit: contain;
    }

    .c-work-img img:first-child {
       width: 50%;
    }

    .c-company {
        display: flex;
    }
    

    .c-company dt {
	display: flex;
        width: 100px;
        margin: 0px 8px 0px 0px;
        padding: 0px 6px 6px 0px;
	align-items: center;
    }

    .c-company dd {
        padding: 0px 6px 6px 0px;
    }
}

/* component for PC */
@media screen and (min-width:960px){

    .c-tagline {
	margin: 0px 0px 0px 15px;
    }

    .c-title {
        border-bottom: 0px solid rgb( 205, 205, 205);
        border-right:  2px solid rgb( 205, 205, 205);
        font-size: 18px;
	margin: 0px 80px 0px 0px;
	padding: 0px 0px 0px 0px;
        height: fit-content;
	-webkit-writing-mode: vertical-rl;
    }

    .c-description {
        font-size: 18px;
    }
    
    .c-work {
        margin: 0px 0px 70px 0px;
    }

    .c-work-desc {
        font-size: 18px;
    }

    .c-company {
        margin: 0px 0px 25px 0px;
    }
}



