@charset "Shift_JIS";

/* [-] Grid etc.
=========================================================================================== */
.GridSet.FullScreen {
	width: 100%;
}
.ContentsWidth {
	width: 965px;
	margin-left: auto;
	margin-right: auto;
}
#Contents {
	min-width: auto;
	overflow: hidden;
}
.Column1 {
	width: 25%;
	margin: 0 0 0 0;
}

/* [c2] Heading
=========================================================================================== */
h2.Special {
	padding-top: 25px;
	padding-bottom: 20px;
	text-align: center;
	background-image: none;
	min-height: 80px;
	font-weight: normal;
	font-size: 200%;
	color: #555555;
	box-sizing: border-box;
}


/* PageTopControler 
=========================================================================================== */
/*--- Page Top Button ---*/
@keyframes SlideUp {
	0% { transform:translate(68px,0px); }
	90% { transform:translate(-2px,0px); }
	100% { transform:translate(0px,0px); }
}
body #PageTopControler { display: none; }
#PageTopControler {
	position: fixed;
	right: 8px;
	bottom: 75px;
	display: block;
	z-index: 1000;
	animation: SlideUp ease-in 0.8s 1 normal;
}
#PageTopControler button {
	display: block;
	width: 68px;
	height: 68px;
	padding: 0;
	white-space: nowrap;
	text-indent: 9999px;
	overflow: hidden;
	outline: none;
	border-style: none;
	background-image: url("/image/hsw/newstyle/common/pagetop_button.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-color: transparent;
	cursor: pointer;
	-webkit-transition: 0.3s ease-in;
	-moz-transition: 0.3s ease-in;
	-o-transition: 0.3s ease-in;
	transition: 0.3s ease-in;
}
#PageTopControler button:hover,
#PageTopControler button:active,
#PageTopControler button:focus {
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	opacity: 0.8;
}



/* ブランディングエリア
=========================================================================================== */
.BrandingArea {
	padding: 30px 0;
}
@media screen and (max-width: 767px) {
	.BrandingArea { padding: 15px 0; }
}
.BrandingArea .Section {
	padding: 0;
}


/* SearchArea
=========================================================================================== */
.SearchArea .Section {
	padding: 0;
}
.SearchArea form {
	margin: auto;
	max-width: 515px;
}
.SearchArea form input#Keyword {
	float: left;
	display: block;
	width: 415px;
	height: 55px;
	padding-left: 20px;
	text-align: left;
	font-size: 110%;
	background-color: #fff;
	border: 2px solid #cccccc;
	border-right-style: none;
	border-top-left-radius: 30px;
	border-bottom-left-radius: 30px;
	box-sizing: border-box;
	-webkit-appearance: none;
}
.SearchArea form input#Keyword:focus {
	outline: none;
}
.SearchArea form input#SubmitBtn {
	float: left;
	display: block;
	width: 100px;
	height: 55px;
	padding: 3px 5px 0 60px;
	text-align: left;
	font-size: 110%;
	background-image: url("/image/hsw/renewal/top/icon_search.png");
	background-repeat: no-repeat;
	background-position: center;
	border: 2px solid #cccccc;
	border-left: none;
	background-color: #fff;

	border-top-right-radius: 30px;
	border-bottom-right-radius: 30px;
	box-sizing: border-box;
	cursor: pointer;
}
.SearchArea form input#SubmitBtn:hover,
.SearchArea form input#SubmitBtn:active {
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	opacity: 0.8;
}


/*Hi-PerBT
=========================================================================================== */
.Hi-PerBTLink {
	text-align: center;
	margin: 30px 0;
}
@media screen and (max-width: 767px) {
	.Hi-PerBTLink { display: none; }
}
.Hi-PerBTLink a {
	display: inline-block;
	width: 284px;
	height: 64px;
	background-image: url(/image/hsw/renewal/top/hi-perbt_series.png);
	}
.Hi-PerBTLink a:hover {
	background-image: url(/image/hsw/renewal/top/hi-perbt_series_on.png);
}

/* 重要なお知らせ
=========================================================================================== */
.NoticeContainer {
	background-color:#f7f7f7;
	padding: 30px 90px;
	margin-top:30px;
}
@media screen and (max-width: 767px) {
	.NoticeContainer {
		padding: 20px;
	}
}

/* TOPICS
=========================================================================================== */
.TopicsArea .Section {
	padding-bottom: 15px;
}
@media screen and (max-width: 767px) {
	.TopicsArea .Section .ColumnSet .Column2.FirstItem {
		padding-bottom: 15px;
	}
}

a.TopicsContainer {
	position:relative;
	display: block;
	border: solid 1px #000;
	padding: 20px 20px 50px 20px;
	text-decoration: none;
}
a.TopicsContainer:hover {
	background-color: #f0f0f0;
	box-shadow: 0px 0px 0px 5px #fff inset;
}
.TopicsContainer .TopicsCategory {
	background-color: #777;
	color: #fff;
	display: inline-block;
	font-size: 75%;
	padding: 0 10px;
	margin-bottom: 10px;
}
.TopicsContainer .TopicsTitle {
	color: #555;
	font-size: 110%;
	font-weight: bold;
	margin-bottom: 10px;
	display: block;
}
.TopicsContainer .TopicsDate {
	color: #474747;
	font-size: 90%;
	font-weight: bold;
}
.TopicsContainer .TopicsText {
	color: #333;
	font-size: 90%;
}
.TopicsContainer .TopicsLink {
	position: absolute;
	right:20px;
	bottom: 20px;
}
.TopicsContainer .TopicsLink span {
	text-align:left;
	width:80px;
	background: #fff url("/image/jp/r1/icon/icon_link_right.gif") no-repeat right;
	border: solid 1px #d42643;
	color: #d42643;
	display: inline-block;
	font-size: 75%;
	padding: 0 8px;
	margin-right: 0;
}
.TopicsContainer .TopicsLinkNewWin {
	position: absolute;
	right:20px;
	bottom: 20px;
}
.TopicsContainer .TopicsLinkNewWin span {
	text-align:left;
	width:80px;
	background: #fff url("/image/jp/r1/icon/icon_new_window.gif") no-repeat right;
	border: solid 1px #d42643;
	color: #d42643;
	display: inline-block;
	font-size: 75%;
	padding: 0 8px;
	margin-right: 0;
}

/* [c12] Button
=========================================================================================== */
.ButtonArea {
	margin: 5px auto 15px;
	text-align: center;
	letter-spacing: -1em;
	max-width:852px;
}
.ButtonArea .ButtonStyle1 {
	display: inline-block;
	width: 270px;
	margin: 0 7px;
	letter-spacing: normal;
	float:left;
}
.ButtonArea .ButtonStyle1 a {
	display: inline-block;
	width: 100%;
	height: 55px;
	font-size: 115%;
	line-height: 55px;
	color: #333333;
	background-image: none;
	background-color: #ffffff;
	border: 1px solid #bebebe;
	box-sizing: border-box;
	padding: 0;
}
.ButtonArea .ButtonStyle1.NewsButton a {
	border-color: #578c52;
	background: #bde4b9 url("/image/hsw/renewal/top/icon_link_g.png") no-repeat center right 15px;
}
.ButtonArea .ButtonStyle1.NoticeButton a {
	border-color: #547884;
	background: #acdded url("/image/hsw/renewal/top/icon_link_b.png") no-repeat center right 15px;
}
.ButtonArea .ButtonStyle1.EventButton a {
	border-color: #887b51;
	background: #f4e1a0 url("/image/hsw/renewal/top/icon_link_y.png") no-repeat center right 15px;
}
.ButtonArea .ButtonStyle1 a:hover,
.ButtonArea .ButtonStyle1 a:active {
	opacity: 0.8;
}
.ButtonArea .ButtonStyle1.LargeBtn a {
	height: 70px;
}


/* 新着情報
=========================================================================================== */
.InformationArea {
	margin: 20px 0 50px;
	padding-bottom: 15px;
	background-color: #f5f5f5;
}
.DateListStyle2.InformationList {
	margin-bottom: 35px;
	font-size: 100%;
	cursor: pointer;
}
.DateListStyle2.InformationList dt {
	margin-left: 1em;
	padding-top: 20px;
	font-size: 90%;
}
.DateListStyle2.InformationList dt span {
	display: inline-block;
	width: 9.4em;
	margin-right: 1.5em;
	padding: 0.2em 0.3em 0.15em;
	text-align: center;
	vertical-align: 5%;
	font-size: 90%;
	color: #353334;
}
.DateListStyle2.InformationList dt.notice span {
	background-color: #acddec;
}
.DateListStyle2.InformationList dt.news span {
	background-color: #bde4b8;
}
.DateListStyle2.InformationList dt.event span {
	background-color: #f4e19f;
}
.DateListStyle2.InformationList dd {
	min-height: 2.35em;
	margin-left: 0;
	padding: 20px 0 10px 18.5em;
	border-bottom: 1px solid #c8c8c8;
}
.DateListStyle2.InformationList dd:hover,
.DateListStyle2.InformationList dd:active,
.DateListStyle2.InformationList dt:hover + dd,
.DateListStyle2.InformationList dt:active + dd {
	background-color: #ffffff;
}
.DateListStyle2.InformationList .LinkListStyle1 {
	margin-top: -2px;
	margin-bottom: 7px;
}
@media screen and (max-width: 767px) {
	.DateListStyle2.InformationList dt {
		padding-top: 0;
		margin-top: 15px;
		font-size: 90%;
	}
	.DateListStyle2.InformationList dt span {
		font-size: 85%;
	}
	.DateListStyle2.InformationList dd {
		margin-top: -55px!important;
		padding-top: 45px!important;
		font-size: 90%;
		min-height: 1.5em;
		padding-bottom: 5px;
	}
}


/* バナーエリア
=========================================================================================== */
.BannerArea {
	margin-bottom: 25px;
}
.BannerList {
	margin-left: -16px;
}
.BannerList li {
	float: left;
	width: 311px;
	margin-left: 16px;
}
.BannerList li a:hover img,
.BannerList li a:active img {
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	opacity: 0.8;
}

/* お問い合わせボタン
=========================================================================================== */
#FloatBtnStopper {
	position: relative;
	height: 65px;
	-webkit-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
	transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
}
#FloatBtnStopper.static {
	height: 120px;
}
@media screen and (max-width: 767px) {
	#FloatBtnStopper {
		height: 120px; 
	}
}
#FloatBtnWrap {
	position: fixed;
	width: 100%;
	left: 0;
	bottom: 0;
	opacity: 0;
	z-index: 10;
	-webkit-transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
	transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
	transform: translateY(100%);
}
#FloatBtnWrap.narrow {
	-webkit-transition: all 0s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
	transition: all 0s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
}
#FloatBtnWrap.visible {
	opacity: 1;
	transform: translateY(0);
}
  #FloatBtnWrap.static {
	position: absolute;
	-webkit-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
	transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
}
#FloatBtnWrap.static .ContactArea .ContactBlock {
	background: #3C3C3C;
	height: 120px;
}
#FloatBtnWrap.static .ContactArea .ContactBlock .ContactButton a {
	height: 70px;
	line-height: 70px;
}
#FloatBtnWrap .ContactArea .ContactBlock .ContactButton {
	background-color: #3c3c3c;
	text-align:center;
}
#FloatBtnWrap .ContactArea .ContactBlock .ContactButton a {
	display: inline-block;
	background-color: #b1000e;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	width: 310px;
	height: 40px;
	line-height: 40px;
	margin: 0;
	font-size: 110%;
}
#FloatBtnWrap .ContactArea .ContactBlock .ContactButton a:hover {
	opacity: 0.8;
}
  #FloatBtnWrap .ContactArea .ContactBlock {
	display: flex;
	width: 100%;
	height: 65px;
	align-items: center;
	justify-content: center;
	background: rgba(60, 60, 60, 0.8);
	-webkit-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
	transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
}
#FloatBtnWrap .ContactArea .ContactBlock .ContactBtn {
	display: flex;
	width: 310px;
	height: 40px;
	color: #fff;
	font-size: 112.5%;
	font-weight: bold;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	margin: 0 20px;
	box-sizing: border-box;
	-webkit-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
	transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
}
#FloatBtnWrap .ContactArea .ContactBlock .ContactBtn:hover {
	opacity: 0.7;
}


/* for Responsive Web Design
=========================================================================================== */


/*--- for - 994px ---*/
@media screen and (max-width: 994px) {
	.JS .GridSet.FullScreen {
		width: auto;
		max-width: 995px;
		margin-right: -15px;
	}
	.JS .GridSet.FullScreen .Grid4 {
		padding-left: 0;
	}
	.JS .ContentsWidth {
		width: 100%;
		padding-left: 15px;
		padding-right: 15px;
		box-sizing: border-box;
	}
	.JS .InformationArea .ButtonArea .ButtonStyle1 {
		width: calc(33.33333333% - 14px);
		max-width: 270px;
	}
	.JS .BannerList li {
		width: calc(33.33333333% - 16px);
		max-width: 311px;
	}
}


/*--- for - 767px ---*/
@media screen and (max-width: 767px) {
	/* 繧ｫ繝ｩ繝隱ｿ謨ｴ */
	.JS .Grid4 .Column1.Column1Clear0,
	.JS .Grid4 .Column1.Column1Clear1,
	.JS .Grid4 .Column1.Column1Clear2,
	.JS .Grid4 .Column2.Column2Clear0,
	.JS .Grid4 .Column2.Column2Clear1,
	.JS .Grid4 .Column2.Column2Clear2 {
		float: left;
	}

	.JS .Grid4 .Column1.Column1Clear0,
	.JS .Grid4 .Column1.Column1Clear1,
	.JS .Grid4 .Column1.Column1Clear2 {
		width: 25%;
	}

	.JS .Grid4 .Column2.Column2Clear0,
	.JS .Grid4 .Column2.Column2Clear1,
	.JS .Grid4 .Column2.Column2Clear2 {
		width: 50%;
	}
	.JS .TopicsArea {
		margin-top: 0;
		margin-bottom: 30px;
		padding-bottom: 0;
	}
	.JS .DateListStyle2.InformationList {
		margin-bottom: 20px;
	}
	.JS .DateListStyle2.InformationList dt {
		float: none;
		height: 40px;
	}
	.JS .DateListStyle2.InformationList dd {
		margin-top: -50px;
		padding-top: 45px;
		padding-left: 1em;
		padding-right: 15px;
	}
	.JS .InformationArea .ButtonArea .ButtonStyle1 a {
		margin-bottom: 5px;
		padding-left: 5px;
		padding-right: 5px;
		font-size: 90%;
	}
	.JS .BannerArea {
		margin-bottom: 5px;
	}
	.JS .BannerList li {
		width: calc(50% - 16px);
	}
}


/*--- for - 579px ---*/
@media screen and (max-width: 579px) {
	/* 繧ｫ繝ｩ繝隱ｿ謨ｴ */
	.JS .Grid4 .Column1.Column1Clear2,
	.JS .Grid4 .Column2.Column2Clear2 {
		float: none;
		width: auto;
	}
	/*.JS #PageTopControler {
		bottom: 80px;
	}*/
	.JS .SearchArea {
		padding-bottom: 20px;
	}
	.JS .SearchArea form label {
		display: none;
	}
	.JS .SearchArea form input#Keyword {
		width: calc(100% - 100px);
		padding-left: 20px;
		border-left-style: solid;
		border-top-left-radius: 30px;
		border-bottom-left-radius: 30px;
	}
	.JS .InformationArea .ButtonArea {
		margin: 5px -5px 10px;
		text-align: left;
	}
	.JS .InformationArea .ButtonArea .ButtonStyle1 {
		width: calc(50% - 10px);
		margin: 0 5px 5px;
	}
	.JS h2.Special {
		margin-left: 0;
		margin-right: 0;
	}
	.JS h2.Special span {
		min-height: 60px;
		padding-left: 75px;
		font-size: 160%;
		background-size: 60px 60px;
	}
}


/*--- for - 399px ---*/
@media screen and (max-width: 399px) {
	/* 繧ｫ繝ｩ繝隱ｿ謨ｴ */
	.JS .Grid4 .Column1.Column1Clear1,
	.JS .Grid4 .Column2.Column2Clear1 {
		float: none;
		width: auto;
	}
	.JS .SearchArea form input#Keyword {
		width: calc(100% - 100px);
	}
	.JS .SearchArea form input#SubmitBtn {
		width: 100px;
		padding-left: 40px;
		background-position: 15px center;
	}
	.JS .InformationArea .ButtonArea {
		margin: 0 0 20px;
		text-align: center;
	}
	.JS .InformationArea .ButtonArea .ButtonStyle1 {
		display: block;
		width: 100%;
		margin: 0 auto 10px;
		margin-left: auto;
		margin-right: auto;
		float:none;
	}
	.JS .BannerList {
		margin-left: 0;
	}
	.JS .BannerList li {
		float: none;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}


/* 汎用クラス
=========================================================================================== */
.mb0 { margin-bottom: 0 !important; }
.mb5 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb90 { margin-bottom: 90px !important; }
.mb100 { margin-bottom: 100px !important; }

.mt0 { margin-top: 0 !important; }
.mt5 { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }
.mt60 { margin-top: 60px !important; }
.mt70 { margin-top: 70px !important; }
.mt80 { margin-top: 80px !important; }
.mt90 { margin-top: 90px !important; }
.mt100 { margin-top: 100px !important; }

.nwp { white-space: nowrap; }

.ShowSD, .ShowSD2 { display: none; }
br.ShowSD, br.ShowSD2 { display: none; }
br.HideSD { display: block; }

@media screen and (max-width: 579px) {
	br.HideSD { display: none; }
	.JS .ShowSD2 { display: block; }
	.JS br.ShowSD2 { display: inline; }
}
@media screen and (max-width: 399px) {
	.JS .ShowSD { display: block; }
	.JS br.ShowSD { display: inline; }
}
.Hidden {
	visibility: hidden;
}
.None {
	display: none;
}

/*色文字*/
.RedText { color: #c00000; }
.InlineBlock {
	display: inline-block;
	max-width: 100%;
}/*横並びボックスや脚注付きの画像などに使用*/

.OverflowAdjust {
	overflow: hidden;
}/*画像回り込みで、テキスト部分が画像の下に回り込まないように設定*/


/*主にテーブルの幅用*/
.MinW1em { min-width: 1em; }
.MinW1Point5em { min-width: 1.5em; }
.MinW2em { min-width: 2em; }
.MinW2Point5em { min-width: 2.5em; }
.MinW3em { min-width: 3em; }
.MinW3Point5em { min-width: 3.5em; }
.MinW4em { min-width: 4em; }
.MinW4Point5em { min-width: 4.5em; }
.MinW5em { min-width: 5em; }
.MinW5Point5em { min-width: 5.5em; }
.MinW6em { min-width: 6em; }
.MinW6Point5em { min-width: 6.5em; }
.MinW7em { min-width: 7em; }
.MinW7Point5em { min-width: 7.5em; }
.MinW8em { min-width: 8em; }
.MinW8Point5em { min-width: 8.5em; }
.MinW9em { min-width: 9em; }
.MinW9Point5em { min-width: 9.5em; }
.MinW10em { min-width: 10em; }

/*リンクボタン*/
a.MouseOver:hover,
a.MouseOver:active {
	opacity: 0.7;
}
		