@charset "utf-8";

/* ---------------------------------------------------------------------------------------- 

	全体のレイアウト
			・各ブロック
			・パンくずナビ
			・ページトップ
			・address
	
	#main部分のレイアウト
	
		・トピックス一覧        [ MODULE:topics-topics_list ]
		・トピックス記事本文    [ MODULE:topics-topics_article ]	
		・サイト内検索          [ MODULE:search ]	
		・フォーム              [ MODULE:mailform-form ]
		・フォーム確認          [ MODULE:mailform-confirm ]
		・フォーム完了          [ MODULE:mailform-complate ]
		・アルバム              [ MODULE:album_index ]
		・イベントトップ（月）  [ MODULE:event-event_top ]
		・イベント日            [ MODULE:event-event_date ]
		・イベント記事          [ MODULE:event-event_article ]	
		・サイトマップ          [ MODULE:sitemap ]	

---------------------------------------------------------------------------------------- */

* {
	box-sizing: border-box;
}

#wrapper {
	margin-bottom: 15px;
	border-top: 3px solid #ffcd20;
	background: #fff;
}

.wrapper {
	max-width: 1045px;
	margin: 0 auto;
	padding: 0 20px;
}


/* HEADER-UPPER
-------------------------------------------------------------------- */
#header {
	margin-top: -3px;
	padding-top: 15px;
	
	background: url(../images/common/bg_header.gif) no-repeat center top;
}

#upper {
	*overflow: visible; /* IE 7向け */
}


/* topicpath */
#topicpath {
	line-height: 1;
	margin-bottom: 20px;
	font-size: 85.7%;
	text-align: right;
	background: #efefef;
}

#topicpath .wrapper {
	padding-top: 5px;
	padding-bottom: 5px;
	background: url(../images/common/bg_topicpath.gif) no-repeat center top;
}

#topicpath ul {
	margin: 0;
}

#topicpath ul li {
	display: inline;
	padding: 0 0 0 15px;
	background: url(../images/common/topicpath_arrow.gif) no-repeat 5px center;
}

#topicpath ul li#topicpathFirst {
	background: none;
}


/* MAIN-BOTTOM-SIDE-RIGHT
-------------------------------------------------------------------- */
#container {
	max-width: 1045px;
	margin: 0 auto;
	padding: 0 20px;
}

.topTemp #container {
	margin-top: 15px;
}

#contents {
	float: right;
	width: 76.119403%; /* 765 / 1005 */
}

.topTemp #contents {
	float: none;
	width: auto;
}

#main {
}

#bottom {
}

#side {
	float: left;
	width: 22.38806%; /* 225 / 1005 */
}

.topTemp #side {
	float: left;
	width: 665px;
}

.topTemp #right {
	float: right;
	width: 325px;
}

@media screen and (max-width: 768px) {

	#contents {
		float: none;
		width: 100%;
	}

	#side {
		float: none;
		width: 100%;
	}
	
}


/* OPT
-------------------------------------------------------------------- */
#opt {
}

#opt1 {
	float: left;
	width: 57.51634%; /* 440 / 765 */
}

#opt2 {
	float: right;
	width: 41.176471%; /* 315 / 765 */
}

@media screen and (max-width: 768px) {
	
	#opt1 {
		float: none;
		width: 100%;
	}

	#opt2 {
		float: none;
		width: 100%;
	}
	
}


/* pageTop */
.pageTop {
	text-align: right;
}

.pageTop a {
	display: block;
	float: right;
	width: 147px;
	height: 0;
	line-height: 25px;
	overflow: hidden;
	padding-top: 25px;
	background: url(../images/common/btn_pagetop.gif) no-repeat center center;
}

.pageTop a:hover {
}


/* FOOTER
-------------------------------------------------------------------- */
#footer {
	max-width: 1005px;
	margin: 0 auto;
}

/* address */
address {
	padding:10px 0;
	border-top: 1px dotted #fff;
	color: #fff;
	font-size: 71.4%;
	text-align: right;
	background: #c70b22;
}


/* ---------------------------------------------------------------------------------------- 

	トピックス一覧 [ MODULE:topics-topics_list ]	

---------------------------------------------------------------------------------------- */

.topicsListBox {
	margin: 0 0 15px;
	padding: 0 10px 5px;
	border-bottom: 1px solid #e7e7e7;
}

#contents .topicDigestImgOn .topicDigestText {
	float: left;
	width: calc( 100% - 115px );
}

#contents .topicDigestText:after,
#contents .topicsListBox:after {
    display: block; 
    clear: both; 
    height: 0 !important;
    visibility: hidden;
    content: "."; 
    font-size: 0.1em;
}

#contents .topicDigestText,
#contents .topicsListBox {
	display: inline-block;
}

/*\*/
* html #contents .topicDigestText, * html #contents .topicsListBox { height: 1%;}
#contents .topicDigestText, #contents .topicsListBox { display: block;}
/**/

#contents .topicDigestText p.topicDate {
	float: left;
	width: 100px;
	line-height: 1.75;
	color: #616161;
	font-size: 85.7%;
}

#contents .topicDigestText h2 {
	float: right;
	width: calc( 100% - 120px );
	margin: 0;
	padding: 0 0 10px 17px;
	border: none;
	color: #c80f20;
	font-weight: bold;
	font-size: 100%;
	background: url(../images/common/arrow.gif) no-repeat 0 3px;
}

#contents .topicDigestText p:not(.topicDate) {
	float: right;
	width: calc( 100% - 120px );
	color: #616161;
	font-size: 71.4%;
}

#contents .topicDigestImgOn .topicDigestText h2,
#contents .topicDigestImgOn .topicDigestText p:not(.topicDate) {
	width: calc( 100% - 120px );
}

#contents .topicDigestImgOn .topicDigestPhoto {
	float:right;
	width: 100px;
	margin-bottom: 10px;
}

.topicDigestImgOn .topicDigestPhoto img {
	width: 100px;
}

.pageLink { margin: 0 0 30px; text-align: center;}

.pageLink ul li {
	display: inline-block;
	padding: 0 15px 15px;
	background: none;
}

.pageLink img {
	vertical-align: top;
}

.pageLink ul li.prevBu { background: url(../images/common/pagelink_li.gif) no-repeat right center;}
.pageLink ul li.nextBu { background: url(../images/common/pagelink_li.gif) no-repeat left center;}
.pageLink ul li a { color: #000;}

@media screen and (max-width: 768px) {
	
	#contents .topicDigestText p.topicDate {
		float: none;
		width: 100%;
		margin-bottom: 8px;
	}
	
	#contents .topicDigestText h2,
	#contents .topicDigestText p,
	#contents .topicDigestImgOn .topicDigestText h2,
	#contents .topicDigestImgOn .topicDigestText h2 + p {
		width: 100%;
	}
	
}


/* ---------------------------------------------------------------------------------------- 

	トピックス記事本文 [ MODULE:topics-topics_article ]	

---------------------------------------------------------------------------------------- */

.topicsArticle p.topicDate {
	margin: 20px 0 8px;
	color: #616161;
}

.topicsArticlePhoto,
.topicsArticleBody {
	margin: 0 0 15px;
}

.topicsArticlePhoto img {
	max-width: 100%;
	height: auto;
}


/* ---------------------------------------------------------------------------------------- 

	サイト内検索 [ MODULE:search ]	

---------------------------------------------------------------------------------------- */

.searchResults {
	margin-top: 40px;
	text-align: center;
}

.searchBoxList {
	margin: 0 0 30px;
}

.searchBoxList .topicDate {
	overflow: hidden;
	height: 1px;
	width: 1px;
	clip: rect(1px, 1px, 1px, 1px);
	margin: 0;
	padding: 0;
}

.pageMore { margin: 0 0 15px; text-align: right;}



/* ---------------------------------------------------------------------------------------- 

	フォーム [ MODULE:mailform-form ]	

---------------------------------------------------------------------------------------- */

form table th strong { color: #ff0000;}

.mailform-table th {
	width: 180px;
}

input[type="text"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="time"],
input[type="date"],
input[type="password"],
.inputText,
textarea,
select {
        padding: 5px;
	border: 1px solid #d8d8d8;
}

.infoMessage {
	margin-top: 5px;
	font-size: 85.7%;
}

.errorMessage {
	 color: #ff0000;
}

.pageLink .clearfix {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin: 0 -10px;
}

.pageLink .clearfix:after {
	display: none;
}

.formConfiBu {
	height: 40px;
	width: 177px;
	padding: 40px 0 0 0;
	border: none;
	background: url(../images/common/btn_conf.gif) no-repeat 0 0;
	cursor: pointer;
}

.formSendBu {
	height: 40px;
	width: 177px;
	padding: 40px 0 0 0;
	border: none;
	background: url(../images/common/btn_send.gif) no-repeat 0 0;
	cursor: pointer;
}

#mailform_form .pageLinkBox li {
	margin: 0 10px 10px;
	padding: 0;
}

#mailform_form .pageLinkBox li a {
	display: block;
	width: 177px;
	height: 0 !important;
	height /**/: 40px;
	overflow: hidden;
	margin: 0;
	padding: 40px 0 0 0;
	background: url(../images/common/btn_back.gif) no-repeat 0 0;
}

@media screen and (max-width: 768px) {
	
	.mailform-table th,
	.mailform-table td {
		display: block;
		width: 100%;
	}
	
	.mailform-table td {
		border-top: none;
	}
	
	.mailform-table tr:not(:last-child) td {
		border-bottom: none;
	}
	
	.ant2api-city {
		width: 100%;
	}
	
}


/* ---------------------------------------------------------------------------------------- 

	フォーム確認 [ MODULE:mailform-confirm ]	

---------------------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------------------- 

	フォーム完了 [ MODULE:mailform-complate ]	

---------------------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------------------- 

	アルバム [ MODULE:album_index ]	

---------------------------------------------------------------------------------------- */

#type2column02 div.albumList .albumListBox .albumText {
    width: calc( 100% - 215px );
}

.albumList .albumListBox .albumPhoto img {
	width: 100%;
}

@media screen and (max-width: 768px) {
	
	div.albumList div.albumListBox .albumPhoto {
    	width: 150px !important;
	}

	#type2column02 div.albumList .albumListBox .albumText {
    	width: calc( 100% - 165px );
	}
	
}


#frame #navigation {
	height: 140px !important;
}

#sliderparent {
	width: 375px;
	margin: 10px auto 20px;
	padding: 3px 0;
	background: #e6e6e6 !important;
}

#sl0base {
	width: 345px !important;
	height: 13px !important;
	margin: 0 auto !important;
	border-radius: 8px !important;
	box-shadow:rgba(122, 122, 122, 0.35) 0px 0px 3px 3px inset !important;
	background: #e6e6e6 !important;
}

#sl0slider {
	width: 59px !important;
	height: 13px !important;
	border-radius: 8px;
	background: #bc0b21 !important;
	background: linear-gradient(to bottom,  #bc0b21 0%,#bc0b21 50%,#dd3443 50%,#dd3443 99%) !important;
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bc0b21', endColorstr='#dd3443',GradientType=0 ) !important;
}

.albumList #thumbs ul.thumbs {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -6px;
}

.albumList #thumbs ul.thumbs li {
	width: 10%;
	margin: 0;
	padding: 6px;
}

.albumList #thumbs ul.thumbs li a.thumb {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 60px;
	object-fit: cover;
	border: none !important;
}

.albumList #thumbs ul.thumbs li img {
	width: 100%;
	max-width: 100%;
	height: auto;
}

@media screen and (max-width: 768px) {
	
	.albumList #thumbs ul.thumbs li {
		width: 20%;
	}
	
}


div.pagination span.current {
	margin-right: 10px !important;
	border: none !important;
	
	background: #d82b3b !important;
}

div.pagination a,
div.pagination span.ellipsis {
	margin-right: 10px !important;
	border: none !important;
	color: #000 !important;
	background: #dfdfdf !important;
}

div.albumList .albumListBox .albumPhoto {
	width: 200px !important;
}


/* ---------------------------------------------------------------------------------------- 

	イベントトップ（月） [ MODULE:event-event_top ]	

---------------------------------------------------------------------------------------- */

.eventCalendar table th,
.eventCalendar table td {
	border-width: 1px;
	border-left: none;
}

.eventCalendar table th {
	border-right: none;
	color: #fff;
	font-weight: normal;
	background: #da2e3e;
}

.eventCalendar table th a{
	color: #fff;
}

.eventCalendar table tr.week-label th,
.eventCalendar table tr.week-label td {
	border-right: none;
	color: #fff;
	background: #f095a0;
}

.eventCalendar table tbody td {
	font-size: 85.7%;
	background: #dedede;
}

.eventCalendar table tr td.sat,
.eventCalendar table tr td:nth-last-of-type(1) {
	border-right: none;
}

.eventCalendar table tbody td a {
	color: #000;
}

table.eventList th,
table.eventList td {
	border: 2px solid #fff;
	font-size: 100%;
}

table.eventList th.data,
table.eventList th.week {
	font-size: 87.5%;
	background: #f095a0;
}

table.eventList td li.iconList {
	overflow: hidden;
}

table.eventList td img.calenderIcon {
	float: left;
	display: block;
	max-width: 100%;
	width: 30%;
	height: auto !important;
	margin: 0;
}

table.eventList td img + a {
	box-sizing: border-box;
	float: left;
	display: block;
	width: 70%;
	padding-left: 8px;
}


.eventCalendar table.calendarTable .dummy {
	color: #999 !important;
}



/* ---------------------------------------------------------------------------------------- 

	イベント日 [ MODULE:event-event_date ]	

---------------------------------------------------------------------------------------- */

.eventDetail th,
.eventDetail td {
	display: block;
	width: 100%;
}

.eventDetail td {
	border-top: none;
}

.eventDetail th a {
	color: #000;
}

.calenderIcon {
	width: 100%;
	max-width: 100%;
	height: auto;
	margin-bottom: 12px;
}


/* ---------------------------------------------------------------------------------------- 

	イベント記事 [ MODULE:event-event_article ]	

---------------------------------------------------------------------------------------- */

.eventArticle p.eventDate {
	margin: 20px 0 8px !important;
	color: #616161;
}


/* ---------------------------------------------------------------------------------------- 

	サイトマップ [ MODULE:sitemap ]	

---------------------------------------------------------------------------------------- */

#tree ul.level-0 {
	margin-left: 0;
}



/* ---------------------------------------------------------------------------------------- 

	会員管理

---------------------------------------------------------------------------------------- */
.text_display_switch_frame .text_display_switch_btn {
  font-size: .875rem;
}
.memberLoginBox_login .submitBtn input[type="button"],
.memberFormButtons .submitBtn input[type="submit"],
.memberFormButtons .returnBtn input[type="button"],
.memberFormButtons .returnBtn input[type="button"],
.memberRemindBox_form .submitBtn input[type="submit"],
.memberFormButtons .cancelBtn input[type="button"],
.memberRegistBox_regist .submitBtn input[type="submit"],
.memberEditBox_confirm .memberFormButtons .submitBtn input[type="submit"],
.memberTwoCertBox_reset .memberFormButtons input[type="submit"],
.memberMypageMenu .pageLinkBox a,
.memberLoginFormMenu .pageLinkBox a,
[class*="membersLoginGetForm"] .pageLink li input[type="button"] {
  border: none;
  display: inline-block;
  height: 40px;
  overflow: hidden;
  margin: 0 0 0 auto;
  padding: 40px 0 0 0;
  width: 177px;
}
.memberLoginBox_login .submitBtn input[type="button"],
.membersLoginGetForm_login .submitBtn input[type="button"] {
  background: url(../images/ec/btn_login.gif) no-repeat 0 0;
}
.memberFormButtons .returnBtn input[type="button"] {
  background: url(../images/common/btn_back.gif) no-repeat 0 0;
}
.memberRemindBox_form .submitBtn input[type="submit"] {
  background: url(../images/common/btn_send.gif) no-repeat 0 0;
}
.memberFormButtons .cancelBtn input[type="button"] {
  background: url(../images/ec/btn_back.gif) no-repeat 0 0;
}
.memberRegistBox_regist .memberFormButtons .cancelBtn input[type="button"] {
  background: url(../images/ec/btn_agree_no.gif) no-repeat 0 0;
}
.memberRegistBox_regist .memberFormButtons .submitBtn input[type="submit"] {
  background: url(../images/ec/btn_agree_yes.gif) no-repeat 0 0;
}
.memberEditBox_confirm .memberFormButtons .submitBtn input[type="submit"] {
  background: url(../images/ec/btn_regist.gif) no-repeat 0 0;
}
.memberUpdateBox .memberFormButtons .submitBtn input[type="submit"] {
  background: url(../images/common/btn_conf.gif) no-repeat 0 0;
}
.memberTwoCertBox_reset .memberFormButtons input[type="submit"] {
  background: url(../images/common/btn_rescission.gif) no-repeat 0 0;
}
.memberQuitBox_confirm .memberFormButtons .submitBtn input[type="submit"] {
  background: url(../images/common/btn_withdrawal.gif) no-repeat 0 0;
}
.memberMypageMenu .pageLinkBox a,
.memberLoginFormMenu .pageLinkBox a {
  background: url(../images/ec/btn_logout.gif) no-repeat 0 0;
}
[class*="membersLoginGetForm"] .pageLink {
  margin-top: 15px;
}

.memberRuleBox {
  margin-bottom: 30px;
}
.memberMypageBox h2 {
  margin-top: 30px;
}
.memberInformationListDate {
  line-height: 1.75;
  color: #616161;
  font-size: 85.7%;
}
.memberInformationListTitle {
  padding: 0 0 10px 17px;
  font-weight: bold;
  background: url(../images/common/arrow.gif) no-repeat 0 3px;
}
.memberInformationBox .pageLink ul.memberFormButtons {
  justify-content: flex-start;
  margin: 0;
}
.memberInformationBox .memberFormButtons .returnBtn input[type="button"] {
  height: 18px;
  width: 52px;
  margin-top: 10px;
  padding: 18px 0 0 0;
  background: url(../images/common/btn_prev.gif) no-repeat 0 0;
}
.text_display_switch_frame input[type="password"] {
  margin-top: 2px;
  margin-bottom: 2px;
}
.memberEditBox_form td a:hover {
  text-decoration: none;
}

#side [class*="membersLoginGetForm"] input[type="password"],
#right [class*="membersLoginGetForm"] input[type="password"],
#opt [class*="membersLoginGetForm"] input[type="password"] {
  max-width: none;
}
#side [class*="membersLoginGetForm"] .sideBoxBottom {
  padding-left: 5px !important;
  padding-right: 5px !important;
}
#side [class*="membersLoginGetForm"] .sideBoxBottom h3 {
  margin-left: -5px;
  margin-right: -5px;
}

/* スマホ以外 */
  #upper .membersLoginGetForm_login dl,
  #bottom .membersLoginGetForm_login dl {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr repeat(2, auto);
    grid-column-gap: 30px;
  }
  #upper .membersLoginGetForm_login dt:first-child,
  #bottom .membersLoginGetForm_login dt:first-child {
    grid-area: 1 / 1 / 2 / 2;
    margin-bottom: 5px;
  }
  #upper .membersLoginGetForm_login dt:first-child + dd,
  #bottom .membersLoginGetForm_login dt:first-child + dd {
    grid-area: 2 / 1 / 3 / 2;
  }
  #upper .membersLoginGetForm_login dd + dt:not(.wrp_twocert),
  #bottom .membersLoginGetForm_login dd + dt:not(.wrp_twocert) {
    grid-area: 1 / 2 / 2 / 3;
    margin-top: 0;
    margin-bottom: 5px;
  }
  #upper .membersLoginGetForm_login dt:nth-child(3) + dd,
  #bottom .membersLoginGetForm_login dt:nth-child(3) + dd {
    grid-area: 2 / 2 / 3 / 3;
  }
  #upper .membersLoginGetForm_login dt.wrp_twocert,
  #bottom .membersLoginGetForm_login dt.wrp_twocert {
    grid-area: 3 / 1 / 4 / 3;
    margin-top: 15px;
    margin-bottom: 5px;
  }
  #upper .membersLoginGetForm_login dd.wrp_twocert,
  #bottom .membersLoginGetForm_login dd.wrp_twocert {
    grid-area: 4 / 1 / 5 / 3;
  }
}