﻿/* レイアウト枠 */
#wrap {
  max-width: 1000px;
  margin: 0 auto;
}
/* ----- Type ----- */
body {
  margin: 0;
  padding: 0;
}
a {
  text-decoration: none;
}
h2 {
  font-family: HiraKakuProN-W6;
  font-size: 1.3rem;
  color: #fff;
  text-shadow: rgba(0, 0, 0, 0.6) 0 -1px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
h3 {
  font-family: HiraKakuProN-W6;
  font-size: 1.3rem;
  color: #333;
  text-shadow: rgba(0, 0, 0, 0.6) 0 -1px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
h4 {
  font-family: HiraKakuProN-W6;
  font-size: 1.4rem;
  line-height: 2.6rem;
  font-weight: bold;
}
h5 {
  font-family: HiraKakuProN-W6;
  font-size: 1.2rem;
  line-height: 2rem;
  font-weight: bold;
  text-indent: 1rem;
}
section:not(.display) {
  display: none;
}
p {
  line-height: 2rem;
}
img {
  max-width: 100%;
  height: auto;
  margin: 10px auto;
}
/* ----- ヘッダー ----- */
#head {
  text-align: center;
  margin: 26px auto 15px auto;
}
#head a {
  color: #000000;
}
#head a:hover {
  color: #3333ff;
  text-decoration: underline;
}
.z10 {
  position: relative;
  z-index: 10;
}
.z20 {
  height: 4px;
  width: 100%;
  max-width: 100%;
  background: -moz-linear-gradient(left, #db5a6e, #3333ff);
  background: -webkit-linear-gradient(left, #db5a6e, #3333ff);
  background: linear-gradient(to right, #db5a6e, #3333ff);
  position: absolute;
  top: 45px;
  z-index: 20;
}
.z30 {
  position: relative;
  z-index: 30;
}
.name {
  color: #dc2543;
}
.right_menu {
  font-size: 0.9rem;
  text-align: right;
  margin: 0 5px;
}
.right_menu ul {
  list-style-type: none;
}
.right_menu ul li {
  display: inline-block;
  border-left: #1e94a0 solid 2px;
  padding: 0 10px;
  vertical-align: middle;
  line-height: 20px;
}
.right_menu ul li:last-child {
  border-right: #1e94a0 solid 2px;
}
/* ----- コンテナー ----- */
.container {
  display: flex; /* Flexboxコンテナにする */
  flex-wrap: wrap; /* 必要に応じて折り返す */
  justify-content: space-between; /* 要素間のスペースを均等に分配 */
  padding: 0;
}
.four_col {
  flex: 1 1 25%; /* flex-grow, flex-shrink, flex-basis */
  box-sizing: border-box; /* paddingとborderをwidthに含める */
  padding: 10px;
  text-align: center;
}
.three_col {
  flex: 1 1 33%; /* flex-grow, flex-shrink, flex-basis */
  box-sizing: border-box; /* paddingとborderをwidthに含める */
  padding: 10px;
}
.two_col {
  flex: 1 1 50%; /* flex-grow, flex-shrink, flex-basis */
  box-sizing: border-box; /* paddingとborderをwidthに含める */
  padding: 10px;
}
/* 小さい画面での調整 (例: 320px以下) */
@media (max-width: 600px) {
  .four_col .two_col .three_col{
    flex-basis: 100%; /* 1カラムにする */
  }
  .tobira_index h1 {
    font-size: 0.8rem; /* 小さな画面ではフォントサイズを調整 */
  }
}
/* ----- INDEX とびら ----- */
.tobira_index {
  /* 背景画像の設定 */
  background-image: url('../material/tobira_index.webp');
  background-size: cover; /* コンテナに合わせて画像を拡大・縮小 */
  background-position: center; /* 画像を中央に配置 */
  background-repeat: no-repeat; /* 画像の繰り返しを防止 */
  /* レスポンシブ対応の高さ */
  height: 400px;
  /* テキストを中央に配置するためのFlexbox */
  display: flex;
  justify-content: center; /* 水平方向の中央揃え */
  align-items: flex-end; /* 垂直方向の中央揃え */
  /* テキストとの重なり */
  position: relative; /* 子要素の配置基準に */
  text-align: center; /* 古いブラウザ向け */
}
/* テキストのスタイル */
.tobira_index h1 {
  text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.8); /* 読みやすくするための影 */
  font-size: 1rem; /* テキストサイズ */
  padding: 1rem;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 20px;
  line-height: 1.3rem;
}
/* ----- CLASS ----- */
.read1 {
  margin-top: 1rem;
  font-size: 1.9rem;
  color: #004e6d;
  font-weight: bold;
  text-align: center;
  line-height: 2rem;
  letter-spacing: 0.5rem;
}
.read2 {
  margin-top: 0.5rem;
  margin-bottom: 2rem;
  color: #004e6d;
  font-weight: bold;
  text-align: center;
  line-height: 1.5rem;
}
.index_banner {
  text-align: center;
  margin: 0 0 6 0;
}
.Menu {
  height: 38px;
  padding: 10px 8px 0;
  margin-top: 2px;
  /*border-top: 1px solid #cdd5df;*/
  border-bottom: 1px solid #2f4f4f;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#0022aa), to(#9999cc));
  background-color: #0022aa;
  text-shadow: 2px 2px 1px #000099;
}
.subMenu {
  height: 38px;
  padding: 10px 8px 0;
  margin-top: 2px;
  /*border-top: 1px solid #cdd5df;*/
  border-bottom: 1px solid #2f4f4f;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#eeffff), to(#daffff));
  background-color: #daffff;
  text-shadow: 2px 2px 1px #ffffff;
}
.vBorder {
  border: solid 1px #001472;
  border-radius: 15px;
  margin-bottom: 10px;
}
.arrow {
  float: right;
  text-shadow: 1px 1px 1px #ffccff;
  font-size: 0.8rem;
}
.btnDown {
  width: 80%;
  border-radius: 15px;
  background: -webkit-gradient(linear, left top, left bottom, from(#5AB9E4), to(#daffff)) #5AB9E4;
  text-align: center;
  margin: 20px auto 0 auto;
  padding: 7px 0;
}
.white {
  color: #fff;
}
.lv2 {
  margin-left: 2rem;
}
.lv3 {
  margin-left: 3rem;
}
.mt15 {
  margin-top: 15px;
}
.mb10 {
  margin-bottom: 10px;
}
.mb10p10 {
  margin-bottom: 10px;
  padding: 10px;
}
.mb10p10 p {
  padding: 0;
  margin: 0;
  line-height: 1.7rem;
}
.indent1rem p {
  text-indent: 1rem;
}
.clear {
  clear: both;
}
.clear hr {
  display: none;
}
/* ----- トピックス ----- */
.topix {
  text-align: center;
  margin-top: 2rem;
}
.topix_line {
  height: 2px;
  background: -webkit-linear-gradient(left, #db5a6e, #db5a6e 20%, #4571da 50%, #db5a6e 80%, #db5a6e);
  background: -o-linear-gradient(left, #db5a6e, #db5a6e 20%, #4571da 50%, #db5a6e 80%, #db5a6e);
  background: linear-gradient(to right, #db5a6e, #db5a6e 20%, #4571da 50%, #db5a6e 80%, #db5a6e);
}
.topix_title {
  text-align: center;
  font-size: 1.3rem;
  color: #004e6d;
  margin: 1rem 0;
}
.topix_title > p {
  padding: 0;
  margin: 0;
}
.topix_bun {
  font-size: 0.9rem;
  line-height: 0.9rem;
  padding: 10px;
  border: solid #4571da 1px;
  border-radius: 10px;
  color: #333333;
}
.topix_bun > p {
  padding: 0;
  margin: 0;
}
/* ----- voice ----- */
.vUnder {
  display: inline-block;
  background: -moz-linear-gradient(top, #ffffff 60%, rgba(0,166,13,0.40));
  background: -webkit-linear-gradient(top, #ffffff 60%, rgba(0,166,13,0.40));
  background: linear-gradient(to bottom, #ffffff 60%, rgba(0,166,13,0.40));
}
/* ----- CLASS(メールフォーム) ----- */
.toiawase_form {
  font-size: 1.2rem;
  color: #ffffff;
  text-align: center;
  background: -moz-linear-gradient(left, #bf5b23, #e18b5c 30%, #e18b5c 70%, #bf5b23);
  background: -webkit-linear-gradient(left, #bf5b23, #e18b5c 30%, #e18b5c 60%, #bf5b23);
  background: linear-gradient(to right, #bf5b23, #e18b5c 30%, #e18b5c 70%, #bf5b23);
  margin: 1rem;
  padding: 0.5rem;
}
.form {
  position: relative;
  border-top: solid 4px #e18b5c;
  border-right: solid 4px #e18b5c;
  border-left: solid 4px #e18b5c;
  margin: 20px 0 0 0;
  padding: 15px;
}
.open_form {
  font-size: 0.8rem;
  text-align: center;
  background: -moz-linear-gradient(left, #e18b5c, #ffffff 40%, #ffffff 60%, #e18b5c);
  background: -webkit-linear-gradient(left, #e18b5c, #ffffff 40%, #ffffff 50%, #e18b5c);
  background: linear-gradient(to right, #e18b5c, #ffffff 40%, #ffffff 60%, #e18b5c);
  margin: 0;
  padding: 0.4rem 0;
  border-right: solid 4px #e18b5c;
  border-bottom: solid 4px #e18b5c;
  border-left: solid 4px #e18b5c;
}
.form_kiji {
  border-right: solid 4px #e18b5c;
  border-bottom: solid 4px #e18b5c;
  border-left: solid 4px #e18b5c;
  margin: 0;
  padding: 20px;
}
.kinyurei {
  font-size: 70%;
  color: #000066;
}
.formBox {
  margin: 0 auto 10px 10px;
  width: 90%;
  background-color: #eeeeee;
}
.send {
  font-size: 130%;
  text-align: center;
  background-color: #ffecf5;
  padding: 15px;
  margin-bottom: 30px;
}
#form {
  border-collapse: collapse;
  margin: 1rem auto;
}
#form th, #form td {
  border: 1px solid #666;
  padding: 8px;
}
#form th {
  white-space: nowrap;
  background: #e8e8e8;
}
#form td {
  background: #fff;
}
/* ----- メールフォームCGI内 ----- */
.msg {
  color: #ff6965;
}
/* ----- プライバシーポリシー ----- */
.lv1 {
  font-size: 1.2rem;
  color: #009900;
  margin-top: 10px;
}
/* ----- copyright ----- */
.footer_line {
  height: 4px;
  width: 100%;
  max-width: 100%;
  background: -moz-linear-gradient(left, #db5a6e, #3333ff);
  background: -webkit-linear-gradient(left, #db5a6e, #3333ff);
  background: linear-gradient(to right, #db5a6e, #3333ff);
}
.copy {
  font-size: 0.8rem;
  text-align: center;
  /*padding-bottom: 20px;*/
  padding-top: 10px;
}
/* ----- レジスター表示 ----- */
#register {
  font-size: 0.7rem;
  color: #666666;
  font-style: italic;
  line-height: 0.9rem;
  margin-top: 2rem;
}
/* ----- サイトトップへボタン ----- */
.btnTop {
  width: 7rem;
  font-size: 0.8rem;
  font-weight: bold;
  text-align: center;
  margin: 10px;
  float: right;
}
.btnTop a {
  border-radius: 10px;
  display: block;
  color: #fff;
  padding: 10px 0;
  background-color: #1e94a0;
}
/* ----- ページトップへボタン ----- */
.ToTop {
  width: 7rem;
  font-size: 0.8rem;
  font-weight: bold;
  text-align: center;
  position: fixed;
  right: 0px;
  bottom: 0px;
  float: right;
  z-index: 1000;
}
.ToTop a {
  border-radius: 10px;
  display: block;
  color: #fff;
  padding: 10px 0;
  margin: 5px;
  background-color: #563be0;
}
.ToTop a:hover {
  background: #563be0;
  color: #fff;
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  opacity: 0.5;
}