html {
    scroll-behavior: smooth;
}

body{
    font-family: 'M PLUS 1p', sans-serif;
    font-size: 20px;
    line-height: 1.5;
    color: #333;
}

.navigation{
    display: flex;
    justify-content: space-between;
    background-color: white;
    height: 70px;
    position: fixed;
    width: 100%;
    z-index: 10;
    border-bottom: solid 1px black;
}

.rogo{
    color: black;
    width: 70px;
    text-align: center;
    line-height: 70px;
    align-items: center;
    filter: invert(1);
}

.rogo img{
    width: 150px;
    padding-left: 10px;
}
.menu{
    display: flex;
    margin: 0;
}

.menu li{
    padding: 0 10px;
    line-height: 70px;
    text-align: center;
    font-weight: bold;
}

.menu li a{
    color: black;
    text-decoration: none;
    position: relative; /*アンダーラインの位置を決めるための基準 */
}

.menu li a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: black;
    bottom: -1px;
    transform: scale(0, 1);
    transform-origin: center top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
    transition: transform 0.3s;   /*変形の時間*/
    }

.menu li a:hover::after {
    transform: scale(1, 1); /*ホバー後、x軸方向に1（相対値）伸長*/
}


.profile{
    text-align: center;
    padding: 20px 15px;
    padding-top: 100px;
}

.table{
    margin: 0 auto;
    border: solid black 1px;
}

.table tr{
    border: solid black 1px;
}

.table td{
    padding: 10px 20px;
    border: solid black 1px;
}

.history{
    text-align: center;
    background-color: #ddd;
    padding: 20px 15px;
}

.table-history{
    text-align: left;
    margin: 0 auto;
}

.table-history td{
    padding: 5px 15px;
    vertical-align: baseline;
}

.table-history td:first-child {
    width: 80px;
    white-space: nowrap;
}

.staff{
    text-align: center;
    padding: 20px 15px;
}

.table-staff{
    text-align: left;
    margin: 0 auto;
}

.table-staff td{
    vertical-align: top;
}

.table-staff td:first-child {
    width: 80px;
    white-space: nowrap;
}

.table-staff .name td {
    padding-top: 20px;
}

.location{
    text-align: center;
    background-color: #ddd;
    padding: 20px 0;
}

.location p{
    padding: 15px;
}

.flow{
    text-align: center;
    padding: 20px 0;
}

.flow p{
    padding: 15px;
}
.flow img{
    width: 100%;
    padding: 10px;
}
.table-wrapper{
    padding: 0 15px;
}

.flow-text{
    text-align: left;
    margin: 0 auto;
}

.flow-text td{
    padding: 5px 15px;
    vertical-align: baseline;
}

.flow-text td:first-child {
    width: 80px;
    white-space: nowrap;
}

.price{
    text-align: center;
    background-color: #ddd;
    padding: 20px 15px;
}

.table-price{
    margin: 0 auto;
    border: solid black 1px;
}

.table-price tr{
    border: solid black 1px;
}

.table-price td{
    padding: 10px 20px;
    border: solid black 1px;
}

.footer {
    position: relative;
    padding: 10px 16px;
}

.copy{
    height: 50px;
    text-align: center;
    vertical-align: middle;
    font-size: 12px;
    line-height: 50px;
}

.icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    gap: 10px;
}

@media screen and (max-width: 1200px) {
    .table-price td{
        font-size: 12px;
    }
  }

  @media screen and (max-width: 800px) {

    .table-price td{
        font-size: 12px;
    }
  }

  @media screen and (max-width: 500px) {
    .table td{
        padding: 6px;
        font-size: 14px;
    }

    .table-history{
        font-size: 14px;
    }

    .table-staff td{
        font-size: 14px;
    }

    .flow-text{
        font-size: 14px;
    }

    .table-price td{
        padding: 3px;
        font-size: 8px;
    }

    .icon img {
        width: 25px;
    }

    .copy{
        font-size: 10px;
    }
  }


