﻿@charset "UTF-8";
/*----ページ全体の設定---- */
html {
  font-size: 62.5%; /*フォントの初期値を10pxにする*/
}
body {
  padding: 0;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  font-family: "ＭＳ Ｐゴシック",sans-serif;
  color: #000;
  background: #fff;
  height: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
/*----表示領域のレイアウト---- */
#wrapper {
  width: 100%;
  margin-left:auto;    /* 左側マージンを自動的に空ける */
  margin-right:auto;   /* 右側マージンを自動的に空ける */
  text-align:left;     /* 中身を左側表示に戻す */
  font-family: "ＭＳ Ｐゴシック",sans-serif;
  background: #fff;
  min-height: 100%;
}
/*----初期設定---- */
h1 {
  font-size: 32px;
  font-size: 3.2rem;
  font-family: "ＭＳ Ｐゴシック",sans-serif;
  font-weight: normal;
}
h2 {
  font-size: 28px;
  font-size: 2.8rem;
  font-family: "ＭＳ Ｐゴシック",sans-serif;
  font-weight: normal;
  line-height: 1.5em;
}
h3 {
  font-size: 24px;
  font-size: 2.0rem;
  font-family: "ＭＳ Ｐゴシック",sans-serif;
  font-weight: normal;
  line-height: 1.5em;
}
h4 {
  font-size: 18px;
  font-size: 1.8rem;
  font-family: "ＭＳ Ｐゴシック",sans-serif;
  font-weight: normal;
  line-height: 1.5em;
}
h5 {
  font-size: 17px;
  font-size: 1.7rem;
  font-family: "ＭＳ Ｐゴシック",sans-serif;
  font-weight: normal;
  line-height: 1.5em;
}
p {
  font-size: 16px;
  font-size: 1.6rem;
  font-family: "ＭＳ Ｐゴシック",sans-serif;
  line-height: 1.5em;
  text-align: justify;
  margin-left: 0;
}
.REDtext {
  font-size: 18px;
  font-weight: bold;
  color: #FF0004;
}
.caption {
  font-size: 12px;
  font-size: 1.2rem;
  font-family: "ＭＳ Ｐゴシック",sans-serif;
  line-height: 1.5em;
  margin-left: 0;
}
.h2_underline {
  font-size: 28px;
  font-size: 2.8rem;
  text-decoration: underline;
  font-family: "ＭＳ Ｐゴシック",sans-serif;
  line-height: 1.5em;
}
/*----リンクの設定---- */
a:link { 
  text-decoration:none;
  color: #36C;
}
a:visited {
  color: #09F;
}
a:hover {
  color: #09C;
}
.alpha a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}
img {
  border: 0;
}

/*----回り込みの解除---- */  
.clear {
  clear: both;
  height: 0;
}
.clear_mb {
  clear: both;
  height: 0;
}

/*----ヘッダー固定---- */
.header {
  position: fixed;
  width:100%;
  margin-left:auto; 
  margin-right:auto;
  top: 0;
  background-color: #fff;
  z-index: 100;
}

/*----メインをヘッダーの下から表示開始---- */
main {
  z-index: 0;
  position: absolute;
  width: 100%;
}
/*----トップページ以外のキービジュアル---- */
#header-img {
  position: relative;
  object-fit:contain;
  width: 100%;
  height: auto;
}

/*----文章レイアウト---- */

.text-center-gry {
  text-align: center;
  font-size: 15px;
  font-size: 1.5rem;
  color: #999;
}
.text-position {
  text-align: left;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.text-right {
  text-align: right;
}
.top-text-center {
  font-size: 22px;
  font-size: 2.2rem;
  color: #000;
  text-align: center;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.5em;
}
.brake-point {
  display: none;
}
.brake-point-2 {
  display: block;
}

/*----トップ画像の設定---- */
.main-visual-box {
  position: relative;
  width: 100%;
  height: auto;
}
.image-container img {
  position: relative;
  display: block;
  object-fit:cover;
  width: 100%;
  height: auto;
}
.overlay-text {
  position:relative;
  top: 200px;
  left: 50%;
  width: 200px;
  height: auto;
 background-color: rgba(15, 45, 125, 0.8); /* IE対応 */ 
  padding: 20px;
  font-size: 20px;
  text-align: center;
  color: #FFF;
  transform: translate(-50%, -50%);
}
.overlay-logo {
  /* 位置の調整 */
  position: absolute;
  display: block;
  object-fit:contain;
  top: 20%;
  left: 50%;
  width: 70%;
  height: auto;
  transform: translate(-50%, -50%);
}
.image100per {
  width: 100%;
  height: auto;
}
.input-box {
  width: 180px;
  height: 30px;
}
#login-btn {
  background: url('images/login_set.png') no-repeat 0 0; /* 使用する画像のURLを指定 */
  width: 180px; /* ボタンの幅を画像の幅に調整 */
  height: 70px; /* ボタンの高さを画像の高さに調整 */
  border: none; /* 枠線を取り除く */
  cursor: pointer; /* カーソルをポインターに変更 */
  text-indent: -9999px;  /* 文字を非表示にする */
}

#login-btn:hover {
  background: url('images/login_set.png') no-repeat 0 -70px; /* 使用する画像のURLを指定 */
  width: 180px; /* ボタンの幅を画像の幅に調整 */
  height: 70px; /* ボタンの高さを画像の高さに調整 */
  border: none; /* 枠線を取り除く */
  cursor: pointer; /* カーソルをポインターに変更 */
  text-indent: -9999px;  /* 文字を非表示にする */
}

.caption-set {
  margin-top: 10px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

/*----ここからメディアクエリ（PCサイズ980px以上）---- */
@media screen and (min-width:980px) {

/*----表示領域のレイアウト---- */
#wrapper {
  width:100%;        /* 幅を決定する */
  margin-left:auto;    /* 左側マージンを自動的に空ける */
  margin-right:auto;   /* 右側マージンを自動的に空ける */
  text-align:left;     /* 中身を左側表示に戻す */
  font-family: "ＭＳ Ｐゴシック",sans-serif;
  background: #fff;
  min-height: 100%;
}
/*----初期設定---- */

/*----リンクの設定---- */
a:link { text-decoration: none; color: #36C; }
a:visited { color: #09F}
a:hover { color: #09C;}
img { border: 0;}

/*----回り込みの解除---- */  
.clear {
  clear: both;
  height: 0;
}
.clear_mb {
  clear: none;
  height: 0;
}

/*----文章レイアウト---- */

.text-center-gry {
  text-align: center;
  font-size: 15px;
  font-size: 1.5rem;
  color: #999;
}
.text-position {
  text-align: center;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.text-right {
  text-align: right;
}
.top-text-center {
  font-size: 22px;
  font-size: 2.2rem;
  color: #000;
  text-align: center;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.5em;
}
.brake-point {
  display: block;
}
.brake-point-2 {
  display: none;
}

/*----ヘッダー固定---- */
.header {
  position: fixed;
  width:100%;
  margin-left:auto; 
  margin-right:auto;
  top: 0;
  background-color: #fff;
  z-index: 100;
}
/*----メインをヘッダーの下に表示---- */
main {
  z-index: 0;
  position: absolute;
  width: 100%;
}

/*----ヘッダーイメージ画像の位置---- */
.main-visual-box {
  position: relative;
  width: 100%;
  height: 420px;
}

.image-container img{
  position: relative;
  display: block;
  object-fit:cover;
  width: 100%;
  height: 420px;
}
.overlay-text {
  position: absolute;
  display: block;
  top: 35%;
  left: 60%;
  width: 200px;
  height: auto;
  background-color: rgb(15 45 125 / 80%);
  padding: 30px;
  font-size: 20px;
  text-align: center;
  color: #FFF;
  transform: translate(-50%, -50%) ;
}
.overlay-logo {
  /* 位置の調整 */
  position: absolute;
  display: block;
  object-fit:contain;
  top: 30%;
  left: 35%;
  width: 50%;
  height: auto;
  transform: translate(-50%, -50%);
}
.image100per {
  width: 100%;
  height: auto;
}
.input-box {
  width: 180px;
  height: 30px;
}
.caption-set {
  display: block;
  margin-top: 0px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

/*----ここからメディアクエリ（PCサイズ大の設定）---- */
@media screen and (min-width:1200px) {

/*----文章レイアウト---- */

.text-center-gry {
  text-align: center;
  font-size: 15px;
  font-size: 1.5rem;
  color: #999;
}
.text-position {
  text-align: center;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.text-right {
  text-align: right;
}
.top-text-center {
  font-size: 22px;
  font-size: 2.2rem;
  color: #000;
  text-align: center;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.5em;
}
.brake-point {
  display: block;
}
.brake-point-2 {
  display: none;
}
/*----ヘッダー固定---- */
.header {
  position: fixed;
  width:100%;
  margin-left:auto; 
  margin-right:auto;
  top: 0;
  background-color:#fff;
  z-index: 100;
}
/*----メインをヘッダーの下に表示---- */
main {
  z-index: 0;
  position: absolute;
  width: 100%;
}

/*----ヘッダーイメージ画像の位置---- */
.main-visual-box {
  position: relative;
  width: 100%;
  height: 420px;
}
.image-container img{
  position: relative;
  display: block;
  object-fit:cover;
  width: 100%;
  height: 420px;
}
.overlay-text {
  /* 位置の調整 */
  position: absolute;
  top: 45%;
  left: 80%;
  /* 画像周りの背景色 */
  background-color: rgb(15 45 125 / 80%);
  padding: 30px;
  font-size: 20px;
  color: #FFF;
  text-align: center;
  transform: translate(-50%, -50%) translateX(240px); 
}
.overlay-logo {
  /* 位置の調整 */
  position: absolute;
  display: block;
  object-fit:contain;
  top: 30%;
  left: 40%;
  width: 600px;
  height: 420px;
  transform: translate(-50%, -50%);
}
.image100per {
  width: 600px;
  height: 420px;
}
.input-box {
  width: 180px;
  height: 30px;
  font-size: 20px;
}
.caption-set {
  margin-top: 0px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
}
}

 /* IE11向けの安全措置 */
html, body { height: 100%; }
main { display:block; }

 /* 背景の半透明色（IE11対応表記へ） */
-.overlay-text { background-color: rgb(15 45 125 / 80%); }
+.overlay-text { background-color: rgba(15,45,125,0.8); }

 /* テキストサイズ調整（IE） */
body { -ms-text-size-adjust: 100%; }

 /* object-fit の代替（例） */
-#header-img { object-fit: contain; width:100%; height:auto; }
+/* #header-img は <img> なら object-fit を使わない。背景に変更推奨 */
+/* 例：#header-img を画像コンテナにして背景で描画 */
+#header-img {
+  position: relative;
+  width: 100%;
+  height: 420px;                 /* デザインに合わせて */
+  background: url('images/header.jpg') center center / contain no-repeat;
+}

-.image-container img { object-fit: cover; width:100%; height:420px; }
+/* 背景画像に置換（cover挙動） */
+.image-container { 
+  position: relative; width:100%; height:420px;
+  background-position:center; background-repeat:no-repeat; background-size:cover;
+}

-.overlay-logo { object-fit: contain; }
+/* ロゴは <img> のままにして object-fit を外し、max-widthで縮小 */
+.overlay-logo img { display:block; max-width:100%; height:auto; }


/* IE11専用ハック */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .overlay-logo { top: 30%; left: 35%; width: 50%; }
  .overlay-text { top: 45%; left: 130%; }
}

