@charset "utf-8";

/* 2025-04-24 */
#main .shain_schedule {
    width:100%;
    padding: 0px 20px 0px 0px;
    box-sizing: border-box;
}

#main .shain_schedule h4 {
    font-size: 16px;    /*文字サイズ*/
    color: #44a00d;     /*文字色*/
    line-height: 1.4;   /*行間を少しせまく*/

    display: inline-block;
    position: relative;
    padding-bottom: 4px;
}

#main .shain_schedule h4::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: 100%;
  background-color: #90ee90; /* 薄緑（ライトグリーン） */
}

#main .shain_schedule p.description {
  border: 1px solid #ccc; /* 枠線の色はグレー。必要に応じて変更可 */
  padding: 16px;           /* 内側の余白 */
  border-radius: 4px;      /* 角を少し丸める（任意） */
  background-color: #f9f9f9; /* 背景色を薄めに（任意） */
  margin:8px 0 16px 0;
}

#main .shain_schedule img {
  display:block;
  width:80%;
  margin:8px auto 16px auto;
}

/* 2025-04-24 */
#main .insurance_guide {
  width:100%;
  padding: 0px 20px 0px 0px;
  box-sizing: border-box;
  margin: 8px 0 16px;
}

#main .insurance_guide figure {
  position: relative;
  width: 100%;
  max-width: 600px; /* 必要に応じて調整 */
  margin: 0;
}

#main .insurance_guide figure img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  pointer-events: none;
  border-radius: 10px;
}

#main .insurance_guide figure figcaption {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-size: 1em;
  box-sizing: border-box;
}

#main .insurance_guide figure figcaption dl {
  position: absolute;
  top: 1em;
  left: 1em;
  margin: 0;
  color: #fff;
}

#main .insurance_guide figure figcaption dt {
  font-size: 1em;
  margin: 0 0 0.5em 0;
}

#main .insurance_guide figure figcaption dd {
  font-size: 1em;
  margin: 0;
  padding: 0 1em 0 0;
  line-height:normal;
}


#main .insurance_guide .lineup {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  margin-top: 1em;
  background-color: #fff; /* 背景を .lineup に移動 */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  padding: 1em;
  border-radius: 8px;
  box-sizing: border-box;
}

#main .insurance_guide .lineup dl {
  flex: 1 1 calc(50% - 1em); /* 2列表示 */
  box-sizing: border-box;
  padding: 0;               /* 背景と余白を削除 */
  border-radius: 0;
  background: none;
}

#main .insurance_guide .lineup a {
  display: inline-block;
  padding: 0.6em 1.2em;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.3s, color 0.3s;
  box-sizing: border-box;
  width: 100%;
}

#main .insurance_guide .lineup dt a {
  font-size: .95em;
  margin-bottom: 0.5em;
  color: #0070c0;            /* 青文字 */
  background: linear-gradient(to bottom, #f7f7f7, #dcdcdc); /* ホバー：白に近い明るめシルバー */
}

#main .insurance_guide .lineup dt a:hover {
  color: #fff;               /* 白文字 */
  background: linear-gradient(to bottom, #5faee3, #0070c0); /* 明るめの青 → 深めの青 */
}

#main .insurance_guide .lineup dd {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}

#main .insurance_guide .lineup dd a {
  font-size: .75em;
  color: #fff;               /* 白文字 */
  background: linear-gradient(to bottom, #5faee3, #0070c0); /* 明るめの青 → 深めの青 */
}

#main .insurance_guide .lineup dd a:hover {
  color: #0070c0;            /* 青文字 */
  background: linear-gradient(to bottom, #f7f7f7, #dcdcdc); /* ホバー：白に近い明るめシルバー */
}

/* 2025-06-13 */
/* 経営理念 */
.list3 {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 2%;
  margin: 0 0 2rem 9px;
}
.list3 li {
  width: 100%;
  line-height:1.5;
}
.list3 div {
/* background: linear-gradient(#fff, #f2f2f2);/*背景グラデーション*/
  border-radius: 10px;  /*角丸のサイズ*/
  box-shadow: 2px 2px 3px rgba(0,0,0,0.1);  /*ボックスの影。右へ、下へ、広げる幅、0,0,0は黒の事で0.1は10%色がついた状態の事。*/
  padding: 15px;  /*ボックス内の余白*/
  border: 1px solid #ccc;  /*枠線の幅、線種、色*/
  display:inline-flex;
  flex-wrap: wrap;
}
.list3 div h4 {
  min-width: 100%;
  font-size: 18px;
  color: #44a00d;
  margin:0 0 4px 0;
}
.list3 div span {
  min-width: 10%;
  white-space: nowrap;
  margin: 0 2% 0 9px;
}
.list3 div p {
  width: 82%;
  padding: 0 !important;
  height:48px;
}
.w40p {
  width:38%;
  margin-right:1%;
}
.w60p {
  width:60%;
}

/* もしもの時に… */
.list4 {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 2%;
  margin: 0 0 2rem 9px;
}
.list4 li {
  width: 100%;
  line-height:1.5;
}
.list4 div {
/*background: linear-gradient(#fff, #f2f2f2);/*背景グラデーション*/
  border-radius: 10px;  /*角丸のサイズ*/
  box-shadow: 2px 2px 3px rgba(0,0,0,0.1);  /*ボックスの影。右へ、下へ、広げる幅、0,0,0は黒の事で0.1は10%色がついた状態の事。*/
  padding: 15px;  /*ボックス内の余白*/
  border: 1px solid #ccc;  /*枠線の幅、線種、色*/
  display:inline-flex;
  flex-wrap: wrap;
}
.list4 div h4 {
  min-width: 100%;
  font-size: 18px;
  color: #44a00d;
  margin:0 0 9px 0;
  height:36px;
}
.list4 div a {
  display:inline-block;
  width: 39%;
}
.list4 div p {
  width: 53%;
  padding: 0 !important;
  height:48px;
  margin: 0 0 0 24px;
}
.list4 div p a {
  display:inline;
}

/* データで見る */
.list5 {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 2%;
  margin: 0 0 2rem 9px;
}
.list5 li {
  width: 100%;
  line-height:1.5;
}
.list5 div {
/*background: linear-gradient(#fff, #f2f2f2);/*背景グラデーション*/
  border-radius: 10px;  /*角丸のサイズ*/
  box-shadow: 2px 2px 3px rgba(0,0,0,0.1);  /*ボックスの影。右へ、下へ、広げる幅、0,0,0は黒の事で0.1は10%色がついた状態の事。*/
  padding: 15px;  /*ボックス内の余白*/
  border: 1px solid #ccc;  /*枠線の幅、線種、色*/
  display:flex;
  flex-wrap: wrap;
  align-items: flex-start;
  height:160px;
}
.list5 div img {
  width: 39%;
  object-fit: contain; /* 念のため補助 */
}
.list5 div .text-block {
  width: 58%;
  padding: 0 0 0 9px;
  background:none;
  border:none;
  box-shadow:none;
}
.list5 div .text-block h4 {
  width: 100%;
  font-size: 18px;
  color: #44a00d;
}
.list5 div .text-block p {
  width: 100%;
  padding:0 0 0 0 !important;
}

/* 募集要項 */
.ta2 {
    width: auto;
    margin: 0 auto 20px;
    background: #fff;/*背景色*/
    color: #666;/*文字色*/
}
.ta2 caption {
    border: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/
    border-bottom: none;/*下線だけ消す*/
    text-align: left;/*文字を左寄せ*/
    background: #eee;/*背景色*/
    color: #666;/*文字色*/
    font-weight: bold;/*太字に*/
    padding: 10px;/*ボックス内の余白*/
}
.ta2, .ta2 td, .ta2 th {
    text-align:left;
    word-break: break-all;
    border: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/
    padding: 10px;	/*ボックス内の余白*/
}

/* PC用設定 */
@media screen and (min-width:901px){

#main .shain_schedule {
    width:33%;
    float:left;
    padding: 0px 20px 0px 0px;
    box-sizing: border-box;
}

#main .shain_schedule img {
  width:100%;
  margin:8px 0 16px 0;
}

#main .insurance_guide  {
    width:50%;
    float:left;
    padding: 0px 20px 0px 0px;
    box-sizing: border-box;
}

.list3 li {
  width: 48%;
  margin: 0 9px 0 0;
}

.list3 div h4 {
  margin:0 0 9px 0;
}

.list3 div span {
  min-width: 10%;
  white-space: nowrap;
  margin: 0 1% 0 18px;
}

.list3 div p {
  width: 84%;
}

.list4 li {
  width: 31%;
  margin: 0 9px 0 0;
}

.list5 li {
  width: 32%;
  margin: 0 0 0 0;
}

}
