@charset "utf-8";
/*
	Last Update: 2026/04/23
	Author: Cursor
*/

/*===================================================================
	mypage dashboard
===================================================================*/
body#mypage #base,
body#mypage #base {
	padding-top: 0;
}

/* トースト（事業場追加のフィードバック等） */
body#mypage .mypage_toast {
	position: fixed;
	left: 50%;
	bottom: max(24px, env(safe-area-inset-bottom, 0px));
	z-index: 10050;
	max-width: min(90vw, 28rem);
	padding: 12px 22px;
	border-radius: 10px;
	background: #1a3a5c;
	color: #fff;
	font-size: 0.95em;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	box-shadow: 0 10px 28px rgba(20, 45, 80, 0.28);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate3d(-50%, 18px, 0);
	transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s;
}

body#mypage .mypage_toast.is_visible {
	opacity: 1;
	visibility: visible;
	transform: translate3d(-50%, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
	body#mypage .mypage_toast {
		transition: none;
	}
}

body#mypage #page_title .main,
body#login.mypage_login #page_title .main {
	display: inline-block;
	position: relative;
	font-weight: 700;
	letter-spacing: 0.045em;
	padding: 0 0 12px;
	color: #1f4f95;
}

body#mypage #page_title .title_wrap,
body#login.mypage_login #page_title .title_wrap {
	padding: 0;
	border: 0;
	background: transparent;
	border-radius: 0;
	text-align: center;
}

body#mypage #page_title .main::after,
body#login.mypage_login #page_title .main::after {
	content: "";
	display: block;
	width: 88px;
	height: 4px;
	margin: 12px auto 0;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--c-color4) 0%, var(--c-color2) 100%);
}

body#mypage .hl_1 .main,
body#login.mypage_login .hl_1 .main {
	letter-spacing: 0.02em;
}

body#mypage .button._send,
body#mypage .button._contact,
body#login.mypage_login .button._send {
	border-radius: 999px;
	background: linear-gradient(135deg, #2f66b8 0%, #0166b3 50%, #44bde6 100%);
	border: 0;
	box-shadow: 0 10px 22px rgba(21, 73, 137, 0.25);
	padding-left: 26px;
	padding-right: 26px;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

body#mypage .button._send span,
body#mypage .button._contact span,
body#login.mypage_login .button._send span {
	color: #fff;
}

body.pc#mypage .button._send:hover,
body.pc#mypage .button._contact:hover,
body.pc#login.mypage_login .button._send:hover {
	transform: translateY(-2px);
	filter: brightness(1.07);
	box-shadow: 0 14px 26px rgba(21, 73, 137, 0.3);
}

body#mypage .button._send:active,
body#mypage .button._contact:active,
body#login.mypage_login .button._send:active {
	transform: translateY(0);
}

body#mypage .button._send:focus-visible,
body#mypage .button._contact:focus-visible,
body#login.mypage_login .button._send:focus-visible {
	outline: 3px solid var(--c-color2);
	outline-offset: 2px;
}

body#mypage .mypage_dashboard {
	position: relative;
	display: flex;
	min-height: 100vh;
	min-height: 100dvh;
	align-items: flex-start;
	background: #f3f7fc;
}

body#mypage .mypage_dashboard::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 220px;
	background: var(--c-color4);
}

body#mypage .mypage_sidebar {
	position: sticky;
	top: 0;
	width: 220px;
	flex: 0 0 220px;
	height: 100vh;
	height: 100dvh;
	background: transparent;
	color: #fff;
	display: flex;
	flex-direction: column;
	z-index: 1;
}

body#mypage .mypage_brand {
	padding: 26px 16px 22px;
	font-weight: 700;
	line-height: 1.7;
	text-align: center;
	background: #135ea6;
}

body#mypage .mypage_nav {
	padding: 14px 10px 8px;
}

body#mypage .mypage_nav a {
	display: block;
	padding: 10px 12px;
	margin-bottom: 8px;
	border-radius: 8px;
	color: #fff;
	background: rgba(255, 255, 255, 0.08);
}

body#mypage .mypage_nav_badge {
	display: inline-block;
	margin-left: 8px;
	padding: 1px 8px;
	border-radius: 999px;
	background: #d93025;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;
	vertical-align: middle;
}

body#mypage .mypage_nav_badge._draft {
	background: #d4a72c;
	color: #3f2f00;
}

body#mypage .mypage_nav a._active {
	background: #2a7fc6;
}

body#mypage .mypage_nav a:hover {
	text-decoration: none;
	background: rgba(255, 255, 255, 0.2);
}

body#mypage .mypage_side_bottom {
	margin-top: auto;
	padding: 12px 10px 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

body#mypage .mypage_side_bottom a {
	display: block;
	padding: 8px 12px;
	color: #fff;
}

body#mypage .mypage_side_bottom a:hover {
	text-decoration: none;
	background: rgba(255, 255, 255, 0.13);
	border-radius: 8px;
}

body#mypage .mypage_main {
	flex: 1 1 auto;
	padding: 26px 26px 36px;
}

body#mypage .mypage_topbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}

body#mypage .mypage_topbar h2 {
	margin: 0;
	font-size: 2rem;
	font-weight: 700;
}

body#mypage .mypage_user {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #d9e7f3;
}

body#mypage .mypage_layout {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 16px;
}

body#mypage .mypage_card {
	background: #fff;
	border: 1px solid #dde9f4;
	border-radius: 10px;
	box-shadow: 0 1px 4px rgba(24, 67, 109, 0.08);
}

body#mypage .mypage_card + .mypage_card {
	margin-top: 16px;
}

body#mypage .mypage_card_header {
	padding: 12px 16px;
	font-weight: 700;
	border-bottom: 1px solid #edf3fa;
	color: var(--c-color1);
}

body#mypage .mypage_card_body {
	padding: 14px 16px;
}

body#mypage .mypage_status_box {
	padding: 12px 14px;
	background: #eaf5ff;
	border-left: 4px solid var(--c-color2);
}

body#mypage .mypage_status_box._returned {
	background: #fff4f6;
	border-left-color: #d93025;
}

body#mypage .mypage_status_key {
	font-size: 0.9em;
	color: #3f668a;
}

body#mypage .mypage_status_label {
	font-size: 1.8rem;
	font-weight: 700;
	color: #1257a2;
	line-height: 1.25;
}

body#mypage .mypage_status_label._returned {
	color: #8d1f28;
}

body#mypage .mypage_status_box._returned .mypage_status_key,
body#mypage .mypage_status_box._returned .mypage_muted {
	color: #8d1f28;
}

body#mypage .mypage_muted {
	margin-top: 8px;
	color: #49596a;
}

body#mypage .mypage_disabled_btn {
	margin-top: 12px;
	padding: 10px 12px;
	border: 1px solid #d7d7d7;
	border-radius: 6px;
	background: #efefef;
	color: #666;
}

body#mypage .mypage_status_action_row {
	margin-top: 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body#mypage .mypage_status_action_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 12px;
	border-radius: 8px;
	font-weight: 700;
	text-decoration: none;
}

body#mypage .mypage_status_action_btn._primary {
	background: var(--c-color1);
	color: #fff;
}

body#mypage .mypage_status_action_btn._secondary {
	border: 1px solid #c7d7e8;
	background: #f7fbff;
	color: var(--c-color1);
}

body#mypage .mypage_info_list dl {
	display: grid;
	grid-template-columns: 120px 1fr;
	margin: 0;
	padding: 10px 0;
	border-top: 1px solid #f0f4f8;
}

body#mypage .mypage_info_list dt {
	font-weight: 700;
}

body#mypage .mypage_info_list dd {
	margin: 0;
}

body#mypage .mypage_return_alert {
	margin: 10px 0 0;
	padding: 10px 12px;
	border: 1px solid #f2c9cf;
	border-left: 4px solid #d93025;
	border-radius: 6px;
	background: #fff4f6;
	color: #8d1f28;
	font-weight: 700;
}

body#mypage .mypage_inline_return_badge {
	display: inline-block;
	margin-right: 8px;
	padding: 1px 8px;
	border-radius: 999px;
	background: #d93025;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;
	vertical-align: middle;
}

body#mypage .mypage_right_notice li {
	padding-left: 0;
	text-indent: 0;
	padding: 10px 0;
	border-top: 1px solid #eef2f7;
}

body#mypage .mypage_right_notice.ul_1 > li::before {
	content: none;
}

body#mypage .mypage_right_notice .date {
	display: block;
	font-size: 0.88em;
	color: #6e7f93;
}

body#mypage .mypage_notice_link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	color: inherit;
	text-decoration: none;
}

body.pc#mypage .mypage_notice_link:hover {
	color: var(--c-color1);
	text-decoration: none;
}

body#mypage .mypage_notice_main {
	display: block;
	min-width: 0;
}

body#mypage .mypage_notice_link .title {
	display: block;
	margin-top: 2px;
}

body#mypage .mypage_notice_detail_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	padding: 3px 8px;
	border-radius: 999px;
	border: 1px solid #c3d8ec;
	background: #f7fbff;
	color: var(--c-color1);
	font-size: 0.75em;
	font-weight: 700;
	line-height: 1.2;
}

body.pc#mypage .mypage_notice_link:hover .mypage_notice_detail_button {
	background: #ecf5ff;
	border-color: #9fc0df;
}

body#mypage .mypage_info_archive {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

body#mypage .mypage_info_archive_item {
	border: 1px solid #dde9f4;
	border-radius: 10px;
	background: #fff;
	overflow: hidden;
	box-shadow: 0 1px 4px rgba(24, 67, 109, 0.06);
}

body#mypage .mypage_info_archive_item a {
	display: block;
	color: #2a3440;
	text-decoration: none;
}

body.pc#mypage .mypage_info_archive_item a:hover {
	text-decoration: none;
}

body.pc#mypage .mypage_info_archive_item a:hover .mypage_info_archive_content {
	background: #f8fbff;
}

body#mypage .mypage_info_archive_thumb {
	display: block;
	background: #f5f9ff;
}

body#mypage .mypage_info_archive_thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

body#mypage .mypage_info_archive_content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 8px 10px;
}

body#mypage .mypage_info_archive_main {
	display: block;
	min-width: 0;
}

body#mypage .mypage_info_archive_item .date {
	display: block;
	font-size: 0.8em;
	color: #6e7f93;
}

body#mypage .mypage_info_archive_item .title {
	display: block;
	margin-top: 2px;
	font-weight: 700;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.95em;
}

body#mypage .mypage_info_detail_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	padding: 4px 9px;
	border-radius: 999px;
	border: 1px solid #c3d8ec;
	background: #f7fbff;
	color: var(--c-color1);
	font-size: 0.78em;
	font-weight: 700;
	line-height: 1.2;
}

body.pc#mypage .mypage_info_archive_item a:hover .mypage_info_detail_button {
	background: #ecf5ff;
	border-color: #9fc0df;
}

body#mypage .mypage_back_action {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid #edf3fa;
	text-align: right;
}

body#mypage .mypage_back_button {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	padding: 8px 14px;
	border: 1px solid #b8cde3;
	border-radius: 999px;
	background: #f8fbff;
	color: var(--c-color1);
	font-weight: 700;
	text-decoration: none;
	line-height: 1.3;
}

body.pc#mypage .mypage_back_button:hover {
	background: #edf5ff;
	text-decoration: none;
}

body#mypage .mypage_back_button:focus-visible {
	outline: 3px solid var(--c-color2);
	outline-offset: 2px;
}

body#mypage .mypage_info_detail_head {
	padding-bottom: 14px;
	border-bottom: 1px solid #edf3fa;
}

body#mypage .mypage_info_detail_card {
	overflow: hidden;
}

body#mypage .mypage_info_detail_body {
	max-width: 980px;
	margin: 0 auto;
}

body#mypage .mypage_info_detail_date {
	margin: 0;
	font-size: 0.88em;
	color: #6e7f93;
}

body#mypage .mypage_info_detail_title {
	margin: 6px 0 0;
	font-size: 2.6rem;
	line-height: 1.4;
	letter-spacing: 0.02em;
}

body#mypage .mypage_info_detail_section {
	margin-top: 20px;
}

body#mypage .mypage_info_detail_section h4 {
	margin: 0 0 12px;
	padding-left: 10px;
	border-left: 4px solid var(--c-color2);
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--c-color1);
}

body#mypage .mypage_info_detail_images {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

body#mypage .mypage_info_detail_image {
	background: #f9fcff;
	border: 1px solid #d9e7f3;
	border-radius: 8px;
	padding: 8px;
}

body#mypage .mypage_info_detail_image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: contain;
	background: #fff;
	height: auto;
	border-radius: 6px;
}

body#mypage .mypage_info_detail_image .caption {
	margin: 8px 2px 0;
	font-size: 0.92em;
	color: #4f5d6d;
	line-height: 1.5;
}

body#mypage .mypage_info_detail_files {
	margin: 0;
	padding-left: 18px;
}

body#mypage .mypage_info_file_link {
	font-weight: 700;
}

body#mypage .mypage_info_detail_comment {
	padding: 14px 16px;
	background: #fcfdff;
	border: 1px solid #e6eef7;
	border-radius: 8px;
	line-height: 1.9;
	word-break: break-word;
}

body#mypage .mypage_info_detail_comment img,
body#mypage .mypage_info_detail_comment video {
	max-width: 100%;
	height: auto;
}

body#mypage .mypage_info_detail_comment iframe {
	display: block;
	width: 100%;
	max-width: 640px;
	aspect-ratio: 16 / 9;
	height: auto;
}

body#mypage .mypage_info_detail_nav {
	margin-top: 24px;
	padding-top: 12px;
	border-top: 1px solid #edf3fa;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 8px;
	align-items: center;
}

body#mypage .mypage_info_detail_nav a:nth-child(1) {
	justify-self: start;
}

body#mypage .mypage_info_detail_nav a:nth-child(2) {
	justify-self: center;
}

body#mypage .mypage_info_detail_nav a:nth-child(3) {
	justify-self: end;
}

body#mypage .mypage_info_nav_link {
	font-weight: 700;
}

body#mypage .mypage_help {
	background: #fffdf2;
	border-color: #f1e8b8;
}

/*===================================================================
	mypage form page (reuse flow visual)
===================================================================*/
/* 会員登録（details）とその下の入力欄の区切り。flow_item._no_line だと上境界が無いため */
body#mypage #form .box_in > details.entry_member_details + form > div.flow_simple_form {
	margin-top: 0;
	padding-top: 20px;
	border-top: 1px solid #dbe5f0;
}
body#mypage #form .flow_simple_form {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}
/* 申請フォーム: セクション境界（h4 装飾ラインではなく、ブロック同士の罫線） */
body#mypage #form .entry_form_block {
	box-sizing: border-box;
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0;
	margin-bottom: 0;
	border-top: 1px solid #dbe5f0;
	padding-top: 16px;
}
body#mypage #form .entry_form_block--branch_items {
	margin-top: 12px;
}
body#mypage #form .entry_form_block .hl_3 {
	margin-top: 0;
}
body#mypage #form .flow_item + .flow_item {
	margin-top: 16px;
}
body#mypage #form .flow_item._line {
	padding-bottom: 14px;
	border-bottom: 1px solid #dbe5f0;
}
body#mypage #form .flow_item._no_line {
	padding-bottom: 0;
	border-bottom: 0;
}
body#mypage #form .flow_label {
	display: block;
	margin-bottom: 7px;
	font-weight: bold;
}
body#mypage #form .flow_req {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 8px;
	border-radius: 12px;
	background: #e53935;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.1;
	vertical-align: middle;
}
body#mypage #form .flow_note {
	margin: -2px 0 7px;
	font-size: 0.84em;
	color: #d93025;
}
body#mypage #form .flow_note._plain {
	color: #222;
}
/* 銀行・支店の参照結果（flow_note 既定 0.84em だと小さすぎる） */
body#mypage #form .flow_note._plain[name="bank"],
body#mypage #form .flow_note._plain[name="branch"] {
	font-size: 1em;
	line-height: 1.5;
	margin: 6px 0 10px;
	color: #333;
}
body#mypage #form .flow_value {
	padding: 9px 0 3px;
	font-size: 1.05em;
}
body#mypage #form .flow_item._readonly {
	padding-bottom: 8px;
}
body#mypage #form .flow_zip_row {
	display: flex;
	gap: 10px;
	align-items: center;
}
body#mypage #form .flow_zip_input {
	display: flex;
	align-items: center;
	gap: 6px;
}
body#mypage #form .flow_prefix {
	font-weight: bold;
}
body#mypage #form .flow_zip_input input {
	width: 160px;
}
body#mypage #form .flow_submit {
	margin-top: 14px;
}
body#mypage #form .flow_confirm_notice {
	max-width: 760px;
	margin: 0 auto 16px;
	padding: 10px 12px;
	border: 1px solid #ffd9b3;
	background: #fff8ef;
	color: #8a4b08;
	border-radius: 8px;
	font-size: 0.92em;
}

body#mypage #form .entry_member_details summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}

body#mypage #form .entry_member_details {
	border-color: #dbe5f0;
	background: #f7fbff;
	color: #1f4f95;
}

body#mypage #form .entry_member_details summary::-webkit-details-marker {
	display: none;
}

body#mypage #form .entry_member_details summary::after {
	content: "▼";
	font-size: 0.75em;
	color: #3f668a;
}

body#mypage #form .entry_member_details[open] summary::after {
	content: "▲";
}

body#mypage #form .entry_member_hint {
	font-size: 0.85em;
	color: #3f668a;
	font-weight: 700;
}

body#mypage #form .branch-actions {
	max-width: 760px;
	margin: 0 auto 10px;
}

body#mypage #form .branch-add-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 14px;
	border: 1px solid #1f4f95;
	border-radius: 999px;
	background: #fff;
	color: #1f4f95;
	font-weight: 700;
	cursor: pointer;
}

body#mypage #form .branch-add-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

body#mypage #form .branch-card {
	border: 1px solid #d6e3f2;
	border-radius: 12px;
	background: #f9fcff;
	padding: 0;
	overflow: hidden;
}

body#mypage #form .branch-summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 11px 14px;
	cursor: pointer;
	background: #eef5fd;
	border-bottom: 1px solid #d6e3f2;
}

body#mypage #form .branch-summary::-webkit-details-marker {
	display: none;
}

body#mypage #form .branch-title {
	font-weight: 700;
	color: #17467f;
}

body#mypage #form .branch-sub {
	font-size: 12px;
	color: #4f6f93;
}

body#mypage #form .branch-card-body {
	padding: 12px 14px 14px;
	background: #fff;
}

body#mypage #form .branch-card-actions {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 6px;
}

/* 事業所の基本フィールド: 上から事業場名 / 郵便 / 住所（横並びにしない。flow の他行と同じ 1 行 1 項目） */
body#mypage #form .branch-fields {
	margin-bottom: 0;
}

body#mypage #form .branch-fields .flow_item > input[type="text"] {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* 事業所マトリクス: page.css の .tbl_form は 767px 以下で行が display:block 化されるため、ここでは併用しない */
body#mypage #form .branch-stat-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

body#mypage #form .branch-stat-table {
	width: 100%;
	min-width: 32rem;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 0.9em;
}

body#mypage #form .branch-stat-table th,
body#mypage #form .branch-stat-table td {
	border: 1px solid #dbe5f0;
	padding: 6px 4px;
	vertical-align: middle;
	text-align: center;
}

body#mypage #form .branch-stat-table thead th,
body#mypage #form .branch-stat-table .branch-stat-table__edge,
body#mypage #form .branch-stat-table tbody th[scope="row"] {
	background: #f4f8fd;
	font-weight: 700;
}

body#mypage #form .branch-stat-table .branch-stat-table__edge {
	width: 2.5em;
}

body#mypage #form .branch-stat-table .branch-stat-table__rate {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

body#mypage #form .branch-stat-table .flow_zip_input {
	justify-content: center;
}

body#mypage #form .branch-stat-table .flow_zip_input input {
	width: 100%;
	max-width: 5rem;
	min-width: 0;
}

body#mypage #form .branch-stat-table tr.branch-stat-table__sum th,
body#mypage #form .branch-stat-table tr.branch-stat-table__sum td {
	border-top: 2px solid #b9cce3;
	background: #f2f7fd;
}

body#mypage #form .branch-stat-table .branch-stat-table__num {
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

body#mypage #form .branch-goal {
	margin-top: 12px;
}

body#mypage #form .branch-goal .flow_label {
	margin-bottom: 6px;
}

body#mypage #form .branch-remove-btn {
	padding: 6px 10px;
	border: 1px solid #df6b6b;
	border-radius: 999px;
	background: #fff;
	color: #b93434;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
}

body#mypage #form .branch-remove-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

body#mypage #form input.entry_capital_input {
	text-align: left;
}

body#mypage #form input.entry_capital_input::placeholder {
	text-align: left;
}

body#mypage #form .flow_confirm_form .flow_value_box {
	min-height: auto;
	padding: 2px 0 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #1f2d3d;
}

body#mypage #form .center.wrapper {
	max-width: 1000px;
	padding-top: 36px;
	padding-bottom: 28px;
}

body#mypage #form .box {
	border: 1px solid #d7e4f2;
	box-shadow: 0 12px 30px rgba(22, 52, 92, 0.08);
}

body#mypage #form .tbl_form tr > th {
	background: #f4f8fd;
}

body#mypage #form .tbl_form tr > * {
	border-bottom-color: #dbe5f0;
}

body#mypage #form input[type="text"],
body#mypage #form input[type="email"],
body#mypage #form input[type="password"],
body#mypage #form input[type="tel"],
body#mypage #form input[type="number"],
body#mypage #form input[type="date"],
body#mypage #form select {
	border: 1px solid #b9cce3;
	border-radius: 8px;
	padding: 11px 12px;
	background: #fff;
}

body#mypage #form input:focus,
body#mypage #form select:focus {
	border-color: var(--c-color1);
	box-shadow: 0 0 0 3px rgba(47, 111, 176, 0.15);
	outline: 0;
}

body#mypage #form .attach-check-table {
	width: 100%;
	border-collapse: collapse;
}

body#mypage #form .attach-check-table th,
body#mypage #form .attach-check-table td {
	border: 1px solid #d9e1ea;
	padding: 10px 12px;
	vertical-align: top;
}

body#mypage #form .attach-check-table thead th {
	background: #eef3f8;
	font-weight: 700;
}

body#mypage #form .attach-check-table tbody tr:nth-child(even) {
	background: #f8fbff;
}

body#mypage #form .attach-check-table .attach-check-actions {
	min-width: 180px;
}

body#mypage #form .attach-check-table .attach-check-actions .button {
	display: inline-block;
}

/*===================================================================
	mypage login pages
===================================================================*/
body#login.mypage_login .center4 {
	max-width: 580px;
}

body#login.mypage_login #page_title .wrapper2 {
	padding-top: 56px;
	padding-bottom: 20px;
}

body#login.mypage_login .bg_color1-o {
	position: relative;
	overflow: hidden;
	background: linear-gradient(180deg, #f2f8ff 0%, #e7f3ff 100%) !important;
}

body#login.mypage_login .bg_color1-o::before,
body#login.mypage_login .bg_color1-o::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

body#login.mypage_login .bg_color1-o::before {
	width: 320px;
	height: 320px;
	right: -120px;
	top: 24px;
	background: radial-gradient(circle, rgba(68, 189, 230, 0.24) 0%, rgba(68, 189, 230, 0) 70%);
}

body#login.mypage_login .bg_color1-o::after {
	width: 260px;
	height: 260px;
	left: -90px;
	bottom: 12px;
	background: radial-gradient(circle, rgba(47, 102, 184, 0.2) 0%, rgba(47, 102, 184, 0) 70%);
}

body#login.mypage_login .box {
	position: relative;
	z-index: 1;
	border: 1px solid rgba(164, 201, 234, 0.9);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.88);
	box-shadow: 0 18px 36px rgba(26, 80, 146, 0.16);
	backdrop-filter: blur(2px);
}

body#login.mypage_login .box_in {
	padding: 30px 34px;
}

body#login.mypage_login .login_form input[type="text"],
body#login.mypage_login .login_form input[type="email"],
body#login.mypage_login .login_form input[type="password"],
body#login.mypage_login .login_form input[type="tel"] {
	border: 1px solid #b6d0ea;
	border-radius: 12px;
	padding: 12px 14px 12px 46px;
	background: linear-gradient(180deg, #fafdff 0%, #f0f7ff 100%);
}

body#login.mypage_login .login_form input:focus {
	border-color: #2f66b8;
	box-shadow: 0 0 0 3px rgba(47, 102, 184, 0.18);
	outline: 0;
}

@media (max-width: 991px){
	body#mypage .mypage_dashboard {
		display: block;
	}
	body#mypage .mypage_dashboard::before {
		display: none;
	}
	body#mypage .mypage_sidebar {
		position: static;
		top: auto;
		width: auto;
		height: auto;
		min-height: auto;
	}
	body#mypage .mypage_main {
		padding: 18px 12px 24px;
	}
	body#mypage #form .flow_simple_form {
		max-width: none;
	}
	body#mypage #form .center.wrapper {
		padding-top: 22px;
		padding-bottom: 18px;
	}
	body#mypage #form .flow_zip_row {
		flex-direction: column;
		align-items: flex-start;
	}
	body#mypage #form .flow_zip_input input {
		width: 140px;
	}
	body#mypage .mypage_topbar h2 {
		font-size: 1.45rem;
	}
	body#mypage .mypage_layout {
		grid-template-columns: 1fr;
	}
	body#mypage .mypage_info_detail_images {
		grid-template-columns: 1fr;
	}
	body#mypage .mypage_info_detail_nav {
		grid-template-columns: 1fr;
	}
	body#mypage .mypage_info_detail_nav a,
	body#mypage .mypage_info_detail_nav span {
		justify-self: start !important;
	}
	body#mypage .mypage_info_detail_title {
		font-size: 2.1rem;
	}
	body#mypage .mypage_info_archive {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	body#mypage .mypage_back_action {
		text-align: left;
	}
	body#login.mypage_login .center4 {
		max-width: 100%;
	}
	body#login.mypage_login #page_title .wrapper2 {
		padding-top: 34px;
	}
	body#login.mypage_login .box_in {
		padding: 22px 18px;
	}
}

@media (max-width: 1300px){
	body#mypage .mypage_info_archive {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 640px){
	body#mypage .mypage_info_archive {
		grid-template-columns: 1fr;
	}
}
