@charset "utf-8";
/* CSS Document */
body {
  background-color: #1d4763;
  background-image: url("img/bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}
h1 {
  color: cyan;
  text-align: center;
}
.intro {
  color: #000000;
  background-color: darkkhaki;
  margin: 30px;
  padding: 20px;
  border-radius: 15px;
}
form {
  width: 100%;
  margin: 0px auto;
  display: inline-block;
}
section {
  margin: 0px 5%;
  border-radius: 10px;
}
#inputform {
  margin: 0 auto;
  max-width: 600px;
  padding: 15px;
  background-color: hsla(0, 0%, 0%, 0.82);
}
.attention {
  border: double 3px #FF0509;
  background-color: hsla(359, 100%, 48%, 0.58);
  text-align: center;
  font-weight: bold;
}
.safe {
  color: #ffffff;
  border: double 3px #1401F5;
  background-color: hsla(249, 100%, 43%, 0.58);
  text-align: center;
  font-weight: bold;
}
.clear {
  color: #ffffff;
  text-align: center;
  font-size: 1.5em;
  padding: 10px;
  background-image: -webkit-linear-gradient(300deg, orange, red, pink);
  background-image: -o-linear-gradient(300deg, orange, red, pink);
  background-image: linear-gradient(120deg, orange, red, pink);
}
/* 吹き出し本体 */
.balloon1 {
  position: relative;
  padding: 20px;
  border-radius: 10px;
  color: #000000;
  background-color: #e6e500;
  margin-top: 20px;
  margin-left: 110px;
  margin-bottom: 30px;
}
/* 画像 - 絶対配置で左上に配置 */
.balloon1 .icon {
  position: absolute;
  left: -110px;
  top: 0;
}
/* 三角アイコン */
.balloon1::before {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: -14px;
  top: 20px;
  border-right: 15px solid #e6e500;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
}
/* 吹き出し本体 */
.balloon2 {
  position: relative;
  padding: 20px;
  border-radius: 10px;
  color: #000000;
  background-color: #5fc1c7;
  margin-top: 20px;
  margin-right: 110px;
  margin-bottom: 30px;
}
/* 画像 - 絶対配置で右上に配置 */
.balloon2 .icon {
  position: absolute;
  right: -110px;
  top: 0;
  op: 0;
}
/* 三角アイコン */
.balloon2::before {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  right: -15px;
  top: 20px;
  border-left: 15px solid #5fc1c7;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
}
/*タブ切り替え全体のスタイル*/
.tabs {
  margin-top: 50px;
  padding-bottom: 40px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  max-width: 700px;
  width: 100%;
  margin: 30px auto;
}
/*タブのスタイル*/
.tab_item {
  width: calc(100%/3);
  height: 50px;
  border-bottom: 3px solid #5ab4bd;
  background-color: #d9d9d9;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  color: #565656;
  display: block;
  float: left;
  font-weight: bold;
  transition: all 0.2s ease;
}
.tab_item:hover {
  opacity: 0.75;
}
/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}
/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 40px 40px 0;
  clear: both;
  overflow: hidden;
}
.tab_content img {
  max-width: 600px;
  width: 100%;
}
/*選択されているタブのコンテンツのみを表示*/
#tabred:checked ~ #tabred_content, #tabgreen:checked ~ #tabgreen_content, #tabblue:checked ~ #tabblue_content {
  display: block;
}
/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background-color: #000000;
}
.wordred {
  color: red;
}
.wordgreen {
  color: green;
}
.wordblue {
  color: blue;
}
.icon img {
  width: 84px;
  height: auto;
}
.red input, .blue input, .green input {
  width: 80%;
}
main div {
  text-align: center;
}
footer {
  color: white;
  text-align: center;
  margin-top: 30px;
  margin-bottom: 200px;
}
footer a {
  color: white;
  margin: 15px;
  padding: 20px;
  border: groove 3px hsla(191, 100%, 41%, 1.00);
  background-color: hsla(200, 100%, 15%, 0.85);
}
#link {
  color: white;
  margin: 15px auto;
  padding: 20px;
  width: 200px;
  text-align: center;
  border: groove 3px hsla(191, 100%, 41%, 1.00);
  background-color: hsla(200, 100%, 15%, 0.85);
}
#link a {
  color: white;
}
.cp_iptxt {
  position: relative;
  width: calc(100%/3 - 10px);
  margin: 30px 3px;
  display: inline-block;
}
.cp_iptxt input[type='text'] {
  font: 15px/24px sans-serif;
  box-sizing: border-box;
  width: 100%;
  letter-spacing: 1px;
  text-align: center;
  color: #ffffff;
}
.cp_iptxt input[type='text']:focus {
  outline: none;
}
.ef, .ef2, .ef3 {
  position: relative;
  padding: 7px 15px;
  border: 1px solid #D3D3D3;
  background: transparent;
}
.ef ~ .focus_bg {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  transition: 0.4s;
  background-color: transparent;
}
.ef:focus {
  border: 1px solid #da3c41;
}
.ef:focus ~ .focus_bg, .cp_iptxt.ef ~ .focus_bg {
  width: 100%;
  transition: 0.4s;
  background-color: rgba(218, 60, 65, .3);
}
.ef ~ label {
  font-size: 16px;
  position: absolute;
  top: -22px;
  left: 0px;
  width: 100%;
  transition: 0.3s;
  letter-spacing: 0.5px;
  color: #ffffff;
}
.ef:focus ~ label, .cp_iptxt.ef ~ label {
  transition: 0.3s;
  color: #da3c41;
}
.ef2 ~ .focus_bg {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  transition: 0.4s;
  background-color: transparent;
}
.ef2:focus {
  border: 1px solid #0038FF;
}
.ef2:focus ~ .focus_bg, .cp_iptxt.ef2 ~ .focus_bg {
  width: 100%;
  transition: 0.4s;
  background-color: rgba(9, 9, 168, 0.30);
}
.ef2 ~ label {
  font-size: 16px;
  position: absolute;
  top: -22px;
  left: 0px;
  width: 100%;
  transition: 0.3s;
  letter-spacing: 0.5px;
  color: #ffffff;
}
.ef2:focus ~ label, .cp_iptxt.ef2 ~ label {
  transition: 0.3s;
  color: #0038FF;
}
.ef3 ~ .focus_bg {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  transition: 0.4s;
  background-color: transparent;
}
.ef3:focus {
  border: 1px solid #05CD3F;
}
.ef3:focus ~ .focus_bg, .cp_iptxt.ef3 ~ .focus_bg {
  width: 100%;
  transition: 0.4s;
  background-color: rgba(10, 168, 8, 0.30);
}
.ef3 ~ label {
  font-size: 16px;
  position: absolute;
  top: -22px;
  left: 0px;
  width: 100%;
  transition: 0.3s;
  letter-spacing: 0.5px;
  color: #ffffff;
}
.ef3:focus ~ label, .cp_iptxt.ef3 ~ label {
  transition: 0.3s;
  color: #05CD3F;
}
.button {
  width: 100%;
  display: inline-block;
  border-radius: 5%; /* 角丸       */
  font-size: 18pt; /* 文字サイズ */
  text-align: center; /* 文字位置   */
  cursor: pointer; /* カーソル   */
  padding: 12px 52px; /* 余白       */
  background: #00007f; /* 背景色     */
  color: #ffffff; /* 文字色     */
  line-height: 1em; /* 1行の高さ  */
  transition: .3s; /* なめらか変化 */
  box-shadow: 7px 7px 7px #666666; /* 影の設定 */
  border: 2px solid #00007f; /* 枠の指定 */
}
.button:hover {
  box-shadow: none; /* カーソル時の影消去 */
  color: #00007f; /* 背景色     */
  background: #ffffff; /* 文字色     */
}
.flash, .flash:hover {
  color: red;
  background-color: #150C15;
  border-color: mediumvioletred;
  animation: blink 3s infinite alternate;
}
@keyframes blink {
  40% {
    opacity: .85;
  }
  42% {
    opacity: .4;
  }
  43% {
    opacity: .85;
  }
  45% {
    opacity: .4;
  }
  46% {
    opacity: .85;
  }
}
h2 {
  color: aquamarine;
}
.panel {
  border: 1px solid #acac;
  border-left: none;
  border-right: none;
  background-color: white;
  padding: 10px 20px;
  display: none;
}
.box {
  background-color: #eee;
  width: 80%;
  border: 1px solid #acac;
  margin: 0px auto;
}
.btn {
  display: block;
  width: 100%;
  padding: 20px;
  border: 0;
  color: #000000;
  background: linear-gradient(#ffffff 0%, #ababab 100%);
  font-size: 1.5ex;
  outline: none;
  cursor: pointer;
  text-align: left;
}
.fas {
  float: right;
}
.h_red {
  color: #000000;
  background: linear-gradient(#ffe8eb 0%, #ff4d5e 100%);
}
.h_green {
  color: #000000;
  background: linear-gradient(#a1ffb4 0%, #016920 100%);
}
.h_blue {
  color: #000000;
  background: linear-gradient(#bdd1ff 0%, #554dff 100%);
}
.h_gray {
  color: #000000;
  background: linear-gradient(#ffffff 0%, #666666 100%);
}
p.normal {
  background-color: #ffffff;
  border-radius: 10px;
  padding: 10px;
  width: 80%;
  margin: 5px auto;
}
#hintpage ul {
  width: 90%;
  margin: 10px auto;
  padding: 0;
  position: relative;
}
#hintpage li {
  line-height: 1.5;
  list-style-type: none !important;
  background: -webkit-linear-gradient(top, skyblue 0%, #5aade6 100%); /*グラデーション*/
  background: linear-gradient(to bottom, skyblue 0%, #5aade6 100%); /*グラデーション*/
  color: #fff;
}
#hintpage a {
  color: midnightblue;
	text-decoration: none;
	display: block;
	  padding: 1em 1em 1em 1.7em;
}
#hintpage ul li:before {
  position: absolute;
  left: 0.5em;
}