body {
font-size: 1.4rem;
font-family: 'Quicksand', sans-serif, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro";
background-color: white;
}

a {
color: #33aaaa;
}

div {
font-size: 16px;
}

h1 {
font-size: 24px;
}

h2 {
font-size: 24px;
}

h3 {
font-size: 16px;
}

li {
font-size: 16px;
}

div.header {
color: #ffffff;
font-weight: bold;
background-color: #cd2b5a;
width: 103%;
margin-left: -8px;
margin-top: -8px;
margin-bottom: 10px;
}

div.header2 {
color: #ffffff;
font-weight: bold;
background-color: #cd2b5a;
width: 99.5%;
margin: 5px;
padding: 1px;
}

div.header3 {
color: #cd2b5a;
font-weight: bold;
border-color: #cd2b5a;
border-width: 1px;
border-style: solid;
width: 99.5%;
margin: 5px;
font-size:16px;
}

div.header3black {
font-weight: bold;
border-width: 1px;
border-style: solid;
font-size:16px;
}

div.vis_sample {
font-weight: normal;
border-width: 1px;
border-style: solid;
font-size:1.8rem;
border-color: black;
padding:5px;
padding-left:15px;
}

div.margin-text {
margin-left:2vw;
}

textarea {
width:85vw;
font-size:20px;
padding:10px;
}

#data_container {
margin: 5px;
padding:7px;
overflow-x: wrap;
overflow-y: wrap;
}

#data_edit {
font-size: 1.8rem;
white-space: pre nowrap;
width:88vw;
overflow-wrap:break-word;
}



.btn-square {
  display: inline-block;
  width:80vw;
  padding: 0.5em 1em;
  text-decoration: none;
  background: #cd2b5a;
  color: #FFF;
  border-bottom: solid 4px #cd2b5a;
  border-radius: 3px;
  font-size:2.1rem;
}
.btn-square:active {
  background: #dddddd;
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
  border-bottom: none;
  margin-bottom: 4px;
}

input[type="submit"] {
-webkit-appearance: none;
}
input[type="button"] {
-webkit-appearance: none;
}

input[type="range"] {
position:relative;
animation-name: fadein;
animation-duration: 400ms;
animation-timing-function: ease;
}

span {
position:relative;
animation-name: fadein;
animation-duration: 400ms;
animation-timing-function: ease;
}

@keyframes fadein {
	from {
		opacity:0;
		top: 5px;
		position: relative;
	}
	to {
		opacity:1;
		top: 0px;
	}
}

img {
position:relative;
animation-name: fadein_only;
animation-duration: 500ms;
animation-timing-function: ease;
}

@keyframes fadein_only {
	from {
		opacity:0;
		position: relative;
	}
	to {
		opacity:1;
	}
}




.data_edit {
font-size: 1.8rem;
white-space: pre nowrap;
width:100%;
overflow-wrap: break-word;
margin-block-start: 0px;
margin-block-end: 0px;
}

.data_edit div {
font-size: 1.8rem;
white-space: pre nowrap;
width:100%;
overflow-wrap: break-word;
}

#optionsMenu dt{
cursor:pointer;
}
#optionsMenu dd{
display:none;
}
#acMenu dt{
cursor:pointer;
}
#acMenu dd{
display:none;
}

#b_load{
font-size: 1.5em; color: #444444; background-color:white; margin-bottom:15px; border-color: #444444; width:70vw; margin-right:1vw; font-family: Quicksand;
}

#b_load_cur{
font-size: 1.5em; color: #33aaaa; background-color:white; margin-bottom:15px; border-color: #33aaaa; width:70vw; margin-right:1vw; font-family: Quicksand;
}

#load_desc{
font-size: 15px; width:70vw;
}

#load_desc_cur{
font-size: 15px; width:70vw; color: #33aaaa;
}




input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  outline: none;
  height: 16px;
  width: 70%;
  background: white;
  border-radius: 10px;
  border: solid 3px #dff1ff;
  margin: 10px;
  pointer-events: none;
}
/* WebKit向けのつまみ */
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  background: #dd0044;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15); 
  margin: 10px;
  pointer-events: auto;
}
/* Moz向けのつまみ */
input[type="range"]::-moz-range-thumb {
  background: #dd0044;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
  border: none;
  margin: 10px;
  pointer-events: auto;
}
/* Firefoxで点線が周りに表示されてしまう問題の解消 */
input[type="range"]::-moz-focus-outer {
  border: 0;
}
input[type="range"]:active::-webkit-slider-thumb {
  box-shadow: 0px 5px 10px -2px rgba(0, 0, 0, 0.3);
}



.radio-inline__input {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
}

.radio-inline__label {
    display: inline-block;
    padding: 6px 4px;
    border-radius: 3px;
    transition: all .2s;
    font-size:min(24px,5vw);
    
}

.radio-inline__input:checked + .radio-inline__label {
    background: #2D509E;
    color: #fff;
    text-shadow: 0 0 1px rgba(0,0,0,.7);
}

.radio-inline__input:focus + .radio-inline__label {
    outline-color: #2D509E;
    outline-offset: -2px;
    outline-style: auto;
    outline-width: 5px;
}

.radiocaptions {
    font-size:min(16px,3vw);
}




.balloon {
  position: relative;
  display: inline-block;
  margin: 0.5em 15px 0.5em 0;
  padding: 0 5px;
  width: 60px;
  height: 60px;
  line-height: 64px;
  text-align: center;
  color: #FFF;
  font-size: 16px;
  font-weight: bold;
  background: #a58eff;
  border-radius: 50%;
  box-sizing: border-box;
  cursor: pointer;
  text-overflow: clip;
  overflow: hidden;
  white-space: nowrap;
}

p.fontselector {
text-overflow: clip;
overflow: hidden;
white-space: nowrap;
display: inline-block;
text-align: center;
font-weight: normal;
margin: 2px;
width: 32vw;
height: 28px;
border-width: 1px;
border-style: solid;
font-size:16px;
color: white;
background-color: #2d509e;
border-color: #2d509e;
padding:11px;
border-radius: 24px;
cursor: pointer;
}


 /* === ボタンを表示するエリア ============================== */
.switchArea {
  line-height    : 36px;                /* 1行の高さ          */
  letter-spacing : 0;                   /* 文字間             */
  text-align     : center;              /* 文字位置は中央     */
  font-size      : 16px;                /* 文字サイズ         */

  position       : relative;            /* 親要素が基点       */
  margin         : auto;                /* 中央寄せ           */
  width          : 130px;               /* ボタンの横幅       */
  background     : #ffffff;             /* デフォルト背景色   */
  cursor: pointer;
}

 /* === チェックボックス ==================================== */
.switchArea input[type="checkbox"] {
  display        : none;            /* チェックボックス非表示 */
}

 /* === チェックボックスのラベル（標準） ==================== */
.switchArea label {
  display        : block;               /* ボックス要素に変更 */
  box-sizing     : border-box;          /* 枠線を含んだサイズ */
  height         : 40px;                /* ボタンの高さ       */
  border         : 2px solid #666666;   /* 未選択タブのの枠線 */
  border-radius  : 30px;                /* 角丸               */
}

 /* === チェックボックスのラベル（ONのとき） ================ */
.switchArea input[type="checkbox"]:checked +label {
  border-color   : #cd2b5a;             /* 選択タブの枠線     */
}

 /* === 表示する文字（標準） ================================ */
.switchArea label span:after{
  content        : "OFF";               /* 表示する文字       */
  padding        : 0 0 0 24px;          /* 表示する位置       */
  color          : #666666;             /* 文字色             */
}

 /* === 表示する文字（ONのとき） ============================ */
.switchArea  input[type="checkbox"]:checked + label span:after{
  content        : "ON";                /* 表示する文字       */
  padding        : 0 24px 0 0;          /* 表示する位置       */
  color          : #cd2b5a;             /* 文字色             */
}

 /* === 丸部分のSTYLE（標準） =============================== */
.switchArea #swImg {
  position       : absolute;            /* 親要素からの相対位置*/
  width          : 32px;                /* 丸の横幅           */
  height         : 32px;                /* 丸の高さ           */
  background     : #666666;             /* カーソルタブの背景 */
  top            : 4px;                 /* 親要素からの位置   */
  left           : 4px;                 /* 親要素からの位置   */
  border-radius  : 26px;                /* 角丸               */
  transition     : .2s;                 /* 滑らか変化         */
}

 /* === 丸部分のSTYLE（ONのとき） =========================== */
.switchArea input[type="checkbox"]:checked ~ #swImg {
  transform      : translateX(90px);    /* 丸も右へ移動       */
  background     : #cd2b5a;             /* カーソルタブの背景 */
}



#menu_images {
    outline: 0px;
    outline-color: white;
    outline-offset: 0px;
    text-shadow: none;
    transition: all 0.4s cubic-bezier(0.2, 1, 0.2, 1);
}

#menu_images:hover {
    border-color: #FFF;
    outline: 1px solid;
    box-shadow: inset 0 0 20px 
    rgba(255, 255, 255, 0.5), 0 0 20px 
    rgba(255, 255, 255, 0.2);
    outline-color: transparent;
    outline-offset: 12px;
    text-shadow: 2px 2px 3px #000;
    cursor: pointer;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

#menu_images_icon {
    transition: all 0.4s cubic-bezier(0.2, 1, 0.2, 1);
}

#menu_images_icon:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

.balloon img {
    outline: 0px;
    outline-color: white;
    outline-offset: 0px;
    text-shadow: none;
    transition: all 0.4s cubic-bezier(0.2, 1, 0.2, 1);
}

.balloon img:hover {
    cursor: pointer;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

/* reading mode */

.roundmenu{
	position:fixed;
	bottom:30px;
	right:30px;
	z-index: 100;
}
.roundmenu a{
	display: table-cell;
	vertical-align: middle;
	color: #bbbbbb;
	text-decoration: none;
	text-align: center;  
}
p.roundmenu {
display: inline-block;
text-align: center;
font-weight: normal;
margin: 7px;
width: 148px;
height: 24px;
border-width: 1px;
border-style: solid;
font-size:16px;
color: white;
border-color: #bbbbbb;
padding:5px;
padding-left:15px;
border-radius: 30px;
}

/* flex boxes */
.flex_box_left {
display: -webkit-flex;
display:flex;
-webkit-justify-content: left;
justify-content: left;
-webkit-align-items: left;
align-items: left;
flex-wrap: wrap;
}

.flex_box_center {
display: -webkit-flex;
display:flex;
-webkit-justify-content: center;
justify-content: center;
-webkit-align-items: center;
align-items: center;
flex-wrap: wrap;
}

.flex_box_right {
display: -webkit-flex;
display:flex;
-webkit-justify-content: right;
justify-content: right;
-webkit-align-items: right;
align-items: right;
flex-wrap: wrap;
}