@charset "UTF-8";

.button, .button-fullwidth, .modal .close-btn, .form-wrapper input:is([type=submit], [type=button], [type=reset]), .form-wrapper [type=file] ~ label, .form-wrapper:is(.btn-checkbox, .btn-radio) label, .form-wrapper.textbox input.datebtn:is([readonly=readonly], [readonly=""]), .form-wrapper.select .select-body-wrap, .form-wrapper.btn-select .select-body-wrapper div.select-items, .form-wrapper.file label {
  z-index: 1;
  position: relative;
  border: 1px solid;
  border-radius: 10px;
  transition: color 0.4s, background-color 0.4s, border-color 0.4s, box-shadow 0.4s;
}
.button, .button-fullwidth, .modal .close-btn, .form-wrapper input:is([type=submit], [type=button], [type=reset]), .form-wrapper [type=file] ~ label, .form-wrapper:is(.btn-checkbox, .btn-radio) label, .form-wrapper.textbox input.datebtn:is([readonly=readonly], [readonly=""]), .form-wrapper.select .select-body-wrap, .form-wrapper.btn-select .select-body-wrapper div.select-items, .form-wrapper.file label, .modal .close-btn:is(.nor, .eff) {
  background-color: var(--cs-btn_bg-nor);
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.3);
  color: var(--cs-btn_font-nor);
  cursor: pointer;
}
.button:active, .button-fullwidth:active, .modal .close-btn:active, .form-wrapper input:active:is([type=submit], [type=button], [type=reset]), .form-wrapper [type=file] ~ label:active, .form-wrapper:is(.btn-checkbox, .btn-radio) label:active, .form-wrapper.textbox input.datebtn:active:is([readonly=readonly], [readonly=""]), .form-wrapper.select .select-body-wrap:active, .form-wrapper.btn-select .select-body-wrapper div.select-items:active, .form-wrapper.file label:active, .modal .close-btn:is(.nor, .eff):active {
  background-color: var(--cs-btn_bg-act) !important;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.3) !important;
  color: var(--cs-btn_font-act) !important;
  transition: none;
}
.sel.button, .sel.button-fullwidth, .modal .sel.close-btn, .form-wrapper input.sel:is([type=submit], [type=button], [type=reset]), .form-wrapper [type=file] ~ label.sel, .form-wrapper:is(.btn-checkbox, .btn-radio) label.sel, .form-wrapper.textbox input.sel.datebtn:is([readonly=readonly], [readonly=""]), .form-wrapper.select .sel.select-body-wrap, .form-wrapper.btn-select .select-body-wrapper div.sel.select-items, .form-wrapper.file label.sel {
  background-color: var(--cs-btn_bg-sel);
  box-shadow: none;
  color: var(--cs-btn_font-sel);
  pointer-events: none;
}
.msk.button, .msk.button-fullwidth, .modal .msk.close-btn, .form-wrapper input.msk:is([type=submit], [type=button], [type=reset]), .form-wrapper [type=file] ~ label.msk, .form-wrapper:is(.btn-checkbox, .btn-radio) label.msk, .form-wrapper.textbox input.msk.datebtn:is([readonly=readonly], [readonly=""]), .form-wrapper.select .msk.select-body-wrap, .form-wrapper.btn-select .select-body-wrapper div.msk.select-items, .form-wrapper.file label.msk {
  background-color: var(--cs-btn_bg-msk);
  box-shadow: none;
  color: var(--cs-btn_font-msk);
  pointer-events: none;
}
.eff.button, .eff.button-fullwidth, .modal .eff.close-btn, .form-wrapper input.eff:is([type=submit], [type=button], [type=reset]), .form-wrapper [type=file] ~ label.eff, .form-wrapper:is(.btn-checkbox, .btn-radio) label.eff, .form-wrapper.textbox input.eff.datebtn:is([readonly=readonly], [readonly=""]), .form-wrapper.select .eff.select-body-wrap, .form-wrapper.btn-select .select-body-wrapper div.eff.select-items, .form-wrapper.file label.eff {
  border-width: 2px;
  box-shadow: 0 0 10px 2px var(--cs-btn_border-eff), 0;
  animation: effectBtn_multi 0.7s linear 0.1s infinite alternate;
}
.button svg, .button-fullwidth svg, .modal .close-btn svg, .form-wrapper input:is([type=submit], [type=button], [type=reset]) svg, .form-wrapper [type=file] ~ label svg, .form-wrapper:is(.btn-checkbox, .btn-radio) label svg, .form-wrapper.textbox input.datebtn:is([readonly=readonly], [readonly=""]) svg, .form-wrapper.select .select-body-wrap svg, .form-wrapper.btn-select .select-body-wrapper div.select-items svg, .form-wrapper.file label svg { fill: inherit;}

.form-wrapper:is(.checkbox, .radio) label span:is(.nor, .eff) {
  color: var(--cs-font_link-nor);
  cursor: pointer;
  pointer-events: auto;
}
.form-wrapper:is(.checkbox, .radio) label span:is(.nor, .eff) svg { fill: var(--cs-font_link-nor);}
.form-wrapper:is(.checkbox, .radio) label span:is(.nor, .eff):link, .form-wrapper:is(.checkbox, .radio) label span:is(.nor, .eff):visited { color: var(--cs-font_link-nor);}
.form-wrapper:is(.checkbox, .radio) label span:is(.nor, .eff):link svg, .form-wrapper:is(.checkbox, .radio) label span:is(.nor, .eff):visited svg { fill: var(--cs-font_link-nor);}
.form-wrapper:is(.checkbox, .radio) label span:is(.sel, .msk) { pointer-events: none;}
.windows .gadget-growimage:not(:has(img[src*="/grows_2025"]))::after, .windows .gadget-glowimage:not(:has(img[src*="/grows_2025"]))::after, .windows table.basic-table thead, table.basic-table .windows thead { font-family: "BIZ UDPGothic";}
.tab-body_item-2 section.growimage-monthly ul li.grid-item .info-area:has(.gadget-medal_container) .month, .gadget-calendar .calendar-day .calendar-date .date-num { font-family: Impact, "Anton-num", sans-serif;}

body {
  --svgicon-color-blu-01: #0a6fda;
  --svgicon-color-red-01: #DF0C6A;
  --svgicon-color-grn-01: #1AB93F;
  --svgicon-color-ore-01: #ff950a;
  --svgicon-color-pnk-01: #F897C0;
  --svgicon-color-yel-01: #FAC100;
  --svgicon-color-red-00: #de1267;
  --svgicon-color-gry-02: white;
  --svgicon-color-yel-02: rgb(255, 238.7436, 183.7);
  --svgicon-color-blu-02: rgb(136.144, 216.0536074766, 241.056);
  --svgicon-color-blu-03: rgb(204.345, 234.7437383178, 244.255);
}

.cs-01, .cs-02, .cs-03, .cs-04, .cs-05 {
  --cs-basic-01: white;
  --cs-basic-02: #f8f8f8;
  --cs-basic-04: #e1e4e5;
  --cs-basic-05: #d2dada;
  --cs-basic-06: #bbc1c3;
  --cs-basic-07: #a5b0b1;
  --cs-basic-08: #859499;
  --cs-basic-03: #efefef;
  --cs-basic-01-rgb: 255, 255, 255;
  --cs-basic-02-rgb: 248, 248, 248;
  --cs-basic-04-rgb: 225, 228, 229;
  --cs-basic-05-rgb: 210, 218, 218;
  --cs-basic-06-rgb: 187, 193, 195;
  --cs-basic-07-rgb: 165, 176, 177;
  --cs-basic-08-rgb: 133, 148, 153;
  --cs-basic-03-rgb: 239, 239, 239;
  --cs-key-01: #00a3d6;
  --cs-key-02: #88d8f1;
  --cs-key-03: #ccebf4;
  --cs-ac_01-01: #1ab93f;
  --cs-ac_01-02: #66d37f;
  --cs-ac_01-03: #caf3d4;
  --cs-ac_02-01: #df0c6a;
  --cs-ac_02-02: #e968a1;
  --cs-ac_02-03: #fdd9e9;
  --cs-ac_03-01: #fac100;
  --cs-ac_03-02: #ffdb61;
  --cs-ac_03-03: #ffefb8;
  --cs-key-dark: #0084ad;
  --cs-ac_01-dark: #2d8c43;
  --cs-key_smoke-04: #d9e5ea;
  --cs-key_smoke-03: #9dbeca;
  --cs-key_smoke-02: #5a92a7;
  --cs-key_smoke-01: #285f73;
  --cs-key_smoke-dk: #1b404d;
  --cs-font-01: #222525;
  --cs-font-02: #474d4d;
  --cs-font-03: #6b7575;
  --cs-font-lite: white;
  --cs-font-dark: #222525;
  --cs-font-ltrv: white;
  --cs-font-dkrv: #222525;
  --cs-font_link-nor: #0a6fda;
  --cs-font_link-hov: #11489b;
  --cs-font_link-act: #ff950a;
  --cs-font_link-sel: #474d4d;
  --cs-font_link-msk: #6b7575;
  --cs-btn_bg-nor: white;
  --cs-btn_bg-hov: #88d8f1;
  --cs-btn_bg-act: #d2dada;
  --cs-btn_bg-sel: #0a6fda;
  --cs-btn_bg-msk: #d2dada;
  --cs-btn_bg-eff: #ffffff;
  --cs-btn_border-nor: #0a6fda;
  --cs-btn_border-hov: #11489b;
  --cs-btn_border-act: #ff950a;
  --cs-btn_border-sel: #0a6fda;
  --cs-btn_border-msk: #bbc1c3;
  --cs-btn_border-eff: #DF0C6A;
  --cs-btn_font-nor: #0a6fda;
  --cs-btn_font-hov: #11489b;
  --cs-btn_font-act: #ff950a;
  --cs-btn_font-sel: white;
  --cs-btn_font-msk: #859499;
  --cs-btn_font-eff: #0a6fda;
  --cs-table_border: #bbc1c3;
  --cs-table_header: #efefef;
  --cs-table_cell: #f8f8f8;
  --cs-table_back: #d2dada;
  --cs-table_caption: #1AB93F;
  --cs-modal-bg_01: #181a1a;
  --cs-modal-bg_02: #090a0a;
  --cs-dri-cntl_btn-nor-st1: #4CE9CC;
  --cs-dri-cntl_btn-nor-st2: #0084ad;
  --cs-dri-cntl_btn-hov: #4CE9CC;
  --cs-dri-cntl_btn-act: #4CE9CC;
  --cs-dri-cntl_btn-sel: #0a6fda;
  --cs-dri-cntl_btn-msk: #d2dada;
  --cs-dri-cntl_btn-eff: #DF0C6A;
  --cs-dri-cntl_btn_font-nor: white;
  --cs-dri-cntl_btn_font-hov: white;
  --cs-dri-cntl_btn_font-act: #ff950a;
  --cs-dri-cntl_btn_font-sel: #00A3D6;
  --cs-dri-cntl_btn_font-msk: #859499;
  --cs-dri-cntl_btn_font-eff: white;
  --cs-dri-cntl_extbtn-nor: #005c79;
  --cs-ac_01-01-rgb: 26, 185, 63;
  --cs-ac_01-02-rgb: 102, 211, 127;
  --cs-ac_01-03-rgb: 202, 243, 212;
  --cs-ac_01-dark-rgb: 45, 140, 67;
  --cs-ac_02-01-rgb: 223, 12, 106;
  --cs-ac_02-02-rgb: 233, 104, 161;
  --cs-ac_02-03-rgb: 253, 217, 233;
  --cs-ac_03-01-rgb: 250, 193, 0;
  --cs-ac_03-02-rgb: 255, 219, 97;
  --cs-ac_03-03-rgb: 255, 239, 184;
  --cs-key-01-rgb: 0, 163, 214;
  --cs-key-02-rgb: 136, 216, 241;
  --cs-key-03-rgb: 204, 235, 244;
  --cs-key-dark-rgb: 0, 132, 173;
  --cs-key_smoke-04-rgb: 217, 229, 234;
  --cs-key_smoke-03-rgb: 157, 190, 202;
  --cs-key_smoke-02-rgb: 90, 146, 167;
  --cs-key_smoke-01-rgb: 40, 95, 115;
  --cs-key_smoke-dk-rgb: 27, 64, 77;
  --cs-font-01-rgb: 34, 37, 37;
  --cs-font-02-rgb: 71, 77, 77;
  --cs-font-03-rgb: 107, 117, 117;
  --cs-font-lite-rgb: 255, 255, 255;
  --cs-font-dark-rgb: 34, 37, 37;
  --cs-font_link-nor-rgb: 10, 111, 218;
  --cs-font_link-hov-rgb: 17, 72, 155;
  --cs-font_link-act-rgb: 255, 149, 10;
  --cs-font_link-sel-rgb: 71, 77, 77;
  --cs-font_link-msk-rgb: 107, 117, 117;
  --cs-font-ltrv-rgb: 255, 255, 255;
  --cs-font-dkrv-rgb: 34, 37, 37;
  --cs-btn_bg-nor-rgb: 255, 255, 255;
  --cs-btn_bg-hov-rgb: 136, 216, 241;
  --cs-btn_bg-act-rgb: 210, 218, 218;
  --cs-btn_bg-sel-rgb: 10, 111, 218;
  --cs-btn_bg-msk-rgb: 210, 218, 218;
  --cs-btn_bg-eff-rgb: 255, 255, 255;
  --cs-btn_border-nor-rgb: 10, 111, 218;
  --cs-btn_border-hov-rgb: 17, 72, 155;
  --cs-btn_border-act-rgb: 255, 149, 10;
  --cs-btn_border-sel-rgb: 10, 111, 218;
  --cs-btn_border-msk-rgb: 187, 193, 195;
  --cs-btn_border-eff-rgb: 223, 12, 106;
  --cs-btn_font-nor-rgb: 10, 111, 218;
  --cs-btn_font-hov-rgb: 17, 72, 155;
  --cs-btn_font-act-rgb: 255, 149, 10;
  --cs-btn_font-sel-rgb: 255, 255, 255;
  --cs-btn_font-msk-rgb: 133, 148, 153;
  --cs-btn_font-eff-rgb: 10, 111, 218;
  --cs-table_border-rgb: 187, 193, 195;
  --cs-table_header-rgb: 239, 239, 239;
  --cs-table_cell-rgb: 248, 248, 248;
  --cs-table_back-rgb: 210, 218, 218;
  --cs-table_caption-rgb: 26, 185, 63;
  --cs-dri-cntl_btn-nor-st1-rgb: 76, 233, 204;
  --cs-dri-cntl_btn-nor-st2-rgb: 0, 132, 173;
  --cs-dri-cntl_btn-hov-rgb: 76, 233, 204;
  --cs-dri-cntl_btn-act-rgb: 76, 233, 204;
  --cs-dri-cntl_btn-sel-rgb: 10, 111, 218;
  --cs-dri-cntl_btn-msk-rgb: 210, 218, 218;
  --cs-dri-cntl_btn-eff-rgb: 223, 12, 106;
  --cs-dri-cntl_btn_font-nor-rgb: 255, 255, 255;
  --cs-dri-cntl_btn_font-hov-rgb: 255, 255, 255;
  --cs-dri-cntl_btn_font-act-rgb: 255, 149, 10;
  --cs-dri-cntl_btn_font-sel-rgb: 0, 163, 214;
  --cs-dri-cntl_btn_font-msk-rgb: 133, 148, 153;
  --cs-dri-cntl_btn_font-eff-rgb: 255, 255, 255;
  --cs-dri-cntl_extbtn-nor-rgb: 0, 92, 121;
  --cs-modal-bg_01-rgb: 24, 26, 26;
  --cs-modal-bg_02-rgb: 9, 10, 10;
}

.cs-06 {
  --cs-basic-01: #343434;
  --cs-basic-02: #303030;
  --cs-basic-04: #232424;
  --cs-basic-05: #1d1f1f;
  --cs-basic-06: #181a1a;
  --cs-basic-07: #131414;
  --cs-basic-08: #090a0a;
  --cs-basic-03: #282929;
  --cs-basic-01-rgb: 52, 52, 52;
  --cs-basic-02-rgb: 48, 48, 48;
  --cs-basic-04-rgb: 35, 36, 36;
  --cs-basic-05-rgb: 29, 31, 31;
  --cs-basic-06-rgb: 24, 26, 26;
  --cs-basic-07-rgb: 19, 20, 20;
  --cs-basic-08-rgb: 9, 10, 10;
  --cs-basic-03-rgb: 40, 41, 41;
  --cs-key-01: #0084ad;
  --cs-key-02: #1c4754;
  --cs-key-03: #1b2022;
  --cs-ac_01-01: #2d8c43;
  --cs-ac_01-02: #33683f;
  --cs-ac_01-03: #27412d;
  --cs-ac_02-01: #9f285d;
  --cs-ac_02-02: #823155;
  --cs-ac_02-03: #462634;
  --cs-ac_03-01: #9c7e16;
  --cs-ac_03-02: #74601b;
  --cs-ac_03-03: #50441b;
  --cs-key-dark: #88d8f1;
  --cs-ac_01-dark: #66d37f;
  --cs-key_smoke-04: #285f73;
  --cs-key_smoke-03: #5a92a7;
  --cs-key_smoke-02: #7ba8b9;
  --cs-key_smoke-01: #9dbeca;
  --cs-key_smoke-dk: #bfd4db;
  --cs-font-01: #cccccc;
  --cs-font-02: #a6a6a6;
  --cs-font-03: #808080;
  --cs-font-lite: #bbc1c3;
  --cs-font-dark: #343434;
  --cs-font-ltrv: #222525;
  --cs-font-dkrv: white;
  --cs-font_link-nor: #88d8f1;
  --cs-font_link-hov: #ccebf4;
  --cs-font_link-act: #ff950a;
  --cs-font_link-sel: #a6a6a6;
  --cs-font_link-msk: #808080;
  --cs-btn_bg-nor: #343434;
  --cs-btn_bg-hov: #1c4754;
  --cs-btn_bg-act: #1d1f1f;
  --cs-btn_bg-sel: #88d8f1;
  --cs-btn_bg-msk: #232424;
  --cs-btn_bg-eff: #1b2022;
  --cs-btn_border-nor: #88d8f1;
  --cs-btn_border-hov: #ccebf4;
  --cs-btn_border-act: #ff950a;
  --cs-btn_border-sel: #88d8f1;
  --cs-btn_border-msk: #131414;
  --cs-btn_border-eff: #ff950a;
  --cs-btn_font-nor: #88d8f1;
  --cs-btn_font-hov: #ccebf4;
  --cs-btn_font-act: #ff950a;
  --cs-btn_font-sel: #343434;
  --cs-btn_font-msk: #090a0a;
  --cs-btn_font-eff: #88d8f1;
  --cs-table_border: #181a1a;
  --cs-table_header: #282929;
  --cs-table_cell: #303030;
  --cs-table_back: #1d1f1f;
  --cs-table_caption: #1AB93F;
  --cs-modal-bg_01: #090a0a;
  --cs-modal-bg_02: #090a0a;
  --cs-dri-cntl_btn-nor-st1: #4CE9CC;
  --cs-dri-cntl_btn-nor-st2: #0084ad;
  --cs-dri-cntl_btn-hov: #4CE9CC;
  --cs-dri-cntl_btn-act: #4CE9CC;
  --cs-dri-cntl_btn-sel: #0084ad;
  --cs-dri-cntl_btn-msk: #232424;
  --cs-dri-cntl_btn-eff: #ff950a;
  --cs-dri-cntl_btn_font-nor: white;
  --cs-dri-cntl_btn_font-hov: white;
  --cs-dri-cntl_btn_font-act: #ff950a;
  --cs-dri-cntl_btn_font-sel: #0a6fda;
  --cs-dri-cntl_btn_font-msk: #343434;
  --cs-dri-cntl_btn_font-eff: #0a6fda;
  --cs-dri-cntl_extbtn-nor: #0a6fda;
  --cs-ac_01-01-rgb: 45, 140, 67;
  --cs-ac_01-02-rgb: 51, 104, 63;
  --cs-ac_01-03-rgb: 39, 65, 45;
  --cs-ac_01-dark-rgb: 102, 211, 127;
  --cs-ac_02-01-rgb: 159, 40, 93;
  --cs-ac_02-02-rgb: 130, 49, 85;
  --cs-ac_02-03-rgb: 70, 38, 52;
  --cs-ac_03-01-rgb: 156, 126, 22;
  --cs-ac_03-02-rgb: 116, 96, 27;
  --cs-ac_03-03-rgb: 80, 68, 27;
  --cs-key-01-rgb: 0, 132, 173;
  --cs-key-02-rgb: 28, 71, 84;
  --cs-key-03-rgb: 27, 32, 34;
  --cs-key-dark-rgb: 136, 216, 241;
  --cs-key_smoke-04-rgb: 40, 95, 115;
  --cs-key_smoke-03-rgb: 90, 146, 167;
  --cs-key_smoke-02-rgb: 123, 168, 185;
  --cs-key_smoke-01-rgb: 157, 190, 202;
  --cs-key_smoke-dk-rgb: 191, 212, 219;
  --cs-font-01-rgb: 204, 204, 204;
  --cs-font-02-rgb: 166, 166, 166;
  --cs-font-03-rgb: 128, 128, 128;
  --cs-font-lite-rgb: 187, 193, 195;
  --cs-font-dark-rgb: 52, 52, 52;
  --cs-font_link-nor-rgb: 136, 216, 241;
  --cs-font_link-hov-rgb: 204, 235, 244;
  --cs-font_link-act-rgb: 255, 149, 10;
  --cs-font_link-sel-rgb: 166, 166, 166;
  --cs-font_link-msk-rgb: 128, 128, 128;
  --cs-font-ltrv-rgb: 34, 37, 37;
  --cs-font-dkrv-rgb: 255, 255, 255;
  --cs-btn_bg-nor-rgb: 52, 52, 52;
  --cs-btn_bg-hov-rgb: 28, 71, 84;
  --cs-btn_bg-act-rgb: 29, 31, 31;
  --cs-btn_bg-sel-rgb: 136, 216, 241;
  --cs-btn_bg-msk-rgb: 35, 36, 36;
  --cs-btn_bg-eff-rgb: 27, 32, 34;
  --cs-btn_border-nor-rgb: 136, 216, 241;
  --cs-btn_border-hov-rgb: 204, 235, 244;
  --cs-btn_border-act-rgb: 255, 149, 10;
  --cs-btn_border-sel-rgb: 136, 216, 241;
  --cs-btn_border-msk-rgb: 19, 20, 20;
  --cs-btn_border-eff-rgb: 255, 149, 10;
  --cs-btn_font-nor-rgb: 136, 216, 241;
  --cs-btn_font-hov-rgb: 204, 235, 244;
  --cs-btn_font-act-rgb: 255, 149, 10;
  --cs-btn_font-sel-rgb: 52, 52, 52;
  --cs-btn_font-msk-rgb: 9, 10, 10;
  --cs-btn_font-eff-rgb: 136, 216, 241;
  --cs-table_border-rgb: 24, 26, 26;
  --cs-table_header-rgb: 40, 41, 41;
  --cs-table_cell-rgb: 48, 48, 48;
  --cs-table_back-rgb: 29, 31, 31;
  --cs-table_caption-rgb: 26, 185, 63;
  --cs-dri-cntl_btn-nor-st1-rgb: 76, 233, 204;
  --cs-dri-cntl_btn-nor-st2-rgb: 0, 132, 173;
  --cs-dri-cntl_btn-hov-rgb: 76, 233, 204;
  --cs-dri-cntl_btn-act-rgb: 76, 233, 204;
  --cs-dri-cntl_btn-sel-rgb: 0, 132, 173;
  --cs-dri-cntl_btn-msk-rgb: 35, 36, 36;
  --cs-dri-cntl_btn-eff-rgb: 255, 149, 10;
  --cs-dri-cntl_btn_font-nor-rgb: 255, 255, 255;
  --cs-dri-cntl_btn_font-hov-rgb: 255, 255, 255;
  --cs-dri-cntl_btn_font-act-rgb: 255, 149, 10;
  --cs-dri-cntl_btn_font-sel-rgb: 10, 111, 218;
  --cs-dri-cntl_btn_font-msk-rgb: 52, 52, 52;
  --cs-dri-cntl_btn_font-eff-rgb: 10, 111, 218;
  --cs-dri-cntl_extbtn-nor-rgb: 10, 111, 218;
  --cs-modal-bg_01-rgb: 9, 10, 10;
  --cs-modal-bg_02-rgb: 9, 10, 10;
}

.table-wrapper {
  height: calc(100% - 20px);
  margin-bottom: 1px;
  border-width: 1px;
  border-style: solid;
  border-color: var(--cs-basic-07);
  background-color: var(--cs-table_back);
}
.table-wrapper > table.basic-table {
  margin-bottom: 0;
  border-top: none;
  border-right: none;
  border-left: none;
}
.table-wrapper table.basic-table {
  border-bottom: none;
  background-color: transparent;
}

table.basic-table {
  --tab-color: var(--cs-basic-07);
  width: 100%;
  margin-bottom: 20px;
  border: 1px solid var(--cs-basic-07);
  border-collapse: separate;
  border-spacing: 0;
  color: var(--cs-font-01);
  font-size: 18px;
}
table.basic-table:is(.explain, .picts) { --tab-color: #ff950a;}
table.basic-table.drill { --tab-color: #00A3D6;}
table.basic-table.test { --tab-color: #e968a1;}
table.basic-table.print { --tab-color: #7392e6;}
table.basic-table.cards { --tab-color: #1AB93F;}
table.basic-table thead:has(~ tbody tr.nor) th:last-child, table.basic-table thead:has(~ tbody tr.nor) td:last-child,
table.basic-table tbody:has(tr.nor) th:last-child,
table.basic-table tbody:has(tr.nor) td:last-child { padding-right: 26px;}
table.basic-table :is(th, td) .contents.clip {
  overflow: hidden;
  text-overflow: ellipsis;
}
table.basic-table thead { font-size: 14px;}
table.basic-table thead tr th {
  padding-bottom: 0.1em;
  padding-left: 0.25em;
  border-bottom: 1px solid var(--cs-basic-07);
  background-color: var(--cs-table_header);
  font-weight: normal;
  text-align: right;
  vertical-align: bottom;
}
table.basic-table thead tr th:last-child { padding-right: calc(0.25em + 13px);}
table.basic-table thead tr th .contents {
  display: inline-block;
  margin-top: 4px;
  padding-top: 0;
  padding-right: 0.5em;
  padding-left: 0.5em;
  border-radius: 50vw;
  line-height: 1.2;
  white-space: nowrap;
}
table.basic-table thead tr th[colspan] .contents {
  width: 100%;
  margin-top: 4px;
  background-color: var(--cs-basic-05);
  text-align: center;
}
table.basic-table thead tr th.fake-colspan { border-bottom: none;}
table.basic-table thead tr th.fake-colspan .contents {
  width: 100%;
  margin-top: 4px;
  background-color: var(--cs-basic-05);
  text-align: center;
}
table.basic-table thead tr th.fake-colspan.w-under_line { border-bottom: 1px solid var(--cs-basic-07);}
table.basic-table thead tr:not(:last-child) th[colspan] {
  padding-bottom: 0;
  border-bottom: none;
}
table.basic-table thead tr:first-child th:first-child[rowspan] { text-align: left;}
table.basic-table thead tr:only-child th .contents { margin-top: 1.4em;}
table.basic-table thead tr:only-child th:first-child { text-align: left;}
table.basic-table tbody tr.better { background-color: inherit !important;}
table.basic-table tbody tr.better :is(td, th) { background-color: var(--cs-ac_01-03);}
table.basic-table tbody tr.better :is(td, th) > .contents {
  border-left-color: var(--cs-ac_01-01);
  color: var(--cs-font-01);
}
table.basic-table tbody tr.attention { background-color: inherit !important;}
table.basic-table tbody tr.attention :is(td, th) { background-color: var(--cs-ac_02-03);}
table.basic-table tbody tr.attention :is(td, th) > .contents {
  border-left-color: var(--cs-ac_02-01);
  color: var(--cs-font-01);
}
table.basic-table tbody tr.warnin { background-color: inherit !important;}
table.basic-table tbody tr.warnin :is(td, th) { background-color: var(--cs-ac_03-03);}
table.basic-table tbody tr.warnin :is(td, th) > .contents {
  border-left-color: var(--cs-ac_03-01);
  color: var(--cs-font-dark);
}
table.basic-table tbody tr th {
  height: 100%;
  padding-top: 11px;
  border-bottom: none;
}
table.basic-table tbody tr th:first-child { border-left: 16px solid transparent;}
table.basic-table tbody tr th:first-child > .contents {
  border-left-width: 6px;
  border-left-style: solid;
}
table.basic-table tbody tr th > .contents {
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 15px;
  border-bottom: 1px solid var(--cs-table_border);
  border-left-color: var(--cs-table_border);
}
table.basic-table tbody tr th > .contents:is(.better, .warnin, .attention) { background-color: transparent !important;}
table.basic-table tbody tr th > .contents.better {
  border-left-color: var(--cs-ac_01-01);
  color: var(--cs-ac_01-01) !important;
}
table.basic-table tbody tr th > .contents.warnin {
  border-left-color: var(--cs-ac_03-01);
  color: var(--cs-ac_03-01);
}
table.basic-table tbody tr th > .contents.attention {
  border-left-color: var(--cs-ac_02-01);
  color: var(--cs-ac_02-01) !important;
}
table.basic-table tbody tr th:only-child { padding-right: 0;}
table.basic-table tbody tr th:only-child > .contents { margin-right: 26px;}
table.basic-table tbody tr[rowspan] {
  border-right: 1px solid var(--cs-table_border);
  vertical-align: middle;
}
table.basic-table tbody tr[rowspan] > .contents { margin-top: 11px;}
table.basic-table tbody tr td {
  padding-bottom: 0.1em;
  padding-left: 0.25em;
  border-bottom: 1px solid var(--cs-table_border);
  text-align: right;
}
table.basic-table tbody tr td > .contents {
  margin-top: 1.4em;
  border-radius: 0.5em;
}
table.basic-table tbody tr td > * { vertical-align: text-bottom !important;}
table.basic-table tbody tr td[rowspan] {
  border-right: 1px solid var(--cs-table_border);
  border-left: 1px solid var(--cs-table_border);
  vertical-align: middle;
}
table.basic-table tbody tr td[rowspan] > .contents { margin-top: 0;}
table.basic-table tbody tr td:first-child .contents > span[class^=elaicon-]:only-child {
  margin-right: 0;
  margin-left: 0;
}
table.basic-table tbody tr td:first-child .contents > span[class^=elaicon-]:only-child::before { text-indent: -0.2em;}
table.basic-table tbody tr.nor { cursor: pointer;}
table.basic-table tbody tr.nor:active :is(td, th) {
  border-bottom-color: var(--cs-btn_font-act) !important;
  background-color: var(--cs-btn_bg-act) !important;
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) !important;
  color: var(--cs-btn_font-act) !important;
}
table.basic-table tbody tr.nor:active th > .contents {
  border-bottom-color: var(--cs-btn_font-act) !important;
  border-left-color: var(--cs-btn_font-act) !important;
}
table.basic-table tbody tr.nor :is(td, th):last-child { position: relative;}
table.basic-table tbody tr.nor :is(td, th):last-child::after {
  position: absolute;
  right: 5px;
  bottom: 0.1em;
  content: "\e905";
  color: var(--cs-btn_font-nor);
  font-weight: normal;
  font-family: "elaicon" !important;
}
.windows.edge table.basic-table tbody tr.nor :is(td, th):last-child::after { display: none !important;}
table.basic-table tbody tr.sel { pointer-events: none;}
table.basic-table tbody tr.sel :is(td, th) {
  border-bottom-color: var(--cs-btn_font-sel);
  background-color: var(--cs-btn_bg-sel);
  box-shadow: none;
  color: var(--cs-btn_font-sel);
}
table.basic-table tbody tr.sel th > .contents {
  border-bottom-color: inherit;
  border-left-color: currentColor;
}
table.basic-table tbody tr.msk { pointer-events: none;}
table.basic-table tbody tr.msk :is(td, th) {
  background-color: var(--cs-btn_bg-msk);
  box-shadow: none;
  color: var(--cs-btn_font-msk);
}
table.basic-table tbody tr.msk th > .contents { border-left-color: currentColor;}
table.basic-table tbody :is(th, td) {
  position: relative;
  background-color: var(--cs-table_cell);
  box-shadow: 4px 0px 0px 0px rgba(0, 0, 0, 0);
  vertical-align: bottom;
  white-space: nowrap;
}
table.basic-table tbody :is(th, td):first-child { text-align: left;}
table.basic-table tbody :is(th, td):last-child { padding-right: 13px;}
table.basic-table tbody :is(th, td) > .contents {
  display: inline-block;
  padding: 0 0.5em;
  line-height: 1.1;
  vertical-align: middle;
}
.windows table.basic-table tbody :is(th, td) > .contents:is(.attention, .warnin, .better) { padding-top: 0.1em !important;}

table.basic-table tbody :is(th, td) > :is(.button, .button-fullwidth) {
  min-width: auto;
  min-height: auto;
  margin-top: 10px;
  padding: 0.125em 0.6em;
}
.safari table.basic-table tbody :is(th, td) > :is(.button, .button-fullwidth) { padding: 0 0.6em;}

table.basic-table tbody :is(th, td) > :is(.button, .button-fullwidth) > .contents {
  margin-top: 0;
  font-weight: normal;
}
table.basic-table tbody :is(th, td).icon-x1 .image-wrapper { height: 1em;}
table.basic-table tbody :is(th, td).icon-x2 .image-wrapper {
  height: 2em;
  margin-top: -1em;
}
table.basic-table tbody :is(th, td) > .contents > span[class^=elaicon-]:only-child {
  display: inline-block;
  margin-top: -1em;
  color: var(--cs-key-01);
  font-size: 2em;
}
table.basic-table tbody :is(th, td) > .contents > span[class=elaicon-function-volume-max]:only-child {
  margin-top: auto;
  font-size: 1em;
}
table.basic-table tbody :is(th, td) > .contents > span:is(.elaicon-badge-new-posi, .elaicon-badge-new-nega)::before { transform: translateY(0.2em);}
table.basic-table tbody tr.sel :is(th, td) > .contents > span[class^=elaicon-]:only-child { color: var(--cs-key-02);}
table.basic-table tfoot tr td {
  height: 1.5em;
  padding: 0 1em;
  border: none;
  background-color: var(--cs-table_header);
  vertical-align: middle;
}
table.basic-table caption { text-align: left;}
table.basic-table caption > .contents {
  display: flex;
  align-items: flex-end;
  padding-bottom: 4px;
  color: var(--cs-ac_01-01);
  vertical-align: bottom;
}
table.basic-table caption.titlehead { position: relative;}
table.basic-table caption.titlehead > .contents {
  display: inline-flex;
  align-items: baseline;
  min-width: 10em;
  padding: 0.2em 1.5em 0.2em 0.5em;
  border-top-right-radius: 3vw;
  border-top-left-radius: 0.5em;
  background-color: var(--tab-color);
  color: var(--cs-font-lite);
  line-height: normal;
}
table.basic-table caption.titlehead > .contents:has(ruby) {
  margin-bottom: -1px;
  padding-top: 0.4em;
}
table.basic-table caption.titlehead > .contents ul {
  display: flex;
  align-items: baseline;
}
table.basic-table caption.titlehead > .contents ul li:first-child {
  margin-right: 0.5em;
  font-weight: bolder;
}
table.basic-table caption.titlehead > .description {
  position: absolute;
  right: 0;
  bottom: 1px;
  font-size: 0.9em;
}
table.basic-table caption .left-side { align-items: baseline;}
table.basic-table.nonmt tr td {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  vertical-align: middle;
}
table.basic-table.nonmt tr td .contents { margin-top: 0 !important;}
table.basic-table.nonmt tr.nor td:last-child::after { top: calc(50% - 0.5em);}
table.basic-table td :is(.error,
.contents.error,
.contents .error) {
  padding: 2em 0;
  text-align: center;
}
table.basic-table tbody tr td.colbg { background-color: var(--cs-basic-03);}
table.basic-table tbody tr td.sort_target { background-color: var(--cs-key-03);}
table.basic-table.hide-bullet tr.nor :is(td, th):last-child:after { content: none;}
table.basic-table td:is(.td_stickerLeft, .td_stickerRight)::before {
  display: flex;
  position: absolute;
  align-items: center;
  justify-content: center;
  margin: 0.2em 0;
  padding: 0.2em;
  border: 1px solid;
  border-radius: 0.5em;
  background-color: var(--cs-basic-01);
  content: attr(data-strings);
  color: var(--cs-ac_02-01);
  font-size: 0.8em;
  text-align: center;
  white-space: pre;
}
table.basic-table td.td_stickerLeft::before { inset: 0 auto 0 0.5em;}
table.basic-table td.td_stickerRight::before { inset: 0 0.5em 0 auto;}
table.basic-table .grade_subject_Bullet li { line-height: 1.1 !important;}

table.nonstyle-table {
  width: 100%;
  margin-bottom: 20px;
  border-collapse: collapse;
  border-spacing: 0;
  color: var(--cs-font-01);
  font-size: 18px;
}
table.nonstyle-table :is(th, td) {
  padding: 0.5em 1em;
  border: 1px solid var(--cs-basic-07);
  vertical-align: middle;
}
table.nonstyle-table thead { font-size: 14px;}
table.nonstyle-table thead tr th {
  position: sticky;
  top: 0;
  left: 0;
  background-color: var(--cs-table_header);
  font-weight: normal;
}
table.nonstyle-table tfoot tr td {
  height: 1.5em;
  padding: 0 1em;
  border-right: none;
  border-left: none;
  background-color: var(--cs-table_header);
}
table.nonstyle-table tfoot tr td:first-child { border-left: 1px solid var(--cs-basic-07);}
table.nonstyle-table tfoot tr td:last-child { border-right: 1px solid var(--cs-basic-07);}
table.nonstyle-table tfoot tr td:only-child { border: 1px solid var(--cs-basic-07);}

.form-wrapper {
  display: inline-flex;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: center;
}
.form-wrapper :is(input, textarea) {
  font-size: 1em;
  font-family: system-ui;
}
.form-wrapper form { font-size: 1em;}
.form-wrapper :is(select, input, textarea, button) {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
  -webkit-appearance: none;
          appearance: none;
  position: relative;
  vertical-align: middle;
}
.form-wrapper button {
  background-color: transparent;
  cursor: pointer;
}
.form-wrapper input, .form-wrapper output { vertical-align: middle;}
.form-wrapper input[type=text] { width: 14em;}
.form-wrapper input:is([type=submit], [type=button], [type=reset]), .form-wrapper [type=file] ~ label {
  margin: 0 0.5em 0 0.25em;
  padding: 0.2em 0.5em;
}
.form-wrapper:is(.radio, .checkbox, .btn-radio, .btn-checkbox, .textbox, .textarea, .select, .range) .title {
  display: inline-block;
  margin-right: 0.5em;
  padding: 0.1em 0.5em;
  border-radius: 0 50vh 50vh 0;
  background-color: var(--cs-basic-05);
  color: var(--cs-font-03);
}
.windows .form-wrapper:is(.radio, .checkbox, .btn-radio, .btn-checkbox, .textbox, .textarea, .select, .range) .title { padding-bottom: 0;}
.form-wrapper:is(.checkbox, .radio, .btn-checkbox, .btn-radio, .icon-radio) input { display: none;}
.form-wrapper:is(.checkbox, .radio, .btn-checkbox, .btn-radio, .icon-radio) label {
  display: inline-block;
  position: relative;
  margin: 0;
}
.form-wrapper:is(.checkbox, .radio, .btn-checkbox, .btn-radio, .icon-radio) .parts {
  --border_w: 1;
  display: inline-block;
  line-height: normal;
  white-space: nowrap;
  cursor: pointer;
  pointer-events: auto;
  transition: 0.4s;
}
.form-wrapper:is(.checkbox, .radio, .btn-checkbox, .btn-radio, .icon-radio) .parts::before {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin: -0.167em 0.2em 0;
  outline: calc(var(--border_w) * 1px) solid var(--cs-btn_border-nor);
  background-color: var(--cs-btn_bg-nor);
  content: "";
  vertical-align: middle;
}
body.ios.safari .form-wrapper:is(.checkbox, .radio, .btn-checkbox, .btn-radio, .icon-radio) .parts::before {
  outline: none;
  box-shadow: 0 0 0 calc(var(--border_w) * 1px);
}
.form-wrapper:is(.checkbox, .btn-checkbox) .parts::before {
  border-radius: 0.3em;
  outline: calc(var(--border_w) * 1px) solid var(--cs-btn_border-nor);
  content: "\e920";
  color: transparent;
  font-family: "elaicon" !important;
  text-indent: 0;
}
body.ios.safari .form-wrapper:is(.checkbox, .btn-checkbox) .parts::before {
  outline: none;
  box-shadow: 0 0 0 calc(var(--border_w) * 1px) var(--cs-btn_border-nor);
}
.form-wrapper:is(.checkbox, .btn-checkbox) .input:checked + .parts::before { color: var(--cs-btn_font-nor);}
.form-wrapper:is(.checkbox, .btn-checkbox) .input:disabled ~ .parts {
  cursor: not-allowed;
  pointer-events: none;
}
.form-wrapper:is(.checkbox, .btn-checkbox) .input:not(:checked):disabled + .parts { visibility: hidden;}
.form-wrapper:is(.radio, .btn-radio) .parts::before { border-radius: 50%;}
.form-wrapper:is(.radio, .btn-radio) .input { text-align: center;}
.form-wrapper:is(.radio, .btn-radio) .input:checked + .parts { pointer-events: none;}
.form-wrapper:is(.radio, .btn-radio) .input:checked + .parts::before {
  background-image: radial-gradient(var(--cs-btn_border-nor) 45%, var(--cs-btn_bg-nor) 50%);
  background-repeat: no-repeat;
  background-color: var(--cs-btn_border-nor);
}
.form-wrapper:is(.radio, .btn-radio) .input:disabled + .parts {
  cursor: not-allowed;
  pointer-events: none;
}
.form-wrapper:is(.radio, .btn-radio) .input:not(:checked):disabled + .parts::before {
  outline-color: var(--cs-basic-05);
  background-color: var(--cs-basic-05);
}
body.ios.safari .form-wrapper:is(.radio, .btn-radio) .input:not(:checked):disabled + .parts::before { box-shadow: 0 0 0 calc(var(--border_w) * 1px) var(--cs-basic-05);}
.form-wrapper:is(.radio, .btn-radio) .input:checked:disabled + .parts:before {
  outline-color: var(--cs-basic-05);
  background-image: radial-gradient(var(--cs-basic-05) 50%, var(--cs-btn_bg-nor) 60%);
  background-repeat: no-repeat;
}
body.ios.safari .form-wrapper:is(.radio, .btn-radio) .input:checked:disabled + .parts:before { box-shadow: 0 0 0 calc(var(--border_w) * 1px) var(--cs-basic-05);}
.form-wrapper:is(.btn-checkbox, .btn-radio) label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  margin: 0.5em 1em 0.5em 0;
  padding: 0.6em;
  font-size: 1em;
  text-align: center;
  text-indent: 0;
  vertical-align: middle;
  cursor: pointer;
  pointer-events: auto;
}
.form-wrapper:is(.btn-checkbox, .btn-radio) label:has(.input:checked) {
  background-color: var(--cs-btn_bg-sel) !important;
  box-shadow: none;
}
.form-wrapper:is(.btn-checkbox, .btn-radio) label:has(.input:checked) .parts { color: var(--cs-btn_font-sel) !important;}
:is(.kougakunen, .teigakunen) .form-wrapper:is(.btn-checkbox, .btn-radio) label {
  min-height: 2.75em;
  padding: 0.3em 0.6em;
}
.form-wrapper:is(.btn-checkbox, .btn-radio) label .parts {
  padding-left: 1.25em;
  text-align: left;
}
.windows .form-wrapper:is(.btn-checkbox, .btn-radio) label .parts { padding-top: 0.1em;}

.form-wrapper:is(.btn-checkbox, .btn-radio) label .parts::before {
  position: absolute;
  top: 50%;
  left: 0.6em;
  margin: 0;
  transform: translateY(-50%);
}
.form-wrapper:is(.checkbox, .radio) label:has(+ label) { margin-right: 1em;}
.form-wrapper.icon-radio label {
  width: 3em;
  height: 2em;
  margin-left: 0.5em;
}
.form-wrapper.icon-radio label input.input { display: none;}
.form-wrapper.icon-radio label input.input:checked + span.parts span[class*=elaicon] { color: var(--cs-ac_02-01) !important;}
.form-wrapper.icon-radio label span.parts { width: auto;}
.form-wrapper.icon-radio label span.parts::before, .form-wrapper.icon-radio label span.parts::after { display: none;}
.form-wrapper.icon-radio label span.parts span[class*=elaicon] {
  display: inline-block;
  margin: 0 !important;
  color: var(--cs-basic-06) !important;
  font-size: 2em;
}
table > .form-wrapper { display: table-row-group;}
table > .form-wrapper:is(.checkbox, .radio) tr.checked td { background-color: var(--cs-btn_bg-hov) !important;}
table > .form-wrapper:is(.checkbox, .radio) .parts {
  color: var(--cs-btn_font-nor);
  vertical-align: baseline;
}
table > .form-wrapper:is(.checkbox, .radio) .parts::before { margin-left: 0;}
table > .form-wrapper:is(.checkbox, .radio) .parts::after { left: 0;}
table > .form-wrapper.radio tr.checked {
  cursor: auto;
  pointer-events: none;
}
table > .form-wrapper.radio tr.checked .parts {
  cursor: auto;
  pointer-events: none;
}
table > .form-wrapper.checkbox tr.checked { pointer-events: auto;}
.form-wrapper.textbox input:is([type=text], [type=search], [type=color], [type=date], [type=number], [type=tel], [type=email], [type=url], [type=password], [type=datetime-local], [type=month], [type=week], [type=time]) {
  height: calc(1.4em + 2px);
  border: 1px solid var(--cs-basic-07);
  outline: none;
  background-color: var(--cs-basic-03);
  color: var(--cs-font-01);
  caret-color: var(--cs-ac_01-01);
  line-height: normal;
  text-indent: 0.5em;
  vertical-align: middle;
  word-break: break-all;
  transition: background-color 0.3s;
}
.form-wrapper.textbox input:is([type=text], [type=search], [type=color], [type=date], [type=number], [type=tel], [type=email], [type=url], [type=password], [type=datetime-local], [type=month], [type=week], [type=time]):focus { background-color: var(--cs-basic-01);}
.form-wrapper.textbox input:is([type=text], [type=search], [type=color], [type=date], [type=number], [type=tel], [type=email], [type=url], [type=password], [type=datetime-local], [type=month], [type=week], [type=time])::placeholder {
  color: var(--cs-basic-08) !important;
  font-size: 1em;
  line-height: normal;
}
.form-wrapper.textbox:is(:disabled, [readonly=readonly], [readonly=""]) {
  -webkit-text-fill-color: var(--cs-font-01);
  padding-right: 0 !important;
  padding-left: 0 !important;
  border: none;
  background-color: transparent !important;
  color: var(--cs-font-01);
}
.form-wrapper.textbox input[type=number] {
  text-align: right;
  text-indent: 0 !important;
}
.form-wrapper.textbox input[type=number] :is(:disabled, [readonly=readonly], [readonly=""]) { -moz-appearance: textfield;}
.form-wrapper.textbox input[type=number] :is(:disabled, [readonly=readonly], [readonly=""])::-webkit-inner-spin-button, .form-wrapper.textbox input[type=number] :is(:disabled, [readonly=readonly], [readonly=""])::-webkit-outer-spin-button {
  -webkit-appearance: none;
  appearance: none;
}
.form-wrapper.textbox input.timebox { width: 2.4em !important;}
.form-wrapper.textbox input.datebtn {
  width: 7.5em;
  min-width: auto;
  text-align: center;
  text-indent: 0 !important;
}
.form-wrapper.textbox input.datebtn:focus { outline: none;}
.form-wrapper.select .select-body-wrap {
  position: relative;
  color: var(--cs-btn_font-nor);
}
.form-wrapper.select .select-body-wrap:after {
  position: absolute;
  top: 50%;
  left: 100%;
  padding-right: 0.4em;
  transform: translate(-100%, -50%);
  content: "\e90b";
  color: inherit;
  font-family: "elaicon";
  pointer-events: none;
}
.form-wrapper.select .select-body-wrap select {
  top: 0;
  margin-left: 0.5em;
  padding-right: 1.5em;
  border: none;
  outline: none;
  background-color: transparent;
  color: inherit;
  font-size: inherit;
  line-height: 2.4em !important;
  line-height: 1;
  vertical-align: middle;
  cursor: pointer;
}
.form-wrapper.select .select-body-wrap select option { color: var(--cs-btn_font-nor);}
.form-wrapper.select .select-body-wrap select option:nth-child(odd) { background-color: var(--cs-basic-03);}
.option-container .form-wrapper.select .select-body-wrap select { line-height: normal !important;}
.form-wrapper.select .select-body-wrap:not(:only-child):not(:last-child) { margin-right: 1em;}
.form-wrapper.btn-select { display: flex;}
.form-wrapper.btn-select .select-body-wrapper {
  display: block;
  z-index: 1000;
  position: relative;
  width: 100%;
  height: 2.8em;
  border-radius: 10px;
  background-color: var(--cs-btn_bg-nor);
  cursor: pointer;
}
.form-wrapper.btn-select .select-body-wrapper input.select-close { display: none;}
.form-wrapper.btn-select .select-body-wrapper div.select-items {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: calc(2.8em - 2px);
}
.form-wrapper.btn-select .select-body-wrapper div.select-items.nor { background-color: transparent !important;}
.form-wrapper.btn-select .select-body-wrapper div.select-items input.select-expand {
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: calc(2.8em - 2px);
}
.form-wrapper.btn-select .select-body-wrapper div.select-items input.select-expand:checked { z-index: 1001;}
.form-wrapper.btn-select .select-body-wrapper div.select-items input.select-expand:checked + .select-closeLabel { display: block;}
.form-wrapper.btn-select .select-body-wrapper div.select-items input.select-expand:checked + .select-closeLabel + .select-options .select-label { height: calc(2.8em - 2px);}
.form-wrapper.btn-select .select-body-wrapper div.select-items input.select-expand:checked + .select-closeLabel + .select-options + .select-expandLabel { display: none;}
.form-wrapper.btn-select .select-body-wrapper div.select-items input.select-expand::after {
  z-index: 1;
  position: absolute;
  top: 50%;
  right: 0.25em;
  transform: translateY(-50%) rotateZ(0);
  content: "\e90b";
  color: var(--cs-btn_font-nor);
  font-size: 2em;
  font-family: "elaicon" !important;
  opacity: 0.6;
  pointer-events: none;
  transition: all 250ms cubic-bezier(0.4, 0.25, 0.3, 1);
}
.form-wrapper.btn-select .select-body-wrapper div.select-items input.select-expand:checked::after { transform: translateY(-50%) rotateZ(-180deg);}
.form-wrapper.btn-select .select-body-wrapper div.select-items input.select-input { display: none;}
.form-wrapper.btn-select .select-body-wrapper div.select-items input.select-input:checked + .select-label {
  height: calc(2.8em - 2px);
  margin-top: calc(-2.8em + 2px);
  border-radius: 10px;
}
.windows .form-wrapper.btn-select .select-body-wrapper div.select-items input.select-input:checked + .select-label {
  height: calc(2.8em - 6px);
  margin-top: calc(-2.8em + 6px);
}
.form-wrapper.btn-select .select-body-wrapper div.select-items .select-expandLabel {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(2.8em - 2px);
  cursor: pointer;
}
.form-wrapper.btn-select .select-body-wrapper div.select-items .select-closeLabel {
  display: none;
  z-index: -1;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}
.form-wrapper.btn-select .select-body-wrapper div.select-items input.select-expand:checked + .select-closeLabel + ul.select-options .select-option:first-child { position: relative;}
.form-wrapper.btn-select .select-body-wrapper div.select-items input.select-expand:checked + .select-closeLabel + ul.select-options .select-option:first-child::before {
  display: block;
  z-index: -10;
  position: absolute;
  top: 0;
  width: 100%;
  height: 10px;
  background-color: var(--cs-btn_bg-nor);
  content: "";
}
.form-wrapper.btn-select .select-body-wrapper div.select-items input.select-expand:not(:checked) + .select-closeLabel + ul.select-options .select-option:first-child { position: relative;}
.form-wrapper.btn-select .select-body-wrapper div.select-items input.select-expand:not(:checked) + .select-closeLabel + ul.select-options .select-option:first-child::before {
  display: block;
  z-index: -10;
  position: absolute;
  top: -10px;
  width: 100%;
  height: 0;
  background-color: var(--cs-btn_bg-nor);
  content: "";
  transition: all 250ms cubic-bezier(1, 0, 0.9, 0);
}
.form-wrapper.btn-select .select-body-wrapper .select-label {
  display: flex;
  align-items: baseline;
  width: 100%;
  height: 0;
  padding-right: 1em;
  overflow: hidden;
  background-color: var(--cs-btn_bg-nor);
  font-size: 1em;
  line-height: 2.8em;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  transition: all 250ms cubic-bezier(0.4, 0.25, 0.3, 1);
}
.form-wrapper.btn-select .select-body-wrapper .select-label::before {
  display: inline-block;
  width: 1em;
  content: "";
}
.form-wrapper.btn-select .select-body-wrapper .select-label.select-label-placeholder {
  position: absolute;
  top: 0;
  left: 0;
  height: 2.8em;
  border-radius: 10px;
  vertical-align: middle;
  opacity: 0.5;
}
.form-wrapper.btn-select .select-body-wrapper .select-options .select-option:last-child .select-label {
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
}
.form-wrapper.btn-select.readonly > .select-body-wrapper {
  background-color: transparent;
  cursor: auto;
  pointer-events: none;
}
.form-wrapper.btn-select.readonly > .select-body-wrapper * { color: var(--cs-font-01) !important;}
.form-wrapper.btn-select.readonly > .select-body-wrapper .select-items.nor {
  border-color: var(--cs-basic-05);
  background-color: transparent !important;
  box-shadow: none !important;
}
.form-wrapper.btn-select.readonly > .select-body-wrapper input.select-expand:after { display: none;}
.form-wrapper.btn-select.readonly > .select-body-wrapper .select-label { background-color: var(--cs-basic-01);}
.form-wrapper.btn-select.readonly > .select-body-wrapper .select-label.select-label-placeholder { display: none;}
.form-wrapper.range form {
  display: inline-flex;
  flex-wrap: nowrap;
  align-content: flex-start;
  align-items: center;
}
.form-wrapper.range form input[type=range] {
  display: inline-block;
  -webkit-appearance: none;
          appearance: none;
  width: 100%;
  height: 2px;
  margin: 0 0.5em;
  border-radius: 6px;
  background-color: var(--cs-basic-08);
}
.form-wrapper.range form input[type=range]:focus, .form-wrapper.range form input[type=range]:active { outline: none;}
.form-wrapper.range form input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  display: block;
          appearance: none;
  position: relative;
  width: 20px;
  height: 20px;
  border: 2px solid var(--cs-btn_border-nor);
  border-radius: 50%;
  background-color: var(--cs-basic-01);
  cursor: pointer;
}
.form-wrapper.range form input[type=range]::-ms-tooltip { display: none;}
.form-wrapper.range form output {
  display: inline-block;
  width: 3em;
}
.form-wrapper.textarea {
  display: block;
  flex-direction: column;
}
.form-wrapper.textarea textarea {
  width: 100%;
  height: 12.5em;
  margin: 5px 0 10px;
  padding: 0 0.4em;
  overflow: auto;
  border: 1px solid var(--cs-basic-06);
  outline: none;
  color: var(--cs-font-01);
  font-size: 1em;
  line-height: 2;
  resize: none;
  transition: all 0.3s;
}
.form-wrapper.textarea textarea:not([readonly=readonly]):focus { background-color: var(--cs-basic-01);}
.form-wrapper.textarea textarea::placeholder { color: var(--cs-basic-08);}
.form-wrapper.textarea textarea[readonly=readonly] { cursor: default;}
.form-wrapper.file {
  display: flex;
  justify-content: space-between;
}
.form-wrapper.file input[type=file] { display: none;}
.form-wrapper.file input[type=text].filename {
  width: auto !important;
  font-size: 1em !important;
}
.form-wrapper.file label { padding: 0.6em !important;}
.form-wrapper.textarea textarea.note {
  background-image: linear-gradient(to bottom, rgba(var(--cs-basic-06-rgb), 0) 97%, rgba(var(--cs-basic-06-rgb), 1) 98%, rgba(var(--cs-basic-06-rgb), 1) 99%, rgba(var(--cs-basic-06-rgb), 0) 100%);
  background-position: 0 -0.2em;
  background-size: auto 2em;
  background-attachment: local;
  background-color: var(--cs-basic-03);
}
.form-wrapper.textarea textarea.note:not([readonly=readonly]):focus, .form-wrapper.textarea textarea.note[readonly=readonly] {
  background-image: linear-gradient(to bottom, rgba(var(--cs-basic-05-rgb), 0) 97%, rgba(var(--cs-basic-05-rgb), 1) 98%, rgba(var(--cs-basic-05-rgb), 1) 99%, rgba(var(--cs-basic-05-rgb), 0) 100%);
  background-position: 0 -0.2em;
  background-size: auto 2em;
  background-attachment: local;
  background-color: var(--cs-basic-01);
}

.modal {
  display: none;
  z-index: 10010;
  top: 0;
  left: 0;
  margin: auto;
}
.modal .modal-window {
  z-index: 10020;
  position: fixed;
  top: 50%;
  left: 50%;
  width: min-content;
  min-width: 600px;
  max-width: 1004px;
  transform: translate(-50%, -50%);
  border-radius: 20px;
  background-color: var(--cs-basic-01);
}
.modal .modal-window h3 {
  position: relative;
  margin: 0;
  padding: 1em 1em 0.5em;
  border-radius: inherit;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  font-size: 1.2em;
}
.modal .modal-window h3 + .modal-contents > p {
  margin-top: 0;
  margin-bottom: 1em;
  line-height: normal;
  text-align: left;
}
.modal .modal-window h3 + .modal-contents { max-height: calc(90vh - 4em);}
.modal .modal-window .modal-contents {
  max-height: 90vh;
  padding: 20px;
  overflow-y: auto;
  line-height: normal;
}
.modal .modal-window .modal-contents > :is(p, dl, ul):only-of-type {
  max-height: calc(90vh - 14em);
  overflow-y: auto;
}
.safari .modal .modal-window .modal-contents > :is(p, dl, ul):only-of-type ruby { margin-top: 0;}
.modal .modal-window .modal-contents > p:only-child { margin-bottom: 0 !important;}
.modal .modal-window .modal-contents p {
  margin-bottom: 1em;
  font-size: 0.9em;
  line-height: normal;
  text-align: center;
}
.modal .modal-window .modal-contents dl dt {
  display: block;
  padding: 0.2em 0.5em;
  border-radius: 0.5em;
  background-color: var(--cs-basic-07);
  color: var(--cs-font-lite);
}
.modal .modal-window .modal-contents dl dd {
  display: block;
  padding: 0.5em 0.5em 1.5em 1em;
  font-size: 1.1em;
}
.modal .modal-window .modal-contents ul {
  margin-bottom: 2em;
  line-height: 1.5;
}
.modal .modal-window .modal-contents ul:nth-last-of-type(1) { margin-bottom: 0;}
.modal .modal-window .modal-contents .form .title {
  margin: 0;
  padding: 0;
  background-color: inherit;
}
.modal .modal-window .modal-contents .content-block {
  display: flex;
  flex-wrap: wrap;
}
.modal .modal-window .modal-contents .content-block.button-area {
  justify-content: space-around;
  margin-top: 1em;
  margin-bottom: 0;
  padding: 1em 0 0;
  border-top: 1px solid var(--cs-basic-06);
  background-color: transparent;
}
.modal .modal-window .modal-contents :is(.basic-table, .simplebox) ~ .button-area { border-top: 0;}
.modal .modal-window .modal-contents .grid-3 { min-width: 468px;}
.modal .modal-window .modal-contents .grid-4 { min-width: 468px;}
.modal .modal-window .modal-contents .direction-vertical :is(.button, .button-fullwidth) + :is(p, .contents) {
  margin-bottom: 1em;
  font-size: 0.9em;
  text-align: center;
}
.modal .modal-window .modal-contents.select-term { width: 568px;}
.modal .modal-window .modal-contents.select-term .content-block:not(.button-area) {
  margin-bottom: 10px;
  padding: 0 5px;
  border-top: none;
  border-radius: 10px;
  background-color: var(--cs-basic-04);
}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(1) {
  margin: 0 !important;
  padding: 0 !important;
  background-color: transparent !important;
}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(1) .form-wrapper { margin: 0 0 10px !important;}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(1) > p {
  margin-bottom: 10px;
  font-weight: bolder;
  font-size: 2em !important;
}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(5) { flex-wrap: nowrap;}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(5) input[type=radio] { display: none;}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(5) .btn-radio {
  display: inline-block;
  flex-shrink: 1000;
}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(5) .date-wrapper {
  display: inline-flex;
  opacity: 0.1;
}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(5) .date-wrapper .textbox {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  padding: 0;
}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(5) .date-wrapper .textbox:last-child::before {
  display: block;
  margin: 0 auto;
  content: "〜";
}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(5) .date-wrapper .textbox::after {
  margin-right: 0.5em;
  content: "\e95a";
  color: currentColor;
  font-family: "elaicon" !important;
}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(5) .date-wrapper .textbox input {
  width: 7em;
  margin: 0;
  margin: 0 0.5em;
}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(5) .text-active:checked + .btn-radio label { background-color: var(--cs-btn_bg-sel);}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(5) .text-active:checked + .btn-radio label .parts {
  box-shadow: none;
  color: var(--cs-font-lite);
  pointer-events: none;
}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(5) .text-active:checked + .btn-radio label .parts::before {
  background-image: radial-gradient(var(--cs-btn_border-nor) 45%, var(--cs-btn_bg-nor) 50%);
  background-color: var(--cs-btn_border-nor);
}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(5) .text-active:checked + .btn-radio + .date-wrapper { opacity: 1;}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(5) .text-active:checked + .btn-radio + .date-wrapper .textbox input:is([readonly=readonly], [readonly=""]) {
  border: 1px solid var(--cs-basic-07) !important;
  color: var(--cs-font-01) !important;
  cursor: pointer;
  pointer-events: auto;
}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(5) .text-active:checked + .btn-radio + .date-wrapper .textbox::after { color: var(--cs-btn_font-nor);}
.modal .modal-window .modal-contents.select-term .content-block:nth-child(5) .text-active:checked + .date-wrapper .parts::before {
  background-image: radial-gradient(var(--cs-btn_border-nor) 45%, var(--cs-btn_bg-nor) 50%);
  background-color: var(--cs-btn_border-nor);
}
.modal .modal-window .modal-contents.select-term .content-block .form-wrapper {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 0;
  padding: 0 5px;
}
.modal .modal-window .modal-contents.select-term .content-block .form-wrapper > section {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.modal .modal-window .modal-contents.select-term .content-block .form-wrapper:not([class*=btn-select]) label {
  margin: 5px 0;
  padding: 0 5px;
}
.modal .modal-window .modal-contents.select-term .content-block .form-wrapper:not([class*=btn-select]) label .parts { min-width: 100px !important;}
.modal .modal-window .modal-contents.select-term-type2 .content-block:nth-child(1) {
  margin: 0 !important;
  padding: 0 !important;
  background-color: transparent !important;
}
.modal .modal-window .modal-contents.select-term-type2 .content-block:nth-child(1) .form-wrapper { margin: 0 0 10px !important;}
.modal .modal-window .modal-contents.select-term-type2 .content-block:nth-child(1) > p {
  margin-bottom: 10px;
  font-weight: bolder;
  font-size: 2em !important;
}
.modal .modal-window .modal-contents.select-term-type2 .content-block:nth-child(2) { display: block;}
.modal .modal-window .modal-contents.select-term-type2 .content-block:nth-child(2) > .month-all {
  margin-bottom: 1em;
  margin-left: 1em;
}
.modal .modal-window .modal-contents.select-term-type2 .content-block:nth-child(2) > :is(.month-short, .month-long) {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  padding: 1em;
  border-radius: 10px;
  background-color: var(--cs-basic-04);
}
.modal .modal-window .modal-contents.select-term-type2 .content-block:nth-child(2) > :is(.month-short, .month-long) .form-wrapper.radio { width: 11em;}
.modal .modal-window .modal-contents.select-term-type2 .content-block:nth-child(2) > :is(.month-short, .month-long) .form-wrapper.radio p {
  margin: 0 0 0 1em;
  font-size: 0.8em;
}
.modal .modal-window .modal-contents.select-term-type2 .content-block:nth-child(2) > :is(.month-short, .month-long) .form-wrapper.select:first-child::after {
  margin-left: 1em;
  content: "〜";
}
.modal .modal-window .modal-contents.select-term-type2 .content-block:nth-child(2) input.term-switch { display: none;}
.modal .modal-window .modal-contents.select-term-type2 .content-block:nth-child(2) input.term-switch::before { background-color: var(--cs-btn_border-nor);}
.modal .modal-window .modal-contents.select-term-type2 .content-block:nth-child(2) input.term-switch.all:checked ~ .month-all .parts::before {
  background-image: radial-gradient(var(--cs-btn_border-nor) 45%, var(--cs-btn_bg-nor) 50%);
  background-color: var(--cs-btn_border-nor);
}
.modal .modal-window .modal-contents.select-term-type2 .content-block:nth-child(2) input.term-switch.short:checked ~ .month-short .parts::before {
  background-image: radial-gradient(var(--cs-btn_border-nor) 45%, var(--cs-btn_bg-nor) 50%);
  background-color: var(--cs-btn_border-nor);
}
.modal .modal-window .modal-contents.select-term-type2 .content-block:nth-child(2) input.term-switch.long:checked ~ .month-long .parts::before {
  background-image: radial-gradient(var(--cs-btn_border-nor) 45%, var(--cs-btn_bg-nor) 50%);
  background-color: var(--cs-btn_border-nor);
}
.modal .modal-window .modal-contents.slect-grades_01 ul {
  display: grid;
  grid-template-rows: repeat(6, auto);
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 1em;
  grid-row-gap: 0.5em;
}
.modal .modal-window .modal-contents.slect-grades_01 ul .cell.c1 { grid-area: 1/1/2/4;}
.modal .modal-window .modal-contents.slect-grades_01 ul .cell.c2 { grid-area: 2/1/3/4;}
.modal .modal-window .modal-contents.slect-grades_01 ul .cell.c3 { grid-area: 3/1/4/2;}
.modal .modal-window .modal-contents.slect-grades_01 ul .cell.c4 { grid-area: 3/2/4/3;}
.modal .modal-window .modal-contents.slect-grades_01 ul .cell.c5 { grid-area: 3/3/4/4;}
.modal .modal-window .modal-contents.slect-grades_01 ul .cell.c6 { grid-area: 4/1/5/2;}
.modal .modal-window .modal-contents.slect-grades_01 ul .cell.c7 { grid-area: 4/2/5/3;}
.modal .modal-window .modal-contents.slect-grades_01 ul .cell.c8 { grid-area: 4/3/5/4;}
.modal .modal-window .modal-contents.slect-grades_01 ul .cell.c9 { grid-area: 5/1/6/4;}
.modal .modal-window .modal-contents.slect-grades_01 ul .cell.c10 { grid-area: 6/1/7/2;}
.modal .modal-window .modal-contents.slect-grades_01 ul .cell.c11 { grid-area: 6/2/7/3;}
.modal .modal-window .modal-contents.slect-grades_01 ul .cell.c12 { grid-area: 6/3/7/4;}
.modal .modal-window .modal-contents.slect-grades_01 ul .cell.c1 { margin-bottom: 1em;}
.modal .modal-window .modal-contents.slect-grades_01 ul .cell.c9 { margin-top: 0.5em;}
.modal .modal-window .modal-contents.slect-grades_01 ul .cell:is(.c1, .c2, .c9) label {
  padding-right: 0.5em;
  border-radius: 0.5em;
  background-color: var(--cs-key-03);
}
.modal .modal-window .modal-contents.slect-subject_01 ul { display: block;}
.modal .modal-window .modal-contents.slect-subject_01 ul li:first-of-type {
  margin-bottom: 1em;
  padding-right: 0.5em;
  border-radius: 0.5em;
  background-color: var(--cs-key-03);
}
.modal .modal-window .modal-contents.form .form-wrapper { width: 100%;}
.modal .modal-window .modal-contents.form .form-wrapper.textbox { font-size: 1em;}
.modal .modal-window .modal-contents.form .form-wrapper.textbox input:is([type=text], [type=search], [type=color], [type=date], [type=number], [type=tel], [type=email], [type=url], [type=password], [type=datetime-local], [type=month], [type=week], [type=time]) {
  width: 100%;
  font-size: 1.5em;
}
.modal .modal-window .modal-contents.form .form-wrapper.textbox .title { border-radius: 0;}
.modal .modal-window .modal-contents.select-term-type2 .content-block:nth-child(2) input.term-switch.all:checked ~ :is(.month-short, .month-long) .right-side *, .modal .modal-window .modal-contents.select-term-type2 .content-block:nth-child(2) input.term-switch.short:checked ~ .month-long .right-side *, .modal .modal-window .modal-contents.select-term-type2 .content-block:nth-child(2) input.term-switch.long:checked ~ .month-short .right-side * {
  color: var(--cs-font-03);
  opacity: 0.5;
  pointer-events: none;
}
.modal .close-btn {
  position: absolute !important;
  top: 0;
  right: -60px;
  width: 50px;
  height: 50px;
  border-radius: 20px;
  text-align: center;
  cursor: pointer;
}
.modal .close-btn:active::before, .modal .close-btn:active::after { background-color: var(--cs-btn_font-act) !important;}
.modal .close-btn::before, .modal .close-btn::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 4px;
  border-radius: 4px;
  background-color: var(--cs-btn_font-nor);
  content: "";
}
.modal .close-btn::before { transform: translate(-50%, -50%) rotate(45deg);}
.modal .close-btn::after { transform: translate(-50%, -50%) rotate(-45deg);}

:is(#modal-layer, #modal-layer-wait) {
  display: none;
  z-index: 10000;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  background-color: var(--cs-modal-bg_01);
  cursor: pointer !important;
  opacity: 0.5;
}

[class*=afterstr-] {
  display: inline-block;
  position: relative;
  align-items: baseline;
  white-space: nowrap;
}
[class*=afterstr-]::after {
  color: currentColor;
  font-weight: normal;
  font-size: 0.7em;
  opacity: 0.8;
}
.teigakunen [class*=afterstr-]::after { font-feature-settings: "palt";}
.teigakunen .afterstr-year::after { content: "ねん";}
.teigakunen .afterstr-fisyear::after { content: "ねんど";}
.teigakunen .afterstr-month::after { content: "がつ";}
.teigakunen .afterstr-monthly::after { content: "つき";}
.teigakunen .afterstr-week::after { content: "しゅう";}
.teigakunen .afterstr-day::after { content: "にち";}
.teigakunen .afterstr-hourly::after { content: "じかん";}
.teigakunen .afterstr-hour::after { content: "じ";}
.teigakunen .afterstr-minute::after { content: "ふん";}
.teigakunen .afterstr-second::after { content: "びょう";}
.teigakunen .afterstr-term::after { content: "がっき";}
.teigakunen .afterstr-percent::after { content: "％";}
.teigakunen .afterstr-times::after { content: "かい";}
.teigakunen .afterstr-score::after { content: "てん";}
.teigakunen .afterstr-exam::after { content: "もん";}
.teigakunen .afterstr-piece::after { content: "こ";}
.teigakunen .afterstr-case::after { content: "けん";}
.teigakunen .afterstr-people::after { content: "にん";}
.teigakunen .afterstr-member::after { content: "めい";}
.teigakunen .afterstr-coin::after,
.teigakunen .afterstr-sheet::after { content: "まい";}
.teigakunen .afterstr-per-year::after { content: " / ねん";}
.teigakunen .afterstr-per-fisyear::after { content: " / ねんど";}
.teigakunen .afterstr-per-month::after { content: " / がつ";}
.teigakunen .afterstr-per-monthly::after { content: " / つき";}
.teigakunen .afterstr-per-week::after { content: " / しゅう";}
.teigakunen .afterstr-per-day::after { content: " / にち";}
.teigakunen .afterstr-per-hour::after { content: " / じかん";}
.teigakunen .afterstr-per-minute::after { content: " / ふん";}
.teigakunen .afterstr-per-second::after { content: " / びょう";}
.teigakunen .afterstr-per-term::after { content: " / がっき";}
.teigakunen .afterstr-per-times::after { content: " / かい";}
.teigakunen .afterstr-per-score::after { content: " / てん";}
.teigakunen .afterstr-per-exam::after { content: " / もん";}
.teigakunen .afterstr-per-piece::after { content: " / こ";}
.teigakunen .afterstr-per-case::after { content: " / けん";}
.teigakunen .afterstr-per-people::after { content: " / にん";}
.teigakunen .afterstr-per-member::after { content: " / めい";}

.kougakunen [class*=afterstr-]::before {
  display: block;
  position: absolute;
  top: auto;
  right: 0;
  bottom: 2.43em;
  width: 2.33em;
  font-weight: normal;
  font-size: 0.3em;
  text-align: center;
  white-space: nowrap;
  opacity: 0.8;
}
.kougakunen.chrome [class*=afterstr-]::before {
  font-size: 100% !important;
  zoom: 0.3;
}

.kougakunen.windows.chrome [class*=afterstr-]::before {
  bottom: 2.63em !important;
  font-family: "BIZ UDPGothic";
}
.kougakunen :is(.afterstr-fisyear,
.afterstr-hourly,
.afterstr-days,
.afterstr-term,
.afterstr-per-fisyear,
.afterstr-per-hourly,
.afterstr-per-term)::before { width: 4.66em !important;}
.kougakunen .afterstr-year::before { content: "ねん";}
.kougakunen .afterstr-fisyear::before { content: "ねんど";}
.kougakunen .afterstr-month::before { content: "がつ";}
.kougakunen .afterstr-monthly::before { content: "つき";}
.kougakunen .afterstr-week::before { content: "しゅう";}
.kougakunen .afterstr-day::before { content: "にち";}
.kougakunen .afterstr-days::before { content: "にちかん";}
.kougakunen .afterstr-hourly::before { content: "じかん";}
.kougakunen .afterstr-hour::before { content: "じ";}
.kougakunen .afterstr-minute::before { content: "ふん";}
.kougakunen .afterstr-second::before { content: "びょう";}
.kougakunen .afterstr-term::before { content: "がっき";}
.kougakunen .afterstr-percent::before { content: none;}
.kougakunen .afterstr-times::before { content: "かい";}
.kougakunen .afterstr-score::before { content: "てん";}
.kougakunen .afterstr-exam::before { content: "もん";}
.kougakunen .afterstr-piece::before { content: "こ";}
.kougakunen .afterstr-case::before { content: "けん";}
.kougakunen .afterstr-people::before { content: "にん";}
.kougakunen .afterstr-member::before { content: "めい";}
.kougakunen .afterstr-coin::before,
.kougakunen .afterstr-sheet::before { content: "まい";}
.kougakunen .afterstr-per-year::before { content: " ねん";}
.kougakunen .afterstr-per-fisyear::before { content: " ねんど";}
.kougakunen .afterstr-per-month::before { content: " がつ";}
.kougakunen .afterstr-per-monthly::before { content: " つき";}
.kougakunen .afterstr-per-week::before { content: " しゅう";}
.kougakunen .afterstr-per-day::before { content: " にち";}
.kougakunen .afterstr-per-hourly::before { content: " じかん";}
.kougakunen .afterstr-per-minute::before { content: " ふん";}
.kougakunen .afterstr-per-second::before { content: " びょう";}
.kougakunen .afterstr-per-term::before { content: " がっき";}
.kougakunen .afterstr-per-times::before { content: " かい";}
.kougakunen .afterstr-per-score::before { content: " てん";}
.kougakunen .afterstr-per-exam::before { content: " もん";}
.kougakunen .afterstr-per-piece::before { content: " こ";}
.kougakunen .afterstr-per-case::before { content: " けん";}
.kougakunen .afterstr-per-people::before { content: " にん";}
.kougakunen .afterstr-per-member::after { content: " / めい";}
.kougakunen :is(table,
.gadget-calendar,
.gadget-message .date) [class*=afterstr-]::before { content: none;}
.afterstr-year::after { content: "年";}
.afterstr-fisyear::after { content: "年度";}
.afterstr-month::after { content: "月";}
.afterstr-monthly::after { content: "月";}
.afterstr-week::after { content: "週";}
.afterstr-day::after { content: "日";}
.afterstr-days::after { content: "日間";}
.afterstr-hourly::after { content: "時間";}
.afterstr-hour::after { content: "時";}
.afterstr-minute::after { content: "分";}
.afterstr-second::after { content: "秒";}
.afterstr-term::after { content: "学期";}
.afterstr-percent::after { content: "％";}
.afterstr-times::after { content: "回";}
.afterstr-score::after { content: "点";}
.afterstr-exam::after { content: "問";}
.afterstr-piece::after { content: "個";}
.afterstr-case::after { content: "件";}
.afterstr-people::after { content: "人";}
.afterstr-member::after { content: "名";}
.afterstr-school::after { content: "校";}
.afterstr-class::after { content: "組";}
.afterstr-number::after { content: "番";}
.afterstr-coin::after,
.afterstr-sheet::after { content: "枚";}
.afterstr-per-year::after { content: " / 年";}
.afterstr-per-fisyear::after { content: " / 年度";}
.afterstr-per-month::after { content: " / 月";}
.afterstr-per-week::after { content: " / 週";}
.afterstr-per-day::after { content: " / 日";}
.afterstr-per-hourly::after { content: " / 時間";}
.afterstr-per-minute::after { content: " / 分";}
.afterstr-per-second::after { content: " / 秒";}
.afterstr-per-term::after { content: " / 学期";}
.afterstr-per-times::after { content: " / 回";}
.afterstr-per-score::after { content: " / 点";}
.afterstr-per-exam::after { content: " / 問";}
.afterstr-per-piece::after { content: " / 個";}
.afterstr-per-case::after { content: " / 件";}
.afterstr-per-people::after { content: " / 人";}
.afterstr-per-member::after { content: " / 名";}
.afterstr-per-school::after { content: " / 校";}
.afterstr-per-class::after { content: " / 組";}
.afterstr-times-per-people::after { content: "回 / 人";}

.afterstr, .afterstr-semicolon::after, .afterstr-colon::after, .afterstr-per::after {
  margin: 0 0.2em;
  font-weight: normal;
  font-size: 1em;
  opacity: 0.8;
}
.afterstr-per::after { content: "/";}
.afterstr-colon::after { content: ":";}
.afterstr-semicolon::after { content: ";";}

.beforestr-level::before {
  margin: 0 0.2em;
  content: "Lv.";
  font-weight: normal;
  font-size: 0.7em;
}
.beforestr-per::before { content: " / ";}
.beforestr-colon::before { content: " : ";}
.beforestr-semicolon::before { content: " ; ";}

:is(.beforestr-per, .beforestr-colon, .beforestr-semicolon)::before {
  font-weight: normal;
  font-size: 1em;
  white-space: pre;
  opacity: 0.8;
}

.gadget-circlegauge {
  position: relative;
  margin: auto;
}
.gadget-circlegauge svg.gauge {
  width: 100% !important;
  height: 100% !important;
  transform: rotate(-90deg);
  border-radius: 50%;
}
.gadget-circlegauge svg.gauge circle {
  stroke-width: 32;
  fill: none;
}
.gadget-circlegauge > .inner {
  display: flex;
  position: absolute;
  top: -50%;
  left: -50%;
  align-items: center;
  justify-content: center;
  width: 70%;
  height: 70%;
  margin: 30%;
  transform: translate(50%, 50%);
  border-radius: 50%;
  text-align: center;
}
.gadget-circlegauge[data-width="0"] svg.gauge circle { stroke-dasharray: 0 100;}
.gadget-circlegauge[data-width="1"] svg.gauge circle { stroke-dasharray: 1 100;}
.gadget-circlegauge[data-width="2"] svg.gauge circle { stroke-dasharray: 2 100;}
.gadget-circlegauge[data-width="3"] svg.gauge circle { stroke-dasharray: 3 100;}
.gadget-circlegauge[data-width="4"] svg.gauge circle { stroke-dasharray: 4 100;}
.gadget-circlegauge[data-width="5"] svg.gauge circle { stroke-dasharray: 5 100;}
.gadget-circlegauge[data-width="6"] svg.gauge circle { stroke-dasharray: 6 100;}
.gadget-circlegauge[data-width="7"] svg.gauge circle { stroke-dasharray: 7 100;}
.gadget-circlegauge[data-width="8"] svg.gauge circle { stroke-dasharray: 8 100;}
.gadget-circlegauge[data-width="9"] svg.gauge circle { stroke-dasharray: 9 100;}
.gadget-circlegauge[data-width="10"] svg.gauge circle { stroke-dasharray: 10 100;}
.gadget-circlegauge[data-width="11"] svg.gauge circle { stroke-dasharray: 11 100;}
.gadget-circlegauge[data-width="12"] svg.gauge circle { stroke-dasharray: 12 100;}
.gadget-circlegauge[data-width="13"] svg.gauge circle { stroke-dasharray: 13 100;}
.gadget-circlegauge[data-width="14"] svg.gauge circle { stroke-dasharray: 14 100;}
.gadget-circlegauge[data-width="15"] svg.gauge circle { stroke-dasharray: 15 100;}
.gadget-circlegauge[data-width="16"] svg.gauge circle { stroke-dasharray: 16 100;}
.gadget-circlegauge[data-width="17"] svg.gauge circle { stroke-dasharray: 17 100;}
.gadget-circlegauge[data-width="18"] svg.gauge circle { stroke-dasharray: 18 100;}
.gadget-circlegauge[data-width="19"] svg.gauge circle { stroke-dasharray: 19 100;}
.gadget-circlegauge[data-width="20"] svg.gauge circle { stroke-dasharray: 20 100;}
.gadget-circlegauge[data-width="21"] svg.gauge circle { stroke-dasharray: 21 100;}
.gadget-circlegauge[data-width="22"] svg.gauge circle { stroke-dasharray: 22 100;}
.gadget-circlegauge[data-width="23"] svg.gauge circle { stroke-dasharray: 23 100;}
.gadget-circlegauge[data-width="24"] svg.gauge circle { stroke-dasharray: 24 100;}
.gadget-circlegauge[data-width="25"] svg.gauge circle { stroke-dasharray: 25 100;}
.gadget-circlegauge[data-width="26"] svg.gauge circle { stroke-dasharray: 26 100;}
.gadget-circlegauge[data-width="27"] svg.gauge circle { stroke-dasharray: 27 100;}
.gadget-circlegauge[data-width="28"] svg.gauge circle { stroke-dasharray: 28 100;}
.gadget-circlegauge[data-width="29"] svg.gauge circle { stroke-dasharray: 29 100;}
.gadget-circlegauge[data-width="30"] svg.gauge circle { stroke-dasharray: 30 100;}
.gadget-circlegauge[data-width="31"] svg.gauge circle { stroke-dasharray: 31 100;}
.gadget-circlegauge[data-width="32"] svg.gauge circle { stroke-dasharray: 32 100;}
.gadget-circlegauge[data-width="33"] svg.gauge circle { stroke-dasharray: 33 100;}
.gadget-circlegauge[data-width="34"] svg.gauge circle { stroke-dasharray: 34 100;}
.gadget-circlegauge[data-width="35"] svg.gauge circle { stroke-dasharray: 35 100;}
.gadget-circlegauge[data-width="36"] svg.gauge circle { stroke-dasharray: 36 100;}
.gadget-circlegauge[data-width="37"] svg.gauge circle { stroke-dasharray: 37 100;}
.gadget-circlegauge[data-width="38"] svg.gauge circle { stroke-dasharray: 38 100;}
.gadget-circlegauge[data-width="39"] svg.gauge circle { stroke-dasharray: 39 100;}
.gadget-circlegauge[data-width="40"] svg.gauge circle { stroke-dasharray: 40 100;}
.gadget-circlegauge[data-width="41"] svg.gauge circle { stroke-dasharray: 41 100;}
.gadget-circlegauge[data-width="42"] svg.gauge circle { stroke-dasharray: 42 100;}
.gadget-circlegauge[data-width="43"] svg.gauge circle { stroke-dasharray: 43 100;}
.gadget-circlegauge[data-width="44"] svg.gauge circle { stroke-dasharray: 44 100;}
.gadget-circlegauge[data-width="45"] svg.gauge circle { stroke-dasharray: 45 100;}
.gadget-circlegauge[data-width="46"] svg.gauge circle { stroke-dasharray: 46 100;}
.gadget-circlegauge[data-width="47"] svg.gauge circle { stroke-dasharray: 47 100;}
.gadget-circlegauge[data-width="48"] svg.gauge circle { stroke-dasharray: 48 100;}
.gadget-circlegauge[data-width="49"] svg.gauge circle { stroke-dasharray: 49 100;}
.gadget-circlegauge[data-width="50"] svg.gauge circle { stroke-dasharray: 50 100;}
.gadget-circlegauge[data-width="51"] svg.gauge circle { stroke-dasharray: 51 100;}
.gadget-circlegauge[data-width="52"] svg.gauge circle { stroke-dasharray: 52 100;}
.gadget-circlegauge[data-width="53"] svg.gauge circle { stroke-dasharray: 53 100;}
.gadget-circlegauge[data-width="54"] svg.gauge circle { stroke-dasharray: 54 100;}
.gadget-circlegauge[data-width="55"] svg.gauge circle { stroke-dasharray: 55 100;}
.gadget-circlegauge[data-width="56"] svg.gauge circle { stroke-dasharray: 56 100;}
.gadget-circlegauge[data-width="57"] svg.gauge circle { stroke-dasharray: 57 100;}
.gadget-circlegauge[data-width="58"] svg.gauge circle { stroke-dasharray: 58 100;}
.gadget-circlegauge[data-width="59"] svg.gauge circle { stroke-dasharray: 59 100;}
.gadget-circlegauge[data-width="60"] svg.gauge circle { stroke-dasharray: 60 100;}
.gadget-circlegauge[data-width="61"] svg.gauge circle { stroke-dasharray: 61 100;}
.gadget-circlegauge[data-width="62"] svg.gauge circle { stroke-dasharray: 62 100;}
.gadget-circlegauge[data-width="63"] svg.gauge circle { stroke-dasharray: 63 100;}
.gadget-circlegauge[data-width="64"] svg.gauge circle { stroke-dasharray: 64 100;}
.gadget-circlegauge[data-width="65"] svg.gauge circle { stroke-dasharray: 65 100;}
.gadget-circlegauge[data-width="66"] svg.gauge circle { stroke-dasharray: 66 100;}
.gadget-circlegauge[data-width="67"] svg.gauge circle { stroke-dasharray: 67 100;}
.gadget-circlegauge[data-width="68"] svg.gauge circle { stroke-dasharray: 68 100;}
.gadget-circlegauge[data-width="69"] svg.gauge circle { stroke-dasharray: 69 100;}
.gadget-circlegauge[data-width="70"] svg.gauge circle { stroke-dasharray: 70 100;}
.gadget-circlegauge[data-width="71"] svg.gauge circle { stroke-dasharray: 71 100;}
.gadget-circlegauge[data-width="72"] svg.gauge circle { stroke-dasharray: 72 100;}
.gadget-circlegauge[data-width="73"] svg.gauge circle { stroke-dasharray: 73 100;}
.gadget-circlegauge[data-width="74"] svg.gauge circle { stroke-dasharray: 74 100;}
.gadget-circlegauge[data-width="75"] svg.gauge circle { stroke-dasharray: 75 100;}
.gadget-circlegauge[data-width="76"] svg.gauge circle { stroke-dasharray: 76 100;}
.gadget-circlegauge[data-width="77"] svg.gauge circle { stroke-dasharray: 77 100;}
.gadget-circlegauge[data-width="78"] svg.gauge circle { stroke-dasharray: 78 100;}
.gadget-circlegauge[data-width="79"] svg.gauge circle { stroke-dasharray: 79 100;}
.gadget-circlegauge[data-width="80"] svg.gauge circle { stroke-dasharray: 80 100;}
.gadget-circlegauge[data-width="81"] svg.gauge circle { stroke-dasharray: 81 100;}
.gadget-circlegauge[data-width="82"] svg.gauge circle { stroke-dasharray: 82 100;}
.gadget-circlegauge[data-width="83"] svg.gauge circle { stroke-dasharray: 83 100;}
.gadget-circlegauge[data-width="84"] svg.gauge circle { stroke-dasharray: 84 100;}
.gadget-circlegauge[data-width="85"] svg.gauge circle { stroke-dasharray: 85 100;}
.gadget-circlegauge[data-width="86"] svg.gauge circle { stroke-dasharray: 86 100;}
.gadget-circlegauge[data-width="87"] svg.gauge circle { stroke-dasharray: 87 100;}
.gadget-circlegauge[data-width="88"] svg.gauge circle { stroke-dasharray: 88 100;}
.gadget-circlegauge[data-width="89"] svg.gauge circle { stroke-dasharray: 89 100;}
.gadget-circlegauge[data-width="90"] svg.gauge circle { stroke-dasharray: 90 100;}
.gadget-circlegauge[data-width="91"] svg.gauge circle { stroke-dasharray: 91 100;}
.gadget-circlegauge[data-width="92"] svg.gauge circle { stroke-dasharray: 92 100;}
.gadget-circlegauge[data-width="93"] svg.gauge circle { stroke-dasharray: 93 100;}
.gadget-circlegauge[data-width="94"] svg.gauge circle { stroke-dasharray: 94 100;}
.gadget-circlegauge[data-width="95"] svg.gauge circle { stroke-dasharray: 95 100;}
.gadget-circlegauge[data-width="96"] svg.gauge circle { stroke-dasharray: 96 100;}
.gadget-circlegauge[data-width="97"] svg.gauge circle { stroke-dasharray: 97 100;}
.gadget-circlegauge[data-width="98"] svg.gauge circle { stroke-dasharray: 98 100;}
.gadget-circlegauge[data-width="99"] svg.gauge circle { stroke-dasharray: 99 100;}
.gadget-circlegauge[data-width="100"] svg.gauge circle { stroke-dasharray: 101 100;}

.gadget-loader {
  z-index: 10001;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.9em;
  height: 0.9em;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  color: #ffffff;
  font-size: 18px;
  animation: load 1s infinite cubic-bezier(0.4, 0.25, 0.3, 1);
}
.gadget-loader > .label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 18px;
  white-space: nowrap;
}
@keyframes load {0%, 100% { box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;}
12.5% { box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;}
25% { box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;}
37.5% { box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 0, 2em 2em 0 0.2em, 0 3em 0 0, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;}
50% { box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0 0 -1em, -2em -2em 0 -1em;}
62.5% { box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;}
75% { box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0 0 0.2em, -2em -2em 0 0;}
87.5% { box-shadow: 0 -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0 0 0, -2em -2em 0 0.2em;}
}

:is(.grid-one,
.grid-two,
.grid-three,
.grid-four,
.grid-five,
.grid-six) {
  display: flex !important;
  flex-wrap: wrap;
  width: 100%;
}
:is(.grid-one,
.grid-two,
.grid-three,
.grid-four,
.grid-five,
.grid-six) > * {
  display: flex;
  justify-content: center;
  padding: 0 10px 10px;
}
:is(.grid-one,
.grid-two,
.grid-three,
.grid-four,
.grid-five,
.grid-six) > .item {
  align-items: center;
  padding: 0 10px 20px;
}
:is(.grid-one,
.grid-two,
.grid-three,
.grid-four,
.grid-five,
.grid-six) :is(h3, h4, h5) { margin-bottom: 0;}
:is(.grid-one,
.grid-two,
.grid-three,
.grid-four,
.grid-five,
.grid-six) :is(.button, .button-fullwidth) { min-width: 100%;}
.grid-one > * { width: 100%;}
.grid-two > * { width: 50%;}
.grid-three > * { width: 33%;}
.grid-four > * { width: 25%;}
.grid-five > * { width: 20%;}
.grid-six > * { width: 16%;}

.gadget-growimage, .gadget-glowimage {
  --border-w: 0;
  display: block;
  position: relative;
  height: 350px;
  margin: auto;
  overflow: hidden;
  border-width: calc(var(--border-w) * 1px);
  border-style: solid;
  border-color: var(--cs-key-01);
  box-shadow: 0px 5px 10px 1px var(--cs-basic-05) inset;
}
.gadget-growimage > img, .gadget-glowimage > img {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 100%;
  transform: translate(-50%, -50%);
}
.gadget-growimage:not(:has(img[src*="/grows_2025"]))::after, .gadget-glowimage:not(:has(img[src*="/grows_2025"]))::after {
  position: absolute;
  right: 0.25em;
  bottom: 0.25em;
  content: attr(data-level);
  color: var(--cs-key-01);
  font-weight: bolder;
  font-size: 0.9em;
  text-shadow: -1px 0 2px var(--cs-basic-01), 0 1px 2px var(--cs-basic-01), 1px 0 2px var(--cs-basic-01), 0 -1px 2px var(--cs-basic-01);
}

.gadget-medal {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 2em;
  height: 2em;
  border-radius: 50%;
  font-weight: bolder;
  font-size: 1em;
}
.gadget-medal::before {
  display: block;
  transform: scale(75%, 75%);
}
.gadget-medal:after {
  position: absolute;
  top: 0.2em;
  left: 0.2em;
  width: 1.6em;
  height: 1.6em;
  border-radius: 50%;
  content: "";
}
.gadget-medal.gold {
  background-image: linear-gradient(0deg, #ffa200, #ffeb00);
  box-shadow: inset 0 -2px 1px 0 #b97500, 0 0px 2px 0 #ffffcc;
  color: #b97500;
  text-shadow: #ffffcc 0 -2px 2px;
}
.gadget-medal.gold::after { box-shadow: 0 -1px 1px 0 #b97500, 0 1px 1px 0 #ffffcc;}
.gadget-medal.silver {
  background-image: linear-gradient(0deg, #888888, #cccccc);
  box-shadow: inset 0 -2px 1px 0 #585858, 0 0px 2px 0 #cccccc;
  color: #5a5a5a;
  text-shadow: #efefef 0px -2px 2px;
}
.gadget-medal.silver::after { box-shadow: 0 -1px 1px 0 #585858, 0 1px 1px 0 #ccc;}
.gadget-medal.copper {
  background-image: linear-gradient(0deg, #c76612, #ffbd5a);
  box-shadow: inset 0 -2px 1px 0 #8c501b, 0 0px 2px 0 #ffbd5a;
  color: #8c501b;
  text-shadow: #efefef 0 -2px 2px;
}
.gadget-medal.copper::after { box-shadow: 0 -1px 1px 0 #8c501b, 0 1px 1px 0 #ffbd5a;}
.gadget-medal.blank {
  border: clamp(1px, 0.2vw, 2px) dashed black;
  background-color: #CCC;
  color: transparent;
  opacity: 0.3;
}
.gadget-medal.blank::after { display: none;}
th .gadget-medal, td .gadget-medal { margin-top: -50%;}
th:last-child .gadget-medal, td:last-child .gadget-medal {
  margin-top: -26px;
  margin-right: -26px;
  margin-left: -1em;
}

.gadget-calendar {
  display: grid;
  grid-template-rows: auto 1fr 1fr 1fr 1fr 1fr;
  grid-template-columns: repeat(7, 1fr);
  border: 1px solid rgba(var(--cs-basic-08-rgb), 0.5);
  background-color: var(--cs-basic-01);
}
.gadget-calendar :is(.top-bar_days, .calendar-day) {
  border-right: 1px solid rgba(var(--cs-basic-08-rgb), 0.5);
  border-bottom: 1px solid rgba(var(--cs-basic-08-rgb), 0.5);
}
.gadget-calendar .calendar-week:last-child .calendar-day { border-bottom: none;}
.gadget-calendar .calendar-day:last-child { border-right: none;}
.gadget-calendar :is(.calendar-top-bar, .calendar-week) { display: contents;}
.gadget-calendar .calendar-top-bar .top-bar_days {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--cs-basic-06);
  font-size: 0.8em;
  line-height: normal;
}
.gadget-calendar .calendar-day {
  display: grid;
  grid-template-rows: auto minmax(3.5em, 1fr);
  padding: 2px;
}
.gadget-calendar .calendar-day .calendar-date { color: var(--cs-font-03);}
.gadget-calendar .calendar-day:is(:first-child, .holyday) .calendar-date { color: var(--cs-ac_02-01) !important;}
.gadget-calendar .calendar-day:last-child .calendar-date { color: var(--cs-key-01);}
.gadget-calendar .calendar-day .calendar-date {
  display: flex;
  height: 2.5em;
}
.gadget-calendar .calendar-day .calendar-date .gadget-medal_container { margin-left: auto;}
.gadget-calendar .calendar-day .calendar-date .medal_wrapper {
  width: 2.5em;
  height: 2.5em;
}
.gadget-calendar .calendar-day .calendar-date .medal_wrapper svg { height: 2.5em;}
.gadget-calendar .calendar-day .calendar-date .date-num { font-size: 1.8em;}
.gadget-calendar .calendar-day.today { background-color: var(--cs-key-02);}
.gadget-calendar .calendar-day.today .calendar-date { color: var(--cs-font-lite);}
.gadget-calendar .calendar-day .datas-wrapper .datas {
  display: grid;
  grid-template-columns: 1fr auto;
  margin: 10px 2px 2px;
  padding: 0.25em;
  border: solid 1px var(--cs-basic-01);
  border-radius: 0.5em;
  background-color: var(--cs-ac_01-03);
}
.gadget-calendar .calendar-day .datas-wrapper .datas .contents {
  color: var(--cs-key_smoke-01);
  text-align: right;
}
.gadget-calendar .calendar-day .datas-wrapper .datas .contents.times { grid-area: 1/2/2/3;}
.gadget-calendar .calendar-day .datas-wrapper .datas .contents.average { grid-area: 2/2/3/3;}
.gadget-calendar .calendar-day .datas-wrapper .datas::before {
  display: flex;
  grid-area: 1/1/3/2;
  align-items: center;
  content: "\e933";
  color: var(--cs-ac_01-01);
  font-size: 1.5em;
  font-family: "elaicon" !important;
}
.gadget-calendar .calendar-day.inactive { background-color: var(--cs-basic-04);}
.gadget-calendar .calendar-day.inactive * { display: none;}
.gadget-calendar .calendar-day:has(.times, .average) {
  cursor: pointer;
  transition: box-shadow 0.4s;
}

.gadget-studygrid {
  padding: 20px;
  border-width: 5px;
  border-style: solid;
  border-radius: 20px;
  border-color: var(--cs-basic-05);
  background-color: var(--cs-basic-01);
}
.gadget-studygrid .grid-container {
  display: flex;
  width: 100%;
}
.gadget-studygrid .grid-container .mandara-bits {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  cursor: pointer;
}
.gadget-studygrid .grid-container .mandara-bits :is(.dis,
.lv1,
.lv2,
.lv3,
.lv4) {
  width: 17px;
  height: 17px;
  border: 1px solid var(--cs-basic-01);
  transition: 0.4s;
}
.gadget-studygrid .grid-container .mandara-bits .dis {
  border: 1px solid var(--cs-basic-03);
  background-color: transparent;
  cursor: auto;
}
.gadget-studygrid.all-subject .grid-container { margin-bottom: 10px;}
.gadget-studygrid.all-subject .grid-container .mandara-bits { padding: 0 0 0 10px;}
.gadget-studygrid.all-subject .grid-container .title {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  justify-content: space-between;
  min-height: 68px;
  margin: 1px 10px 1px 0;
  padding: 5px;
  background-color: var(--cs-basic-04);
  color: var(--cs-font-02);
  font-size: 1.1em;
}
.gadget-studygrid.single-subject .grid-container { margin-bottom: 5px;}
.gadget-studygrid.single-subject .grid-container .mandara-bits { width: calc(100% - 24em);}
.gadget-studygrid.single-subject .grid-container > .title {
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: flex-end;
  width: 22em;
  min-height: 68px;
  margin: 1px 10px 1px 0;
  padding: 5px;
  border: 2px solid #eee;
  border-right-width: 1em;
}
.gadget-studygrid.single-subject .grid-container > .title > .contents { max-width: 22em;}
.gadget-studygrid.single-subject .grid-container > .title > .caption-box dt {
  margin-bottom: 0.25em;
  color: var(--cs-font-02);
  font-size: 0.8em;
  text-align: right;
}
.gadget-studygrid.single-subject .grid-container > .title > .caption-box dd { text-align: right;}
.gadget-studygrid.grade .grid-container { margin-bottom: 0;}
.gadget-studygrid.grade .grid-container .mandara-bits { width: 1425px;}
.gadget-studygrid > .legend {
  display: inline-flex;
  justify-content: space-between;
  margin-bottom: 0.5em;
  padding: 0.3em 0.5em;
  border: 1px solid var(--cs-basic-06);
  border-radius: 0.5em;
  color: currentColor;
  font-size: 0.8em;
}
.gadget-studygrid > .legend li {
  display: inline-flex;
  margin-right: 1em;
  background-color: transparent !important;
}
.gadget-studygrid > .legend li::before {
  width: 1em;
  height: 1em;
  margin-right: 0.2em;
  content: "";
}
.gadget-studygrid > .legend li.current { color: var(--cs-ac_01-01);}
.su .lv4 { background-color: #006795;}
.su .lv3 { background-color: #0c9ee0;}
.su.grid-container .button.nor {
  border-color: #0c9ee0;
  color: #04384f;
}
.su .lv2 { background-color: #56beec;}
.su.grid-container .button.nor { background-color: #56beec;}
.su .lv1 { background-color: #a9daf0;}
.koku .lv4 { background-color: #3e0091;}
.koku .lv3 { background-color: #650cdc;}
.koku.grid-container .button.nor {
  border-color: #650cdc;
  color: #22044b;
}
.koku .lv2 { background-color: #9453ec;}
.koku.grid-container .button.nor { background-color: #9453ec;}
.koku .lv1 { background-color: #c5a6ef;}
.ei .lv4 { background-color: #8f0034;}
.ei .lv3 { background-color: #da0b57;}
.ei.grid-container .button.nor {
  border-color: #da0b57;
  color: #49041d;
}
.ei .lv2 { background-color: #ec5189;}
.ei.grid-container .button.nor { background-color: #ec5189;}
.ei .lv1 { background-color: #efa4bf;}
.ri .lv4 { background-color: #864800;}
.ri .lv3 { background-color: #d2760b;}
.ri.grid-container .button.nor {
  border-color: #d2760b;
  color: #402403;
}
.ri .lv2 { background-color: #eba049;}
.ri.grid-container .button.nor { background-color: #eba049;}
.ri .lv1 { background-color: #eec89c;}
.sha .lv4 { background-color: #4b6c00;}
.sha .lv3 { background-color: #83b90a;}
.sha.grid-container .button.nor {
  border-color: #83b90a;
  color: #1c2802;
}
.sha .lv2 { background-color: #b0e831;}
.sha.grid-container .button.nor { background-color: #b0e831;}
.sha .lv1 { background-color: #cbea86;}
.ext .lv4 { background-color: #006450;}
.ext .lv3 { background-color: #09b190;}
.ext.grid-container .button.nor {
  border-color: #09b190;
  color: #02201a;
}
.ext .lv2 { background-color: #2ae7c1;}
.ext.grid-container .button.nor { background-color: #2ae7c1;}
.ext .lv1 { background-color: #80e9d4;}

:is(.su, .koku, .ei, .ri, .sha, .ext) .dis {
  border: 1px solid #eee;
  background-color: transparent;
  color: transparent;
  cursor: auto;
}

.text-link {
  color: var(--cs-font_link-nor);
  text-decoration: none;
  cursor: pointer;
  transition: 0.16s;
}
.text-link:link { color: var(--cs-font_link-nor);}
.text-link:visited { color: var(--cs-font_link-nor);}
.text-link:active {
  color: var(--cs-font_link-act) !important;
  transition: none !important;
}
.text-link.sel {
  color: var(--cs-font_link-sel);
  pointer-events: none;
}
.text-link.msk {
  color: var(--cs-font_link-msk);
  pointer-events: none;
}
.text-link::before, .text-link::after {
  display: inline-block;
  overflow: hidden;
  text-decoration: none;
  vertical-align: top;
}

.button, .button-fullwidth {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  padding: 0.6em;
  font-size: 1em;
  text-align: center;
  text-indent: 0;
  vertical-align: middle;
  cursor: pointer;
  pointer-events: auto;
}
.button *, .button-fullwidth * { pointer-events: none;}
.button > .contents, .button-fullwidth > .contents {
  display: inline-block;
  line-height: normal;
  text-align: left;
}
.windows .button > .contents, .windows .button-fullwidth > .contents { padding-top: 0.1em;}
.button > .contents span[class^=elaicon-], .button-fullwidth > .contents span[class^=elaicon-] { top: 0.05em;}
.button > span[class^=elaicon-]:first-child, .button-fullwidth > span[class^=elaicon-]:first-child { margin-left: 0 !important;}
.button > span[class^=elaicon-]:last-child, .button-fullwidth > span[class^=elaicon-]:last-child { margin-right: 0 !important;}
.button_green, .button-fullwidth_green {
  border-color: #188832 !important;
  border-color: var(--cs-ac_01-01);
  background-color: #caf3d4 !important;
  color: #188832 !important;
}
.button_red, .button-fullwidth_red {
  border-color: #de1267 !important;
  background-color: #fdd9e9 !important;
  color: #de1267 !important;
}
.button_yellow, .button-fullwidth_yellow {
  border-color: #cd7d15 !important;
  background-color: #ffefb8 !important;
  color: #cd7d15 !important;
}
.button.btn-bullet, .button-fullwidth.btn-bullet {
  border-radius: 0;
  border-top-right-radius: 50vh;
  border-bottom-right-radius: 50vh;
}
.button.btn-thin, .button-fullwidth.btn-thin { padding: 1px;}
.button.btn-thin .contents, .button-fullwidth.btn-thin .contents { font-size: 0.8em;}
.button-fullwidth { width: 100%;}

body:is(.kougakunen, .teigakunen) :is(.button, .button-fullwidth) {
  min-height: 2.75em;
  padding: 0.3em 0.6em;
}

.column-wrapper {
  display: flex;
  flex-wrap: nowrap;
  margin-bottom: 20px;
}
.column-wrapper.equal-two .column-container { width: 50%;}
.column-wrapper.equal-three .column-container { width: 33.3%;}
.column-wrapper.equal-four .column-container { width: 25%;}
.column-wrapper:is(.equal-two, .equal-three, .equal-four) .column-container::after {
  display: block;
  position: absolute;
  top: 0;
  right: -0.75em;
  height: 100%;
  border-right: 1px solid var(--cs-basic-06);
  content: "";
}
.column-wrapper .column-container {
  display: block;
  position: relative;
  flex-grow: 1;
  margin-right: 1.5em;
}
.column-wrapper .column-container.shrink { flex-grow: 0;}
.column-wrapper .column-container:last-child { margin-right: 0;}
.column-wrapper .column-container:last-child::after { display: none;}

.left-side {
  display: flex !important;
  flex-grow: 1;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
}
.left-side > * {
  margin-right: 9px;
  margin-left: 0;
}
.left-side h3, .left-side h4, .left-side h5 { margin: 0;}
.left-side.shrink { flex-grow: 0;}

.right-side {
  display: flex !important;
  flex-grow: 1;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
}
.right-side > :not(dt):not(dd) {
  margin-right: 0;
  margin-left: 9px;
}
.right-side h3, .right-side h4, .right-side h5 { margin: 0;}
.right-side.shrink { flex-grow: 0;}

.center-side {
  display: flex !important;
  flex-grow: 1;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
}
.center-side > * {
  margin-right: 4.5px;
  margin-left: 4.5px;
}
.center-side h3, .center-side h4, .center-side h5 { margin: 0;}
.center-side.shrink { flex-grow: 0;}

.left-side > dl,
.right-side > dl,
.center-side > dl {
  display: inline-flex;
  align-items: center;
}
.left-side > dl dt, .left-side > dl dd,
.right-side > dl dt,
.right-side > dl dd,
.center-side > dl dt,
.center-side > dl dd { display: inline-block;}

.direction-vertical {
  display: flex;
  flex-direction: column;
}
.content-block {
  display: block;
  margin-bottom: 2em;
}

.option-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 1.2em;
  margin-bottom: 4px;
  color: var(--cs-font-01);
  font-size: 1em;
}
.option-container .form-wrapper.radio, .option-container .form-wrapper.checkbox, .option-container .form-wrapper.btn-radio, .option-container .form-wrapper.btn-checkbox, .option-container .form-wrapper.textbox, .option-container .form-wrapper.textarea, .option-container .form-wrapper.select, .option-container .form-wrapper.range { margin-bottom: 0;}
.option-container .form-wrapper.textbox { font-size: 0.8em;}
.option-container .button {
  padding: 0;
  font-size: 0.8em;
}
table .option-container { display: inline-flex;}

.caption-container {
  display: block;
  align-items: baseline;
  color: var(--cs-font-03);
  font-size: 0.8em;
  line-height: 1.3;
}

.frame-inline_block-bodercol-key, .frame-inline_block-bodercol-accent-prime, .frame-inline_block-bodercol-accent-second, .frame-inline_block, .frame-block-bodercol-key, .frame-block-bodercol-accent-prime, .frame-block-bodercol-accent-second, .frame-block {
  margin: 0.4em 0;
  padding: 0.5em;
  border: 1px solid;
  border-radius: 0.3em;
  background-color: var(--cs-basic-01);
  line-height: normal;
}
.frame-inline_block-bodercol-key, .frame-block-bodercol-key { border-color: var(--cs-key-01);}
.frame-inline_block-bodercol-accent-prime, .frame-block-bodercol-accent-prime { border-color: var(--cs-ac_01-01);}
.frame-inline_block-bodercol-accent-second, .frame-block-bodercol-accent-second { border-color: var(--cs-ac_02-01);}

.frame-block {
  display: block;
  border-color: var(--cs-font-01);
}
.frame-block-bodercol-key, .frame-block-bodercol-accent-prime, .frame-block-bodercol-accent-second { display: block;}
.frame-inline_block {
  display: inline-block;
  border-color: var(--cs-font-01);
}
.frame-inline_block-bodercol-key, .frame-inline_block-bodercol-accent-prime, .frame-inline_block-bodercol-accent-second { display: inline-block;}
.simplebox {
  --border_w: 1px;
  padding: 1em;
  border: var(--border_w) solid var(--cs-basic-06);
  border-radius: 1em;
  background-color: var(--cs-basic-01);
}
.simplebox:has(h3.head) {
  padding-top: 0;
  overflow: hidden;
}
.simplebox h3.head {
  width: calc(100% + 2em);
  margin-right: -1em;
  margin-left: -1em;
  padding: 0 1em;
  border-bottom: var(--border_w) solid var(--cs-basic-06);
  border-radius: 0;
  line-height: 2.5em;
}

.parentApp-tab_container .tab {
  display: flex;
  position: relative;
  flex-direction: row;
  margin: 0;
  padding: 0.7em 0;
  color: var(--cs-font-lite);
  text-align: center;
}
.parentApp-tab_container .tab::before {
  position: absolute;
  top: 50%;
  height: 1.2em;
  transform: translateY(-50%);
  border-radius: 1em;
  background-color: var(--cs-key-01);
  content: "";
  transition: all 0.6s ease;
}
.parentApp-tab_container .tab-0::before {
  left: var(--tab0-l);
  width: var(--tab0-w);
}
.parentApp-tab_container .tab-0 .tab_item:nth-child(1) { pointer-events: none;}
.parentApp-tab_container .tab-1::before {
  left: var(--tab1-l);
  width: var(--tab1-w);
}
.parentApp-tab_container .tab-1 .tab_item:nth-child(2) { pointer-events: none;}
.parentApp-tab_container .tab-2::before {
  left: var(--tab2-l);
  width: var(--tab2-w);
}
.parentApp-tab_container .tab-2 .tab_item:nth-child(3) { pointer-events: none;}
.parentApp-tab_container .tab-3::before {
  left: var(--tab3-l);
  width: var(--tab3-w);
}
.parentApp-tab_container .tab-3 .tab_item:nth-child(4) { pointer-events: none;}
.parentApp-tab_container .tab-4::before {
  left: var(--tab4-l);
  width: var(--tab4-w);
}
.parentApp-tab_container .tab-4 .tab_item:nth-child(5) { pointer-events: none;}
.parentApp-tab_container .tab-5::before {
  left: var(--tab5-l);
  width: var(--tab5-w);
}
.parentApp-tab_container .tab-5 .tab_item:nth-child(6) { pointer-events: none;}
.parentApp-tab_container .tab-6::before {
  left: var(--tab6-l);
  width: var(--tab6-w);
}
.parentApp-tab_container .tab-6 .tab_item:nth-child(7) { pointer-events: none;}
.parentApp-tab_container .tab-7::before {
  left: var(--tab7-l);
  width: var(--tab7-w);
}
.parentApp-tab_container .tab-7 .tab_item:nth-child(8) { pointer-events: none;}
.parentApp-tab_container .tab-8::before {
  left: var(--tab8-l);
  width: var(--tab8-w);
}
.parentApp-tab_container .tab-8 .tab_item:nth-child(9) { pointer-events: none;}
.parentApp-tab_container .tab-wrapper {
  width: 100%;
  overflow-x: scroll;
  background-color: var(--cs-key-02);
  text-align: center;
}
.parentApp-tab_container .tab-wrapper::-webkit-scrollbar { display: none;}
.parentApp-tab_container .tab_item {
  z-index: 1;
  padding: 0 1em;
  letter-spacing: 0;
  white-space: nowrap;
}
.parentApp-tab_container .tab_content {
  display: block;
  position: relative;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.3s;
}
.parentApp-tab_container .tab_content:active {
  color: #ff950a !important;
  transition: none;
}

body.config main.contentsWrapper article.student_list section.list .list_wrapper .students .button, body.config main.contentsWrapper article.setting_menu section.menu ul li .button, .menu-unit .menu ul li .button, .menu-unit .menu .button-area .button, .tab-body_item-0 .column-2 > .column-wrapper.section-title .button, .tab-body_item-0 section.notice .button, .tab-body_item-1 section.calendar > .button-area .button, .tab-body_item-7 .button-area .button,
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students .button-fullwidth,
body.config main.contentsWrapper article.setting_menu section.menu ul li .button-fullwidth,
.menu-unit .menu ul li .button-fullwidth,
.menu-unit .menu .button-area .button-fullwidth,
.tab-body_item-0 .column-2 > .column-wrapper.section-title .button-fullwidth,
.tab-body_item-0 section.notice .button-fullwidth,
.tab-body_item-1 section.calendar > .button-area .button-fullwidth,
.tab-body_item-7 .button-area .button-fullwidth {
  min-width: auto;
  min-height: auto;
  padding: 0;
  border: none;
  background-color: transparent !important;
  box-shadow: none;
}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students .button:active, body.config main.contentsWrapper article.setting_menu section.menu ul li .button:active, .menu-unit .menu ul li .button:active, .menu-unit .menu .button-area .button:active, .tab-body_item-0 .column-2 > .column-wrapper.section-title .button:active, .tab-body_item-0 section.notice .button:active, .tab-body_item-1 section.calendar > .button-area .button:active, .tab-body_item-7 .button-area .button:active,
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students .button-fullwidth:active,
body.config main.contentsWrapper article.setting_menu section.menu ul li .button-fullwidth:active,
.menu-unit .menu ul li .button-fullwidth:active,
.menu-unit .menu .button-area .button-fullwidth:active,
.tab-body_item-0 .column-2 > .column-wrapper.section-title .button-fullwidth:active,
.tab-body_item-0 section.notice .button-fullwidth:active,
.tab-body_item-1 section.calendar > .button-area .button-fullwidth:active,
.tab-body_item-7 .button-area .button-fullwidth:active { background-color: transparent !important;}

.tab-body_item-0 section.notice, .tab-body_item-2 section.growimage-monthly, .tab-body_item-3 section.gragh, .tab-body_item-5 .gadget-studygrid section.grid-container, .tab-body_item-7 section.full-thread, .tab-body_item-8 section.student.check-area, .tab-body_item-8 section.school.check-area {
  margin: 0.5em calc(env(safe-area-inset-right) + 0.5em) 0.5em calc(env(safe-area-inset-left) + 0.5em);
  padding: 0.5em;
  border-radius: 0.2em;
  background-color: var(--cs-basic-02);
  box-shadow: 0 1px 2px 0px rgba(var(--cs-basic-08-rgb), 0.2), 0 0px 1px 1px var(--cs-basic-03) inset;
}

.modal .modal-window .modal-contents .condition, .tab-body_item-7 section.notice.school ul li.thread .condition {
  display: flex;
  align-items: center;
  padding: 0.2em 0 0;
}
.modal .modal-window .modal-contents .condition span.content, .tab-body_item-7 section.notice.school ul li.thread .condition span.content {
  width: 4em;
  margin: 0 0.2em;
  border-radius: 1em;
  font-weight: bold;
  font-size: 0.7em;
  font-size: 0.8em;
  line-height: 1.3;
  text-align: center;
}
.modal .modal-window .modal-contents .condition span.content.reply_01, .tab-body_item-7 section.notice.school ul li.thread .condition span.content.reply_01 {
  background-color: #1ab93f;
  color: #ffffff;
}
.modal .modal-window .modal-contents .condition span.content.reply_02, .tab-body_item-7 section.notice.school ul li.thread .condition span.content.reply_02 {
  background-color: #df0c6a;
  color: #ffffff;
}
.modal .modal-window .modal-contents .condition span.content.reply_03, .tab-body_item-7 section.notice.school ul li.thread .condition span.content.reply_03 {
  background-color: #00a3d6;
  color: #ffffff;
}
.modal .modal-window .modal-contents .condition span.content.relation, .tab-body_item-7 section.notice.school ul li.thread .condition span.content.relation {
  background-color: #7159a6;
  color: #ffffff;
}

.tab-body_item-1 section.growimage, .tab-body_item-0 section.growimage {
  display: flex;
  width: 100%;
  background-color: var(--cs-basic-02);
}
.tab-body_item-1 section.growimage .date, .tab-body_item-0 section.growimage .date {
  display: flex;
  flex-basis: 30%;
  flex-direction: column;
  align-items: flex-end;
  margin: auto;
  color: var(--cs-key-01);
}
.tab-body_item-1 section.growimage .date span:nth-child(1), .tab-body_item-0 section.growimage .date span:nth-child(1) { margin-top: -1em;}
.tab-body_item-1 section.growimage .date span:nth-child(2), .tab-body_item-0 section.growimage .date span:nth-child(2) {
  display: block;
  font-weight: bolder;
  font-size: 2.6em;
}
.tab-body_item-1 section.growimage .image-wrapper, .tab-body_item-0 section.growimage .image-wrapper {
  display: flex;
  position: relative;
  flex-basis: 45%;
  align-items: flex-end;
  justify-content: center;
  max-width: 280px;
  margin: auto;
  margin: 2% 3%;
  border-radius: 20%;
  background-image: linear-gradient(#88d8f1, #ffffff 50%);
  background-repeat: no-repeat;
  --format-color: 9, 10, 10;
  border: 1px solid var(--cs-basic-01);
  box-shadow: 0 0.4em 0.7em 0.05em rgba(var(--format-color), 0.3) inset;
}
.tab-body_item-1 section.growimage .image-wrapper::before, .tab-body_item-0 section.growimage .image-wrapper::before, .tab-body_item-1 section.growimage .image-wrapper::after, .tab-body_item-0 section.growimage .image-wrapper::after {
  display: block;
  content: "";
}
.tab-body_item-1 section.growimage .image-wrapper::before, .tab-body_item-0 section.growimage .image-wrapper::before {
  width: 100%;
  padding-bottom: 100%;
}
.tab-body_item-1 section.growimage .image-wrapper::after, .tab-body_item-0 section.growimage .image-wrapper::after {
  position: absolute;
  top: -50%;
  left: -50%;
  width: 100%;
  height: 100%;
  transform: translate(50%, 50%);
  border-radius: 20%;
}
.tab-body_item-1 section.growimage .image-wrapper img, .tab-body_item-0 section.growimage .image-wrapper img {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 100%;
  transform: translate(-50%, -50%);
  border-radius: 19%;
}
.tab-body_item-1 section.growimage img[src*=gr] ~ .lv::before, .tab-body_item-0 section.growimage img[src*=gr] ~ .lv::before { content: none;}
.tab-body_item-1 section.growimage .lv, .tab-body_item-0 section.growimage .lv {
  flex-basis: 30%;
  margin: auto;
}
.tab-body_item-1 section.growimage .lv .gadget-circlegauge, .tab-body_item-0 section.growimage .lv .gadget-circlegauge {
  width: 5em;
  margin-left: 0;
}
.tab-body_item-1 section.growimage .lv .gadget-circlegauge > svg.gauge circle, .tab-body_item-0 section.growimage .lv .gadget-circlegauge > svg.gauge circle {
  fill: #e1e4e5;
  stroke: #00a3d6;
}
.tab-body_item-1 section.growimage .lv .gadget-circlegauge .inner, .tab-body_item-0 section.growimage .lv .gadget-circlegauge .inner {
  width: 95%;
  height: 95%;
  margin: 5%;
  background-color: var(--cs-basic-02);
}
.tab-body_item-1 section.growimage .lv .gadget-circlegauge .inner .progress, .tab-body_item-0 section.growimage .lv .gadget-circlegauge .inner .progress {
  display: flex;
  flex-direction: column;
}
.tab-body_item-1 section.growimage .lv .gadget-circlegauge .inner .progress .numer, .tab-body_item-0 section.growimage .lv .gadget-circlegauge .inner .progress .numer {
  color: var(--cs-key-01);
  font-size: 2em;
}
.tab-body_item-1 section.growimage .lv .gadget-circlegauge .inner .progress .denom, .tab-body_item-0 section.growimage .lv .gadget-circlegauge .inner .progress .denom { color: var(--cs-font-02);}
.tab-body_item-1 section.growimage .lv .gadget-circlegauge .inner .progress .denom::before, .tab-body_item-0 section.growimage .lv .gadget-circlegauge .inner .progress .denom::before {
  display: block;
  border-bottom: thin solid;
  content: "";
}

.tab-body_item-1 section.overview-medal ul, .tab-body_item-0 section.overview-medal ul {
  display: flex;
  justify-content: space-evenly;
  padding: 0.8em 0;
  background-color: var(--cs-key-01);
}
.tab-body_item-1 section.overview-medal ul li, .tab-body_item-0 section.overview-medal ul li {
  flex-basis: 25%;
  overflow: hidden;
  border-radius: 0.5em;
  background-color: var(--cs-basic-02);
  text-align: center;
}
.tab-body_item-1 section.overview-medal ul li .title, .tab-body_item-0 section.overview-medal ul li .title {
  background-color: var(--cs-key-03);
  color: var(--cs-key-01);
  line-height: 1.3;
}
.tab-body_item-1 section.overview-medal ul li .medal, .tab-body_item-0 section.overview-medal ul li .medal { margin-bottom: 0.2em;}
.tab-body_item-1 section.overview-medal ul li .medal [class*=-medal], .tab-body_item-0 section.overview-medal ul li .medal [class*=-medal] { margin: auto;}
.tab-body_item-1 section.overview-medal ul li .gadget-medal_container, .tab-body_item-0 section.overview-medal ul li .gadget-medal_container {
  display: inline-flex;
  width: 50px;
  margin: auto;
  margin-bottom: 0.2em;
}
.tab-body_item-1 section.overview-medal ul li .gadget-medal_container .medal_wrapper, .tab-body_item-0 section.overview-medal ul li .gadget-medal_container .medal_wrapper {
  width: 50px;
  height: 50px;
}
.tab-body_item-1 section.overview-medal ul li .gadget-medal_container .medal_wrapper svg, .tab-body_item-0 section.overview-medal ul li .gadget-medal_container .medal_wrapper svg { height: 50px;}

.tab-body_item-0 section.notice ul li.thread.replyed::after {
  background-color: var(--cs-ac_01-01);
  content: "回答済";
  color: var(--cs-font-lite);
}

.tab-body_item-7 section.notice.school ul li.thread.noreply .condition::before, .tab-body_item-0 section.notice ul li.thread.noreply::after {
  background-color: var(--cs-key_smoke-01);
  content: "未回答";
  color: var(--cs-font-lite);
}

.tab-body_item-7 section.notice.school ul li.thread.new .head .time::before, .tab-body_item-0 section.notice ul li.thread.new::before {
  margin-left: 0;
  background-color: var(--cs-ac_02-01);
  content: "NEW";
  color: var(--cs-font-lite);
}

.tab-body_item-7 section.notice.school ul li.thread.file .title::after {
  background-color: #285f73;
  content: "\e985";
  color: var(--cs-font-lite);
  font-family: "elaicon" !important;
}

.tab-body_item-1 .column-1, .tab-body_item-0 .column-2 {
  margin: 1em 1em 0;
  padding: 0.5em;
  border: thin solid rgba(var(--cs-key-01-rgb), 0.5);
  border-radius: 1em;
  background-color: rgba(var(--cs-key-01-rgb), 0.2);
}

article.tab-body_item .column-wrapper.section-title {
  margin: 1em 1em 0;
  margin-bottom: 0;
  padding-left: env(safe-area-inset-left);
}
.tab-body_item-0 section.overview-result { overflow-y: hidden;}
.tab-body_item-0 section.overview-result .basic-table {
  border-color: var(--cs-basic-06);
  border-bottom-color: var(--cs-basic-06);
}
.tab-body_item-0 section.overview-result .basic-table th { white-space: nowrap;}
.tab-body_item-0 section.overview-result .basic-table th:first-child { width: 100%;}
.tab-body_item-0 section.overview-result .acordion-button-area {
  display: none;
  align-content: center;
  justify-content: center;
  height: 1em;
  background-color: var(--cs-basic-07);
}
.tab-body_item-0 section.overview-result .acordion-button-area .acordion-button {
  display: flex;
  align-items: center;
  width: 30%;
  border-radius: 1em;
  background-color: var(--cs-basic-01);
  cursor: pointer;
}
.tab-body_item-0 section.overview-result .acordion-button-area .acordion-button .image-wrapper {
  width: 0.8em;
  height: 0.8em;
  margin: auto;
  transform: rotate(0deg);
}
.tab-body_item-0 section.overview-result .acordion-button-area .acordion-button .image-wrapper svg {
  fill: var(--cs-font_link-nor);
  width: 100%;
  height: 100%;
}
.tab-body_item-0 section.overview-result.is-hide .acordion-button .image-wrapper { transform: rotate(180deg);}
.tab-body_item-0 .column-2 > .column-wrapper.section-title { align-items: flex-end;}
.tab-body_item-0 .column-2 > .column-wrapper.section-title .center-side { flex-direction: column;}
.tab-body_item-0 .column-2 > .column-wrapper.section-title .center-side .fisyear {
  width: 100%;
  border-radius: 1em;
  background-color: var(--cs-key-02);
  color: var(--cs-font-lite);
  font-size: 0.8em;
  text-align: center;
}
.tab-body_item-0 .column-2 > .column-wrapper.section-title .button .content { white-space: nowrap;}
.tab-body_item-0 section.notice ul { background-color: var(--cs-basic-02);}
.tab-body_item-0 section.notice ul li.thread {
  display: flex;
  align-items: center;
  height: 2em;
  margin: 0 0 0 0.5em;
  border-bottom: thin solid rgba(var(--cs-basic-06-rgb), 0.5);
}
.tab-body_item-0 section.notice ul li.thread .title {
  flex-grow: 1;
  order: 1;
  margin-right: 0.5em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tab-body_item-0 section.notice ul li.thread::before { order: 2;}
.tab-body_item-0 section.notice ul li.thread::after { order: 3;}
.tab-body_item-0 section.notice ul li.thread::before, .tab-body_item-0 section.notice ul li.thread::after {
  flex: 0 0 4em;
  margin: 0 0.2em;
  font-size: 0.7em;
  text-align: center;
}
.tab-body_item-0 section.notice .button-fullwidth {
  justify-content: flex-end;
  margin: 1em 0 0.5em;
}
.tab-body_item-0 section.notice.corp li {
  overflow-x: hidden;
  color: inherit;
  line-height: 2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tab-body_item-0 section.links {
  flex-direction: column;
  align-items: flex-start;
  height: auto;
  margin: 0;
  padding: 1em calc(env(safe-area-inset-right) + 1em) 0 calc(env(safe-area-inset-left) + 1em);
}
.tab-body_item-0 section.links > * { height: 2em;}
.tab-body_item-1 section.growimage {
  position: relative;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  border-top-right-radius: 0.5em;
  border-top-left-radius: 0.5em;
}
.tab-body_item-1 section.growimage .date {
  align-items: center;
  margin: 0.5em;
}
.tab-body_item-1 section.growimage .date span:first-child { margin: auto;}
.tab-body_item-1 section.growimage .date span:nth-child(2) { font-size: 3em;}
.tab-body_item-1 section.growimage .lv {
  position: static;
  transform: none;
}
.tab-body_item-1 section.overview-medal ul {
  margin-top: -1px;
  border-bottom-right-radius: 0.5em;
  border-bottom-left-radius: 0.5em;
}
.tab-body_item-1 section.overview-medal ul li .title {
  font-size: 90%;
  white-space: nowrap;
}
.tab-body_item-1 section.calendar > .button-area {
  display: flex;
  margin: 1em 0 1em;
}
.tab-body_item-1 section.calendar > .button-area .button { font-size: 120%;}
.tab-body_item-1 section.calendar > .button-area .button:last-child { margin-left: 3em;}
.tab-body_item-1 .column-1 { align-content: flex-start;}
.tab-body_item-1 .column-2 { padding-right: 1em;}
.tab-body_item-1 h3.headline { justify-content: space-between;}
.tab-body_item-1 section.daily_score {
  flex-grow: 1;
  margin-top: 1em;
  overflow-x: auto;
}
.tab-body_item-1 section.daily_score .basic-table th.fake-colspan {
  padding-right: calc(env(safe-area-inset-right) + 0.8em);
  padding-left: calc(env(safe-area-inset-left) + 10px);
}
.tab-body_item-1 section.daily_score .basic-table td .gadget-medal_container {
  width: 50px;
  margin: auto;
}
.tab-body_item-1 section.daily_score .basic-table td .gadget-medal_container .medal_wrapper {
  width: 50px;
  height: 50px;
}
.tab-body_item-1 section.daily_score .basic-table td .gadget-medal_container .medal_wrapper svg { height: 50px;}
.tab-body_item-1 section.daily_score .basic-table td .gadget-hex {
  width: 50px;
  height: 50px;
}
.tab-body_item-1 section.daily_score .basic-table td .materials {
  display: flex;
  flex-direction: column;
  margin-top: 1.4em;
}
.tab-body_item-1 section.daily_score .basic-table td .materials span {
  padding: 0 0.25em;
  border-right: 1px solid var(--cs-table_border);
  border-left: 1px solid var(--cs-table_border);
  white-space: nowrap;
}
.tab-body_item-1 section.daily_score .basic-table td .materials span:first-child {
  padding-bottom: 0.25em;
  border-bottom: 1px solid var(--cs-table_border);
  color: var(--cs-key_smoke-01);
  font-size: 0.9em;
  font-size: 0.9em;
}
.tab-body_item-1 section.daily_score .basic-table td .materials span:last-child { padding-top: 0.25em;}
.tab-body_item-2 section.growimage-monthly ul {
  display: grid !important;
  grid-column-gap: var(--col-gap) !important;
  grid-row-gap: var(--row-gap) !important;
  grid-template-rows: var(--row-size) !important;
  grid-template-columns: var(--col-size) !important;
  --col-size: repeat(6, 1fr);
  --col-gap: 10px;
  --row-gap: 10px;
  --medal-size: 3em;
  --mon-font: 1.74em;
  --medal-size2024: 1em;
}
.tab-body_item-2 section.growimage-monthly ul li.grid-item { border-radius: 0.5em;}
.tab-body_item-2 section.growimage-monthly ul li.grid-item .gadget-growimage {
  aspect-ratio: 0.85;
  width: 100%;
  height: auto;
  border-top-right-radius: 0.5em;
  border-top-left-radius: 0.5em;
}
.tab-body_item-2 section.growimage-monthly ul li.grid-item .gadget-growimage img {
  top: 0;
  left: 50%;
  height: 100%;
  transform: translateX(-50%);
}
.tab-body_item-2 section.growimage-monthly ul li.grid-item .gadget-growimage::before {
  margin-bottom: 2em;
  text-shadow: 0px 0px 3px var(--cs-basic-01), 0px 1px 2px var(--cs-basic-01), 0px -1px 2px var(--cs-basic-01), -1px 0px 2px var(--cs-basic-01), 1px 0px 2px var(--cs-basic-01);
}
.tab-body_item-2 section.growimage-monthly ul li.grid-item .info-area {
  padding: 0.25em;
  border-bottom-right-radius: 0.5em;
  border-bottom-left-radius: 0.5em;
  background-color: var(--cs-key-01);
}
.tab-body_item-2 section.growimage-monthly ul li.grid-item .info-area .month {
  display: flex;
  align-items: baseline;
  justify-content: center;
  color: var(--cs-font-lite);
}
.tab-body_item-2 section.growimage-monthly ul li.grid-item .info-area .month::before { font-size: 1.5em;}
.tab-body_item-2 section.growimage-monthly ul li.grid-item .info-area .month::after { content: "月";}
.tab-body_item-2 section.growimage-monthly ul li.grid-item .info-area .medal-container {
  display: flex;
  justify-content: center;
  font-size: var(--medal-size2024);
}
.tab-body_item-2 section.growimage-monthly ul li.grid-item .info-area .medal-container .gadget-medal { margin: 0.1em 0.2em;}
.tab-body_item-2 section.growimage-monthly ul li.grid-item .info-area .gadget-medal_container {
  width: var(--medal-size);
  margin: auto;
  margin-right: 0;
  margin-left: auto;
}
.tab-body_item-2 section.growimage-monthly ul li.grid-item .info-area .gadget-medal_container::after { border-width: 0.15em;}
.tab-body_item-2 section.growimage-monthly ul li.grid-item .info-area .gadget-medal_container .medal_wrapper {
  width: var(--medal-size);
  height: var(--medal-size);
}
.tab-body_item-2 section.growimage-monthly ul li.grid-item .info-area .gadget-medal_container .medal_wrapper svg { height: var(--medal-size);}
.tab-body_item-2 section.growimage-monthly ul li.grid-item .info-area .gadget-medal_container::after { font-size: var(--badge-fs);}
.tab-body_item-2 section.growimage-monthly ul li.grid-item .info-area:has(.gadget-medal_container) {
  display: flex;
  padding: 0.75em;
}
.tab-body_item-2 section.growimage-monthly ul li.grid-item .info-area:has(.gadget-medal_container) .month { font-size: var(--mon-font);}
.tab-body_item-2 section.growimage-monthly ul li.grid-item:nth-child(1) .month::before { content: "4";}
.tab-body_item-2 section.growimage-monthly ul li.grid-item:nth-child(2) .month::before { content: "5";}
.tab-body_item-2 section.growimage-monthly ul li.grid-item:nth-child(3) .month::before { content: "6";}
.tab-body_item-2 section.growimage-monthly ul li.grid-item:nth-child(4) .month::before { content: "7";}
.tab-body_item-2 section.growimage-monthly ul li.grid-item:nth-child(5) .month::before { content: "8";}
.tab-body_item-2 section.growimage-monthly ul li.grid-item:nth-child(6) .month::before { content: "9";}
.tab-body_item-2 section.growimage-monthly ul li.grid-item:nth-child(7) .month::before { content: "10";}
.tab-body_item-2 section.growimage-monthly ul li.grid-item:nth-child(8) .month::before { content: "11";}
.tab-body_item-2 section.growimage-monthly ul li.grid-item:nth-child(9) .month::before { content: "12";}
.tab-body_item-2 section.growimage-monthly ul li.grid-item:nth-child(10) .month::before { content: "1";}
.tab-body_item-2 section.growimage-monthly ul li.grid-item:nth-child(11) .month::before { content: "2";}
.tab-body_item-2 section.growimage-monthly ul li.grid-item:nth-child(12) .month::before { content: "3";}
.tab-body_item-3 section.gragh {
  --chart-height: 120;
  overflow-x: auto;
  --medal-size: 2.8em;
}
.tab-body_item-3 section.gragh .gadget-chart-line {
  width: 100%;
  min-width: max-content;
  background-image: linear-gradient(to bottom, #00A3D6 40%, rgba(10, 111, 218, 0));
  background-color: #0a6fda !important;
}
.tab-body_item-3 section.gragh .gadget-chart-line td { min-width: 3em;}
.tab-body_item-3 section.gragh .value-row td { vertical-align: top;}
.tab-body_item-3 section.gragh .value-row td .box {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-row-gap: 0.5em;
  margin: 0 0.25em;
  padding: 0.5em 0;
}
.tab-body_item-3 section.gragh .value-row td .box .result { font-size: 1.25em;}
.tab-body_item-3 section.gragh .gadget-medal { margin: auto;}
.tab-body_item-3 section.gragh .gadget-medal_container {
  display: inline-flex;
  width: var(--medal-size);
  margin: auto;
}
.tab-body_item-3 section.gragh .gadget-medal_container .medal_wrapper {
  width: var(--medal-size);
  height: var(--medal-size);
}
.tab-body_item-3 section.gragh .gadget-medal_container .medal_wrapper svg { height: var(--medal-size);}
.tab-body_item-4 section.report-card {
  margin-top: 1em;
  overflow-x: auto;
}
.tab-body_item-4 section.report-card .basic-table th { white-space: nowrap;}
.tab-body_item-4 section.report-card .basic-table th:first-child { width: 100%;}
.tab-body_item-5 h3.headline {
  justify-content: space-between;
  padding: 0.5em 1em;
}
.tab-body_item-5 h3.headline .title { margin: 0;}
.tab-body_item-5 .gadget-studygrid {
  padding: 0;
  border: none;
  background-color: transparent;
}
.tab-body_item-5 .gadget-studygrid section.grid-container { width: auto;}
.tab-body_item-5 .gadget-studygrid section.grid-container > .column-wrapper { margin-bottom: 0.5em;}
.tab-body_item-5 .gadget-studygrid section.grid-container > .column-wrapper .title { display: none;}
.tab-body_item-5 .gadget-studygrid section.grid-container > .column-wrapper .button { margin-right: 1em;}
.tab-body_item-5 .gadget-studygrid section.grid-container > .column-wrapper .button span:not(:nth-child(2)) { display: none;}
.tab-body_item-5 .gadget-studygrid section.grid-container .mandara-bits {
  width: auto;
  padding: 0;
}
.tab-body_item-5 .gadget-studygrid.grade section { flex-direction: column;}
.tab-body_item-5 .gadget-studygrid.grade section .form-wrapper.checkbox {
  display: flex;
  justify-content: space-between;
}
.tab-body_item-5 .gadget-studygrid.grade section .form-wrapper.checkbox .title {
  background-color: transparent;
  color: inherit;
}
.tab-body_item-6 section.activity {
  margin-top: 1em;
  overflow-x: auto;
}
.tab-body_item-6 section.activity .basic-table thead tr th { white-space: nowrap;}
.tab-body_item-7 section.notice.school ul li.thread {
  display: flex;
  position: relative;
  flex-direction: column;
  min-height: 5.6em;
  padding: 0.5em calc(env(safe-area-inset-right) + 0.5em) 0.5em calc(env(safe-area-inset-left) + 0.5em);
  border-right: thin solid var(--cs-basic-07);
  border-bottom: thin solid var(--cs-basic-07);
  border-left: thin solid var(--cs-basic-07);
  background-color: var(--cs-basic-04);
  cursor: pointer;
  transition: box-shadow 0.3s;
}
.tab-body_item-7 section.notice.school ul li.thread:first-child { border-top: thin solid var(--cs-basic-07);}
.tab-body_item-7 section.notice.school ul li.thread:active {
  background-color: var(--cs-basic-05) !important;
  box-shadow: 0px 0px 0px 0px rgba(var(--cs-basic-08-rgb), 0) !important;
}
.tab-body_item-7 section.notice.school ul li.thread .head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 0.1em;
}
.tab-body_item-7 section.notice.school ul li.thread .head .from .content {
  display: block;
  font-weight: bolder;
}
.tab-body_item-7 section.notice.school ul li.thread .head .time {
  display: flex;
  align-items: center;
}
.tab-body_item-7 section.notice.school ul li.thread .head .time .content {
  display: block;
  color: var(--cs-font-03);
  font-size: 0.8em;
}
.tab-body_item-7 section.notice.school ul li.thread .title .content {
  display: block;
  overflow: hidden;
  font-size: 0.9em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tab-body_item-7 section.notice.school ul li.thread .body .content {
  display: block;
  overflow: hidden;
  color: var(--cs-font-03);
  font-size: 0.9em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tab-body_item-7 section.notice.school ul li.thread.new { background-color: var(--cs-basic-01);}
.tab-body_item-7 section.notice.school ul li.thread.new .head .time::before {
  width: 4em;
  margin: 0 0.2em 0 0;
  font-size: 0.7em;
  text-align: center;
}
.tab-body_item-7 section.notice.school ul li.thread.noreply .condition::before {
  width: 4em;
  margin: 0 0.2em;
  font-size: 0.8em;
  text-align: center;
}
.tab-body_item-7 section.notice.school ul li.thread:not(.new) .from .content, .tab-body_item-7 section.notice.school ul li.thread:not(.new) .title .content, .tab-body_item-7 section.notice.school ul li.thread:not(.new) .time .content, .tab-body_item-7 section.notice.school ul li.thread:not(.new) .body .content { color: var(--cs-font-03);}
.tab-body_item-7 section.notice.school ul li.thread.file :is(.title, .body) { padding-right: 3em;}
.tab-body_item-7 section.notice.school ul li.thread.file .title { position: relative;}
.tab-body_item-7 section.notice.school ul li.thread.file .title::after {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.3em;
  border-radius: 100%;
  font-size: 1.5em;
}
.tab-body_item-7 section.notice.school > .contents {
  display: block;
  margin: 2em auto;
  text-align: center;
}
.tab-body_item-7 .button-area {
  display: flex;
  margin: 1em;
  margin: 1em calc(env(safe-area-inset-right) + 1em) 1em calc(env(safe-area-inset-left) + 1em);
}
.tab-body_item-7 section.full-thread .head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 0.5em;
}
.tab-body_item-7 section.full-thread .head .from .content { font-size: 0.8em;}
.tab-body_item-7 section.full-thread .head .from .content:first-child {
  padding: 0.1em 0.5em;
  background-color: var(--cs-basic-04);
}
.tab-body_item-7 section.full-thread .head .time .content { font-size: 0.8em;}
.tab-body_item-7 section.full-thread .head .time .content:first-child {
  padding: 0.1em 0.5em;
  background-color: var(--cs-basic-04);
}
.tab-body_item-7 section.full-thread .title { margin-bottom: 2em;}
.tab-body_item-7 section.full-thread .title .content {
  font-weight: bolder;
  font-size: 1.2em;
}
.tab-body_item-7 section.full-thread .body {
  margin-bottom: 1em;
  line-height: 2;
}
.tab-body_item-7 section.full-thread .file-area {
  display: none;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: 1em;
}
.tab-body_item-7 section.full-thread .file-area .button {
  min-width: auto;
  margin-left: 1em;
}
.tab-body_item-7 section.full-thread .file-area .button .content { font-size: 2em;}
.tab-body_item-7 section.full-thread .file-area .button.nor .content { color: var(--cs-key_smoke-01);}
.tab-body_item-7 section.full-thread .file-area .error {
  width: 100%;
  margin-bottom: 1em;
  border: 1px solid;
  background-color: rgba(255, 128, 128, 0.1);
  font-size: 0.9em;
  text-align: center;
}
.tab-body_item-7 section.full-thread.reply .check-area { display: block;}
.tab-body_item-7 section.full-thread.file .file-area { display: flex;}
.tab-body_item-7 section.full-thread .check-area {
  display: none;
  position: relative;
  padding: 1em;
  border-radius: 0.5em;
  background-color: var(--cs-key-03);
}
.tab-body_item-7 section.full-thread .check-area .radio-group {
  max-width: 480px;
  margin: auto;
}
.tab-body_item-7 section.full-thread .check-area .radio-group div.check-wrap { width: 100%;}
.tab-body_item-7 section.full-thread .check-area .radio-group div.check-wrap label {
  flex-grow: 1;
  width: 100%;
}
.tab-body_item-7 section.full-thread .check-area .radio-group div.check-wrap.reply { z-index: 1;}
.tab-body_item-7 section.full-thread .check-area .radio-group.relationship {
  z-index: 0;
  height: auto;
  margin-top: 1em;
  margin-bottom: 0;
  opacity: 1;
  transition: height 0.5s, margin-top 0.5s, opacity 0.3s;
}
.tab-body_item-7 section.full-thread .check-area .radio-group.relationship.is-hide {
  height: 0;
  margin-top: 0;
  opacity: 0;
}
.tab-body_item-7 section.full-thread .check-area .reply.button {
  left: 50%;
  margin: 1em auto;
  transform: translateX(-50%);
}
.tab-body_item-7 section.full-thread .check-area ul.description li {
  max-width: 480px;
  margin: auto;
  padding-left: 1em;
  color: var(--cs-key-dark);
  font-size: 0.8em;
}
.tab-body_item-7 section.full-thread .check-area ul.description li::before {
  display: inline-block;
  width: 1em;
  margin-left: -1em;
  content: "※";
}
.tab-body_item-7 section.full-thread .check-area .error_mes { max-width: 480px;}
.tab-body_item-8 .section-title h3 .content { color: var(--cs-key-01);}
.tab-body_item-8 section .contents-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 1em;
}
.tab-body_item-8 section .contents-container:last-child { margin-bottom: 0;}
.tab-body_item-8 section .contents-container h3.title {
  width: 11em;
  font-weight: normal;
}
.tab-body_item-8 section.button-area {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 1em calc(env(safe-area-inset-right) + 1em) 1em calc(env(safe-area-inset-left) + 1em);
}
.tab-body_item-8 section.button-area .button { margin-left: 1em;}

.studens_selector {
  position: relative;
  width: auto;
  background-color: var(--cs-key-01);
  color: var(--cs-font-lite);
  cursor: pointer;
}
.studens_selector > ul > li, .studens_selector .selectedItem {
  margin: 0px;
  background-color: var(--cs-key-01);
  text-align: center;
}
.studens_selector > ul > li::after, .studens_selector .selectedItem::after {
  display: inline-block;
  position: absolute;
  min-width: 1.4em;
  padding: 0 0.2em;
  transform: translate(0.3em, -0.2em);
  border: thin solid var(--cs-font-lite);
  border-radius: 1em;
  background-color: var(--cs-ac_02-01);
  content: attr(data-badge) "";
  font-size: 0.7em;
  line-height: 1.3em;
  text-align: center;
}
.studens_selector > ul > li[data-badge="0"]::after, .studens_selector [data-badge="0"].selectedItem::after { content: none;}
.studens_selector.js_open .selectedItem .elaicon-arrow-tricircle-down-nega::before { transform: rotate(180deg);}
.studens_selector.js_open > ul {
  display: block;
  visibility: visible;
  top: 100%;
}
.studens_selector .selectedItem {
  display: block;
  z-index: 20;
  position: relative;
  top: 0;
  padding: 0.5em 1em 0;
  font-size: 1.2em;
}
.studens_selector .selectedItem .elaicon-arrow-tricircle-down-nega {
  margin: 0 0 1em 0;
  font-size: 0.9em;
}
.studens_selector > ul {
  visibility: hidden;
  z-index: 10;
  position: absolute;
  top: calc(var(--list_height) * -1);
  left: 0px;
  width: 100%;
  margin: 0px;
  padding: 1em 0 0;
  border-bottom: 1px solid var(--cs-key-03);
  background-color: var(--cs-key-01);
  list-style: none;
  transition: top 0.2s ease-out, visibility 0.2s;
}
.studens_selector > ul > li {
  position: relative;
  padding: 0.8em 1em;
}
.studens_selector > ul > li.current { display: none;}
.studens_selector ~ .student_info {
  background-color: var(--cs-key-01);
  text-align: center;
}
.studens_selector ~ .student_info .content {
  color: var(--cs-key-03);
  font-size: 0.8em;
}
.studens_selector ~ .student_info .content[class*=afterstr-]::after { font-size: 0.8em;}
.studens_selector ~ .student_info .content.afterstr-number::after { content: "番";}
.studens_selector ~ .student_info .content.lastLogin {
  display: block;
  color: var(--cs-key-02);
}
.check-area :is(.radio-group, .check-group) { display: flex;}
.check-area :is(.radio-group, .check-group) div.check-wrap:first-of-type label {
  border-top-left-radius: 0.5em;
  border-bottom-left-radius: 0.5em;
}
.check-area :is(.radio-group, .check-group) div.check-wrap:last-of-type label {
  border-top-right-radius: 0.5em;
  border-bottom-right-radius: 0.5em;
}
.check-area :is(.radio-group, .check-group) div.check-wrap:last-child label { border-right: 1px solid var(--cs-btn_border-nor);}
.check-area :is(.radio-group, .check-group) div.check-wrap label {
  padding: 0.5em 1em;
  float: left;
  border: 1px solid var(--cs-btn_border-nor);
  border-right: 0px;
  background-color: var(--cs-btn_bg-nor);
  color: var(--cs-btn_font-nor);
  font-size: 1em;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s;
}
.check-area :is(.radio-group, .check-group) div.check-wrap label.checked {
  background-color: var(--cs-btn_bg-sel);
  color: var(--cs-btn_font-sel);
  text-shadow: 0 0 0 #ffffff;
  pointer-events: none;
}
.check-area :is(.radio-group, .check-group) div.check-wrap input { opacity: 0;}
.check-area .radio-group div.check-wrap { position: relative;}
.check-area .radio-group div.check-wrap input {
  position: absolute;
  left: 0px;
  outline: none;
}
.check-area .radio-group div.check-wrap label { line-height: 1.5;}
.check-area .check-group div.check-wrap input { display: none;}
.check-area .check-group div.check-wrap label::selection { background-color: transparent;}

header menu {
  display: flex;
  margin-top: 10px;
}
header menu button.icon-button {
  display: flex;
  z-index: 0;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: center;
  min-width: 60px;
  margin-right: 20px;
}
header menu button.icon-button:focus { outline: none;}
header menu button.icon-button > .icon-wrap {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 16px;
  transition: 0.4s;
}
header menu button.icon-button > .icon-wrap span {
  margin: 0;
  font-size: 26px;
  line-height: 1;
}
header menu button.icon-button > .icon-wrap::after {
  display: block;
  z-index: -1;
  position: absolute;
  top: -5px;
  left: -5px;
  width: 60px;
  height: 60px;
  border: 1px solid var(--cs-basic-01);
  border-radius: 20px;
  background-image: linear-gradient(to bottom, var(--cs-basic-04) 0%, var(--cs-basic-01) 100%);
  background-repeat: no-repeat;
  content: "";
}
header menu button.icon-button > .button-label {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  height: 2em;
  margin-top: 10px;
  padding-bottom: 5px;
  color: var(--cs-font-03);
  font-size: 12px;
  white-space: nowrap;
}
.safari header menu button.icon-button > .button-label { height: 2.3em;}

.safari header menu button.icon-button > .button-label ruby rt {
  transform: translateY(0.2em);
  font-size: 60%;
}
.chrome header menu button.icon-button > .button-label ruby rt { zoom: 0.6;}

header menu button.icon-button:is(.nor, .eff) > .icon-wrap {
  background-image: linear-gradient(to bottom, rgba(var(--cs-basic-01-rgb), 1) 0%, rgba(var(--cs-basic-03-rgb), 0) 100%);
  background-repeat: no-repeat;
  background-color: var(--cs-basic-03) !important;
}
header menu button.icon-button:is(.nor, .eff) > .icon-wrap span { color: #00A3D6;}
header menu button.icon-button:is(.nor, .eff):active > .icon-wrap { color: var(--cs-btn_font-act);}
header menu button.icon-button:is(.nor, .eff):active > .icon-wrap span { color: var(--cs-btn_font-act);}
header menu button.icon-button.sel > .icon-wrap { background-color: var(--cs-key-01);}
header menu button.icon-button.sel > .icon-wrap span { color: var(--cs-btn_font-sel);}
header menu button.icon-button.msk > .icon-wrap { background-color: var(--cs-btn_bg-msk);}
header menu button.icon-button.msk > .icon-wrap span { color: var(--cs-btn_font-msk);}
header menu button.icon-button.eff > .icon-wrap {
  box-shadow: 0 0 10px 2px var(--cs-btn_border-eff);
  animation: flashBtn 0.7s linear 0.1s infinite alternate;
}
header menu button.icon-button.eff > .icon-wrap span { color: #00A3D6;}
header menu button.icon-button:is(.sel, .msk) { pointer-events: none;}
.menu-unit {
  z-index: 9990;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}
.menu-unit .menu {
  z-index: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 300px;
  height: 100%;
  background-color: white;
  pointer-events: auto;
  transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.menu-unit .menu h3 {
  padding-top: env(safe-area-inset-top);
  background-color: var(--cs-key-01);
  color: var(--cs-font-lite);
  line-height: 3em;
  text-indent: 0.5em;
}
.menu-unit .menu ul { padding: 0 0 0 1em;}
.menu-unit .menu ul li {
  padding-right: env(safe-area-inset-left);
  border-bottom: 1px solid var(--cs-basic-06);
}
.menu-unit .menu ul li .button-fullwidth {
  justify-content: flex-start;
  line-height: 3em;
}
.menu-unit .menu .button-area {
  position: absolute;
  top: env(safe-area-inset-top);
  right: calc(env(safe-area-inset-left) + 0.5em);
  text-align: center;
}
.menu-unit .menu .button-area .button { line-height: 3em;}
.menu-unit .menu .button-area .button .contents {
  color: var(--cs-font-lite);
  font-size: 0.9em;
}
.menu-unit .spec {
  z-index: 100;
  position: absolute;
  top: 0;
  width: 460px;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto;
  inset: 0;
  overflow: hidden;
  border-radius: 20px;
  background-color: var(--cs-basic-01);
  transition: opacity 0.2s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0.2s;
}
.menu-unit .spec h3 {
  background-color: var(--cs-key-01);
  color: var(--cs-font-lite);
  line-height: 3em;
  text-align: center;
  text-indent: 0.5em;
}
.menu-unit .spec .button-area {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4em;
  border-top: 1px solid var(--cs-basic-05);
}
.menu-unit .spec .detail { padding: 1em;}
.menu-unit .spec .detail h4 {
  display: inline-block;
  margin-bottom: 0.5em;
  padding: 0.2em 1em;
  border-radius: 1em;
  background-color: var(--cs-key-02);
  color: var(--cs-font-lite);
  font-weight: normal;
  line-height: normal;
}
.menu-unit .spec .detail dl { padding-left: 1em;}
.menu-unit .spec .detail dl dt {
  border-left: 0.5em solid #e1e4e5;
  font-weight: bolder;
  text-indent: 0.5em;
}
.menu-unit .spec .detail dl dt:not(:first-child) { margin-top: 1em;}
.menu-unit .spec .detail dl dd {
  border-left: 0.5em solid #e1e4e5;
  text-indent: 0.5em;
}
.menu-unit .spec.is_visible {
  visibility: visible;
  opacity: 1;
}
.menu-unit .spec.is_visible + .menu-layer { z-index: 40;}
.menu-unit .spec.is_hidden {
  visibility: hidden;
  z-index: -11;
  opacity: 0;
}
.menu-unit .spec_wrapper {
  max-height: calc(90vh - 7em);
  max-height: calc(90svh - 7em);
  overflow-y: auto;
  pointer-events: auto;
}
.menu-unit .menu-layer {
  display: none;
  z-index: -10;
  position: fixed;
  width: 100%;
  height: 100%;
  inset: 0;
  background-color: #131414;
  cursor: auto;
  opacity: 0.5;
  pointer-events: auto;
}
.menu-unit.is_visible { transform: translateX(0%);}
.menu-unit.is_hidden .menu { transform: translateX(100%);}

.tab-body.tab-0 article.tab-body_item-0 {
  display: flex;
  flex-wrap: wrap;
}
.tab-body.tab-0 article.tab-body_item-0 > :is(.column-1, .column-2) {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.tab-body.tab-0 article.tab-body_item-0 > .column-1 { flex-grow: 1;}
.tab-body.tab-0 article.tab-body_item-0 > .column-2 { width: 30%;}
.tab-body.tab-1 article.tab-body_item-1 {
  display: flex;
  flex-wrap: wrap;
}
.tab-body.tab-1 article.tab-body_item-1 > :is(.column-1, .column-2) {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.tab-body.tab-1 article.tab-body_item-1 > .column-1 {
  justify-content: flex-end;
  width: 300px;
}
.tab-body.tab-1 article.tab-body_item-1 > .column-2 { flex-grow: 1;}
.students[data-studentNum="1"] .student_icon::after { content: "1";}
.students[data-studentNum="2"] .student_icon::after { content: "2";}
.students[data-studentNum="3"] .student_icon::after { content: "3";}
.students[data-studentNum="4"] .student_icon::after { content: "4";}
.students[data-studentNum="5"] .student_icon::after { content: "5";}

.student_icon {
  position: relative;
  width: 5em;
}
.student_icon::before {
  display: block;
  padding-top: 100%;
  content: "";
}
.student_icon::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%229%22%20r%3D%228%22%20fill%3D%22%2300a3d6%22%3E%3C%2Fcircle%3E%3Cellipse%20cx%3D%2216%22%20cy%3D%2222.5%22%20rx%3D%2210%22%20ry%3D%228.5%22%20fill%3D%22%2300a3d6%22%3E%3C%2Fellipse%3E%3Crect%20x%3D%226%22%20y%3D%2222%22%20width%3D%2220%22%20height%3D%229%22%20fill%3D%22%2300a3d6%22%3E%3C%2Frect%3E%3C%2Fsvg%3E");
  background-size: 100%;
  background-repeat: no-repeat;
  color: #ffe5ea;
  font-weight: bolder;
  font-size: 2em;
  line-height: 3.5;
  text-align: center;
}
.student_icon svg {
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  margin: 0;
  fill: #00a3d6;
}
.button_wrapper { text-align: center;}
.button_wrapper .button { margin: 0 1em;}

section.form {
  margin: 3em auto 0;
  margin-bottom: 1em;
}

.button_area {
  display: block;
  text-align: center;
}
.button_area .button {
  margin: 1em;
  padding-top: 0.7em;
  padding-bottom: 0.7em;
}

body.config header {
  justify-content: center;
  padding-top: env(safe-area-inset-top);
}
body.config header h1.logo { margin: 0.5em auto;}
body.config main.contentsWrapper {
  padding-bottom: 0;
  background-image: none;
  background-color: var(--cs-basic-02);
}
body.config main.contentsWrapper article {
  max-width: 1280px;
  margin: 0 auto;
}
body.config main.contentsWrapper article.login section.to_register {
  margin-bottom: 3em;
  text-align: center;
}
body.config main.contentsWrapper article.login section.to_register p {
  color: var(--cs-ac_01-01);
  font-weight: bolder;
  line-height: 2;
}
body.config main.contentsWrapper article.login section.to_register .button { background-color: green02;}
body.config main.contentsWrapper article.login section.notice {
  display: block;
  position: relative;
  margin-bottom: 2em;
  overflow: hidden;
  box-shadow: 0 25px 25px 0 rgba(var(--cs-basic-07-rgb), 0.2) inset;
  text-align: center;
}
body.config main.contentsWrapper article.login section.notice::before, body.config main.contentsWrapper article.login section.notice::after {
  display: block;
  position: absolute;
  top: -1px;
  width: 10%;
  height: calc(100% + 2px);
  content: "";
}
body.config main.contentsWrapper article.login section.notice::before {
  left: -1px;
  background-image: linear-gradient(to left, rgba(var(--cs-basic-02-rgb), 0), var(--cs-basic-02));
}
body.config main.contentsWrapper article.login section.notice::after {
  right: -1px;
  background-image: linear-gradient(to right, rgba(var(--cs-basic-02-rgb), 0), var(--cs-basic-02));
}
body.config main.contentsWrapper article.login section.notice .title {
  margin: auto;
  color: var(--cs-font-03);
  font-weight: bolder;
}
body.config main.contentsWrapper article.login section.notice .title::before {
  position: absolute;
  bottom: -3px;
  left: 50%;
  width: calc(100% - 3.2em);
  height: 1px;
  transform: translateX(-50%);
  background-color: var(--cs-key-03);
  content: "";
  opacity: 0.6;
}
body.config main.contentsWrapper article.login section.notice ul { padding: 0.5em calc(env(safe-area-inset-right) + 2em) 0.5em calc(env(safe-area-inset-left) + 2em);}
body.config main.contentsWrapper article.login section.notice ul li {
  margin-bottom: 0.5em;
  overflow-x: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.config main.contentsWrapper article.login section.notice ul li .text-link { text-decoration: underline;}
body.config main.contentsWrapper article.login section.notice ul li span[class^=elaicon-] {
  margin: 0 0.5em;
  color: var(--cs-font-03);
  text-decoration: none;
}
body.config main.contentsWrapper article.login section.notice ul li:last-child { margin-bottom: 0;}
body.config main.contentsWrapper article.login section.links {
  display: inline-flex;
  position: relative;
  left: 50%;
  flex-wrap: wrap;
  justify-content: space-around;
  min-width: 512px;
  padding: 0.2em 2em;
  transform: translateX(-50%);
  border-radius: 1em;
  background-color: var(--cs-basic-04);
  text-align: center;
}
body.config main.contentsWrapper article.login section.links span.text-link { margin: 0 0.5em;}
body.config main.contentsWrapper article.login section.links span.text-link span[class^=elaicon-] {
  margin: 0 0.3em;
  color: var(--cs-font-03);
}
body.config main.contentsWrapper article.register section.form .license_doc {
  max-width: 1024px;
  margin: 0 auto;
}
body.config main.contentsWrapper article.register section.form .license_doc h3 {
  margin-bottom: 1em;
  line-height: 1.3;
  text-align: center;
}
body.config main.contentsWrapper article.register section.form .license_doc h3 + p {
  padding: 0 calc(env(safe-area-inset-right) + 1em) 0.5em calc(env(safe-area-inset-left) + 1em);
  font-size: 0.9em;
}
body.config main.contentsWrapper article.register section.form .license_doc dl {
  height: 19em;
  margin: 0 calc(env(safe-area-inset-right) + 1em) 0 calc(env(safe-area-inset-left) + 1em);
  padding: 0 1em;
  overflow-y: auto;
  border: 1px solid;
  font-size: 0.8em;
}
body.config main.contentsWrapper article.register section.form .license_doc dl dt {
  font-weight: bold;
  line-height: 1.5;
}
body.config main.contentsWrapper article.register section.form .license_doc dl dd { font-size: 0.9em;}
body.config main.contentsWrapper article.register section.form .license_doc dl dd:not(:last-child) { margin-bottom: 1em;}
body.config main.contentsWrapper article.register section.form .license_doc dl dd > ol { list-style-type: decimal;}
body.config main.contentsWrapper article.register section.form .license_doc dl dd > ol > li {
  margin-left: 2em;
  list-style-type: inherit;
}
body.config main.contentsWrapper article.register section.form .license_doc dl dd > ol > li > ol { margin: 0.2em 0 0.5em 1em;}
body.config main.contentsWrapper article.register section.form .license_doc dl dd > ol > li > ol > li {
  margin-left: 1em;
  list-style-type: none;
  counter-increment: cnt;
}
body.config main.contentsWrapper article.register section.form .license_doc dl dd > ol > li > ol > li::before {
  display: inline-block;
  min-width: 2em;
  margin-left: -1.7em;
  padding-right: 0.5em;
  content: "(" counter(cnt) ")";
}
body.config main.contentsWrapper article.input_code section.form > p { text-align: center;}
body.config main.contentsWrapper article.input_code section.form .form-wrapper:nth-child(2) {
  position: relative;
  margin-top: -0.5em;
  padding-top: 1em;
}
body.config main.contentsWrapper article.input_code section.form .form-wrapper:nth-child(2):valid-within input { background-color: #00dcff;}
body.config main.contentsWrapper article.input_code section.form .form-wrapper:nth-child(2) input {
  width: 8em;
  font-size: 1.5em;
  letter-spacing: 1em;
  text-indent: 1em;
}
body.config main.contentsWrapper article.input_code section.form .form-wrapper:nth-child(2) input::placeholder {
  letter-spacing: 1em !important;
  text-align: center !important;
}
body.config main.contentsWrapper article.input_code section.form .form-wrapper:nth-child(2) input:valid { background-color: rgba(var(--cs-ac_01-01-rgb), 0.1);}
body.config main.contentsWrapper article.input_code section.form .button_wrapper { text-align: center;}
body.config main.contentsWrapper article.input_code section.form .button_wrapper .button { margin: 0 1em;}
body.config main.contentsWrapper article.input_code section.notice { margin-top: 4em;}
body.config main.contentsWrapper article.set_pass section.form form .form-wrapper:nth-child(3) { margin-bottom: 0.5em;}
body.config main.contentsWrapper article.complete section.form {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
}
body.config main.contentsWrapper article.complete section.form .form-wrapper:not(:last-child) { margin-bottom: 0;}
body.config main.contentsWrapper article.complete .button { display: flex;}
body.config main.contentsWrapper article.student_list section.list {
  width: calc(95% - env(safe-area-inset-left) - env(safe-area-inset-right));
  max-width: 1024px;
  margin: 1em auto;
}
body.config main.contentsWrapper article.student_list section.list .list_wrapper {
  display: flex;
  flex-direction: column;
  margin: 0 auto 1em;
}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students {
  display: flex;
  align-items: center;
  padding: 1em 0;
  border-bottom: 1px solid var(--cs-basic-05);
}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students[data-childNum="1"] .icon::after { content: "1";}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students[data-childNum="2"] .icon::after { content: "2";}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students[data-childNum="3"] .icon::after { content: "3";}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students[data-childNum="4"] .icon::after { content: "4";}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students[data-childNum="5"] .icon::after { content: "5";}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students .button {
  display: flex;
  align-items: center;
  font-weight: bolder;
}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students .button .content { white-space: nowrap;}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students .button-fullwidth {
  justify-content: flex-start;
  font-weight: bolder;
}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students .button span[class^=elaicon-]::before, body.config main.contentsWrapper article.student_list section.list .list_wrapper .students .button-fullwidth span[class^=elaicon-]::before { font-size: 2em;}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students.registed ul.student_info {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  margin-right: 0.5em;
  overflow-x: hidden;
  line-height: 1.3;
}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students.registed ul.student_info > li {
  display: flex;
  flex-direction: row;
}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students.registed ul.student_info > li .title {
  display: flex;
  align-items: center;
  margin-right: 0.5em;
}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students.registed ul.student_info > li .title .content {
  padding: 0 0.5em;
  border-radius: 1em;
  background-color: var(--cs-key-02);
  color: white;
  white-space: nowrap;
  white-space: nowrap;
}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students.registed ul.student_info > li .name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students.registed ul.student_info > li.school {
  margin-bottom: 0.3em;
  opacity: 0.8;
}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students.registed ul.student_info > li.student .name .content {
  font-weight: bolder;
  font-size: 1.2em;
}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students.registed .delete_button.nor { color: var(--cs-ac_02-01);}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students.regist .add_button { width: calc(100% - 3em);}
body.config main.contentsWrapper article.student_list section.list.edit li:is(.regist, .registed .delete_button) { display: flex;}
body.config main.contentsWrapper article.student_list section.list:not([class*=edit]) li.regist,
body.config main.contentsWrapper article.student_list section.list:not([class*=edit]) li.registed .delete_button { display: flex;}
body.config main.contentsWrapper article.student_list section.list + .button {
  display: flex;
  margin: 1em 2em 1em auto;
}
body.config main.contentsWrapper article.regist_student .student_icon { margin: 1em auto 0;}
body.config main.contentsWrapper article.regist_student section.form { margin-top: 1em;}
body.config main.contentsWrapper article.regist_student section.form .form-wrapper:nth-child(1), body.config main.contentsWrapper article.regist_student section.form .form-wrapper:nth-child(2) { margin-bottom: 0.5em;}
body.config main.contentsWrapper article.setting_menu section.menu { padding: 1em calc(env(safe-area-inset-right) + 1em) 1em calc(env(safe-area-inset-left) + 1em);}
body.config main.contentsWrapper article.setting_menu section.menu ul {
  max-width: 768px;
  margin: auto;
}
body.config main.contentsWrapper article.setting_menu section.menu ul li {
  display: flex;
  align-items: center;
  height: 3em;
  border: 1px solid var(--cs-basic-06);
  border-right: none;
  border-left: none;
}
body.config main.contentsWrapper article.setting_menu section.menu ul li:not(:first-child) { border-top: none;}
body.config main.contentsWrapper article.setting_menu section.menu ul li::after {
  margin-right: 0.5em;
  content: "\e912";
  color: var(--cs-font_link-nor);
  font-size: 0.8em;
  font-family: "elaicon" !important;
}
body.config main.contentsWrapper article.setting_menu section.menu ul li .button-fullwidth { justify-content: flex-start;}
body.config main.contentsWrapper article.setting_menu section.menu ul li .button-fullwidth .contents { line-height: 1.2;}
body.config main.contentsWrapper article.check_account section.form {
  display: flex;
  flex-direction: column;
}
body.config main.contentsWrapper article.check_account section.form .form-wrapper:first-child { margin-bottom: 0;}
body .modal.spec .modal-contents h4 {
  display: inline-block;
  margin-bottom: 0.5em;
  padding: 0.2em 1em;
  border-radius: 1em;
  background-color: var(--cs-key-02);
  color: var(--cs-font-lite);
  font-weight: normal;
  line-height: normal;
}
body .modal.spec .modal-contents ul li::first-line { font-weight: bolder;}
body .modal.spec .modal-contents ul li:not(last-child) { margin-bottom: 0.5em;}

body.config form {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
}
body.config .form-wrapper.textbox {
  position: relative;
  justify-content: center;
  margin-bottom: 1em;
  font-size: 1.6em;
  --str_label_pdtop: 0;
  padding-top: var(--str_label_pdtop);
}
body.config .form-wrapper.textbox input:is([type=text],
[type=number],
[type=password]) {
  width: calc(100% - 3em);
  max-width: 20em;
  height: 2em;
  border-width: 2px;
  border-radius: 0.5em;
}
body.config .form-wrapper.textbox input:is([type=text],
[type=number],
[type=password]):is(:read-only, :disabled) {
  max-width: 20em;
  -webkit-text-fill-color: #285f73;
  border: none;
  background-color: #ccebf4 !important;
  color: #ffbeca !important;
  text-align: center;
  pointer-events: none;
}
body.config .form-wrapper.textbox label.title {
  margin-right: 0;
  padding: 0;
  background-color: transparent !important;
  color: var(--cs-font-03);
}
body.config .form-wrapper.textbox label.title span[class^=elaicon-] {
  margin-left: 0;
  color: var(--cs-key-01);
}
body.config .form-wrapper.textbox label.title span:not([class^=elaicon-]) {
  position: absolute;
  top: 0.4em;
  font-size: 60%;
}
body.config .form-wrapper.checkbox label { margin: auto;}
body.config .form-wrapper.checkbox label .parts {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 1em auto;
}
body.config .form-wrapper.checkbox label .parts::before { margin-top: 0;}
body.config .form-wrapper.checkbox label input:checked + .parts::before { border-color: var(--cs-ac_02-01);}
body.config .form-wrapper.checkbox label input:checked + .parts::after { color: var(--cs-ac_02-01);}

body {
  --medal-st01: #ff9;
  --medal-st02: #fc0;
  --medal-st03: #f90;
  --medal-shdw: #c60;
}
body .coin-stop-color01 { stop-color: var(--medal-st01);}
body .coin-stop-color02 { stop-color: var(--medal-st02);}
body .coin-stop-color03 { stop-color: var(--medal-st03);}
.gadget-medal_container { position: relative;}
.gadget-medal_container[data-medal="0"] .medal_wrapper,
.gadget-medal_container .medal_wrapper.blank .medal_wrapper {
  border: 1px dashed var(--cs-font-03);
  background-color: rgba(var(--cs-basic-01-rgb), 0.25);
}
.gadget-medal_container[data-medal="0"] .medal_wrapper svg,
.gadget-medal_container .medal_wrapper.blank .medal_wrapper svg { display: none;}
.gadget-medal_container .medal_wrapper {
  padding: 0;
  overflow: hidden;
  border-radius: 100%;
}
.gadget-medal_container .medal_wrapper svg {
  position: relative;
  left: 0;
}
.gadget-medal_container[data-medal]::after {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 0.04em 0.28em;
  border: clamp(1px, 0.2vw, 2px) solid;
  border-radius: 50vh;
  background-color: var(--cs-ac_02-01);
  content: attr(data-medal);
  color: var(--cs-font-lite);
  font-size: 0.9em;
  line-height: 1.08;
}
.gadget-medal_container[data-medal="1"]::after, .gadget-medal_container[data-medal="0"]::after { content: none;}
.gadget-medal_container:has(.blank)::after { content: none;}
.gadget-chart-line {
  display: flex;
  align-content: center;
  padding: 1em;
  color: white;
}
.gadget-chart-line table {
  position: relative;
  width: 100%;
}
.gadget-chart-line table caption {
  margin-bottom: 1em;
  padding: 0.2em 1em;
  border-radius: 50vh;
  background: rgba(var(--cs-ac_03-03-rgb), 0.3);
  text-align: left;
}
.gadget-chart-line table tbody tr.g-body { height: calc(var(--chart-height) * 1px);}
.gadget-chart-line table tbody tr.g-body th {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  height: calc(var(--chart-height) * 1px);
  font-weight: normal;
  font-size: 0.8em;
}
.gadget-chart-line table tbody tr.g-body th span {
  display: block;
  margin-right: 15px;
}
.gadget-chart-line table tbody tr.g-body th span[class^=afterstr-]::after {
  color: white;
  font-size: 0.8em;
}
.gadget-chart-line table tbody tr.g-body th span[class^=beforestr-]::before {
  color: white;
  font-size: 0.8em;
}
.gadget-chart-line table tbody tr.g-body th span:nth-child(1) { margin-top: -0.5em;}
.gadget-chart-line table tbody tr.g-body th span:nth-child(2) { margin-top: -0.25em;}
.gadget-chart-line table tbody tr.g-body th span:nth-child(4) { margin-bottom: -0.25em;}
.gadget-chart-line table tbody tr.g-body th span:nth-child(5) { margin-bottom: -0.5em;}
.gadget-chart-line table tbody tr.g-body td {
  position: relative;
  width: 7.6923076923%;
  height: calc(var(--chart-height) * 1px);
  border-left: 1px solid rgba(255, 255, 255, 0.3);
  text-align: center;
  vertical-align: middle;
  vertical-align: bottom;
}
.gadget-chart-line table tbody tr.g-body td::before {
  position: absolute;
  top: 0;
  bottom: 50%;
  left: 0;
  width: 100%;
  height: 50%;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  content: "";
}
.gadget-chart-line table tbody tr.g-body td:first-of-type::before {
  left: -10px;
  width: calc(100% + 10px);
}
.gadget-chart-line table tbody tr.g-body td:last-of-type { border-right: 1px solid rgba(255, 255, 255, 0.3);}
.gadget-chart-line table tbody tr.g-body td:last-of-type::before {
  right: 10px;
  width: calc(100% + 10px);
}
.gadget-chart-line table tbody tr.g-body td span {
  display: block;
  width: 50%;
  height: calc(var(--length) * 1%);
  margin: auto;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-bottom: none;
  background-color: rgba(255, 255, 255, 0.5);
}
.gadget-chart-line table tbody tr:not(:first-child) td {
  height: 2em;
  border-right: none;
  border-left: none;
  vertical-align: middle;
}
.gadget-chart-line table tbody tr:last-child td { border-bottom: none;}
.gadget-chart-line table tbody tr.label-row td { position: relative;}
.gadget-chart-line table tbody tr.label-row td .contents {
  display: block;
  width: 80%;
  margin: auto;
  border-radius: 0.5em;
  background-color: rgba(255, 255, 255, 0.3);
  text-align: center;
}
.gadget-chart-line table tbody tr.label-row td::before, .gadget-chart-line table tbody tr.label-row td::after {
  position: absolute;
  top: -1px;
  bottom: 50%;
  left: 0;
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-bottom: none;
  content: "";
}
.gadget-chart-line table tbody tr.label-row td::before { border-right: none;}
.gadget-chart-line table tbody tr.label-row td::after { border: none;}
.gadget-chart-line table tbody tr.label-row td:first-of-type::before {
  left: -10px;
  width: calc(100% + 10px);
  border-left: none;
}
.gadget-chart-line table tbody tr.label-row td:first-of-type::after {
  width: 100%;
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
.gadget-chart-line table tbody tr.label-row td:last-of-type::before {
  right: 10px;
  width: calc(100% + 10px);
}
.gadget-chart-line table tbody tr.label-row td:last-of-type::after {
  left: 1px;
  width: 100%;
  border-right: 1px solid rgba(255, 255, 255, 0.3);
}
.gadget-chart-line table tbody tr.value-row { text-align: center;}
.gadget-chart-line table tbody tr.value-row .box {
  border: 1px solid rgba(var(--cs-basic-01-rgb), 0.2);
  border-radius: 0.5em;
  background-color: rgba(var(--cs-basic-01-rgb), 0.1);
}

html {
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-touch-callout: none;
  padding: env(safe-area-inset);
  overscroll-behavior-x: none;
}
html body {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 100%;
  height: 100%;
  min-height: 100%;
  line-height: normal;
  -webkit-text-size-adjust: 100%;
}
html body :is(header, footer) { flex-shrink: 0;}
html body .contentsWrapper {
  flex: 1 0 auto;
  padding-bottom: var(--menuHeight);
}
html body .contentsWrapper > .contentsContainer > .tab-body {
  max-width: 1280px;
  margin: 0 auto;
}
html body::after {
  display: block;
  z-index: -10000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--cs-basic-04);
  content: "";
}

body {
  --global-font-size: 18px;
  --menuHeight: 0;
}

body {
  --px_to_vw: 1.758vw;
  background-color: var(--cs-basic-02);
  color: var(--cs-font-01);
  font-size: var(--global-font-size);
  font-family: HelveticaNeue, arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "BIZ UDPGothic", sans-serif;
  text-rendering: optimizeLegibility;
  word-break: break-word;
  -webkit-overflow-scrolling: touch;
}

main.contentsWrapper {
  position: relative;
  background-image: linear-gradient(180deg, var(--cs-basic-02) 15%, var(--cs-basic-04) 30%);
  background-color: var(--cs-basic-04);
}

header {
  display: flex;
  z-index: 100;
  position: relative;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 1em;
  padding-top: env(safe-area-inset-top);
  background-color: var(--cs-basic-02);
}
header::after {
  display: block;
  position: absolute;
  bottom: calc(-1em - 1px);
  left: 0;
  width: 100%;
  height: calc(1em + 1px);
  background-image: linear-gradient(to bottom, var(--cs-basic-05), var(--cs-basic-02));
  background-color: var(--cs-basic-02);
  content: "";
}
header h1.logo {
  position: relative;
  width: 236px;
  margin-left: 20px;
}
header h1.logo .wrapper svg { fill: #00a3d6;}
h3 { color: var(--cs-font-03);}

footer {
  height: calc(env(safe-area-inset-bottom) + 20px);
  padding: 0 0 env(safe-area-inset-bottom) 0;
  border-radius: 0;
  background-image: linear-gradient(to bottom, var(--cs-basic-01) 0%, var(--cs-basic-02) 100%);
  box-shadow: var(--cs-basic-06) 0 4px 10px 1px;
  line-height: 20px;
}
footer .copyright {
  width: 100%;
  color: var(--cs-font-03);
  font-size: 10px;
  text-align: center;
}

h3.headline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(95% - env(safe-area-inset-left) - env(safe-area-inset-right));
  margin: 1em auto 1em;
  padding: 0.5em 1em;
  border: 1px solid rgba(var(--cs-basic-04-rgb), 0.5);
  border-radius: 2em;
  background-image: linear-gradient(to bottom, var(--cs-basic-01), var(--cs-basic-02) 60%, rgba(var(--cs-basic-04-rgb), 0.8));
  background-color: var(--cs-basic-02);
  box-shadow: 0 2px 6px 1px var(--cs-basic-08-rgb, 0.6) inset, 0 -4px 9px 4px var(--cs-basic-01-rgb, 1), 0px 6px 10px 10px var(--cs-basic-07-rgb, 0);
}
h3.headline .button:is(.nor, .nor:active, .msk) {
  min-width: auto;
  min-height: auto;
  padding: 0;
  border: none;
  background-color: transparent !important;
  box-shadow: none;
}
h3.headline .button ~ .title { margin: auto;}
h3.headline .title { color: var(--cs-ac_01-01);}
h3.headline .title:only-child { margin: auto;}

.discription {
  margin-bottom: 1em;
  line-height: 1.3;
  text-align: center;
  word-wrap: break-word;
  position: relative;
  min-width: 640px;
  max-width: 800px;
  margin: 0 auto 1em;
  padding: 0 1em;
}
.discription.box {
  padding: 0;
  overflow: hidden;
  border: 2px solid var(--cs-basic-07);
  border-radius: 1em;
  background-color: rgba(var(--cs-basic-06-rgb), 0.1);
}
.discription.box .title {
  background-color: var(--cs-basic-07);
  color: var(--cs-font-lite);
  font-size: 1.1em;
  line-height: 1.5;
  text-align: left;
  text-indent: 1em;
}
.discription ul {
  margin: 0.5em;
  text-align: left;
}
.discription ul li:not(:first-child) { margin-top: 0.5em;}
.discription ul li:is(.aster, .disc) { padding-left: 1em;}
.discription ul li:is(.aster, .disc)::before {
  top: 0;
  left: 0;
  margin-left: -1em;
}
.discription ul li.aster::before { content: "※";}
.discription ul li.disc::before { content: "・";}
.discription .attention { color: var(--cs-ac_02-01);}
.discription span { margin-bottom: 0.5em;}
.discription span.box {
  display: inline-block;
  margin-bottom: 0.3em;
  margin-left: 0.2em;
  padding: 0 0.2em;
  border: thin solid;
}

.error_mes {
  display: block;
  max-width: 90%;
  margin: 0.5em auto;
  padding: 0.5em;
  border: thin solid red;
  background-color: rgba(255, 128, 128, 0.2);
  color: red;
  text-align: center;
}
.error_mes:empty { display: none;}

.mfull.button {
  max-width: 12em;
  margin: auto;
}
.text-link ~ .elaicon-function-popup::before { display: inline;}

.modal .modal-window {
  width: -moz-fit-content;
  width: fit-content;
  min-width: 30%;
  max-width: 600px;
}
.modal .modal-window h3 {
  background-color: var(--cs-key-01);
  color: var(--cs-font-lite);
}
.modal .modal-window .modal-contents {
  max-height: calc(90vh - 3.4em);
  max-height: calc(90svh - 3.4em);
  overflow-y: auto;
}
.modal .modal-window .modal-contents p { font-size: 1em !important;}
.modal .modal-window .modal-contents ul { line-height: inherit !important;}
.modal .modal-window .modal-contents ul[class*=grid-] { max-height: calc(90vh - 8em);}
.modal .modal-window .modal-contents .discription {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0;
  font-size: 1em;
}
.modal .modal-window .modal-contents .discription ul { margin: 0;}
.modal .modal-window .modal-contents .condition {
  justify-content: center;
  font-size: 2em;
}
.modal .modal-window .modal-contents .timestamp {
  padding: 0.5em 0;
  text-align: center;
}
.modal .modal-window .modal-contents .timestamp .contents {
  font-weight: bolder;
  font-size: 1.6em;
}
.modal .modal-window .button-area { border: none !important;}

#modal-layer.pointer-events-none {
  cursor: auto !important;
  pointer-events: auto !important;
}

table.basic-table {
  margin-bottom: 0;
  font-size: inherit;
}
table.basic-table thead tr th .contents { font-size: 0.8em;}
table.basic-table thead tr th:first-child { padding-left: calc(env(safe-area-inset-left) + 10px);}
table.basic-table thead tr th:last-child { padding-right: calc(env(safe-area-inset-right) + 0.8em);}
table.basic-table tbody tr th { border-width: calc(env(safe-area-inset-left) + 16px);}
table.basic-table tbody tr th > .contents { padding-top: 0.5em;}
table.basic-table tbody tr td:last-child { padding-right: calc(env(safe-area-inset-right) + 0.5em);}
table.basic-table tbody tr td > .contents { margin-top: 0;}
table.basic-table tbody tr td > .contents:is(.better, .attention) {
  padding: 0 0.5em;
  color: #ffffff !important;
}
table.basic-table tbody tr td > .contents:is(.better, .attention)[class*=beforestr-]::before, table.basic-table tbody tr td > .contents:is(.better, .attention)[class*=afterstr-]::after { opacity: 1;}
table.basic-table tbody tr td > .contents.better { background-color: var(--cs-ac_01-01);}
table.basic-table tbody tr td > .contents.attention { background-color: var(--cs-ac_02-01);}
table.basic-table tfoot tr td { height: 1em;}

.page-error {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.page-error .content-block {
  padding: 0 calc(env(safe-area-inset-right) + 1em) 0 calc(env(safe-area-inset-left) + 1em);
  color: var(--cs-ac_02-01);
  text-align: center;
}
.page-error p {
  margin-bottom: 2em;
  padding: 0 1em;
}
.page-error p:only-child { margin-bottom: 0;}
.large { font-size: 1.2em;}
.margin0 { margin: 0;}
.padding0 { padding: 0;}
a { text-decoration: none;}
p { line-height: 1.5;}

ul.list li {
  margin-bottom: 0.5em;
  margin-left: 1em;
  line-height: 1.3;
  list-style: disc;
}

u {
  text-decoration: underline;
  text-decoration-style: solid;
  text-decoration-color: currentColor;
}

sup {
  display: inline-block;
  margin-top: 0.4em;
  font-size: 0.75em;
  line-height: 0.4;
  text-indent: -0.05em;
  vertical-align: 0.4em;
}

sub {
  display: inline-block;
  position: relative;
  bottom: 0;
  font-size: 0.75em;
  letter-spacing: 0;
}
.font-col-key { color: var(--cs-key-01);}
.font-col-accent-prime { color: var(--cs-ac_01-01);}
.font-col-accent-second { color: var(--cs-ac_02-01);}
.bg-col-key { background-color: var(--cs-key-01);}
.bg-col-accent-prime { background-color: var(--cs-ac_01-01);}
.bg-col-accent-second { background-color: var(--cs-ac_02-01);}
.cs-dri-font_strong { color: var(--cs-ac_02-01);}
.cs-dri-font_weak { color: var(--cs-font-02);}

.strong {
  color: var(--cs-ac_02-01);
  font-weight: bolder;
}

.transparent-string {
  visibility: hidden;
  color: rgba(0, 0, 0, 0);
}

.error {
  color: var(--cs-ac_02-01);
  font-size: 0.8em;
}
.block { display: block !important;}
.inline-block { display: inline-block !important;}
.hidden { visibility: hidden !important;}
.display-none { display: none !important;}

.left {
  justify-content: flex-start !important;
  text-align: left !important;
}

.center {
  justify-content: center !important;
  text-align: center !important;
}

.right {
  justify-content: flex-end !important;
  text-align: right !important;
}

.nowrap {
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}

:is(img, svg).icon {
  height: 0.9em !important;
  vertical-align: -0.08em !important;
}

span[class^=elaicon-] {
  position: relative;
  margin-right: 0.4em;
  margin-left: 0.4em;
  text-decoration: none;
}

:is(.button, .button-fullwidth) .contents span[class^=elaicon-] {
  margin-right: 0.2em;
  margin-left: 0.2em;
}
.hide-scrollbar::-webkit-scrollbar { display: none;}
.pointer-events-none { pointer-events: none !important;}
ruby rt { display: none;}

@media (any-hover: hover) {
  .button:hover, .button-fullwidth:hover, .modal .close-btn:hover, .form-wrapper input:hover:is([type=submit], [type=button], [type=reset]), .form-wrapper [type=file] ~ label:hover, .form-wrapper:is(.btn-checkbox, .btn-radio) label:hover, .form-wrapper.textbox input.datebtn:hover:is([readonly=readonly], [readonly=""]), .form-wrapper.select .select-body-wrap:hover, .form-wrapper.btn-select .select-body-wrapper div.select-items:hover, .form-wrapper.file label:hover, .modal .close-btn:is(.nor, .eff):hover {
    background-color: var(--cs-btn_bg-hov);
    box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.5);
    color: var(--cs-btn_font-hov);
    text-decoration: none;
  }
.eff.button:hover, .eff.button-fullwidth:hover, .modal .eff.close-btn:hover, .form-wrapper input.eff:hover:is([type=submit], [type=button], [type=reset]), .form-wrapper [type=file] ~ label.eff:hover, .form-wrapper:is(.btn-checkbox, .btn-radio) label.eff:hover, .form-wrapper.textbox input.eff.datebtn:hover:is([readonly=readonly], [readonly=""]), .form-wrapper.select .eff.select-body-wrap:hover, .form-wrapper.btn-select .select-body-wrapper div.eff.select-items:hover, .form-wrapper.file label.eff:hover { animation: effectBtn_multi 0.2s linear 0.1s infinite alternate;}
.form-wrapper:is(.checkbox, .radio) label span:is(.nor, .eff):hover { color: var(--cs-font_link-hov);}
.form-wrapper:is(.checkbox, .radio) label span:is(.nor, .eff):hover svg { fill: var(--cs-font_link-hov);}
  table.basic-table tbody tr.nor:hover :is(td, th) {
    z-index: 1;
    position: relative;
    border-bottom-color: transparent;
    background-color: var(--cs-btn_bg-hov);
    box-shadow: 8px 8px 8px 0px rgba(0, 0, 0, 0.3);
    color: var(--cs-btn_font-hov);
    transition: 0.1s;
  }
  table.basic-table tbody tr.nor:hover th > .contents {
    border-bottom-color: transparent;
    border-left-color: var(--cs-btn_font-hov);
  }
table.basic-table tbody :is(th, td) { transition: 0.4s;}
.form-wrapper.btn-select .select-body-wrapper div.select-items.nor:hover { background-color: transparent !important;}
  .form-wrapper.btn-select .select-body-wrapper div.select-items input.select-expand:checked + .select-closeLabel + .select-options .select-label:hover {
    background-color: var(--cs-btn_bg-hov);
    color: var(--cs-btn_font-hov);
  }
.form-wrapper.btn-select .select-body-wrapper div.select-items input.select-expand:hover::after { opacity: 1;}
.gadget-calendar .calendar-day:has(.times, .average):hover { box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.3);}
  .gadget-calendar .calendar-day:has(.times, .average):active {
    background-color: var(--cs-btn_bg-act) !important;
    box-shadow: none;
    transition: none;
  }
.gadget-calendar .calendar-day:has(.times, .average):active .date-num { color: var(--cs-btn_font-act);}
.su .lv4:hover { background-color: #00202f;}
.su .lv3:hover { background-color: #075a7f;}
  .su.grid-container .button.nor:hover {
    border-color: #0c9ee0;
    background-color: #9fdefa;
    color: #04384f;
  }
.su .lv2:hover { background-color: #1690c6;}
.su .lv1:hover { background-color: #53b5e1;}
.koku .lv4:hover { background-color: #12002b;}
.koku .lv3:hover { background-color: #38067b;}
  .koku.grid-container .button.nor:hover {
    border-color: #650cdc;
    background-color: #c49bfa;
    color: #22044b;
  }
.koku .lv2:hover { background-color: #6016c3;}
.koku .lv1:hover { background-color: #8d4fe0;}
.ei .lv4:hover { background-color: #29000f;}
.ei .lv3:hover { background-color: #790630;}
  .ei.grid-container .button.nor:hover {
    border-color: #da0b57;
    background-color: #fa99bc;
    color: #49041d;
  }
.ei .lv2:hover { background-color: #c11554;}
.ei .lv1:hover { background-color: #e04d83;}
.ri .lv4:hover { background-color: #201100;}
.ri .lv3:hover { background-color: #713f06;}
  .ri.grid-container .button.nor:hover {
    border-color: #d2760b;
    background-color: #f9c991;
    color: #402403;
  }
.ri .lv2:hover { background-color: #b96d15;}
.ri .lv1:hover { background-color: #de9846;}
.sha .lv4:hover { background-color: #040600;}
.sha .lv3:hover { background-color: #3f5805;}
  .sha.grid-container .button.nor:hover {
    border-color: #83b90a;
    background-color: #d1f878;
    color: #1c2802;
  }
.sha .lv2:hover { background-color: #76a112;}
.sha .lv1:hover { background-color: #a6da30;}
.ext .lv4:hover { background-color: #000000;}
.ext .lv3:hover { background-color: #045041;}
  .ext.grid-container .button.nor:hover {
    border-color: #09b190;
    background-color: #71f8dd;
    color: #02201a;
  }
.ext .lv2:hover { background-color: #119a7f;}
.ext .lv1:hover { background-color: #29d9b6;}
  .text-link:hover {
    color: var(--cs-font_link-hov);
    transition: 0.4s;
  }
.text-link:hover::before, .text-link:hover::after { color: var(--cs-font_link-hov);}
.parentApp-tab_container .tab_content:hover { color: #0a6fda;}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students .button:hover, body.config main.contentsWrapper article.setting_menu section.menu ul li .button:hover, .menu-unit .menu ul li .button:hover, .menu-unit .menu .button-area .button:hover, .tab-body_item-0 .column-2 > .column-wrapper.section-title .button:hover, .tab-body_item-0 section.notice .button:hover, .tab-body_item-1 section.calendar > .button-area .button:hover, .tab-body_item-7 .button-area .button:hover,
  body.config main.contentsWrapper article.student_list section.list .list_wrapper .students .button-fullwidth:hover,
  body.config main.contentsWrapper article.setting_menu section.menu ul li .button-fullwidth:hover,
  .menu-unit .menu ul li .button-fullwidth:hover,
  .menu-unit .menu .button-area .button-fullwidth:hover,
  .tab-body_item-0 .column-2 > .column-wrapper.section-title .button-fullwidth:hover,
  .tab-body_item-0 section.notice .button-fullwidth:hover,
  .tab-body_item-1 section.calendar > .button-area .button-fullwidth:hover,
  .tab-body_item-7 .button-area .button-fullwidth:hover { box-shadow: none !important;}
  .tab-body_item-7 section.notice.school ul li.thread:hover {
    z-index: 1;
    box-shadow: 0px 5px 10px 10px rgba(var(--cs-basic-08-rgb), 0.2);
  }
.check-area :is(.radio-group, .check-group) div.check-wrap label:not(.checked):hover { background-color: var(--cs-btn_bg-hov);}
  header menu button.icon-button:is(.nor, .eff):hover > .icon-wrap {
    background-image: linear-gradient(to bottom, rgba(var(--cs-basic-01-rgb), 0) 0%, rgba(var(--cs-basic-05-rgb), 0) 100%);
    background-repeat: no-repeat;
    background-color: var(--cs-btn_bg-hov) !important;
  }
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students.registed .delete_button.nor:hover { color: #9f285d;}
}

@media (any-hover: none) {table > .form-wrapper.radio tr.checked.nor:hover td { box-shadow: none;}
}

@media screen and (-webkit-min-device-pixel-ratio: 0) and (-webkit-min-device-pixel-ratio: 0), screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
  .form-wrapper.textbox input:is([type=text], [type=search], [type=color], [type=date], [type=number], [type=tel], [type=email], [type=url], [type=password], [type=datetime-local], [type=month], [type=week], [type=time])::-webkit-input-placeholder {
    position: relative !important;
    top: 0.05em !important;
  }
}

@media screen and (max-width: 479.98px) {
  .gadget-calendar .calendar-day .datas-wrapper .datas {
    grid-template-rows: repeat(2, 1fr);
    grid-template-columns: 1fr;
  }
.gadget-calendar .calendar-day .datas-wrapper .datas .contents.times { grid-area: 1/1/2/2;}
.gadget-calendar .calendar-day .datas-wrapper .datas .contents.average { grid-area: 2/1/3/2;}
.gadget-calendar .calendar-day .datas-wrapper .datas::before { content: none;}
.tab-body_item-1 section.calendar .gadget-calendar .calendar-week .calendar-day .datas-wrapper { font-size: 0.9em;}
.tab-body_item-1 section.calendar .gadget-calendar .calendar-week .calendar-day .calendar-date { font-size: calc(var(--px_to_vw) * 1.5) !important;}
.tab-body_item-1 section.calendar .gadget-calendar .calendar-week .calendar-day .calendar-date .gadget-medal_container[data-medal]::after { font-size: 10px;}
  .tab-body_item-2 section.growimage-monthly ul {
    --col-size: repeat(3, 1fr) !important;
    --mon-font: 3em !important;
    --medal-size: 5em !important;
    --medal-size2024: 1.75em !important;
    --badge-fs: 1.75em;
  }
.tab-body_item-3 section.gragh { --medal-size: 2em !important;}
.tab-body_item-8 section.button-area { display: block;}
  .tab-body_item-8 section.button-area .check-wrap {
    display: flex;
    align-content: center;
    justify-content: center;
  }
  .tab-body_item-8 section.button-area .button {
    left: 50%;
    margin: 0.5em auto 1em;
    transform: translateX(-50%);
  }
.menu-unit .menu { width: 100%;}
  .menu-unit .spec {
    z-index: 150;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 0;
    pointer-events: auto;
    transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0.3s;
  }
.menu-unit .spec h3 { padding-top: env(safe-area-inset-top);}
.menu-unit .spec .button-area { height: auto;}
.menu-unit .spec h3 { text-align: left;}
  .menu-unit .spec .button-area {
    position: absolute;
    top: env(safe-area-inset-top);
    right: calc(env(safe-area-inset-left) + 0.5em);
    border: none;
    text-align: center;
  }
  .menu-unit .spec .button-area .button {
    min-width: auto;
    min-height: auto;
    padding: 0;
    border: none;
    background-color: transparent !important;
    box-shadow: none;
    line-height: 3em;
  }
  .menu-unit .spec .button-area .button .contents {
    color: var(--cs-font-lite);
    font-size: 0.9em;
  }
.menu-unit .spec.is_visible { transform: translateX(0%);}
  .menu-unit .spec.is_hidden {
    z-index: 100;
    transform: translateX(100%);
    opacity: 1;
  }
.menu-unit .spec_wrapper { max-height: 100%;}
.menu-unit.is_visible .menu { transform: translateY(0%);}
.menu-unit.is_hidden .menu { transform: translateY(100%);}
.student_icon { width: 3em;}
  .student_icon::after {
    font-size: 1em;
    line-height: 4.3;
  }
section.form { margin-top: 1em;}
  .button_area {
    display: flex;
    justify-content: space-evenly;
    font-size: 1.6em;
  }
  .button_area .button {
    margin: auto;
    font-size: 17px;
  }
  body.config main.contentsWrapper article.login section.notice {
    margin: 0.5em;
    padding: 0.5em;
    border: none;
    border: 3px solid var(--cs-basic-05);
    border-radius: 0.5em;
    background-color: var(--cs-basic-02);
    box-shadow: none;
  }
body.config main.contentsWrapper article.login section.notice::before, body.config main.contentsWrapper article.login section.notice::after { content: none;}
body.config main.contentsWrapper article.login section.notice ul { padding: 0.5em env(safe-area-inset-right) 0.5em env(safe-area-inset-left);}
  body.config main.contentsWrapper article.login section.links {
    flex-direction: column;
    margin: 1em 0.5em;
  }
body.config main.contentsWrapper article.register section.form .license_doc dl { height: 14em;}
body.config main.contentsWrapper article.input_code section.form { margin-top: 1em;}
body.config main.contentsWrapper article.input_code section.form > p { font-size: 0.9em;}
body.config main.contentsWrapper article.input_code section.form .form-wrapper:nth-child(2) input { font-size: 1em;}
body.config main.contentsWrapper article.set_pass section.form form { margin-top: 1em;}
  body.config main.contentsWrapper article.student_list section.list {
    width: calc(100% - env(safe-area-inset-left) - env(safe-area-inset-right));
    margin: 0;
  }
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students.registed ul.student_info > li.school { margin-bottom: 0;}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students.registed ul.student_info > li.school .name .content { opacity: 0.5;}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students.registed ul.student_info > li.student .name .content { font-size: 1.2em;}
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students.registed .delete_button { margin-right: 0.5em;}
  body.config main.contentsWrapper article.student_list section.list .list_wrapper .students.registed .delete_button.nor span[class^=elaicon-] {
    margin: 0 !important;
    padding: 0.3em;
    border-radius: 0.5em;
  }
body.config main.contentsWrapper article.student_list section.list .list_wrapper .students.registed .delete_button.nor:active span[class^=elaicon-] { background-color: var(--cs-ac_02-01);}
  body.config .form-wrapper.textbox input:is([type=text],
  [type=number],
  [type=password]) {
    width: calc(100% - 2em);
    height: 3em;
    font-size: 17px;
  }
body.config .form-wrapper.textbox label.title span[class^=elaicon-]::before { content: none;}
body { --global-font-size: 14px;}
  .discription {
    width: calc(95% - env(safe-area-inset-left) - env(safe-area-inset-right));
    max-width: 100%;
  }
.discription { font-size: 0.9em;}
  .mfull.button {
    width: calc(100% - 2em);
    max-width: 20em;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .wo-mobile {
    display: none !important;
    color: inherit !important;
  }
  .modal .modal-window {
    min-width: 90%;
    max-width: 90%;
  }
.modal .modal-window .modal-contents ul[class*=grid-] :is(li, li.button) { width: 100%;}
}

@media screen and (max-width: 1023.98px) {
  .parentApp-tab_container .tab-wrapper {
    z-index: 10;
    position: sticky;
    top: calc(env(safe-area-inset-top) + 4em);
    height: 2.4em;
  }
.tab-body_item-0 section.overview-result .acordion-button-area { display: flex;}
.tab-body_item-0 section.overview-result.is-hide .basic-table { display: none;}
  .tab-body_item-0 .column-2 {
    margin: 0;
    padding: 0em;
    border: none;
    border-radius: 0;
    background-color: transparent;
  }
  .tab-body_item-1 section.growimage {
    flex-direction: row;
    border-radius: 0;
  }
  .tab-body_item-1 section.growimage .date {
    flex-direction: column;
    align-items: flex-end;
    margin: auto;
  }
.tab-body_item-1 section.growimage .date span:first-child { margin: -1em 0 0 0;}
  .tab-body_item-1 section.overview-medal ul {
    margin-top: 0;
    border-radius: 0;
  }
  .tab-body_item-1 section.overview-medal ul li .title {
    font-size: 100%;
    white-space: nowrap;
  }
  .tab-body_item-1 section.calendar {
    padding: 0.5em calc(env(safe-area-inset-right) + 0.5em) 0.5em calc(env(safe-area-inset-left) + 0.5em);
    border-radius: 0.2em;
    background-color: var(--cs-basic-02);
    --format-color: 9, 10, 10;
    box-shadow: 0 1px 2px 0px rgba(var(--format-color), 0.1);
  }
  .tab-body_item-1 section.calendar > .button-area {
    justify-content: space-between;
    margin: 0 0 0.5em;
  }
.tab-body_item-1 section.calendar > .button-area .button { font-size: 110%;}
.tab-body_item-1 section.calendar .gadget-calendar .calendar-week .calendar-day .calendar-date { font-size: max(var(--px_to_vw), 12px);}
  .tab-body_item-1 .column-1 {
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    background-color: transparent;
  }
  .tab-body_item-2 section.growimage-monthly ul {
    --col-size: repeat(4, 1fr);
    --medal-size: 3em;
    --medal-size2024: 1.25em;
  }
.tab-body_item-2 section.growimage-monthly ul li.grid-item .info-area { font-size: var(--px_to_vw);}
.tab-body_item-3 section.gragh { --medal-size: 2.4em;}
.tab-body_item-5 .gadget-studygrid section.grid-container { flex-direction: column;}
  .tab-body_item-5 .gadget-studygrid section.grid-container > .column-wrapper .title {
    display: block;
    flex-grow: 0;
    min-height: auto;
    margin: 0.5em;
    padding: 0 1em;
    border-radius: 1em;
    line-height: 2;
  }
  .tab-body_item-5 .gadget-studygrid section.grid-container > .column-wrapper .button {
    min-width: auto;
    min-height: auto;
    padding: 0;
    border: none;
    background-color: transparent !important;
    box-shadow: none;
    color: var(--cs-font_link-nor) !important;
  }
.tab-body_item-5 .gadget-studygrid section.grid-container > .column-wrapper .button:active { background-color: transparent !important;}
.tab-body_item-5 .gadget-studygrid section.grid-container > .column-wrapper .button span:not(:nth-child(2)) { display: block;}
  .tab-body_item-5 .gadget-studygrid section.grid-container .mandara-bits div {
    width: 1.9em;
    height: 1.9em;
    margin: 0.15em;
    border-width: 1px;
  }
.tab-body_item-7 section.full-thread .title { margin-bottom: 1em;}
.tab-body_item-7 section.full-thread .body { line-height: 1.3;}
.tab-body_item-8 section .contents-container h3.title { width: 11em;}
  .studens_selector {
    z-index: 20;
    position: sticky;
    top: 0;
    height: calc(env(safe-area-inset-top) + 2em);
  }
.studens_selector .selectedItem { padding: calc(env(safe-area-inset-top) + 0.5em) 1em 0;}
  .studens_selector ~ .student_info {
    z-index: 10;
    position: sticky;
    top: calc(env(safe-area-inset-top) + 2em);
    height: 2em;
    line-height: 1;
  }
.studens_selector .selectedItem { font-size: 1em;}
.windows .studens_selector .selectedItem { padding-top: 0.3em;}
  header menu {
    display: grid;
    z-index: 2;
    position: fixed;
    bottom: 0;
    left: 0;
    grid-template-columns: repeat(var(--menu-grid), 1fr);
    width: 100%;
    margin-top: 0;
    padding-bottom: calc(env(safe-area-inset-bottom) + 0.5em);
    overflow: hidden;
    border-style: solid;
    border-color: #00a3d6;
    background-color: var(--cs-key-02);
    transition: all 0.6s ease;
  }
header menu.hide { transform: translateY(calc(var(--menuHeight) + env(safe-area-inset-bottom)));}
  header menu button.icon-button {
    justify-content: flex-end;
    margin: 2px;
  }
  header menu button.icon-button .icon-wrap {
    width: auto;
    height: auto;
    margin-top: 0.5em;
    background: none !important;
  }
header menu button.icon-button .icon-wrap [class^=elaicon-]::before { font-size: 2em;}
header menu button.icon-button .icon-wrap::after { content: none;}
  header menu button.icon-button .icon-wrap span {
    font-size: inherit;
    line-height: inherit;
  }
  header menu button.icon-button .button-label {
    height: auto;
    margin-top: auto;
    color: #ffffff !important;
    font-size: 0.7em;
  }
header menu button.nor.icon-button .icon-wrap { background-color: transparent !important;}
header menu button.nor.icon-button .icon-wrap span { color: #ffffff;}
.tab-body.tab-0 article.tab-body_item-0 { display: block;}
.tab-body.tab-0 article.tab-body_item-0 > :is(.column-1, .column-2) { display: block;}
.tab-body.tab-0 article.tab-body_item-0 > .column-1 { width: 100%;}
  .tab-body.tab-0 article.tab-body_item-0 > .column-2 {
    width: 100%;
    margin-left: 0;
    padding: 0;
  }
.tab-body.tab-1 article.tab-body_item-1 { display: block;}
  .tab-body.tab-1 article.tab-body_item-1 > :is(.column-1, .column-2) {
    display: block;
    width: 100%;
  }
  .tab-body.tab-1 article.tab-body_item-1 > .column-2 {
    margin-left: 0;
    padding: 0;
  }
  body.config header h1.logo {
    width: 30%;
    max-width: 160px;
  }
  body.config main.contentsWrapper article.login section.links {
    display: flex;
    position: static;
    min-width: auto;
    padding: 0.5em;
    transform: none;
    border-radius: 0.2em;
    box-shadow: 0 1px 2px 0px var(--cs-basic-05);
    line-height: 2;
  }
body.config main.contentsWrapper article.input_code section.form { margin-top: 2em;}
body.config main.contentsWrapper article.set_pass section.form form { margin-top: 2em;}
body { --global-font-size: 16px;}
body { --menuHeight: calc(env(safe-area-inset-bottom) + 4em);}
main.contentsWrapper { background-image: none;}
  main.contentsWrapper .contentsContainer {
    position: sticky;
    top: calc(env(safe-area-inset-top) + 4em);
  }
  body:not([class*=config]) header {
    margin: 0;
    padding: 0;
    border: none;
  }
body:not([class*=config]) header::after { content: none;}
body:not([class*=config]) header h1.logo { display: none;}
  footer {
    height: calc(env(safe-area-inset-bottom) + 20px);
    padding-bottom: env(safe-area-inset-bottom);
  }
body:not([class*=config]) footer { display: none;}
  .discription {
    min-width: 0;
    max-width: 90%;
  }
  .wo-tablet {
    display: none !important;
    color: inherit !important;
  }
  .modal .modal-window {
    min-width: 50%;
    max-width: 75%;
  }
}

@media screen and (min-width: 1024px) {.tab-body_item-0 section.growimage { margin-top: 1em;}
.tab-body_item-0 .column-2 > .column-wrapper.section-title { margin: 1em 0 0 0.5em;}
.tab-body_item-0 .column-2 > .column-wrapper.section-title:first-child { margin: 0.5em 0.5em 0;}
.tab-body_item-0 .column-2 > .column-wrapper.section-title h3 .content { font-size: 0.8em;}
.tab-body_item-0 .column-2 > .column-wrapper.section-title .button { font-size: 0.8em;}
.tab-body_item-0 section.notice ul li.thread { font-size: 80%;}
.tab-body_item-0 section.notice .button-fullwidth { font-size: 80%;}
.tab-body_item-0 section.notice.corp li { font-size: 80%;}
  .tab-body_item-0 section.links {
    align-items: flex-start;
    font-size: 80%;
  }
.tab-body_item-1 section.growimage { background-color: transparent !important;}
.tab-body_item-1 section.growimage .date { flex-basis: unset;}
  .tab-body_item-1 section.growimage .image-wrapper {
    flex-basis: unset;
    width: 100%;
    max-width: unset;
    margin: 0;
    overflow: hidden;
    --format-color: 255, 255, 255;
    border: thin solid rgba(var(--format-color), 1);
    border-bottom: none;
    border-radius: 0;
    border-top-right-radius: 2em;
    border-top-left-radius: 2em;
    box-shadow: none;
  }
.tab-body_item-1 section.growimage .image-wrapper::after { content: none;}
  .tab-body_item-1 section.growimage .image-wrapper img {
    top: unset;
    bottom: 0;
    height: 100%;
    transform: translateX(-50%);
    border-radius: 0;
  }
  .tab-body_item-1 section.growimage .lv {
    position: absolute;
    top: 5.5em;
    left: 50%;
    transform: translateX(-50%);
  }
.tab-body_item-1 section.growimage .lv .gadget-circlegauge { width: 4em;}
  .tab-body_item-1 section.growimage .lv .gadget-circlegauge .inner {
    width: 90%;
    height: 90%;
    margin: 10%;
  }
.tab-body_item-1 section.growimage .lv .gadget-circlegauge .inner .progress .numer { font-size: 1.6em;}
main.contentsWrapper .contentsContainer { margin-bottom: 1em;}
  .wi-tablet {
    display: none !important;
    color: inherit !important;
  }
}

@media screen and (min-width: 480px) {.tab-body_item-0 section.overview-result .basic-table td:not(:first-of-type) .contents { min-width: 7em;}
.tab-body_item-4 section.report-card .basic-table td:last-of-type { min-width: 5em !important;}
.tab-body_item-4 section.report-card .basic-table td:last-of-type .button { width: 100%;}
.tab-body_item-4 section.report-card .basic-table td .button .contents { text-align: center;}
  body.config main.contentsWrapper article.login section.notice .title {
    position: relative;
    top: -1px;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto;
    margin-bottom: 0.5em;
    padding: 0 1em;
    border: 1px solid var(--cs-basic-01);
    border-top: none;
    border-bottom-right-radius: 1em;
    border-bottom-left-radius: 1em;
    background-color: var(--cs-basic-02);
    box-shadow: 0 5px 3px 2px var(--cs-basic-04);
    font-weight: normal;
    line-height: 2;
  }
body.config main.contentsWrapper article.login section.notice .title::before { content: none;}
  .wi-mobile {
    display: none !important;
    color: inherit !important;
  }
}

@media screen and (max-width: 1023.98px) and (any-hover: hover) {.tab-body_item-5 .gadget-studygrid section.grid-container > .column-wrapper .button:hover { box-shadow: none;}
}

@media screen and (min-width: 480px) and (max-width: 1023.98px) {
  body.config main.contentsWrapper article.login section.links {
    flex-direction: row;
    margin: 0.5em 3em;
  }
  body.config .form-wrapper.textbox input:is([type=text],
  [type=number],
  [type=password]) {
    height: 2.5em;
    font-size: 18px;
  }
}