/* ----------------------------------------------------------------------

 pc style setting

---------------------------------------------------------------------- */
body { margin:0; padding:0;
       font-family:"Century Gothic",Arial,sans-serif;
       color:#333; }

/* layout */
#header_wrap { width:100%; min-width:1140px; }
/* MODIFIED: #header for flex layout and centering menu items */
#header {
    width:1140px;
    /* height:112px; */ /* 内容に応じて高さを自動調整するためコメントアウトまたは削除を検討 */
    position:relative;
    margin:0 auto;
    display: flex; /* ロゴとメニューの配置のため */
    justify-content: space-between; /* ロゴを左、メニューコンテナを右へ */
    align-items: center; /* 垂直方向中央揃え */
    padding: 15px 0; /* 上下の余白を追加 */
}

#index_top_wrap { width:100%; min-width:1140px; background:#f2f2f2; }
#index_top {
    width:1140px;
    position:relative; /* HTMLに position:relative; があったため維持 */
    margin:0 auto;
    padding:10px 0 0;
    /* text-align: center; */ /* img#slider_base を中央揃えする別案 */
}

/* ADDED: img#slider_base centering */
img#slider_base {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    height: auto;
    margin-bottom: 20px; /* 3つのバナーとの間に余白 */
}

#main_contents_wrap { width:100%; min-width:1140px; background:#fff url(img/common/background1.gif) repeat-x left top; }
#main_contents { width:1140px; margin:0 auto; }


#main_col { width:800px; float:left; padding:50px 0; }
#side_col { width:300px; float:right; padding:50px 0; }
.page-template-page-noside-php #main_col { width:100%; float:none; }
.page-template-page-noside-short-php #main_col, .page-template-page-co-noside-php #main_col
 { width:850px; float:none; margin:0 auto; }


/* headline */
.headline1 { border-bottom:1px solid #ddd; padding:0; margin:0 0 25px 0; font-size:18px; }
.headline1 span { border-bottom:4px solid #ccc; padding:0 0 10px 0; margin:0; display:inline-block; }




/* ----------------------------------------------------------------------
 company info
---------------------------------------------------------------------- */
#company_info { margin:0 0 50px 0; padding:1px 0 0 0; }
#company_info p { margin:0; }
#company_info dl { border-bottom:1px solid #ddd; margin:0 0 40px 0; }
#company_info dt { float:left; width:150px; display:inline; margin:0 0 0px 0; line-height:200%; font-weight:bold; font-size:11px; border-top:1px solid #ddd; padding:12px 10px 10px 0; }
#company_info dd { margin:0 0 0px 150px; line-height:200%; background:#f9f9f9; padding:12px 10px 10px 10px; border-top:1px solid #ddd; }

#company_map { text-align:right; }
#company_map a { color:#333; }
#company_map iframe { width:100%; }
#company_map_desc { padding:20px 0 0; margin-bottom:-30px; }




/* ----------------------------------------------------------------------
 index
---------------------------------------------------------------------- */
/* slider */
#slider { z-index:1; min-width:1140px; margin:0 auto 10px auto; } /* MODIFIED: margin for centering */
#slider img { width:1140px; height:400px; display:block; margin:0 auto; } /* MODIFIED: margin for centering image within slider if slider is wider */

/* top banner */
/* MODIFIED: #index_banner ol for flex layout */
#index_banner ol {
    margin:22px 0 22px 0;
    padding:0;
    list-style-type: none; /* HTMLにclass="clearfix"がありますが、Flexbox使用時は不要な場合があります */
    display: flex;
    justify-content: center;
    gap: 22px; /* 各li間のスペース */
}
/* MODIFIED: #index_banner ol li, floatを削除 */
#index_banner ol li {
    list-style-type:none;
    margin:0; /* gapで制御するため、個別のマージンは基本的に不要 */
    padding:0;
    /* float:left; */ /* MODIFIED: Removed */
    /* margin:0 22px 0 0; */ /* MODIFIED: Removed, use gap on parent */
}
/* MODIFIED: .num3 specific margin rule removed as it's not needed with flex gap/balanced margins */
/* #index_banner ol li.num3 { margin:0; } */
#index_banner img { display:block; max-width:100%; height:auto; } /* ADDED: responsiveness */

/* news */
#index_news { position:relative; }
#index_news ol { margin:0 0 40px 0; padding:0; }
#index_news ol li { list-style-type:none; margin:0 0 2px 0; padding:5px; background:#f2f2f2; font-size:13px; -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px; }
#index_news ol li .date { font-size:12px; margin:0 10px 0 0; line-height:100%; background:#999; color:#fff; padding:10px; -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px; float:left; width:70px; text-align:center; }
#index_news ol li .title { float:left; width:690px; line-height:150%; padding:7px 0; margin:0; }
#index_news ol li .title a { display:block; text-decoration:none; }

/* archive link */
.index_archive_link a { position:absolute; right:0px; top:5px; font-size:13px; text-decoration:none; }
.index_archive_link a:hover { text-decoration:underline; }

/* index center banner */
#index_center_banner { display:block; margin:0 0 40px 0; }

/* product */
#index_product { position:relative; margin:0 0 10px 0; }
#index_product ol { margin:0 -28px 0 0; padding:0; } /* This negative margin might need review if layout breaks */
#index_product ol li { list-style-type:none; margin:0 23px 20px 0; padding:0; vertical-align:top; width:248px; display:inline-block; }
#index_product ol li .image { display:block; background:#fff; }
#index_product ol li .image img {
  display:block; width:248px; height:190px; border:1px solid #ccc;
  -webkit-transition-property:opacity; -webkit-transition-duration:0.4s; -webkit-transition-timing-function:ease; -moz-transition-property:opacity; -moz-transition-duration:0.4s; -moz-transition-timing-function:ease; -o-transition-property:opacity; -o-transition-duration:0.4s; -o-transition-timing-function:ease;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#index_product ol li .image:hover img { opacity:0.5; }
#index_product ol li .category { background:#999; color:#fff; padding:0 10px; height:40px; line-height:40px; overflow:hidden; font-size:14px; }
#index_product ol li .category a { text-decoration:none; color:#fff; }
#index_product ol li .category a:hover { text-decoration:underline; }
#index_product ol li .title { font-size:14px; margin:15px 0 5px; }
#index_product ol li .title a { text-decoration:none; }
#index_product ol li .desc { font-size:12px; margin:5px 0 10px; line-height:160%; }

/* blog */
#index_blog { position:relative; margin:0 0 40px 0; }
#index_blog ol { margin:0; padding:0; }
#index_blog ol li { list-style-type:none; margin:0 0 10px 0; padding:0 0 10px 0; border-bottom:1px dotted #aaa; }
#index_blog ol li:last-child { border:none; margin:0; padding:0; }
#index_blog ol li .image { float:left; margin:0 15px 0 0; background:#fff; }
#index_blog ol li .image img { display:block; -webkit-transition-property:opacity; -webkit-transition-duration:0.4s; -webkit-transition-timing-function:ease; -moz-transition-property:opacity; -moz-transition-duration:0.4s; -moz-transition-timing-function:ease; -o-transition-property:opacity; -o-transition-duration:0.4s; -o-transition-timing-function:ease; }
#index_blog ol li .image:hover img { opacity:0.5; }
#index_blog ol li .date { margin:0; font-size:12px; color:#999; }
#index_blog ol li .title { margin:0; font-size:14px; }

/* footer banner */
#footer_banner li { }
#footer_banner li.num1 { float:left; }
#footer_banner li.num2 { float:right; }
#footer_banner li.num3 { clear:both; padding:30px 0 0 0; }
#footer_banner li img { display:block; }




/* ----------------------------------------------------------------------
 archive
---------------------------------------------------------------------- */
/* product */
#product_list { position:relative; margin:0 0 10px 0; }
#product_list { margin:0 -28px 0 0; padding:0; } /* This negative margin might need review */
#product_list li { list-style-type:none; margin:0 23px 20px 0; padding:0; vertical-align:top; width:248px; display:inline-block; }
#product_list li .image { display:block; background:#fff; }
#product_list li .image img {
  display:block; width:248px; height:190px; border:1px solid #ccc;
  -webkit-transition-property:opacity; -webkit-transition-duration:0.4s; -webkit-transition-timing-function:ease; -moz-transition-property:opacity; -moz-transition-duration:0.4s; -moz-transition-timing-function:ease; -o-transition-property:opacity; -o-transition-duration:0.4s; -o-transition-timing-function:ease;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#product_list li .image:hover img { opacity:0.5; }
#product_list li .title { font-size:14px; margin:0 0 10px 0; }
#product_list li .title a {
  text-decoration:none; display:block; padding:10px; background:#999; color:#fff; height:40px; overflow:hidden;
  -webkit-transition-property:background; -webkit-transition-duration:0.4s; -webkit-transition-timing-function:ease; -moz-transition-property:background; -moz-transition-duration:0.4s; -moz-transition-timing-function:ease; -o-transition-property:background; -o-transition-duration:0.4s; -o-transition-timing-function:ease;
}
#product_list li .title a:hover { background:#333; }

/* news */
#news_list { position:relative; }
#news_list { margin:0 0 40px 0; padding:0; }
#news_list li { list-style-type:none; margin:0 0 2px 0; padding:5px; background:#f2f2f2; font-size:13px; -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px; }
#news_list li .date { margin:0 10px 0 0; font-size:12px; line-height:100%; background:#999; color:#fff; padding:10px; -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px; float:left; width:70px; text-align:center; }
#news_list li .title { float:left; width:690px; line-height:150%; padding:7px 0; margin:0; }
#news_list li .title a { display:block; text-decoration:none; }

/* blog */
#post_list { margin:0; padding:0; }
#post_list li { border-bottom:1px dotted #aaa; margin:0 0 25px 0; padding:0 0 15px 0; }
#post_list .image { float:right; background:#fff; }
#post_list .image img { display:block; -webkit-transition-property:opacity; -webkit-transition-duration:0.4s; -webkit-transition-timing-function:ease; -moz-transition-property:opacity; -moz-transition-duration:0.4s; -moz-transition-timing-function:ease; -o-transition-property:opacity; -o-transition-duration:0.4s; -o-transition-timing-function:ease; }
#post_list .image:hover img { opacity:0.5 }
#post_list .info { float:left; width:510px; }
#post_list .no_thumbnail .info { float:none; width:auto; }
#post_list .post_date { font-size:12px; width:54px; height:54px; text-align:center; margin:0 15px 15px 0; line-height:100%; float:left; background:#bbb; position:relative; }
#post_list .date { color:#fff; display:block; position:absolute; top:10px; width:54px; }
#post_list .month { color:#fff; display:block; position:absolute; bottom:10px; width:54px; }
#post_list .title { font-size:16px; line-height:180%; margin:0 0 15px 0; }
#post_list .title a { text-decoration:none; }
#post_list .title a:hover { text-decoration:underline; }
#post_list .desc { clear:both; }
#post_list ul { margin:0; }
#post_list li li { border:none; margin:0 25px 5px 0; padding:0; float:left; font-size:12px; }
#post_list li.meta_category { background:url(img/common/icon_category.png) no-repeat left 3px; padding-left:15px; }
#post_list li.meta_tag { background:url(img/common/icon_tag.png) no-repeat left 3px;  padding-left:15px; }
#post_list li.meta_comment { background:url(img/common/icon_comment.png) no-repeat left 3px;  padding-left:15px; }
#post_list li.meta_author { background:url(img/common/icon_author.png) no-repeat left 3px;  padding-left:15px; }




/* ----------------------------------------------------------------------
 single post page
---------------------------------------------------------------------- */
.post { margin:0 0 10px 0; }

/* title */
#post_title { margin:0 0 25px 0; }
#post_title h2 { margin:0; padding:0; font-size:18px; line-height:160%; }
#post_title .post_date { font-size:12px; width:54px; height:54px; text-align:center; margin:0 15px 5px 0; line-height:100%; float:left; background:#bbb; position:relative; }
#post_title .date { color:#fff; display:block; position:absolute; top:10px; width:54px; }
#post_title .month { color:#fff; display:block; position:absolute; bottom:10px; width:54px; }


/* post thumbnail */
.post_image { text-align:center; margin:0 0 30px 0; }
.post_image img { margin:0; width:100%; height:auto; }


/* next page */
#post_pagination { margin:0 0 30px 0; }
#post_pagination h5 { margin:0 10px 0 0; float:left; line-height:30px; font-size:12px; }
#post_pagination a, #post_pagination p { float:left; display:inline-block; background:#eee; margin:0 5px 0 0; width:30px; height:30px; line-height:30px; text-align:center; text-decoration:none; color:#333; -moz-border-radius:3px; -khtml-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; font-size:12px; }
#post_pagination p { background:#999; color:#fff; }
#post_pagination a:hover { background:#00a2d9; color:#fff; }


/* meta and bookmark */
#post_meta { border-top:1px dotted #aaa; margin:0 0 20px 0; padding:15px 0; }
#post_meta #meta { float:left; width:60%; margin:0; font-size:12px; }
#post_meta #meta li { padding:0; margin:0 0 6px 0; line-height:160%; }
#post_meta #meta li.meta_author { background:url(img/common/icon_author.png) no-repeat left 5px; padding:0 0 0 18px; }
#post_meta #meta li.meta_comment { background:url(img/common/icon_comment.png) no-repeat left 5px; padding:0 0 0 18px; }
#post_meta #meta li.meta_category { background:url(img/common/icon_category.png) no-repeat 3px 4px; padding:0 0 0 18px; }
#post_meta #meta li.meta_tag { background:url(img/common/icon_tag.png) no-repeat left 5px; padding:0 0 0 18px; }
#post_meta .bookmark { float:right; margin:0; }
#post_meta .bookmark li { float:left; margin:0 0 0 10px; }


/* related post*/
#related_post { margin:0 0 35px 0; }
#related_post .headline { font-size:18px; margin:0 0 12px 0; line-height:100%; }
#related_post ul { margin:0 -10px 0 0; }
#related_post li { display:inline-block; margin:0 5px 10px 0; vertical-align:top; width:373px; border:1px solid #ccc; padding:10px; }
#related_post .image { float:left; margin:0 15px 0 0; background:#fff; }
#related_post .image img { width:72px; height:72px; display:block; -webkit-transition-property:opacity; -webkit-transition-duration:0.4s; -webkit-transition-timing-function:ease; -moz-transition-property:opacity; -moz-transition-duration:0.4s; -moz-transition-timing-function:ease; -o-transition-property:opacity; -o-transition-duration:0.4s; -o-transition-timing-function:ease; }
#related_post .image:hover img { opacity:0.5; }
#related_post .info { }
#related_post .date { margin:0 0 5px 0; line-height:100%; font-size:12px; color:#999; }
#related_post .title { font-size:14px; margin:0; }
#related_post .title a { text-decoration:none; display:block; }


/* next prev post link */
#previous_next_post { margin:0 0 40px 0; padding:0; border-top:1px solid #ccc; }
#previous_next_post p { margin:0; padding:0; }
#previous_next_post a { -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
 }
#previous_post a { margin:0; width:50%; float:left; border-right:1px solid #ccc; line-height:140%; font-size:12px; background:url(img/common/arrow_left.gif) no-repeat left 20px; padding:25px 30px; }
#next_post a { margin:0; left:-1px; position:relative; width:50%; float:right; text-align:right; border-left:1px solid #ccc; line-height:140%; font-size:12px; background:url(img/common/arrow_right.gif) no-repeat right 20px; padding:25px 30px; }




/* ----------------------------------------------------------------------
 product single page
---------------------------------------------------------------------- */
#product_headline a { text-decoration:none; }
#product_headline a:hover { text-decoration:underline; }
.product_title { margin:0 0 20px 0; }

/* slider */
#product_image_slider_wrap { width:770px; background:#f2f2f2; padding:15px; position:relative; margin:0 0 30px 0; }
#product_image_slider_wrap #loader { position:absolute; top:200px; left:350px; }
#product_image_slider { width:575px; height:380px; margin:; overflow:hidden; } /* Ensure `margin` has a value or remove if not needed */
#product_image_slider img { width:575px; height:380px; }

/* thumbnail */
.nivo-controlNav { padding:0; margin:0; position:absolute; right:15px; top:15px; }
.nivo-controlNav a { cursor:pointer; margin:0 0 13px 0; display:block; }
.nivo-controlNav a img { display:block; opacity:0.3; }
.nivo-controlNav a.active img, .nivo-controlNav a:hover img { opacity:1; }

/* no slider */
#product_image {  }
#product_image img { display:block; border:15px solid #f2f2f2; margin:0 auto 30px; }

/* bookmark */
.bookmark { margin:0 0 30px 0; }
.bookmark li { float:left; margin:0 10px 0 0; }




/* ----------------------------------------------------------------------
 header
---------------------------------------------------------------------- */

/* logo */
/* MODIFIED: #logo_text and #logo_image for flex layout */
#logo_text {
    /* position:absolute; left:0px; top:35px; */ /* Removed */
    position: static; /* ADDED */
    margin:0; padding:0; font-size:24px; line-height:100%; font-weight:normal;
}
#logo_text a { text-decoration:none; display:block; }
#logo_text a:hover { color:#00a2d9; }

#description {
    /* position:absolute; left:0px; top:55px; */ /* Removed if logo is static */
    position: static; /* ADDED or adjust relative to new logo position */
    font-weight:normal; font-size:11px; color:#aaa;
    /* margin-left for #logo_image might be needed if logo_text is used */
}
#logo_image {
    /* position:absolute; margin:0; padding:0; line-height:100%; */ /* Removed */
    position: static; /* ADDED */
    margin:0; padding:0; line-height:100%; /* Existing, seems fine */
}
#logo_image img { display:block; }


/* global menu */
.menu_button { display:none; } /* This is for mobile view, keep as is for PC */

/* MODIFIED: #global_menu for flex layout */
#global_menu {
    /* margin:0; position:absolute; right:0px; bottom:0px; z-index:999; */ /* MODIFIED: Removed absolute positioning */
    position: static; /* ADDED */
    margin: 0; /* Adjust as needed within flex layout */
    display: flex; /* ADDED: To help center the UL if #global_menu itself has more width than UL */
    justify-content: center; /* ADDED */
    /* flex-grow: 1; */ /* Optional: if you want #global_menu to take remaining space in #header */
    /* z-index:999; */ /* May still be needed depending on other elements */
}

/* MODIFIED: #global_menu ul (targeting .menu class from HTML) */
#global_menu ul.menu { /* MODIFIED: Specific to ul.menu */
    display:flex; /* ADDED */
    justify-content: center; /* ADDED */
    position:static; /* MODIFIED: ensure not absolute if it was inherited */
    /* top:63px; left:0px; */ /* These were for dropdowns, review if needed for main level */
    margin:0; padding:0;
    /* border-top:1px solid #ccc; */ /* This was for dropdowns, review if needed for main level */
    list-style: none; /* ADDED: if not already inherited */
}

/* MODIFIED: #global_menu ul ul for dropdowns (verify selectors if #global_menu ul.menu is used above) */
#global_menu ul.menu ul { /* Dropdown UL */
    display:none; position:absolute; top:100%; /* Adjust top based on parent li height */
    left:0px; margin:0; padding:0; border-top:1px solid #ccc;
    background: #fff; /* Add background to dropdowns */
    width: 180px; /* Example width for dropdowns */
    z-index: 1000; /* Ensure dropdowns are on top */
}
#global_menu ul.menu ul ul { /* Sub-Sub-dropdown UL */
    left:100%; top:0; margin:0 0 0 -1px;
}

/* MODIFIED: #global_menu li */
#global_menu li {
    /* float:left; */ /* MODIFIED: Removed */
    font-size:1%; /* This seems odd, review if still needed. Could be for an old IE hack. */
    position:relative; /* Keep for dropdown positioning */
    margin: 0 5px; /* ADDED: Spacing between top-level menu items, adjust as needed */
}
#global_menu li:hover > ul { /* Show dropdown on hover */
    display: block;
}


#global_menu li a {
 font-size:14px; text-align:center; text-decoration:none; display:block; height:60px; line-height:60px; padding:0 20px; border-bottom:4px solid #fff;
 -webkit-transition-property:background; -webkit-transition-duration:0.4s; -webkit-transition-timing-function:ease; -moz-transition-property:background; -moz-transition-duration:0.4s; -moz-transition-timing-function:ease; -o-transition-property:background; -o-transition-duration:0.4s; -o-transition-timing-function:ease;
}
#global_menu > ul > li.active_menu > a, /* Keep this for active menu item styling */
#global_menu ul li a:hover { /* MODIFIED: simplified hover for all menu links, original used #global_menu > ul > li.active_menu > a */
    border-bottom:4px solid #aaa; color:#333;
}

/* MODIFIED: #global_menu ul ul li for dropdown items */
#global_menu ul.menu ul li { /* Dropdown LI */
    float:none; height:auto; line-height:normal; /* Use normal line-height */
    padding:0; margin:0; text-align:left;
    width: 100%; /* Make li take full width of dropdown ul */
}
/* MODIFIED: #global_menu ul ul a for dropdown links */
#global_menu ul.menu ul a {
    font-size:12px; position:relative; padding:10px 15px; /* Adjusted padding */
    width:auto; /* Let it be auto based on padding and li width */
    height:auto; line-height:1.5; /* Normal line-height */
    margin:0; /* Removed -1px bottom margin which could cause overlap issues */
    text-align:left; border:none; /* Remove individual borders, parent ul has border-top */
    border-bottom: 1px solid #eee; /* Add separator between dropdown items */
    background:#fff; /* Ensure background */
    color: #333; /* Ensure text color */
}
#global_menu ul.menu ul li:last-child a {
    border-bottom: none; /* Remove border from last item in dropdown */
}
#global_menu ul.menu ul a:hover {
    /* border:1px solid #ccc; */ /* Border already handled by li or ul */
    background:#e2e2e2;
    color: #333; /* Ensure hover text color */
    border-bottom-color: #e2e2e2; /* Match background on hover if using bottom border on <a> */
}




/* ----------------------------------------------------------------------
 footer
---------------------------------------------------------------------- */
#return_top { z-index:999; position:fixed; right:0px; bottom:25px; margin:0; display:block; width:36px; height:100px; text-indent:-9999px; background:#ccc url(img/footer/return_top.png) no-repeat center; }
#return_top:hover { }

/* basic setting */
#footer { clear:both; width:100%; min-width:1140px; background:#f4f4f4; }
#footer_inner { width:1140px; margin:0 auto; position:relative; font-size:11px; padding-top:50px; }
#footer a { }
#footer a:hover { }
#footer li { line-height:170%; margin:0 0 10px 0; padding:0; }

/* widget area */
#footer_widget { position:relative; }
.footer_widget { margin:0 41px 40px 0; width:350px; display:inline-block; vertical-align:top; overflow:hidden; }
.footer_widget.right_widget { margin-right:0; }
.footer_headline { font-size:16px; margin:0 0 15px 0; padding:0 0 8px 0; }
.footer_widget ul { margin:0; }
.footer_widget li ul { margin:10px 0 0 0; }
.footer_widget li { }
.footer_widget img { height:auto; max-width:100%; width:auto; }

/* copyright */
#copyright { width:100%; min-width:1140px; clear:both; color:#fff; background:#999; margin:0; }
#copyright_inner { width:1140px; height:50px; margin:0 auto; positiion:relative; font-size:11px; }
#copyright a { text-decoration:none; color:#fff; }
#copyright a:hover { text-decoration:underline; }

/* menu */
#footer_menu { margin:23px 0 0 0; float:left; }
#footer_menu li { float:left; margin:0; line-height:100%; }
#footer_menu li a { text-decoration:none; border-right:1px solid #aaa; margin:0 0 0 0; padding:0 10px 0 10px; }
#footer_menu li:last-child a { border:none; }

/* sns link */
#social_link { margin:15px 0 0 15px; float:right; }
#social_link li { float:left; margin:0 0 0 5px; line-height:100%; }
#social_link li a {
  text-indent:100%; white-space:nowrap; overflow:hidden; display:block; width:24px; height:24px;
  -webkit-transition-property:opacity; -webkit-transition-duration:0.4s; -webkit-transition-timing-function:ease; -moz-transition-property:opacity; -moz-transition-duration:0.4s; -moz-transition-timing-function:ease; -o-transition-property:opacity; -o-transition-duration:0.4s; -o-transition-timing-function:ease;
}
#social_link li.rss a { background-image:url(img/footer/rss.png); }
#social_link li.twitter a { background-image:url(img/footer/twitter.png); }
#social_link li.facebook a { background-image:url(img/footer/facebook.png); }
#social_link li a:hover { opacity:0.5; }

/* copyright */
#copyright p { margin:13px 0 0 0; float:right; font-size:12px; }


/* ヘッダーのグローバルナビを中央揃え - This block is now handled by the modifications above for #global_menu */
/*
#global_nav ul {
  display: flex;
  justify-content: center;
  padding: 0;
  margin: 0;
}

#global_nav ul li {
  float: none;
}
*/