@charset "utf-8";

/*================================

全サイズ適用

================================*/
/*共通
--------------------------------*/
/*リンクボタン*/
.link_btn {
  text-align: center;
}
.link_btn a {
  display: inline-block;
  padding: 15px 30px;
  border: 2px solid #fff;
  color: #fff;
  background: #8dc31e;
  transition: all 0.5s 0s ease;
}
.link_btn a::before {
  content: "\f061";
  font-family: "Font Awesome 5 Free";
  margin-right: 10px;
  font-weight: bold;
}
.link_btn a:hover {
  opacity: 0.7;
}

/*外部リンクボタン*/
.link_mrk01 {
  display: inline-block;
  padding-right: 22px;
  background: url(../img/link_mrk01.png) no-repeat center right 4px;
}

/*バナー*/
.bnr:hover {
  opacity: 0.7;
}

/*ページタイトル*/
.h2_bg {
  background: url("../img/bg2.jpg") repeat;
}
.h2_bg h2 {
  padding: 2em;
  color: #fff;
  font-size: 3rem;
  background: url("../img/bg2_bg.jpg") repeat-x bottom;
  text-align: center;
}

/*タイトル*/
.sttl {
  display: table;
  border: #1974bc 1px solid;
  padding: 0 10px;
  margin-bottom: 2px;
}

/*ボックス（ふきだし）*/
.point_txt {
  position: relative;
  display: inline-block;
  padding: 15px 30px;
  background: #eee;
  border-radius: 35px;
}
.point_txt:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid #eee;
}

/*ボックス（緑ドット）*/
.doted_box {
  padding: 25px;
  text-align: left;
}
.doted_box.-green {
  border: 2px dotted #8dbc22;
}

/*ボックス（オレンジ背景の角丸）*/
.txtwaku01 {
  padding: 30px;
  background: #ffede1;
  border-radius: 15px;
  line-height: 1.8;
}

/*ボックス（オレンジ線の角丸）*/
.txtwaku02 {
  border-radius: 15px;
  border: 3px solid #ffc258;
  padding: 30px;
}

/*ボックス（緑背景の角丸）*/
.txtwaku03 {
  padding: 30px;
  background: #e2eec8;
  border-radius: 15px;
  line-height: 1.8;
}

/*ボックス（水色背景の角丸）*/
.txtwaku04 {
  padding: 30px 3%;
  border: 3px solid #daefff;
  border-radius: 15px;
}

/*ボックス（下矢印）*/
.under_arrow .fa-arrow-down {
  display: block;
  margin-top: 16px;
  margin-bottom: 16px;
  padding-left: 1.8rem;
  color: #1974bc;
  font-size: 2rem;
  text-align: left;
}

/*ボックス（フローチャート）*/
.flowbox .arrow {
  color: #1974bc;
  font-size: 2rem;
  padding-left: 15px;
  margin-bottom: 10px;
}
.flowbox > dl {
  margin-bottom: 10px;
}
.flowbox > dl > dt {
  color: #1974bc;
  border-bottom: 1px dashed #1974bc;
  padding: 5px;
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 2rem;
}

/*lead
--------------------------------*/
/*上部のリンクメニュー*/
.page_menu ul {
  /*flex*/
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  /*other*/
  margin-bottom: 20px;
}
.page_menu ul li {
  flex-basis: calc(100% / 3 - 8px);
}
.page_menu ul li a {
  /*flex*/
  display: flex;
  justify-content: center;
  align-items: center;
  /*other*/
  padding: 15px 15px;
  background: #039;
  font-size: 14px;
  color: #fff;
  font-weight: bold;
}
.page_menu ul li a:hover {
  color: #17cfe4;
}
.page_menu p {
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}

/*下部のリンクメニュー
---------------------------------*/
.bottom_linkmenu {
  /*flex*/
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 30px;
  /*other*/
  margin-bottom: 25px;
  margin-top: 25px;
}
.bottom_linkmenu .bottom_linkmenu_btn {
  flex-basis: calc(50% - 30px);
  padding: 15px 10px;
  background: #1974bc;
  border-radius: 7px;
  color: #fff;
  text-align: center;
  opacity: 1;
  transition: all 0.5s;
}
.bottom_linkmenu .bottom_linkmenu_btn:hover {
  color: #fff;
  opacity: 0.7;
}

/*================================

0〜1366px

================================*/
@media only screen and (max-width: 1366px) {
}

/*================================

0〜992px

================================*/
@media only screen and (max-width: 992px) {
}

/*================================

0〜767px

================================*/
@media only screen and (max-width: 767px) {
  /*共通
  ------------------------------*/
  /*ボックス（ふきだし）*/
  .point_txt {
    margin-bottom: 10px;
  }
  .point_txt:before {
    top: 100%;
    left: 80%;
    margin-top: 0px;
    margin-left: 0px;
    border: 15px solid transparent;
    border-left: 0px;
    border-top: 15px solid #eee;
  }

  /*上部のリンクメニュー
  ------------------------------*/
  .page_menu ul li {
    flex-basis: 100%;
  }
  .page_menu p {
    text-align: left;
  }

  /*下部のリンクメニュー
	---------------------------------*/
  .bottom_linkmenu .bottom_linkmenu_btn {
    flex-basis: 100%;
  }
}

/*================================

0〜640px

================================
@media only screen and (max-width: 640px) {}
*/

/*================================

0〜480px

================================*/
@media screen and (max-width: 480px) {
}
