@charset "utf-8";


/* ---------------------------------- common ---------------------------------- */
.hp_yakuhan {
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}



/* ---------------------------------- helpers ---------------------------------- */
.hp_left {text-align: left;}
.hp_center {text-align: center;}
.hp_right {text-align: right;}



/* ---------------------------------- 1 column ---------------------------------- */
.ly_cont {
  max-width: 1130px;
  padding: 15px 15px;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
  background-color: #fff;
}


/* ---------------------------------- Visiters WEB ---------------------------------- */
.hp_btmLineRed {
  background-color: #FEF7E0;
  border-top: 2px solid #B01F24;
  border-bottom: 2px solid #B01F24;
  padding: 20px 20px;
}

.bl_headerUtils {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.bl_headerUtils_logo img {
  width: 125px;
}
.bl_headerUtils_logo__mypage img {
  width: 175px;
}
.bl_headerUtils_logo__box img {
  width: 300px;
}

.bl_headerUtils .el_btn {
  width: auto;
  padding: 10px 20px;
  box-shadow: none;
}


/* ---------------------------------- explain card ---------------------------------- */
.bl_aboutCard {
  display: flex;
  align-items: center;
  background-color: #f1f1f1;
  padding: 20px;
  border-radius: 3px;
  /* border-radius: 18px 18px 0 0; */
}
.bl_aboutCard_figure {
  text-align: center;
  padding: 10px 30px 15px 20px;
  border-right: 3px solid #aaa;
}
.bl_aboutCard_figure img {
  width: 160px;
}
.bl_aboutCard_txt {
  padding: 0 25px;
  font-size: 1.125rem;
  font-weight: 600;
}
.bl_aboutCard_txt span {
  color: #ed1c24;
}


/* ---------------------------------- 標準ボタン ---------------------------------- */
.el_btn {
  display: inline-block;
  width: 300px;
  max-width: 100%;
  padding: 20px 10px;
  background-color: #00a052;
  border: 2px solid transparent;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  color: #fff;
  font-size: 1.125rem;
  text-align: center;
  text-decoration: none;
  transition: .25s;
  box-sizing: border-box;
}

.el_btn:focus,
.el_btn:hover {
  background-color: #fff;
  border-color: currentColor;
  color: #00a052;
}


/* ---------------------------------- →矢印付き ---------------------------------- */
.el_btn.el_btn__arrowRight {
  position: relative;
  padding-right: 2em;
  padding-left: 1.38em;
}

.el_btn.el_btn__arrowRight::after {
  content: '\f061';
  position: absolute;
  top: 50%;
  right: .83em;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  transform: translateY(-50%);
}


/* ---------------------------------- ↓矢印付き ---------------------------------- */
.el_btn.el_btn__arrowDown {
  width: 270px;
  position: relative;
  padding-right: 2em;
  padding-left: 1.38em;
  margin-bottom: .25em;
}

.el_btn.el_btn__arrowDown::after {
  content: '\f063';
  position: absolute;
  top: 50%;
  right: .83em;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  transform: translateY(-50%);
}


/* ---------------------------------- 角丸ボタン ---------------------------------- */
.el_roundedBtn {
  display:  inline-block;
  width:  236px;
  max-width: 100%;
  padding:  15px 10px;
  background-color:  #00a052;
  border:  2px solid transparent;
  border-bottom-color:  #8FC31F;
  border-radius:  10px;
  color:  #fff;
  font-size:  1.125rem;
  text-align:  center;
  text-decoration:  none;
  transition:  .25s;
  box-sizing: border-box;
}

.el_roundedBtn:focus,
.el_roundedBtn:hover {
  background-color:  #fff;
  border-color:  currentColor;
  color:  #00a052;
}


/* ---------------------------------- アイコン付き小ボタン ---------------------------------- */
.el_beforeIconBtn {
  position: relative;
  display: inline-block;
  padding: .2em .3em;
  border: 1px solid currentColor;
  color: #00a052;
  text-decoration: none;
  transition: .25s;
  box-sizing: border-box;
  margin-bottom: .4rem;
}

.el_beforeIconBtn:focus,
.el_beforeIconBtn:hover {
  background-color: #00a052;
  color: #fff;
}

.el_beforeIconBtn::before {
  display: inline-block;
  margin-right: .5em;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}

.el_beforeIconBtn.el_beforeIconBtn__download::before {
  content: '\f019';
}


/* ---------------------------------- アイコン違い ---------------------------------- */
.el_beforeIconBtn.el_beforeIconBtn__zoom::before {
  content: '\f00e';
  transform: translateY(-6%);
}
.el_beforeIconBtn.el_beforeIconBtn__hash::before {
  content: '\23';
}


/* ---------------------------------- アイコン ---------------------------------- */
.el_beforeIcon::before {
  display: inline-block;
  margin-right: .3em;
  color: #00a052;
  font-family: 'Font Awesome 5 Free';
  font-weight: 400;
}

.el_beforeIcon.el_beforeIcon__pdf::before {
  content: '\f1c1';
}


/* ---------------------------------- ラベル ---------------------------------- */
.el_label {
  display: inline-block;
  padding: .2em .3em;
  background-color: #00a052;
  color: #fff;
  font-size: .75rem;
  font-weight: bold;
  box-sizing: border-box;
}


/* ---------------------------------- 色違い ---------------------------------- */
.el_label.el_label__red {
  background-color: #C8A569;
  padding: 0 5px;
  margin-bottom: 8px;
  border-radius: 3px;
}


/* ---------------------------------- リンク ---------------------------------- */
.el_label {
  border: 2px solid transparent;
}

a.el_label {
  text-decoration: none;
  transition: .25s;
}

a.el_label:focus,
a.el_label:hover {
  background-color: #fff;
  border-color: currentColor;
  color: #00a052;
}


/* ---------------------------------- 見出しレベル2 colorBar ---------------------------------- */
.el_lv2Heading_colorBar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 15px;
  background: linear-gradient(45deg, #00a052  0%, #00a052 50%, #00a052 50%, #00a052 100%);
  border-radius: 2px;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  margin-top: 10px;
  margin-bottom: 10px;
}
.el_lv2Heading_colorBar > span {
  font-size: 1rem;
  color: #fff;
  font-weight: normal;
}

.el_subCategory {
  border-bottom: 3px dotted #8FC320;
  font-weight: bold;
  margin-bottom: 10px;
}
.el_subCategory > span {
  display: inline-block;
  padding: 3px 12px 3px 12px;
  background-color: #8FC320;
  color:#fff;
  margin-bottom: 3px;
}


/* ---------------------------------- 見出しレベル3 ---------------------------------- */
.el_lv3Heading {
  padding-bottom: 6px;
  border-bottom: 2px solid #00a052;
  font-size: 1.5rem;
  font-weight: bold;
  margin-top: 10px;
  margin-bottom: 10px;
}


/* ---------------------------------- 見出しレベル4 steps ---------------------------------- */
.el_lv4Heading_steps {
  border-bottom: 3px dotted #00a052;
  font-size: 1.25rem;
  font-weight: bold;
  margin-top: 10px;
  margin-bottom: 10px;
}
.el_lv4Heading_steps > span {
  display: inline-block;
  padding: 5px 10px 5px 10px;
  background-color: #00a052;
  color:#fff;
  margin-right: 10px;
  margin-bottom: 3px;
}

.el_lv4Heading_steps2 {
  border-bottom: 3px dotted #8FC320;
  font-weight: bold;
}
.el_lv4Heading_steps2 > span {
  display: inline-block;
  padding: 3px 12px 3px 12px;
  background-color: #8FC320;
  color:#fff;
  margin-bottom: 3px;
}


/* ---------------------------------- 見出しレベル5 ---------------------------------- */
.el_lv5Heading {
  color: #00a052;
  font-size: 1.125rem;
  font-weight: bold;
  margin-top: 10px;
  margin-bottom: 10px;
}


/* ---------------------------------- 注釈 ---------------------------------- */
.el_caution {
  color: #d40152;
}


/* ---------------------------------- 補足・付記 ---------------------------------- */
.el_note {
  font-size: .75rem;
}


/* ---------------------------------- カード ---------------------------------- */
.bl_card {
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.bl_card.bl_card__yellow {
  background-color: seashell;
}

.bl_card_imgWrapper {
  position: relative;
  padding-top: 56.25%;
  overflow: hidden;
  margin: 0;
}

.bl_card_imgWrapper > img {
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
}

.bl_card_body {
  padding: 15px;
}

.bl_card_body > *:last-child {
  margin-bottom: 0;
}

.bl_card_ttl {
  margin-bottom: 5px;
  font-size: 1.125rem;
  font-weight: bold;
  margin-top: 0;
}

.bl_card_txt {
  color: #777;
  margin-top: 0;
}


/* ---------------------------------- バッジ付き ---------------------------------- */
.bl_card_badge {
  position: relative;
}

.bl_card_badge::after {
  content: '';
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-width: 3.75rem 3.75rem 0 0;
  border-style: solid;
  border-color: #00a052 transparent transparent transparent;
}
.bl_card_badge.bl_card_badge__blue::after {
  border-color: #0387B1 transparent transparent transparent;
}
.bl_card_badge.bl_card_badge__yellow::after {
  border-color: #e19d29 transparent transparent transparent;
}

.bl_card_badge_txt {
  position: absolute;
  z-index: 2;
  top: .5rem;
  left: .1125rem;
  color: #fff;
  font-size: .875rem;
  font-weight: bold;
  transform: rotate(-45deg);
}


/* ---------------------------------- リンク ---------------------------------- */
a.bl_card {
  display: block;
  color: currentColor;
  text-decoration: none;
  transition: .25s;
}

a.bl_card .bl_card_ttl,
a.bl_card .bl_card_txt {
  transition: .25s;
}

a.bl_card:focus,
a.bl_card:hover {
  opacity: .75;
}

a.bl_card:focus .bl_card_ttl,
a.bl_card:focus .bl_card_txt,
a.bl_card:hover .bl_card_ttl,
a.bl_card:hover .bl_card_txt {
  color: #00a052;
  text-decoration: underline;
}


/* ---------------------------------- 3カラム ---------------------------------- */
.bl_cardUnit {
  display: flex;
  flex-wrap: wrap;
}

.bl_cardUnit.bl_cardUnit__col3 {
  margin-bottom: -30px;
}

.bl_cardUnit__col3 > .bl_card {
  width: 31.707%;
  margin-right: 2.43902%;
  margin-bottom: 30px;
}

.bl_cardUnit__col3 > .bl_card:nth-of-type(3n) {
  margin-right: 0;
}


/* ---------------------------------- タブナビゲーション ---------------------------------- */
.bl_tabNav_inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: -10px;
  padding-left: 0;
  margin-top: 0;
  list-style-type: none;
}

.bl_tabNav_link {
  display: inline-block;
  padding-right: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
  margin-bottom: 10px;
  border-bottom: 4px solid #efefef;
  color: #444;
  text-decoration: none;
  transition: .25s;
  margin-right: 10px;
  /* width: 276px; */
}

.bl_tabNav_link:focus,
.bl_tabNav_link:hover {
  border-bottom-color: currentColor;
  color: #00a052;
  opacity: .75;
}

.bl_tabNav_link.is_active {
  border-bottom-color: currentColor;
  color: #00a052;
  pointer-events: none;
  font-weight: 600;
}

.hp_navGuide {
  display: none;
}


/* ---------------------------------- FAQ ---------------------------------- */
.bl_faq {
  margin-top: 0;
  margin-bottom: 0;
}

.bl_faq > *:last-child {
  margin-bottom: 0;
}

.bl_faq_q,
.bl_faq_a {
  position: relative;
  display: flex;
  align-items: flex-start;
  box-sizing: content-box;
  min-height: 45px;
  padding-left: 60px;
}

.bl_faq_q {
  margin-bottom: 15px;
  font-size: 1.125rem;
  font-weight: bold;
}

.bl_faq_q_txt {
  padding-top: 12px;
  text-align: left;
}

.bl_faq_a {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #ddd;
  margin-left: 0;
}

.bl_faq_icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  font-weight: normal;
  line-height: 45px;
  text-align: center;
}

.bl_faq_q .bl_faq_icon {
  background-color: #00a052;
  color: #fff;
}

.bl_faq_a .bl_faq_icon {
  background: #efefef;
  color: #00a052;
}

.bl_faq_a_body {
  padding-top: 12px;
}

.bl_faq_a_body > *:last-child {
  margin-bottom: 0;
}

.bl_faq_a_txt {
  margin-bottom: 20px;
  margin-top: 0;
}


/* ---------------------------------- ポストリスト ---------------------------------- */
.bl_vertPosts {
  padding-left: 0;
  list-style-type: none;
}

.bl_vertPosts_item {
  padding-top: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #ddd;
}

.bl_vertPosts_item:first-child {
  padding-top: 0;
}

.bl_vertPosts_header {
  margin-bottom: 10px;
}

.bl_vertPosts_date {
  font-size: .875rem;
}

.bl_vertPosts_ttl {
  text-decoration: none;
}

.bl_vertPosts_ttl:focus,
.bl_vertPosts_ttl:hover {
  text-decoration: underline;
}


/* ---------------------------------- 順序なしリスト ---------------------------------- */
.bl_bulletList {
  padding-left: 0;
  list-style-type: none;
}

.bl_bulletList > *:last-child {
  margin-bottom: 0;
}

.bl_bulletList > li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 10px;
  box-sizing: border-box;
}

.bl_bulletList > li::before {
  content: '';
  position: absolute;
  top: .5em;
  left: 0;
  display: block;
  width: .4em;
  height: .4em;
  background-color: #00a052;
  border-radius: 50%;
}


/* ---------------------------------- ネスト ---------------------------------- */
.bl_bulletList ul {
  padding-left: 1.5em;
  margin-top: 10px;
  list-style-type: circle;
}

.bl_bulletList ul > *:last-child {
  margin-bottom: 0;
}

.bl_bulletList ul > li {
  margin-bottom: 10px;
}


/* ---------------------------------- 順序ありリスト ---------------------------------- */
.bl_orderList {
  counter-reset: bl_orderList;
  padding-left: 0;
  list-style-type: none;
}

.bl_orderList > *:last-child {
  margin-bottom: 0;
}

.bl_orderList > li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 10px;
}

.bl_orderList > li::before {
  content: counter(bl_orderList) '. ';
  position: absolute;
  top: 0;
  left: 0;
  color: #00a052;
  font-weight: bold;
  counter-increment: bl_orderList;
}


/* ---------------------------------- ネスト ---------------------------------- */
.bl_orderList ol {
  margin-top: 10px;
  counter-reset: bl_childOrderList;
  padding-left: 0;
  list-style-type: none;
}

.bl_orderList ol > *:last-child {
  margin-bottom: 0;
}

.bl_orderList ol > li {
  position: relative;
  padding-left: 1em;
  margin-top: 10px;
}

.bl_orderList ol > li::before {
  content: counter(bl_childOrderList) '. ';
  position: absolute;
  top: 0;
  left: 0;
  color: #00a052;
  counter-increment: bl_childOrderList;
}

.loadingoverlay {
  background: rgba(255, 255, 255, 1) !important;
}
html.user-default {
  visibility: hidden;
}
html.wf-active, html.loading-delay {
  visibility: visible;
}
.overflow-unset {
  overflow: unset !important;
  margin-bottom: 20px;
}
