@charset "utf-8";

:root{
  --base-color:#00bfff;
  --panel-color:#f0f8ff;
  --btn-rev-color:#00bfff;
  --btn-color:#0379b8;
  --hl-color:#ffdd57;
  --menu-color:#13293d;
  --menu-color:#5a7a9a;
}

/* ボディ部 */
body {
  margin: 0;
  padding: 0;
  height: 100%;
  /* overflow: hidden; */
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Yu Gothic", "游ゴシック", "Meiryo", "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", "Noto Sans JP", "MS Gothic", "ＭＳ ゴシック",   Arial, Helvetica, sans-serif;

  background-image: url("../img/frame3.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  /* background-color: var(--base-color); */
  /* background-color:rgba(255,255,255,0.5); */
  /* background-color:rgba(0,0,255,0.5);  */
  /* background-blend-mode:lighten; */
}

/* ヘッダー部 */
header {
  width: 100%;
  height:50px;
  top: 0;
  position: fixed;  
  padding: 10px 0px 10px 0px;
  display:flex;
  justify-content: space-between;
  align-items: flex-start;
  
  background-color: var(--base-color);
  /* border-radius: 0px 0px 20px 20px; */
  color: white;
  z-index: 100;
}

#header_left {
  width: 50px;
  height:100%;
  text-align: left;
}

#header_center {
  font-size: 2.5em;
  /* font-family: "メイリオ", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; */
  white-space: nowrap;
  text-align: center;
  flex-grow: 1;
  flex-basis: 50%;
  height:100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

#header_right {
  width: 50px;
  height:100%;
  text-align: right;
}

/* フッター部 */
footer {
  width: 100%;
  /* height: 25px; */
  height: 45px;
  bottom: 0;
  /* padding: 10px 0px 10px 0px; */
  position: fixed;

  text-align: center;

  background-color: white;
  color:white;
  z-index:128;

  /* border-radius: 20px 20px 0px 0px; */
}

textarea {
  resize: none;
  width: calc(100% - 6px);
}


/* メイン部 */
main {
  width: 100%;
  /* height: 100%; */
  display: flex;
  justify-content: center;

  margin-top:75px;
  margin-bottom:45px;
}

.content {
  min-width: 320px;
  max-width: 1000px;
  min-height: 250px;
  /* max-height: 650px; */
  /* border: 2px solid black;
  border-radius: 5px;
  box-shadow: 2px 2px 1px 1px gray; */
  align-items: center;
  /* background-color:rgba(255,255,255,0.7); */
  background-blend-mode:lighten;
  text-align: center;
  padding: 16px;
  align-items: initial;text-align: initial;align-content: initial;max-width:none;    width: 100%;
}

/*　テキストボックス（共通） */
.textbox {
  width: 250px;
  height: 25px;
  margin: 5px;

  font-size: 1em;
}

#targetText {
  height:150px;
  font-size: 14px;
  overflow:auto;
  /* border:1px solid black; */
  background-color:white;
  text-align:left;
  white-space:pre-wrap;
}

/* ボタン（共通） */
.btn {
  min-width: 250px;
  height: 40px;

  display: inline-block;
  border-radius: 20px;
  text-align: center;
  cursor: pointer;
  color: var(--panel-color);
  background: var(--btn-color);
  transition: .3s;
  border: 2px solid white;

  /* font-family :Arial; */
  font-size :13.3333px;
}

.btn_short {
  min-width: 120px;
  height: 40px;

  display: inline-block;
  border-radius: 20px;
  text-align: center;
  cursor: pointer;
  color: black;
  background: white;
  transition: .3s;
  border: 1px solid black;  
}

.btn_short_none {
  pointer-events: none;
  cursor: default;
  background-color: #c0c0c0;
  color: #909090;
  border-color: #909090;
}

.btn:hover {
  color: var(--panel-color);
  background: var(--btn-rev-color);
}

.btn_logout {
  width: auto;
  height: auto;
  min-width: auto;
  padding: 0 10px 0 10px;

  border-radius: 0;
}

.btn_control {
  display: flex;
  justify-content: space-around;
}

.select {
  min-width: 258px;
  height: 31px;
  border-radius: 5px;
}



summary {
  cursor: pointer;
  transition: .2s;
}
summary:hover {
  cursor: pointer;
}
details[open] p {
  background-color: deepskyblue;
  padding: 10px;

  border-radius: 20px;
  box-shadow: 2px 2px 1px 1px gray;
}

details[open] p {
  animation: accordionOpen 0.5s ease;
}
details[close] p {
  animation: accordionClose 0.5s ease;
}

@keyframes accordionOpen {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes accordionClose {
  0% {
    opacity: 1;
    transform: none;    
  }
  100% {
    opacity: 0;
    transform: translateY(-10px);
  }
}

.font-error {
  text-align: center;
  color: red;
}

.fade .animation-bg {
  background: deepskyblue;
  content: "";
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  animation-name: PageAnime-fade;
  animation-duration: 0.3s;
  animation-delay: 0.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  pointer-events: none;
}
 
@keyframes PageAnime-fade {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    display: none;
  }
}

.input_area {
  width: 1000px;
}

.align-right {
  text-align: right;
}

.align-left {
  text-align: left;
}

.grid-prop {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  grid-template-rows: repeat(5, minmax(20px, 50px));
  justify-content: center;
  align-items: center;
}

.checkbox_pointer {
  cursor: pointer;
}

.border-wrapper {
  overflow: hidden;
  border: 1px solid;
  border-radius: 5px;
}

.error-input {
  border: 1px solid red;
  background: #ffe5e5;
}

.error-msg {
  display: block;
  font-size: 14px;
  color: red;
}