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

/*
 * Breakpoints（〇〇px以下で適用）
 * - max-width: 829px … 830px未満（中型）
 * - max-width: 689px … 690px未満（モバイル）
 * - max-width: 429px … 430px未満（狭いモバイル）
 * ベース（メディアクエリなし）= 830px以上のデスクトップ
 */


/* Reset base element settings */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
p,article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-weight: normal;
	vertical-align: baseline;
	background: transparent;
}

/* New elements of HTML5 to display: block */
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display: block;
}

/* Clear image border */
img{
	border: 0;
	vertical-align: top;
}

/* Selected Text */
::selection {
/*	color: #333;*/
	background: #d5dede;
}
::-moz-selection {
/*	color: #333;*/
	background: #d5dede; /* Firefox */
}

/* Basic settings */
html {
	-webkit-text-size-adjust: 100%; /* Font size adjust for mobile */
	font-size: 62.5%; /* 10px */
	height: 100%;
/*	box-sizing: border-box;*/
	font-family: 'ヒラギノ角ゴ Pro W3',
				 'Hiragino Kaku Gothic Pro',
				 'メイリオ', Meiryo,
				 'ＭＳ Ｐゴシック',
				 'Roboto',
				 sans-serif;
	color: #333;
}
body {
	font-size: 15px; /* for IE */
	font-size: 1.5rem;
	line-height: 21px;
	line-height: 2.1rem;
	background-color: #fff;
}

a {
	outline: none; /* No dotted line of frame when linking */
	transition: 0.5s;
}

/*リンクの装飾の設定*/
a:link,
a:visited,
a:active{
	color: #333;
	text-decoration: none;
}

a:hover{
	color: #828b8b;
	text-decoration: none;
}

a:hover img {
	opacity: .6;
	transition: 0.5s;
}

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

/*clearfixの設定*/
.clearfix:after,
#header_wrap:after,
#header:after,
#menu_wrap:after,
.contents_box:after,
.information_box:after,
.information_box dl dd:after,
.news_wrap:after,
.news_inner:after,
.biography_box_wrapper .biography_box:after,
.banner_box:after,
.information_box dl dd ul li:after {
	content: ".";
	display: block;
	height: 0;
	font-size:0;
	clear: both;
	visibility:hidden;
}
.clearfix {
	display: inline-block;
}

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

#wrap {
	width: 980px;
	margin: 0 auto;
	padding: 0;
}

.box-sizing {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}



/*////////////////////////////////////////////////*/
/*//////////////////// Header ////////////////////*/
/*////////////////////////////////////////////////*/

#header_wrap {
	width: 100%;
	height: 60px;
	padding: 0;
	margin: 0;
	background: #828b8b;
	position: fixed;
	top: -90px;
	z-index: 999;
	transition: 0.5s;

	box-shadow: 0 6px 4px -4px rgba(0, 0, 0, .35);
	-webkit-box-shadow: 0 6px 4px -4px rgba(0, 0, 0, .35);
	-moz-box-shadow: 0 6px 4px -4px rgba(0, 0, 0, .35);

	@media (max-width: 689px) {
		height: 50px;
		top: 0;
	}
}
#header_wrap.stuck_header_wrap {
	top: 0;
}
#header {
	max-width: 940px;
	padding: 0 30px;
	margin: 0 auto;
	position: relative;

	@media (max-width: 689px) {
		padding: 0;
	}
}
#ci {
	width: 240px;
	height: auto;
	float: left;
	margin: 19px 0 0 0;

	@media (max-width: 829px) {
		margin: 18px 0 0 0;
	}

	@media (max-width: 689px) {
		width: 200px;
		margin: 15px 0 0 10px;
	}
}
#menu_wrap {
	line-height: 60px;
	height: 60px;
	float: right;
	width: auto;
	padding: 0;

	@media (max-width: 689px) {
		line-height: 50px;
		height: 50px;
		float: none;
		width: 100%;
		padding: 50px 0 0 0;
	}
}


/*menu change*/
.menubtn {
	display: none !important;
	font-size: 16px;
	font-size: 1.6rem;
	color: #fff;
	background-color: #828b8b;
	border: solid 1px #fff;
	padding: 8px 10px;
	cursor: pointer;

	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;

	position: absolute;
	top: 6px;
	right: 10px;

	transition: 0.5s;

	@media (max-width: 689px) {
		display: block !important;
	}
}
.menubtn:hover {
	background-color: #646d6d;
}
.navi {
	/* display: block !important; */
	display: block;
	position: static;
	z-index: 1000;
	width: auto;

	@media (max-width: 689px) {
		display: none;
		position: absolute;
		width: 100%;
	}
}
.navi ul {
	width: auto;

	@media (max-width: 689px) {
		width: 100%;
	}
}
.navi ul li {
	font-size: 20px;
	font-size: 2.0rem;
	line-height: 60px;
	background-color: #828b8b;
	text-align: center;
	width: auto;
	float: left;
	border-top: none;

	@media (max-width: 689px) {
		font-size: inherit;
		line-height: 1.3;
		background-color: #646d6d;
		width: 100%;
		border-top: solid 1px #828b8b;
	}
}
.navi ul li:first-child {
	border-top: none;
}
.navi ul li:last-child {
	border-bottom: none;

	@media (max-width: 689px) {
		border-bottom: solid 1px #828b8b;
	}
}
.navi ul li a {
	color: #fff;
	padding: 0 1.0em;
	margin: 0;
	display: block;

	@media (max-width: 829px) {
		padding: 0 0.7em;
	}

	@media (max-width: 689px) {
		padding: 10px;
	}
}
.navi ul li a:hover {
	color: #fff;
	background-color: #323b3b;
	text-decoration: none;
}



/*////////////////////////////////////////////////*/
/*//////////////////// Footer ////////////////////*/
/*////////////////////////////////////////////////*/

#footer_wrap {
	line-height: 50px;
	width: 100%;
	height: 50px;
	background-color: #b4bdbd;

	@media (max-width: 689px) {
		line-height: 35px;
		height: 35px;
	}
}
footer {
	font-size: 12px;
	font-size: 1.2rem;
	color: #fff;
	text-align: center;
	max-width: 940px;
	margin: 0 auto;

	@media (max-width: 689px) {
		font-size: 11px;
		font-size: 1.1rem;
	}
}

/* Pagetop Button */
#pagetop {
	position: fixed;
	bottom: 15px;
	right: 15px;
	z-index: 300;
	opacity: .65;
	color: #828b8b;

	@media (max-width: 689px) {
		bottom: 10px;
		right: 10px;
	}
}
#pagetop:hover {
	opacity: 1;
	transition: 0.5s;
}



/*////////////////////////////////////////////////*/
/*/////////////////// Contents ///////////////////*/
/*////////////////////////////////////////////////*/

.contents_box:first-child {
	max-width: 940px;
	padding: 0 30px;
	margin: 0 auto 50px auto;
	position: relative;

	@media (max-width: 689px) {
		max-width: 480px;
		padding: 0 10px;
	}
}
.contents_box,
.contents_box_archives {
	max-width: 940px;
	padding: 0 30px;
	margin: 0 auto 50px auto;
	position: relative;

	@media (max-width: 689px) {
		padding: 0 10px;
	}
}


/*main image*/
#main_image_area {
	width: 100%;
	height: 900px;

	background: #aab3b3; /* Old browsers */
	background: -moz-linear-gradient(75deg,  #aab3b3 0%, #c8d1d1 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(75deg,  #aab3b3 0%,#c8d1d1 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(15deg,  #aab3b3 0%,#c8d1d1 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#aab3b3', endColorstr='#c8d1d1',GradientType=1 ); /* IE6-9 */

	@media (max-width: 829px) {
		height: 690px;
	}

	@media (max-width: 689px) {
		height: 435px;
	}
}
.main_left_box {
	float: left;
	width: 250px;
	height: 900px;
	text-align: center;
	background-color: rgba(255, 255, 255, .25);

	@media (max-width: 829px) {
		width: 220px;
		height: 690px;
	}

	@media (max-width: 689px) {
		width: 160px;
		height: 435px;
	}

	@media (max-width: 429px) {
		width: 140px;
	}
}
.main_left_box img {
	display: block !important;
	width: 160px;
	margin: 280px auto 70px auto;

	@media (max-width: 829px) {
		width: 150px;
		margin: 190px auto 70px auto;
	}

	@media (max-width: 689px) {
		width: 115px;
	}

	@media (max-width: 429px) {
		display: none;
	}
}
.main_left_box ul li a {
	display: block;
	font-size: 28px;
	font-size: 2.8rem;
	line-height: 2;
	color: #555;

	@media (max-width: 829px) {
		font-size: 26px;
		font-size: 2.6rem;
		line-height: 2.1;
	}

	@media (max-width: 689px) {
		display: none;
	}
}
.main_left_box ul li a:hover {
	text-decoration: underline;
}
.main_right_box {
	max-width: 545px;
	height: auto;
	float: right;
	position: absolute;
	right: 30px;
	bottom: 0;

	@media (max-width: 829px) {
		max-width: 420px;
	}

	@media (max-width: 689px) {
		max-width: 240px;
	}
}


/*title*/
.contents_box h2,
.contents_box_archives h2 {
	font-size: 30px;
	font-size: 3.0rem;
	line-height: 1;
	color: #828b8b;
	text-align: center;

	@media (max-width: 689px) {
		font-size: 25px;
		font-size: 2.5rem;
	}
}
.contents_box h2 {
	margin: 100px 0 10px 0;

	@media (max-width: 689px) {
		margin: 35px 0 10px 0;
	}
}
.contents_box_archives h2 {
	margin: 50px 0 10px 0;

	@media (max-width: 689px) {
		margin: 35px 0 10px 0;
	}
}
.title_line_outer {
	border-top: solid 1px #c8d1d1;
	border-bottom: solid 1px #c8d1d1;
	margin: 0 0 50px 0;

	@media (max-width: 689px) {
		margin: 0 0 35px 0;
	}
}
.title_info_line_inner {
	width: 195px;
	height: 4px;
	margin: 0 auto;
	background-color: #c8d1d1;

	@media (max-width: 689px) {
		width: 165px;
	}
}
.title_profile_line_inner {
	width: 120px;
	height: 4px;
	margin: 0 auto;
	background-color: #c8d1d1;

	@media (max-width: 689px) {
		width: 100px;
	}
}
.title_contact_line_inner {
	width: 145px;
	height: 4px;
	margin: 0 auto;
	background-color: #c8d1d1;

	@media (max-width: 689px) {
		width: 120px;
	}
}


/*information*/
.information_box dl dt {
	width: 100%;
	border-bottom: solid 1px #ccc;
}
.information_box dl dt.archives {
	width: 100%;
	border-bottom: none;
}

/* Archive リンクボタンがある時のみ間隔を広げる */

.news_wrap {
	/* margin: 0 0 1em 0; */
	margin: 0 0 1.5em 0;
}

.news_wrap:has(.news_url) {
    margin: 0 0 2.5em 0;
}

.news_data {
	border-bottom: solid 1px #ccc;
}


.information_box dl dt p,
.news_data p {
	font-size: 12px;
	font-size: 1.2rem;
	color: #fff;
	display: inline-block;
	background-color: #808080;
	padding: 0.1em 0.5em;
}
.information_box dl dd {
	margin: 0.5em 0 2.5em 0;
}
.news_inner {
	margin: 0.5em 0 0 0;
}

.information_box dl dd .text,
.news_title {
	float: left;
	width: 80%;
	margin: 0;

	@media (max-width: 689px) {
		width: 100%;
		margin: 0 0 0.7em 0;
	}
}
.information_box dl dd .btn,
.news_url {
	font-size: 13px;
	font-size: 1.3rem;
	color: #666;
	text-align: center;
	float: right;
	width: 15%;
	padding: 0.1em 0;
	border: dashed 1px #ccc;
	position: relative;

	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;

	transition: 0.5s;

	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;

	@media (max-width: 689px) {
		float: left;
		width: 100%;
	}
}

/* ----------------------------------------------------
	2026-07-17 前田追加
---------------------------------------------------- */

.pagination_box {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
	/* display: flex; */
    /* flex-direction: row; */
	/* flex-wrap: wrap;
    justify-content: space-between; */
    align-items: center;
	gap: 1rem;
    padding-bottom: 2rem;
}

.year {
    padding: 0.8rem 2rem 0.5rem;
    background-color: #c8d1d1;
    border-radius: 20px;
    color: #ffffff;
	cursor: pointer;
    font-size: 1.5rem;
	text-align: center;
}

.btn_archives {
	font-size: 13px;
	font-size: 1.3rem;
	color: #666;
	text-align: center;
	float: none;
	width: 100%;
	padding: 0.2em 0;
	margin: 1.0em auto 0 auto;
	border: double 4px #ccc;
	position: relative;
	display: inline-block;

	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;

	transition: 0.5s;

	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;

	@media (max-width: 689px) {
		margin: 0 auto;
	}
}
.information_box dl dd .btn i,
.information_box .btn i {
	color: #b3b3b3;
}
.btn_archives i {
	color: #b3b3b3;
	top: 5px;
}
.information_box dl dd .btn:hover,
.btn_archives:hover {
	background-color: #f0f0f0;
}
.information_box dl dd ul li {
	padding: 0 0 1.2em 0;
}
.information_box dl dd ul li:last-child {
	padding: 0;
}


/*profile*/
.biography_box_wrapper {
	float: none;
	text-align: center;
	padding: 0;
	margin: 0 auto;
	position: relative;
}
.biography_box_wrapper .biography_box {
	display: inline-block;
}
.biography_box_wrapper .biography_box img {
	float: left;
	display: block;
	margin: 0 2.0em 0 0;

	@media (max-width: 689px) {
		float: none;
		margin: 0 auto;
	}
}
.biography_box_wrapper .biography_box .text_box {
	float: left;
	text-align: left;
	margin: 43px 0 0 0;

	@media (max-width: 689px) {
		float: none;
		margin: 1.0em 0 0 0;
	}
}
.biography_box_wrapper .biography_box .text_box .name_box {
	text-align: left;
	margin: 0 0 1.0em 0;

	@media (max-width: 689px) {
		text-align: center;
	}
}
.biography_box_wrapper .biography_box .text_box .name_box .name1 {
	font-size: 20px;
	font-size: 2.0rem;
}
.biography_box_wrapper .biography_box .text_box .name_box .name2 {
	font-size: 11px;
	font-size: 1.1rem;
}
.biography_box_wrapper .biography_box .text_box > p {
	margin: 0 0 0.5em 0;

	@media (max-width: 689px) {
		margin: 0 0 0.3em 0;
	}
}
.profile_item {
	width: 47%;

	@media (max-width: 689px) {
		width: 100%;
	}
}
.profile_item:nth-child(odd) {
	float: left;

	@media (max-width: 689px) {
		float: none;
	}
}
.profile_item:nth-child(even) {
	float: right;

	@media (max-width: 689px) {
		float: none;
	}
}
.profile_item p.title {
	font-size: 18px;
	font-size: 1.8rem;
	width: 100%;
	padding: 0 0 10px 0;
	margin: 50px 0 20px 0;
	border-bottom: solid 1px #ccc;
}
.profile_item ul.list li {
	padding: 0 0 0.5em 1.3em;
}
.profile_item ul.list li:before {
	content: "■ ";
	margin: 0 0 0 -1.3em;
}
.profile_item dl dt {
	float: left;
	margin: 0 0 0 0;
}
.profile_item dl dd {
	padding: 0 0 0.5em 4.5em;
}
.margin_bottom05em {
	margin: 0 0 0.5em 0;
}


/*contact*/
.contact_box {
	float: none;
	text-align: center;
	padding: 0;
	margin: 0 auto;
	position: relative;
}
.contact_box dl {
	display: inline-block;
}
.contact_box dl dt {
	margin: 0 0 0.5em 0;
}
.contact_box dl dd {
	margin: 0 0 2.5em 0;
}
.contact_box dl dd:last-child {
	margin: 0;
}
.contact_box dl dd a {
	text-decoration: none;

	@media (max-width: 689px) {
		text-decoration: underline;
	}
}
.contact_box dl dd a:hover {
	text-decoration: underline;
}


/*banner*/
.banner_box .banner {
	display: block;
	float: left;
	width: 31%;
	padding: 0;
	margin: 0 1% 2% 1%;
	border: solid 1px #ccc;

	@media (max-width: 689px) {
		float: none;
		width: 48%;
		margin: 0 0 3% 0;
	}
}
.banner_box .banner:nth-child(odd) {
	float: left;
}
.banner_box .banner:nth-child(even) {
	float: left;

	@media (max-width: 689px) {
		float: right;
	}
}
