body {
  position: relative;
  margin: 0 0 8px 0;
}

.header {
  padding: 0 15px;
  background: #eee;
  border-bottom: 2px solid #666;
}

.header > div {
  display: inline-block;
  margin: 5px;
}

.header h1 {
  cursor: pointer;
}

.header form {
  display: inline-block;
}

.tier_title {
  border: none;
  font-size: 3em;
}

.table_bottom {
  height: 200px;
}

.unique {
  font-size: 20px;
}

table {
  margin: 5px;
}

.list, .yetlist {
  border-collapse: collapse;
}

.list tr.selected {
  background: #88f;
}

th {
  text-align: center;
}

.list th {
  font-size: 24px;
}

th, td {
  padding: 0;
  min-height: 80px;
  white-space: nowrap;
}

.list td > input[type=checkbox] {
  cursor: pointer;
}

td > form {
  margin: 4px;
  border: 1px solid #000; /******************** 編集ページのみ、閲覧ページはmargin: 5px; ********************/
}

.rtitle {
  position: relative;
  min-width: 80px;
  height: 92px;
  background: #fff;
  cursor: pointer;
}

.songbase {
  min-width: 80px;
}

.song {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
  background: #fff;
  cursor: pointer;
}

.basic {
  background: linear-gradient(#21921a, #60ce23);
}

.advanced {
  background: linear-gradient(#f1a600, #f1d300);
}

.expert {
  background: linear-gradient(#f42087, #f36bb4);
}

.master {
  background: linear-gradient(#853ac1, #b46bd6);
}

.lunatic {
  background: linear-gradient(#aaaaaa, #eeeeee);
}

.song .disp {
  position: absolute;
  margin: 3px;
  border: 1px solid #fff;
  width: 72px;
  height: 72px;
  border-radius: 10px;
  white-space: initial;
  background: #fff;
}

.song .jacket {
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.song .title {
  position: relative;
  height: 100%;
  width: 100%;
  overflow: hidden;
}
.title div {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  height: fit-content;
  width: fit-content;
  margin: auto;
  font-family: sans-serif;
  font-size: 12px;
  line-height: 14px;
  word-break: break-word;
}

.disp_jacket .song .title {
  display: none;
}

.disp_title .song .jacket {
  display: none;
}

.yet {
  position: fixed;
  bottom: 0;
  width: 100%;
  height: fit-content;
  background: #fff;
  border-top: 2px solid #666;
  text-align: center;
  z-index: 4;
}

.yetcaption {
  margin-top: 5px;
}

.yetbase {
  overflow-x: auto;
}

.yetlist {
  overflow-x: auto;
  zoom: 0.5;
}

.buttons {
  position: relative;
  text-align: center;
  margin: 5px 0;
}

.buttons input {
  display: inline-block;
}

.yetfilter {
  left: 0;
  right: 0;
  width: fit-content;
  margin: 0 auto;
  background: white;
}

.yetfilter table {
  border-collapse: collapse;
}

.yetfilter table tr {
  border: 1px solid #000;
}

.yetfilter table td,
.yetfilter table th
{
  padding: 5px;
}

.yetfilter label {
  display: inline-block;
  line-height: 1.2em;
  padding: .2em;
  margin: .2em 0;
  border: 1px solid #000;
  border-radius: 2px;
  background: #eef;
  cursor: pointer;
  user-select: none;
}

.yetfilter input:checked + label {
  background: lightgreen;
}

.yethide {
  height: fit-content;
  background: #fff;
  border-top: 2px solid #666;
  visibility: hidden;
}

.modalback {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #0008;
  z-index: 4;
}

.modal {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: fit-content;
  height: fit-content;
  margin: auto;
  padding: 5px;
  border: 3px solid #000;
  border-radius: 10px;
  background: #fff;
}

.modal_rtitle {
  text-align: center;
}

.modal_rtitle table {
  left: 0;
  right: 0;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.modal_rtitle td input[type=range] {
  width: 200px;
}

.modal_rtitle td input[type=text] {
  width: 80px;
}

.rtitlebase .rtitle
{
  border: 1px solid #000;
}

.nodisp {
  display: none;
}
  
.f_1	{ font-size: 1px; }
.f_2	{ font-size: 2px; }
.f_3	{ font-size: 3px; }
.f_4	{ font-size: 4px; }
.f_5	{ font-size: 5px; }
.f_6	{ font-size: 6px; }
.f_7	{ font-size: 7px; }
.f_8	{ font-size: 8px; }
.f_9	{ font-size: 9px; }
.f_10	{ font-size: 10px; }
.f_11	{ font-size: 11px; }
.f_12	{ font-size: 12px; }
.f_13	{ font-size: 13px; }
.f_14	{ font-size: 14px; }
.f_15	{ font-size: 15px; }
.f_16	{ font-size: 16px; }
.f_17	{ font-size: 17px; }
.f_18	{ font-size: 18px; }
.f_19	{ font-size: 19px; }
.f_20	{ font-size: 20px; }
.f_21	{ font-size: 21px; }
.f_22	{ font-size: 22px; }
.f_23	{ font-size: 23px; }
.f_24	{ font-size: 24px; }
.f_25	{ font-size: 25px; }
.f_26	{ font-size: 26px; }
.f_27	{ font-size: 27px; }
.f_28	{ font-size: 28px; }
.f_29	{ font-size: 29px; }
.f_30	{ font-size: 30px; }
.f_31	{ font-size: 31px; }
.f_32	{ font-size: 32px; }
.f_33	{ font-size: 33px; }
.f_34	{ font-size: 34px; }
.f_35	{ font-size: 35px; }
.f_36	{ font-size: 36px; }
.f_37	{ font-size: 37px; }
.f_38	{ font-size: 38px; }
.f_39	{ font-size: 39px; }
.f_40	{ font-size: 40px; }
.f_41	{ font-size: 41px; }
.f_42	{ font-size: 42px; }
.f_43	{ font-size: 43px; }
.f_44	{ font-size: 44px; }
.f_45	{ font-size: 45px; }
.f_46	{ font-size: 46px; }
.f_47	{ font-size: 47px; }
.f_48	{ font-size: 48px; }
.f_49	{ font-size: 49px; }
.f_50	{ font-size: 50px; }
.f_51	{ font-size: 51px; }
.f_52	{ font-size: 52px; }
.f_53	{ font-size: 53px; }
.f_54	{ font-size: 54px; }
.f_55	{ font-size: 55px; }
.f_56	{ font-size: 56px; }
.f_57	{ font-size: 57px; }
.f_58	{ font-size: 58px; }
.f_59	{ font-size: 59px; }
.f_60	{ font-size: 60px; }