﻿@charset "UTF-8";


/* ====================================================================================================
   ベース
   ---------------------------------------------------------------------------------------------------- */

/* 基本 */
html                                  { scroll-behavior:smooth; }
body                                  { background:#f0f0f0; font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }


/* ====================================================================================================
   ログイン
   ---------------------------------------------------------------------------------------------------- */

/* 基本 */
#login                                { background:#0fafaa; }

/* Sect_ログイン */
#sect_login                           { width:90%; max-width:600px; margin:50px auto 0 auto; padding:40px 60px 80px 60px; background:#fff; border-radius:20px; }
#sect_login h1                        { order:; width:250px; height:125px; margin:0 auto; }
#sect_login h1 img                    { width:100%; height:100%; display:block; } 
#sect_login h1 a                      { display:block; }

/* ID・パスワード */
p.note                                { margin:20px 0 0 0; font-size:1.0rem; font-weight:normal; line-height:1.4; text-align:center; }
#user_login,
#user_pass                            { margin-top:20px; padding:10px 10px 10px 40px; background:url(#) no-repeat 10px center #fafafa; background-size:22px; color:#111; border:1px solid #c8c8c8; border-radius:10px; }
#user_login                           { background-image:url(../../img/mng/black/login.svg); }
#user_pass                            { background-image:url(../../img/mng/black/pass.svg); }
p.forgetmenot                         { margin:20px 0 0 0; font-size:0.9rem; }

/* Sect_ログイン_フッタ */
#sect_login_footer                    { position:relative; margin:50px auto 0 auto; padding:0 60px 0 60px; }
#sect_login_footer h1                 { margin:15px 0 0 0; font-size:0.9rem; line-height:1.4; letter-spacing:0.05em; font-weight:400; text-align:center; color:#fff; text-align:center; }
#sect_login_footer p                  { margin:15px 0 0 0; font-size:0.7rem; line-height:1.6; letter-spacing:0.05em; font-weight:400; text-align:center; color:#ff; text-align:center; }
#sect_login_footer p a                { color:#fff; }


/* ====================================================================================================
   ヘッタ
   ---------------------------------------------------------------------------------------------------- */

/* 基本 */
header                                { position:relative; display:flex; justify-content:space-between; background:#fff; }

/* カラム */
.hdr_ttl                              { position:absolute; top:0; left:0; }
.hdr_left                             { display:flex; justify-content:start; width:100%; padding:20px 20px 20px 250px; }
.hdr_right                            { display:flex; justify-content:  end; width:100%; padding:20px; }

/* ロゴ */
.hdr_ttl h1                           { width:200px; height:100px; }
.hdr_ttl h1 img                       { display:block; width:100%; height:100%; } 
.hdr_ttl h1 a                         { display:block; }

/* ボタン */
.hdr_btn                              { display:block; width:70px; height:60px; }
.hdr_btn img                          { display:block; width:30px; height:40px; margin:0 auto; }
.hdr_btn span                         { display:block; margin:5px auto 0 auto; font-size:0.7rem; line-height:1.4; letter-spacing:0.02em; font-weight:400; text-align:center; color:#4b4b4b; }


/* ====================================================================================================
   ページ設定
   ---------------------------------------------------------------------------------------------------- */

/* カラム */
.column                               { display:flex; justify-content:space-between; padding:0 0 100px 0; }
.nav                                  { width:300px;}
.main                                 { width:calc(100% - 300px); }


/* ====================================================================================================
   ナビ
   ---------------------------------------------------------------------------------------------------- */

/* 基本 */
.nav                                  { padding:0 0 50px 0; background:#fff; border-radius:0 0 40px 0;  }
.nav .section                         { border-top:1px solid #e1e1e1; }

/* ラベル */
.nav_label                            { padding:16px 16px 16px 30px; font-size:0.95rem; position:relative; line-height:1.4; cursor:pointer; user-select:none; transition:.2s; }
.nav_label img                        { display:inline-block; width:24px; height:24px; margin:0 10px 0 0; }
.nav_label:hover,
.nav_label.open                       { background:#f6f6f6; }

/* リスト */
.nav_list                             { padding:0 0 25px 0; background:#f6f6f6; }
.nav_list li a                        { display:block; padding:10px 10px 10px 60px; font-size:0.75rem; font-weight:600; color:#111; transition:.2s; }
.nav_list li a:hover                  { color:#444; }
.nav_list li a img                    { display:inline-block; width:15px; height:15px; margin:0 5px 0 0; transform:scale(0.8); }

/* リスト（サブ） */
.nav_list li._sub a                   { display:block; padding:6px 6px 6px 80px; font-size:0.65rem; font-weight:normal; }
.nav_list li._sub a img               { width:10px; height:10px; transform:scale(0.8); }

/* 開閉設定 */
.nav_list                             { display:none; }
.nav_list.open                        { display:block; }


/* ====================================================================================================
   メイン
   ---------------------------------------------------------------------------------------------------- */

/* 基本 */
.main section.section                 { padding:60px 6%; border-bottom:1px solid #e1e1e1; }
.main .main_inner section:last-child  { padding-bottom:0; border-bottom:none; }

/* メインメニュー */
.main_menu                            { display:flex; flex-wrap:wrap; margin:50px auto 0 auto; }
.main_menu li                         { display:block; margin: 0 10px 20px 10px; width:calc(25% - 20px); background:transparent; }
.main_menu li a                       { position:relative; display:flex; flex-wrap:wrap; align-content:center; width:100%; height:100%; aspect-ratio:1; padding:15px; color:#222; background:#fff; border:3px solid #89c2b6; border-radius:15px; box-shadow:5px 5px 20px rgba(0,0,0,0.04); transition:.2s; }
.main_menu li a img                   { display:block; width:60px; height:60px; margin:0 auto 5px auto; }
.main_menu li a h1                    { width:100%; margin:10px 0 0 0; font-size:1.2rem; line-height:1.5; letter-spacing:0.05em; font-weight:bold; text-align:center; }
.main_menu li a p                     { width:100%; margin:10px 0 0 0; font-size:0.7rem; line-height:1.5; letter-spacing:0.05em; font-weight:normal; text-align:center; }
.main_menu li a:hover                 { background-color:#e7f2f0; border-color:#0fafaa; box-shadow:5px 5px 20px rgba(0,0,0,0.08); }


/* ====================================================================================================
   メインヘッタ
   ---------------------------------------------------------------------------------------------------- */

/* ページパス */
.main_page_path ol                    { display:flex; flex-wrap:wrap; width:88%; margin:30px auto 0 auto; border-bottom:1px solid#e1e1e1; }
.main_page_path ol li                 { position:relative; margin:0 0 10px 20px; }
.main_page_path ol li::before         { content:""; position:absolute; top:4px; left:-12px; z-index:2; width:7px; height:7px; display:block; background:url(../../img/mng/black/next.svg) no-repeat center center; background-size:cover; opacity:0.8; }
.main_page_path ol li:first-child:before { top:2px; left:-18px; width:12px; height:12px; background:url(../../img/mng/black/config.svg) }

/* メインタイトル */
.main_title                           { position:relative; width:88%; margin:40px auto 0 auto; padding:0 0 0 20px; font-size:2.0rem; line-height:1; letter-spacing:0.05em; font-weight:bold; }
.main_title ._sub                     { font-size:50%; }
.main_title::before                   { content:""; position:absolute; top:0; bottom:0; left:0; width:4px; height:calc(100% - 10px); margin:auto 0; background:#0fafaa; border-radius:4px; }

/* 前に戻る */
.main_btn_back                        { display:inline-block; margin:30px 0 0 6%; padding:5px 10px; font-size:0.8rem; line-height:1.2; border:1px solid #e1e1e1; border-radius:5px; background:#fff; }
.main_btn_back img                    { display:inline-block; width:15px; height:15px; margin:0 5px 0 0; transform:scale(0.8); }


/* ====================================================================================================
   ページパス
   ---------------------------------------------------------------------------------------------------- */

/* 基本 */
#page_path ol                         { display:flex; flex-wrap:wrap; width:88%; margin:30px auto 0 auto; border-bottom:1px solid#e1e1e1; }
#page_path ol li                      { position:relative; margin:0 0 10px 20px; }
#page_path ol li::before              { content:""; position:absolute; top:4px; left:-12px; z-index:2; width:7px; height:7px; display:block; background:url(../../img/mng/black/next.svg) no-repeat center center; background-size:cover; opacity:0.8; }
#page_path ol li:first-child:before   { top:2px; left:-18px; width:12px; height:12px; background:url(../../img/mng/black/config.svg) }


/* ====================================================================================================
   共通パーツ
   ---------------------------------------------------------------------------------------------------- */

/* 非表示設定 */
._pc_none, .pc_none, .pc_non, .hide   { display:none; }
.show                                 { display:block; }

/* タイトル・見出し */
.ttl                                  { position:relative; font-weight:bold; color:#111; line-height:1.4em; font-feature-settings:"palt"; text-align:justify; text-justify:inter-ideograph; letter-spacing:0.05em; }
.ttl._pg                              {  }
.ttl._ttl_a                           { font-size:2.0rem; margin:50px 0 0 0; padding:5px 0 5px 20px; }
.ttl._ttl_b                           { font-size:1.6rem; margin:50px 0 0 0; padding:10px 0; border-top:2px solid #ddd; }
.ttl._ttl_c                           { font-size:1.3rem; margin:50px 0 0 0; padding:10px 20px; background:#ddd; border-radius:10px; }
.ttl._ttl_d                           { font-size:1.3rem; margin:50px 0 0 0; padding:5px 0 5px 20px; }
.ttl ._sub                            { font-size:50%; }
.ttl._ttl_a::before,
.ttl._ttl_d::before                   { content:""; position:absolute; top:0; bottom:0; left:0; width:4px; height:calc(100% - 20px); margin:auto 0; background:#0fafaa; border-radius:4px; }
.ttl._ttl_d::before                   { height:calc(100% - 16px); }
.ttl._ttl_b::before                   { content:""; position:absolute; top:-2px; left:0; width:100px; height:2px; margin:0; background:#0fafaa; }
.ttl._ttl_c::before                   { content:""; position:absolute; bottom:-7px; left:38px; z-index:2; width:0; height:0; border-right:9px solid transparent; border-top:7px solid #ddd; border-left:9px solid transparent; }

/* テキスト・段落 */
._read                                { margin:20px auto 0 auto; font-size:0.95rem; line-height:1.8; letter-spacing:0.05em; }
._pg                                  { display:block; }

/* 強調文字 */
u                                     { margin:0 2px; text-decoration:none; background:linear-gradient(transparent 0%, transparent 75%, #ffff66 76%, #ffff66 95%, transparent 96%); }
.msg                                  { padding:0 10px; color:#111; background:#ddd; border-radius:2px; }
.msg._info                            { color:#13856e; background:#d0e6e2; }
.msg._attention                       { color:#111111; background:#ffff66; }
.msg._warning                         { color:#111111; background:#ffa566; }
.msg._error                           { color:#ffffff; background:#f96363; }

._txt_error                           { color:#f00; }
._txt_msg                             { color:#13856e; margin:0 5px; padding:0 10px; background:#d0e6e2; border-radius:20px; }
._txt_gray                            { color:#999; }
._txt_read                            { font-size:116%; line-height:1.6em; }

/* テキストリンク */
.txt_link img                         { display:inline-block; width:28px; height:28px; margin:0 -2px; transform:scale(0.5); }

/* リンクタグ */
.link_tag                             { padding:0 10px; color:#0fafaa; background:#fff; border:1px solid #0fafaa; border-radius:20px; }
.link_tag._color_invert               { color:#fff; background:#0fafaa; border:1px solid #0fafaa; }
.link_tag._color_red                  { color:#fff; background:#f04141; border-color:#f04141; }
.link_tag._color_blue                 { color:#fff; background:#419bf0; border-color:#419bf0; }
.link_tag._color_green                { color:#fff; background:#6ed25a; border-color:#6ed25a; }
.link_tag._color_yellow               { color:#111; background:#ffe63c; border-color:#ffe63c; }
.link_tag._color_gray                 { color:#fff; background:#818181; border-color:#818181; }
.link_tag._color_black                { color:#fff; background:#000000; border-color:#000000; }

/* ボタン基本 */
.btn                                  { margin:20px 0 0 0; padding:15px 40px; font-size:1.0rem; line-height:1.5; text-align:center; color:#fff; cursor:pointer; font-weight:600; border:none; background:#0fafaa; border-radius:50px;font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; transition:.2s; }
.btn:hover                            { opacity:0.8; }
.btn img                              { display:inline-block; width:22px; height:22px; margin:0 10px 0 0; }
.btn._left                            { margin-right:5px; }
.btn._right                           { margin-left:5px; }
.btn._center                          { margin-left:auto; margin-right:auto; }

/* ボタンカラー */
.btn._color_red                       { color:#fff; background:#f04141; border-color:#f04141; }
.btn._color_blue                      { color:#fff; background:#419bf0; border-color:#419bf0; }
.btn._color_green                     { color:#fff; background:#6ed25a; border-color:#6ed25a; }
.btn._color_yellow                    { color:#111; background:#ffe63c; border-color:#ffe63c; }
.btn._color_gray                      { color:#fff; background:#818181; border-color:#818181; }
.btn._color_black                     { color:#fff; background:#000000; border-color:#000000; }

/* ボタンサイズ */
.btn._m                               { width:300px; }
.btn._s                               { width:150px; }
.btn._ss                              { width:100px; margin:10px 0 0 0; padding:8px; font-size:0.9rem; border-radius:10px; }
.btn._sss                             { width: 50px; margin: 5px 0 0 0; padding:4px; font-size:0.7rem; border-radius: 5px; }

/* ボタン移動 */
.btn_move                             { width:150px; margin:20px 0 0 0; padding:15px; font-size:0.4rem; line-height:1.5; text-align:center; color:#111; cursor:pointer; font-weight:600; border:none; background:#ddd; border:1px solid #ccc; border-radius:10px; transition:.2s; }
.btn_move img                         { width:14px; height:14px; }
.btn_move._ss                         { width:100px; margin:10px 0 0 0; padding:5px; border-radius:10px; }
.btn_move._ss img                     { width:14px; height:14px; }
.btn_move._sss                        { width:50px; margin:5px 0 0 0; padding:4px; border-radius:5px; }
.btn_move._sss img                    { width:12px; height:12px; }
.btn_move._left                       { margin-right:5px; }
.btn_move._right                      { margin-left:5px; }
.btn_move._center                     { margin-left:auto; margin-right:auto; }
.btn_move:hover                       { opacity:0.8; }

/* ブロック要素・横幅 */
._width_100p                          { width:100%; }
._width_75p                           { width: 75%; }
._width_50p                           { width: 50%; }
._width_25p                           { width: 25%; }

/* トグルボタン */
.btn_toggle                           { margin:20px 0 0 0; padding:15px; font-size:1.0rem; line-height:1.5; text-align:center; color:#111; cursor:pointer; font-weight:600; border:none; background:#ddd; border:1px solid #ccc; border-radius:10px; transition:.2s; }
.btn_toggle._m                        { width:300px; padding:10px; font-size:0.8rem; border-radius:8px; }
.btn_toggle._s                        { width:150px; padding: 5px; font-size:0.7rem; border-radius:6px; }
.btn_toggle img                       { display:inline-block; width:22px; height:22px; margin:0 10px 0 0; }
.btn_toggle._left                     { margin-right:5px; }
.btn_toggle._right                    { margin-left:5px; }
.btn_toggle._center                   { margin-left:auto; margin-right:auto; }
.btn_toggle:hover                     { opacity:0.8; }

/* UL リスト */
ul.ul                                 { margin:50px 0 0 0; font-size:0.95rem; line-height:1.4; letter-spacing:0.05em; }
ul.ul li                              { position:relative; display:block; margin-top:10px; padding:0 0 0 20px; }
ul.ul li:before                       { content:""; position:absolute; top:8px; left:4px; z-index:2; display:block; width:4px; height:4px; background:#999; border:2px solid #999; border-radius:50%; box-sizing:border-box; }
ul.ul li._circle:before               { top:6px; left:2px; width:8px; height:8px; }
ul.ul li._square:before               { top:6px; left:2px; width:8px; height:8px; border-radius:0; }
ul.ul li._color_invert:before         { background:#fff; border:2px solid #000; }
ul.ul li._color_action:before         { background:#0fafaa; border-color:#0fafaa; }
ul.ul li._color_red:before            { background:#f04141; border-color:#f04141; }
ul.ul li._color_blue:before           { background:#419bf0; border-color:#419bf0; }
ul.ul li._color_green:before          { background:#6ed25a; border-color:#6ed25a; }
ul.ul li._color_yellow:before         { background:#ffe63c; border-color:#ffe63c; }
ul.ul li._color_gray:before           { background:#818181; border-color:#818181; }
ul.ul li._color_black:before          { background:#000000; border-color:#000000; }

/* UL リスト（小） */
ul.ul._s                              { font-size:0.8rem; }
ul.ul._s li:before                    { top:6px; left:4px; }

/* UL リスト（調整） */
ul.ul li.msg_note                     { margin-top:5px; padding:0 0 0 15px; }
ul.ul li.msg_note:before              { top:6px; }

/* OL リスト */
ol.ol                                 { margin:50px 0 0 0; font-size:0.95rem; line-height:1.4; letter-spacing:0.05em; counter-reset:ol; }
ol.ol li                              { position:relative; display:block; margin-top:10px; padding:0 0 0 20px; }
ol.ol li:before                       { counter-increment:ol; content:counter(ol); position:absolute; top:2px; left:-4px; width:16px; text-align:center; font-size:0.70rem; line-height:16px; font-weight:bold; color:#fff; background:#0fafaa; border-radius:50%; }
ol.ol ul.ul li:before                 { content:""; position:absolute; top:8px; left:4px; z-index:2; display:block; width:4px; height:4px; background:#999; border:2px solid #999; border-radius:50%; box-sizing:border-box; }

/* フレームボックス */
.frame_box                            { width:100%; margin:50px auto 0; padding:40px; background:#fff; }
.frame_box._line                      { border:2px solid #000; }
.frame_box._radius                    { border-radius:40px; }
.frame_box._radius_s                  { border-radius:10px; }
.frame_box._color_red                 { border-color:#f04141; }
.frame_box._color_blue                { border-color:#419bf0; }
.frame_box._color_green               { border-color:#6ed25a; }
.frame_box._color_yellow              { border-color:#ffe63c; }
.frame_box._color_gray                { border-color:#818181; }
.frame_box._color_black               { border-color:#000000; }

.frame_box._bg_color_red              { background-color:#fbcfcf; }
.frame_box._bg_color_blue             { background-color:#cfe6fb; }
.frame_box._bg_color_green            { background-color:#dbf4d6; }
.frame_box._bg_color_yellow           { background-color:#fff9ce; }
.frame_box._bg_color_gray             { background-color:#dfdfdf; }
.frame_box._bg_color_black            { background-color:#000000; }

/* フロート */
._left                                { float: left; }
._right                               { float:right; }
.clear,
._clear                               { clear: both; }

/* 隠し要素 */
._hide                                { display:none; }
._opacity_0p                          { opacity: 0%; }
._opacity_25p                         { opacity:25%; }
._opacity_50p                         { opacity:50%; }
._opacity_75p                         { opacity:75%; }

/* タブ */
.tab_box                              { margin:60px auto 0 auto; }
.tab_label                            { display:flex; flex-wrap:wrap; }
.tab_label_one                        { margin-right: 5px; padding:12px 24px; font-size:0.95rem; line-height:1.4; font-weight:600; border-radius:10px 10px 0 0; cursor:pointer; }
.tab_body_one                         { padding:30px; border-radius:0 10px 10px 10px; }

/* テーブル：基本 */
table                                 { margin:50px 0 0 0; font-size:0.95rem; line-height:1.5; border-collapse:collapse; border-spacing:0; }
table th,
table td                              { vertical-align:middle; word-wrap:break-word; }
table p                               { margin:15px 0 0 0; }

/* テーブル：上下（全体指定） */
table._valign_top th,
table._valign_top td                  { vertical-align:top; }
table._valign_middle th,
table._valign_middle td               { vertical-align:middle; }
table._valign_bottom th,
table._valign_bottom td               { vertical-align:bottom; }

/* テーブル：上下（個別指定） */
table th._valign_top,
table td._valign_top                  { vertical-align:top !important; }
table th._valign_middle,
table td._valign_middle               { vertical-align:middle !important; }
table th._valign_bottom,
table td._valign_bottom               { vertical-align:bottom !important; }

/* テーブル：左右（全体指定） */
table._align_left th, 
table._align_left td                  { text-align:left; }
table._align_center th, 
table._align_center td                { text-align:center; }
table._align_right th, 
table._align_right td                 { text-align:right; }

/* テーブル：左右（個別指定） */
table th._align_left, 
table td._align_left                  { text-align:left !important; }
table th._align_center, 
table td._align_center                { text-align:center !important; }
table th._align_right, 
table td._align_right                 { text-align:right !important; } 

/* テーブル内テーブルのスタイル無効 */
table._style_no                       { border:none; }
table._style_no th,
table._style_no td                    { padding:0 !important; background:none !important; border:none !important; }

/* テーブル：横幅 */
table._100p                           { width:100%; }
table._50p                            { width: 50%; }
table._25p                            { width: 25%; }

/* テーブルテーマ：インプット */
table.table_input                     { border:1px solid #e1e1e1; }
table.table_input th,
table.table_input td                  { padding:14px; border:1px solid #e1e1e1; }
table.table_input th                  { background:#f6f6f6; }
table.table_input td                  { background:#fff; }

/* テーブルテーマ：リスト */
table.table_list                      { border-top:1px solid #e1e1e1; }
table.table_list th,
table.table_list td                   { padding:14px; border-bottom:1px solid #e1e1e1; }
table.table_list th                   { background:#fff; color:#13856e; font-weight:bold; }
table.table_list td                   { background:#fff; }

/* テーブルテーマ：検索用 */
table.table_search                              { border-collapse:unset; border-top:2px solid #87d7d4; border-right:1px solid #87d7d4; border-bottom:1px solid #87d7d4; border-left:2px solid #87d7d4; border-radius:10px; }
table.table_search th,
table.table_search td                           { padding:14px; border-right:1px solid #87d7d4; border-bottom:1px solid #87d7d4; }
table.table_search th                           { background:#e7f2f0; }
table.table_search td                           { background:#fff; }
table.table_search tr:first-child>*:first-child { border-radius:8px 0 0 0; }
table.table_search tr:first-child>*:last-child  { border-radius:0 8px 0 0; }
table.table_search tr:last-child>*:first-child  { border-radius:0 0 0 8px; }
table.table_search tr:last-child>*:last-child   { border-radius:0 0 8px 0; }


/* テーブルテーマ：ノーマル */
table.table_normal                    { border:2px solid #ddd; }
table.table_normal th,
table.table_normal td                 { padding:14px; border:1px solid #ddd; }
table.table_normal th                 { background:#f6f6f6; }
table.table_normal td                 { background:#fff; }

/* テーブル：横スクロール用 */
.scroll_box                           { display:flex; overflow-x:scroll; white-space:nowrap; -webkit-overflow-scrolling:touch; }
.scroll_box table                     { min-width:800px; }

/* ページナビ：リスト */
.pg_list_nav                          { width:100%; margin:60px auto 0 auto; }
.pg_list_nav ul                       { display:flex; justify-content:center; }
.pg_list_nav li                       { display:flex; margin:0 5px; font-size1.2rem; line-height:1.5; text-align:center; }
.pg_list_nav li a                     { transition:.2s; }
.pg_list_nav li a,
.pg_list_nav li span                  { display:flex; justify-content:center; align-items:center; width:44px; height:44px; font-size:0.95rem; font-weight:600; color:#111; background:#fff; border-radius:50%; }
.pg_list_nav li a:hover               { background:#f6f6f6; }
.pg_list_nav li span                  { opacity:0.3; }
.pg_list_nav li._prev a,
.pg_list_nav li._next a,
.pg_list_nav li._prev span,
.pg_list_nav li._next span            { padding:15px; }
.pg_list_nav li._prev img,
.pg_list_nav li._next img,            { width:14px; height:14px; }

/* dl、dt、dd */
.dl_a                                 { display:flex; flex-wrap:wrap; align-items:stretch; width:100%; margin:60px auto 0 auto; border:1px solid #ccc; border-bottom:none; }
.dl_a dt                              { width:150px; padding:5px; background:#f5f5f5; border-right:1px solid #ccc; border-bottom:1px solid #ccc; }
.dl_a dd                              { width:calc(100% - 150px); padding:5px; background:#fff; padding:5px; border-bottom:1px solid #ccc; }

/* ライン */
hr                                    { margin:30px 0px; border:0; height:1px; background:#e1e1e1; }

/* マージン調整 */
._mg_0                                { margin:0 !important; }
._mg_5                                { margin:5px !important; }
._mg_10                               { margin:10px !important; }
._mg_25                               { margin:25px !important; }
._mg_50                               { margin:50px !important; }
._mg_75                               { margin:75px !important; }
._mg_100                              { margin:100px !important; }

._mg_t_0                              { margin-top:0 !important; }
._mg_t_5                              { margin-top:5px !important; }
._mg_t_10                             { margin-top:10px !important; }
._mg_t_25                             { margin-top:25px !important; }
._mg_t_50                             { margin-top:50px !important; }
._mg_t_75                             { margin-top:75px !important; }
._mg_t_100                            { margin-top:100px !important; }

._mg_l_0                              { margin-left:0 !important; }
._mg_l_5                              { margin-left:5px !important; }
._mg_l_10                             { margin-left:10px !important; }
._mg_l_25                             { margin-left:25px !important; }
._mg_l_50                             { margin-left:50px !important; }
._mg_l_75                             { margin-left:75px !important; }
._mg_l_100                            { margin-left:100px !important; }

._mg_r_0                              { margin-right:0 !important; }
._mg_r_5                              { margin-right:5px !important; }
._mg_r_10                             { margin-right:10px !important; }
._mg_r_25                             { margin-right:25px !important; }
._mg_r_50                             { margin-right:50px !important; }
._mg_r_75                             { margin-right:75px !important; }
._mg_r_100                            { margin-right:100px !important; }

._mg_b_0                              { margin-bottom:0 !important; }
._mg_b_5                              { margin-bottom:5px !important; }
._mg_b_10                             { margin-bottom:10px !important; }
._mg_b_25                             { margin-bottom:25px !important; }
._mg_b_50                             { margin-bottom:50px !important; }
._mg_b_75                             { margin-bottom:75px !important; }
._mg_b_100                            { margin-bottom:100px !important; }

/* 余白調整 */
._pd_0                                { padding:0 !important; }
._pd_5                                { padding:5px !important; }
._pd_10                               { padding:10px !important; }
._pd_25                               { padding:25px !important; }
._pd_50                               { padding:50px !important; }
._pd_75                               { padding:75px !important; }
._pd_100                              { padding:100px !important; }

._pd_t_0                              { padding-top:0 !important; }
._pd_t_5                              { padding-top:5px !important; }
._pd_t_10                             { padding-top:10px !important; }
._pd_t_25                             { padding-top:25px !important; }
._pd_t_50                             { padding-top:50px !important; }
._pd_t_75                             { padding-top:75px !important; }
._pd_t_100                            { padding-top:100px !important; }

._pd_l_0                              { padding-left:0px !important; }
._pd_l_5                              { padding-left:5px !important; }
._pd_l_10                             { padding-left:10px !important; }
._pd_l_25                             { padding-left:25px !important; }
._pd_l_50                             { padding-left:50px !important; }
._pd_l_100                            { padding-left:100px !important; }

._pd_r_0                              { padding-right:0px !important; }
._pd_r_5                              { padding-right:5px !important; }
._pd_r_10                             { padding-right:10px !important; }
._pd_r_25                             { padding-right:25px !important; }
._pd_r_50                             { padding-right:50px !important; }
._pd_r_100                            { padding-right:100px !important; }

._pd_b_0                              { padding-bottom:0 !important; }
._pd_b_5                              { padding-bottom:5px !important; }
._pd_b_10                             { padding-bottom:10px !important; }
._pd_b_25                             { padding-bottom:25px !important; }
._pd_b_50                             { padding-bottom:50px !important; }
._pd_b_75                             { padding-bottom:75px !important; }
._pd_b_100                            { padding-bottom:100px !important; }


/* ====================================================================================================
   フッタ
   ---------------------------------------------------------------------------------------------------- */

/* ページ先頭へ */
#scroll_top                           { display:flex; justify-content:end; width:100%; margin:25px 0 0 0; padding:0 60px; }
#scroll_top a                         { display:block; width:60px; height:60px; padding:18px; background:#fff; border-radius:50%; }
#scroll_top a img                     { width:24px; height:24px; }


/* ====================================================================================================
   フォーム
   ---------------------------------------------------------------------------------------------------- */

/* フォーム基本 */
select,
input[type=text],
input[type=password],
textarea                              { margin:10px 0 0 0; padding:10px 0 10px 10px; font-size:0.95rem; line-height:1.5; font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; background-color:#fafafa; border: 1px solid #c8c8c8; border-radius:10px; box-sizing:border-box; }
select                                { cursor:pointer; }

/* サイズ */
textarea._100,
input[type=text]._100                 { width:100%; }
textarea._100p,
input[type=text]._100p                { width:100%; }
textarea._m,
input[type=text]._m                   { width:300px; margin-right:5px; }
textarea._s,
input[type=text]._s                   { width:200px; margin-right:5px; }
textarea._ss,
input[type=text]._ss                  { width:100px; margin-right:5px; }
textarea._sss,
input[type=text]._sss                 { width:50px; margin-right:5px; }

/* ラベル */
.msg_label                            { margin:10px 5px 0 0; font-size:0.9rem; line-height:1.5; }
.msg_note                             { margin:10px 5px 0 0; font-size:0.7rem; color:#666; }
.msg_error                            { padding:0 10px; color:#ffffff; background:#f96363; border-radius:2px; }
.msg_label._left,
.msg_unit                             { display:flex; align-items:center; margin:10px 5px 0 0; min-height:47px; }

/* 必須エリア／色 */
._mustitem                            { background:#e7f2f0 !important; border-color:#0fafaa !important; }
._erroritem                           { color:#630015 !important; background:#ffd9e1 !important; border-color:#f00 !important; }
._disabled                            { background:#eee !important; border-color:#eee !important; cursor:default !important; pointer-events:none; }

/* サブボックス */
.sub_box                              { margin:50px 0 0 0; padding:0 0 0 50px; }

/* ラジオボタン・チェックボックス */
.label_rb,
.label_cb                             { margin:10px 15px 0 0; line-height:22px; cursor:pointer; }
input[type=radio],
input[type=checkbox]                  { margin:0 10px 0 5px; transform:scale(1.4); cursor:pointer; }

/* ラジオボタン・チェックボックス※_disabled */
.label_rb._disabled,
.label_cb._disabled                   { color:#999; border-radius:4px; }

* ファイル選択 */
input[type="file"]                    { color:rgb(31, 41, 55); border:1px solid rgb(191, 194, 199); border-radius:0.375rem; padding-right:0.5rem; width:24rem; cursor:pointer; }
::file-selector-button,
::-webkit-file-upload-button          { margin-right:10px; padding:10px 20px; color:#fff; background-color:#0fafaa; border:none; border-radius:25px; cursor:pointer; }

/* カレンダー／日時 */
.calbox                               { position:relative; float:left; display:flex; justify-content:center; align-items:center; width:46px; min-height:46px; margin:10px 10px 0 0; background: #0fafaa; border-radius:10px; cursor:pointer; }
.calbox img                           { width:29px; height:29px; }
.calbox:after                         { content:""; position:absolute; top:18px; right:-5px; z-index:0; display:block; border-style:solid; border-width:5px 0px 5px 5px; border-color:transparent transparent transparent #0fafaa; }
.calbox:hover                         { opacity:.8; }
.ui-datepicker                        { z-index:2; background:#fff; padding:25px; border:2px solid #0fafaa; border-radius:10px; display:none; }
.ui-datepicker-header                 { display:flex; flex-wrap:wrap; justify-content:space-between; }
.ui-datepicker-header .ui-icon        { padding:5px 10px; background:#eee; border-radius:5px; cursor:pointer; }
.ui-datepicker-title                  { width:100%; margin:10px auto 0 auto; font-size:1.2rem; text-align:center; font-weight:bold; }
.ui-datepicker-calendar               { width:100%; margin:10px auto 0 auto; }
.ui-datepicker-calendar thead         { font-size:0.7rem; }
.ui-datepicker-calendar thead th      { padding-bottom:5px; }
.ui-datepicker-calendar tbody         { font-size:0.8rem; }
.ui-state-default                     { display:block; padding:5px 10px; text-align:center;  }

/* 画像・ファイルアップロード */
.fd_box                               { position:relative; }
.fd_box::after                        { content:""; display:block; clear:both; height:0; visibility:hidden; }
.fd_list                              { float:left; width:calc(100% - 155px); height:150px; margin-right:5px; padding:10px; color:#888; background:#fafafa; border:1px solid #e1e1e1; border-radius:10px; overflow:auto; }
.fd_list .img_one                     { position:relative; display:block; float:left; width:60px; height:60px; margin:0 4px 4px 0; padding:3px; border-radius:6px; }
.fd_list .img_one img                 { width:54px; height:54px; border:1px solid rgba(0,0,0,0.1); border-radius:4px; }
.fd_list .img_one a                   { display:block; position:absolute; top:-2px; right:-2px; width:20px; height:20px; font-size:18px; line-height:20px; text-align:center; font-weight:bold; color:#fff; background-color:#f04141; border-radius:50%; cursor:pointer; }
.fd_list .img_one_sel                 { cursor:pointer; transition:.2s; }
.fd_list .img_one_sel:hover           { background-color:#0fafaa;}
.fd_list .img_one_selected            { background-color:#0fafaa; }
.fd_area                              { float:left; position:relative; width:150px; height:150px; background:url(../../img/mng/white/photo.svg) no-repeat center 20px #0fafaa; border:1px solid #0fafaa; border-radius:#0fafaa; background-size:80px; border-radius:10px; cursor:pointer; transition:.2s; }
.fd_area:hover                        { opacity:.8; }
.fd_area span                         { position:absolute; bottom:18px; left:0px; display:block; width:100%; text-align:center; font-size:12px; color:#fff; z-index:2; }
.fd_area:after                        { content:""; position:absolute; top:64px; left:-8px; display:block; border-style:solid; border-width:10px 10px 10px 0px; border-color:transparent #0fafaa transparent transparent; z-index:2; }
.fd_area.photos                       { background-image:url(../../img/mng/wt/photos.svg); }
.fd_form                              { display:none; }

/* タグ・画像挿入ボタン */
.tag_insert                           { margin:10px 0 0 0 }
.img_insert                           { margin:10px 0 0 0 }
.img_insert_btn , 
.tag_insert_btn , 
#btn_brremove , 
#map_toggle                           { position:relative; width:40px; height:40px; margin:0 2px 2px 0; padding:10px; font-size:0.8rem; line-height:20px; color:#fff; background-color:#0fafaa; border:none; border-radius:50%; box-sizing:border-box; cursor:pointer; transition:.1s; }
.img_insert_btn img,
.tag_insert_btn img                   { display:inline-block; width:20px; height:20px; }
.img_insert_btn:hover,
.tag_insert_btn:hover                 { background-color:#3fbfbb; }
.img_insert_btn span,
.tag_insert_btn span                  { opacity:0; position:absolute; top:50px; left:-52px; font-size:0.8rem; line-height:1.5; color:#fff; background:#2b2e33; width:140px; padding:5px 0; border-radius:5px; z-index:100; box-sizing:border-box; pointer-events:none; user-select:none; transition:.2s; }
.img_insert_btn:hover span,
.tag_insert_btn:hover span            { opacity:1; }
.img_insert_btn span:before,
.tag_insert_btn span:before           { content:""; position:absolute; top:-4px; left:50%; margin-left:-2px; display:block; border-style:solid; border-width:0 4px 4px 4px; border-color:transparent transparent #2b2e33 transparent; z-index:2; }

/* 管理ボタン */
.mng_btn                              { display:inline-block; margin:5px 4px 5px 0; padding:0 10px; font-size:0.95rem; line-height:1.5; color:#0fafaa; background:#fff; border:1px solid #0fafaa; border-radius:20px; cursor:pointer; transition:.2s; }

/* タグリスト */
.list_tag                             { display:flex; flex-wrap:wrap; margin:50px 0 0 0; }
.list_tag .link_tag                   { display:inline-block; margin:0 4px 5px 0;}

/* マップ */
#map_canvas                           { width:100%; height:300px; background-color:#f3f1ed; border:2px solid #666; box-sizing:border-box; }

/* Fancybox */
.td_data .fancybox                    { width:100px; }
.td_data .fancybox img                { border-radius:10px; }

/* プレビューボタン */
.box_btn_preview                      { position:fixed; top:110px; right:10px; z-index:2; }
.btn_preview                          { display:flex; justify-content:center; align-items:flex-start; width:90px; height:110px; padding:65px 5px 5px 5px; font-size:0.8rem; line-height:1.4; letter-spacing:-0.05em; font-weight:bold; color:#0fafaa; background-image:url(../../img/mng/black/preview.svg),url(../../img/mng/black/blank.svg); background-repeat:no-repeat,no-repeat; background-position:center 25px, right 4px top 4px; background-color:#eaf2f0; background-size:30px,12px; border:2px solid #0fafaa; border-radius:10px; box-sizing:border-box; cursor:pointer; transition:.2s; }
.btn_preview:hover                    { opacity:.8; }

/* DLデータ */
.dl_data                              { display:flex; flex-wrap:wrap; align-items:stretch; width:100%; margin:10px auto 0 auto; font-size:0.7rem; }
.dl_data dt                           { width:120px; padding:2px;}
.dl_data dd                           { width:calc(100% - 120px); padding:5px; background:#fff; padding:2px; }

