@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Questrial&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Tangerine&display=swap');

@import url("keyframes.css");


/*全体の設定
---------------------------------------------------------------------------*/
body {
	margin: 0px;
	padding: 0px;
	color: #000;
	font-family:'Noto Serif JP', serif; "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	line-height: 2;	
	background: #fff;
	-webkit-text-size-adjust: none;
}

h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {margin: 0px;padding: 0px;font-size: 100%;font-weight: normal;}
ul {list-style-type: none;}
ol {padding-left: 40px;padding-bottom: 15px;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
video {max-width: 100%;}
iframe {width: 100%;}

a {
	color: #000;
	transition: 0.2s;
}
a:hover {
	color: #264d73;
	text-decoration: none;
}

/*inner*/
.inner {
	max-width: 1400px;
	margin: 0 auto;
	padding-left: 2%;
	padding-right: 2%;
}

/*mainimg*/
#mainimg {
	clear: left;
	width: 100%;
	position: relative;
}

#s_mainimg {
	display: none;
}

.slide1,.slide2,.slide3 {
	animation-duration: 15s;
	animation-iteration-count:1;
	position: absolute;left:0px;top:0px;width: 100%;height: auto;
	animation-fill-mode: both;
	animation-delay: 2s;
}
.slide0 {
	position: relative;width: 100%;height: auto;z-index: -1;
}
.slide1 {
	animation-name: slide1;
}
.slide2 {
	animation-name: slide2;
}
.slide3 {
	animation-name: slide3;
}

/*ヘッダー*/
header {
	position: relative;
	padding: 20px;
}

.top_h header {
	padding: 0px;	
}

.other_h header {
	padding: 0px;
}

header #logo {
	width: 300px;
	margin: 0 auto;
}

/*ロゴ画像（トップページ）*/
.top_h  header #logo {
	display: none;	
}

/*ロゴ画像（他ページ）*/
.other_h  header #logo {
	display: none;
}

/*メインメニュー*/
#menubar {
	position: relative;z-index: 10;
	text-align: center;
	background: #eeeeef;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	font-family: 'Noto Serif JP', serif;
	height: 105px;
}

/*メニュー*/
#menubar ul li {
	float: left;
	width: 16%;
	font-size: 14px;
}

#menubar ul li .logo {
	float: left;
	width: 30%;
}

#menubar ul li a {
	text-decoration: none;display: block;
	height: 85px;
	padding-top: 20px;
	color: #333;
}

#menubar ul li .logo a {
	text-decoration: none;display: block;
	height: 85px;
	padding-top: 20px;
}

#menubar ul li a:hover {
	color: #264d73;
}

#menubar ul li span {
	display: block;
	font-size: 12px;
	color: #333;
	letter-spacing: 0.1em;
}

#menubar-s, #menubar-s2 {display: none;}

#menubar_hdr {display: none;}

#menubar a.cursor-default {
	cursor: default;
	color: #333;
}

/*ドロップダウンメニュー*/
#menubar ul.ddmenu {
	position:absolute;visibility: hidden;z-index: 10;
	left: 0px;
	width: 94%;
	padding: 50px 3%;
	background: #00334d;	
	background: rgba(0,51,77,0.85);	
	text-align: center;
	border-bottom: 1px solid #fff;
}

#menubar li:hover ul.ddmenu {
	animation-name: opa1;	
	animation-fill-mode: both;
	animation-duration: 0.8S;
	animation-delay: 0.1s;
}

#menubar ul.ddmenu li {
	float: none;
	width: auto;
	display: inline-block;
	font-size: 100%;
}

#menubar ul.ddmenu li a {
	height: auto;
	padding: 30px;
	color: #fff;
	opacity: 0.7;
}

#menubar ul.ddmenu li a:hover {
	opacity: 1;
}

/*画面上に移動した場合*/
body.is-fixed-menu #menubar.nav-fix-pos {
	position: fixed;width: 100%;top: 0px;
	height: 60px;
}

body.is-fixed-menu #contents {
	margin-top: 105px;
}

body.is-fixed #menubar.nav-fix-pos {
	position: fixed;width: 100%;top: 0px;
}

body.is-fixed #contents {
	margin-top: 105px;
}

body.is-fixed-menu #menubar ul li span {
	display: none;
}

body.is-fixed-menu #menubar ul li a {
	height: 50px;
	padding-top: 10px;
}

body.is-fixed-menu #menubar ul.ddmenu li a {
	padding: 30px;
	height: auto;
}

/*コンテンツ*/
#contents {
	padding: 50px 0 50px;
	position: relative;
	animation-name: opa2;
	animation-duration: 0.5S;
	animation-delay: 0.5s;
	animation-fill-mode: both;
}

/*h2*/
#contents h2 {
	clear: both;
	margin-bottom: 60px;
	font-size: 250%;
	text-align: center;
	color: #000;
}

/*h2 span*/
#contents h2 span {
	display: block;
	font-size: 40%;
	color: #777;	
}

/*h3*/
#contents h3 {
	clear: both;
	font-size: 150%;
	padding-left: 3%;
	padding-top: 20px;
	letter-spacing: 0.1em;
}

/*Info*/
#contents .d_news_text {
	font-size: 120%;
	padding: 0 4%;
}

#contents .d_news_stext {
	font-size: 100%;
	padding: 0 4%;
}

#contents .d_news_img {
	margin: 0 auto;
	margin-top: 30px;
	margin-bottom: 80px;
	text-align: center;
}

#contents .d_newsbox {
	width: 90%;
	margin: 30px auto;
	font-size: 120%;
	font-weight: bold;
	text-align: center;
	border-radius: 2px;
	border: 1px solid #000;
}

#contents .d_newsbox_text {
	width: 90%;
	margin: 30px auto;
	font-size: 120%;
	text-align: center;
}

#contents .d_newsbox_text span {
	font-size: 16px;
}


hr {
	border-top: 1px solid #000;
}

/*Profile*/
#contents .list {
	position: relative;
	border-radius: 2px;
	overflow: hidden;	
	display: flex;
	align-items: center;
	background: #fff;	
	color: #000;
	margin: 0 3% 100px;
}

#contents .list h4 {
	margin-bottom: 20px;
	font-size: 140%;
}

.list_photobox {
	width: 50%;
	float: right;
	border: 1px solid #000;
}

.list_textbox {
	width: 44%;
	padding: 3%;	
	float: right;
}

.list_text {
	width: 100%;
}

.list_collection {
	width: 94%;
	padding: 3%;	
}

/*ギャラリー*/
#contents .g_year {
	clear: both;
	width: 100%;
	margin-left: 1%;
	font-size: 150%;
	margin-bottom: 20px;
}

#contents .glist {
	width: 50%;
	float: left;
	overflow: #hidden;
	margin-bottom: 50px;
}

#contents .gslist {
	width: 50%;
	float: left;
	overflow: #hidden;
}

#contents .gtext {
	width: 94%;
	font-size: 80%;
	margin: 0 3%;
	text-align: left;
}

#contents .gtext_year {
	width: 94%;
	font-size: 75%;
	margin: 2% 3%;
	text-align: left;
	border-bottom: solid 1px #000;
}

#contents .gallerypast {
	clear: both;
	width: 96%;
	font-size: 110%;
	padding: 30px 0px;
	text-align: left;
}

/*ニュース*/
#contents .news-container {
	clear: both;
	width: 100%;
	margin-bottom: 50px;
	color: #000;
	overflow: #hidden;
}


#contents .newslist {
	width: 25%;
	float: left;
	overflow: #hidden;
}

#contents .newsphoto {
	overflow: hidden;
	width: 94%;
	margin: 0 3%;
	background: #f2f2f2;
	text-align: center;
}

#contents .newsphoto img {
	display: block;
	transition-duration: 0.3s;
}

#contents .newsphoto img:hover {
	transform: scale(1.1);
	transition-duration: 0.3s;
	opacity: 0.6;
}

#contents .newsday {
	width: 94%;
	font-size: 80%;
	margin: 0 3%;
	text-align: left;
}

#contents .newstext {
	width: 94%;
	font-size: 90%;
	margin: 0 3%;
	text-align: left;
}

#contents .newspast {
	clear: both;
	width: 96%;
	font-size: 90%;
	padding: 30px;
	text-align: left;
}

/*フッター*/
footer {
	clear: both;
	margin-top: 30px;
	font-size: 90%;
	background: #0d3061;	
	color: #fff;
	text-align: center;
}

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

footer a:hover {
	color: #a6a6a6;
}

#copyright {
	clear: both;
	text-align: center;
	background: #000;
	color: #fff;
	padding: 20px 0;
}

/*SNSアイコン*/
#sns {
	padding-top:30px;
}
ul.icon {
	margin-bottom: 30px;
}
ul.icon li {
	display: inline-block;
}

ul.icon img {
	width: 30px;
	padding: 0 10px;
}

ul.icon img:hover {
	opacity: 0.8;
}

/*テーブル1*/
.ta1 caption {
	border: 1px solid #000;
	border-bottom: none;
	text-align: left;
	background: #1b284d;	
	font-weight: bold;	
	color: #fff;
	padding: 10px;
}

.ta1 {
	width: 94%;
	table-layout: fixed;
	margin: 0 3% 50px;
}
.ta1, .ta1 td, .ta1 th {
	border-bottom: 1px solid #000;
	padding: 15px;	
	word-break: break-all;
}

.ta1 th {
	width: 150px;	
	text-align: center;
	font-weight: bold;	
	color: #000;
}

.ta1 td {
	color: #000;
}

/*テーブル2*/
.ta2 caption {
	border: 2px solid #000;
	border-bottom: none;
	text-align: left;
	background: #1b284d;	
	color: #fff;
	font-weight: bold;
	padding: 10px;
}

.ta2 {
	width: 94%;
	table-layout: fixed;
	margin: 0 3% 50px;
}
.ta2, .ta2 td, .ta2 th {
	padding: 10px;
	word-break: break-all;
}

.ta2 td {
	padding: 10px 40px;
	color: #000;
}

.ta2 ul {
	list-style: disc;
}
.ta2 ul li {
	padding: 2px 0;
}


/*ページ内リンク用*/
.link {
	display: block;
	margin-top: -120px;
	padding-top: 120px;
}

/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
body .nav-fix-pos-pagetop a {
	display: none;
}

body.is-fixed-pagetop .nav-fix-pos-pagetop a {
	display: block;text-decoration: none;text-align: center;
	width: 50px;
	font-weight: bold;
	line-height: 50px;
	border-radius: 25px;
	z-index: 1;
	position: fixed;
	bottom: 60px;
	right: 4%;
	background: #00334d;	
	background: rgba(0,51,77,0.8);
	color: #fff;
	border: 1px solid #fff;
	animation-name: opa1;	
	animation-duration: 1S;	
	animation-fill-mode: both;
}

body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
	background: #8cb3d9;
}

/*width 800px under*/

@media screen and (max-width:800px){

body {
	font-size: 2vw;
}

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

/*ロゴ（トップページ）*/
.top_h  header #logo {
	display: none;
}

.other_h header {
	padding: 20px;
}

/*ロゴ（他ページ）*/
.other_h  header #logo {
	display: block;
}

/*メインメニュー*/
#menubar-s {
	overflow: auto;height: 100%;
	position: fixed;z-index: 100;
	top: 0px;
	width: 100%;
	background: rgba(0,51,77,0.9);
	border-top: 1px solid #fff;
	animation-name: frame1;
	animation-duration: 0.5s;
	animation-fill-mode: both;
	font-size: 16px;
}

#menubar-s li span {
	margin-left: 20px;
	font-size: 80%;
}

/*メニュー*/
#menubar-s ul li a,#menubar_hdr2 {
	display: block;text-decoration: none;
	padding: 30px 20px 30px 60px;
	border-bottom: 1px solid #fff;
	color: #fff;
}

#menubar-s ul li a,#menubar_hdr3 {
	display: block;text-decoration: none;
	padding: 30px 20px 30px 60px;
	border-bottom: 1px solid #fff;
	color: #fff;
}

#menubar-s ul li a,#menubar_hdr4 {
	display: block;text-decoration: none;
	padding: 30px 20px 30px 60px;
	border-bottom: 1px solid #fff;
	color: #fff;
}

#menubar {
	display: none;
}

/*小メニュー02*/
#menubar_hdr2 {
	padding-left: 60px;
}

#menubar-s2 {
	display: block;
	margin-top: 10px;
	border-radius: 5px;
	background: rgba(0,0,0,0.3);
	border: 1px solid #fff;
}

#menubar-s2 li a {
	border-bottom: 1px solid #fff !important;
	padding: 10px 20px !important;
}

#menubar-s2 li:last-child a {
	border-bottom: none !important;
}

/*小メニュー03*/
#menubar_hdr3 {
	padding-left: 60px;
}

#menubar-s3 {
	display: block;
	margin-top: 10px;
	border-radius: 5px;
	background: rgba(0,0,0,0.3);
	border: 1px solid #fff;
}

#menubar-s3 li a {
	border-bottom: 1px solid #fff !important;
	padding: 10px 20px !important;
}
#menubar-s3 li:last-child a {
	border-bottom: none !important;
}

/*小メニュー04*/
#menubar_hdr4 {
	padding-left: 60px;
}

#menubar-s4 {
	display: block;
	margin-top: 10px;
	border-radius: 5px;
	background: rgba(0,0,0,0.3);
	border: 1px solid #fff;
}

#menubar-s4 li a {
	border-bottom: 1px solid #fff !important;
	padding: 10px 20px !important;
}
#menubar-s4 li:last-child a {
	border-bottom: none !important;
}

/*ハンバーガーメニュー*/
#menubar_hdr {
	display: block;
	position: fixed;z-index: 100;
	top: 20px;
	right: 2%;
}

#menubar_hdr.close,
#menubar_hdr.open {
	width: 50px;
	height: 50px;
	border-radius: 25px;
}

#menubar_hdr.close {
	background: #00334d url(../images/icon_menu.png) no-repeat center top/50px;
}

#menubar_hdr.open {
	background: #00334d url(../images/icon_menu.png) no-repeat center bottom/50px;
}

body.is-fixed-menu #contents {
	margin-top: 0px;
}

body.is-fixed #contents {
	margin-top: 0px;
}

/*コンテンツ*/
#contents {
	padding: 50px 0;
}
/*h2*/
#contents h2 {
	margin-bottom: 50px;
}

#contents .glist {
	clear: both;
	width: 100%;
	overflow: #hidden;
	margin-bottom: 30px;
}

#contents .gslist {
	width: 50%;
	float: left;
	overflow: #hidden;
}

#contents .gallerypast {
	clear: both;
	width: 96%;
	font-size: 90%;
	padding: 30px 0px 0px 0px;
	text-align: left;
}

/*ニュース*/
#contents .news-container {
	width: 100%;
	margin-bottom: 50px;
	color: #000;
	overflow: #hidden;
}


#contents .newslist {
	width: 90%;
	padding: 5%;
	overflow: #hidden;
}

#contents .newsphoto {
	width: 94%;
	margin: 0 3%;
	background: #f2f2f2;
	text-align: center;
}

#contents .newsday {
	width: 94%;
	font-size: 12px;
	margin: 1% 3%;
	text-align: left;
}

#contents .newstext {
	width: 94%;
	font-size: 14px;
	margin: 0 3%;
	text-align: left;
}

#contents .newspast {
	clear: both;
	width: 96%;
	font-size: 14px;
	padding: 2%;
	text-align: left;
}

/*Profile*/
#contents .list {
	display: block;
	border-radius: 2px;
	overflow: hidden;	
	background: #fff;	
	color: #000;
	margin-bottom:100px;
}

.list_photobox {
	width: 70%;
	border: 1px solid #000;
	margin: 0 auto;
	margin: 0 12%;	
}

.list_textbox {
	width: 96%;
	padding: 3%;	
}

.list_text {
	width: 100%;
}

.list_collection {
	width: 94%;
	padding: 3%;	
}

/*フッター設定*/
footer {
	clear: both;
	margin-top: initial;
	font-size: 120%;
	background: #0d3061;	
	color: #fff;
	text-align: center;
}

#sns {
	padding-top:30px;
}
ul.icon {
	margin-bottom: 30px;
}

/*ページ内リンク*/
.link {
	margin-top: -30px;
	padding-top: 30px;
}

body.s-n .sub,body.s-n #footermenu {display: none;}
}



/*width 480px under*/
@media screen and (max-width:480px){

body {
	font-size: 3vw;
}

#mainimg {
	display: none  !important;;
}

#s_mainimg {
	display:block;
	clear: left;
	width: 100%;
	position: relative;
}

/*コンテンツ*/
/*h2*/
#contents h2 {
	margin-bottom: 30px;
}

/*h2 span*/
#contents h2 span {
	display: block;
	font-size: 50%;
	color: #777;	
}

/*h3*/
#contents h3 {
	margin-bottom: 20px;
}

#contents section + section {
	margin-top: 30px;
}

#footermenubox {
	overflow: hidden;
	font-size: 90%;
	width: 100%;
	padding: 2% 0;
}

#contents .d_newsbox_text span {
	font-size: 12px;
}

#contents .gtext {
	line-height: 1.5em;
	font-size: 100%;
}

#contents .gtext_year {
	line-height: 1.8em;
}

#contents .gallerypast {
	font-size: 110%;
}

/*Profile*/
#contents .list {
	display: block;
	border-radius: 2px;
	overflow: hidden;	
	background: #fff;	
	color: #000;
	margin-bottom:40px;
}

.list_photobox {
	width: 70%;
	border: 1px solid #000;
	margin: 0 auto;
	margin: 0 12%;	
	margin-bottom: 2%;	
}

.list_textbox {
	width: 94%;
	padding: 0 3%;	
}

.list_text {
	width: 100%;
	font-size: 110%;	
}

.list_collection {
	width: 94%;
	font-size: 110%;	
	padding: 0 3%;	
}

/*テーブル01*/
.ta1 caption {
	font-size: 120%;
}
/*ta1設定*/
.ta1, .ta1 td, .ta1 th {
	padding: 10px;	/*ボックス内の余白*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 60px;
	font-size: 120%;
	color: #000;
}

.ta1 td {
	color: #000;
	font-size: 120%;
}

/*テーブル02*/
.ta2 caption {
	font-size: 120%;
}

.ta2 {
	width: 98%;
	table-layout: fixed;
	margin: 0 1% 50px;
}
.ta2, .ta2 td, .ta2 th {
	font-size: 120%;
	padding: 10px;
	word-break: break-all;
}

.ta2 td {
	padding: 10px 30px;
	color: #000;
}

.ta2 ul li {
	padding: 6px 0;
}
}
