@import "http://";

/*
--------------------------------------
Med Co., Ltd
unauthorized use prohibited
無断利用禁止
--------------------------------------
*/

*, *:before, *:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}

:root {
--maincolor: #076ab6;
--maincolor2: #47c0e9;
--maincolor3: #ff0000;
--maincolor4: #a27175;
}

@font-face {
font-family: 'MPLUS2';
src: url('https://med-gakkai.jp/font/MPLUS2-Regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'MPLUS2';
src: url('https://med-gakkai.jp/font/MPLUS2-Bold.ttf') format('truetype');
font-weight: bold;
font-style: normal;
}

.material-icons {
font-size: 130% !important;
vertical-align: middle;
margin-right: 0.1em;
text-indent: 0;
webkit-user-select: none !important;
-moz-user-select: none !important;
-ms-user-select: none !important;
user-select: none !important;
}

.material-icons-round {
font-size: 130% !important;
vertical-align: middle;
margin: -0.2em 0.1em 0 0;
text-indent: 0;
webkit-user-select: none !important;
-moz-user-select: none !important;
-ms-user-select: none !important;
user-select: none !important;
}

.material-symbols-round {
font-size: 150% !important;
vertical-align: middle;
margin-right: 0.1em;
text-indent: 0;
}

* {
font-family: 'MPLUS2';
}

html, body {
height: 100%;
margin: 0;
padding: 0;
}

body {
display: flex;
flex-direction: column;
}

a:hover {
color: #f00;
}

/* チェックボックスは非表示 */
#menuToggle {
display: none;
}

/* ---------- 左カラム ---------- */
.sidebar {
position: fixed;
top: 0;
left: 0;
width: 300px;
height: 100vh;
background-color: var(--maincolor);
padding: 0.5em 0 0 0;
box-sizing: border-box;
overflow-y: auto;
transition: transform 0.3s ease;
}
.sidebar a.contents_but {
text-decoration: none;
display: table;
width: 100%;
background: var(--maincolor);
color: #fff;
border: 0;
padding: 0 0 0 0.5em;
margin: 0;
font-size: 16px;
line-height: 3em;
height: 3em;
transition: letter-spacing: 0em, padding-left: 0; 1s;
transition-property:letter-spacing, padding-left;transition-duration:0.3s;transition-timing-function:ease;
-moz-transition-property:letter-spacing, padding-left;transition-duration:0.3s;transition-timing-function:ease;
-webkit-transition-property:letter-spacing, padding-left;transition-duration:0.3s;transition-timing-function:ease;
-o-transition-property:letter-spacing, padding-left;transition-duration:0.3s;transition-timing-function:ease;
-ms-transition-property:letter-spacing, padding-left;transition-duration:0.3s;transition-timing-function:ease;
}
.sidebar a.contents_but:hover {
cursor: pointer;
color: #ff0;
letter-spacing: 0.5em;
padding-left: 0.75em;
background: #192f60;
}
.urleq {
cursor: default !important;
color: #ff0 !important;
letter-spacing: 0.5em !important;
padding-left: 0.75em !important;
background: #192f60 !important;
}

/* ---------- 右カラム ---------- */
.content {
margin-left: 300px;
padding: 0 auto;
box-sizing: border-box;
display: flex;
}

.table-wrapper {
max-width: 900px;
margin: 0 auto;
padding: 0 0.5em;
}

/* tableの代わりのコンテナ */
.table-like {
width: 100%;
display: grid;
}

/* 行 */
.row {
display: contents; /* gridを壊さず行構造を保つ */
}

/* セル */
.cell {
padding: 8px;
border-bottom: 1px solid #ccc;
border-right: 1px solid #ccc;
word-break: break-word;
}

/* 右端の罫線削除 */
.cell:nth-child(3n) {
  border-right: none;
}

/* ヘッダー */
.header .cell {
font-weight: bold;
background: #f5f5f5;
}

h1 {
display: table;
width: 100%;
margin: 0;
padding: 0;
text-align: center;
}
h1 img {
display: table;
width: 100%;
margin: 0;
padding: 0;
}

h2 {
letter-spacing: 0.1em;
display: inline-block;
width: 100%;
height: 38px;
color: #ffffff;
font-weight: normal;
text-indent: 15px;
padding: 0;
font-size:18px;
text-align: left;
clear: both;
margin: 0;
line-height: 38px;
border-radius: 5px;
background: var(--maincolor);
}

h3 {
width: 100%;
min-height: 29px;
padding: 0.5em;
font-size:16px;
text-align: left;
font-weight: bold;
color: #000000;
clear: both;
margin: 0;
line-height: 18px;
border-left: 5px solid var(--maincolor);
border-bottom: 1px solid var(--maincolor);
}

.box {
float: center;
position: relative;
width: 100%;
margin: 0.5em 0;
display: block;
text-align: justify;
text-justify: inter-ideograph;
font-size: 16px;
line-height: 26px;
}
h2 + .box {
width: calc(100% - 1em);
margin: 0.5em 1em;
}

.honbun {
text-align: left;
position: relative;
margin: 0 0 1em 1em;
padding: 0;
display: block;
}

.aisatu_img {
display: table-cell;
vertical-align: middle;
width: 160px;
}
.aisatu_chairman {
display: table-cell;
vertical-align: middle;
}

.pc_only {
display: inline;
}
.sp_only {
display: none;
}

.copy_only {
webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
font-size: 0px;
line-height: 0;
}

/*
ol.info {
margin: 0;
padding: 0;
}
ol.info li {
list-style: none;
text-indent: -9.225em;
margin-left: 9em;
color: #000;
}
ol.info li span {
color: #f00;
margin: 0 1em 0 0;
}
*/

#informationarea {
width: 100%;
height: 105px;
overflow: auto;
margin: 10px 0 0 0;
padding: 0 0 0 0;
text-align: left;
position: relative;
font-size: 16px;
line-height: 21px;
}
ol.info li {
list-style: none;
margin: 0 !important;
padding: 0 !important;
}

.logo_box {
display: table;
width: 100%;
margin: 0 auto;
padding: 0 auto;
text-align: center;
}
.logo {
margin: auto;
}
.logo:hover {
cursor: pointer;
}

main {
flex: 1;
}

.footer {
text-align: center;
bottom: 0;
top: calc(100vh - 30px);
width: calc(100% - 300px);
min-height: 30px;
color: #000;
font-size: 12px;
line-height: 17px;
padding-top: 7px;
background: #ccc;
margin-left: 300px;
}

/* ---------- メニューボタン ---------- */
.menu-button {
display: none;
position: fixed;
top: 12px;
left: 12px;
z-index: 1001;
font-size: 24px;
background: #333;
color: #fff;
padding: 8px 12px;
cursor: pointer;
border-radius: 4px;
}

/* ---------- スマホ対応 ---------- */
@media screen and (max-width: 767px) {
	.sidebar {
		transform: translateX(-100%);
		z-index: 1000;
	}
	
	/* チェックONで表示 */
	#menuToggle:checked ~ .sidebar {
		transform: translateX(0);
	}
	
	.content {
		margin-left: 0;
		padding-top: 60px;
	}
	
	.menu-button {
		display: block;
	}
	
	.aisatu_img {
	display: table;
	vertical-align: middle;
	width: 160px;
	}
	.aisatu_chairman {
	display: table;
	margin-bottom: 1em;
	}
	.pc_only {
	display: none;
	}
	.sp_only {
	display: inline;
	}
	.footer {
	width: 100%;
	margin-left: 0;
	}
}
