@charset "utf-8";
body {
    background-color: #FFFFFF;
}

/* =========================
kv
============================*/
.kv {
    max-width: 767px;
    margin: 0 auto;
    padding: 100px 20px;
}

/* SP 767px */
@media screen and (max-width: 767px) {
    .kv {
        padding: 50px 16px;
    }
}

/* =========================
entry
============================*/
.entry {
    max-width: 1025px;
    margin: 0 auto;
    padding: 0 20px 50px 20px;
}

.entry p {
    font-size: 2.8rem;
    font-weight: 700;
    text-align: center;
    padding-bottom: 30px;
}

/* SP 767px */
@media screen and (max-width: 767px) {
    .entry {
        padding: 0 16px 25px 16px;
    }

    .entry_img {
        padding-bottom: 25px;
    }

    .entry p {
        font-size: 2rem;
    }

    .entry_txtSp {
        display: block;
    }

    .entry_txt {
        display: none;
    }
}
/* =========================
about
============================*/
.about {
    max-width: 767px;
    margin: 0 auto;
    padding: 0 20px 50px 20px;
}

.about p {
    text-align: center;
    line-height: 2.2;
}

.about p:first-child {
    padding-bottom: 20px;
}

.about .br {
        display: block;
    }

    .about .br550 {
        display: none;
    }

/* SP 767px */
@media screen and (max-width: 767px) {
    .about {
        padding: 0 16px 50px 16px;
    }
}

/* sp　767px */
@media screen and (max-width: 550px) {
    .about .br {
        display: none;
    }

    .about .br550 {
        display: block;
    }
}
/* =========================
profile
============================*/
.profile {
    max-width: 767px;
    width: 92%;
    margin: 0 auto 50px auto;
    background-color: #D8F1FF;
    border-radius: 20px;
    text-align: center; 
    padding: 50px 20px;
    box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.3);
}

.profile-box {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.profile-name {
    font-size: 1.8rem;
    font-weight: 700;
    padding-bottom: 10px;
    text-align: left;
    margin-left: 7px;
}

.profile-list {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 10px; 
  row-gap: 5px;     
  text-align: left;  
}

.profile-label,
.profile-detail {
  margin: 0;        
  text-align: left;  
  font-weight: 400;
}

.profile-img img {
    border-radius: 10px;
}

.but_box p {
    font-size: 1.8rem;
    font-weight: 700;
    margin-top: 40px;
    text-align: center;
}

/* SP 767px */
@media screen and (max-width: 767px) {
    .profile {
        width: calc(100% - 32px); 
        margin: 0 auto 50px auto; 
    }

    .profile-box {
        flex-direction: column-reverse; 
        align-items: center;           
    }

    .profile-name {
        margin-top: 15px; 
    }
}
/* =========================
but
============================*/
.but_box {
    max-width: 767px;
    margin: 0 auto;
    padding: 0 20px 50px 20px;
}


.but a {
    display: block;
    background: linear-gradient(to right, #83D2FF, #FF85D8);
    background-size: 200% auto;  
    color: #FFFFFF;
    text-align: center;
    max-width: 352px;
    height: 85px;
    line-height: 75px;
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: 0.5rem;
    border-radius: 50px;
    border: solid #FFFFFF 5px;
    margin: 0 auto;
    transition: 0.9s;
    box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.3);
}


.but a:hover {
    color: #fff;
  background-position: right center;
}

/* SP 767px */
@media screen and (max-width: 767px) {
    .but_box {
        padding: 0 16px 50px 16px;
    }

    .but a {
        max-width: 280px; 
        height: 60px;        
        line-height: 50px;    
        font-size: 1.4rem;    
        letter-spacing: 0.2rem; 
        border-width: 4px;   
    }
}