@charset "utf-8";

/* コーポレートカラー #a2c7c9
文字 #6b584b
アクセントカラー #07575b 
薄い緑 #dae9e9
ピンク　#c9a3b4
補色　#c9a5a3*/

.top-margin {
    margin-top: 70px;
}

.mv-area{
    position: relative;
    margin-bottom: 30px;
}

.mv-contents{
    position: absolute;
    width: max-content;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}


.mv-contents .logo{
    margin-bottom: 10px;
}


.mv-contents .catch{
    color: #fff;
    font-weight: bold;
    font-size: 24px;
    text-shadow: 2px 2px 2px rgba(0,0,0,0.8);
}

.mv-contents .catch span{
    font-size: 32px;
}

.appeal-points{
    position: absolute;
    width: 100%;
    bottom: 0;
    background-color: rgba(162, 199, 201,0.5);
    text-align: center;
    color: #fff;
    text-shadow: 2px 2px 2px rgba(0,0,0,0.8);
    padding: 10px;
}

.appeal-points p span{
    background:linear-gradient(transparent 70%, #c9a3b4 80%);
}

.mv-area{
    width: 100%;
}

.mv-area .mv img{
    width: 100%;
    min-width: 100%;
    height: auto;
    min-height:  400px;
    max-height: 600px;
    object-fit: cover;
    object-position: center;
}

/* アバウトエリア */
.about-area .concept{
    line-height: 2;
    margin-bottom: 10px;
    text-align: justify;
}

.about-area ul {
    width: 90%;
    margin: 0 auto;
    list-style-type: disc;
    list-style-position: inside;
    background-color: #dae9e9;
    flex-wrap: wrap;
    justify-content: center;
    padding: 5px 10px;
    margin-bottom: 10px;
}

.about-area ul li{
    width: 50%;
    line-height: 2;
}

.about-area ul li span{
    font-size: 18px;
    font-weight: bold;
    background:linear-gradient(transparent 70%, #c9a3b4 80%);
}

/* renewエリア */
.renew-area .renew{
    margin-bottom: 10px;
}

.renew-area .renew-before{
    position: relative;
}

.renew-area .before{
    position: absolute;
    display: inline-block;
    left: -10px;
    top: 0;
    color: #07575b ;
    background-color: rgba(218, 233, 233,0.5);
    border-radius: 10px;
    font-size: 20px;
    padding: 0 10px;
    font-weight: bold;
    transform: rotate(-15deg);
}

.renew-area .renew-after{
    position: relative;
}

.renew-area .after{
    position: absolute;
    display: inline-block;
    left: -10px;
    top: -10px;
    color: #07575b ;
    background-color: rgba(218, 233, 233,0.5);
    border-radius: 10px;
    font-size: 20px;
    padding: 0 10px;
    font-weight: bold;
    transform: rotate(-15deg);
}

.renew{
    margin: 0 auto;
    padding: 20px;
    background: linear-gradient(90deg, transparent 20%, #dae9e9 70%)
}

.renew img{
    max-width: 100%;
    height: auto;
}

.renew-text{
    text-align: center;
    margin-bottom: 20px;
}

.renew-text dt{
    width: max-content;
    margin: 0 auto;
    background: linear-gradient(transparent 70%, #dae9e9 80%);
}

/* menuエリア */
.menu-area .flex{
    justify-content: center;
    align-items: end;
}

.menu-area table{
    border-spacing: 0;
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    text-align: center;
    font-size: 18px;
}

.menu-area th,td{
    border: 1px solid #6b584b;
    height: 4em;
}

.menu-area th{
    background-color: #dae9e9;
}

.menu-area td span{
    font-weight: bold;
}

.menu-contents{
    padding-left: 1em;
}

.menu-area .menu-contents span{
    font-size: 18px;
    font-weight: bold;
}

.menu-contents p{
    margin-bottom: 20px;
}

.menu-area .more-btn a{
    margin-bottom: 0;
}

/* contactエリア */
.contact-area dl .faq{
    border:1px solid #6b584b;
    border-radius: 13px;
    margin-bottom: 10px;
}

.contact-area dl .faq .q-box{
    background-color: #dae9e9;
    border-radius: 13px;
    padding: 10px;
    position: relative;
    cursor: pointer;
}

.contact-area dl .faq .q-box p{
 width: 80%;
}
  
.contact-area dl .faq .q-box::after {
    content: "";
    position: absolute;
    right: 5%;
    top: 0;
    bottom: 0;
    margin: auto 0;
    transition: all 0.2s;
    display: block;
    width: 15px;
    height: 15px;
    border-top: solid 2px #6b584b;
    border-right: solid 2px #6b584b;
    transform: rotate(135deg);
}

.contact-area dl .faq .q-box span{
    font-weight: bold;
    display: block;
    padding-right: 10px ;
}


.contact-area dl .faq .a-box {
    display: none;
}
  
  /* ボックス開いたとき */
.contact-area dl .faq .q-box.open{
    border-radius: 13px 13px 0 0 ;
}

  .contact-area dl .faq .q-box.open::after {
    transform: rotate(-45deg);
    top: 45%;
}


.contact-area dl .faq .a-box span{
    font-weight: bold;
    display: block;
    padding-right: 10px ;
}

.contact-area dl .faq .a-box{
    padding: 10px;
}

/* アクセスエリア */
.access-area .space-between{
    gap: 50px;
}

.access-area .studio-text p{
    line-height: 1.2;
    margin-bottom: 10px;
}


.access-area .studio-text{
    padding: 0 5px;
    border-top:1px dashed #6b584b ;
    border-bottom:1px dashed #6b584b  ;
}

.access-area .studio{
    font-size: 18px;
    font-weight: bold;
    height: 3em;
}

.access-area .more-btn{
    text-align: center;
}

.access-area .more-btn a{
    margin: 0 auto;
}

.access-contents p{
    width: 60%;
    text-align: justify;
    line-height: 1.5;
    margin: 0 auto 30px;
    padding: 10px 0;
}

.access-area iframe{
    width: 200px;
    height: 360px;
}

/* newsエリア */
.news-area dl{
    width: 90%;
    margin: 0 auto 10px;
}

.news-area div{
    border-bottom: 1px solid #6b584b;
    border-right: 1px solid #6b584b;
    border-left: 1px solid #6b584b;
    justify-content: flex-start;
    align-items: center;
}

.news-area div:first-child{
    border-top: 1px solid #6b584b;
}

.news-area dl dt{
    width: 30%;
    line-height: 3;
    text-align: center;
    background-color: #dae9e9;
    border-right: 1px solid #6b584b;
    position: relative;
}

.news-area span{
    color:#c9a3b4 ;
    line-height: 1;
    font-size: 12px;
    font-weight: bold;
    position: absolute;
    top: 0;
    left: 5px;
}

.news-area dl dd{
    width: 70%;
    padding-left: 20px;
}

.news-area dl dd a{
    text-decoration: underline;
    color: #6b584b;
}

.news-area dl dd a::after{
    content: "▲";
    display: inline-block;
    transform: rotate(90deg);
    margin-left: 10px;
}



/* -----------------------------------------
  ここから960px以下の画面に向けた記述
----------------------------------------- */
@media screen and (max-width:960px){

    .mv-contents .catch{
        font-size: 18px;
    }
    
    .mv-contents .catch span{
        font-size: 22px;
    }

    .appeal-points{
        line-height: 1.2;
    }

    .about-area ul{
        width: 80%;
        margin: 10px auto;
    }


    .about-area ul li{
        width: 100%;
        padding: 0 10px;
    }

    .menu-contents{
        margin-bottom: 10px;
    }
    .menu-contents p{
        margin-bottom: 0;
    }
    
    .menu-area .more-btn a{
        margin-bottom: 0;
    }

    .menu-area .flex{
        align-items: center;
        text-align: center;
    }

    .menu-area table{
        margin-bottom: 20px;
    }

    .access-contents p{
        width: 80%;
        margin-top: 20px;
    }

    .access-area iframe{
        width: 300px;
        height: 300px;
    }
    
}


/* -----------------------------------------
  ここから768px以下の画面に向けた記述
----------------------------------------- */
@media screen and (max-width:960px){
   
    .access-area .studio{
        height: 2em;
        font-size: 16px;
    }

}

/* -----------------------------------------
  ここから660px以下の画面に向けた記述
----------------------------------------- */
@media screen and (max-width:660px){
    .mv-contents .catch{
        font-size: 16px;
    }
    
    .mv-contents .catch span{
        font-size: 20px;
    }

    .mv-contents .logo img{
        width: 100px;
        height: auto;
    }

    .appeal-points{
        font-size: 14px;
    }
    
    .about-area .concept{
        line-height: 1.8;
    }

    .about-area ul {
        width: 100%;
        padding: 5px 0;
        list-style: none;
    }

    .about-area ul li{
       font-size: 14px;
    }

    .about-area ul li{
        line-height: 1.8;
    }
    
    .about-area ul li span{
        font-size: 16px;
        font-weight: 500;
    }

    .menu-area .more-btn a{
        margin-bottom: 10px;
    }

    .menu-area table{
        font-size: 16px;
    }

    .access-contents p{
        width: 90%;
        margin-top: 20px;
    }

}

/* -----------------------------------------
  ここから500px以下の画面に向けた記述
----------------------------------------- */
/* 最小320px幅での表示でも問題ない状態を目指す */
@media screen and (max-width:500px){
    .about-area ul li{
        padding: 0 ;
    }

    .news-area dl{
        width: 100%;
    }

    .news-area dl dd{
        padding: 0;
    }


}
