@charset "utf-8";
/* 基本要素 */
body {
  margin: 0;
  padding: 0;
  color: #333;
  font-size: 18px;
  font-family: 'Noto Sans JP', "メイリオ", "Hiragino Sans", "Yu Gothic", sans-serif;
  line-height: 1.7;
/*  background-color: #F2F2F2;*/
  background: url(../images/bg_body.png)
}

strong {
  font-weight: 700;  /* strongは700の太さを使う */
}

a {
  color: #0099cc; 
}

a:visited {
  color: #006699; 
}

a:hover {
  color: #006699;
  font-weight: bold;
}

a img {
/*  transition: opacity 0.1s linear; */
}

a:hover img {
  opacity: 0.6; 
}

h1, h2, h3, h4, h5, h6 {
  margin: 0; 
}

h1 {
  margin: 0px 0 15px;
}

p {
  margin-top: 0;
}

img {
  vertical-align: bottom; 
}

section {
  margin: 0;
}

figcaption {
  font-size: 13px;
  text-align: right;
  margin-bottom: 15px;
}

#clumn_main h1 {
  font-size: 34px;
  color: #44382d;
}

#clumn_main h1 .setsumei{
  font-size: 19px;
  color: #44382d;
}

#clumn_main h2 {
  font-size: 22px;
  padding: 11px 0px;
}


/* ヘッダー */
header {
  border-top: 8px solid #2A5B96;
}

header article {
  width: 820px;
  margin: 0 auto;
}

header article h1 {
  float: left;
  margin: 13px 6px 8px;
}

header article #header_info {
  float: right;
  margin: 42px 10px 0px ;
  vertical-align: bottom;
}

header article #header_info p {
  margin: 0px;
  font-size: 80%;
}

/* ナビゲーション */
#global_container {
  background-color: #2A5B96;
  clear: both;
  overflow: hidden;
}

#global_navi {
  width: 820px;
  margin: 0 auto;
}

#global_navi ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#global_navi ul li {
  width: 180px;
  float: left;
  text-align: center;
  border-left: 1px solid #B0B0B0;
}

#global_navi ul li:last-child {
  width: 180px;
  border-right: 1px solid #B0B0B0;

}

#global_navi ul li a {
  display: block;
  padding: 12px 10px;
  background-color: #2A5B96;
  color: #fff;
  font-size: 90%;
  text-decoration: none;
  transition: background-color 0.2s linear;
}

#global_navi ul li.current a { 
  background-color: #2A3A7F; 
}

#global_navi ul li a:hover { 
  background-color: #393196;
}

/* コンテンツ全体 */
#clumn {
  width: 820px;
  margin: 20px auto 30px;
  overflow: hidden;
  background-color: #fff;
}

#clumn_main {
  padding: 20px 30px 30px;
}

/* フッター */
footer {
  background-color: #8396AF;
  text-align: center;
  color: #FFFFFF
}

footer #footer_nav_container {
  border-bottom:  1px solid #708096;
}

footer #footer_nav {
  width: 820px;
  margin: 0 auto;
  padding: 13px 0 11px;
}

footer #footer_nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

footer #footer_nav ul li {
  display: inline-block;
  width: 20.0%;
  text-align: center;
  font-size: 90%;
}

footer #footer_nav a {
  display: block;
  padding: 7px;
  text-decoration: none;
  color: #FFFFFF
}

footer .footer_container {
  margin: 0 0 15px;
}

footer .logo_area {
  margin: 20px 0 20px;
}

footer .footer_info {
  font-size: 80%;
}

footer .copyright {
  font-size: 75%;
  padding: 8px 0;
  background-color: #2A5B96;
}

footer .copyright p {
  width: 820px;
  margin: 0 auto;
  text-align: center;
}

/* テーブル定義 */
table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 16px;
}

th, td {
  border: 1px solid #c7c7c7;
  padding: 7px 8px 7px 18px;
  vertical-align: top;
}

th {
  background-color: #F2F2F2;
  text-align: left;
  width: 12em;
  font-weight: normal;
}

/* ホーム */
#other_sites ul {
  list-style: none;
  margin: 0px;
  padding: 0px;
}

#other_sites ul li {
  width: 230px;
  margin: 0 30px 30px 0;
  padding: 0px 0 5px;
  border: 1px solid #ccc;
  float: left;
  text-align: center;
/*  color: #b7a077;*/
/*  font-weight: bold;*/
/*  box-shadow: 2px 2px 3px rgba(0,0,0,0.1);*/
}

#other_sites ul li:nth-child(3n) {
  margin-right: 0;
}

#other_sites img {
  width: 230px
}

#news dl {
  overflow: hidden;
  margin: 0;
}

#news dt {
  width: 8em;
  float: left;
  margin-bottom: 7px;
  clear: both;
}

#news dd {
  margin-left: 8em;
  margin-bottom: 7px;
}

/*  
.gazo_right {
  float: right;
  margin: 0 15px 10px 25px;
}

.gazo_center {
  text-align: center;
  margin: 10px 0 20px;
}
*/

.gazo_center img,
.gazo_right img {
  width: 100%;
  height: 400px;           /* ★ ここで高さを統一 */
  object-fit: cover;       /* ★ 縦横比を維持しつつエリアを埋める */
  border-radius: 12px;     /* ★ 角を丸くする */
  display: block;
}


.graph {
  margin: 10px 0 20px;
}

.douga {
  text-align: center;
  margin: 20px 0 20px;
}

/* 入会案内 */
#kengaku .address {
  color: #2A5B96;
}

#kengaku .tel {
  color: #2A5B96;
  font-weight: bold;
}

#kengaku .mail {
  color: #2A5B96;
}

#faq-Block {
  margin: 20px 0 0;
}

#faq-Block dt {
  margin: 0;
  padding: 0;
  font-weight: bold;
  background-color: #EAF3FA;
}

#faq-Block dt span {
  margin: 0 0.5em 0 0;
  padding: 2px 8px 4px 8px;
  color: #fff;
  border-radius: 5px;
  background-color: #C8250A;
}

#faq-Block dd {
  margin: 1em 0 2em 0;
  padding: 0;
}

#faq-Block dl {
  width: 94%;
  margin: 0;
  padding-left: 2.6em;
}

.indent {
  text-indent: -2.6em;
}

dl {
  display: block;
  -webkit-margin-before: 1em;
  -webkit-margin-after: 1em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
}

dd {
  display: block;
  -webkit-margin-start: 40px;
}

#faq-Block dd span {
  margin: 0 0.5em 0 0;
  padding: 2px 8px 3px 8px;
  color: #fff;
  font-weight: bold;
  border-radius: 5px;
  background-color: #146AB1;
}

.sns-icons {
  position: absolute;
  top: 10px;
  right: 10px;
}

.sns-icons a {
  margin-left: 10px;
  display: inline-block;
}

.sns-icons img {
  width: 36px;
  height: 36px;
  vertical-align: middle;
}

footer .sns_icon ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  gap: 10px;
}

footer .sns_icon li {
  /* display: inline-block; ←flexでは不要なので削除OK */
}

footer .sns_icon li img {
  width: 36px;
  height: 36px;
}

#news dl {
  display: flex;
  padding: 0px 0;
}

#news dt {
  width: 120px;
  /*font-weight: bold; */
  /*color: #333; */
  flex-shrink: 0;
  text-align: right;
  padding-right: 10px;
  border-right: 1px solid #ccc; /* ← ここがポイント */
}

#news dd {
  margin: 0;
  padding-left: 10px;
  flex: 1;
}

.btn-contact {
  display: inline-block;
  padding: 12px 24px;
  background-color: #ffffff;
  color: #2c3e50;
  text-decoration: none;
  border: 2px solid #2c3e50;
  border-radius: 8px;
  font-weight: bold;
  transition: background-color 0.3s, color 0.3s;
}

.btn-contact:hover {
  background-color: #2c3e50;
  color: #ffffff;
}


.slideshow-container {
  position: relative;
  max-width: 100%;
  height: 400px; /* ★追加：縦幅を固定 */
  margin: auto;
  overflow: hidden;
  border-radius: 12px;
}

.slide {
  display: none;
  width: 100%;
  height: 100%; /* ★追加：container に合わせる */
}

.slide img {
  width: 100%;
  height: 100%; /* ★追加：高さも100%に */
  object-fit: cover; /* ★追加：縦横比を維持して埋める */
  display: block;
}

.fade {
  animation: fade 1s ease-in-out;
}

@keyframes fade {
  from { opacity: 0.4; }
  to   { opacity: 1; }
}

.dots {
  text-align: center;
  margin-top: 8px;
}

.dot {
  height: 10px;
  width: 10px;
  margin: 0 5px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.3s ease;
}

.active {
  background-color: #717171;
}
