/******************************************************************************/
/* main.css - last update: 25.06.16 */

@charset "utf-8";


/******************************************************************************/
/* ホームページ全体 */

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	height: 100%;
}

body {
	background: #FFFDF4;
	height: 100%;
	color: #333333;
	font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", "Yu Gothic", YuGothic, "游ゴシック", Osaka, "MS Gothic", "ＭＳ ゴシック", sans-serif;
	font-size: 16px;
	word-wrap: break-word;
}

hr {
	display: none;
}

img {
	border: 0 none;
	vertical-align: top;
}

a img {
	border: 0px none;
	transition: 0.2s linear;
}

a:hover img {
	opacity: 0.75;
	filter: alpha(opacity=75);
}

table,
table td {
	border-collapse: collapse;
}

ul,
ol,
li {
	list-style: none;
}

a,
a:visited {
	color: #3399FF;
	text-decoration: underline;
	transition: 0.2s linear;
}

a:hover {
	color: #FF9966;
}

input,
select,
option,
textarea {
	font-size: clamp(14px, 1.6vw, 16px);
}

input[type="text"]:focus {
	outline: none;
}

input:-webkit-autofill {
	transition: background-color 10000s ease-in-out 0s;
}


/******************************************************************************/
/* #header - ヘッダ */

#header {
	position: fixed;
	width: 100%;
	transition: 0.3s linear;
	z-index: 100;
}

#header h1 a {
	position: absolute;
	display: block;
	background: url(../img/header_logo.png) no-repeat left top;
	background-size: contain;
	width: 100%;
	max-width: 426px;
	filter:
		drop-shadow(-1px -1px 2px #FFFFFF)
		drop-shadow( 1px -1px 2px #FFFFFF)
		drop-shadow(-1px  1px 2px #FFFFFF)
		drop-shadow( 1px  1px 2px #FFFFFF);
}

#header h1 a,
#header h1 a:visited,
#header h1 a:hover {
	text-decoration: none;
}

#header h1 a:hover {
	opacity: 0.75;
	filter: alpha(opacity=75);
}

#header h1 span {
	display: none;
}


/******************************************************************************/
/* #header .header_menu - ヘッダメニュー */

#header .header_menu1 a,
#header .header_menu2 a,
#header .header_menu3 a {
	display: block;
	position: absolute;
	background: #80CFFF;
	border: 1px solid #FFFFFF;
	border-radius: 10px;
	color: #FFFFFF;
	text-align: center;
	text-decoration: none;
	transition: 0.3s linear;
	z-index: 1200;
}

#header .header_menu1 a {
	top: 20px;
	right: 0;
	width: 180px;
	height: 39px;
	line-height: 39px;
	margin-right: 215px;
	padding: 1px 0 0 0;
	font-size: 15px;
}

#header .header_menu2 a {
	top: 20px;
	right: 0;
	width: 200px;
	height: 39px;
	line-height: 39px;
	margin: 0;
	padding: 1px 0 0 0;
	font-size: 15px;
}

#header .header_menu3 a {
	top: 75px;
	width: 240px;
	height: 30px;
	line-height: 30px;
	margin-right: -600px;
	padding: 0;
	font-size: 13px;
}

#header .header_menu1 a:hover,
#header .header_menu2 a:hover,
#header .header_menu3 a:hover {
	background: #009FFF;
	text-decoration: none;
}

#header .header_menu1 i,
#header .header_menu2 i {
	margin-right: 0.5em;
}


/******************************************************************************/
/* #header .header_search - サイト内検索 */

#header .header_search {
	position: absolute;
	top: 75px;
	right: 0;

	display: block;
	background: #FFFFFF;

	width: 240px;
	height: 30px;
	line-height: 30px;

	margin: 0;
	padding: 0;

	border: 1px solid #DDDDDD;
	border-radius: 10px;
	text-align: left;
	transition: 0.3s linear;
	z-index: 1200;
}

#header .header_search input {
	width: 180px;
	height: 28px;
	line-height: 28px;
	margin: 0 10px;
	padding: 2px 0 0 5px;
	border: 0 none;
	color: #999999;
	font-size: 13px;

	vertical-align: top;
}

#header .header_search a {
	position: absolute;
	top: 0px;
	right: 0;
	display: block;
	width: 40px;
	height: 30px;
	line-height: 28px;
	padding-top: 2px;
	color: #80CFFF;
	cursor: pointer;
	font-size: 16px;
	text-align: center;
	text-decoration: none;
}

#header .header_search a:hover {
	color: #009FFF;
	text-decoration: none;
}


/******************************************************************************/
/* #header.fixed - ヘッダ固定時 */


#header.fixed {
	background: #FFFFFF;
}


/******************************************************************************/
/* #mainvisual - メインビジュアル */

#mainvisual {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

#mainvisual #catchcopy {
	position: absolute;
	bottom: 0;
	left: 0;
	display: flex;
	background-color: rgba(213, 239, 255, 0.9);
	width: 100%;
	padding: 25px 0;
	flex-flow: column;
	justify-content: center;
	z-index: 10;
}



/******************************************************************************/
/* #keyvisual - キービジュアル */

#keyvisual {
	background-attachment: fixed;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100%;
	padding-top: 250px;
	width: 100%;
	height: 360px;
	line-height: 100%;
	color: #005080;
	font-size: clamp(18px, 5vw, 26px);
	font-weight: bold;
	letter-spacing: 0.2em;
	text-align: center;
	text-shadow: -2px -2px 2px #FFFFFF,
		 2px -2px 2px #FFFFFF,
		-2px  2px 2px #FFFFFF,
		 2px  2px 2px #FFFFFF,
		-2px -2px 6px #FFFFFF,
		 2px -2px 6px #FFFFFF,
		-2px  2px 6px #FFFFFF,
		 2px  2px 6px #FFFFFF;
}

#keyvisual.bg1 {
	background-image: url(../img/keyvisual/001.jpg);
}

#keyvisual.bg2 {
	background-image: url(../img/keyvisual/002.jpg);
}

#keyvisual.bg3 {
	background-image: url(../img/keyvisual/003.jpg);
}

#keyvisual.bg4 {
	background-image: url(../img/keyvisual/004.jpg);
}

#keyvisual.bg5 {
	background-image: url(../img/keyvisual/005.jpg);
}

#keyvisual.bg6 {
	background-image: url(../img/keyvisual/006.jpg);
}

#keyvisual.bg7 {
	background-image: url(../img/keyvisual/007.jpg);
}

#keyvisual.bg8 {
	background-image: url(../img/keyvisual/008.jpg);
}

#keyvisual.bg9 {
	background-image: url(../img/keyvisual/009.jpg);
}

#keyvisual.bg10 {
	background-image: url(../img/keyvisual/010.jpg);
}


/******************************************************************************/
/* .content_wrapper - コンテンツの枠組み */

.content_wrapper {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}


/******************************************************************************/
/* #maincontent - メインコンテンツ */

#maincontent {
	background: #FFFDF4 url(../img/body_bg.png) repeat-y center top;
	width: 100%;
	padding: 25px 0 35px 0;
	color: #333333;
	font-size: clamp(14px, 1.6vw, 16px);
}

#maincontent.bg {
	background: #FFFDF4;
}

#maincontent .content_wrapper h2 {
	position: relative;
	width: 100%;
	line-height: 30px;
	margin-bottom: 30px;
	padding: 10px 10px 20px 35px;
	border-bottom: 3px solid #DDDDDD;
	color: #005080;
	font-size: clamp(18px, 5vw, 24px);
	font-weight: bold;
	letter-spacing: 0.1em;
}

#maincontent .content_wrapper h2::after {
	content: "";
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 250px;
	height: 0;
	border-bottom: 3px solid #80CFFF;
}

#maincontent .content_wrapper h3 {
	background: url(../img/h3_bg.png) no-repeat left 0.3em;
	line-height: 160%;
	margin: 0 2.5% 1em 2.5%;
	padding: 0 0 0 1.75em;
	color: #006AAA;
	font-size: clamp(16px, 4vw, 20px);
	font-weight: bold;
	letter-spacing: 0.05em;
}

#maincontent h4 {
	background: url(../img/h4_bg.png) no-repeat left 0.4em;
	line-height: 160%;
	margin: 0 3% 1em 3%;
	padding: 0 0 0 1.7em;
	color: #006AAA;
	font-size: clamp(14px, 1.6vw, 18px);
	font-weight: bold;
	letter-spacing: 0.1em;
}

#maincontent h5 {
	line-height: 180%;
	margin: 0 4% 0 4%;
	font-size: clamp(14px, 1.6vw, 16px);
	font-weight: bold;
}

#maincontent p,
#maincontent ul {
	line-height: 180%;
	margin: 0 4% 1.5em 4%;
	font-size: clamp(14px, 1.6vw, 16px);
}

#maincontent p.mt0,
#maincontent ul.mt0 {
	margin-top: 0;
}

#maincontent p.mb0,
#maincontent ul.mb0 {
	margin-bottom: 0;
}


/******************************************************************************/
/* #maincontent ul - リスト背景 */

#maincontent ul.li01 li {
	background: url(../img/li01_bg.png) no-repeat left 0.55em;
	padding-left: 1.75em;
}

#maincontent ul.li02 li {
	background: url(../img/li02_bg.png) no-repeat 1px 0.6em;
	padding-left: 1.75em;
}

#maincontent ul.num li {
	list-style: decimal;
	margin-left: 1.25em;
	padding-left: 0.5em;
}

#maincontent ul.disc li {
	list-style: disc;
	margin-left: 20px;
	padding-left: 17px;
}

#maincontent .float li {
	float: left;
	margin-right: 1.5em;
	margin-bottom: 0.5em;
}


/******************************************************************************/
/* #maincontent .hr - 区切り線 */

#maincontent .hr {
	clear: both;
	width: 94%;
	height: 1px;
	margin: 30px auto 40px auto;
	border-bottom: 1px dotted #999999;
}




/******************************************************************************/
/* #maincontent .sidecontent - サイドコンテンツ */

#maincontent .sidecontent {
	float: left;
	width: 80%;
	max-width: 960px;
	margin: 0 1.5% 0 0;
}


/******************************************************************************/
/* #maincontent .whatsnew - 新着情報 */

#maincontent .whatsnew_menu {
	width: 100%;
	height: 40px;
	margin: 0;
	padding: 0;
	font-size: 0;
	letter-spacing: -0.4em;
}

#maincontent .whatsnew_menu li {
	display: inline-block;
	width: 33%;
	max-width: 180px;
	height: 40px;
	margin: 0 1px 0 0;
	padding: 0;
	font-size: 0;
	text-align: center;
}

#maincontent .whatsnew_menu li a {
	position: relative;
	display: block;
	background: #80CFFF;
	width: 100%;
	height: 40px;
	line-height: 38px;
	margin: 0;
	padding: 2px 0 0 0;
	border-radius: 10px 10px 0 0;
	color: #FFFFFF;
	cursor: pointer;
	font-size: 16px;
	letter-spacing: 0.2em;
	text-decoration: none;
	text-indent: 1.2em;
}

#maincontent .whatsnew_menu li a.s {
	background: #009FFF;
	color: #FFFFFF;
}

#maincontent .whatsnew_menu li a:hover,
#maincontent .whatsnew_menu li a.s:hover {
	background: #009FFF;
	color: #FFFFFF;
}

#maincontent .whatsnew_menu li a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	margin: -5px 0 0 -3.5em;
	border-top: 10px solid #FFFFFF;
	border-right: 6px solid transparent;
	border-bottom: 0;
	border-left: 6px solid transparent;
	border-style: solid;
}


/******************************************************************************/
/* .table_whatsnew - お知らせ欄本文 */

#maincontent .table_whatsnew {
	background: #FFFFFF;
	width: 100%;
	height: 600px;
	margin: 0;
	padding: 25px 0px 20px 0px;
	border: 2px solid #80CFFF;
	font-size: 16px;
	overflow-y: scroll;
}

#maincontent .table_whatsnew * {
	line-height: 180%;
}

#maincontent .table_whatsnew table {
	width: 95%;
	margin: 0px 2% 0px 3%;
}

#maincontent .table_whatsnew th {


	position: relative;
	width: 185px;
	padding: 0 0 7px 0;
	color: #999999;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
}

#maincontent .table_whatsnew td {


	padding: 0 0 7px 0;
	vertical-align: top;
}

.wntag::after {
	display: block;
	position: absolute;
	top: 4px;
	right: 16px;
	width: 60px;
	height: 19px;
	line-height: 20px;
	border-radius: 4px;
	color: #FFFFFF;
	font-size: 12px;
	text-align: center;
}

.table_normal .wntag::after {
	top: 0px;
}

.wntag.cat1::after {
	content: "更　新";
	background: #99D9FF;
}

.wntag.cat2::after {
	content: "お知らせ";
	background: #FFB399;
}

.wntag.cat3::after {
	content: "学術集会";
	background: #85B200;
}

.wntag.cat4::after {
	content: "学 会 誌";
	background: #CC99FF;
}

.wntag.cat5::after {
	content: "会　報";
	background: #FFD24D;
}

.wnhide {
	display: none;
}


/******************************************************************************/
/* .sidemenu - サイドメニュー */

#maincontent .sidemenu {
	float: right;
	width: 18.5%;
	max-width: 220px;
	margin: 0 auto;
}

#maincontent .sidemenu .menu {
	margin: 0 0 5px 0;
}

#maincontent .sidemenu .menu a,
#maincontent .sidemenu .menu a:visited,
#maincontent .sidemenu .menu a:hover {
	position: relative;
	display: block;
	width: 100%;
	max-width: 220px;
	line-height: 20px;
	margin: 0 0 1px 0;
	padding: 11px 5px 9px 35px;
	color: #FFFFFF;
	font-size: 16px;
	text-decoration: none;
}

#maincontent .sidemenu .menu a,
#maincontent .sidemenu .menu a:visited {
	background: #80CFFF;
}

#maincontent .sidemenu .menu a.s,
#maincontent .sidemenu .menu a:hover {
	background: #009FFF;
}

#maincontent .sidemenu .menu a::before {
	content: "";
	position: absolute;
	top: 17px;
	left: 15px;
	display: block;
	background: #FFFFFF;
	width: 6px;
	height: 6px;
	border-radius: 100%;
}

#maincontent .sidemenu .ban {
	max-width: 220px;
	height: auto;
	line-height: 100%;
	margin: 0 auto 5px auto;
}

#maincontent .sidemenu .ban img {
	width: 100%;
	max-width: 220px;
	height: auto;
}

#maincontent .sidemenu .poster {
	max-width: 180px;
	height: auto;
	line-height: 100%;
	margin: 0 auto 5px auto;
}

#maincontent .sidemenu .poster img {
	width: 100%;
	max-width: 180px;
	height: auto;
}



/******************************************************************************/
/* #mainvisual .mainpanel - メインパネル */

#mainvisual .mainpanel {
	width: 100%;
}

#mainvisual .mainpanel ul {
	display: flex;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	flex-wrap: wrap;
	justify-content: space-between;
}

#mainvisual .mainpanel ul li {
	position: relative;
	background: #FFFFFF;
	width: 24.5%;
	max-width: 280px;
	padding: 0.8% 0.8% 3.0% 0.8%;
	border: 1px solid #CBDED2;
}

#mainvisual .mainpanel ul li a {
	position: relative;
	display: block;
/*
	overflow: hidden;
*/
	text-decoration: none;
	transition: 0.2s linear;
}

#mainvisual .mainpanel ul li a img {
	width: 100%;
	height: auto;
	z-index: 0;
}

#mainvisual .mainpanel ul li a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
/*
	transform: scale(1.1);
*/
}

/*
#mainvisual .mainpanel ul li a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	background: rgba(91, 202, 133, 0.2);
	width: 100%;
	height: 100%;
	transition: 0.2s linear;
	z-index: 10;
}

#mainvisual .mainpanel ul li a:hover::before {
	background: rgba(30, 60, 41, 0.9);
}
*/

#mainvisual .mainpanel ul li a div {
	position: absolute;
	bottom: 0;
	left: 5%;
	display: block;
	width: 90%;
	line-height: 120%;
	margin: 0 0 -1.75em 0;
	color: #666666;
	font-size: clamp(14px, 1.3vw, 16px);
	text-align: center;
	transition: 0.2s linear;
	z-index: 20;
}

#mainvisual .mainpanel ul li a:hover div {
	color: #FF9966;
}


/******************************************************************************/
/* #maincontent .table_normal - 汎用テーブル（枠なし） */

#maincontent .table_normal {
	margin: 0 4% 1.5em 4%;
}

#maincontent .table_normal th,
#maincontent .table_normal td {
	line-height: 180%;
	padding: 0px 1.25em 0px 0px;
	vertical-align: top;
}

#maincontent .table_normal th {
	position: relative;
	padding: 0px 120px 0px 0px;
	font-weight: normal;
	vertical-align: top;
	white-space: nowrap;
}

#maincontent .table_normal.mb0 {
	margin-bottom: 0px !important;
}


/******************************************************************************/
/* #maincontent .table_border - 汎用テーブル（枠線あり） */

#maincontent .table_border {
	width: 92%;
	max-width: 960px;
	margin: 0 auto 1.5em auto;
}

#maincontent .table_border th,
#maincontent .table_border td {
	padding: 15px 20px;
	border: 1px solid #9CADB8;
	font-size: clamp(14px, 1.6vw, 16px);
}

#maincontent .table_border th {
	background: #47738D;
	width: 25%;
	font-weight: normal;
	letter-spacing: 0.1em;
	text-align: center;
	white-space: nowrap;
}

#maincontent .table_border td.h2 {
	background: #47738D;
	color: #FFFFFF;
	font-weight: bold;
}

#maincontent .table_border td.h3 {
	background: #D8EEFC;
}

#maincontent .table_border td.h {
	background: #F0F8FC;
}

#maincontent .table_border td.d {
	background: #F8FBFC;
}

#maincontent .table_border td.w15p {
	width: 15%;
}


/******************************************************************************/
/* #maincontent .table_form - 投稿フォーム */

#maincontent .table_form {
	width: 92%;
	max-width: 960px;
	margin: 0 auto 1.5em auto;
}

#maincontent .table_form th,
#maincontent .table_form td {
	line-height: 240%;
	padding: 20px;
	border: 1px solid #9CADB8;
	font-size: clamp(14px, 1.6vw, 16px);
	text-align: left;
	vertical-align: middle;
}

#maincontent .table_form th {
	background: #47738D;
	width: 25%;
	font-weight: normal;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

#maincontent .table_form td.h2 {
	background: #47738D;
	color: #FFFFFF;
	font-weight: bold;
}

#maincontent .table_form td.h3 {
	background: #D8EEFC;
}

#maincontent .table_form td.h {
	background: #F0F8FC;
	width: 25%;
	font-weight: bold;
}

#maincontent .table_form td.d {
	background: #F8FBFC;
}
#maincontent .table_form .w60p {
	width: 60%;
}

#maincontent .table_form .w70p {
	width: 70%;
}

#maincontent .table_form .w80p {
	width: 80%;
	max-width: 600px;
}

#maincontent .table_form .w90p {
	width: 90%;
	max-width: 600px;
}

#maincontent .table_form .w100p {
	width: 100%;
	max-width: 600px;
}

#maincontent .submit {
	display: block;
	background: #80CFFF;
	line-height: 100%;
	margin: 30px auto 30px auto;
	padding: 15px 2em;
	border: 0 none;
	border-radius: 4px;
	color: #FFFFFF;
	font-size: clamp(14px, 1.6vw, 16px);
	letter-spacing: 0.1em;
	transition: 0.2s linear;
}

#maincontent .submit:hover{
	background: #009FFF;
	cursor : pointer;
}

#maincontent .errmsg {
	color: #FF0000;
	font-weight: bold;
}

#maincontent .admin_input {
	width: 665px;
}

#maincontent .admin_textarea {
	width: 860px;
	height: 580px;
}

#maincontent .admin_mc_grp {
	width: 30px;
}

#maincontent .admin_mc_mid {
	width: 60px;
}

#maincontent .admin_mc_smid {
	width: 30px;
}

#maincontent .admin_mc_menu {
	width: 200px;
}

#maincontent .admin_mc_log {
	width: 200px;
}


/******************************************************************************/
/* #maincontent .box1 - 汎用囲み枠 */

#maincontent .box1 {
	background: #FFFFEA;
	width: 92%;
	margin: 0 auto 1.5em auto;
	padding: 1.5em 2% 1.5em 2%;
	border: 1px solid #BBBBBB;
}


/******************************************************************************/
/* #maincontent .box_symple - シンプル囲み枠 */

#maincontent .box_symple {
	background: #FFFFFF;
	width: 100%;
	max-width: 960px;
	margin: 20px auto;
	padding: 35px 2% 20px 2%;
	border-radius: 10px;
}


/******************************************************************************/
/* #leadcontent - 誘導枠 */

#leadcontent {
	position: relative;
	width: 100%;
	height: auto;
	padding: 0 0 50%;
	overflow: hidden;
	text-align: center;
}

#leadcontent .bg-video {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
	transform: translate(-50%, -50%);
	z-index: 0;
}

#leadcontent .color_adjustment_layer {
	position: absolute;
	display: flex;
	background: rgba(30, 60, 41, 0.5);
	width: 100%;
	height: 100%;
	align-items: center;
	color: #FFFFFF;
	flex-flow: column;
	justify-content: center;
	z-index: 10;
}

#leadcontent h3 {
	line-height: 220%;
	margin: 0 2.5% 0.7em 2.5%;
	color: #FFFFFF;
	font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN W3", "Yu Mincho", YuMincho, "游明朝", "MS PMincho", "ＭＳ Ｐ明朝", serif;
	font-size: clamp(18px, 3.3vw, 32px);
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;
}

#leadcontent p {
	line-height: 240%;
	margin: 1.5em auto 2em auto;
	font-size: clamp(14px, 1.6vw, 16px);
}


/******************************************************************************/
/* #loopcontent - ループ枠 */

#loopcontent {
	background: #F2F7F4;
	width: 100%;
	height: auto;
	padding: 30px 0 50px 0;
	overflow: hidden;
}

#loopcontent h4 {
	line-height: 160%;
	margin: 0 0 0.25em 0;
	padding: 0.5em;
	color: #009538;
	font-size: clamp(16px, 6vw, 24px);
	font-weight: bold;
	text-align: center;
}

#loopcontent .loop_wrapper {
	display: flex;
	width: 220%;
	height: auto;
}

#loopcontent .loop_wrapper ul {
	display: flex;
	width: 100%;
	height: auto;
	flex-wrap: wrap;
	justify-content: space-between;
}

#loopcontent .loop_wrapper ul li {
	width: 20%;
}

#loopcontent .loop_wrapper ul li a {
	position: relative;
	display: block;
	line-height: 100%;
}

#loopcontent .loop_wrapper ul li a img {
	display: block;
	width: 100%;
	margin-bottom: 5px;
}

@keyframes loop {
	0% {
		transform: translateX(100%);
	}
	100% {
		transform: translateX(-100%);
	}
}

@keyframes loop2 {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-200%);
	}
}

#loopcontent .loop_wrapper ul:first-child {
	animation: loop 50s -25s linear infinite;
}

#loopcontent .loop_wrapper ul:last-child {
	animation: loop2 50s linear infinite;
}

#loopcontent .loop_wrapper:hover ul {
	animation-play-state: paused;
}


/******************************************************************************/
/* #footer - フッタ */

#footer {
	clear: both;
	background: #80CFFF;
	width: 100%;
	text-align: center;
}

#footer .footer_menu ul {
	padding: 45px 0;
	font-size: 0;
}

#footer .footer_menu li {
	display: inline-block;
	height: 30px;
	line-height: 30px;
	padding: 0 2em;
	border-right: 1px dotted #FFFFFF;
	font-size: clamp(12px, 2.6vw, 15px);
	letter-spacing: 0.1em;
}

#footer .footer_menu li:first-child {
	border-left: 1px dotted #FFFFFF;
}

#footer .footer_menu ul li a {
	color: #FFFFFF;
	text-decoration: none;
}


#footer .footer_menu ul li a:hover {
	color: #003366;
}


#footer .footer_copy {
	background: #009FFF;
	width: 100%;
	line-height: 180%;
	padding: 20px 0 18px 0;
	color: #FFFFFF;
	font-size: clamp(10px, 2.6vw, 14px);
	letter-spacing: 0.05em;
}


/******************************************************************************/
/* .button_normal - 汎用ボタン */

.button_normal a {
	clear: both;
	display: block;
	background: #009538;
	width: 90%;
	max-width: 360px;
	line-height: 100%;
	margin: 1.5em auto;
	padding: 0.75em 1em 0.65em 1em;
	border-radius: 4px;
	color: #FFFFFF;
	font-size: clamp(14px, 1.6vw, 16px);
	font-weight: bold;
	letter-spacing: 0.1em;
	text-align: center;
	text-decoration: none;
}

.button_normal a i {
	padding-right: 0.65em;
}

.button_normal a:hover {
	background: #006A28;
}


/******************************************************************************/
/* .pagetop - PAGE TOP ボタン */

.pagetop {
	position: fixed;
	right: 10px;
	bottom: 10px;
	transition: transform 0.2s linear, right 0.2s ease-out, bottom 0.2s ease-out;
	z-index: 900;
}

.pagetop a {
	display: block;
	background: #80CFFF;
	width: 100px;
	height: 100px;
	line-height: 100px;
	border-radius: 100%;
	color: #FFFFFF;
	font-size: 14px;
	text-align: center;
	text-decoration: none;
}

.pagetop a:hover {
	background: #009FFF;
}


/******************************************************************************/
/* .inview - アニメーション効果 */

.inview-up {
	opacity: 0;
	filter: alpha(opacity=0);
	transform: translateY(20px);
}

.start-up {
	opacity: 1;
	filter: alpha(opacity=100);
	transform: translateY(0px);
	transition: 1.0s ease-out;
}

.inview-blur {
	opacity: 0;
	filter: alpha(opacity=0);
	filter: blur(30px);
	transform: scale(1.1);
}

.start-blur {
	opacity: 1;
	filter: alpha(opacity=100);
	filter: blur(0);
	transform: scale(1);
	transition: 1.0s ease-out;
}

.inview-scale {
	opacity: 0;
	filter: alpha(opacity=0);
	transform: scaleX(0);
}

.start-scale {
	opacity: 1;
	filter: alpha(opacity=100);
	transform: scaleX(1);
	transition: 1.0s ease-out;
}

.inview-trans {
	opacity: 0;
	filter: alpha(opacity=0);
	transform: perspective(400px) translateZ(-70px) rotateX(50deg);
}

.start-trans {
	opacity: 1;
	filter: alpha(opacity=100);
	transform: perspective(400px) translateZ(0px) rotateX(0deg);
	transition: 1.0s ease-out;
}

.delay02 {
	transition-delay: 0.2s;
}

.delay04 {
	transition-delay: 0.4s;
}

.delay06 {
	transition-delay: 0.6s;
}

.delay08 {
	transition-delay: 0.8s;
}

.delay10 {
	transition-delay: 1.0s;
}


/******************************************************************************/
/* .pager - ページ切り替え処理 */

.pager {
	margin: 30px auto;
	text-align: center;
}

.pager .page-btn {
	background: #EEEEEE;
	margin: 0 3px;
	padding: 5px 10px;
	border: 1px solid #999999;
	border-radius: 4px;
	color: #333333;
	cursor: pointer;
	font-size: clamp(14px, 1.6vw, 16px);
	font-weight: normal;
}

.pager .page-btn:hover {
	background: #006A28;
	color: #FFFFFF;
}

.pager .active {
	background: #009538;
	color: #FFFFFF;
	font-weight: bold;
}




/******************************************************************************/
@media screen and (min-width:960px) {
/******************************************************************************/


	/**************************************************************************/
	/* #header - ヘッダ */

	#header {
		height: 180px;
	}

	#header h1 a {
		top: 30px;
		left: 10px;
		height: 60px;
	}




	/**************************************************************************/
	/* #header.fixed - ヘッダ固定時 */


	#header.fixed {
		height: 80px;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
	}

	#header.fixed h1 a {
		top: 5px;
		max-width: 250px;
		height: 35px;
		filter: drop-shadow(0);
	}




	/******************************************************************************/
	/* #header.fixed .header_menu - ヘッダ固定時：ヘッダメニュー */

	#header.fixed .header_menu1 span,
	#header.fixed .header_menu2 span {
		display: none;
	}

	#header.fixed .header_menu1 a,
	#header.fixed .header_menu2 a {
		top: 5px;
		width: 40px;
		height: 30px;
		line-height: 29px;
	}

	#header.fixed .header_menu1 a {
		margin-right: 300px;
	}

	#header.fixed .header_menu2 a {
		margin-right: 250px;
	}

	#header.fixed .header_menu1 i,
	#header.fixed .header_menu2 i {
		margin: 0;
	}


	/******************************************************************************/
	/* #header.fixed .header_search - ヘッダ固定時：サイト内検索 */

	#header.fixed .header_search {
		top: 5px;
	}




	/**************************************************************************/
	/* #global_menu - グローバルメニュー */

	#global_menu ul.menu_base {
		position: absolute;
		bottom: 0;
		left: 0;
		display: flex;
		align-items: flex-end;
		background: #FFFFFF;
		width: 100%;
		max-width: 1200px;
		height: 60px;
		align-items: flex-end;
		border-radius: 10px;
		justify-content: center;
		box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.15);
		z-index: 1000;
	}

	#global_menu ul li {
		position: relative;
		flex: 1 1 auto;
	}

	#global_menu ul li::after {
		content: "";
		position: absolute;
		top: 10px;
		right: 0;
		width: 1px;
		height: 40px;
		border-right: 1px dotted #CCCCCC;
	}

	#global_menu ul li:last-child::after {
		border-right: 0 none;
	}

	#global_menu li a.main_menu,
	#global_menu li a.up_menu {
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		height: 60px;
		padding: 0 14px;
		color: #666666;
		font-size: 18px;
		font-weight: bold;
		text-align: center;
		text-decoration: none;
		white-space: nowrap;
	}

	#global_menu li a.up_menu::before,
	#global_menu li a.main_menu::before {
		display: none;
		position: absolute;
		bottom: 9px;
		left: 15%;
		background-color: #80CFFF;
		width: 70%;
		height: 2px;
		content: "";
		transition: 0.2s linear;
		-moz-transition: 0.2s linear;
		-webkit-transition: 0.2s linear;
	}

	#global_menu li a.s::before,
	#global_menu li a.s:hover::before,
	#global_menu li a.main_menu:hover::before {
		display: block;
		bottom: 9px;
		background-color: #80CFFF;
		height: 2px;
	}

	#global_menu ul li div:hover > a,
	#global_menu li a:hover,
	#global_menu ul li:hover > a {
		color: #FF9966;
	}

	#global_menu ul li div:hover > a.up_menu,
	#global_menu ul li:hover > a.up_menu,
	#global_menu li a.up_menu:hover {
		position: relative;
	}

	#global_menu ul li div a.up_menu::after,
	#global_menu li a.up_menu::after {
		display: none;
		position: absolute;
		bottom: 9px;
		left: 15%;
		background-color: #80CFFF;
		width: 70%;
		height: 2px;
		content: "";
		transition: 0.2s linear;
		-moz-transition: 0.2s linear;
		-webkit-transition: 0.2s linear;
	 	z-index: 100;
	}

	#global_menu ul li div:hover a.up_menu::after,
	#global_menu ul li:hover > a.up_menu::after,
	#global_menu li a.up_menu:hover::after {
		display: block;
	}

	#global_menu ul li .pos1::after,
	#global_menu ul li .pos2::after,
	#global_menu ul li .pos3::after,
	#global_menu ul li .pos4::after,
	#global_menu ul li .pos5::after,
	#global_menu ul li .pos6::after,
	#global_menu ul li .pos7::after,
	#global_menu ul li .pos8::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 50%;
		width: 0;
		height: 0;
		margin-left: -6px;
		border-top: 10px solid #80CFFF;
		border-right: 6px solid transparent;
		border-left: 6px solid transparent;
	}

	#global_menu .nav1 {
		letter-spacing: 0.2em;
		text-indent: 0.2em;
	}

	#global_menu .nav2 {
		letter-spacing: 0.1em;
		text-indent: 0.1em;
	}

	#global_menu .nav3 {
		letter-spacing: 0.1em;
		text-indent: 0.1em;
	}

	#global_menu .nav4 {
		letter-spacing: 0.4em;
		text-indent: 0.4em;
	}

	#global_menu .nav5 {
		letter-spacing: 0.8em;
		text-indent: 0.8em;
	}

	#global_menu .nav6 {
	}

	#global_menu .nav7 {
	}

	#global_menu ul li a.up_menu {
		cursor: pointer;
		overflow: hidden;
	}

	#global_menu .extra_menu {
		display: none;
	}


	/******************************************************************************/
	/* #global_menu - グローバルメニュー（サブメニュー） */

	#global_menu ul li div.sub_menu {
		position: absolute;
		top: 60px;
		left: 0;
		background: #80CFFF;
		width: max-content;
		min-width: 220px;
		padding: 0;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease;
		z-index: 2000;
		white-space: nowrap;
	}

	#global_menu ul li .pos2 div.sub_menu {
		left: 0;
	}

	#global_menu ul li .pos4 div.sub_menu {
		left: 0;
	}

	#global_menu ul li .pos5 div.sub_menu {
		left: 0;
	}

	#global_menu ul li .pos7 div.sub_menu {
		right: 0;
		left: auto;
	}

	#global_menu ul li ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	#global_menu li ul li a {
		display: block;
		position: relative;
		background: none;
		width: 220px;
		height: auto;
		line-height: 30px;
		margin: 0;
		padding: 10px 0 10px 40px;
		color: #FFFFFF;
		font-size: 16px;
		font-weight: normal;
		text-align: left;
		text-decoration: none;
		transition: 0s linear;
		white-space: nowrap;
	}

	#global_menu ul li ul li a.s {
		background: #009FFF;
		color: #FFFFFF;
	}

	#global_menu li ul li a:hover::before,
	#global_menu li ul li a.s:hover::before,
	#global_menu li ul li a.s::before,
	#global_menu li ul li a::before {
		content: "";
		position: absolute;
		top: 21px;
		left: 23px;
		display: block;
		background: #FFFFFF;
		width: 6px;
		height: 6px;
		border-radius: 100%;
	}

	#global_menu ul li ul li a:hover {
		background: #009FFF;
		color: #FFFFFF;
		transition: 0.2s linear;
	}

	#global_menu li li:not(:last-child) a::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 10%;
		display: block;
		width: 80%;
		height: 1px;
		border-bottom: 1px dotted #FFFFFF;
	}

	#global_menu ul li:hover div.sub_menu {
		opacity: 1;
		visibility: visible;
	}

	#global_menu div.sub_menu {
		display: block !important;
	}


	/**************************************************************************/
	/* #header.fixed #global_menu - ヘッダ固定時のグローバルメニュー */

	#header.fixed #global_menu ul.menu_base {
		box-shadow: none;
		height: 40px;
	}

	#header.fixed #global_menu ul li::after {
		top: 5px;
		height: 30px;
	}

	#header.fixed #global_menu li a.main_menu,
	#header.fixed #global_menu li a.up_menu {
/*
		background: url(../img/phone/globalmenu_border.png) no-repeat left 7px;
*/
		height: 40px;
		line-height: 37px;
		padding-bottom: 3px;
		font-size: 15px;
	}

	#header.fixed #global_menu li a.main_menu::before {
		height: 1px;
	}

	#header.fixed #global_menu li a.s::before,
	#header.fixed #global_menu li a.s:hover::before,
	#header.fixed #global_menu li a.main_menu:hover::before {
		height: 1px;
	}

	#header.fixed #global_menu li a.up_menu::after {
		height: 1px;
	}

	#header.fixed #global_menu ul li div.sub_menu {
		top: 40px;
	}

	#header.fixed #global_menu li ul li a:hover::before,
	#header.fixed #global_menu li ul li a.s:hover::before,
	#header.fixed #global_menu li ul li a.s::before,
	#header.fixed #global_menu li ul li a::before {
		width: 6px;
		height: 6px;
	}





	/**************************************************************************/
	/* #mainvisual - メインビジュアル */

	#mainvisual {
		min-height: 600px;
	}


	/**************************************************************************/
	/* .ham_menu - ハンバーガーメニュー */

	.ham_menu,
	.btn_close {
		display: none;
	}


}	/* end of 960px~ */




/******************************************************************************/
@media screen and (min-width:1200px) {
/******************************************************************************/


	/**************************************************************************/
	/* #header - ヘッダ */

	#header h1 a {
		left: 50%;
		margin-left: -590px;
	}


	/**************************************************************************/
	/* #header .header_menu - ヘッダメニュー */

	#header .header_menu1 a {
		right: 50%;
		margin-right: -385px;
	}

	#header .header_menu2 a {
		right: 50%;
		margin-right: -600px;
	}


	/**************************************************************************/
	/* #header .header_search - サイト内検索 */

	#header .header_search {
		right: 50%;
		margin-right: -600px;
	}


	/**************************************************************************/
	/* #global_menu - グローバルメニュー */

	#global_menu ul.menu_base {
		left: 50%;
		margin-left: -600px;
	}


	/**************************************************************************/
	/* #header.fixed .header_menu - ヘッダ固定時：ヘッダメニュー */

	#header.fixed .header_menu1 a {
		margin-right: -300px;
	}

	#header.fixed .header_menu2 a {
		margin-right: -350px;
	}



}	/* end of 1200px~ */



