* {  box-sizing: border-box;}body {  margin: 0 auto;  width: 100%;  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";  /* テキスト選択を禁止 */  -webkit-user-select: none; /* Chrome, Safari */  -moz-user-select: none; /* Firefox */  -ms-user-select: none; /* IE10+ */  user-select: none; /* 標準対応 */}img {  max-width: 100%;  height: auto;  vertical-align: middle;}p.resizeimage img {  width: 100%;}a {  text-decoration: none;}a:hover img {  opacity: 0.7;  filter: alpha(opacity=80);  transition-duration: 0.5s;}.top-icon {  font-size: 1.5em;}.clear {  clear: left;}.container {  max-width: 1170px;  width: 96%;  padding: 0 2% 0 2%;  margin: 0 auto;  color: #023044;}.container h1 {  text-align: left;  width: 100%;  margin: 0;  padding: 1px 0% 0px 0%;  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";  font-size: 12px;  color: #fff;}.container h2 {  text-align: left;  width: 100%;  margin: 0;  padding: 1px 0% 0px 0%;  font-family: "丸フォーク M", "メイリオ", Meiryo, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;  font-size: 12px;  color: #fff;}.content_news_box {  max-width: 100%;  width: 100%;  margin-bottom: 30px;  padding: 15px;  font-size: 14px;  border-radius: 10px;  /*line-height: 24px;*/  text-align: left;  /*color: #023044;*/  color: #023044;  background-color: #fff;  border: solid #ddd 1px;}.content_news_box ul {}.content_news_box li {  list-style: none;  line-height: 1.6em;  padding-bottom: 10px;  margin-left: -15px;  text-indent: -1.8em;}.btn {  padding: 8px 24px;  color: white;  display: inline-block;  opacity: 0.8;  border-radius: 4px;  text-align: center;  font-weight: bold;}.btn:hover {  opacity: 1;}header {  /*position: absolute;*/  height: 65px;  width: 100%;  background-color: rgba(255, 255, 255, 0.9);  margin-top: 34px;  z-index: 1;}.logo {  width: 208px;  margin-top: 16px;}.header-left {  float: left;}/* トップクレジット */.top_main_menu1 {  position: fixed;  margin: 0;  color: #fff;  height: 34px;  padding: 7px 0% 5px 0%;  font-size: 12px;  text-align: left;  background-color: #023044;  width: 100%;  top: 0px;  z-index: 10;}.top_main_menu3 {  margin: 0;  color: #fff;  height: 65px;  padding: 0px 0% 0px 0%;  font-size: 12px;  text-align: left;  background-color: rgba(255, 255, 255, 0.8);  width: 100%;  position: fixed;  top: 34px;  z-index: 10;}.lesson-wrapper {    padding: 50px 2% 50px 2%;  /*padding-bottom: 80px;  padding-left: 2%;  padding-right: 2%;  background-color: #f7f7f7;*/  /*background-color: #E8F1F8;*/  background: linear-gradient(-90deg, #E4F8F9, #E8F1F8);  text-align: center;}.content-wrapper {  width: 100%;  background-color: #fff;  margin: 0 auto;  padding-bottom: 5px;  color: #023044;  clear: both;}.content-wrapper-title {  width: 100%;  background-color: #ecf4f7;  margin: 5px 0;  padding: 50px 1%;  color: #023044;  text-align: center;  font-size: 16px;  font-weight: bold;  clear: both;}.heading {  padding-top: 80px;  padding-bottom: 50px;  color: #023044;  text-align: center;}.heading h2 {  text-align: center;  font-weight: bold;  font-family: "新ゴ B";  font-size: 28px;  color: #023044;  padding: 30px 0 0px 0;}.heading p {  font-weight: normal;  text-align: center;  margin: 0;  font-size: 14px;}.heading-map {  margin: 0;  padding-top: 40px;  padding-bottom: 40px;  color: #023044;  text-align: center;}.heading-map p {  font-size: 12px;  color: #023044;  text-align: center;}.lesson {  float: left;  width: 25%;}.lesson-icon {  position: relative;}.lesson-icon p {  position: absolute;  top: 8%;  width: 100%;  color: white;}.text-contents1 {  width: 80%;  display: inline-block;  margin-top: 15px;  font-size: 14px;  color: #023044;  text-align: left;  font-weight: normal;}.message-wrapper {  /*border-bottom: 1px solid #eee;*/  padding: 0 2% 80px 2%;  text-align: center;}.message {  padding: 15px 40px;  background-color: #5dca88;  cursor: pointer;  box-shadow: 0 7px #1a7940;}.message:active {  position: relative;  top: 7px;  box-shadow: none;}/* ボックス4個の横並び */.whvisas_4 {  clear: both;  color: #023044;}.whvisas_4 h2 {  font-size: 28px;  padding-top: 0px;  text-align: center;}.whvisas_4 h3 {  font-size: 16px;  font-weight: bold;  text-align: center;  padding: 0px 0;}.whvisas_4 ul {  display: flex;  flex-wrap: wrap;  margin: 0;  padding: 0;}.whvisas_4 li {  list-style: none;  flex: auto;  width: 21%;  background-color: rgba(255, 255, 255, 0.9);  display: block;  font-size: 14px;  margin: 10px 1%;  padding: 30px 30px;  border-radius: 5px;}.whvisas_4 p {  text-align: left;}/*footer.css */.footer {  float: left;  width: 100%;  margin: auto 0;  padding: 50px 5% 50px 5%;  font-size: 13px;  text-align: center;  color: #ffffff;  background-color: #023044;}ul.footer {  list-style: none;  margin: 0;  padding: 0;  text-align: left;  line-height: 2.4em;}ul.footer li {  list-style: none;  margin: 0;  padding: 0;  text-align: left;  line-height: 2.4em;}.footer_menu_3 {  float: left;  width: -webkit-calc(82%/3);  width: calc(82%/3);  margin: 0 3% 0 3%;  font-size: 13px;  text-align: left;  line-height: 1.8em;  max-height: 100%;}.footer_menu_title {  float: left;  width: 100%;  padding: 20px 0% 5px 0%;  margin-bottom: 10px;  font-size: 16px;  text-align: left;  color: #ffffff;  border-bottom: solid #FFFFFF 1px;  max-height: 100%;}.footer2_link {  padding: 0.1em 0.3em;  position: relative;  display: inline-block;  transition: .3s;  color: #ffffff;}.footer2_link::after {  position: absolute;  bottom: 0;  left: 0;  content: '';  width: 0;  height: 1px;  background-color: #DC950F;  transition: .3s;}.footer2_link:hover::after {  width: 100%;}.footer3_link {  padding: 0.5em 0.3em 0.2em 0.3em;  background-image: linear-gradient(rgba(0, 0, 0, 0) 50%, rgba(220, 145, 15, 1) 50%);  background-position: 0 0;  background-size: auto 200%;  transition: .3s;  color: #ffffff;}.footer3_link:hover {  background-position: 0 100%;  color: #fff;}.footer_w {  float: left;  width: 100%;  margin-bottom: 40px;  padding: 0px 5% 0px 5%;  font-size: 12px;  text-align: center;  color: #000927;  border-bottom: 1px solid #3C3C41;  background-color: #ffffff;  max-height: 100%;}@media screen and (max-width:1000px) {  .footer_menu_3 {    float: left;    width: -webkit-calc(98%/1);    width: calc(98%/1);    margin: 0 1% 0 1%;    font-size: 13px;    text-align: left;    line-height: 1.8em;    max-height: 100%;  }}/* フッターナビゲーション */.footnav {  width: 100%;  text-align: center;  font-size: 12px;  line-height: 2.0em;}.footnav ul {  list-style: none;}.footnav ul li {  display: inline-block;  margin: 0 15px 0px 0;  padding: 0 0 0 10px;  background: url("img/icon-arrow-blue.png");  background-repeat: no-repeat;  background-position: left 45%;}.footnav a {  color: #535353;}footer img {  width: 210px;  margin: 0;}footer p {  margin-top: 20px;  color: #8691a3;  font-size: 12px;  line-height: 18px;  font-weight: normal;}footer {  padding-top: 30px;  padding-bottom: 20px;  text-align: center;}/* 矢印のスタイル */#scroll-to-top-btn {  position: fixed;  bottom: 20px;  right: 20px;  height: 50px;  width: 50px;  color: #FFF;  font-size: 20px;  font-weight: bold;  background-color: rgba(34, 49, 52, 0.6);  border: none;  border-radius: 100%;  transform: rotate(-90deg);  opacity: 0;  transition-duration: 0.5s;}/* ビデオスタイル *//*html, body {  margin: 0;  padding: 0;  height: 100%;    overflow-x: hidden;}*//* 背景動画を固定＆全画面 */.bg-video {  position: fixed; /* ページ全体に固定 */  top: 50%;  left: 50%;  min-width: 100%;  min-height: 100%;  transform: translate(-50%, -50%);  object-fit: cover;  z-index: -1; /* コンテンツの後ろに配置 */}/* ページコンテンツ */.overlay {  position: relative;  z-index: 1; /* 動画の前に出す */  display: flex;  flex-direction: column;  justify-content: center;  align-items: center;  text-align: center;  min-height: 100vh;  pointer-events: none;}.copy {  position: relative;  width: 100%;  height: 300px; /* ← 画像の高さに合わせて調整 */  top: 50px;  display: flex;  justify-content: center;  align-items: center;  overflow: hidden;}.copy img {  position: absolute;  top: 50%;  left: 50%;  transform: translate(-50%, -50%);  max-width: 40%;  height: auto;  opacity: 0;  transition: opacity 2s ease; /* ← フェードを2秒に変更 */}.copy img.show {  opacity: 1;}/* スマホ */@media (max-width: 760px) {  .copy img {    max-width: 70% !important;  }}/* PC */@media (min-width: 761px) {  .copy img {    max-width: 100% !important;  }}.copy strong {  font-weight: 700; /* 太字 */  color: #f9b7b7; /* 任意で色を変えて目立たせる */}.copy span.big {  font-size: clamp(38px, 4vw, 50px); /* レスポンシブで調整 */  font-weight: 700;  color: #f9c5af; /* 色に強調 */}.copy span.big2 {  font-size: clamp(38px, 4vw, 50px); /* レスポンシブで調整 */  font-weight: 900;  letter-spacing: -0.1em;  color: #fcef7a; /* 色に強調 */}.overlay img {  max-width: 100%;  height: auto;  margin-top: 20px;}