@charset "utf-8";




body{
    background-image: url(../img/bg.jpg);
    background-repeat: repeat;
    background-size: cover;
    color: rgb(230,230,230);
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: normal;
}

a{
    color: rgb(230,230,230);
}

h1{
    font-size: 24px;
    font-weight: 200;
}

h2{
    font-size: 16px;
    font-weight: 200;
}

footer  p{
    text-align: center;
}

/* top */
header{
    width: 80%;
    margin: 0 auto;
}

header h1 img{
    text-align: center;
    width: 100%;
}

main{
    margin-top: 200px;
    text-align: center;
}

main h1{
    line-height: 2;
}

main p{
    line-height: 6;
    margin-top: 100px;
}

.consultation{
    margin-top: 200px;
    text-align: center;       
}

.consultation ul{
    margin-top: 100px;
    text-decoration: none;
}

.consultation ul li{
    margin: 2em auto;
}

.contents{
    margin-top: 200px;
    text-align: center;
}

.contents ul{
    text-decoration: none;  
}

.contents ul li{
    margin: 150px auto;
    width: 100%;
}

.contents ul li img{
    margin-bottom: 25px;
    width: 10%;
}

/* phirosophy */
.kv{
    margin-top: 100px;
    text-align: center;
    width: 100%;
}

.kv img{
    margin-bottom: 25px;
    width: 10%;
}

.top_cont{
    margin-top: 200px;
    text-align: center;
}

.top_cont h1{
    line-height: 2;
}

.top_cont p{
    line-height: 2;
    margin-top: 100px;
}

.phirosophy_messages_cont{
    margin-top: 200px;
    text-align: center;
}

.phirosophy_messages{
    margin-top: 150px;
}

.phirosophy_messages h2{
    font-size: 24px;
}

.phirosophy_messages h3{
    font-weight: 200;
    font-size: 18px;
    margin-top: 100px;
}

.phirosophy_messages p{
    line-height: 2.5;
    margin-top: 50px;
}

.contents_list{
    width: 90%;
    margin: 100px auto;
}

.contents_list ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    list-style-type: none;
}

.contents_list ul a{
    width: 30%;
    display: block;
    margin: 50px auto;
}

.contents_list ul a li{
    text-align: center;
}

.contents_list ul a li img{
    width: 30%;
}

.contents_list ul a li h2{
    font-size: 12px;
    margin-top: 2em;
}

.process{
    width: 90%;
    margin: 50px auto 200px;
    display: flex;
    justify-content: center;
}

.process img{
    width: 100%;
}

/* service */

.service_cont{
    margin-top: 200px;
}

.service_items{
    text-align: center;
    margin-bottom: 200px;
}

.dot{
    margin-top: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100px;
}

.dotted-line {
    border-left: 2px dashed rgb(230,230,230);
    height: 100px;
}

.service_items h3{
    font-size: 16px;
    font-weight: 200;
    color: green;
    background-color: rgb(230,230,230);
    width: 50%;
    margin: 0 auto 50px;
    height: 50px;
    line-height: 50px;
}

.service_items p{
    line-height: 2.5;
    margin-top: 50px;
}

.material{
    width: 50%;
    height: 50px;
    margin: 0 auto 50px;
    padding: 20px;
    line-height: 25px;
    border:2px dashed rgb(230,230,230) ;
}

.material_2{
    width: 50%;
    height: 50px;
    margin: 0 auto 50px;
    padding: 20px;
    line-height: 50px;
    border:2px dashed rgb(230,230,230) ;
}

.material_3{
    width: 50%;
    height: 50px;
    margin: 0 auto 50px;
    padding: 20px;
    line-height: 16px;
    border:2px dashed rgb(230,230,230) ;
}

/* contact */
.contact_cont{
    margin-top: 200px;
    text-align: center;
}


/* General form styling */
#form {
    color: rgb(230,230,230); /* White text color */
    max-width: 400px;
    margin: 0 auto;
    padding: 20px;
    border: 2px dashed rgb(230,230,230); 
    border-radius: 10px;
    background-image: url(../img/bg.jpg);
}

/* Styling for labels and inputs */
#form label {
    display: block;
    margin-bottom: 5px;
}

#form input[type="text"],
#form input[type="email"],
#form input[type="tel"],
#form textarea {
    width: 80%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px dashed rgb(230,230,230); 
    border-radius: 5px;
    background-image: url(../img/bg.jpg);
    color: rgb(230,230,230);
}

#form input[type="checkbox"] {
    margin-right: 5px;
}

#form input[type="submit"] {
    background-image: url(../img/bg.jpg);
    color: rgb(230,230,230);
    padding: 10px 20px;
    border: 2px dashed rgb(230,230,230);
    border-radius: 5px;
    cursor: pointer;
}

#form input[type="submit"]:hover {
    background-image: url(../img/bg.jpg);
}

/* recruit */

.recruit_cont{
    font-size: 12px;
    width: 90%;
    margin: 100px auto;
}


.recruit_cont p{
    line-height: 2;
    margin-bottom: 50px;
}

/* hamburger */
  /* ハンバーガーアイコン（右上固定） */
  .hamburger-icon {
    width: 30px;
    height: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    position: fixed;
    top: 20px;
    right: 20px;
    cursor: pointer;
    z-index: 1001;
  }

  .hamburger-icon div {
    width: 100%;
    height: 4px;
    background-color: rgb(230,230,230);
    border-radius: 2px;
  }

  /* スライドメニュー */
  .menu-overlay {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: #f5d26d;
    display: none;
    z-index: 999;
  }

  .menu {
    position: fixed;
    top: 0;
    right: -100%;
    width: 80%;
    max-width: 300px;
    height: 100%;
    background-color: #f5d26d;
    color: white;
    padding: 50px 20px;
    box-shadow: -5px 0 15px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    transition: right 0.3s ease;
    z-index: 1000;
  }

  .menu a {
    color: white;
    text-decoration: none;
    font-size: 18px;
  }

  .menu a:hover {
    text-decoration: underline;
  }

  /* メニュー表示の切り替え */
  .menu.show {
    right: 0;
  }

  .menu-overlay.show {
    display: block;
  }

  /* animation */
.ink-fade-in {
    opacity: 0;
    filter: blur(8px);
    transform: scale(0.95);
    transition: opacity 1.5s ease, filter 1.5s ease, transform 1.5s ease;
    }

    .ink-fade-in.show {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
    }

br.phone{
    display: none;
}

@media screen and (max-width:720px) {
    br.phone{
        display: block;
    }

    p{
        font-size: 12px;
    }

    li{
        font-size: 12px;
    }

    h1{
        font-size: 18px;
    }

    h2{
        font-size: 16px;
    }

    .kv img{
        width: 35%;
    }

    h3{
        font-size: 14px;
    }

    .contents_list ul a {
        width: 40%;
    }

    .material_2 {
        width: 70%;
        height: 50px;
        margin: 0 auto 50px;
        padding: 5px;
        line-height: 25px;
        border: 2px dashed rgb(230,230,230);
        font-size: 12px;
      }

      .material{
        width: 90%;
        height: 50px;
        margin: 0 auto 50px;
        padding: 5px;
        line-height: 17px;
        border: 2px dashed rgb(230,230,230);
        font-size: 12px;
      }
      .material_3 {
        width: 70%;
        height: 65px;
        margin: 0 auto 50px;
        padding: 5px;
        line-height: 15px;
        border: 2px dashed rgb(230,230,230);
        font-size: 12px;
      }

      .service_items h3 {
        font-size: 16px;
        font-weight: 200;
        color: green;
        background-color: rgb(230,230,230);
        width: 90%;
        margin: 0 auto 50px;
        height: 50px;
        line-height: 50px;
      }


}

