@charset "utf-8";
/* CSS Document */

/*==================
reset
====================*/
/*ベースの要素の設定をリセット*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,form,input,p,blockquote,th,td {
	margin:0;
	padding:0;
}

/*画像の枠線をクリアして位置の初期値の設定*/
img{
	border:0;
	vertical-align: top;
}

/*リンク時の枠の点線をなしにする*/
a{
	outline: none;
}

/*リスト要素の初期値をリセット*/
ul,ol{
	list-style: none;
}


/*フロート解除用のハック*/
/*clearfix*/
.clearfix:after{  
	visibility:hidden;
	height:0;
	display: block;
	font-size: 0;  
	content: " ";  
	clear: both;  

} 
* html .clearfix             { zoom: 1; } 
*:first-child+html .clearfix { zoom: 1; } 


/*==================
共通
====================*/

body{
	font-size: 62.5%;
	font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳＰゴシック',sans-serif;
	line-height:1.6;
	color:#333;
	background:#fff;
	min-width: 960px;
}


#conteiner{
	position: relative;
	min-width:960px;
	width: 100%;
	height:100%;
}

a:link,
a:visited,
a:active{
	color:#333;
	text-decoration:none;
}

a:hover{
	color:#007fff;
	text-decoration:none;
}

/*==================
header
====================*/

#header{
	position: fixed;
	left: 0;
	top: 0;
	min-height: 100%;
	width: 180px;
	background-color: #fff;
	-webkit-box-shadow: 1px 0 7px #aaaaaa;
	box-shadow: 1px 0 7px #aaaaaa;
	z-index:20;
}

#header-top{
	display: block;
	width: 180px;
	padding-bottom:18px;
	margin-top: 20px;
}

#header-top img{
	display: block;
	margin: 0 auto;
}


/*==================
nav
====================*/
#gnav-wrap:before{
	content: ' ';
	display: block;
	height: 1px;
	background: #cccccc;
	position: absolute;
	left: 15px;
	right: 15px;
	margin-top: -20px;
}

#gnav-wrap{
	display: block;
	padding: 20px 0;
}

#gnav-wrap ul{
	margin: 0;
	padding: 0;
}

#gnav-wrap ul li{
	/*margin:0;
	padding:0;*/
	display:block;
	background: #fff;
	position: relative;
	/*text-decoration:none;*/
}

#gnav-wrap ul li a{
	font-size: 1.3em;
	display: block;
	color: #333;
	position: relative;
	padding: 11px 0px 9px 20px;
	text-decoration:none;
}

#gnav-wrap ul li ul{
	position: absolute;
	top: 0px;
	left: 180px;
	display: block;
	width: 180px;
}

#gnav-wrap ul li ul li {
	visibility: hidden;
	overflow: hidden;
	width: 0px;
	height: 0px;
	background: #e1eaff;
}

#gnav-wrap li a:after{
	border-right: 2px solid #333;
	border-top: 2px solid #333;
	content: "";
	margin: 0 0 0 10px;
	height: 6px;
	right: 25px;
	position: absolute;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	top: 17px;
	width: 6px;
}

#gnav-wrap li a:hover{
    background: #00238c;
    color: #fff;
}

#gnav-wrap li a:hover:after{
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    content: "";
    margin: 0 0 0 10px;
    height: 6px;
    right: 25px;
    position: absolute;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    top: 17px;
    width: 6px;
}

#gnav-wrap ul li:hover ul li, #gnav-wrap ul li a:hover ul li{
    visibility: visible;
    height: 40px;/*サブメニューの高さ*/
	width:180px;
}

#gnav-wrap * {
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

/*==================
address
====================*/

#address:before{
    content: ' ';
	display: block;
	height: 1px;
	background: #cccccc;
    position: absolute;
	left: 15px;
	right: 15px;
	margin-top: -20px;
}

#address{
	display: block;
	padding: 20px 0 20px 10px;
}

#address p{
	font-size: 1.3em;
	margin-bottom: 10px;
}

.button-contact{
	display: block;
	height: 38px;
	width: 158px;
	border: solid 1px #000;
}

a.button-contact{
	font-size: 1.3em;
	font-weight: bold;
	color: #fff;
	background:#000;
	text-align: center;
	line-height: 38px;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

a.button-contact:hover{
	background:#fff;
	color: #000;
}


/*==================
link
====================*/

#link:before{
    content: ' ';
	display: block;
	height: 1px;
	background: #cccccc;
    position: absolute;
	left: 15px;
	right: 15px;
	margin-top: -20px;
}

#link{
	display: block;
	width: 180px;
	padding: 20px 0;
}

#link img{
	display: block;
	margin: 0 auto;
}

#link-menu{
	margin:15px 0 0 10px;
}

#link-menu li{
	margin-top:5px;
}

#link-menu a{
	font-size: 1.3em;
}

/*==================
contents　プロフィール内容はここから
====================*/
#main-wrap{
	margin-left: 180px;
	padding-top:50px;
	padding-bottom:50px;
	min-height: 600px;
	border-left: solid 1px #ddd;
	background-color: #fafafa;
}

#contents{
	margin: 0 auto;
	width: 680px;
	padding: 20px 20px 30px 20px;
	border: solid 1px #ccc;
	box-shadow: 0 0 10px #aaa;
	background-color: #ffffff;
}

.profile{
	padding-bottom:10px;
}

.profile-picture{
	width: 180px;
	height: 180px;
	float: left;
	margin: 0 30px 0 0;
}

.profile-name{
	margin-left: 210px;
}

h2.name{
	font-size: 2.0em;
	color: #0095bd;
	letter-spacing: 0.1em;
}

.profile-name dl{
	font-size: 5.4em;
}

.profile-name dt{
	float: left;
	font-weight: bold;
	width: 80px;
	padding: 3px 0 0 0;
}

.profile-name dd{
	padding: 3px 0 0 0;
}

.profile-contents{
	margin-top: 20px;
}

h3.profile-title{
	font-size: 1.5em;
  	color: #0095bd;
  	border-left: solid 0px #0095bd;
  	border-bottom: solid 1px #ccc;
  	padding: 1px 0 1px 10px;
  	margin-bottom: 15px;
}

p.profile-article{
	padding-left: 0px;
	font-size: 1.7em;
}

/*==================
一覧へ戻るボタン
====================*/
.to-member a{
	font-size: 1.5em;
	display: block;
	margin-top: 50px;
	margin-right: auto;
	margin-left: auto;
	width: 200px;
	color: #fff;
	background-color: #0085b2;
	position: relative;
	padding: 11px 0px 9px 20px;
	text-decoration:none;
	border: solid 1px #0085b2;
}

.to-member a:after{
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	content: "";
	margin: 0 0 0 10px;
	height: 6px;
	right: 25px;
	position: absolute;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	top: 17px;
	width: 6px;
}

.to-member a:hover{
    background: #fff;
    color: #0085b2;
}

.to-member a:hover:after{
    border-right: 2px solid #0085b2;
    border-top: 2px solid #0085b2;
    content: "";
    margin: 0 0 0 10px;
    height: 6px;
    right: 25px;
    position: absolute;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    top: 17px;
    width: 6px;
}

.to-member * {
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

/*==================
footer
====================*/
#footer-wrap{
	margin-left: 180px;
	height: 52px;
	background-image: url(../../../../image/img_footer.png);
	background-repeat: repeat-x;
}

#copyright{
	width:720px;
	margin-left: 180px;
	color: #fff;
	line-height: 52px;
	text-align: right;
	margin: 0 auto;
}

/* Reusable news layout. Keep all rules scoped to the main column. */
#main-wrap.news-page {
  box-sizing: border-box;
  min-height: 100vh;
  padding: 48px 32px 64px;
  background: #f3f5f8;
  border-left: 1px solid #e3e8ef;
}
.news-page #contents {
  box-sizing: border-box;
  width: 100%;
  max-width: 900px;
  padding: 0;
  border: 1px solid #e2e7ef;
  border-radius: 5px;
  box-shadow: 0 6px 24px rgba(26,48,76,.04);
  overflow: hidden;
}
.news-page .news-heading {
  padding: 36px 48px 30px;
  border-top: 4px solid #203f69;
  border-bottom: 1px solid #e4e9f0;
}
.news-page .news-category {
  margin-bottom: 20px;
  color: #38577d;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: .1em;
}
.news-page .news-date {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin-bottom: 16px;
  color: #5d6b7e;
  font-size: 13px;
}
.news-page .news-date span {
  padding: 3px 10px;
  border-radius: 3px;
  background: #edf2f8;
  color: #38577d;
  font-size: 12px;
}
.news-page .news-heading h1 {
  color: #213651;
  font-size: 28px;
  line-height: 1.65;
  letter-spacing: .02em;
  overflow-wrap: anywhere;
  line-break: strict;
}
/* Use ordinary paragraphs, headings, and lists for any article. */
.news-page .news-body {
  padding: 32px 48px;
  font-size: 15px;
  line-height: 2;
  color: #414d5d;
  overflow-wrap: anywhere;
  line-break: strict;
}
.news-page .news-body p { margin: 0 0 1.5em; }
.news-page .news-body h2 {
  margin: 2em 0 1em;
  padding: 0 0 10px;
  border-bottom: 1px solid #dce4ee;
  color: #29496f;
  font-size: 21px;
  line-height: 1.65;
}
.news-page .news-body h3 {
  margin: 1.8em 0 .75em;
  color: #29496f;
  font-size: 17px;
  line-height: 1.7;
}
.news-page .news-body ul,
.news-page .news-body ol {
  margin: 0 0 1.5em;
  padding-left: 1.6em;
}
.news-page .news-body ul { list-style: disc; }
.news-page .news-body ol { list-style: decimal; }
.news-page .news-body li { padding-left: .2em; margin: .35em 0; }
.news-page .news-body li::marker { color: #527095; }
.news-page .news-body li > ul,
.news-page .news-body li > ol { margin: .4em 0; }
.news-page .news-body a { color: #245c97; text-decoration: underline; text-underline-offset: 3px; }
.news-page .news-body a:hover { color: #163b64; }
.news-page a:focus-visible { outline: 2px solid #29496f; outline-offset: 4px; }
.news-page .news-body img { display: block; max-width: 100%; height: auto; margin: 24px auto; }
.news-page .news-body .news-caption { margin-top: -12px; color: #626e7e; font-size: 13px; text-align: center; }
.news-page .news-body blockquote,
.news-page .news-body .news-note {
  margin: 24px 0;
  padding: 18px 22px;
  border-left: 3px solid #7892b1;
  background: #f4f7fb;
}
.news-page .news-body .news-table-wrap { overflow-x: auto; margin: 24px 0; }
.news-page .news-body table { width: 100%; border-collapse: collapse; font-size: 14px; }
.news-page .news-body caption { padding-bottom: 10px; text-align: left; font-weight: bold; }
.news-page .news-body th,
.news-page .news-body td { padding: 12px 16px; border: 1px solid #dce4ee; text-align: left; vertical-align: top; }
.news-page .news-body th { background: #f4f7fb; color: #29496f; }
.news-page .news-body > :first-child { margin-top: 0; }
.news-page .news-body > :last-child,
.news-page .news-body .news-note > :last-child,
.news-page .news-body blockquote > :last-child { margin-bottom: 0; }
@media screen and (max-width: 1100px) {
  #main-wrap.news-page { padding: 32px 24px 48px; }
  .news-page .news-heading { padding: 28px 32px 24px; }
  .news-page .news-heading h1 { font-size: 25px; }
  .news-page .news-body { padding: 28px 32px; }

}
/* Keep the original button centered and fully inside the article card. */
.news-page #contents-wrap > .to-member {
  display: flow-root;
  box-sizing: border-box;
  width: 100%;
  padding: 18px 20px 30px;
  margin: 0;
  clear: both;
}
.news-page #contents-wrap > .to-member a {
  box-sizing: border-box;
  width: 222px;
  max-width: 100%;
  margin: 0 auto;
  overflow-wrap: anywhere;
  padding-right: 40px;
}
@media screen and (max-width: 1100px) {
  .news-page #contents-wrap > .to-member { padding-top: 22px; }
}
/* Optional related links, shared by all news articles. */
.news-page .news-body .news-related {
  margin-top: 32px;
  padding: 20px 24px;
  border: 1px solid #dce4ee;
  border-radius: 3px;
  background: #f4f7fb;
}
.news-page .news-body .news-related h2 {
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  font-size: 16px;
}
.news-page .news-body .news-related p { margin: 0; }
/* Full-width copyright band within the main area; sidebar stays unchanged. */
.news-page .news-footer {
  box-sizing: border-box;
  margin: 28px -32px -64px;
  padding: 18px 24px;
  border-radius: 0;
  background-color: #203f69;
  text-align: center;
  color: #fff;
  font-size: 12px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 1100px) {
  .news-page .news-footer { margin: 28px -24px -48px; }
}