/**
 * irohasoft-corp コンポーネントスタイル
 *
 * レイアウト（幅・余白・管理バー）は layout.css を参照。
 *
 * @package irohasoft-corp
 */

/* layout.css に変数・リセット・コンテナ幅を定義 */

a {
	color: var(--iroha-text);
	text-decoration: none;
}

a:hover {
	color: var(--iroha-primary);
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	border: 0;
}

ul, ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* --------------------------------------------------------------------------
   本文（旧テーマ互換）
   - リンク: 下線あり
   - リスト: ・（disc）/ 番号（decimal）
   - フォント: 旧テーマ寄り（英字は Century Gothic 優先）
-------------------------------------------------------------------------- */
#post-wrapper .post-content,
#page-wrapper .post-content,
#page-wrapper .page {
	font-family: "Century Gothic", Arial, sans-serif;
	font-size: 16px;
}

#post-wrapper .post-content a,
#page-wrapper .post-content a,
#page-wrapper .page a {
	text-decoration: underline;
	text-underline-offset: 0.12em;
	text-decoration-thickness: from-font;
}

#post-wrapper .post-content a:hover,
#page-wrapper .post-content a:hover,
#page-wrapper .page a:hover {
	text-decoration: underline;
}

#post-wrapper .post-content ul,
#page-wrapper .post-content ul,
#page-wrapper .page ul {
	list-style: disc outside;
	margin: 0 0 24px 1.3em;
	padding: 0;
}

#post-wrapper .post-content ol,
#page-wrapper .post-content ol,
#page-wrapper .page ol {
	list-style: decimal outside;
	margin: 0 0 24px 1.5em;
	padding: 0;
}

#post-wrapper .post-content li > ul,
#post-wrapper .post-content li > ol,
#page-wrapper .post-content li > ul,
#page-wrapper .post-content li > ol,
#page-wrapper .page li > ul,
#page-wrapper .page li > ol {
	margin-bottom: 0;
}

#post-wrapper .post-content ul ul,
#page-wrapper .post-content ul ul,
#page-wrapper .page ul ul {
	list-style: circle outside;
	margin-left: 1.3em;
}

p {
	margin: 0 0 1.5em;
	line-height: 2.2;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-weight: bold;
}

/* 本文内の見出しは適度に余白を戻す */
#page-wrapper .post-content h2,
#page-wrapper .page h2 {
	margin: 1.4em 0 0.8em;
	line-height: 1.4;
}

.clearfix::after {
	content: "";
	display: table;
	clear: both;
}

.clear {
	clear: both;
}

.hide-mobile {
	display: block;
}

/* --------------------------------------------------------------------------
   Header
-------------------------------------------------------------------------- */
#header-wrapper {
	width: 100%;
	border-top: solid 4px var(--iroha-primary);
	background: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
}

#header {
	width: 100%;
	height: 100px;
	background: linear-gradient(to bottom, #fff 0%, #f0f0f0 100%);
	border-bottom: 1px solid #ddd;
}

#header-inner {
	width: 100%;
	max-width: var(--iroha-container);
	margin-inline: auto;
	height: 100px;
	position: relative;
}

#header-left {
	height: 100px;
	float: left;
	display: flex;
	align-items: center;
}

#header-right {
	height: 76px;
	padding-top: 24px;
	float: right;
}

/* Logo */
.site-logo-wrap {
	display: flex;
	align-items: center;
	gap: 15px;
	height: 100px;
}

.site-logo-wrap .custom-logo-link {
	height: auto;
}

.custom-logo-link img {
	max-height: 70px;
	width: auto;
}

.site-logo-text {
	display: flex;
	align-items: center;
	gap: 15px;
	height: 100px;
}

.site-logo-text__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.site-logo-text__icon img {
	display: block;
	width: 24px;
	height: 24px;
	border-radius: 4px;
}

.site-logo-fallback img {
	display: block;
	max-height: 70px;
	width: auto;
	height: auto;
}

.site-logo-fallback--svg svg {
	display: block;
	height: 70px;
	width: auto;
}

.site-logo-fallback__img {
	display: block;
	max-height: 70px;
	width: auto;
	height: auto;
}

.site-logo-text--image {
	gap: 12px;
}

/* --------------------------------------------------------------------------
   Legacy logo markup (irohasoft theme compatible)
-------------------------------------------------------------------------- */
#logo_image {
	display: flex;
	align-items: center;
	height: 100px;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

h1#logo {
	margin: 0;
	line-height: 1;
}

h1#logo a {
	display: inline-block;
}

#logo_image h1#logo img,
#logo_text h1#logo img {
	display: block;
	height: 35px;        /* 旧テーマのカスタムCSSに合わせる */
	width: auto;
	max-width: 300px;    /* 旧テーマの想定幅 */
}

h2#description {
	margin: 4px 0 0;
	font-size: 12px;
	color: var(--iroha-text-light);
	font-weight: normal;
	line-height: 1.4;
}

.site-logo {
	font-size: 24px;
	font-weight: normal;
	margin: 0;
	line-height: 1.2;
}

.site-logo a {
	color: var(--iroha-text);
}

.site-tagline {
	font-size: 12px;
	color: var(--iroha-text-light);
	margin: 0;
	font-weight: normal;
	max-width: 400px;
	line-height: 1.5;
}

/* Search */
.search_area {
	width: 300px;
	height: 35px;
	position: absolute;
	right: 0;
	top: 46px;
	background: #f5f5f5;
	border: 1px solid #ddd;
	border-radius: 3px;
}

.search_area form {
	display: flex;
	height: 33px;
}

.search_area #search_input {
	flex: 1;
}

.search_area #search_input input {
	font-size: 12px;
	color: #6d7478;
	width: 100%;
	height: 33px;
	margin: 0;
	padding: 0 10px;
	border: none;
	background: none;
	outline: none;
}

.search_area #search_button input {
	cursor: pointer;
	width: 33px;
	height: 33px;
	border: none;
	background: var(--iroha-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M15.5 14h-.79l-.28-.27A6.471 6.471 0 0016 9.5 6.5 6.5 0 109.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") no-repeat center / 18px;
	text-indent: -9999px;
	overflow: hidden;
	border-radius: 0 2px 2px 0;
}

.search_area #search_button input:hover {
	background-color: #3e933c;
}

/* --------------------------------------------------------------------------
   Global Navigation
-------------------------------------------------------------------------- */
.menu_button {
	display: none;
}

#global_menu {
	height: 46px;
	width: 100%;
	max-width: var(--iroha-container);
	margin-inline: auto;
	position: relative;
	z-index: 9999;
}

#global_menu_home {
	width: 55px;
	height: 46px;
	float: left;
}

#global_menu_home a {
	width: 55px;
	height: 46px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(to bottom, #e0e0e0 0%, #c8c8c8 100%);
	border-right: 1px solid #aaa;
}

#global_menu_home a:hover {
	background: linear-gradient(to bottom, #d0d0d0 0%, #b8b8b8 100%);
}

.home-icon {
	display: block;
	width: 20px;
	height: 20px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333'%3E%3Cpath d='M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z'/%3E%3C/svg%3E") no-repeat center / contain;
}

#global_menu > ul {
	height: 46px;
	margin: 0;
	padding: 0;
	float: left;
	width: calc(100% - 55px);
	display: flex;
}

#global_menu > ul > li {
	float: left;
	flex: 1;
	position: relative;
}

#global_menu > ul > li > a {
	font-size: 14px;
	font-weight: normal;
	text-align: center;
	text-decoration: none;
	display: block;
	height: 46px;
	line-height: 46px;
	color: #000;
	background: linear-gradient(to bottom, #e8e8e8 0%, #d0d0d0 100%);
	border-right: 1px solid #aaa;
	padding: 0 5px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

#global_menu > ul > li > a:hover,
#global_menu > ul > li.current-menu-item > a,
#global_menu > ul > li.current_page_item > a {
	background: linear-gradient(to bottom, #d8d8d8 0%, #c0c0c0 100%);
}

#global_menu ul ul {
	display: none;
	position: absolute;
	top: 46px;
	left: 0;
	min-width: 200px;
	z-index: 99999;
	box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

#global_menu li:hover > ul {
	display: block;
}

#global_menu ul ul li {
	float: none;
}

#global_menu ul ul li a {
	display: block;
	font-size: 14px;
	padding: 10px 20px;
	line-height: 1.5;
	background: var(--iroha-primary);
	color: #fff;
	height: auto;
	border-right: none;
	text-align: left;
}

#global_menu ul ul li a:hover {
	background: #3e933c;
}

#global_menu ul ul li.current-menu-item > a,
#global_menu ul ul li.current_page_item > a,
#global_menu ul ul li.current-menu-item > a:hover,
#global_menu ul ul li.current_page_item > a:hover {
	background: var(--iroha-accent);
	color: #fff;
}

/* --------------------------------------------------------------------------
   Breadcrumb
-------------------------------------------------------------------------- */
#bread_crumb_wrapper {
	width: 100%;
	background: var(--iroha-primary);
	margin: 0 0 35px;
}

#bread_crumb {
	width: 100%;
	max-width: var(--iroha-container);
	margin-inline: auto;
	height: 49px;
	line-height: 49px;
	overflow: hidden;
	padding: 0;
}

#bread_crumb li {
	float: left;
	font-size: 12px;
	color: #fff;
	position: relative;
	padding-right: 25px;
}

#bread_crumb li::after {
	content: "›";
	position: absolute;
	right: 8px;
	color: rgba(255,255,255,0.7);
}

#bread_crumb li:last-child::after,
#bread_crumb li.home::after {
	display: none;
}

#bread_crumb li a {
	color: #fff;
	text-decoration: none;
}

#bread_crumb li a:hover {
	text-decoration: underline;
}

#bread_crumb li.home a::before {
	content: "⌂ ";
}

/* --------------------------------------------------------------------------
   Layout
-------------------------------------------------------------------------- */
#contents {
	width: 100%;
	max-width: var(--iroha-container);
	margin: 0 auto 35px;
}

.layout1 #mainColumn {
	width: var(--iroha-main-width);
	float: left;
}

.layout1 #sideColumn {
	width: var(--iroha-side-width);
	float: right;
}

.layout2 #mainColumn {
	width: var(--iroha-main-width);
	float: right;
}

.layout2 #sideColumn {
	width: var(--iroha-side-width);
	float: left;
}

.layout-noside #mainColumn {
	width: 100% !important;
	max-width: 100%;
	float: none;
}

/* --------------------------------------------------------------------------
   Headlines
-------------------------------------------------------------------------- */
.headline1 {
	margin: 30px 0 0;
	padding: 0 0 0 20px;
	height: 43px;
	line-height: 43px;
	border: 1px solid var(--iroha-border);
	border-left: 5px solid var(--iroha-primary);
	font-size: 14px;
	background: linear-gradient(to bottom, #fff 0%, #f0f0f0 100%);
}

.headline1 h2 {
	font-size: 14px;
	font-weight: bold;
	color: #000;
	display: inline-block;
	float: left;
	margin: 0;
}

.headline1 .archive_btn {
	float: right;
}

.headline1 .archive_btn a {
	display: block;
	width: 130px;
	height: 43px;
	text-align: center;
	text-decoration: none;
	font-size: 12px;
	line-height: 43px;
	color: #000;
	background: linear-gradient(to bottom, #f5f5f5 0%, #e0e0e0 100%);
	border-left: 1px solid var(--iroha-border);
}

.headline1 .archive_btn a:hover {
	background: linear-gradient(to bottom, #e8e8e8 0%, #d0d0d0 100%);
}

/* モバイル専用（お知らせ一覧下）の一覧ボタン。PC では非表示 */
.archive_btn--bottom {
	display: none;
}

.headline2 {
	font-size: 14px;
	height: 61px;
	line-height: 56px;
	padding: 0 20px;
	margin: 0;
	border-top: solid 5px var(--iroha-primary);
	border-left: solid 1px #ccc;
	border-right: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
	background: linear-gradient(to bottom, #fff 0%, #f7f7f7 55%, #e6e6e6 100%);
}

#page-title {
	font-size: 18px;
	font-weight: bold;
	color: #000;
}

.side_headline {
	font-size: 14px;
	font-weight: bold;
	padding: 0 0 0 15px;
	margin: 0 0 10px;
	border-left: solid 5px var(--iroha-primary);
	line-height: 1.4;
}

/* --------------------------------------------------------------------------
   Hero Slider
-------------------------------------------------------------------------- */
#slider-wrapper {
	width: 100%;
	height: 353px;
	overflow: hidden;
	margin: 0 0 35px;
	position: relative;
	background: linear-gradient(135deg, #e8f0f8 0%, #d0e0f0 50%, #b8d0e8 100%);
}

#slider-shadow {
	width: 100%;
	height: 30px;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, transparent 100%);
	pointer-events: none;
}

.hero-slider {
	width: 100%;
	max-width: var(--iroha-container);
	height: 353px;
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.hero-slider--carousel {
	position: relative;
	display: block;
}

.hero-slider__track {
	position: relative;
	width: 100%;
	height: 100%;
}

.hero-slider__slide {
	width: 100%;
	height: 100%;
}

.hero-slider--carousel .hero-slider__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.6s ease;
	pointer-events: none;
}

.hero-slider--carousel .hero-slider__slide.is-active {
	opacity: 1;
	pointer-events: auto;
	z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
	.hero-slider--carousel .hero-slider__slide {
		transition: none;
	}
}

.hero-slider__slide a,
.hero-slider__slide img {
	display: block;
	width: 100%;
	height: 100%;
}

.hero-slider img {
	width: 100%;
	height: 353px;
	object-fit: cover;
}

.hero-slider__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 12px;
	z-index: 2;
	display: flex;
	justify-content: center;
	gap: 8px;
}

.hero-slider__dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.4);
	cursor: pointer;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.hero-slider__dot.is-active {
	background: #fff;
}

/* --------------------------------------------------------------------------
   Post Lists
-------------------------------------------------------------------------- */
.top_list {
	width: 100%;
	margin-top: 10px;
	margin-bottom: 20px;
}

.top_list li {
	display: flex;
	align-items: flex-start;
	gap: 0;
	min-height: 41px;
	padding: 10px 0;
	line-height: 1.5;
	border-bottom: 1px dotted #aaa;
	font-size: 14px;
}

.top_list li:last-child {
	border-bottom: none;
}

.top_list .notice-date {
	flex: 0 0 80px;
	font-size: 12px;
	font-weight: bold;
	color: #000;
	line-height: 1.8;
}

.top_list li a,
a.notice-link {
	text-decoration: none;
}

a.notice-link:hover .notice-link__title {
	text-decoration: underline;
	color: var(--iroha-primary);
}

a.notice-link {
	display: flex;
	align-items: center;
	flex: 1 1 auto;
	min-width: 0;
	text-decoration: none;
	color: var(--iroha-text);
}

.notice-link__title {
	flex: 1 1 auto;
	min-width: 0;
	line-height: 1.5;
}

a.notice-link .notice-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	height: 14px;
	margin-right: 6px;
	padding: 0 4px;
	font-size: 7.5px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	color: #fff;
	border-radius: 2px;
}

a.notice-link .notice-icon.press-icon {
	min-width: 38px;
	background-color: var(--iroha-press);
}

a.notice-link .notice-icon.topic-icon {
	min-width: 38px;
	background-color: var(--iroha-topic);
}

a.notice-link:hover .notice-icon.press-icon {
	color: #fff;
	background-color: var(--iroha-press-dark);
	text-decoration: none;
}

a.notice-link:hover .notice-icon.topic-icon {
	color: #fff;
	background-color: var(--iroha-topic-dark);
	text-decoration: none;
}

#single_title {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

#single_title .notice-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 16px;
	margin-right: 0;
	padding: 0 5px;
	font-size: 8px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #fff;
	border-radius: 2px;
}

#single_title .notice-icon.press-icon {
	min-width: 44px;
	background-color: var(--iroha-press);
}

#single_title .notice-icon.topic-icon {
	min-width: 44px;
	background-color: var(--iroha-topic);
}

.post_list {
	margin: 0;
	padding: 0;
}

.post_list > li {
	margin: 15px 0 0;
	padding: 0 0 10px;
	border-bottom: 1px dotted #aaa;
}

.post_list .meta {
	margin: 0;
}

.post_list .meta li {
	float: left;
	font-size: 12px;
	padding: 0 15px 0 0;
}

.post_list .post_date {
	font-weight: bold;
}

.post_list .title {
	font-size: 16px;
	margin: 5px 0 0;
}

.post_list .title a:hover {
	text-decoration: underline;
}

.date_headline {
	height: 50px;
	line-height: 50px;
	border-bottom: 1px dotted #aaa;
	margin: 25px 0 0;
}

.date_headline span {
	width: 60px;
	text-align: center;
	display: block;
	background: #bbb;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
}

.no_post {
	margin-top: 15px;
	font-weight: bold;
}

/* --------------------------------------------------------------------------
   Single / Page Content
-------------------------------------------------------------------------- */
#post-wrapper,
#page-wrapper {
	width: 100%;
	margin: 14px 0 35px;
	padding: 0 0 24px;
	border: none;
	border-radius: 0;
}

#single_title {
	height: auto;
	min-height: 60px;
	line-height: 1.4;
	font-size: 18px;
	font-weight: bold;
	color: #000;
	padding: 15px 29px;
	margin: 0;
	border-bottom: solid 1px var(--iroha-border);
	background: linear-gradient(to bottom, #fff 0%, #f0f0f0 100%);
}

#single_meta {
	margin: 0;
	font-size: 12px;
	overflow: hidden;
	float: left;
	list-style-type: none;
}

#single_meta li {
	float: left;
	padding: 10px 15px 10px 0;
	line-height: 1;
}

#single_meta li.date {
	font-weight: bold;
}

#post-wrapper .post-content,
#page-wrapper .post-content,
#page-wrapper .page {
	margin: 20px 29px 0;
	padding-bottom: 30px;
}

.post_image {
	text-align: center;
	margin: 0 0 15px;
}

.post-content p {
	line-height: 2;
	margin: 0 0 2em;
}

#previous_next_post {
	padding: 0 29px;
}

#previous_post {
	float: left;
}

#next_post {
	float: right;
}

/* --------------------------------------------------------------------------
   Sidebar
-------------------------------------------------------------------------- */
.side_widget {
	margin-bottom: 25px;
}

.side_widget ul li {
	line-height: 1.8;
	margin-bottom: 5px;
}

.news_widget_list {
	border: solid 1px var(--iroha-border);
}

.news_widget_list li {
	padding: 10px;
	border-bottom: 1px dotted #aaa;
}

.news_widget_list li:last-child {
	border-bottom: none;
}

.news_date {
	font-size: 12px;
	font-weight: bold;
	margin: 0 0 3px;
}

.news_title {
	font-size: 13px;
	text-decoration: none;
}

.news_title:hover {
	text-decoration: underline;
}

.side_banner {
	margin-top: 10px;
}

.side_banner img {
	width: 100%;
	height: auto;
}

/* Sidebar search widget */
.side_widget .search-form {
	display: flex;
	border: 1px solid var(--iroha-border);
	padding: 10px;
	gap: 5px;
}

.side_widget .search-form input[type="search"] {
	flex: 1;
	padding: 5px 8px;
	border: 1px solid var(--iroha-border);
	font-size: 13px;
}

.side_widget .search-form input[type="submit"] {
	padding: 5px 12px;
	background: var(--iroha-primary);
	color: #fff;
	border: none;
	cursor: pointer;
	font-size: 12px;
}

.side_widget .search-form input[type="submit"]:hover {
	background: #3e933c;
}

/* --------------------------------------------------------------------------
   Top Widget Area
-------------------------------------------------------------------------- */
#top_widget_area {
	width: calc(100% + 12px);
	margin-left: -12px;
	margin-top: 20px;
}

.top_widget {
	width: 245px;
	float: left;
	margin-left: 12px;
	margin-bottom: 25px;
}

/* --------------------------------------------------------------------------
   Pagination
-------------------------------------------------------------------------- */
.page_navi {
	margin: 30px 0;
	text-align: center;
}

.page_navi .page-numbers {
	display: inline-block;
	background: #eee;
	margin: 0 3px;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	text-decoration: none;
	color: #333;
	border-radius: 3px;
	font-size: 12px;
}

.page_navi .page-numbers.current,
.page_navi .page-numbers:hover {
	background: var(--iroha-primary);
	color: #fff;
}

/* --------------------------------------------------------------------------
   Footer
-------------------------------------------------------------------------- */
#footer-wrapper {
	clear: both;
	width: 100%;
	background: #fff;
	border-top: 1px solid var(--iroha-border);
}

#footer {
	width: 100%;
	max-width: var(--iroha-container);
	height: 40px;
	margin-inline: auto;
	position: relative;
	font-size: 12px;
}

#footer_description {
	height: 40px;
	float: left;
}

#footer_description p {
	display: inline;
	margin: 0 15px 0 0;
	line-height: 40px;
	font-size: 14px;
	font-weight: bold;
}

#footer_description h2 {
	display: inline;
	margin: 0;
	line-height: 40px;
	font-size: 20px;
	font-weight: bold;
}

.footer_social {
	float: right;
}

#footer_social_link {
	height: 40px;
	border-right: 1px dotted #aaa;
}

.social_link {
	margin: 0;
}

.social_link li {
	float: right;
	position: relative;
}

.social_link li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 47px;
	height: 40px;
	border-left: 1px dotted #aaa;
	text-indent: -9999px;
	overflow: hidden;
	position: relative;
}

.social_link li a::before {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	text-indent: 0;
	position: absolute;
}

.social_link li.rss a::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333'%3E%3Cpath d='M6.18 15.64a2.18 2.18 0 01-2.18 2.18C3.56 17.82 3 17.26 3 16.55s.56-2.27 1.27-2.27 2.18.56 2.18 1.27M4 4.44A15.56 15.56 0 0119.56 20h-2.83A12.73 12.73 0 004 7.27V4.44m0 5.66a9.9 9.9 0 019.9 9.9h-2.83A7.07 7.07 0 004 12.93V10.1z'/%3E%3C/svg%3E");
}

.social_link li.twitter a::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E");
}

.social_link li.facebook a::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E");
}

.social_link li a:hover::before {
	opacity: 0.6;
}

#footer_widget_wrap {
	width: 100%;
	min-height: 50px;
	background: var(--iroha-bg-gray);
	padding: 20px 0;
	margin-top: 25px;
}

#footer_widget {
	width: 100%;
	max-width: var(--iroha-container);
	margin-inline: auto;
}

.footer_widget {
	width: 220px;
	min-height: 100px;
	float: left;
	padding: 0 20px;
	font-size: 11px;
	border-right: 1px solid #ccc;
}

.footer_headline {
	font-size: 14px;
	font-weight: bold;
	color: var(--iroha-primary);
	margin-bottom: 10px;
}

#footer_copr {
	background: var(--iroha-bg-gray);
	text-align: center;
	padding: 15px 0;
}

#copyright {
	font-size: 11px;
	color: var(--iroha-text-light);
	margin: 0;
}

#copyright a {
	color: var(--iroha-text-light);
}

#return_wrapper {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 999;
}

#return_top {
	display: block;
	width: 40px;
	height: 40px;
	background: var(--iroha-primary);
	color: #fff;
	text-align: center;
	line-height: 40px;
	border-radius: 3px;
	opacity: 0;
	transition: opacity 0.3s;
	text-decoration: none;
}

#return_top.visible {
	opacity: 1;
}

#return_top span {
	display: none;
}

#return_top::before {
	content: "▲";
	font-size: 14px;
	color: #fff;
}

#return_top:hover {
	background: #3e933c;
}

/* --------------------------------------------------------------------------
   WordPress Core
-------------------------------------------------------------------------- */
.alignright { float: right; margin: 0 0 1em 1em; }
.alignleft { float: left; margin: 0 1em 1em 0; }
.aligncenter { display: block; margin: 0 auto 1em; }
.wp-caption { max-width: 100%; }
.wp-caption-text { text-align: center; font-size: 12px; color: var(--iroha-text-light); }

/* Comments */
#comments { padding: 0 29px; }
.comment-list { margin: 20px 0; }
.comment-list li { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px dotted #aaa; }

/* Post pagination */
#post_pagination { margin: 20px 0; overflow: hidden; }
#post_pagination h5 { margin: 0 10px 0 0; float: left; line-height: 30px; font-size: 12px; }
#post_pagination a, #post_pagination span {
	float: left;
	display: inline-block;
	background: #eee;
	margin: 0 5px 0 0;
	padding: 0 10px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	border-radius: 3px;
	font-size: 12px;
}
#post_pagination span { background: var(--iroha-primary); color: #fff; }
