@charset "utf-8";

/* 全般
--------------------------------------------------------------------*/
body {
	font-family: "メイリオ","Meiryo",sans-serif;
	font-size: 14px;	 
	background-color: #fff;
	min-width: 320px;
	margin: 0 auto;
	padding: 0 ;
	height: 100%;
}

img {
	vertical-align: middle;
}

a {
	text-decoration: none;
	vertical-align: middle; 
}

ul {
	color: #333;
	padding: 0;
	margin: 0;
	list-style:none;
}

h1 {
	margin: 0 auto;
}

.btn-h:hover {
	opacity: 0.8;
}

p {
	color: #333;
	font-size: 14px;
	padding: 0;
	margin: 0 auto;
}

/* クリア */
.clear {
	display: block;
	clear: both;
	height: 0;
}

.clearfix {
	overflow: hidden;
}

.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

/* コンテナ、ヘッダー、フッター
--------------------------------------------------------------------*/
#wrapper {
	width: 100%;
	position: relative;
	height: auto !important;
	height: 100%;
	min-height: 100%;
}

.contents {
	width: 550px;
	margin: 0 auto;
	text-align: center;	
}

.logo {
	text-align: left;
	padding-left: 10px;
	float: left;
}

.user {
	text-align: right;
	padding-right: 60px;
	padding-top: 10px;
}

.user a {
	font-weight: bold;
}

/* ヘッダ */
.header-contents {
	position: relative;
	height: 40px;
}

.header-contents-top {
	position: absolute;
	height: 40px;	
	top: 0;
	right: 0;
}

.header-contents-top-nav {
	height: 40px;
	background-color: #58D60F;
}

header a {
	color: #fff;
	font-size: 14px;
}

/* フッター */
.footer-contents {
	padding: 20px 0;
}

#footer ul {
	margin-bottom: 5px;
}

#footer ul li {
	border: 0px;
	display: inline-block;
	margin-right: 10px;
}

#footer ul li a {
	color: #333;
	font-size: 11px;
}

#footer p {
	font-size: 11px;
}

/* コンテンツ
--------------------------------------------------------------------*/
#main p, #main li {
	line-height: 1.5;
}

#main h2 {
	color: #666;
	padding-bottom:4px;
	border-bottom: 1px solid #c0c0c0;
	outline: none;
	font-size: 15px;
	text-align: left;
}

#main h3 {
	color: #666;
	font-size: 15px;
	text-align: left;
}

#main p {
	text-align: left;
	margin-top: 1em;
}

#smain p {
	text-align: left;
}

.errmsg {
	color: red;
}

#smain .errmsg {
	color: #666;
}

.center-msg {
	display: block;
	padding-top: 30px;
	text-align: center !important;
}

.setnum {
	color: #666;
	margin: 5px 0 5px 8px;
	letter-spacing: 0.1em;
}

/* ボタン */
.btn-s {
	width: 79px;
	height: 23px;
	border : none;
	cursor: pointer;
}
.cpmmpn-btn {
	margin: 0 auto;
	text-align: right;
	margin: 20px 0;
}

/* ホーム
--------------------------------------------------------------------*/
#main h4 {
	color: #666;
	padding-bottom:4px;
	border-bottom: 1px solid #c0c0c0;
	outline: none;
	font-size: 14px;
	text-align: left;
	margin: 5px 0 0 0;
}

#main h4.info {
	margin-top: 15px;
}

/* トップ
--------------------------------------------------------------------*/
@import url(http://fonts.googleapis.com/css?family=Open+Sans:400);
@import url(http://weloveiconfonts.com/api/?family=fontawesome);
[class*="fontawesome-"]:before {
	font-family: 'FontAwesome', sans-serif;
}

/* body */
#login {
	background: #fff;
	color: #5e5e5e;
	font: 400 87.5%/1.5em 'Open Sans', sans-serif;
}

/* Form Layout */
#login .form-wrapper {
	background: #fff;
	margin: 3em auto;
	padding: 0 1em;
	max-width: 370px;
}

#login h1 {
	text-align: center;
}

#login form {
	padding: 0 1.5em;
}

#login .form-item {
	margin-bottom: 0.75em;
	width: 100%;
}

#login .form-item input {
	background: #fff;
	border: none;
	border-bottom: 2px solid #e9e9e9;
	color: #666;
	font-family: 'Open Sans', sans-serif;
	font-size: 1em;
	height: 50px;
	transition: border-color 0.3s;
	width: 100%;
}

#login .form-item input:focus {
	border-bottom: 2px solid #c0c0c0;
	outline: none;
}

#login div.checkbox {
	text-align:left;
	padding-top: 1em;
}

#login .button-panel {
	margin: 2em 0 0;
	width: 100%;
}

.button-panel .button {
	background: #58D60F;
	border: none;
	color: #fff;
	cursor: pointer;
	height: 50px;
	font-family: 'Open Sans', sans-serif;
	font-size: 1.2em;
	letter-spacing: 0.05em;
	text-align: center;
	text-transform: uppercase;
	transition: background 0.3s ease-in-out;
	width: 100%;
}

.button:hover {
	background: #28D60F;
}


.form-footer {
	font-size: 1em;
	padding: 2em 0;
	text-align: center;
}

.form-footer a {
	color: #8c8c8c;
	text-decoration: none;
	transition: border-color 0.3s;
}

.form-footer a:hover {
	border-bottom: 1px dotted #8c8c8c;
}

/* ログアウト */
#main.logout p {
	text-align: center;
	margin-top: 1em;
}

/* ダウンロード */
.adapp {
	text-align: left;
	margin: 10px;
}

.adapp img {
	width: 30px;
	height:30px;
}

/* 使い方 */
.usage-box .imgbox {
	text-align: center;
	margin: 10px 0;
}

.usage-box img {
	width: 400px;
	height: 230px;	
}

/* 利用規約 */
#main.tol ul {
	padding-top: 0;
}
#main.tol ul li {
	text-align: left;
	margin: 0;
	padding: 0;
	border: none;
}

/* FAQ */
#main .faqbox h6 {
	color: #666;
	margin: 2em 0 0.5em 0;
}

#main .faqbox p.elm {
	margin-top: 10px;
	text-decoration: underline;

}

#main .faqbox p.head {
	margin-top: 0.5em;
}

#main .faqbox img {

}

/* メニュー
--------------------------------------------------------------------*/
.contents-nav {
	margin: 20px 0;
}
.contents-nav a {
	padding-left: 15px;
}

/* パターン
--------------------------------------------------------------------*/
.center {
	margin: 0 auto;
	text-align: center;	
}

#pattern select {
	width: 175px;
	height: 23px;
}

#pattern select option {
	font-size: 12px;
	font-weight: bold;
}

#set {
	background : url('../img/set.png') no-repeat;
}

#unset {
	background : url('../img/delete.png') no-repeat;
}

.accordion_head { 
	cursor: pointer;
	font-size: 14px;
	text-align: left;
	padding: 5px 10px;
	border: 1px solid #C8C8C8;
}

.accordion_frame {
	width: 220px;	
	background-color: white;	 
	cursor: pointer;
	margin: 0 auto;
	text-align: center;
}

.accordion_body {
	position:absolute;
	z-index:256;
	width: 220px;
	background-color: white;
	border: 1px solid #C8C8C8;	
}

.plusminus-top {
	float:left;
}
.plusminus-down {
	margin: 0 auto;
	text-align: right;
}

.accordion_body ul {
	 margin: 0 auto; 
	 padding: 0;	
}

.accordion_body ul li {
	text-decoration : none;
	text-align: left;
	font-size: 14px;
	list-style: none;
	padding: 5px 10px;
	border-top: 1px solid #C8C8C8;
}

/* 一覧 */
#main table.tbl-pattern {
	margin-top: 10px;
}

#main table.tbl-pattern .first {
	width: 130px;
}

/* 編集 ツールチップ */
.hide {
	display: none;
}

dt.dttip a.tgTtip {
	margin: 0;
	text-decoration: none;
	font-size: 0.8em;
	padding-left: 4em;
}

dt.dttip span.tooltip {
	color: #fff;
	text-align: center;
	padding: 0 0.5em;
	background-color: green;
	border-radius: 5px;
	-moz-border-radius: 5px;
}

p.tgToolTip {
	margin: 0;
	padding: 0.5em 1em;
	background-color: #666;
	border: 3px solid #000;
	color: #fff;
	border-radius: 5px;
	-moz-border-radius: 5px;
	min-height: 1em;
	top: 100px;
	left: 20px;
	position: absolute;
	z-index: 100;
}
 
.dummy {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0;
}

/* アイテム
--------------------------------------------------------------------*/
#item_list table {
		width: 100%
}

#item_list table, th, td {
	border: 1px solid #C9CACA;
	border-collapse: collapse;
	padding: 10px 5px;
}

#item_list table th {
	background-color: #58D60F;
	height: 10px;
	font-size: 14px;
	font-weight: normal;
	color: #fff;
}

#item_list table th a {
	color: #fff;
}

#item_list table td,table td a,table td p{
	font-size: 12px;
	color: #333;
}

#item_list .field-next {
	width: 79px;
}

#item_list .field-prev {
	width: 79px;
}

#item_list .field-name {
	font-size: 12px;
	font-weight: normal;
	text-align: left;
}

#item_list .field-check {
 padding-top: 15px;
 width: 30px;
}

#item_list .tran-item td, .tran-item td a,.tran-item td p {
	color: #828181;
}

#item_list .skip-item td , .skip-item td a, .skip-item td p {
	color: #828181;
}

#item_list input[type="checkbox"] {
	-webkit-appearance: none;
	position: relative;
	display: inline-block;
	width: 24px;
	height: 24px;
	background: url(../img/check.png);
	background-size:contain;	
	background-repeat: no-repeat;
	background-size: contain;
}
 
#item_list input[type="checkbox"]:checked:before {
	content: "";
	position: absolute;
	left: 0px;
	top: 0px;
	display: inline-block;
	width: 24px;
	height: 24px;
	background: url(../img/checked.png);
	background-size: 24px 24px;
}

#item_list .field-name, .field-prev , .field-next {
	position: relative;
}

#item_list .field-name-conf {
	position: absolute;
	width: 8em;
	text-align: right;
	bottom : 1px;
	right: 3px;
}

#item_list .field-pattern-conf {
	position: absolute;
	bottom : 2px;
	right: 10px;
}

.loading {
	display: none;
	margin: 50px auto; 
}

.loading_r {
	display: none;
	width: 80px;
	height: 80px;
	margin: -40px 0 0 -40px;
	position: fixed;
	left: 50%;
	top: 55%;
	z-index: 999;
	border-radius: 15px;
	padding: 5px;
}

.items-empty {
	height: 80px;
}

/* フォーム
--------------------------------------------------------------------*/
input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

#main form input[type=text],
#main form input[type=email],
#main form input[type=password] {
	padding: 0.3em;
	width: 300px;
}

#main form select {
	padding: 0.1em;
	width: 310px;
}

form input[type=radio] {
	margin-right:3px;
}

form .tbl-twlist label {
	margin-right: 6px;	/* ラジオボタン用 */
}

.btn-submit {
	text-align: center;
}

.btn-submit input {
	font-family: Arial;
	font-weight: bold;
	font-size: 20px;
	color: #ffffff;
	text-decoration: none;
	border: 1px solid #26c000;
	background: -ms-linear-gradient(top, #36c000, #36c500);
	background: -webkit-gradient(linear, 0 0, 0 100%, from(#36c000), to(#36c500));
	background: -moz-linear-gradient(top, #36c000, #36c500);
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	padding: 15px 20px 15px 20px;
	margin: 20px 0 30px 0;
}

.btn-submit input:hover {
	cursor: pointer;
	opacity: 0.8;
}

#area_confirm_btn {
	width : 360px;
	margin: 0px auto; 
}

#area_confirm_btn .btn-submit {
	float: left;
}

#area_confirm_btn .btn-submit input {
	width: 170px;
}

#area_confirm_btn .btn-submit input:last-child {
	margin-left: 10px;
}

/* その他
--------------------------------------------------------------------*/
/* 汎用テーブル */
.tbl-twlist {
	text-align: left;
	line-height: 1.6;
	border-bottom: 1px dotted #666;
	background: #f5f5f5;
}

.tbl-twlist dt {
	float: left;
	width: 10em;
	color: #666;
	font-weight:bold;
	border-top: 1px dotted #666;
	padding: 10px 0px 10px 10px;
}

.tbl-twlist dd {
	border-top: 1px dotted #666;
	background: #FFF;
	padding: 10px 10px 10px 10px;
	margin-left: 10em;
}

.tbl-twlist textarea {
	width: 80%;
}

/* 汎用テーブル 項目拡大用 */
.twsc dt {
	width: 12em;
}

.twsc dd {
	margin-left: 12em;
}

/* 汎用テーブル2 */
#main table {
	border-collapse: separate;
	border-spacing:0 5px
}

#main table, #main th, #main td {
	border:none;
}

#main th {
	font-weight: normal;
	padding: 6px 0 0 0;
}

#main td:first-child {
	border-left: solid 10px #58D60F;
}

#main table .first {
	width: 70px;
	text-align: left;
	vertical-align: middle;
	padding-left: 10px;
}

#main table .second {
	width: 100px;
	text-align: center;
	vertical-align: middle;
}

#main table .second a {
	font-size: 14px;
}

#main table .third {
	width: 100px;
	text-align: center;
	vertical-align: middle;
}

/* 汎用リスト */
#main ul {
	padding-top: 7px;
}

#main ul li {
	text-align: left;
	border-left: solid 10px #58D60F;
	margin: 0.6em 0;
	padding-left: 10px;
}

#main ul li.prv {
	border-left: solid 10px #ffa500;
}

#main ul li a {
	color: #333;
}

#main h5 {
	text-align: left;
	color: #666;
	font-size: 14px;
	font-weight: bold;
	margin: 10px 0 5px 0;
}

/* 汎用見出し項目 */
#main h6 {
	color: #666;
	text-align: left;
	font-size: 14px;
	font-weight: bold;
	border-left: solid 10px #58D60F;
	margin: 2em 0 1em 0;
	padding-left: 10px;
}

/* 戻るリンク */
.link-back a {
	display: block;;
	color: #9fa09e;
	font-size: 14px;
	margin-bottom: 20px;
	text-align: left !important;
}

/* その他リンク */
/* 左 */
.link-l a {
	display: block;
	text-align: left;
	color: #9fa09e;
	margin-bottom: 20px;
}

/* セット利用-> */
#main h3 {
	color: #666;
	font-size: 15px;
	text-align: left;
	margin-bottom:4px;
}

/* 右 */
.link-r a {
	float: right;
	color: #9fa09e;

}

div.under-line {
	border-bottom: 1px solid #c0c0c0;
	outline: none;
}
/* <- セット利用*/

/* 見出しボックス */
.caption_box {
	position: relative;
	margin-top: 2em;
	padding: 10px;
	border: 1px solid black;
}

.caption_box .caption {
	position: absolute;
	top: 0;
	left: 0;
	color: #666;
	font-weight: bold;
	font-size: 1em;
	padding: 0 1em;
	margin: 0;
	background-color: white;
	transform: translateY(-50%) translateX(1em);
}

/* 配置調整用 */
@media (max-width: 549px){
#main {
	margin: 0 10px;
}

.tbl-twlist dt {
	width: 8em;
}

.tbl-twlist dd {
	margin-left: 8em;
}

.tbl-twlist span.tw-min {
	font-size: 13px;
}

.tbl-twlist textarea {
	width: 90%;
}

/* 汎用テーブル 項目拡大用(twsc) */
.twsc dt {
	width: 9em;
}

.twsc dd {
	margin-left: 9em;
}

.twsc span.tw-min {
	font-size: 10px;
}

dt.dttip a.tgTtip {
	padding-left: 2em;
}

#main form input[type=text],
#main form input[type=email],
#main form input[type=password] {
	width: 200px;
}

#main form select {
	width: 210px;
}

#item_list .field-pattern-conf {
	bottom : 3px;
}

#item_list .field-next {
	width: 40px;
}

#item_list .field-prev {
	width: 40px;
}

.contents {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

footer p, footer a {
	font-size: 8px;
}

.link-back a {
	margin-left: 10px;
}

.cpmmpn-btn {
	padding-right: 10px;
}

.smsg {
	padding-left: 8px;
	padding-bottom: 5px;
}

#smain .errmsg {
	padding-left: 10px;
	padding-bottom: 5px;
}

.setnum {
	padding-bottom: 5px;
}

.btn-h img {
	margin: 5px 0;
	width: 60px;
}

.contents-nav a {
	padding : 0 5px;
}

td {
	height: 64px;	
}

#area_confirm_btn .btn-submit input {
	width: 150px;
}

.usage-box img {
	width: 340px;
	height: 195px;	
}

}

@media (max-width: 450px) {

.field-next {
	width: 33px;
}

.field-prev {
	width: 33px;
}

.btn-h img{
	margin: 5px 0;
	width: 50px;
}

.contents-nav a {
	padding : 0 2px;
}

}

.height180 {
	height: 180px;
}

.f_left {
	float: left;
}

.f_right {
	float: right;
}

.t_center {
	text-align: center;
}
.t_left {
	text-align: left;
}
.t_righ t{
	text-align: right;
}

.padding_t10 {
	padding-top: 10px !important;
}

.padding_t20 {
	padding-top: 20px !important;
}

.padding_t30 {
	padding-top: 30px !important;
}

.padding_t40 {
	padding-top: 40px !important;
}

.margin_t1e {
	margin-top: 2em !important;
}

.margin_t5 {
	margin-top: 5px !important;
}

.margin_t8 {
	margin-top: 8px;
}

.margin_t20 {
	margin-top: 20px !important;
}

.margin_t30 {
	margin-top: 30px;
}

.margin_l20 {
	margin-left: 20px;
}

.margin_t30 {
	margin-top: 30px;
}

.margin_t40 {
	margin-top: 40px;
}

.margin_t90 {
	margin-top: 90px;
}

.margin_t120 {
	margin-top: 120px;
}

.margin_b20 {
	margin-bottom: 20px;
}

.margin_b270 {
	margin-bottom: 270px;
}

.border_t1d666 {
	border-top: 1px dotted #666;
}

.border_bn {
	border-bottom: none;
}

/* その他微調整用 */
.font_red {
	color: red;
}

.font_gray {
	color: #c0c0c0 !important;
}

.font_under {
	font-size: 15px;
	text-decoration: underline;
}

.background_gray {
	background: #c0c0c0 !important;
	border: 1px solid #c0c0c0 !important;
}

.annotation {
	display: block;
	font-size: 12px;
	color: #9FA09E;
	text-align: left;
}

.annotation_t {
	font-size: 12px;
	text-align: left;
}
