/*�������ʕ\���p*/
.pagetitle {
	margin-top:10px;
	background:#1A4876 url(/common/img/bg/bg_2color_h33_1A4876-003366.gif) repeat-x scroll left bottom;
	color:#FFFFFF;
	display:block;
	font-weight:bold;
	overflow:hidden;
	padding:7px 10px;
	font-size:16px;
	margin-bottom: 20px;
}

.search_result_elem {
	margin:10px 0px;
}
.search_result_elem h3 {
	font-size:14px;
}

.search_desc {
	font-weight:normal;
	margin:5px 0px;
}
.search_url {
	font-weight:normal;
	font-size: 11px;
	color: #009900;
}
.searchfooter_container {
}

.searchfooter {
	text-align:center;
	font-size: 13px;
}

/*�T�C�g�|���V�[*/
#sitepolicy h3 {
	font-size: 15px;
	margin-top: 10px;
	margin-bottom: 10px;
	padding-top:4px;
	background:transparent url(/common/img/line/line_side_dotted_999999.gif) repeat-x scroll left top;
}
/*�v���C�o�V�[�|���V�[*/
#ppolicy h3 {
	font-size: 15px;
	margin-top: 10px;
	margin-bottom: 10px;
	padding-top:4px;
	background:transparent url(/common/img/line/line_side_dotted_999999.gif) repeat-x scroll left top;
}

/*�T�C�g�}�b�v*/
#sitemap {
	width:970px;line-height:20px; margin-bottom:50px;
}
#sitemap dl {
	margin-top: 10px;
	margin-bottom: 15px;
}

#sitemap dt {
	font-size: 16px;
	margin-bottom: 10px;
}

#sitemap li {
	padding-left: 20px;
}

#sitemap li a {
	background:transparent url(/common/img/arrow/arrow_triangle_right_blue.gif) no-repeat scroll left center;
	padding-left:10px;
}


/*�����o�[ ��*/
.sepalate_bar {
	background:transparent url(/std/img/line_sepalate_bar.gif) repeat-x scroll left center;
	height:2px;
	overflow:hidden;
}

/*�����o�[ �_��*/
.sepalate_bar_dot {
	background:transparent url(/common/img/line/line_side_dotted_999999.gif) repeat-x scroll left bottom;
	height:1px;
	overflow:hidden;
	margin: 5px 0px;
}

/*�����o�[ ���� �O���[*/
.sepalate_bar_solid_blue {
	height:0px;
	border-bottom:solid 1px #9DAFB1;
	overflow:hidden;
	margin: 5px 0px;
}


@media screen and (max-width: 768px) {
	#GlobalHeader .box-body,
	#GlobalFooter .box-body {
    max-width: 1180px;
		width: 90%;
	}
	.width_change {
		margin-inline: auto;
		width: 95% !important;
	}
	#SiteLogo img {
		width: 90px;
	}
	#GTop #SiteLogo {
		font-size: 12px;
	}
	#GlobalFooter div.footer address {
		margin-top: 10px;
	}
	#CommonHeader {
		height: auto;
	}
	#CommonHeader p {
		font-size: 12px;
		overflow-wrap: break-word;
	}
}
/* スマホ版のみのスタイル */
@media (max-width: 600px) {
    .component-box > :first-child,
    .component-box > :first-child > .component:first-child,
    .component-box > .component-tab:first-child .tab-header {
        -moz-border-radius-topleft: 10px;
        -moz-border-radius-topright: 10px;
        -webkit-border-top-left-radius: 10px;
        -webkit-border-top-right-radius: 10px;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
    }

    .prop-noborder {
        border-width: 0;
    }

    .component-group {
        position: relative;
        padding: 0.5em 15px;
        border: 1px solid #CCCCCC;
        border-width: 0 0 1px 0;
    }

    .ueno-content-body {
        position: relative;
        padding: 0.5em 15px;
        border: 1px solid #CCCCCC;
        margin: 10px 4px;
        -moz-border-radius-topleft: 10px;
        -moz-border-radius-topright: 10px;
        -webkit-border-top-left-radius: 10px;
        -webkit-border-top-right-radius: 10px;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
    }
}


@media (max-width: 600px) {
    .pc-header-only {
        display: none !important;
    }
}


/* PC版では非表示 */
@media (min-width: 601px) {
    .sp-header {
        background: #fff;
        border-bottom: 1px solid #ccc;
        padding: 10px 0;
        position: relative;
    }
}


/* SP版ヘッダー */
@media (max-width: 600px) {
    .sp-header {
        background: #fff;
        border-bottom: 1px solid #ccc;
        padding: 10px 0 10px 10px;
        position: relative;
    }

    .sp-header-container {
        display: flex;
        align-items: center;
        justify-content: normal;
        gap: 10px;
    }

    .sp-header-logo {
        flex: 0 1 auto;
    }

    .sp-header-logo a {
        display: block;
        text-decoration: none;
    }

    .sp-header-logo img {
        max-width: 100%;
        height: auto;
        display: block;
    }

    .sp-header-hours {
        display: block;
        font-size: 10px;
        color: #333;
        margin-top: 2px;
    }

    .sp-header-actions {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-shrink: 0;
    }

    .sp-header-phone {
        flex-shrink: 0;
    }

    .sp-header-phone img {
        height: auto;
        display: block;
    }

    .sp-header-search {
        flex-shrink: 0;
    }

    .sp-header-search a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        border: 1px solid #ccc;
        border-radius: 3px;
        padding: 4px;
        background: #fff;
        font-size: 0.7em;
        white-space: nowrap;
        width: 3.2em;
        height: 3em;
        text-decoration: none;
        color: #333;
    }

    .sp-header-search img {
        width: 16px;
        height: auto;
    }

    .sp-header-search br {
        display: none;
    }

    .sp-header-search span {
        display: block;
        margin-top: 2px;
        font-size: 10px;
    }

    /* ハンバーガーメニュートリガー */
    .page-hamburger-menu {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 50px;
        height: 50px;
        background: #3b579d;
        border: none;
        text-decoration: none;
        flex-shrink: 0;
        padding: 0;
        cursor: pointer;
        position: absolute;
        top: 0;
        right: 0;
    }

    .page-hamburger-menu svg {
        transition: transform 0.3s ease;
    }

    .page-hamburger-menu svg line {
        transition: all 0.3s ease;
        transform-origin: center;
    }

    /* アクティブ時のアニメーション */
    .page-hamburger-menu.active svg line:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .page-hamburger-menu.active svg line:nth-child(2) {
        opacity: 0;
    }

    .page-hamburger-menu.active svg line:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }
}

/* PC/SP出し分け（更新版） */
@media (min-width: 601px) {
    .sp-header-only,
    .sp-header {
        background: #fff;
        border-bottom: 1px solid #ccc;
        padding: 10px 0;
        position: relative;
    }
}

@media (max-width: 600px) {
    .pc-header-only {
        display: none !important;
    }
}


/* SP版ナビゲーションメニュー */
@media (max-width: 600px) {
    .page-nav-menu {
        display: none;
    }

    .page-nav-menu.active {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 300;
        width: 100%;
        height: 100%;
        background: rgba(88, 146, 182, 0.9);
    }

    .page-nav-close {
        position: absolute;
        top: 10px;
        right: 10px;
        width: 40px;
        height: 40px;
        background: transparent;
        border: none;
        color: #fff;
        font-size: 36px;
        line-height: 1;
        cursor: pointer;
        z-index: 301;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
    }

    .page-nav-menu .spNavigation {
        position: relative;
        overflow: scroll;
        height: 90%;
        color: #fff;
        font-size: 0.85em;
        line-height: 50px;
        padding-top: 57px;
        list-style: none;
        margin: 0;
    }

    .page-nav-menu .spNavigation li {
        line-height: 45px;
    }

    .page-nav-menu .spNavigation .topNavi {
        border-bottom: rgba(255, 255, 255, 0.4) 1px solid;
        line-height: 60px;
        font-size: 1.0em;
        font-weight: 600;
        background: #3b579d;
    }

    .page-nav-menu .spNavigation li a,
    .page-nav-menu .spNavigation li span {
        display: block;
        color: #fff;
        position: relative;
        padding: 0 1em;
        border-bottom: rgba(255, 255, 255, 0.4) 1px dotted;
        font-size: 16px;
        text-decoration: none;
    }

    .page-nav-menu .spNavigation li a::before {
        content: '';
        position: absolute;
        top: 50%;
        right: 10px;
        margin-top: -5px;
        width: 0.4em;
        height: 0.4em;
        margin-right: 0.5em;
        border-top: #fff 1px solid;
        border-right: #fff 1px solid;
        transform: rotate(45deg);
    }

    .page-nav-menu .topNavi a::before {
        content: '';
        position: absolute;
        top: 50%;
        right: 10px;
        margin-top: -5px;
        width: 0.4em;
        height: 0.4em;
        margin-right: 0.5em;
        border-top: #fff 1px solid;
        border-right: #fff 1px solid;
        transform: rotate(45deg);
    }

    /* オーバーレイ */
    body.page-menu-open::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: rgba(0, 0, 0, 0.5);
        z-index: 299;
    }

    body.page-menu-open {
        overflow: hidden;
    }
}

/* PC版では非表示 */
@media (min-width: 601px) {
    .spNavi,
    .page-nav-menu {
        display: none;
    }
}
