/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1,
h2,
h3,
h4,
h5,
h6,
blockquote,
caption,
figcaption,
p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}


* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", Osaka, "MS PGothic", sans-serif;
	font-size: 12px;
	line-height: 1.4;
	color: #333;
	background-color: #fff;
}

#stage {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	background-color: #fff;
}

/* Header */
#header {
	background-color: #f8f8f8;
	border-bottom: 1px solid #ccc;
}

#ciBlock {
	padding: 15px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

#ciLogo img {
	height: 50px;
	width: auto;
}

#search {
	display: flex;
	align-items: center;
	gap: 5px;
}

#faqSearchBox {
	padding: 5px;
	border: 1px solid #ccc;
	font-size: 12px;
	width: 120px;
}

#faqSearchBtn {
	height: 24px;
	width: auto;
}

#ciBtn {
	display: flex;
	flex-direction: column;
	gap: 5px;
	list-style: none;
}

#ciBtn img {
	height: 46px;
	width: 189px;
}

#openacount {
	position: absolute;
	top: 10px;
	right: 20px;
}

#exchangelate {
	background-color: #2c5aa0;
	color: white;
	padding: 10px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

.currency-pair {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: bold;
}

.currency-rate {
	color: #fff;
}

.currency-change {
	color: #ffff00;
	font-size: 12px;
}

.currency-change.positive {
	color: #00ff00;
}

.currency-change.negative {
	color: #ff6666;
}

/* Main Image */
#mainImagetop {
	background-color: #ff9800;
	padding: 10px;
	text-align: center;
}

#mainImagetop img {
	max-width: 100%;
	height: auto;
}

/* Global Navigation */
#headline {
	background-color: #5cb85c;
}

#globalNav {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}

#globalNav li {
	flex: 1;
}

#globalNav img {
	width: 100%;
	height: 27px;
	display: block;
}

/* Ticker News */
#tickerNav {
	background-color: #333;
	color: white;
	padding: 5px;
	overflow: hidden;
	white-space: nowrap;
}

#tickerNav iframe {
	width: 100%;
	height: 17px;
	border: none;
}

/* Local Navigation */
#localNav {
	background-color: #f0f0f0;
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}

#localNav li {
	flex: 1;
	min-width: 150px;
}

#localNav a {
	display: block;
	padding: 10px 15px;
	text-decoration: none;
	color: #333;
	border-right: 1px solid #ddd;
	text-align: center;
	font-size: 11px;
}

#localNav .last a {
	border-right: none;
}

#localNav a:hover {
	background-color: #e0e0e0;
}

/* Main Content */
#contents {
	display: flex;
	gap: 20px;
	padding: 20px;
}

#primary {
	flex: 2;
}

#secondary {
	flex: 1;
	min-width: 300px;
}

/* Section Styling */
.section {
	margin-bottom: 30px;
}

.sectionLayout {
	margin-bottom: 20px;
}

/* Main Banner */
.mb-min {
	margin-bottom: 10px;
}

.topbannar {
	font-size: 14px;
	color: #2c5aa0;
	font-weight: bold;
	text-align: center;
	padding: 10px;
	background-color: #f0f8ff;
	border: 1px solid #2c5aa0;
}

.topbannar a {
	color: #2c5aa0;
	text-decoration: none;
}

/* Index Info */
#indexInfo {
	display: flex;
	gap: 20px;
	margin-bottom: 20px;
}

#service00s {
	flex: 1;
}

#service00s dl {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

#service00s dt {
	margin-bottom: 5px;
}

#service00s dd a {
	color: #2c5aa0;
	text-decoration: none;
	font-size: 12px;
}

#late00,
#late01 {
	flex: 1;
}

/* Table Styling */
.tableWrapper {
	overflow-x: auto;
}

.tableLate {
	width: 100%;
	border-collapse: collapse;
	font-size: 11px;
}

.tableLate th,
.tableLate td {
	border: 1px solid #ccc;
	padding: 5px 8px;
	text-align: center;
}

.tableLate th {
	background-color: #f0f0f0;
	font-weight: bold;
}

.tableLate .stripe {
	background-color: #f8f8f8;
}

.yen {
	color: #666;
	font-size: 10px;
}

.plus {
	color: #d9534f;
}

.minus {
	color: #5bc0de;
}

.alignC {
	text-align: center;
}

/* Page Navigation */
.pageNav {
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin: 10px 0;
	font-size: 11px;
}

.pageNav a {
	color: #2c5aa0;
	text-decoration: none;
}

/* Box Styles */
.boxStyle01 {
	border: 1px solid #ddd;
	padding: 15px;
	background-color: #f9f9f9;
}

.boxStyle01 h2 {
	font-size: 16px;
	margin-bottom: 15px;
	color: #2c5aa0;
}

.boxStyle01 h3 {
	font-size: 14px;
	margin-bottom: 10px;
	color: #333;
}

.primary .mb-min {
	margin-bottom: 10px;
}

.secondary {
	background-color: #f8f8f8;
	padding: 15px;
}

/* Charts in Secondary */
#late02 {
	list-style: none;
}

#late02 li {
	margin-bottom: 10px;
}

#late02 iframe {
	width: 100%;
	height: 200px;
	border: 1px solid #ddd;
}

.latenote {
	font-size: 10px;
	text-align: center;
	margin-top: 10px;
}

.latenote a {
	color: #2c5aa0;
	text-decoration: none;
}

/* Economic Schedule */
#guidepostSchedule h2 {
	font-size: 14px;
	margin-bottom: 15px;
	color: #2c5aa0;
}

#guidepostSchedule h2 a {
	color: #2c5aa0;
	text-decoration: none;
}

#guidepostSchedule dt {
	font-weight: bold;
	color: #333;
	margin: 15px 0 5px 0;
	padding: 5px;
	background-color: #e8f4fd;
	border-left: 3px solid #2c5aa0;
}

#guidepostSchedule dd ul {
	list-style: none;
}

#guidepostSchedule dd li {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 3px 0;
	font-size: 11px;
	border-bottom: 1px solid #eee;
}

.time {
	min-width: 60px;
	font-weight: bold;
}

.time img {
	width: 16px;
	height: 12px;
	margin-left: 5px;
}

.country {
	min-width: 40px;
	font-weight: bold;
}

.name {
	flex: 1;
}

.name a {
	color: #2c5aa0;
	text-decoration: none;
}

.comment01,
.comment02 {
	font-size: 10px;
	color: #666;
}

.score img {
	width: 70px;
	height: 17px;
}

/* Link Styles */
.linkStyle01 {
	list-style: none;
}

.linkStyle01 li {
	margin-bottom: 10px;
	padding-left: 15px;
	position: relative;
}

.linkStyle01 li:before {
	content: "▶";
	position: absolute;
	left: 0;
	color: #2c5aa0;
}

.linkStyle01 a {
	color: #2c5aa0;
	text-decoration: none;
	font-size: 12px;
}

.linkStyle01 a:hover {
	text-decoration: underline;
}

/* Company Info */
#indexInfo02 h2 {
	font-size: 16px;
	margin-bottom: 15px;
	color: #2c5aa0;
}

#imgphoto dl {
	display: flex;
	gap: 15px;
	align-items: flex-start;
}

#imgphoto dt {
	display: flex;
	gap: 10px;
}

#imgphoto .ph {
	width: 145px;
	height: 104px;
	object-fit: cover;
}

#imgphotoR .ph {
	width: 144px;
	height: 195px;
	object-fit: cover;
	float: right;
}

#imgphoto dd {
	flex: 1;
	font-size: 12px;
	line-height: 1.6;
}

.pageNav.mb-non {
	margin-bottom: 0;
}

.pageCNav,
.pageRNav {
	list-style: none;
	margin: 10px 0;
}

.pageCNav a,
.pageRNav a {
	color: #2c5aa0;
	text-decoration: none;
	font-size: 12px;
}

/* Important Notice */
.boxStyle04top {
	background-color: #fff3cd;
	border: 1px solid #ffeeba;
	padding: 15px;
	margin: 20px 0;
}

.boxStyle04top h3 {
	color: #856404;
	margin-bottom: 10px;
}

.boxStyle04top p {
	font-size: 11px;
	line-height: 1.6;
	color: #333;
}

.boxStyle04top a {
	color: #2c5aa0;
	text-decoration: none;
}

/* Footer */
#footer {
	background-color: #2c5aa0;
	color: white;
	padding: 20px;
}

#footer .nav {
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin-bottom: 15px;
	flex-wrap: wrap;
}

#footer .nav a {
	color: white;
	text-decoration: none;
	font-size: 11px;
	padding: 5px;
}

#footer .nav a:hover {
	text-decoration: underline;
}

#ciLogoS {
	text-align: center;
	margin: 15px 0;
}

#ciLogoS img {
	width: 50px;
	height: 55px;
}

#copyright {
	text-align: center;
}

#copyright img {
	max-width: 100%;
	height: auto;
}

/* Side Index */
#siteIndex {
	position: fixed;
	left: 20px;
	top: 200px;
	width: 200px;
	background-color: #f8f8f8;
	border: 1px solid #ddd;
	padding: 15px;
	font-size: 11px;
	z-index: 1000;
	max-height: 500px;
	overflow-y: auto;
}

#siteIndex dt {
	font-weight: bold;
	margin: 10px 0 5px 0;
	padding: 5px;
	background-color: #2c5aa0;
	color: white;
}

#siteIndex dt a {
	color: white;
	text-decoration: none;
}

#siteIndex dd {
	margin-bottom: 15px;
}

#siteIndex ul {
	list-style: none;
}

#siteIndex li {
	margin: 3px 0;
}

#siteIndex li a {
	color: #2c5aa0;
	text-decoration: none;
	font-size: 10px;
}

#siteIndex li a:hover {
	text-decoration: underline;
}

/* Banners */
.banner,
.banner02 {
	list-style: none;
	margin: 15px 0;
}

.banner img,
.banner02 img {
	max-width: 100%;
	height: auto;
}

.note {
	font-size: 10px;
	color: #666;
	margin: 5px 0;
}

.noteL {
	font-weight: bold;
}

/* List Type Note */
.listType-note {
	list-style: none;
	font-size: 10px;
	color: #666;
	margin: 10px 0;
}

.listType-note span {
	color: #d9534f;
}

/* Responsive Design */
@media (max-width: 1024px) {
	#siteIndex {
		display: none;
	}

	#contents {
		flex-direction: column;
	}

	#secondary {
		min-width: auto;
	}
}

@media (max-width: 768px) {
	#ciBlock {
		flex-direction: column;
		text-align: center;
	}

	#exchangelate {
		flex-direction: column;
		gap: 10px;
	}

	#globalNav {
		flex-wrap: wrap;
	}

	#globalNav li {
		min-width: 50%;
	}

	#localNav {
		flex-direction: column;
	}

	#localNav a {
		border-right: none;
		border-bottom: 1px solid #ddd;
	}

	#indexInfo {
		flex-direction: column;
	}

	#imgphoto dl {
		flex-direction: column;
	}

	#imgphoto dt {
		justify-content: center;
	}

	#footer .nav {
		flex-direction: column;
		text-align: center;
	}
}

@media (max-width: 480px) {
	body {
		font-size: 11px;
	}

	#stage {
		padding: 0 10px;
	}

	#contents {
		padding: 10px;
	}

	.tableLate {
		font-size: 10px;
	}

	.tableLate th,
	.tableLate td {
		padding: 3px 5px;
	}

	#guidepostSchedule dd li {
		flex-direction: column;
		align-items: flex-start;
		gap: 2px;
	}

	.time,
	.country {
		min-width: auto;
	}
}

/* Process Flash Area */
#process03top {
	text-align: center;
	padding: 10px;
	background-color: #f0f0f0;
	border: 1px solid #ddd;
}

/* World Map Section */
.world-map-section {
	background-image: url('http://www.foreland.co.jp/wp-content/uploads/2025/09/map.png');
	background-size: cover;
	background-position: center;
	height: 300px;
	position: relative;
	margin: 20px 0;
}

.currency-overlay {
	position: absolute;
	background-color: rgba(0, 0, 0, 0.8);
	color: white;
	padding: 10px 15px;
	border-radius: 5px;
	font-weight: bold;
}

.eur-overlay {
	top: 20%;
	left: 25%;
}

.jpy-overlay {
	bottom: 30%;
	right: 15%;
}

.usd-overlay {
	bottom: 40%;
	left: 15%;
}

/* Hide elements that are not needed for main layout */
#anaTag,
script[language="JavaScript"] {
	display: none;
}