/* ================================
   MOBILE RESPONSIVE
================================ */

@media(max-width:768px){


/* ================================
   OFFICIAL WATERMARK
================================ */

body.official-watermark::before {

    width:80vw;
    height:80vw;

    opacity:0.15;

}

/* ================================
   PAGE WRAPPER
================================ */

.page-wrapper{
    width:100%;
    max-width:none;
    padding:0 15px;
}



/* ================================
   HEADER
================================ */

.topBar{
    height:32px;
    padding-left:10px;
    gap:5px;
}

.brand-name{
    font-size:12px;
}

.wave-line{
    width:32px;
    height:10px;
    bottom:-6px;
}

.tagline{
    font-size:10px;
    letter-spacing:0.2px;
}

.header > img{
    width: 100%;
}



/* ================================
   MAIN LAYOUT
================================ */

.content-layout{
    display:block;
    gap:10px;
    width:100%;
}

.content-main{
    width:100%;
}

.sidebar{
    display:none;
}



/* ================================
   PROFILE HEADER
================================ */

.profile-top{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:0px;
}

.profile-name{
    font-size:30px;
    line-height:1;
    width:100%;
}

.profile-logo img{
    width:120px;
    height:120px;
}



/* ================================
   UPDATED
================================ */

.profileInfo-lastUpdated{
    text-align:center;
    font-size:13px;
    margin:20px 0 15px;
}



/* ================================
   CATEGORY
================================ */

.profileInfo-category{
    text-align:center;
}

.profileInfo-category a{
    padding:7px 15px;
    margin:4px;
    font-size:13px;
}



/* ================================
   PROFILE INFORMATION
================================ */

.profile-info-grid{
    display:block;
}

.profile-contact-box{
    border-right:none;
    border-bottom:1px solid #ddd;
    padding:15px 5px;
}

.profile-contact-box a{
    overflow-wrap: break-word;
    word-break: break-word;
    display:inline-block;
}


.profile-contact-box div{
    font-size:14px;
    margin:10px 0;
}

.profile-right-box{
    padding:20px 5px;
}



/* ================================
   STATUS
================================ */

.profile-status-box{
    gap:10px;
    justify-content:center;
    flex-wrap:nowrap;
}

.status-item{
    font-size:11px;
}

.status-item img{
    width:40px;
    height:40px;
}



/* ================================
   TAGS
================================ */

.profileInfo-tag{
    text-align:center;
}

.profileInfo-tag a{
    font-size:13px;
    padding:5px 10px;
}



/* ================================
   SNS
================================ */

.profileInfo-links{
    justify-content:center;
    gap:10px;
}

.profileInfo-links img{
    width:40px;
    height:40px;
}



/* ================================
   DESCRIPTION
================================ */

.description{
    font-size:15px;
    line-height:1.7;
    padding:50px 15px 20px;
}

/* ================================
   REMARKS
================================ */

.remarks{
    margin:35px 0 20px;
    padding:40px 15px 20px;   /* ← 上を広めに */
    font-size:14px;
    line-height:1.8;
}

.remarks::before{
    top:-16px;
    left:16px;
    font-size:1.3rem;
    padding:4px 14px;
}

.remarks::after{
    top:-6px;
    left:32px;
}

/* ================================
   MEDIA AREA
   Map / Menu / Gallery
================================ */

.profile-media-layout{
    grid-template-columns:1fr;
    gap:20px;
}

.media-box img{
    height:200px;
}

.mapTitle,
.menuTitle,
.galleryTitle{
    font-size:18px;
    margin-bottom:8px;
}

.mapTitle img,
.menuTitle img,
.galleryTitle img{
    width:22px;
    height:22px;
}

.info-title-note span{
    display:block;
    font-family: 'Caveat', cursive;
    color:#355C7D;
    font-size:0.75rem;
    font-weight:800;
    line-height:1.35;
    letter-spacing:.02em;
}
html[lang="en"] .info-title-note span,
html[lang="fr"] .info-title-note span {
    font-size:1rem;
}

/* ================================
   Request用
================================ */
.requestMail table,
.requestMail tr,
.requestMail td{
    display:block;
    text-align:center;
}

.request-icon{
    order:1;
}

.request-text{
    order:2;
}

.official-icon{
    order:3;
}

.requestMail tr{
    display:flex;
    flex-direction:column;
    align-items:center;
}


/* ================================
   MESSAGE
================================ */

.sample-profile-message{
    padding:15px;
    margin-top:20px;
    font-size:14px;
}

/* ================================
   Mobile
   Hide Dropdown Menu
================================ */

.dropdownMenu{
    display:none;
}

}
