html,
body {
	box-sizing: border-box;
}

/*------------------------------*/
/*フォント
/*------------------------------*/
#dg_main .dg_bold {
	font-weight: bold;
}

/*------------------------------*/
/*背景
/*------------------------------*/
body#dg {
	width: 100%;
	height: 100vh;
	/*background: #f7fbff;*/
	background: linear-gradient(180deg, #f7fbff 25%, #CCEEFF) fixed;
}

body#dg.login {
	background: #FFFFFF;
}

body.login .header.login {
	color: #FFFFFF;
}


/*------------------------------*/
/*機能
/*------------------------------*/
#dg_main .dg_none {
	display: none;
}


/*------------------------------*/
/*固定の上マージン
/*------------------------------*/
.dg_mt1em {
	margin-top: 1em !important;
}

.dg_mt0 {
	margin-top: 0 !important;
}

.dg_mt10 {
	margin-top: 10px !important;
}

.dg_mt20 {
	margin-top: 20px !important;
}

.dg_mt30 {
	margin-top: 30px !important;
}

.dg_mt40 {
	margin-top: 40px !important;
}

.dg_mt80 {
	margin-top: 80px !important;
}

.dg_mt120 {
	margin-top: 120px !important;
}

/*------------------------------*/
/*レイアウト
/*------------------------------*/
#dg_main {
	margin: 0 auto;
	padding: 80px 0 100px 0;
}

#dg_main .dg_right_aligned {
	display: block;
	text-align: right;
}

#dg_main .dg_center {
	text-align: center;
}

/*------------------------------*/
/*グリッド
/*------------------------------*/
#dg .ui.grid {
	margin: auto;
}

/*------------------------------*/
/*ボタン
/*閉じるアイコン
/*------------------------------*/
#dg_main .basic.button,
#dg_main .basic.buttons .button {
	background: #FFFFFF;
}

#dg_main .close {
	display: inline-block;
}

/*------------------------------*/
/*メッセージ
/*------------------------------*/
#dg_main .ui.white.message {
	background-color: #FFFFFF;
}

/*------------------------------*/
/*セグメント、囲み枠
/*------------------------------*/
#dg_main .ui.segment {
	padding: 1.5em;
}

/*------------------------------*/
/*カード
/*------------------------------*/
#dg_main .ui.one.cards {
	margin-left: -0.5em;
	margin-right: -0.5em
}

#dg_main .card .extra {
	margin-top: 5px;
}

#dg_main .card.dg_portfolio {
	padding: 5px;
}

/*------------------------------*/
/*ヘッダー、フッター
/*------------------------------*/
#dg_header>.menu,
#dg_footer>.menu {
	background-color: #0bb1ef;
}

#dg_header a.item.active,
#dg_footer a.item.active {
	background-color: rgba(0, 0, 0, .2);
}

#dg_header .dropdown.item:has(.active) {
	background-color: rgba(0, 0, 0, .2);
}


#dg_header a.item:hover,
#dg_footer a.item:hover {
	background-color: rgba(255, 255, 255, .2);
}

#dg_header .ui.menu.fixed {
	z-index: 102;
}

#dg_header .ui.menu a {
	border-right: 1px solid rgba(34, 36, 38, .10);
}


#dg_header .ui.container>.header.item {
	border-right: 1px solid rgba(34, 36, 38, .10);
}

#dg_header .ui.container>.ui.dropdown.item {
	border-right: 1px solid rgba(34, 36, 38, .10);
}

#dg_header .ui.container>.header.item:hover {
	background: inherit;
}

/*フッターの表示・非表示の切り替え*/
#dg_header .ui.menu a.sp {
	display: none;
}

#dg_header .right.menu {
	border-left: 1px solid rgba(34, 36, 38, .10);
	/*border-right: 1px solid rgba(34,36,38,.10);*/
}

@media only screen and (max-width: 767.98px) {
	#dg_footer {
		display: none;
	}

	#dg_header .ui.menu a.sp {
		display: block;
	}
}

/*------------------------------*/
/*ナビゲーション
/*------------------------------*/
#dg_header .stackable.dg_nav .container {
	transform: translateX(0%);
	transition: ease .4s;
}

@media only screen and (max-width: 767.98px) {
	#dg_header .stackable.dg_nav .container {
		position: fixed;
		top: 0;
		width: 50% !important;
		height: 100vh;
		background: #555555;
		z-index: 103;
		transform: translateX(-101%);
	}

	#dg_header .stackable.dg_nav.active .container {
		transform: translateX(0);
	}
}

#dg_header .dg_nav .item {
	text-align: center;
}

/*------------------------------*/
/*ナビゲーション上のアイコン
/*------------------------------*/
#dg_header .dg_nav .new i.icon {
	position: absolute;
	top: 0;
	left: 0;
	height: 16px;
	width: 16px;
	font-size: 8px;
	line-height: 16px;
	text-align: center;
	border-radius: 9999px;
	background: #ffd72f;
	color: #0062ff;
}

#dg_header .dg_nav .blank i.icon {
	position: absolute;
	top: 0;
	left: 0;
	height: 16px;
	width: 16px;
	font-size: 8px;
	line-height: 16px;
	text-align: center;
	border-radius: 9999px;
	background: #FF0000;
	color: #FFFFFF;
}

#dg_header .dg_nav .release i.icon {
	position: absolute;
	top: 0;
	left: 0;
	height: 16px;
	width: 16px;
	font-size: 8px;
	line-height: 16px;
	text-align: center;
	border-radius: 9999px;
	background: #FF6600;
	color: #FFFFFF;
}

/*------------------------------*/
/*ハンバーガーメニュー
/*------------------------------*/
#dg .hamburger {
	display: block;
	position: fixed;
	width: 100%;
	height: 40px;
	background: #0bb1ef;
}

/*768px以上では非表示にする*/
@media only screen and (min-width: 767.98px) {
	#dg .hamburger {
		display: none;
	}
}

#dg .hamburger button {
	position: absolute;
	top: 0;
	right: 0;
	width: 40px;
	height: 40px;
	border: none;
	background: #2185d0;
}

#dg .hamburger button.active {
	background-color: rgba(0, 0, 0, .2);
}

#dg .hamburger button:hover {
	background-color: rgba(255, 255, 255, .2);
}

/*ボタン内側*/
.hamburger button span {
	display: inline-block;
	position: absolute;
	left: 10px;
	height: 2px;
	border-radius: 1px;
	background: #fff;
	width: 50%;
	transition: all .4s;
}

.hamburger button span:nth-of-type(1) {
	top: 11px;
}

.hamburger button span:nth-of-type(2) {
	top: 19px;
}

.hamburger button span:nth-of-type(3) {
	top: 27px;
}

.hamburger button.active span:nth-of-type(1) {
	transform: translateY(8px) rotate(-45deg);
}

.hamburger button.active span:nth-of-type(2) {
	opacity: 0;
}

.hamburger button.active span:nth-of-type(3) {
	transform: translateY(-8px) rotate(45deg);
}

/*------------------------------*/
/*パンくずリスト
/*ログイン日
/*------------------------------*/
.dg_breadcrumb {
	display: none;
	white-space: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	background: rgba(210, 238, 255, 0.83);
	margin: 40px auto 0 auto;
	position: fixed;
	width: 100%;
	z-index: 99;
}

.dg_breadcrumb ul {
	display: inline-block;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0.25em 0.25em;
}

.dg_breadcrumb ul li {
	font-size: 13px;
	font-weight: bold;
	display: inline-block;
	color: #4F4F4F;
}

.dg_breadcrumb ul li a {
	padding: 0.25em 0;
	font-weight: normal;
}

.dg_breadcrumb li:not(:last-child)::after {
	content: "";
	display: inline-block;
	margin: 0 .75rem;
	position: relative;
	top: -1px;
	width: 6px;
	height: 6px;
	transform: rotate(45deg);
	border-style: solid;
	border-color: #bbbbbb;
	border-top-width: 2px;
	border-right-width: 2px;
	border-bottom-width: 0;
	border-left-width: 0;
	vertical-align: middle;
}

#dg .dg_logindate {
	padding: 0.2em 0.25em 0.4em;
	float: right;
	color: #666666;
}

/*------------------------------*/
/*ページタイトル
/*最終更新日、新規登録ボタン
/*------------------------------*/
#dg_main .dg_wrap {
	position: relative;
}

#dg_main .dg_wrap .header {
	display: inline-block;
}

#dg #dg_main .dg_page_update {
	margin-top: 0.2rem;
	float: right;
	font-size: 0.8rem;
}

#dg_main .dg_wrap .modalbtn {
	position: absolute;
	top: -6px;
	margin-left: 1.5em;
}

#dg_main a.dg_more {
	margin-left: 1em;
}

#dg_main a.dg_more i {
	margin-right: 0;
}


/*------------------------------*/
/*モーダル
/*#dg_mainの外に自動生成されるので注意
/*------------------------------*/
#dg .ui.modal>.content {
	padding: 40px;
	background: #f7fbff;
}

#dg .ui.modal p.dg_error {
	color: #db2828;
}

#dg .modals.dimmer .ui.scrolling.modal:not(.fullscreen) {
	margin: 0 auto;
}

/*------------------------------*/
/*固定のフォーム幅
/*パスワード、電話
/*------------------------------*/
#dg_main .dg_password {
	width: 16rem;
}

#dg_main .dg_tel {
	width: 16rem;
}

#dg_main .dg_invoice {
	width: 16rem;
}

/*------------------------------*/
/*アップロードフォーム 未使用
/*------------------------------*/
.ui.file.input {
	display: none;
}

/*------------------------------*/
/*幅の狭いBOX
/*ログインページなど
/*------------------------------*/
#dg_main.dg_minibox {
	margin: 0 auto;
	padding: 80px 0 200px 0;
}

#dg_main.dg_minibox,
#dg_main.dg_minibox>.grid {
	height: 100%;
}

#dg_main.dg_minibox .column {
	max-width: 450px;
	margin: 0 auto;
}

/*------------------------------*/
/*フォーム関連
/*------------------------------*/
#dg label {
	display: inline-block;
	font-size: 1rem;
}

#dg_main label[for] {
	cursor: pointer;
}

#dg_main .ui.multiple.search.dropdown input {
	display: inline-flex;
}

#dg_main .dg_annotation:after {
	content: "\A";
	white-space: pre;
}

#dg_main .ui.checkbox {
	margin-top: 0;
}

#dg_main input[type="radio"] {
	accent-color: black;
	width: 15px;
	height: 15px;
	position: relative;
	top: 2px;
}

#dg_main input[type="radio"]+label {
	margin: 0 1.5em 0 0;
	padding: 0 0 0 0.5em;
}

#dg_main input[type="checkbox"] {
	accent-color: black;
	width: 15px;
	height: 15px;
	/*position: relative;*/
	top: 2px;
}

#dg_main input[type="checkbox"]+label {
	margin: 0 1.5em 0 0;
	/*padding: 0 0 0 0.5em;*/
	font-weight: normal;
}

#dg_main .ui.checkbox {
	margin-bottom: 10px;
}

#dg_main .ui.checkbox:first-of-type {
	margin-bottom: 0px;
}

#dg_main .ui.form select {
	appearance: none;
	padding-right: 2em;
	background-image: linear-gradient(45deg, transparent 50%, rgba(0, 0, 0, 0.4) 50%), linear-gradient(135deg, rgba(0, 0, 0, 0.4) 50%, transparent 50%);
	background-size: 5px 5px, 5px 5px;
	background-position: calc(100% - 15px) 50%, calc(100% - 10px) 50%;
	background-repeat: no-repeat;
}

#dg_main .ui.form select:focus {
	outline: 0;
	border-color: #85b7d9;
}

#dg_main .ui.form .dg_townname {
	height: 2.7em;
	min-height: auto;
	max-height: auto;
	line-height: 1.21428571em;
	padding: 0.67857143em 1em;
	font-size: 1em;
	resize: none;
	line-break: anywhere;
	white-space: break-spaces;
}

#dg_main fieldset {
	padding: 0;
	margin: 0;
	border: none;
}

#dg_main .ui.input i.icon {
	height: 38px;
}

/*------------------------------*/
/*ドロップダウン
/*------------------------------*/
#dg_main .ui.multiple.dropdown>.label {
	margin-right: 0.2em;
}

#dg_main .ui.multiple.dropdown>.text {
	margin-bottom: 0;
}

/*クリアボタンの位置調整*/
#dg_main .ui.dropdown.search>.remove.icon {
	right: 1.65em;
}

#dg_main .selection.dropdown {
	width: 100%;
}

#dg .ui.dropdown>.menu>.stuck.addition.item:first-child {
	width: 100%;
	box-shadow: none;
}


#dg .ui.dropdown>.menu>.stuck.addition.item:first-child:hover {
	background: rgba(0, 0, 0, .03);
	color: rgba(0, 0, 0, .95);
}


/*------------------------------*/
/*必須マーク
/*------------------------------*/
#dg .ui.form .required.field>.checkbox::after,
#dg .ui.form .required.field>label::after,
#dg .ui.form .required.fields.grouped>label::after,
#dg .ui.form .required.fields:not(.grouped)>.field>.checkbox::after,
#dg .ui.form .required.fields:not(.grouped)>.field>label::after,
#dg .ui.form label.required::after {
	content: "必須";
	margin: 1px 0.5em 0 0.5em;
	font-size: 10px !important;
	line-height: 1;
	color: #FFFFFF;
	padding: 3px;
	background: #db2828;
}

#dg .dg_required::after {
	position: absolute;
	display: inline-block;
	content: "必須";
	margin: 1px 0.5em 0 0.5em;
	font-size: 10px !important;
	line-height: 1;
	color: #FFFFFF;
	padding: 3px;
	background: #db2828;
}

/*------------------------------*/
/*エラー表示
/*------------------------------*/
#dg_main .ui.input .dg_error {
	flex: 100%;
}

#dg span.dg_error {
	color: #FF0000;
}

#dg span.dg_error {
	color: #FF0000;
}

#dg p[class^=dg_error_] {
	margin: 0;
}

#dg_main span.dg_error.-show {
	display: block;
}

/*エラー表示用のアイコン調整用*/
#dg_main .ui.input {
	flex-wrap: wrap;
}


/*------------------------------*/
/*フォームのエラー、背景とボーダー
/*------------------------------*/
#dg .ui.form input.dg_error,
#dg .ui.form textarea.dg_error,
#dg .ui.form serect.dg_error {
	background: #fff6f6;
	border-color: #e0b4b4;
}

/*セレクトのエラーをキャッチ*/
#dg .selection.dropdown.dg_error {
	background: #fff6f6;
	border-color: #e0b4b4;
}


/*------------------------------*/
/*フォーム自動入力、背景とボーダー
/*------------------------------*/
#dg input:-webkit-autofill {
	box-shadow: 0 0 0 100px #FFFFFF inset !important;
	border-color: rgba(34, 36, 38, .15) !important;
}

#dg input.dg_error:-webkit-autofill {
	background: #fff6f6 !important;
	box-shadow: 0 0 0 100px #fff6f6 inset !important;
	border-color: #e0b4b4 !important;
}

#dg input:-webkit-autofill:focus {
	box-shadow: 0 0 0 100px #FFFFFF inset !important;
	border-color: rgba(34, 36, 38, .15) !important;
}

#dg input.dg_error:-webkit-autofill:focus {
	background: #fff6f6 !important;
	box-shadow: 0 0 0 100px #fff6f6 inset !important;
	border-color: #e0b4b4 !important;
}


/*------------------------------*/
/*法人個人の切り替え
/*------------------------------*/
#dg_main .dg_houjin {
	display: none;
}

/*------------------------------*/
/*フィールドのインライン指定
/*------------------------------*/
#dg_main .inline.fields {
	margin: 0.5em 0;
}

/*------------------------------*/
/*注釈、注意書き
/*------------------------------*/
#dg .dg_annotation {
	display: inline-block;
	margin-left: 1rem;
	clear: both;
	flex: auto;
}

#dg label.required+.dg_annotation {
	margin-left: 0;
}

#dg label+input {
	clear: both;
	display: block;
}

#dg .dg_annotation+input {
	clear: none;
	display: block;
}

/*------------------------------*/
/*テーブル
/*------------------------------*/
#dg_main .dg_table {
	width: 100%;
	border-collapse: collapse;
	overflow-wrap: break-word;
	border-top: 1px solid rgba(34, 36, 38, .15);
}

#dg_main .dg_table th {
	background: rgba(0, 0, 0, .03);
	border: 1px solid rgba(34, 36, 38, .15);

	border-top: none;
	padding: 11px;
	width: 18.75%;
	background: #e2f1ff;
}

#dg_main .dg_table td {
	border: 1px solid rgba(34, 36, 38, .15);
	padding: 11px;
	width: 31.25%;
	background: #FFFFFF;
	border-top: none;
}

#dg_main .dg_table.dg_single td {
	width: 81.25%;
}

#dg_main .description table {
	width: 100%;
}

/*------------------------------*/
/*テーブルの縦並び
/*------------------------------*/

/*768px以上では非表示にする*/
@media only screen and (max-width: 767.98px) {

	#dg_main .dg_table tr {
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
	}

	#dg_main .dg_table th {
		border-right: none;
		width: 37.5%;
	}

	#dg_main .dg_table td {
		width: 62.5%;
	}

	#dg_main .dg_table.dg_single th {
		width: 37.5%;
	}

	#dg_main .dg_table.dg_single td {
		width: 62.5%;
	}

}

/*------------------------------*/
/*メンバー一覧のテーブル
/*------------------------------*/
#dg_main .dg_member,
#dg_main .dg_member * {
	border-radius: 0;
}

#dg_main .dg_member thead {
	background: #e2f1ff;
}

#dg_main .dg_member thead th {
	background: #e2f1ff;
}

@media only screen and (min-width: 767.98px) {

	#dg_main .dg_member thead th,
	#dg_main .dg_member tbody td {
		padding: 11px;
	}
}

/*------------------------------*/
/*テーブル SF用の設定 rdoクラス
/*------------------------------*/
#dg_main table.rdo {
	border-collapse: collapse;
	border-spacing: 0;
}

#dg_main table.rdo td:first-of-type {
	padding-left: 0;
}

/*------------------------------*/
/*新規登録完了
/*------------------------------*/
#dg_main .segment.dg_welcome {
	padding: 60px 40px;
}

/*------------------------------*/
/*ブックマーク
/*------------------------------*/
a.bookmark {
	position: absolute;
	right: 0.5em;
	top: 1em;
	z-index: 3;
}

a.bookmark i {
	font-size: 1em;
	color: #CCCCCC;
}

a.bookmark:hover i {
	color: #ffd800;
}

/*------------------------------*/
/*案件のラベルの設定
/*------------------------------*/
#dg_main .horizontal.label {
	margin-top: 0.3em;
	margin-left: 0;
	float: left;
}

#dg_main .label.urgent {
	background: #db2828;
	color: #FFFFFF;
}

#dg_main .label.usually {
	background: #2185d0;
	color: #FFFFFF;
}

#dg_main .card.end {
	background: #EEEEEE;
}

#dg_main .label.end {
	background: #CCCCCC;
}

/*------------------------------*/
/*おすすめ
/*------------------------------*/
#dg_main .dg_recomend {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	grid-gap: 30px;
	margin-top: 30px;
}

#dg_main .dg_recomend .item img {
	width: 100%;
	transition: transform 0.2s;
}

#dg_main .dg_recomend .item img:hover {
	transform: translate(0px, -5px);
}

/*------------------------------*/
/*お知らせ、ニュース、案件
/*------------------------------*/
#dg_main .ui.cards {
	margin-top: 0em;
}

#dg_main .dg_news .card,
#dg_main .dg_project .card {
	position: relative;
	transition: transform 0.2s;
}

#dg_main .dg_news .card:hover,
#dg_main .dg_project .card:hover {
	transform: translate(0px, -5px);
}

#dg_main .dg_news .card a::before,
#dg_main .dg_project .card a::before {
	content: "";
	position: absolute;
	top: -1px;
	left: -1px;
	right: -1px;
	bottom: -1px;
}

#dg_main .dg_news a.header,
#dg_main .dg_project a.header {
	color: #000000;
	margin-top: 0.2em;
}

#dg_main .dg_news .period,
#dg_main .dg_project .period {
	font-weight: bold;
	color: #000000;
}

#dg_main .period>mark.new {
	background: none;
	color: #FF0000;
	margin-right: 0.5em;
}

#dg_main .dg_project .period span,
#dg_main .dg_project .period span {
	font-weight: normal;
	color: #333333;
}

#dg_main .dg_news .card:hover .header,
#dg_main .dg_news .card:hover .period,
#dg_main .dg_project .card:hover .header,
#dg_main .dg_project .card:hover .period {
	color: #0bb1ef;
}


/*------------------------------*/
/*お知らせ詳細、ニュース詳細、案件詳細
/*------------------------------*/
#dg_main .dg_news_detail .segment .content,
#dg_main .dg_project_detail .segment .content {
	padding: 1rem;
}

#dg_main .dg_news_detail .segment .header,
#dg_main .dg_project_detail .segment .header {
	color: #000000 !important;
	margin-top: 0.2em;
}

#dg_main .dg_news_detail .segment .period,
#dg_main .dg_project_detail .segment .period {
	font-weight: bold;
	color: #000000;
}

/*------------------------------*/
/*検索
/*------------------------------*/
#dg_main .list_sreach {
	position: absolute;
	top: -6px;
	right: 0;
	left: auto;
}

/*------------------------------*/
/*プロフィール
/*------------------------------*/
#dg_main .dg_title_invoice {
	font-size: 85%;
}

/*------------------------------*/
/*スキル
/*------------------------------*/
#dg_main .dg_skill {
	display: inline-block;
	margin-top: 10px;
	margin-right: 1rem;
	font-weight: normal;
}

#dg_main select.skill {
	display: inline-block;
	width: auto;
}

/*------------------------------*/
/*経歴、経験
/*------------------------------*/
#dg_main .dg_career .card .content {
	padding: 1.5rem;
}

#dg_main .dg_exp {
	display: inline-block;
	margin-top: 10px;
	font-weight: normal;
}

/*------------------------------*/
/*ポートフォリオ
/*------------------------------*/
#dg_main .dg_portfolio .card .content {
	padding: 1.5rem;
}

/*------------------------------*/
/*ヘルプ
/*------------------------------*/
#dg_main ul.dg_rule {
	padding: 0;
	list-style: none;
}

/*------------------------------*/
/*ログイン
/*------------------------------*/
#dg_main img.logo {
	width: auto;
}

/*------------------------------*/
/*支払通知
/*------------------------------*/
#dg_main .sort th a {
	display: block;
	color: inherit;
}

#dg_main .sort th a i {
	color: #999999;
	display: none;
}

#dg_main .sort th a i.active {
	display: inline-block;
}

#dg_main .sort th a,
#dg_main .sort th a i {
	color: #2185d0;
}

#dg_main .payment_form .button {
	white-space: nowrap;
}

#dg_main .payment_form .button.checking {
	padding-left: 1em;
	padding-right: 1em;
}

.pushable>.pusher {
	background: none !important;
}

.ui.visible.left.sidebar~.pusher {
	transform: translate3d(0, 0, 0);
}
