html{
    font-size: 100%;
    scroll-behavior: smooth;

}
body{
    font-family: "Noto Sans JP", sans-serif;
    color: #333;
}
/* ヘッダー部分 */
.header-wrapper{
    display: flex;
    max-width: 680px;
    height: 100px;
    align-items: center;
    justify-content: space-between;
    margin-left: auto;
    margin-right:27px;
    padding-left: 20px;
}
.header-wrapper nav ul{
    display: flex;
    max-width: 360px;
    justify-content: space-between;
    gap: 20px;
}
.header-wrapper nav ul li{
    font-size: 20px;
    font-weight: bold;
}
.reserve-btn{
    display: inline-block;
    padding: 16px 52px;
    border: 2px solid #333;
    border-radius: 15px;
    background-color: #333;
    color: #fff;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}
.reserve-btn:hover {
    color: #333;
    background-color: #fff;
}

/* ここからメイン */
/* ファーストビュー */
.fv{
    height: 810px;
    background-image: url(../img/fv.jpg);
    background-size: cover;
    background-position: center;
    align-content: flex-end;
}
.fv-title{
    font-family: "Work Sans", sans-serif;
    width: 100%;
    background-color: rgb(0, 0, 0,0.5);
    color: #fff;
    padding: 50px 40px 40px;
}
.fv-sub-title{
    font-size: 24px;
    margin-bottom: 16px;
}
.fv-main-title{
    font-size: 64px;
    font-weight: bold;
}

/* メニュー各部共通 */
#feature,#price,#information{
    background-color: #dfdfdf;
    padding-top: 130px;
}
.feature-wrapper,.price-wrapper,.information-wrapper{
    max-width: 1110px;
    padding-inline: 20px;
    margin-inline: auto;
}
h2{
    display: inline-block;
    font-size: 30px;
    font-weight: bold;
    border-bottom: 5px dotted #333;
}

/* 特徴 */
.feature-item-container{
    display: flex;
    flex-direction: row;
    max-width: 900px;
    background-color: #fff;
    margin-left: 70px;
    margin-top: 30px;
}
.feature-item-container img{
    max-width: 100%;
    max-width: 300px;
}
.feature-item-text{
    max-width: 320px;
    padding: 24px;
}
.feature-item-container:nth-child(odd){
    flex-direction: row-reverse;
    justify-content: space-between;
}
.feature-item-text h3{
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 30px;
}
.feature-item-text p{
    line-height: 1.5;
}

/* 料金 */
.price-item-container{
    display: grid;
    grid-template-columns: 430px 430px;
    gap: 30px;
    margin-block: 30px; 
}
.price-container-wrapper{
    max-width: 900px;
    margin-left: 70px;
}
.price-item:hover{
    background-color: rgba(183, 183, 183, 0.3);
    transition-duration: 0.3s;
}
.price-item{
    height: 465px;
    background-color: #fff;
    padding: 25px 30px;
}
.price-item h3{
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 35px;
}
.price-item p{
    line-height: 1.5;
}
.price-btn{
    max-width: 800px;
    text-align: center;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    background-color: #333;
    border: 2px solid #333;
    border-radius: 15px;
    padding-block: 23px;
    margin-inline: auto;
    cursor: pointer;
    transition: 0.3s;
}
.price-btn:hover {
    color: #333;
    background-color: #fff;
}
/* 会社概要 */
.information-container{
    margin-left: 70px;
    margin-top: 40px;
}
.information-container dl{
    max-width: 900px;
    display: flex;
    flex-wrap: wrap;
}
.information-container dt{
    width: 11%;
    font-weight: normal;
    padding-bottom: 16px;
}
.information-container dd{
    width: 89%;
    padding-bottom: 16px;
}
summary{
    /* display: block; */
    margin-top: 15px;
    cursor: pointer;
    color: gray;
    text-decoration: underline;
}
/* summary::-webkit-details-marker {
    display: none;矢印を消す 
}*/
/* ディテール展開時アニメーション */
details[open] .information-dl02 {
    animation: fadeIn 0.5s ease;
}
@keyframes fadeIn {
    0% {
      opacity: 0; /* 透明 */
      transform: translateY(-10px); /* 上から表示 */
    }
    100% {
    opacity: 1;
    transform: none;
    }
}
.information-dl02{
    margin-top: 30px;
}
.underline{
    max-width: 100%;
    border-bottom: 2px dashed #333;
    margin-top: 45px;
}
/* アクセス */
.information-access{
    display: flex;
    max-width: 900px;
    gap: 60px;
    margin-left: 70px;
    margin-top: 60px;
}
.information-access img{
    max-width: 100%;
    max-width: 400px;
}
.information-access-desc{
    font-size: 20px;
    align-self: center;
}
.desc-header{
    font-weight: bold;
}
.desc-bottom{
    margin-bottom: 30px;
}
.desc-bottom:last-of-type{
    margin-bottom: 0px;
}
.information-access-wrapper{
    padding-bottom: 180px;
}
/* フッター部分 */
footer{
    padding: 45px 90px 30px;
}
.footer-title{
    font-size: 30px;
    font-family: "Work Sans", sans-serif;
    font-weight: bold;
}
footer ul{
    display: flex;
    gap: 20px;
    margin-block: 15px 25px;
}
footer li{
    font-size: 20px;
}
.copyright{
    text-align: center;
}
small{
    font-size: 16px;
}