@charset "utf-8";
/* css/web/profile.css */
/************************************************************

profile

**************************************************************/
.profile {
    position: relative;
}
section {
    margin-bottom: 30px;
}
.profile .inner {
    max-width: 1320px;
}
.cast_detail-inner {
    display: flex;
    gap: 0 60px;
}
.sec_left {
    max-width: 540px;
    position:relative;
}
.size {
    font-size: 20px;
}
.rank {
    display: inline-block;
    font-size: 24px;
    font-weight: bold;
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    overflow: initial;
    width: 100%;
}
.name em {
    font-size: 28px;
    margin-bottom: 10px;
    display: inline-block;
    font-family: 'Noto Sans JP', sans-serif;
}
.cast_slides-item img {
    width: 100%;
}
.sec_right {
    flex: 1;
}

.cast_profile {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    border-top: 1px solid #c9c9c9;
    border-left: 1px solid #c9c9c9;
    border-right: 1px solid #c9c9c9;
    margin-bottom: 40px;
    font-size: 15px;
}
.cast_profile dt, .cast_profile dd {
    width: calc(100% / 2);
}
.cast_profile dt {
    width: 40%;
    background: #707070;
    color: #fff;
    padding: 10px 0 10px 10px;
    border-bottom: 1px solid #fff;
    display: flex;
    align-items: center;
    line-height: 1.333;
}
.cast_profile dd {
    width: 60%;
    border-bottom: 1px solid #999;
    padding: 10px 0 10px 10px;
    line-height: 1.625;
}
.area_list {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.area_list-item {
    color: #fff;
    padding: 5px 30px;
    text-align: center;
    border-radius: 5px;
    display: inline-block;
    line-height: initial;
}
.profile_header {
    display: flex;
    margin-bottom: 20px;
}
.profile_header-right {
    display: flex;
    gap: 0 10px;
}
.name {
    display: flex;
    align-items: flex-start;
    gap: 0 20px;
}
.comment_review {
    display: flex;
    gap: 0 5px;
    align-items: center;
}
.profile_header {
    display: flex;
    margin-bottom: 20px;
    gap: 0 40px;
}
.comment_num {
    font-size: 19px;
}
.p-ttl {
    border-bottom: 1px solid #999;
    margin-bottom: 15px;
    padding-bottom: 10px;
}
.schedule .p-ttl {
    border-bottom: 0;
}
.p-ttl span {
    font-size: 24px;
    margin-right: 20px;
    font-family: "futura-pt", sans-serif;
    font-weight: 500;
}
.person_item {
    line-height: 1.333;
    font-size: 15px;
}
.area_trip {
    display: flex;
    margin-bottom: 20px;
    gap: 10px;
    flex-wrap: wrap;
}
.area_trip-list {
    display: flex;
    border: 1px solid #bbbbbb;
    font-size: 14px;
    width: calc(100% / 3 - 7px);
    border-radius: 5px;
}
.area_trip-list span {
    width: calc(100% / 2);
    padding: 8px;
    text-align: center;
}
.area_trip-name {
    color: #fff;
    border-radius: 5px;
}
.movie_item iframe, .movie_item video {
    width: 100%;
}

.comment_list-item {
    display: flex;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #c9c9c9;
    gap: 0 20px;
}
.comment_list-txt {
    flex: 1;
    line-height: 1.5;
    font-size: 14px;
}
.comment_list-img {
    text-align: center;
}
.comment_list-img img {
    margin-bottom: 10px;
}
.comment_list-img figcaption {
    font-size: 12px;
}
.p-ttl.p-ttl-toggle {
    position: relative;
    cursor: pointer;
}
.toggle_list {
    height: 50px;
    overflow: hidden;
    transition: height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.p-ttl.p-ttl-toggle.is-open + .toggle_list {
    height: auto;
}
.reserve_list {
    display: flex;
    gap: 0 10px;
    margin-bottom: 10px;
}
.reserve_list-item {
    width: calc(100% / 2);
    text-align: center;
}
.reserve {
    font-size: 15px;
}
.reserve_note {
    margin-bottom: 10px;
    line-height: 1.333;
}
.review_name {
    color: #7d7d7d;
    font-size: 13px;
    margin-bottom: 5px;
}
.review_txt {
    line-height: 1.625;
    font-size: 15px;
    margin-bottom: 10px;
}
.reserve_link.box_btn {
    margin-bottom: 20px;
}
.reserve_list {
    justify-content: center;
}
.heart {
    color: #f5aeb6;
}
.review_list-item {
    border-bottom: 1px dotted;
    margin-bottom: 20px;
    padding-bottom: 20px;
}
.review_link {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
    gap: 0 15px;
}
.review_link a {
    display: block;
    background: #eeeeee;
    color: #313131;
    padding: 10px 20px;
    font-size: 13px;
}
.toggle_btn {
    position: absolute;
    width: 20px;
    height: 20px;
    display: inline-block;
    background: #000;
    border-radius: 50%;
    vertical-align: middle;
    cursor: pointer;
    right:0;
}
.toggle_btn:before,
.toggle_btn:after {
    position: absolute;
    content: "";
    display: block;
    transition: all 0.4s;
    background: #fff;
    left: 50%;
    top: 50%;
    width: 50%;
    height: 2px;
    transform: translate(-50%, -50%);
}
.toggle_btn:before {
    transform: translate(-50%, -50%) rotate(90deg);
}

/*＋、－切り替え*/
.toggle_btn.open:before {
    transform: translate(-50%, -50%) rotate(0deg);
}

.photoblog_list-item {
    display: flex;
    gap: 0 10px;
    border-bottom: 1px solid #959595;
    margin-bottom: 20px;
    padding-bottom: 20px;
}
.photoblog_list-content {
    flex: 1;
    word-break: break-all;
}
.photoblog_list-item figure {
    width: 25%;
    height: 200px;
}

.photoblog_list-item figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.photoblog_list-ttl {
    font-weight: 500;
    margin-bottom: 5px;
}
.photoblog_list-body {
    line-height: 1.625;
    font-size: 15px;
}
.photoblog_list-header .date {
    font-size: 13px;
    color: #7d7d7d;
}
.photoblog_list-header {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    gap: 0 20px;
}
.rank::before {
    height: auto;
}
.cast_slides {
    margin-bottom: 15px;
}
.cast_slides-item {
    cursor: pointer;
}
.cast_slides-nav-item {
    margin: 5px;
    cursor: pointer;
}
.schedule_box {
    display: flex;
    margin-bottom: 20px;
    text-align: center;
}
.schedule_box dl {
    width: calc(100% / 7);
}
.schedule_list:not(:last-child) {
    border-right: 1px solid #c9c9c9;
}
.schedule_list-day {
    border-bottom: 1px solid #c9c9c9;
    padding: 10px;
    display: flex;
    font-size: 13px;
    justify-content: center;
    align-items: center;
}
.schedule_list-time {
    padding: 10px;
    font-size: 15px;
}
.voice {
    cursor: pointer;
}
.pipe {
    margin: 5px 0;
    display: inline-block;
}
.s_comment {
    display: block;
}
.schedule_list-day.sat {
    color: #009fe9;
}
.schedule_list-day.sun {
    color: #e80111;
}
.rank::before {
    aspect-ratio: 1 / 1;
    filter: blur(30px);
}

.twitter.--icon-x {
    width: 60px;
    height: 60px;
    background: #000;
    border-radius: 50%;
    position: relative;
}
.twitter.--icon-x svg {
    position: absolute;
    left: 50%;
    top: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
    transform: translate(-50%, -50%);
}
.twitter.--icon-x a {
    display: block;
    aspect-ratio: 1;
}
@media screen and (min-width:1350px) and (max-width: 1620px) {
.area_trip-list span {
    font-size: clamp(0.6875rem, -0.25rem + 1.1111vw, 0.875rem);
}
}
@media screen and (min-width:1140px) and (max-width: 1350px) {
.sec_left {
    max-width: 400px;
}
.area_trip-list span {
    font-size: 10px;
}
.schedule_box {
    display: flex;
    text-align: center;
    margin-bottom: 40px;
}
.schedule_list:not(:last-child) {
    border-right: 1px solid #b0b0b0;
}
.schedule_list-day {
    border-bottom: 1px solid #b0b0b0;
    font-size: 11px;
    padding: 10px 0;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.week {
    font-size: 12px;
}
.schedule_list-day.sat {
    color: #009fe9;
}
.schedule_list-day.sun {
    color: #e80111;
}

.schedule_list {
    width: calc(100% / 7);
}
.schedule_list-time {
    font-size: 14px;
    padding: 10px;
    letter-spacing: 1px;
}
.schedule_list-day.--sat {
    color: #0069bb;
}
.schedule_list-day.--sun {
    color: #ed0011;
}
.area_trip-list span {
    display: flex;
    align-items: center;
    justify-content: center;
}
}
@media screen and (min-width:767px) and (max-width: 1140px) {
.sec_left {
    max-width: 300px;
}
.profile .inner {
    width: 90%;
}
.photoblog_list-item figure {
    width: 30%;
}
.area_list {
    gap: 10px;
}
.area_trip-list span {
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sec_right {
    width: 50%;
}
.schedule_box {
    display: flex;
    text-align: center;
    margin-bottom: 40px;
    flex-direction: column;
    border-bottom: 1px solid #c9c9c9;
}
.schedule_list-day {
    border-right: 1px solid #c9c9c9;
    border-bottom: 0;
    font-size: 14px;
    padding: 20px 0;
    width: 40%;
}
.schedule_list {
    width: 100%;
    display: flex;
    border-top: 1px solid #c9c9c9;
}
.schedule_list-time {
    font-size: 14px;
    padding: 20px;
    letter-spacing: 1px;
    width: 60%;
    flex: 1;
    text-align: left;
}
.schedule_list:not(:last-child) {
    border-right: 0;
}
.schedule_box dl {
    width:100%;
}

}

@media screen and (max-width: 768px) {
.profile {
    padding-top: 50px;
}
.profile .inner {
    width: 100%;
}
.sec_right {
    width: 90%;
    margin: 0 auto;
}
.cast_detail-inner {
    flex-direction: column;
}
.cast_slides .slick-dots li button::before {
    content: "";
    text-align: center;
    background: #bfbfbf;
    height:5px;
    width:20px;
}
.cast_slides .slick-dots .slick-active button::before {
    background: #313131;
}
.cast_slides .slick-dots {
    bottom: -35px;
    left: 0;
    right: 0;
}
.cast_detail-inner {
    gap: 60px 0;
}
.area_list {
    gap: 10px;
}
.area_list-item {
    padding: 5px 15px;
    font-size: .8rem;
}
.profile_header {
    gap: 30px 0px;
    flex-direction: column;
}
.cast_slides-item1 {
    max-width: 99%;
}
.name {
    justify-content: center;
    gap: 0 20px;
    align-items: center;
    margin-bottom: 10px;
    flex-wrap: wrap;
}
.size {
    font-size: .9rem;
    text-align: center;
}
.profile_header-right {
    justify-content: center;
}
.area_trip-list .area_trip-name {
    font-size: .9rem;
}
.area_trip-list span {
    width: 100%;
    font-size: 3.1vw;
}
.area_trip-list {
    width: calc(100% / 3 - 7px);
    flex-direction: column;
}
.area_trip {
    gap: 10px;
    flex-wrap: wrap;
}
.p-ttl {
    text-align: center;
    font-size: .8rem;
    padding-bottom: 20px;
    margin-bottom: 20px;
}
.p-ttl span {
    margin-right: 0px;
    display: block;
    margin-bottom: .5rem;
    font-weight: 500;
}
.person_item {
    line-height: 1.625;
    font-size: .9rem;
}
.comment_list-img {
    width: 20%;
}
.comment_list-img figcaption {
    font-size: 2.3vw;
}
.reserve_note {
    line-height: 1.625;
    font-size: .9rem;
}

.reserve_list {
    gap: 10px 0px;
    flex-direction: column;
}
.reserve_list-item {
    width: 100%;
    text-align: center;
}
.review_txt {
    line-height: 1.625;
    font-size: .9rem;
}
.photoblog_list-item {
    flex-direction: column;
}
.photoblog_list-item figure {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}
.photoblog_list-header {
    align-items: center;
}
.photoblog_list-ttl {
    margin-bottom: 10px;
    font-size: .9rem;
}
.photoblog_list-body {
    line-height: 1.625;
    font-size:.9rem;
}
section {
    margin-bottom: 40px;
}
.cast_profile {
    flex-direction: column;
}
.cast_profile dt, .cast_profile dd {
    width: 100%;
    font-size: .9rem;
}
.cast_profile dd {
    line-height: 1.625;
}

.rank::before {
    height: 40px;
}
.arr {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    max-width: 6%;
}
.ar_left.arr.slick-arrow {
    left: 0px;
}
.ar_right.arr.slick-arrow {
    right: 0;
}

.slick-dotted.slick-slider {
    padding: 0 30px;
}
.sec_left {
    max-width: 100%;
}
.schedule_box {
    display: flex;
    text-align: center;
    margin-bottom: 40px;
    flex-direction: column;
    border-bottom: 1px solid #c9c9c9;
}

.schedule_list-day {
    border-right: 1px solid #c9c9c9;
    border-bottom: 0;
    font-size: 14px;
    padding: 20px 0;
    width: 40%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.schedule_list {
    width: 100%;
    display: flex;
    border-top: 1px solid #c9c9c9;
}
.schedule_list-time {
    font-size: 14px;
    padding: 20px;
    letter-spacing: 1px;
    width: 60%;
    flex: 1;
    text-align: left;
    line-height: 1.333;
}
.schedule_list:not(:last-child) {
    border-right: 0;
}
.toggle_btn {
    top: 50%;
    transform: translateY(-50%);
}
.comment_list-txt {
    line-height: 1.625;
    width: 74%;
}
.rank {
    font-size: 1.2rem;
}
.name em {
    font-size: 1.4rem;
    margin-bottom: 0;
}
.pipe {
    margin: 0px 5px;
}
.schedule_box dl {
    width: 100%;
}
}

/* =======================================

post-private-profile（プロフィール固有・新デザイン）
post.css から移動。以下は旧デザイン指定より後に記述すること

======================================= */

/* profile.css は post.css より先に読み込まれるため、
   post.css の .post { padding-top } に負けないよう .post と複合で指定 */
.post.u_post--noPt {
    padding-top: 0;
}

/* =======================================

profile-thum（写真スライダー＋ランクラベル）

======================================= */

.profile-thum {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding-top: 70px;
}

.profile-thum_rank {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 100px;
    z-index: 0;
    margin-bottom: 0;
    font-size: 20px;
    font-weight: 600;
    font-family: "futura-pt", sans-serif;
}

.profile-thum_rank::before {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.profile-thum_rank--ga {
    background: radial-gradient(46.5% 46.5% at 50% 50%, var(--status-grand-artisan-50, rgba(1, 25, 10, 0.50)) 0%, rgba(1, 25, 10, 0.10) 60%, rgba(255, 255, 255, 0.00) 90%);
}

.profile-thum_rank--g-artisan {
    color: var(--color-g-artisan);
    background: radial-gradient(46.5% 46.5% at 50% 50%, rgba(1, 25, 10, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
}

.profile-thum_rank--artisan {
    color: var(--color-artisan);
    background: radial-gradient(46.5% 46.5% at 50% 50%, rgba(106, 0, 95, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
}

.profile-thum_rank--chevalier {
    color: var(--color-chevalier);
    background: radial-gradient(46.5% 46.5% at 50% 50%, rgba(164, 0, 0, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
}

.profile-thum_rank--diamond {
    color: var(--color-diamond);
    background: radial-gradient(46.5% 46.5% at 50% 50%, rgba(0, 28, 88, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
}

.profile-thum_rank--platinum {
    color: var(--color-platinum);
    background: radial-gradient(46.5% 46.5% at 50% 50%, rgba(0, 183, 238, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
}

.profile-thum_rank--gold {
    color: var(--color-gold);
    background: radial-gradient(46.5% 46.5% at 50% 50%, rgba(178, 136, 80, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
}

.profile-thum_rank--silver {
    color: var(--color-silver);
    background: radial-gradient(46.5% 46.5% at 50% 50%, rgba(98, 98, 98, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
}

.profile-thum_rank--trainee {
    color: var(--color-trainee);
    background: radial-gradient(46.5% 46.5% at 50% 50%, rgba(50, 177, 108, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
}

.profile-thum_rank--inconnu {
   color: var(--color-inconnu);
    background: radial-gradient(46.5% 46.5% at 50% 50%, rgba(0, 0, 0, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
}

.profile-thum_slider {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.profile-thum_arrow {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    width: 28px;
    height: 64px;
    justify-content: center;
    background: #000;
    border: none;
    cursor: pointer;
}

.profile-thum_arrow img {
    display: block;
    width: 8.6px;
    height: 15px;
}

.profile-thum_swiper {
    flex-shrink: 0;
    width: calc(320 / 393 * 100%);
    max-width: calc(100% - 100px);
}

.profile-thum_imgWrap {
    width: 100%;
    /* height: 427px; */
    overflow: hidden;
}

.profile-thum_imgWrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.profile-thum_pager {
    position: static;
    display: flex;
    justify-content: center;
    gap: 10px;
}

.profile-thum_pager .swiper-pagination-bullet {
    width: 20px;
    height: 5px;
    margin: 0;
    border-radius: 0;
    opacity: 1;
    background: #e5e5e5;
}

.profile-thum_pager .swiper-pagination-bullet.is-current {
    background: #777;
}

/* =======================================

profile-info（Profile：エリアラベル・氏名・口コミ件数・年齢等・SNS/検査アイコン）

======================================= */

.profile-info {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 0 16px;
}

.profile-info_area {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}

.profile-info_areaLabel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 8px;
    border-radius: 2px;
    font-family: "futura-pt", sans-serif;
    font-weight: 500;
    font-size: 12px;
    color: #fff;
}

.profile-info_name {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.profile-info_name-text {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 8px;
    font-family: "futura-pt", sans-serif;
    font-weight: 500;
    font-size: 22px;
    color: #000;
    line-height: normal;
}

.profile-info_name-review {
    font-weight: 400;
    font-size: 16px;
}

.profile-info_name-spec {
    font-size: 14px;
    color: #000;
}

.profile-info_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
}

.profile-info_icon-item {
    display: block;
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    /* ボイスは <button> のため、reset.css で消えないブラウザ既定の枠線を消す */
    border: 0;
    padding: 0;
    background: none;
    transition: opacity 0.2s;
}

.profile-info_icon-item:hover {
    opacity: 0.8;
}

.profile-info_icon-item img {
    display: block;
    width: 100%;
    height: 100%;
}

.profile-info_icon-inspection {
    position: relative;
    /* <a>（インライン要素）のため width/height が効かず、文字の配置基準がずれるのを防ぐ */
    display: block;
    width: 60px;
    height: 60px;
    flex-shrink: 0;
}

.profile-info_icon-inspection img {
    display: block;
    width: 100%;
    height: 100%;
}

.profile-info_icon-inspection span {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: "futura-pt", sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 15px;
    letter-spacing: 0.08em;
    color: #fff;
    text-align: center;
}

/* =======================================

profile-qa（Questions：Q&A 17組）

======================================= */

.profile-qa {
    margin-top: 40px;
    padding: 0 16px;
}

.profile-qa_question {
    padding: 10px 12px;
    background: var(--color-post-heading-bg);
    font-size: 14px;
    font-weight: bold;
    line-height: calc(18 / 14);
    color: #fff;
}

.profile-qa_answer {
    margin: 0;
    padding: 10px 12px;
    box-shadow: inset 0 0 0 1px var(--color-post-border-secondary);
    font-size: 14px;
    line-height: calc(18 / 14);
    color: var(--color-post-font-primary);
}

/* =======================================

profile-section（What / Schedule / Reserve / Review / Diary / Post 共通の見出し・骨組み）

======================================= */

.profile-section {
    /* 上部の旧スタイル section { margin-bottom } を打ち消す */
    margin-bottom: 0;
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    padding: 0 16px;
}

.profile-section_head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    text-align: center;
    color: #000;
}

.profile-section_head-en {
    font-family: "futura-pt", sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 1.4;
}

.profile-section_head-ja {
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 0.06em;
}

/* =======================================

profile-more（各セクション共通の「もっと見る」系ボタン）

======================================= */

.profile-more {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: 300px;
    max-width: 100%;
    min-height: 39px;
    padding: 10px 0 8px 0;
    border-radius: 999px;
    background: var(--color-post-btn-primary);
    font-family: "futura-pt", sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #fff;
    text-decoration: none;
    transition: opacity 0.2s;
}

.profile-more:hover {
    opacity: 0.85;
}

.profile-more img {
    position: absolute;
    top: 50%;
    right: 17px;
    transform: translateY(-50%);
    width: 8.5px;
    height: 15px;
}

/* =======================================

profile-what（WHAT KIND OF PERSON：どんな人）

======================================= */

.profile-what_text {
    width: 100%;
    font-size: 14px;
    line-height: calc(18 / 14);
    color: var(--color-post-font-primary);
}

/* =======================================

profile-schedule（SCHEDULE：出勤情報）

======================================= */

.profile-schedule_table {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.profile-schedule_row {
    display: flex;
    align-items: stretch;
    width: 100%;
    box-shadow: inset 0 -1px 0 0 var(--color-post-border-secondary);
}

.profile-schedule_row:first-child {
    box-shadow: inset 0 1px 0 0 var(--color-post-border-secondary), inset 0 -1px 0 0 var(--color-post-border-secondary);
}

.profile-schedule_date {
    flex-shrink: 0;
    width: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    box-shadow: inset -1px 0 0 0 var(--color-post-border-secondary);
    font-size: 14px;
    color: #000;
    text-align: center;
}

.profile-schedule_date.-sat {
    color: var(--color-post-schedule-sat);
}

.profile-schedule_date.-sun {
    color: var(--color-post-schedule-sun);
}

.profile-schedule_time {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 10px;
    font-size: 14px;
    line-height: 1.285;
    color: #000;
}

/* =======================================

profile-reserve（RESERVE：ご予約について）

======================================= */

.profile-reserve_text {
    width: 100%;
    font-size: 14px;
    line-height: calc(17 / 14);
    color: var(--color-post-font-primary);
}

.profile-reserve_tel {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: 300px;
    max-width: 100%;
    min-height: 44px;
    padding: 10px 0 8px;
    background: var(--color-post-tel-bg);
    color: #fff;
}

.profile-reserve_tel-label {
    display: inline-flex;
    align-items: baseline;
    gap: 2px;
    font-size: 14px;
}

.profile-reserve_tel-label-en {
    font-family: "futura-pt", sans-serif;
    font-size: 16px;
}

.profile-reserve_tel-time {
    font-family: "futura-pt", sans-serif;
    font-weight: 600;
    font-size: 20px;
}

/* =======================================

profile-review（REVIEW：口コミ）

======================================= */

.profile-review_list {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.profile-review_item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 0;
    box-shadow: inset 0 1px 0 0 var(--color-post-border-secondary);
}

.profile-review_list > li:last-child .profile-review_item {
    box-shadow: inset 0 1px 0 0 var(--color-post-border-secondary), inset 0 -1px 0 0 var(--color-post-border-secondary);
}

.profile-review_name {
    font-size: 14px;
    color: var(--color-post-review-name);
}

.profile-review_text {
    font-size: 14px;
    line-height: normal;
    color: var(--color-post-font-primary);
}

.profile-review_like {
    display: flex;
    align-items: center;
    gap: 5px;
}

.profile-review_like img {
    display: block;
    width: 20px;
    height: 20px;
}

.profile-review_like span {
    font-family: "futura-pt", sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: var(--color-post-review-heart);
}

/* =======================================

profile-diary（DIARY：写メ日記）

======================================= */

.profile-diary_list {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.profile-diary_item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 0;
    box-shadow: inset 0 1px 0 0 var(--color-post-border-secondary);
}

.profile-diary_photo {
    width: 100%;
    aspect-ratio: 361 / 241;
    overflow: hidden;
}

.profile-diary_photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.profile-diary_meta {
    display: flex;
    align-items: center;
    gap: 8px;
}

.profile-diary_date {
    font-size: 13px;
    color: var(--color-post-review-name);
}

.profile-diary_like {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: "futura-pt", sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: var(--color-post-review-heart);
}

.profile-diary_like img {
    display: block;
    width: 20px;
    height: 20px;
}

.profile-diary_title {
    font-weight: 600;
    font-size: 15px;
    line-height: calc(20 / 15);
    min-height: 22px;
    color: var(--color-post-font-primary);
}

.profile-diary_text {
    font-size: 14px;
    line-height: calc(17 / 14);
    color: var(--color-post-font-primary);
}

/* =======================================

profile-postWidget（末尾の投稿ウィジェット：POST/ポスト 3件）
Figma上「Post=Widget」バリアントで screen #2/#3 の Post=Default（.post-detail_post*）とは
別レイアウト（サムネ86×86＋本文横並び）のため新規クラスで実装。
色トークンは既存 --color-post-* / --color-post-border-primary を再利用。

======================================= */
.profile-postWidget {
    padding-bottom: 60px;
}

.profile-postWidget_list {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.profile-postWidget_item {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px 16px;
    box-shadow: inset 0 -1px 0 0 var(--color-post-border-primary);
}

.profile-postWidget_list > li:first-child .profile-postWidget_item {
    box-shadow: inset 0 1px 0 0 var(--color-post-border-primary), inset 0 -1px 0 0 var(--color-post-border-primary);
}

.profile-postWidget_top {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
}

.profile-postWidget_pinned {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 2px;
    background: var(--color-post-pinned-bg);
    font-size: 12px;
    color: #fff;
}

.profile-postWidget_pinned img {
    display: block;
    width: 16px;
    height: 16px;
}

.profile-postWidget_date {
    flex: 1;
    min-width: 0;
    text-align: right;
    font-size: 10px;
    line-height: 1.8;
    font-weight: 500;
    letter-spacing: 0.06em;
    color: var(--color-post-font-accent);
}

.profile-postWidget_body {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
}

.profile-postWidget_thumb {
    flex-shrink: 0;
    width: 86px;
    height: 86px;
    border-radius: 8px;
    overflow: hidden;
}

.profile-postWidget_thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.profile-postWidget_noimage {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 10px;
    color: #999;
}

.profile-postWidget_text {
    flex: 1;
    min-width: 0;
    font-size: 13px;
    line-height: 18px;
    letter-spacing: 0.06em;
    color: var(--color-post-font-primary);
}

/* =======================================

profile-comment（COMMENT：コメント紹介）

======================================= */

.profile-comment_list {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.profile-comment_item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px 0;
    box-shadow: inset 0 1px 0 0 var(--color-post-border-secondary);
}

.profile-comment_list > li:last-child .profile-comment_item {
    box-shadow: inset 0 1px 0 0 var(--color-post-border-secondary), inset 0 -1px 0 0 var(--color-post-border-secondary);
}

.profile-comment_figure {
    flex-shrink: 0;
    width: 72px;
    text-align: center;
}

.profile-comment_figure img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto 6px;
}

.profile-comment_figure figcaption {
    font-size: 11px;
    line-height: 1.3;
    color: var(--color-post-review-name);
    word-break: break-all;
}

.profile-comment_text {
    flex: 1;
    min-width: 0;
    font-size: 14px;
    line-height: calc(20 / 14);
    color: var(--color-post-font-primary);
    word-break: break-all;
}

/* =======================================

profile-movie（MOVIE：動画）

======================================= */

.profile-movie_list {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.profile-movie_video {
    display: block;
    width: 100%;
    height: auto;
    background: #000;
}
