@charset "UTF-8";

/* ========Diagram Class Style======== */
.flow {
  padding: 0;
  padding-left: 120px;
  position: relative;
}
.flow::before {
  content: "";
  width: 15px;
  height: 100%;
  background: #eee;
  margin-left: -8px;
  display: block;
  position: absolute;
  top: 0;
  left: 120px;
}
.flow > dd {
  margin-left: 0;
}
.flow > li {
  list-style-type: none;
  position: relative;
}
.flow > li:not(:last-child) {
  margin-bottom: 8vh;
}
.flow > li .icon {
  font-size: 12px;
  color: #fff;
  background: linear-gradient(to right, #9e0972, #f77b67); /* new */
  background: linear-gradient(to right, rgba(107, 144, 219, 1) 0%, rgba(102, 213, 233, 1) 100%);
  background: linear-gradient(to right, #16a085 0%, rgba(102, 213, 233, 1));
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
  padding: 8px 20px;
  display: block;
  position: absolute;
  top: 0;
  left: -120px;
  z-index: 100;
}
.flow > li .icon::after {
  content: "";
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #66d5e9;
  position: absolute;
  top: 50%;
  left: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.flow > li dl {
  padding-left: 70px;
  position: relative;
}
.flow > li dl::before,
.flow > li dl::after {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
}
.flow > li dl::before {
  width: 7px;
  height: 7px;
  margin-top: -3px;
  background: #6b90db;
  border-radius: 50%;
  left: -4px;
}
.flow > li dl::after {
  width: 50px;
  border-bottom: 1px dashed #999;
  position: absolute;
  left: 5px;
}
.flow > li dl dt {
  font-size: 20px;
  font-weight: 600;
  /*    color: #f77b67;*/
  color: rgb(107, 144, 219);
  margin-bottom: 1vh;
}

/* ==== 2023.04.19 タイトルエリア追加 === */
#header div.title_area_1 {
  color: #ffffff;
  background: linear-gradient(to right, #16a085, green); /* 2023colormod */
  background: linear-gradient(to right, darkblue, blue); /* 2025colormod */
  text-align: center;
  border-radius: 10px 10px 0 0;
  padding: 10px;
}
#header div.title_area_2 {
  color: darkgreen; /* 2023colormod */
  color: darkblue; /* 2025colormod */
  background: #ffffff;
  text-align: center;
  padding: 5px;
  border-radius: 0 0 10px 10px;
  border: solid 2px #cccccc;
  border-top-width: 0px;
}

/* ========2020/06/05 customize ======== */
.footnote {
  font-size: smaller;
  padding-left: 1.5em;
  text-indent: -1.5em;
  /*	color:#8A0829;*/
  color: #1a6615;
}
.footnote::before {
  content: "※";
}
.footnote.yellow {
  width: 80%;
  margin: 20pt auto;
  background: #faffad;
  color: #dd0000;
  font-weight: bold;
  font-size: 10pt;
}

/* ==== 2023.04.19 受付期間追加 === */
p.application_period {
  color: #16a085; /* 2023colormod */
  color: blue; /* 2023colormod */
  background: rgb(249, 251, 161); /* 2023colormod */
  border: solid 2px #16a085; /* 2023colormod */
  border: solid 2px #1636a0; /* 2025colormod */
  border-radius: 10px;
  font-weight: bold;
  /* font-size: 20px; */
  font-size: larger;
  margin: 5px auto;
  padding: 10px;
  width: 80%;
  text-align: center;
}

p.application_period.before {
  background: #f0d4fa;
  border: solid 2px #8926ad;
  color: #ff0066;
}

p.application_period.after {
  background: #ffffff;
  border: solid 2px #666699;
  color: #666699;
  font-size: small;
}

/* ==== 2023.04.18 プロフィールカード追加 === */
#main div.Profile {
  width: 85%;
  margin: 0 auto;
}
#main div.Profile div.title {
  background: linear-gradient(to right, #000000, #16a085);
  background: linear-gradient(to right, #16a085, green); /* 2023colormod */
  background: linear-gradient(to right, darkblue, blue); /* 2025colormod */
  color: #ffffff;
  padding: 10px 0;
  border-radius: 10pt 10pt 0 0;
  font-size: larger;
  font-weight: bold;
  text-align: center;
}
#main div.Profile table {
  table-layout: fixed;
  background: #ebfff9;
  background: #eff1ea; /* 2023colormod */
  background: #eaedf1; /* 2025colormod */
  margin: 0 0 1px 0;
  border-radius: 0 0 10pt 10pt;
}
#main div.Profile tr:last-of-type {
  border-radius: 0 0 10pt 10pt;
}

#main div.Profile td {
  border: none;
}
#main div.Profile td.image {
  width: 40%;
  text-align: center;
  vertical-align: center;
  padding: 5pt 0pt;
}

#main div.Profile img {
  width: 150px;
  border: solid 1px #888888;
  border-radius: 10pt;
}
#main div.Profile td .organization {
  font-size: smaller;
}
#main div.Profile td .name {
  font-size: larger;
}

#main div.Profile td.detail {
  text-align: left;
  padding: 5pt 5pt;
}
#main div.Profile td strong.colorful {
  color: #3a01df;
  color: darkgreen; /* 2023colormod */
  color: darkblue; /* 2025colormod */
  font-size: larger;
}

/* ========2020/07/16Customize ======== */
.custom-contact-btn {
  position: relative;
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  margin: 10px 0;
  padding: 10px 30px;
  text-decoration: none;
  background: #002060;
  background: linear-gradient(45deg, #002060, #00b0f0);
  background: linear-gradient(45deg, #002060, #00b0f0);
  background: linear-gradient(45deg, #000000, #237058); /* 20210329mod */
  background: linear-gradient(45deg, #000000, #16a085); /* 20210331mod */
  background: linear-gradient(45deg, #16a085, green); /* 2023colormod */
  background: linear-gradient(45deg, blueviolet, royalblue); /* 2025colormod */

  color: white;
  border-radius: 10px;
  transition: 0.4s;
}

.custom-contact-btn:hover {
  background: #00bcd4;
  background: linear-gradient(45deg, #00b0f0, #00bcd4);
  background: linear-gradient(45deg, #43cea2, #43cea2); /* 20210329mod */
  background: linear-gradient(45deg, #00b050, #00b050); /* 20210329mod */
  background: linear-gradient(45deg, #4916a0, magenta); /* 2023colormod */
  background: linear-gradient(45deg, #4916a0, magenta); /* 2025colormod */
  color: white;
}

.custom-contact-btn.before {
  background: #6b6b6b;
  color: white;
}

.custom-contact-btn.after {
  background: #b8b8b8;
  color: white;
}

/* ========2021/04/15Customize ======== */
.balloon {
  width: 95%;
  margin: 1.5em auto;
  overflow: hidden;
}
.balloon .faceicon {
  float: left;
  margin-top: 10px;
  margin-right: -110px; /* キャラサイズ+10px */
  width: 100px; /* キャラサイズ */
  height: 120px; /* キャラサイズ(高さ） */
}
.balloon .faceicon img {
  width: 100%;
  height: auto;
}
.balloon .chatting {
  width: 100%;
}
.says {
  display: inline-block;
  position: relative;
  margin: 5px 0 0 125px; /* キャラサイズ+25px */
  padding: 20px 20px;
  border-radius: 12px;
  background: #fff0c6;
}
.says:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 18px;
  left: -24px;
  border: 12px solid transparent;
  border-right: 12px solid #fff0c6;
}
.says .memo {
  margin: 8px 0;
  padding: 0;
  font-size: smaller;
  font-size: 12px;
  color: #1a6615;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
.says .memo:before {
  content: "※ ";
  font-weight: bold;
}

/* ==== 2023.04.18 追加テーブルクラス(Basic) === */
#main table.basic {
  width: 90%;
  margin: 10pt auto;
  border-collapse: collapse;
}

#main table.basic th {
  padding: 5px;
  font-size: 14px;
  text-align: center;
  border: 1px solid #237058;
  background: #16a085;
  border: 1px solid white; /* 2023colormod */
  background: darkgreen; /* 2023colormod */
  background: darkblue; /* 2025colormod */
  color: #ffffff;
}

#main table.basic td {
  padding: 5px;
  font-size: 14px;
  text-align: left;
  border: 1px solid #237058;
  border: 1px solid darkgreen; /* 2023colormod */
  border: 1px solid darkblue; /* 2025colormod */
}
#main table.basic td:first-of-type {
  padding: 7px;
  font-weight: bold;
  font-size: 15px;
  color: #237058;
  background: #ebfff9;
  color: darkgreen; /* 2023colormod */
  background: #c4f8c6; /* 2023colormod */
  color: darkblue; /* 2025colormod */
  background: #c4ccf8; /* 2025colormod */
  text-align: center;
}

#main table.basic td:only-of-type {
  padding: 7px;
  font-weight: normal;
  font-size: 14px;
  color: black;
  background: #ebfff9;
  background: #c4f8c6; /* 2023colormod */
  background: #e0e3fa; /* 2025colormod */
}

#main table.basic p.title {
  font-weight: bold;
  border-radius: 5px;
  margin: 5px 0;
  padding: 2px 10px;
}

#main table.basic p.title.green {
  color: #1a6615;
  background: #eeffee;
  border: solid 1px #1a6615;
}
#main table.basic p.title.blue {
  color: #3a01df;
  background: #eeeeff;
  border: solid 1px #3a01df;
}
#main table.basic p.title.red {
  color: #df3a01;
  background: #ffeeee;
  border: solid 1px #df3a01;
}

#main table.basic ul li::first-line {
  font-weight: bold;
  color: #1a6615;
  color: darkgreen; /* 2023colormod */
  color: darkblue; /* 2025colormod */
}

#main table.basic div.title {
  color: darkgreen; /* 2023colormod */
  background: white; /* 2023colormod */
  border: solid 1px darkgreen; /* 2023colormod */

  color: darkblue; /* 2025colormod */
  background: white; /* 2025colormod */
  border: solid 1px darkblue; /* 2025colormod */
  
  border-radius: 10px;
  padding: 5px;
  margin: 10px;
  font-size: larger;
  font-weight: bold;
  text-align: center;
}
