@charset "utf-8";
/*
Theme Name: Yakuji School
Theme URI: https://www.yakuji-school.com/
Description: 薬事の学校 公式サイト用テーマ（旧静的サイトのデザインを継承）
Version: 1.0.0
Text Domain: yakuji-school
*/

/* ==========================================================
   旧サイト style.css + css/common.css のうち、
   トップページで使用しているルールを統合したもの。
   画像パスはテーマ直下の images/ を参照（旧サイトと同じ相対位置）。
   ========================================================== */

/* Reset
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0; font-family: inherit; font-size: 100%; font-style: inherit; font-weight: inherit;
	margin: 0; outline: 0; padding: 0; vertical-align: baseline;
}
:focus { outline: 0; }
ol, ul { list-style: none; }
table { border-collapse: separate; border-spacing: 0; }
caption, th, td { font-weight: normal; text-align: left; }
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }
a img { border: 0; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display: block; }
/* 旧 css/reset.css 由来（レイアウト寸法に影響するため継承） */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	box-sizing: border-box;
}
html { font-size: 62.5%; }
img { vertical-align: top; border: 0; font-size: 0; line-height: 0; }

body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 160%;
	color: #000;
}
body, html { height: 100%; }

/* Link
------------------------------------------------------------*/
a {
	margin: 0; padding: 0; text-decoration: none; outline: 0;
	vertical-align: baseline; background: transparent; font-size: 100%;
	color: #292929;
}
a:link { color: #4d4d4d; word-break: break-all; }
a:visited { color: #4d4d4d; }
a:hover, a:active { transition: opacity 1s; outline: none; color: #777; }
a:hover img.ImgOn { opacity: 0.7; }

/* Utility (旧 common.css)
------------------------------------------------------------*/
.clear:after, .top_container:after {
	content: "."; display: block; clear: both; height: 0; visibility: hidden; font-size: 0;
}
.aright { text-align: right; }
.acenter { text-align: center; }
.txtRed { color: #B20000; }
.txtBlue { color: #0066AB; }
.txtbold { font-weight: bold; }
.txtLinkRed { color: red; }          /* 旧 style="color:red;" を置き換え */
.mb20 { margin-bottom: 20px !important; }
.mr20 { margin-right: 20px !important; }

/* Layout（フッター下部固定）
------------------------------------------------------------*/
#container {
	width: 100%;
	position: relative;
	height: auto !important;
	min-height: 100%;
}

#top_contents{
	//padding-bottom: 260px;
}

.inner{
	margin: 0 auto;
	width: 1000px;
}

.top_container { margin: 0 auto; width: 1000px; }
.top_main {
	float: right;
	width: 540px;
	height: auto;
	margin: 20px auto 0;
}
.top_side {
	width: 225px;
	float: left;
	margin: 20px auto 0;
}
.top_side_r { float: right; }

/* Header
------------------------------------------------------------*/
#header {
	width: 100%;
	background: #fff;
	border-top: 5px solid #1C82E0;
	overflow: hidden;
	padding-bottom: 5px;
}
.header_w {
	width: 1000px;
	overflow: hidden;
	padding-top: 7px;
	height: 100px;
	z-index: 999;
	position: relative;
	margin: 0 auto;
}
.header_l {
	float: left;
	height: 81px;
	color: #3c2f13;
	font-size: 16px;
	font-weight: normal;
	width: 424px;
	padding-top: 8px;
}
.header_r{
	width: 291px;
	float: right;
	text-align: left;
	color: #005791;
	font-size: 28px;
	font-weight: bold;
	line-height: 130%;
}

/* Main visual
------------------------------------------------------------*/
#mv {
	line-height: 0;
	text-align: center;
	z-index: 0;
	margin-top: 8px;
}

/* Top contents
------------------------------------------------------------*/
.top_contents1 {
	background: #F5F5F5;
	font-size: 15px;
}
.top_news_topics {
	overflow: hidden;
	width: 95%;
	margin: 0 auto;
	padding: 0 0 30px;
}
.top_topics {
	width: 100%;
	padding: 20px 0 0 0;
	background: #fff;
}
.top_news_topics dl {
	border-top: 1px solid #000;
	margin-top: 10px;
}
.top_news_topics dl dt {
	padding: 10px 10px 5px 20px;
	color: #00468C;
	font-weight: bold;
}
.top_news_topics dl dd {
	background: url(images/top_news_topics_bg.png) no-repeat right 2px bottom 2px;
	border-bottom: 1px solid #000;
	padding: 0 5px 10px 20px;
}
dd.news_txt span a { color: #0066AB; text-decoration: none; }
dd.news_txt span a:hover { opacity: 0.7; }
dd.news_txt a { color: #BF75A0; text-decoration: underline; }
/* 過去記事（投稿として移行する2025年以前の記事）で使用している装飾 */
.txtYellow { color: #E7CB05; }
.txtGreen { color: #0F7D4C; }
.txtsmall { font-size: 80%; line-height: 100%; }
.txtstrong { font-size: 110%; font-weight: bold; }
.text_line { text-decoration: underline; }
.indent { margin-left: 1em; text-indent: -1em; }
.top_news_right { display: flex; justify-content: flex-end; margin-right: 10px; }
.top_news_right img { width: 250px; display: flex; margin-top: -20px; }
.top_news_img { overflow: hidden; }
.top_news_img li { float: left; margin: 10px 10px 10px 0; }

/* Side
------------------------------------------------------------*/
.sub_side_btn li { margin-bottom: 10px; }
.btn_wforum { position: relative; }
.sub_side_btn2 dt {
	width: 225px;
	background: url(images/guide_bg.png) top;
	color: #0066AB;
	font-weight: bold;
	padding: 5px 1px;
}
.sub_side_btn2.top_subside dt { padding: 5px 7px; }
.sub_side_btn2 dd {
	width: 225px;
	border: 2px solid #7FD1EC;
	margin-bottom: 10px;
}

#sub_w{
	width: 1000px;
	overflow: hidden;
	margin: 0 auto;
}

#top_contents, #sub_w{
	//padding-bottom: 260px;
}

.sub_side{
	width: 225px;
	float: left;
	margin: 20px auto 0;
}

.sub_contents{
	float: center;
	width: 100%;
	height: auto;
	margin: 20px auto 0;
}

/* Footer
------------------------------------------------------------*/
#footer{
	//position: absolute;
	bottom: 0;
	clear: both;
	width: 100%;
	//height: 260px;
	padding-top: 20px;
	border-top: 1px solid #ccc;
	background: #363636;
	color: #fff;
}
.footer_w { overflow: hidden; padding-top: 20px; }
.footer_info { width: 460px; float: left; }
.f_logo { background: #fff; padding: 0.1px 10px 0.1px; }
.footer_info dd { padding: 10px 0; }
.footer_info p.address {
	line-height: 150%;
	font-weight: normal;
	font-size: 15px;
	margin-bottom: 5px;
}
.footer_info p.tel { font-size: 19px; font-weight: bold; }

/* Page top
------------------------------------------------------------*/
#pageTop {
	position: fixed;
	bottom: 20px;
	right: 30px;
	z-index: 100;
	padding: 18px 18px 15px 18px;
	background-color: rgba(28, 130, 224, 0.9);
	border-radius: 7px;
	color: #fff;
	text-align: center;
	display: none;
}
#pageTop:link, #pageTop:visited { color: #fff; }
#pageTop:hover { background-color: rgba(28, 130, 224, 0.6); }

ol, ul{
	list-style: none!important;
}
ul{
	list-style-type: disc;
	//margin-left: 1.25rem;
}
ul, ol, dl{
	line-height: 1.6;
	//margin-bottom: 1rem;
	list-style-position: outside;
}


/* ページセレクタ
------------------------------------------------------------*/
.news_pager { margin: 22px 0 14px; text-align: center; }
.news_pager ul { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.news_pager li > .page-numbers {
	display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%;
	color: #00468C; text-decoration: none; font-size: 14px; transition: background .2s, color .2s;
}
.news_pager li > a.page-numbers:hover { background: #E3F1FC; }
.news_pager li > .current { background: #1C82E0; color: #fff; font-weight: bold; box-shadow: 0 2px 4px rgba(28,130,224,.35); }
.news_pager li > .dots { width: auto; color: #999; }
.news_pager li > .prev,
.news_pager li > .next { width: auto; padding: 0 14px; border-radius: 17px; border: 1px solid #1C82E0; color: #1C82E0; }
.news_pager li > .prev:hover,
.news_pager li > .next:hover { background: #1C82E0; color: #fff; }

.news_more{
	text-align: right;
	margin: 6px 20px 0;
	padding-bottom: 22px;
}
.news_more a{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding-bottom: 3px;
	border-bottom: 1px solid #1C82E0;
	color: #00468C;
	text-decoration: none;
	font-size: 14px;
	transition: gap .2s, color .2s;
}
.news_more a::after{
	content: ""; width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #1C82E0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M7 5l4 4-4 4' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") center / 18px no-repeat;
}
.news_more a:hover{
	gap: 12px;
	color: #1C82E0;
}

.sub_side_btn2 dt{
	width: 225px;
	background: url(images/guide_bg.png) top;
	color: #0066AB;
	font-weight: bold;
	padding: 5px 1px;
}

.sub_side_btn2.top_subside dt{
	width: 225px;
	background: url(images/guide_bg.png) top;
	color: #0066AB;
	font-weight: bold;
	padding: 5px 7px;
}

.sub_side_btn2 dd{
	width: 225px;
	border: 2px solid #7FD1EC;
	margin-bottom: 10px;
}