@charset "UTF-8";

/*///////////////////// font-face ///////////////////////////*/
/*Noto Sans JP 500（TOPでは Medium のみ使用してフォント転送量を抑制）*/
@font-face {
    font-family: "Noto Sans JP";
    src: url(/fonts/NotoSansJP-Medium.woff2) format('woff2');
    font-weight: 500;
    font-display: swap;
}
/*Amarna 700（セクション英字タイトル用）*/
@font-face {
    font-family: "Amarna";
    src: url(/fonts/Amarna-Bold.ttf) format('truetype');
    font-weight: 700;
    font-display: swap;
}
/*///////////////////// font-face ///////////////////////////*/

.org-header * {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
}

.org-header{
    position: fixed;
    top: 30px;
    left: 25px;
    right: 20px;
    z-index: 2;
    width: auto;
    border-radius: 10px;
    /* left/right のみ変化させて transform・width 切替によるガタつきを防ぐ */
    transition: top 0.25s ease, left 0.25s ease, right 0.25s ease;
}

/* スクロール後：上下左右の隙間をなくしてぴったり固定（TOP・下層共通） */
.org-header.is-stuck{
    top: 0;
    left: 0;
    right: 0;
}

/* 下層は最初からぴったり固定（アニメ不要） */
.org-header--sub{
    transition: none;
}

.org-header--sub .org-header__inner{
    transition: none;
}

/* 下層: fixed化に伴うレイアウト確保用スペーサー（ヘッダー高さ分） */
.org-header-spacer{
    height: 70px;
}

.org-header__inner{
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    height: 70px;
    padding: 0 31px 0 18px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 2px rgba(0, 0, 0, 0.15);
    transition: border-radius 0.25s ease;
}

.org-header.is-stuck .org-header__inner{
    border-radius: 0;
}

.org-header__logo{
    margin: 0;
    line-height: 0;
}

.org-header__logo-link{
    display: block;
    width: 142px;
}

.org-header__logo-link:hover{
    opacity: 1;
}

.org-header__logo img{
    width: 100%;
    height: 100%;
    display: block;
}

.org-header__list{
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.org-header__section{
    display: flex;
    align-items: center;
    position: relative;
}

.org-header__section-list{
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* ========== セクション1: トップ〜運営会社紹介（テキスト間に細い罫線） ========== */
.org-header__section--main .org-header__item{
    display: flex;
    align-items: center;
}

.org-header__section--main .org-header__item + .org-header__item::before{
    content: "";
    display: block;
    width: 1px;
    height: 12px;
    margin: 0 12px;
    background: #D2D2D2;
}

/* ========== セクション2: お気に入り・閲覧履歴（区切り線＋背景色＋アイコン） ========== */
.org-header__section--util{
    margin-left: 20px;
    padding-left: 20px;
}

.org-header__section--util::before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 36px;
    background: #9A9A9A;
}

.org-header__section--util .org-header__section-list{
    gap: 14px;
    padding: 6px 0 0;
}

/* ========== セクション3: 賃貸居住用サイト（区切り線＋ボタン） ========== */
.org-header__section--external{
    margin-left: 20px;
    padding-left: 20px;
}

.org-header__section--external::before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 36px;
    background: #9A9A9A;
}

.org-header__link{
    position: relative;
    display: inline-block;
    color: #333;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.org-header__link::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 100%;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center center;
    transition: transform 0.3s ease;
}

.org-header__link:hover{
    opacity: 1;
}

.org-header__link:hover::after{
    transform: scaleX(1);
}

.org-header__link--icon{
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.org-header__link-icon{
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    fill: none;
}

.org-header__link-txt{
    line-height: 1;
}

.org-header__btn{
    position: relative;
    z-index: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    overflow: hidden;
    min-height: 40px;
    padding: 10px 16px;
    border: 1px solid #003E92;
    background: #003E92;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.5s ease;
}

.org-header__btn::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: #fff;
    opacity: 0;
    transform: scaleY(0);
    transform-origin: center center;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

.org-header__btn:hover{
    color: #003E92;
    opacity: 1;
}

.org-header__btn:hover::before{
    opacity: 1;
    transform: scaleY(1);
}

