@charset "utf-8"; /* 〠 */

/*----------------------------------------------*/
/* common CSS [SP]
/*----------------------------------------------*/

/*######## 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-font-mincho: 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', '游明朝', YuMincho, 'HG明朝E', 'メイリオ', Meiryo, serif;
	
	
	/*---- フロートSPボタン高さ定義 ----*/
	--custom-float-spbutton-height: 40px;
	
	
	/*---- お知らせカテゴリー色定義 ----*/
	--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;
}

/*######## ブロックレベル変換(HTML5タグ用) ########*/
header, footer, nav, section, article, aside, hgroup, 
details, summary, menu, figure, figcaption {
	display: block;
}


/*######## General ########*/

/*---- PC & SP only ----*/
.pconly {
  display: none  !important;
}

.sponly {
}


/*######## Background & Wrapper ########*/

body, table, input, textarea, h1, h2, h3, h4, h5, h6 {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Droid Sans";  /* "ヒラギノ角ゴ" for iOS, "Droid Sans" for Android */
	
	color: #333333;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 1.8;
}

body {
	min-height: 416px;
	-webkit-text-size-adjust: none;  /* no font auto resize for iPhone */
	
	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;
	min-width: 60px;
	margin-left: 10px;
	
	height: 32px;
	line-height: 32px;
}

.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;
	margin-right: 10px;
}

.common-pager .pager-link li {
	float: left;
	border: 1px solid #D2D2D2;
	width:       32px;
	height:      32px;
	line-height: 32px;
	margin-left: 5px;
	margin-bottom: 10px;
	text-align: center;
	
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}

.common-pager .pager-link li a {
	display: block;
	height:      32px;
	line-height: 32px;
	color: #000000;
	text-decoration: none;
}

.common-pager .pager-link li a:hover {
	text-decoration: underline;
}

.common-pager .pager-link li.dot {
x	border: 1px solid #FFFFFF;
}

.common-pager .pager-link li.wide {
	width: 45px;
}

.common-pager .pager-link li.wide a {
	width: 45px;
}

.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: 4px;
	padding: 0px;
x	background-color: #FF0000;
}

.common-ol-bracket > li {
	counter-increment: cnt;
	margin-bottom: 4px;
	padding-left: 20px;
	text-indent: -20px;
}

.common-ol-bracket > li:before {
	content: "("counter(cnt) ") ";
}

.common-ol-decimal {
	counter-reset: cnt;
	list-style-type: none;
	margin-top: 4px;
	padding: 0px;
x	background-color: #FF0000;
}

.common-ol-decimal-start2 {
	counter-reset: cnt 1;
}

.common-ol-decimal li {
	counter-increment: cnt;
	margin-bottom: 4px;
	padding-left: 20px;
	text-indent: -20px;
x	background-color: #00FF00;
}

.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 2px 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 {
	background-color: #FFFFFF;
}

#headerbody {
	display: table;
	table-layout: fixed;
	width: 100%;
	height: 60px;
}

#header-logoframe {
	display: table-cell;
	vertical-align: middle;
}

#header-logobox {
	padding-left: 10px;
	vertical-align: middle;
}

#header-logobox img {
	width: 100%;
	max-width: 184px;  /* for max height 45px (org size 270x66) */
}

#header-buttonbox {
	display: none;
}

#header-button-hmgnavibox {
	display: table-cell;
	width: 90px;
x	background-color: #FFFF00;
}

#header-button-hmgnavibtn {
	position: fixed;
	z-index: 1000;  /* スライドやカルーセルの上に表示させるがlightbox2 BGの9999より小さくする */
	top: 0px;
	right: 0px;
	
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;
	top: 60px; /* #header-button-hmgnavibtnの下部に合わせる */
	right: 0px;
	z-index: 1000;  /* スライドやカルーセルの上に表示させる */
	
	width: 100%;
	height: calc(100% - 60px);  /* = 100% - #headerfield height */
}

#header-button-gnavi .menu-navibox {
	height: 100%;
	overflow-y: auto;
	background-color: #FFFFFF;
}

#header-button-gnavi .menu-navibox li {
	min-height:  38px;
	line-height: 38px;
	border-top: 1px solid #E6E6E6;
}

#header-button-gnavi .menu-navibox li a {
	display: block;
	min-height:  38px;
	line-height: 38px;
	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 {
	border-bottom: 1px solid #E6E6E6;
	text-align: center;
	cursor: pointer;
}


/*######## Contents ########*/

/*---- Contents field ----*/
#contentsfield {
	min-height: 45vh;  /* for small content page */
}

/*---- Contents body ----*/
.contentsbody {
	overflow: hidden;  /* preventing height 0 when float */
x	margin-bottom: 50px;
x	margin-bottom: 20px;
x	padding: 0px 10px;
x	padding: 10px 10px 20px;
	padding: 0px 10px 20px;
}

/*---- Bread crumb ----*/
#breadcrumb {
	margin: 10px 10px 20px;
}

#breadcrumb li {
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
	color: #999999;
}

#breadcrumb li:before {
	content: " > ";
}

#breadcrumb li:first-child:before {
	content: none;
}

#breadcrumb a {
	color: var(--common-color-darkblue);
}

/*---- Contents box ----*/
.contentsbox {
}

/*---- Title ----*/
.titlebox {
	margin-bottom: 40px;
	text-align: center;
}

.title-main {
	line-height: 1;
	font-size: 22px;
	font-size: 2.2rem;
	color: var(--common-color-darkblue);
	font-family: var(--common-font-mincho);
	font-weight: 500;
}

.title-main::after {
	display: block;
	margin: 15px auto 0px;
	width: 75px;
	height: 1px;
	background-color: var(--common-color-darkblue);
	content: "";
}

.title-sub {
	margin-top: 20px;
	line-height: 1;
	font-size: 14px;
	font-size: 1.4rem;
	color: var(--common-color-darkblue);
x	text-align: center;
}

/*---- Member title ----*/
.mbtitlebox {
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: solid 1px var(--common-color-darkblue);
}

.mbtitle-main {
	line-height: 1;
	font-size: 22px;
	font-size: 2.2rem;
	color: var(--common-color-darkblue);
	font-weight: 500;
}

.mbtitle-sub {
	margin-left: 10px;
	line-height: 1;
	font-size: 14px;
	font-size: 1.4rem;
}

/*---- 見出し ----*/
.subtitle-leftbar {
	margin-bottom: 20px;
	padding-left: 15px;
	font-size: 20px;
	font-size: 2.0rem;
	line-height: 1.3;
	color: var(--common-color-darkblue);
	font-weight: 700;
	border-left: solid 6px var(--common-color-darkblue);
}

.subtitle-underline {
	margin-bottom: 10px;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.3;
	color: var(--common-color-darkblue);
	font-weight: 500;
	border-bottom: solid 1px var(--common-color-darkblue);
}

.subtitle-box {
	margin-bottom: 10px;
	padding: 5px 15px;
x	font-size: 18px;
x	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 {
x	margin-bottom: 10px;
	padding: 0px 10px;
	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: 24px;
	font-size: 2.4rem;
}

.common-wysiwyg h2 {
	margin-top: 15px;
	margin-bottom: 15px;
	padding: 0px 10px;
	font-size: 18px;
	font-size: 1.8rem;
	border: 1px solid #C5C5C5;
	background-color: #F0FEFF;
}

.common-wysiwyg h3 {
	margin-top: 15px;
	margin-bottom: 15px;
	border-bottom: 1px dashed #C5C5C5;
	font-size: 16px;
	font-size: 1.6rem;
}

.common-wysiwyg h6 {
	overflow: hidden;  /* For preventing height shrink img tag */
	margin-top: 15px;
	margin-bottom: 15px;
	padding: 10px 20px;
	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 30px 15px;
x	background-color: #0000FF;
}

.common-wysiwyg ol li {
	list-style-type: decimal;
x	margin-left: 20px;
	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: 15px;
	margin-bottom: 15px;
}

.common-wysiwyg img.alignright {
	float: right;
	margin-left: 15px;
	margin-bottom: 15px;
}

.common-wysiwyg img.aligncenter {
	clear: both;
	display: block;
	margin: 0px auto 15px;
}

.common-wysiwyg img.valignmiddle {
	vertical-align: middle;
}


/*######## Footer ########*/

/*---- Float banner ----*/
#float-bnr {
	position: fixed;
	right: 0px;
x	bottom: 70px;
	top: 80px;
	z-index: 999;
	
x	width: 25%;
	width: 18%;
x	max-width: 120px;
	max-width: 70px;
x	min-width: 100px;
	
x	background-color: #FF0000;
}

#float-bnr a {
	display: block;
	margin-top: 10px;
x	background-color: #00FF00;
}

#float-bnr img {
	width: 100%;
}

#float-bnr-campaign {
	display: none  !important;
}

#float-bnr-mb {
	display: none;
}

/*---- Footer contents ----*/
#footerfield {
	width: 100%;
	
	padding-bottom: var(--custom-float-spbutton-height);
}

#footerbody {
	display: none;
}

/*---- Footer copyright ----*/
.footer-copyright {
	padding: 20px 10px;
	font-slze: 10px;
	font-size: 1.0rem;
	text-align: center;
	letter-spacing: 1px;
}

/*---- Float SP button ----*/
.float-spbutton {
	position: fixed;
	z-index: 999;  /* #header-button-gnaviより下にする */
	left: 0px;
	bottom: 0px;
	display: table;
	table-layout: fixed;
	width: 100%;
	height: var(--custom-float-spbutton-height);
}

.float-spbutton-mb {
	border-top: 1px solid var(--common-color-skyblue);
x	border-bottom: 1px solid var(--common-color-skyblue);
}

.float-spbutton a {
	display: table-cell;
	width: 33.3%;
	text-align: center;
	vertical-align: middle;
	font-size: 12px;
	font-size: 1.2rem;
	color: #FFFFFF;
	text-decoration: none;
	border-right: 2px solid #FFFFFF;
}

.float-spbutton a:last-child {
	border-right: none;
}

.footer-button-misc {
	background-color: var(--common-color-skyblue);
}

.footer-button-login {
	background-color: var(--common-color-orange);
}

.footer-button-username {
	display: table-cell;
x	width: 50%;
	width: 46%;
x	padding: 0px 10px;
	padding: 0px 2%;
	line-height: 1.2;
	text-align: center;
	vertical-align: middle;
	font-size: 13px;
	font-size: 1.3rem;
x	border-right: 1px solid #606060;
	background-color: #FFFFFF;
}

.footer-button-username img {
	width: 16px;
	margin-right: 5px;
	vertical-align: -20%;
}

.footer-button-rezept {
	background-color: var(--common-color-skyblue);
}

.footer-button-rezept-paper {
	width: 16px;
	margin-right: 5px;
	vertical-align: -30%;
}

.footer-button-rezept-arrow {
	width: 16px;
	margin-left: 5px;
	vertical-align: -20%;
}


/*######## 標準文字入力フォーム<input>,<textarea>タグ ########*/
input[type="text"], input[type="password"], input[type="email"], input[type="number"], input[type="tel"], textarea {
	margin: 2px 0px 5px 3px;
	padding: 3px;
	border: 1px solid #999999;
	
x	font-size: 14px;
x	font-size: 1.4rem;
	font-size: 16px;  /* iPhoneで入力欄にフォーカスしたとき勝手にズームされないように16px以上とする(meta viewportで拡大を許可しているのでズームされる様子) */
	font-size: 1.6rem;
	color: #333333;
	
	border-radius:         4px;
	-webkit-border-radius: 4px;  /* for iOS3.2 before */
	
	/* box内上部シャドー for Android */
	box-shadow:         #CCCCCC 0px 1px 2px 0px inset;  /* for Chrome */
	-webkit-box-shadow: #CCCCCC 0px 1px 2px 0px inset;  /* for Safari */
	
	-webkit-box-sizing: border-box;  /* for Safari,Firefox3 */
	box-sizing:         border-box;  /* for Chrome,IE8+ */
}

textarea {
x	height: 80px;
	height: 120px;
}


/*######## 標準実行ボタン<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 8px 0px 15px;
	padding: 0px;
x	vertical-align: middle;
	vertical-align: -10%;
	
	transform: scale(1.3, 1.3);
}

input[type="checkbox"] {
	margin: 0px 8px 0px 15px;
	padding: 0px;
x	vertical-align: middle;
	vertical-align: -10%;
	
	transform: scale(1.5, 1.5);
}

/*---- フォーム選択肢(radio&checkbox) ----*/
.formchoice {
	padding-top: 5px;
}

.formchoice span {
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 15px;
}

.formchoice-vertical {
}

.formchoice-vertical span {
	display: block;
	margin-bottom: 15px;
}

/*---- フォーム用<label>タグ ----*/
label {
}


/*######## 標準<select>タグ ########*/
select {
	height: 30px;
	margin: 5px 0px;
	padding: 0px 30px 0px 8px;
	border: 1px solid #999999;
	
	font-size: 14px;
	font-size: 1.4rem;
	color: #333333;
	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 {
	margin-bottom: 30px;
}

.formtable {
}

.formtable-row {
	margin-bottom: 10px;
}

.formtable .formtable-title {
	margin-bottom: 3px;
}

.formtable .formtable-title-text {
	display: inline-block;
	font-weight: bold;
}

.formtable .formtable-title-text br {
	display: none;
}

.formtable .formtable-title-must {
	display: inline-block;
	height:      15px;
	line-height: 15px;
	margin-left: 5px;
	padding: 3px;
	font-size: 12px;
	font-size: 1.2rem;
	color: #FFFFFF;
	background-color: var(--common-color-darkblue);
	
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

.formtable .formtable-title-option {
	display: inline-block;
	height:      15px;
	line-height: 15px;
	margin-left: 5px;
	padding: 3px;
	font-size: 12px;
	font-size: 1.2rem;
	color: #FFFFFF;
	background-color: #999999;
	
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

.formtable .formtable-data {
	padding-bottom: 10px;
	border-bottom: 1px solid #DEDEDE;
}

.formtable .formtable-data-textonly,
.formtable-check .formtable-data {
x	background-color: #FF0000;
}

.formtable .formtable-memo {
x	background-color: #FF0000;
}

/*---- サブフォームテーブル ----*/
.subformtable {
	padding-top: 10px;
	padding-left: 15px;
}

.subformtable-row {
	margin-bottom: 25px;
}

.subformtable .subformtable-title {
	margin-bottom: 3px;
}

.subformtable .subformtable-title-text {
	display: inline-block;
	font-weight: bold;
}

.subformtable .subformtable-title-text br {
	display: none;
}

.subformtable .subformtable-title-must {
	display: inline-block;
	height:      15px;
	line-height: 15px;
	margin-left: 5px;
	padding: 3px;
	font-size: 12px;
	font-size: 1.2rem;
	color: #FFFFFF;
	background-color: var(--common-color-darkblue);
	
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

.subformtable .subformtable-title-option {
	display: inline-block;
	height:      15px;
	line-height: 15px;
	margin-left: 5px;
	padding: 3px;
	font-size: 12px;
	font-size: 1.2rem;
	color: #FFFFFF;
	background-color: #999999;
	
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

.subformtable .subformtable-data {
x	border-bottom: 1px solid #DEDEDE;
}

.subformtable .subformtable-data-textonly {
x	background-color: #FF0000;
}

.formtable-check .subformtable .subformtable-title {
x	background-color: #00FF00;
}

.formtable-check .subformtable .subformtable-data {
x	background-color: #FF0000;
}

/*---- フォームアクセプト ----*/
.formaccept {
	margin: 30px 0px 10px;
	padding: 15px 0px 10px;
	text-align: center;
}

.formaccept img {
	vertical-align: 0%;
}

/*---- フォームアイテム ----*/
.formitem-textdate {  /* for 'YYYY/MM/DD' */
	width : 20%;
	min-width: 120px;
}

.formitem-textsmall {
	width : 15%;
x	min-width: 70px;
	min-width: 60px;
}

.formitem-texthalf {
	width : 90%;
}

.formitem-textfull {
	width : 90%;
}

.formitem-must {
	display: inline-block;
	height:      15px;
	line-height: 15px;
x	margin-right: 5px;
	padding: 3px;
	vertical-align: middle;
	font-size: 12px;
	font-size: 1.2rem;
	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 {
	width: 250px;
	height:      36px;
	line-height: 36px;
	margin: 10px auto;
	padding: 0px 20px;
	
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;  /* for iPhone only */
	color: #FFFFFF;
	text-align: center;
	
	background-color: var(--common-color-darkblue);
	
	border-radius:         3px;
	-webkit-border-radius: 3px;  /* for iOS3.2 before */
	-moz-border-radius:    3px;
	
	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: none;
}

/*---- フォームエラー ----*/
.formerrmainbox {
	margin: 0px 10px;
	padding-bottom: 20px;
	line-height: 150%;
	
	color: #FF6633;
}

.formerrmainbox .formerrmain-title {
	padding-bottom: 5px;
	font-weight: bold;
}

.formerrtext {
	color: #FF6633;
}

.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: 100px;
x	background-color: #FF0000;
}

/*---- フォームページ ----*/
.form-formlead {
	margin-bottom: 30px;
}

/*---- フォーム確認ページ ----*/
.form-checklead {
	margin: 0px 0px 30px;
ｘ	text-align: center;
}

/*---- フォーム完了ページ ----*/
.form-donebox {
	margin-bottom: 50px;
}

.form-done-link {
x	width: 80%;
	width: 250px;
x	margin: 20px auto;
	margin: 20px auto 0px;
}

.form-done-link a {
	display: block;
	padding: 8px;
	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;
}
