@charset "utf-8"; /* 〠 */

/*----------------------------------------------*/
/* common CSS [PC]
/*----------------------------------------------*/

/*######## CSS custom property ########*/

:root {
	/*---- 色定義 ----*/
	--common-color-maintext: #333333;  /* メインテキスト */
	--common-color-red:      #FF0000;
	--common-color-paleblue: #EAF2FF;
	--common-color-skyblue:  #577ED9;
	--common-color-darkblue: #264280;
	--common-color-orange:   #F4853E;
	
	
	/*---- コンテンツ幅定義 ----*/
	--common-width-contentsbody: 1000px;
	
	
	/*---- フォント幅定義 ----*/
	--common-font-mincho: 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', '游明朝', YuMincho, 'HG明朝E', 'メイリオ', Meiryo, serif;
	
	
	/*---- お知らせカテゴリー色定義 ----*/
	--common-color-news-cate-insurance: #5F9FCD;
	--common-color-news-cate-activity:  #5D8773;
	--common-color-news-cate-volunteer: #DD6C66;
	--common-color-news-cate-general:   #A37EC1;
	--common-color-news-cate-member:    #577ED9;
	
	
	/*---- 会員お知らせカテゴリー色定義 ----*/
	--common-color-mbnews-cate-news:     #C5E5D6;
	--common-color-mbnews-cate-seminar:  #F0CECC;
	--common-color-mbnews-cate-transfer: #CEF4F4;
}


/*######## General ########*/

/*---- hover img ----*/
a:hover img {
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}

/*---- PC & SP only ----*/
.pconly {
}

.sponly {
	display: none  !important;
}


/*######## Background & Wrapper ########*/

body, table, input, textarea, h1, h2, h3, h4, h5, h6 {
x	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-family: "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	
	-webkit-font-smoothing: antialiased; /* for webkit アンチエイリアス */
	-webkit-text-size-adjust: 100%;
	
	color: #333333;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: normal;
	font-weight: 500;
	
	line-height: 1.8;
}

body {
	background-color: #FFFFFF;
}

#wrapper {
	width: 100%;
	background-color: #FFFFFF;
}


/*######## Common ########*/

/*---- font ----*/
.fred {
	color: #D13A1D;
}

.fbold {
	font-weight: bold;
}

/*---- Common pager ----*/
.common-pager .pagerbox {
	overflow: hidden;  /* preventing height 0 when float */
	margin-top: 10px;
	padding-top: 10px;
	border-top: 2px solid #999999;
}

.common-pager .pager-text {
	float: left;
	width: 80px;
}

.common-pager .pager-text-total {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
}

.common-pager .pager-link {
	overflow: hidden;  /* preventing height 0 when float */
	float: right;
}

.common-pager .pager-link li {
	float: left;
	border: 1px solid #D2D2D2;
	width:       25px;
	height:      25px;
	line-height: 25px;
	margin-left: 5px;
	margin-bottom: 10px;
	text-align: center;
	font-size: 13px;
	font-size: 1.3rem;
	
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}

.common-pager .pager-link li a {
	display: block;
	height:      25px;
	line-height: 25px;
	color: #000000;
	text-decoration: none;
}

.common-pager .pager-link li a:hover {
	text-decoration: underline;
}

.common-pager .pager-link li.dot {
}

.common-pager .pager-link li.wide {
	width: 50px;
}

.common-pager .pager-link li.wide a {
	width: 50px;
}

.common-pager .pager-link li.cur {
	background-color: var(--common-color-darkblue);
	border: 1px solid var(--common-color-darkblue);
}

.common-pager .pager-link li.cur a {
	color: #FFFFFF;
}

.common-pager-noline .pagerbox {
	margin-top: 0px;
	padding-top: 0px;
	border-top: none;
}

/*---- Common ol ul ----*/
.common-ol-bracket {
	counter-reset: cnt;
	list-style-type: none;
	margin-top: 5px;
	padding: 0px;
}

.common-ol-bracket > li {
	counter-increment: cnt;
	margin-bottom: 5px;
	padding-left: 20px;
	text-indent: -20px;
x	background-color: #00FF00;
}

.common-ol-bracket > li:before {
	content: "("counter(cnt) ") ";
}

.common-ol-decimal {
	counter-reset: cnt;
	list-style-type: none;
	margin-top: 5px;
	padding: 0px;
}

.common-ol-decimal-start2 {
	counter-reset: cnt 1;
}

.common-ol-decimal li {
	counter-increment: cnt;
	margin-bottom: 5px;
	padding-left: 20px;
	text-indent: -20px;
}

.common-ol-decimal > li:before {
	content: counter(cnt);
	margin-right: 10px;
}

.common-ul-decimal {
	margin: 0px;
	padding: 0px;
}

.common-ul-decimal li {
	margin: 0px 0px 5px 20px;
	list-style-type: decimal;
}

.common-ul-indent {
	margin: 0px;
	padding: 0px;
}

.common-ul-indent li {
	margin: 0px 0px 5px 0px;
	padding-left: 20px;
	text-indent: -20px;
}

/*---- Upload preview ----*/
.uploadpreview {
	display: none;  /* 初期状態 */
}

.uploadpreview img {
	width: 60px;
	height: 60px;
	vertical-align: middle;
	object-fit: contain;
	
	/* 画像へのイベントを無効化することでiOSの長押しでも表示されるメニューは
	   画像の下のHTMLへのメニューになり画像保存不可となる。
	   しかし、PCも同様の動きになってしまう。よって使用しない。
	pointer-events: none;
	*/
	
x	cursor: pointer;
	
x	border-radius:         4px;
x	-webkit-border-radius: 4px;
x	-moz-border-radius:    4px;
}


/*######## Header ########*/

#headerfield {
	width: 100%;
	background-color: #FFFFFF;
x	background-color: #00FF00;
	border-bottom: 1px solid #E0E6E6;
}

#headerbody {
	width: 100%;
}

#header-logoframe {
	display: table;
	width: 100%;
	table-layout: fixed;
x	height: 80px;
	height: 100px;
	
x	background-color: #0000FF;
}

#header-logobox {
	display: table-cell;
x	width: 20%;
x	max-width: 270px;
	width: 270px;
	padding: 0px 0px 0px 20px;
	vertical-align: middle;
x	background-color: #FF0000;
}

#header-logobox img {
	max-width: 100%;
}

#header-buttonbox {
	display: table-cell;
x	background-color: #00FFFF;
	height: 40px;
}

#header-button-list {
	display: flex;
	justify-content: flex-end;
x	align-items: center;
x	background-color: #FF00FF;
}

.header-button-base {
	width: 35%;
	max-width: 200px;
	margin-left: 5px;
	
	height: 40px;
	line-height: 40px;
	
	text-align: center;
	font-size: 15px;
	font-size: 1.5rem;
	color: #FFFFFF  !important;
	text-decoration: none;
	
	background-color: var(--common-color-skyblue);
}

.header-button-base img {
x	width: 30px;
x	margin-right: 15px;
	max-width: 15px;
	margin-right: 15px;
x	vertical-align: middle;
	vertical-align: -7%;
}

.header-button-base:hover {
x	background-color: var(--common-color-skyblue-hover);
	opacity: 0.8;
	text-decoration: none;
}

.header-button-login {
	background-color: var(--common-color-orange);
}

.header-button-username {
	overflow: hidden;
	margin-left: 20px;
	margin-right: 15px;
	height: 40px;
	line-height: 40px;
	
	font-size: 15px;
	font-size: 1.5rem;
	
x	background-color: #FF0000;
}

.header-button-username img {
	width: 22px;
	margin-right: 5px;
	vertical-align: -15%;
}

#header-button-hmgnavibox {
	display: table-cell;
	width: 90px;
x	background-color: #FFFF00;
}

#header-button-hmgnavibtn {
	position: fixed;
	z-index: 1000;  /* スライドやカルーセルの上に表示させるがlightbox2 BGの9999より小さくする */
	top: 15px;
	right: 15px;
	
x	width: 60px;
	
	font-size: 12px;
	font-size: 1.2rem;
x	font-weight: bold;
	color: #FFFFFF;
	line-height: 1;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
	
	background-color: var(--common-color-darkblue);
}

.hamburger {
	padding: 12px 10px 6px;
}

.hamburger-box {
	display: block;
	margin-bottom: 6px;
}

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
	height: 2px;
	background-color: #FFFFFF;
}

/*---- Button global navigation ----*/
#header-button-gnavi {
	display: none;  /* 初期状態非表示 */
	position: fixed;
	
	--custom-header-button-gnavi-top: 75px;  /* #header-button-hmgnavibtnの下部に合わせる */
	top: var(--custom-header-button-gnavi-top);
	right: 0px;
	z-index: 1000;  /* スライドやカルーセルの上に表示させる */
	
	height: calc(100% - var(--custom-header-button-gnavi-top));
	padding-left: 10px;
}

#header-button-gnavi .menu-navibox {
	width: 380px;
	height: 100%;
	overflow-y: auto;
	
	/* box-shadow */
	box-shadow:         0px 3px 8px 1px rgba(153, 159, 166, 0.4);
	-webkit-box-shadow: 0px 3px 8px 1px rgba(153, 159, 166, 0.4);
	-moz-box-shadow:    0px 3px 8px 1px rgba(153, 159, 166, 0.4);
	
	background-color: #FFFFFF;
}

#header-button-gnavi .menu-navibox li {
	min-height:  60px;
	line-height: 60px;
	text-align: center;
	border-bottom: 1px solid #E6E6E6;
}

#header-button-gnavi .menu-navibox li a {
	display: block;
	min-height:  60px;
	line-height: 60px;
	padding-left: 10px;
	color: #264280;
	text-decoration: none;
}

/* for SNS icon */
#header-button-gnavi .menu-navibox li a img {
	vertical-align: middle;
}

#header-button-gnavi .menu-navibox li a:hover {
	display: block;
x	background-color: var(--common-color-paleblue);
	color: var(--common-color-skyblue);
}

#header-button-gnavi .menu-navi-title {
	padding-left: 10px;
	font-weight: bold;
}

#header-button-gnavi .menu-navi-subtitle {
	padding-left: 10px;
	padding-right: 40px;
	
	background-image: url(../img/common/header_sp_gnavi_sub_open.png);
	background-repeat: no-repeat;
	background-position: right;
	background-size: 42px;
	
	cursor: pointer;
}

#header-button-gnavi .menu-navi-subtitle:hover,
#header-button-gnavi .menu-navibox li a:hover {
	text-decoration: none;
	color: var(--common-color-skyblue);
x	background-color: var(--common-color-paleblue);
}

#header-button-gnavi .menu-navi-subframe {
	display: none;
}

#header-button-gnavi .menu-navi-subframe ul li {
	background-color: var(--common-color-paleblue);
	border-top: 1px solid #EDEDEB;
	border-bottom: none;
}

#header-button-gnavi .menu-navi-subframe ul li a {
	color: var(--common-color-maintext);
}

#header-button-gnavi .menu-navi-subframe ul li a:hover {
	color: var(--common-color-skyblue);
x	background-color: var(--common-color-paleblue);
}

#header-button-gnavi-closespmenu {
x	display: none;
	border-bottom: 1px solid #E6E6E6;
	text-align: center;
	cursor: pointer;
}

/*---- Global navigation ----*/
#header-gnavi {
x	width: 100%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding-top: 15px;
x	background-color: #00FFFF;
}

#header-pcmenu {
	display: table;
	table-layout: fixed;
	margin-right: 5px;
	height: 16px;
	
x	background-color: #FFFF00;
}

#header-pcmenu > li {
	position: relative;  /* for sub menu */
	display: table-cell;
x	vertical-align: top;
	vertical-align: middle;
}

#header-pcmenu > li > a,
#header-pcmenu > li > span {
	display: block;
	position: relative;
x	display: flex;
x	position: relative;
x	align-items: center;
	
	padding: 0px 20px;
	
	height: 40px;
	line-height: 40px;
	
	color: var(--common-color-darkblue);
	font-size: 16px;
	font-size: 1.6rem;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	font-weight: bold;
	
	cursor: pointer;  /* for span */
	
x	background-color: #00FF00;
}

#header-pcmenu > li > a::before,
#header-pcmenu > li > span::before {
	display: block;
	position: absolute;
	top: 0;  /* 上下センター用 */
	bottom: 0;  /* 上下センター用 */
	left: 0;
	width: 1px;
	height: 12px;
	margin: auto 0;  /* 上下センター用 */
	background-color: var(--common-color-darkblue);
	content: '';
}

#header-pcmenu > li:last-child a::after,
#header-pcmenu > li:last-child span::after {
	display: block;
	position: absolute;
	top: 0;  /* 上下センター用 */
	bottom: 0;  /* 上下センター用 */
	right: 0;
	width: 1px;
	height: 12px;
	margin: auto 0;  /* 上下センター用 */
	background-color: var(--common-color-darkblue);
	content: '';
}

#header-pcmenu > li > a:hover,
#header-pcmenu > li > span:hover,
#header-pcmenu > li.current > a,
#header-pcmenu > li.current > span {
	color: var(--common-color-skyblue);
}

.header-pcmenu-subframe {
	display: none;
	position: absolute;
	
	/* for centering of position: absolute */
	top: 40px;  /* = #header-pcmenu > li > a height */
	left: 0;
x	left: 50%;
x	transform: translate(-50%, 0);
x	-webkit-transform: translate(-50%, 0);
x	-ms-transform: translate(-50%, 0);
	
	z-index: 1000;  /* スライドやカルーセルの上に表示させる */
x	overflow: hidden;  /* preventing height 0 when float */
	
x	padding-top: 10px;
x	background-color: #0000FF;
}

.header-pcmenu-subframe > ul {
x	padding: 20px 0px;
}

.header-pcmenu-subframe > ul > li {
	position:relative;
	margin-bottom: 2px;
	padding-left: 15px;
	border: 1px solid var(--common-color-skyblue);
	background-color: #FFFFFF;
}

.header-pcmenu-subframe > ul > li > a {
	display: block;
	white-space: nowrap;
	line-height: 35px;
	height: 35px;
	padding: 0px 25px;
	
	color: var(--common-color-darkblue);
	font-size: 15px;
	font-size: 1.5rem;
	text-decoration: none;
	
x	transition: color .4s;
}

.header-pcmenu-subframe > ul > li > a:hover {
	color: var(--common-color-skyblue);
x	background-color: #FF0000;
}

.header-pcmenu-subframe > ul > li:before {
	position: absolute;
	content:'';
	top: 15px;
	left: 20px;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent var(--common-color-skyblue);
	color: var(--common-color-skyblue);
}

/*---- Global SNS ----*/
#header-pcmenu-sns {
	display: flex;
	height: 40px;
x	background-color: #FF0000;
}

#header-pcmenu-sns li {
	height: 25px;
	line-height: 25px;
	margin-top: 3px;
	margin-left: 10px;
}

#header-pcmenu-sns li img {
	width: 25px;
x	vertical-align: top;
}


/*---- For narrow browser ----*/
@media screen and (max-width: 1199px) {
	.header-button-base {
		width: 20%;
		min-width: 140px;
		
		font-size: 13px;
		font-size: 1.3rem;
	}

	.header-button-base img {
		margin-right: 5px;
	}
	
	.header-button-username {
		margin-left: 10px;
		margin-right: 0px;
		
		font-size: 13px;
		font-size: 1.3rem;
	}
	
	
	/*---- Global navigation ----*/
	#header-pcmenu > li > a,
	#header-pcmenu > li > span {
		padding: 0px 8px;
		
		font-size: 14px;
		font-size: 1.4rem;
		
x		background-color: #FF0000;
	}
}


/*######## Contents ########*/

/*---- Contents field ----*/
#contentsfield {
	width: 100%;
	min-height: 600px;  /* for small content page */
}

/*---- Contents body ----*/
.contentsbody {
	overflow: hidden;  /* preventing height 0 when float */
	max-width: var(--common-width-contentsbody);
x	margin: 0px auto 70px;
x	padding: 20px 10px 0px;
	margin: 0px auto 0px;
x	padding: 20px 20px 70px;
	padding: 0px 20px 70px;
}

/*---- Bread crumb ----*/
#breadcrumb {
	margin: 0px auto 20px;
x	background-color: #FF0000;
}

#breadcrumb li {
	display: inline;
	font-size: 14px;
	font-size: 1.4rem;
}

#breadcrumb li:before {
	content: " > ";
}

#breadcrumb li:first-child:before {
	content: none;
}

#breadcrumb a {
	color: var(--common-color-darkblue);
}

#breadcrumb a:hover {
	color: var(--common-color-skyblue);
}

/*---- Contents box ----*/
.contentsbox {
}

/*---- Title ----*/
.titlebox {
	margin-bottom: 40px;
	text-align: center;
}

.title-main {
	line-height: 1;
	font-size: 30px;
	font-size: 3.0rem;
	color: var(--common-color-darkblue);
	font-family: var(--common-font-mincho);
	font-weight: 500;
}

.title-main::after {
	display: block;
	margin: 25px auto 0px;
	width: 100px;
	height: 1px;
	background-color: var(--common-color-darkblue);
	content: "";
}

.title-sub {
	margin-top: 20px;
	line-height: 1;
	font-size: 16px;
	font-size: 1.6rem;
	color: var(--common-color-darkblue);
x	text-align: center;
}

/*---- Member title ----*/
.mbtitlebox {
	margin-bottom: 25px;
	padding-bottom: 15px;
	border-bottom: solid 1px var(--common-color-darkblue);
}

.mbtitle-main {
	line-height: 1;
	font-size: 34px;
	font-size: 3.4rem;
	font-weight: 400;
	color: var(--common-color-darkblue);
}

.mbtitle-sub {
	margin-left: 10px;
	font-size: 16px;
	font-size: 1.6rem;
}

/*---- 見出し ----*/
.subtitle-leftbar {
	margin-bottom: 20px;
	padding-left: 15px;
	font-size: 26px;
	font-size: 2.6rem;
	line-height: 1.3;
	color: var(--common-color-darkblue);
	font-weight: 700;
	border-left: solid 6px var(--common-color-darkblue);
}

.subtitle-underline {
	margin-bottom: 15px;
	font-size: 22px;
	font-size: 2.2rem;
	color: var(--common-color-darkblue);
	font-weight: 500;
	border-bottom: solid 1px var(--common-color-darkblue);
}

.subtitle-box {
	margin-bottom: 10px;
	padding: 5px 15px;
	font-size: 18px;
	font-size: 1.8rem;
	color: var(--common-color-darkblue);
	font-weight: 500;
	background-color: var(--common-color-paleblue);
}

/*---- リンクボタン ----*/
.btn-arrow {
	display:  inline-block;
	position: relative;
	min-width: 215px;
	height: 50px;
	line-height: 50px;
x	padding:  10px 20px;
	padding:  0px 20px 0px 30px;
	
	color: #FFFFFF !important;
	text-decoration: none;
	text-align: center;
	box-sizing: border-box;
}

.btn-arrow:hover {
	opacity: 0.8;
	text-decoration: none;
}

.btn-arrow::before {
	display: inline-block;
	position: absolute;

	top: 0px;
	bottom: 0px;
	left: 15px;
	margin: auto 0px;
	
	content: '';
	width: 0;
	height: 0;
x	vertical-align: middle;
x	vertical-align: 2%;
	
	border-style: solid;
	border-width: 5px 0 5px 8px;
	border-color: transparent transparent transparent #FFFFFF;
}

.btn-arrow-color-darkblue {
	background-color: var(--common-color-darkblue);
}

.btn-arrow-color-skyblue {
	background-color: var(--common-color-skyblue);
}

.btn-arrow-size-small {
	min-width: 190px;
	height: 30px;
	line-height: 30px;
}

/*---- ページヘッダー ----*/
.pageheader {
	min-height: 170px;  /* アンカージャンプ時にずれないようにするため */
x	margin-bottom: 10px;
	padding: 0px 20px;
	text-align: center;
}

.pageheader img {
	max-width: 100%;
}


/*######## Wysiwyg ########*/

/* editor-style.cssと同じ記述にする */

/*---- 標準Wysiwygボックス ----*/
.common-wysiwyg {
	overflow: hidden;  /* For preventing height shrink */
}

/*---- 標準Wysiwyg文字装飾 ----*/
.common-wysiwyg h1 {
	margin-bottom: 15px;
	font-size: 30px;
	font-size: 3.0rem;
}

.common-wysiwyg h2 {
	margin-top: 15px;
	margin-bottom: 15px;
	padding: 0px 10px;
	font-size: 20px;
	font-size: 2.0rem;
	border: 1px solid #C5C5C5;
	background-color: #F0FEFF;
}

.common-wysiwyg h3 {
	margin-top: 15px;
	margin-bottom: 15px;
	border-bottom: 1px dashed #C5C5C5;
	font-size: 20px;
	font-size: 2.0rem;
}

.common-wysiwyg h6 {
	overflow: hidden;  /* For preventing height shrink img tag */
	margin-top: 15px;
	margin-bottom: 15px;
	padding: 20px 30px;
	background-color: #EEEEEE;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}

.common-wysiwyg p {
	margin-bottom: 15px;
}

.common-wysiwyg strong {
	font-weight: bold;
}

.common-wysiwyg em {
	font-style: italic;
}

.common-wysiwyg ul {
x	margin-left: 20px;
	padding: 0px 0px 15px;
x	background-color: #FF0000;
}

.common-wysiwyg ul li {
	list-style-type: disc;
	margin-left: 20px;
	margin-bottom: 5px;
x	background-color: #00FF00;
}

.common-wysiwyg ol {
x	margin-left: 20px;
	margin: 0px;
	padding: 0px 0px 15px 30px;
x	background-color: #0000FF;
}

.common-wysiwyg ol li {
	list-style-type: decimal;
x	margin-left: 20px;
x	margin-left: 0px;
	margin-bottom: 5px;
x	background-color: #FFFF00;
}

.common-wysiwyg a {
	text-decoration: underline;
}

/*---- 標準Wysiwyg写真装飾 ----*/
.common-wysiwyg img {
x	max-width: 100%;
	height: auto;
	vertical-align: top;
}

.common-wysiwyg img.size-thumbnail {
	max-width: 28%;
}

.common-wysiwyg img.size-medium {
	max-width: 48%;
}

.common-wysiwyg img.size-large {
	max-width: 78%;
}

.common-wysiwyg img.size-full {
	max-width: 100%;
}

.common-wysiwyg img.size-wysiwyg_col2 {
	max-width: 50%;
}

.common-wysiwyg img.size-wysiwyg_col3 {
	max-width: 33.3%;
}

.common-wysiwyg img.alignnone {
}

.common-wysiwyg img.alignleft {
	float: left;
	margin-right: 20px;
	margin-bottom: 20px;
}

.common-wysiwyg img.alignright {
	float: right;
	margin-left: 20px;
	margin-bottom: 20px;
}

.common-wysiwyg img.aligncenter {
	clear: both;
	display: block;
	margin: 0px auto 20px;
}


/*######## Footer ########*/

/*---- float banner ----*/
#float-bnr {
	position: fixed;
	right: 0px;
	bottom: 20px;
x	top: 130px;
	z-index: 999;
	
x	width: 12%;
	width: 10%;
x	max-width: 190px;
x	min-width: 150px;
	max-width: 100px;
	min-width: 60px;
	
x	background-color: #FF0000;
}

#float-bnr a {
	display: block;
	margin-top: 10px;
	float: right;
x	background-color: #00FF00;
}

#float-bnr img {
	width: 100%;
}

#float-bnr-mb {
	position: fixed;
	right: 0px;
	top: 150px;
	z-index: 999;
	
	width: 6%;
	max-width: 76px;
	min-width: 50px;
	
x	background-color: #FF0000;
}

#float-bnr-mb a {
	display: block;
x	background-color: #00FF00;
}

#float-bnr-mb img {
	width: 100%;
}

/*---- Footer contents ----*/
#footerfield {
	width: 100%;
	background-color: #FFFFFF;
	border-top: 1px solid #D9D9D9;
}

#footerbody {
	max-width: var(--common-width-contentsbody);
	margin: 0px auto;
	padding: 30px 10px 75px;
}

#footer-contentsbox {
	display: table;
	table-layout: fixed;
	width: 100%;
x	background-color: #FF0000;
}

#footer-contentsbox a {
	color: var(--common-color-darkblue);
x	text-decoration: none;
}

#footer-contentsbox a:hover {
	color: var(--common-color-skyblue);
x	text-decoration: underline;
}

/*---- Footer info ----*/
.footer-infobox {
	display: table-cell;
	padding-right: 10px;
	vertical-align: top;
x	width: 330px;
x	width: 32%;
	width: 38%;
}

.footer-info-logo {
	margin-right: 20px;
	margin-bottom: 40px;
}

.footer-info-logo img {
	max-width: 100%;
}

.footer-info-name {
	margin-bottom: 10px;
}

.footer-info-address {
	margin-bottom: 20px;
	line-height: 1.2;
}

.footer-btn-contact {
	display: inline-block;
	padding: 10px 20px;
	margin-bottom: 15px;
	vertical-align: middle;
	color: #FFFFFF  !important;
	text-align: center;
	text-decoration: none;
	border-right: 1px solid #606060;
	background-color: var(--common-color-skyblue);
}

.footer-btn-contact img {
	width: 15px;
	margin-right: 15px;
	vertical-align: middle;
}

.footer-btn-contact:hover {
x	background-color: var(--common-color-skyblue-hover);
	opacity: 0.8;
	text-decoration: none;
}

.footer-btn-contact-mb {
	width: 45%;
	min-width: 150px;
}

.footer-sns {
}

.footer-sns li {
	float: left;
x	width: 25px;
	margin-right: 10px;
}

.footer-sns li img {
	width: 25px;
}

/*---- Footer link ----*/
.footer-linkframe {
	display: table-cell;
	vertical-align: top;
}

.footer-sublink {
	display: table;
	margin-bottom: 80px;
}

.footer-sublink li {
	display: table-cell;
	vertical-align: middle;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1;
	border-left: 1px solid var(--common-color-skyblue);
	color: var(--common-color-darkblue);
}

.footer-sublink li:last-child {
	border-right: 1px solid var(--common-color-skyblue);
}

.footer-sublink li a {
	display: block;
	padding: 0px 25px;
x	background-color: #00FF00;
}

.footer-linkbox {
	overflow: hidden;  /* preventing height 0 when float */
	padding-left: 30px;
	border-left: 1px solid var(--common-color-skyblue);
x	background-color: #00FF00;
}

.footer-linkbox .menu-navibox {
	float: left;
	width: 30%;
x	margin-bottom: 30px;
x	background-color: #FFFF00;
}

.footer-linkbox .menu-navibox ul {
	padding-top: 10px;
}

.footer-linkbox .menu-navibox li.menu-navi-arrow {
	position: relative;
	padding-left: 15px;
	padding-bottom: 10px;
	line-height: 1;
}

.footer-linkbox .menu-navibox li.menu-navi-arrow:before {
	position: absolute;
	content:'';
x	top: 0.7em;
	top: 0.3em;
	left: 0.2em;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent var(--common-color-darkblue);
}

.footer-linkbox .menu-navibox li.menu-navi-arrow a {
	font-size: 13px;
	font-size: 1.3rem;
}

.footer-linkbox .menu-navibox > li.menu-navi-arrow {
	margin-bottom: 10px;
}

/*---- Footer member login ----*/
.footer-linkbox .menu-navibox .menu-navi-member {
	margin-top: 30px;
x	display:  inline-block;
x	text-decoration:  none;
x	background-color: #FFFF00;
}

.footer-linkbox .menu-navibox .menu-navi-member a {
	display: block;
x	width: 160px;
x	width: 100%;
	padding: 5px 20px;
	font-size: 14px;
	font-size: 1.4rem;
	color: #FFFFFF  !important;
	text-align: center;
	text-decoration: none;
	background-color: var(--common-color-orange);
}

.footer-linkbox .menu-navibox .menu-navi-member a::before {
	content:  '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 4px;
	border-color: transparent transparent transparent #FFFFFF;
	display: inline-block;
	vertical-align: middle;
	position: relative;
	top: -2px;
	margin-right: 10px;
}

.footer-linkbox .menu-navibox .menu-navi-member a:hover {
	opacity: 0.8;
x	text-decoration: none;
}

/*---- Footer copyright ----*/
.footer-copyright {
	padding: 25px 0px;
	font-size: 13px;
	font-size: 1.3rem;
	color: #FFFFFF;
	text-align: center;
	background-color: var(--common-color-skyblue);
}

.footer-copyright-mb {
x	background-color: var(--common-color-darkblue);
}

/*---- Footer float button(SP only) ----*/
.float-spbutton {
	display: none;
}


/*######## 標準文字入力フォーム<input>,<textarea>,タグ ########*/
input[type="text"], input[type="password"], input[type="email"], input[type="number"], input[type="tel"], textarea {
	margin-bottom: 5px;
	padding: 8px 5px;
	border: 1px solid #999999;
	
	font-size: 14px;
	font-size: 1.4rem;
	color: #333333;
	letter-spacing: 1px;
	
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	
	-webkit-box-sizing: border-box;  /* for Safari,Firefox3 */
	box-sizing:         border-box;  /* for Chrome,IE8+ */
}

textarea {
	height: 150px;
}

/*---- プレースフォルダー ----*/
input:-ms-input-placeholder, textarea:-ms-input-placeholder {  /* IE10+ */
	color: #BBBBBB;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {  /* WebKit(Safari,Chrome,Opera15+) */
	color: #BBBBBB;

}
input::-moz-placeholder, textarea::-moz-placeholder {  /* Firefox 19+ */
	color: #BBBBBB;
}


/*######## 標準実行ボタン<input>タグ ########*/
input[type="submit"], input[type="button"] {
	-webkit-appearance: none;    /* for stop iOS gradation */
}


/*######## 標準選択フォーム<input type="radio">,<input type="checkbox">,<label>タグ ########*/

/*---- フォーム要素本体 ----*/
input[type="radio"] {
	margin: 0px 10px 0px 15px;
	padding: 0px;
x	vertical-align: middle;
	vertical-align: 0%;
	
	transform: scale(1.6, 1.6);
}

input[type="checkbox"] {
	margin: 0px 10px 0px 15px;
	padding: 0px;
x	vertical-align: middle;
	vertical-align: 0%;
	
	transform: scale(1.6, 1.6);
}

/*---- フォーム選択肢(radio&checkbox) ----*/
.formchoice {
	margin-top: 6px;
}

.formchoice span {
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 15px;
}

.formchoice-vertical {
}

.formchoice-vertical span {
	display: block;
	margin-bottom: 15px;
}

/*---- フォーム用<label>タグ ----*/
label {
x	font-size: 14px;
x	font-size: 1.4rem;
	
x	background-color: #FF0000;
}


/*######## 標準<select>タグ ########*/
select {
	height: 40px;
	margin-bottom: 5px;
	padding: 0px 30px 0px 8px;
	border: 1px solid #999999;
	
	font-size: 14px;
	font-size: 1.4rem;
	color: #333333;
	
	vertical-align: middle;
	
	background-color: #FFFFFF;
	background-image: url(../img/common/select_arrow_down.png);
	background-repeat: no-repeat;
	background-position: center right 5px;
	
	-webkit-box-sizing: border-box;  /* for Safari,Firefox3 */
	box-sizing:         border-box;  /* for Chrome,IE8+ */
	
	-webkit-appearance: none;    /* for stop iOS gradation */
	-moz-appearance: none;
	appearance: none;
	-webkit-border-radius: 4px;
	-moz-border-radius:    4px;
	border-radius:         4px;
}

select::-ms-expand {  /* for hide select arrow IE10+ */
	display: none;
}


/*######## フォーム関連 ########*/

/*---- フォームテーブル ----*/
.formframe {
	width : 95%;
	max-width : 800px;
	margin: 0px auto;
}

.formtable {
	display: table;
	width : 100%;
	margin-bottom: 30px;
}

.formtable-row {
	display: table-row;
}

.formtable .formtable-title {
	display: table-cell;
	width : 230px;
	padding: 24px 20px 20px 0px;
	vertical-align: top;
	border-bottom: 1px solid #DEDEDE;
}

.formtable .formtable-title-text {
	display: inline-block;
	padding-top: 3px;
	font-weight: bold;
}

.formtable .formtable-title-must {
	display: inline-block;
	padding: 3px;
	float: right;
	color: #FFFFFF;
	background-color: var(--common-color-darkblue);
	
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

.formtable .formtable-title-option {
	padding: 3px;
	display: inline-block;
	float: right;
	color: #FFFFFF;
	background-color: #999999;
	
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

.formtable .formtable-data {
	display: table-cell;
	padding: 20px 0px;
	vertical-align: top;
	border-bottom: 1px solid #DEDEDE;
}

.formtable .formtable-data-textonly,
.formtable-check .formtable-data {
	padding-top: 25px;
	
x	background-color: #FF0000;
}

.formtable .formtable-memo {
x	background-color: #FF0000;
}

/*---- サブフォームテーブル ----*/
.subformtable {
	display: table;
	width : 100%;
x	margin-bottom: 30px;
	
x	background-color: #FF0000;
}

.subformtable-row {
	display: table-row;
}

.subformtable .subformtable-title {
	display: table-cell;
	width : 230px;
	padding: 4px 20px 30px 0px;
	vertical-align: top;
x	border-bottom: 1px solid #DEDEDE;
	
x	background-color: #00FF00;
}

.subformtable .subformtable-title-text {
	display: inline-block;
	padding-top: 3px;
	font-weight: bold;
}

.subformtable .subformtable-title-must {
	display: inline-block;
	padding: 3px;
	float: right;
	color: #FFFFFF;
	background-color: var(--common-color-darkblue);
	
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

.subformtable .subformtable-title-option {
	padding: 3px;
	display: inline-block;
	float: right;
	color: #FFFFFF;
	background-color: #999999;
	
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

.subformtable .subformtable-data {
	display: table-cell;
	padding: 0px 0px 30px 0px;
	vertical-align: top;
x	border-bottom: 1px solid #DEDEDE;
	
x	background-color: #0000FF;
}

.subformtable .subformtable-data-textonly {
	padding-top: 5px;
	
x	background-color: #FF0000;
}

.formtable-check .subformtable .subformtable-title {
	padding-top: 0px;
	
x	background-color: #00FF00;
}

.formtable-check .subformtable .subformtable-data {
	padding-top: 1px;
	
x	background-color: #FF0000;
}

/*---- フォームアクセプト ----*/
.formaccept {
	margin: 40px 0px 30px;
	padding: 10px 0px;
	text-align: center;
}

.formaccept img {
	vertical-align: 0%;
}

/*---- フォームアイテム ----*/
.formitem-textdate {  /* for 'YYYY/MM/DD' */
	width : 20%;
	min-width: 150px;
}

.formitem-textsmall {
	width : 15%;
	min-width: 70px;
}

.formitem-texthalf {
	width : 50%;
	min-width: 250px;
}

.formitem-textfull {
	width : 95%;
x	max-width: 600px;
}

.formitem-must {
	display: inline-block;
	margin-right: 10px;
	padding: 3px;
	color: #FFFFFF;
	background-color: var(--common-color-darkblue);
	
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

/*---- フォームボタン ----*/
.btn-formsubmit {
	margin: 0px auto;
	text-align: center;
}

.btn-formsubmit input {
	min-width: 200px;
	height: 46px;
	line-height: 46px;
	padding: 2px 20px 0px 20px;
	
	font-size: 16px;
	font-size: 1.6rem;
	color: #FFFFFF;
	
	background-color: var(--common-color-darkblue);
	
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	
	border: currentColor;
	
	cursor: pointer;
}

.btn-formsubmit input:hover,
.btn-formsubmit input:focus,
.btn-formsubmit input:active {
	background-color: #000000;
	text-decoration: underline;
}

.btn-formsubmit .btn-formsubmit-back {
	color: #FFFFFF;
	background-color: #999999;
}

.btn-formsubmit .btn-formsubmit-back:hover,
.btn-formsubmit .btn-formsubmit-back:focus,
.btn-formsubmit .btn-formsubmit-back:active {
	background-color: #AEAEAE;
}

.btn-formsubmit-between {
	display: inline-block;
	width: 20px;
}

/*---- フォームエラー ----*/
.formerrmainbox {
	max-width : 500px;  /* for mbfavmls add balloon */
	margin: 0px auto;
	padding-bottom: 30px;
	
	line-height: 130%;
	
	color: #FF6633;
}

.formerrmainbox .formerrmain-title {
	padding-bottom: 5px;
	font-weight: bold;
}

.formerrtext {
	color: #7D0000;
}

.formerritem {
	border: 3px solid #FF6633 !important;
	  /* !importantがないと<input type="text">等に効かない */
	background-color: #FFDDDD;
}

.formchoice.formerritem, .formchoice-vertical.formerritem {
	padding-top: 12px;
}

.fatalerror-nullbox {  /* mbemc.html & mbpst.html */
	height: 200px;
x	background-color: #FF0000;
}

/*---- フォームページ ----*/
.form-formlead {
	margin-bottom: 30px;
}

/*---- フォーム確認ページ ----*/
.form-checklead {
	margin: 0px 0px 30px;
x	text-align: center;
}

/*---- フォーム完了ページ ----*/
.form-donebox {
	max-width: 700px;
	margin: 10px auto 100px;
}

.form-done-link {
	width: 300px;
	margin: 50px auto 0px;
}

.form-done-link a {
	display: block;
	padding: 10px;
	color: #FFFFFF;
	text-align: center;
	background-color: var(--common-color-darkblue);
	border-radius: 5px;
	text-decoration: none;
}

.form-done-link a:hover {
	text-decoration: underline;
	background-color: #000000;
}
