@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Alfa+Slab+One&family=Caprasimo&family=Lilita+One&family=Luckiest+Guy&display=swap');
body{
    background-color: #F9F9C7;
    font-size: clamp(15px, 1.5vw, 17px);
}
h2,.white,ul li a,.more,.work-all h3{
    font-family: "Luckiest Guy", cursive;
}
.title{                         
    max-width: 520px;
    margin: 5em auto 8em;
    width: 100%;
}
.title img{
    display: block;
    width: 100%;
    height: auto;
}
div{
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.logo {
  position: fixed;     /* スクロールしても固定 */
  top: 10px;           /* 上から20px */
  left: 20px;          /* 左から20px */
  z-index: 1000;       /* 他の要素の上に表示 */
}

.logo img {
  height: 130px;        /* ロゴ画像のサイズ（必要に応じて調整） */
  width: auto;
}
h2{
    color:#EC2B8B ;
    font-size: clamp(45px, 6vw, 72px);
    letter-spacing: 2px;
}
.point{
    color: #0C7F91;
}
footer{
    background-color: #EC2B8B;
    padding: 2em 2em 1em;
    margin-top: 6rem;
}
.white{
    color: white;
    font-size: 150%;
}
.copy{
    color: white;
    font-size: 120%;
    font-family: "Lilita One", sans-serif;
    margin-top: 3rem;
}
.title,h2,.foryou,.contact,footer {
    text-align: center;
}
.top{
    max-width: 100%;
    font-size: 32px;
    display: flex;         
    justify-content: flex-end; 
    gap: 30px;               
    list-style: none;        
    padding: 0;              
    margin: 0.5em;               
}
.end{
    max-width: 100%;
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 20px;
    padding: 0%;
    margin: 0%;
}
ul li a{
    color: #EC2B8B;
    text-decoration: none;
}
ul li a:hover{
    color: #ED89BB;
}
.foryou {
    padding: 1em 2em 3em;          
    background-color: rgba(255,255,255,0.6); 
    max-width: 600px;   
    margin: 1em auto; 
}
.works-container {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 20px;
 }
.work-item {
    width: 30%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
 }
.work-img {
    height: 300px;       
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(255,255,255,0.7); 
    padding: 15px;
    box-sizing: border-box;
 }
.work-img img{
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;  
    transition: transform 0.3s ease;
}
.work-img img:hover{
    transform: scale(1.07);
}
.work-item p {
    font-weight: bolder;
    margin: 10px 0 0px;
    font-size: clamp(18px, 1.9vw, 22px);
}
.work-tag {
    color: #4e4b4b;
    font-size: 0.8em;
    vertical-align: top;
    margin-left: 0.6em;
}
.more{
    max-width: 100%;
    display: block;
    width: fit-content;
    margin-left: auto;
    margin-top: 2em;
    text-decoration: none;
    font-size: 200%;
    padding: 3px 15px;
    background-color: #0C7F91;
    border-radius: 20px;
    color: white;
    margin-right: 8%;
}
.more:hover{
    color: #b0d9df;
}
.foryou p,.contact{
    line-height: 2;
}
.space{
    display: inline-block;
    margin-bottom: 1em;
}
.about{
    display: flex;
    align-items: center;
    width: 90%;
}
.about .text{
    width: 100%;
    height: auto;
    line-height: 1.7;
}
.about p img{
    width: 100%;
    margin: 0 20px;
}
.contact h2{
    margin-bottom: 0.3em;
}
.contact p{
    margin-top: 0;
    margin-bottom: 3em;
}
.contact a{
    background-color:#0C7F91 ;
    color: white;
    font-size: 1.2em;
    font-weight: bolder;
    text-decoration: none;
    padding: 0.8em 1.5em;
    border-radius: 20px;
    display: inline-block;         /* transformを効かせるため */
    transition: transform 0.3s ease;
}
.contact a:hover{
    transform: scale(1.1);
}
.list-all{
    display: flex;
    flex-direction: column;
    max-width: 950px;
}
.list{
    display: flex;
    margin: 1em;
    margin-left: 3em;
    background-color: rgba(255,255,255,0.7);
}
.list img{
    width: 150px;
    height: 120px;
    object-fit: contain;
    display: block;
    margin: 1em 3em 1em 3em;
    flex-shrink: 0;
}
.service-text{
    margin: 0;
}
.service-text h3{
    font-size: clamp(18px, 1.9vw, 20px);
    margin: 2em 0 1em;
}
.service-text p{
    margin-top: 0;
    
}
.work-link{
    width: 100%;
    list-style: none;
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 3em 0;
    gap:clamp(0.5em,5.6vw,4em);
}
.work-link li a{
    background-color:#F9F9C7;
    border:2px solid #0C7F91;
    padding: 5px clamp(1em,3.5vw,2.5em);
    border-radius: 10px;
    color:#0C7F91;
    font-size: clamp(24px, 3vw, 36px);
}
.work-link li a:hover{
    color: #659da5;
}
.work-all{
    flex-direction: column;
    width: 85%;
}
.work-all h3{
    display: inline-block;
    font-size: clamp(28px,2.7vw,34px);
    margin-top: 7rem;
    color: #0C7F91;
    border-bottom: 2px solid #0C7F91;
    padding: 0 1rem;
    letter-spacing: 2px;
}
.work-list{
    display: flex;
    gap: 4em;
    align-items: center;
    margin-bottom: 4em;
}
.image-box{
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 350px;
    height: 100%;
}
.image-box img{
    max-width: 100%;
    height: auto;
    object-fit: contain;    
    display: block;
}
.work-list .text{
    flex: 1;
}
.work-title{
    font-size: clamp(18px, 1.9vw, 20px);
    font-weight: bolder;
}
.maintext{
    margin-left: 0.5em;
}
.toolblock{
    margin-left: 0.5em;
    line-height: 3em;
}
.tool{
    color: #0C7F91;
    font-weight: 600;
    border: solid 1px #0C7F91;
    border-radius: 5px;
    display: inline-flex;           /* 中央揃え用 */
    align-items: center;            /* 上下中央 */
    justify-content: center;        /* 左右中央 */
    padding: 0 10px;                /* 左右だけ余白 */
    width: 100px;                   /* 枠の幅を統一 */
    height: 2.2em;                  /* 高さを揃える（line-heightよりこっちのほうが柔軟） */
    margin-right: 1em;
}
.site{
    font-size: 1rem;
    color: rgb(162, 116, 56);
    margin-left: 1rem;
    display: inline-block;         
    transition: transform 0.3s ease;
}
.site:hover{
    transform: scale(1.1);
}
@media(max-width:768px){
    .sp-none{
        display: none;
    }
    header nav {
        order: 2;
        width: 100%;
    }

    .title {
        order: 1;
        text-align: center;
        margin: 1em auto;
    }

    .top {
        flex-direction: column;
        text-align: center;
        gap: 7px;
        margin: 0 auto;
        width: fit-content;
    }

    .top li a {
        font-size: 28px;
        display: block;
        padding: 0.5em clamp(1.5em,14.6vw,4em);
        background-color: #F9F9C7;
        border-radius: 5px;
        margin-bottom: 0.5em;
        box-shadow: 1px 1px 2px 2px ;
        text-align: center;
    }

    header {
        display: flex;
        flex-direction: column; 
        align-items: center;
    }  
    .foryou,.list{
        width: 100%;
        margin: 1em 0;
        padding: 1em 2em;
        box-sizing: border-box;
        margin: 10px auto;
    }

    .text h3{
        margin-top: 0;
    }
    .works-container {
        display: flex;
        flex-direction: column;
        gap: 2em;
    }

    .work-item {
        text-align: start;
        display: flex;
        gap: .8em;
        width: 100%;
    }

    .work-img {
        flex: 0 0 20%; 
    }

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

    .work-item p {
        margin: 0;
        line-height: 1.5;
        word-break: break-word;
    }
    .about{
        flex-direction: column;
    } 
    .about-img{
        text-align: center;
    }
    .about-img img{
        max-width: 80%;
    } 
    .work-list{
        flex-direction: column;
        gap: 0;
        width: 100%;

    }
    .image-box{
        width: 100%;
        max-width: 100%;
    }
    .image-box img{
        width: 100%;
        height: auto;
        display: block;

    }     
    .work-list .text {
        width: 100%;
        text-align: left; 
        margin: 0;
        padding: 0 1em;
    }       
      .end{
        max-width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 480px){
  .foryou p,.contact p{
    text-align: left;
    }
    .list {
        flex-direction: column;
        text-align: left;
    }
    .list img {
        max-width: 100%;
        height: 150px;
        margin-left: auto;
        margin-right: auto;
    }
    .work-link{
        flex-direction: column;
        text-align: center;
        margin: 0 auto 3em;
        width: fit-content;
    }
    .work-link li a{
        display: block;
    }

}
