﻿@charset "utf-8";
/*--------------------------------------------------------------------------------

  follow-up

--------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------
  parts追記
--------------------------------------------------------------------------------*/
.c-heading5 {
  font-size: var(--fs-l);
  font-weight: bold;
  margin-bottom: 10px;
}
.c-heading5::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  vertical-align: -1px;
  background: #3296e1;
  border-radius: 50%;
  margin-right: 7px;
}

.c-list.-circle { --list-mark-size: 0.8em; --list-mark-mgt: 0.5em; }
.c-list.-circle { display: flex; flex-direction: column; line-height: var(--line-height); }
.c-list.-circle[data-list-fs="s"] { --list-mark-fs: var(--fs-s); } 
.c-list.-circle[data-list-fs="m"] { --list-mark-fs: var(--fs-m); }
.c-list.-circle[data-list-fs="l"] { --list-mark-fs: var(--fs-l); } 
.c-list.-circle:not([class*="u-rgap"]):not([class*="u-gap"]) { row-gap: var(--list-rgap, 0.25rem); }
.c-list.-circle > li,
.c-list.-circle:not(:has(li)) { position: relative; padding-left: calc(var(--list-mark-size) + 0.75rem); }
.c-list.-circle > li:before,
.c-list.-circle:not(:has(li)):before {
  content: "";
  position: absolute;
  top: var(--list-mark-mgt);
  left: calc((1em - var(--list-mark-size)) / 2);
  display: inline-block;
  width: var(--list-mark-size);
  height: var(--list-mark-size);
  font-size: var(--list-mark-fs);
  vertical-align: middle;
  line-height: 1;
}
.c-list.-circle.-orange > li:before,
.c-list.-circle.-orange:not(:has(li)):before { background-color: #fe9640; }
.c-list.-circle.-blue > li:before,
.c-list.-circle.-blue:not(:has(li)):before   { background-color: #82c8fc; }
.c-list.-circle > li:before,
.c-list.-circle:not(:has(li)):before { --list-mark-size: 0.5em; --list-mark-mgt: 0.6em; border-radius: 9999px; }
.c-list.-circle > li,
.c-list.-circle:not(:has(li)) { padding-left: calc(var(--list-mark-size) + 0.5rem); }
.c-list.standard {
}
.c-list.standard > li {
  line-height: 1.6;
}
.c-list.u-mgt-is {
  margin-top: 10px;
}
.c-list.u-mgt-im {
  margin-top: 15px;
}


/*--------------------------------------------------------------------------------
  労災二次健康診断
--------------------------------------------------------------------------------*/

/* 労災二次健康診断の対象者
-------------------------------------------------- */
.niji ul.target {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--box-pd, var(--default-box-pd)) !important;
  background: #e8f9fd;
  padding: var(--box-pd, var(--default-box-pd));
}
.niji ul.target li {
  width: calc((100% - var(--box-pd, var(--default-box-pd))) / 2);
  font-size: var(--fs, var(--fs-l));
  font-weight: bold;
  background: #ffffff;
  padding: var(--box-pd, var(--default-box-pd));
}
.niji ul.target li::before {
  content: "☑";
  padding-right: 0.5em;
}
@media (max-width: 760px) {
.niji ul.target {
  display: flex;
  flex-direction: column;
}
.niji ul.target li {
  width: 100%;
}
}

/* 労災二次健康診断の内容
-------------------------------------------------- */
.niji .option-tbl {
  width: 100%;
  border-collapse: collapse;
}
.niji .option-tbl thead { line-height: var(--line-height-s); }
.niji .option-tbl thead th {
  color: #ffffff;
  vertical-align: middle;
  background-color: var(--pale-color-primary);
  padding: 0.75rem 1rem;
}
.niji .option-tbl thead th:not(:first-child) { border-left: 1px solid rgba(255,255,255,0.4); }
.niji .option-tbl thead th:first-child       { border-left: 1px solid var(--pale-color-primary); }
.niji .option-tbl thead th:not(:first-child) {
  text-align: center;
  border-right: 1px solid var(--pale-color-primary);
}
.niji .option-tbl tbody th,
.niji .option-tbl tbody td { border: 1px solid var(--pale-color-primary); }
.niji .option-tbl .cell-ttl {
  vertical-align: middle;
  line-height: var(--line-height-s);
  padding: 1rem;
}
.niji .option-tbl .cell-ttl { background-color: var(--pale-color-primary-lightest); }
.niji .option-tbl .cell-desc {
  vertical-align: middle;
  padding: 1.25rem 1rem;
}
.niji .option-tbl .cell-desc ul.c-list.-horizontal {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  column-gap: 20px;
}
@media (max-width: 760px) {
  .niji .option-tbl          { font-size: var(--fs-s); }
  .niji .option-tbl thead th { padding: 0.75rem; }
  .niji .option-tbl .cell-ttl,
  .niji .option-tbl .cell-desc {
    font-size: var(--fs-s);
    padding: 1rem 0.75rem;
  }
}


/*--------------------------------------------------------------------------------
  精密検査・医療機関の受診
--------------------------------------------------------------------------------*/

/* 精密検査・医療機関の受診について
-------------------------------------------------- */
.saikensa ul.c-list.mgtb-s {
  margin-top: 10px;
  margin-bottom: 10px;
}
.saikensa ul.c-tag-list {
}
.saikensa ul.c-tag-list > li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: calc((100% - 1rem) / 3);
}
@media (max-width: 760px) {
.saikensa ul.c-tag-list > li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: calc((100% - 0.5rem) / 2);
}
}

/* 医療機関の受診に際して
-------------------------------------------------- */
.saikensa .flex-container {
  display: flex;
  column-gap: 50px;
}
.saikensa .flex-container > dl {
  display: flex;
  flex-direction: column;
  width: calc((100% - 50px) / 2);
}
.saikensa .flex-container > .l-box {
  width: calc(100% - 450px);
}
.saikensa .flex-container > .r-box {
  flex-shrink: 0;
  max-width: 400px;
}
.saikensa .flex-container > .r-box > img {
  width: 100%;
  aspect-ratio: 4 / 3;
}
@media (max-width: 760px) {
.saikensa .flex-container {
  flex-direction: column;
  row-gap: 30px;
  column-gap: normal;
}
.saikensa .flex-container > dl {
  width: 100%;
}
.saikensa .flex-container > .l-box {
  width: 100%;
}
.saikensa .flex-container > .r-box {
  max-width: 100%;
}
}


/*--------------------------------------------------------------------------------
  特定保健指導
--------------------------------------------------------------------------------*/

/* 特定保健指導の対象者
-------------------------------------------------- */
.tokutei-hoken ul.target {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--box-pd, var(--default-box-pd)) !important;
  background: #e8f9fd;
  padding: var(--box-pd, var(--default-box-pd));
}
.tokutei-hoken ul.target > li {
  width: calc((100% - var(--box-pd, var(--default-box-pd))) / 2);
  font-size: var(--fs, var(--fs-l));
  font-weight: bold;
  background: #ffffff;
  padding: var(--box-pd, var(--default-box-pd));
}
.tokutei-hoken ul.target > li::before {
  content: "☑";
  vertical-align: top;
  padding-right: 0.25em;
}
.tokutei-hoken ul.target > li > dl {
  display: inline-block;
  width: calc((100% - var(--fs, var(--fs-l))) - 0.5em);
  font-size: 1rem;
}
.tokutei-hoken ul.target > li > dl > dt {
  font-size: var(--fs, var(--fs-l));
}
.tokutei-hoken ul.target > li > dl > dd {
  font-size: var(--fs, var(--fs-s));
  font-weight: normal;
}
@media (max-width: 760px) {
.tokutei-hoken ul.target {
  display: flex;
  flex-direction: column;
}
.tokutei-hoken ul.target > li {
  width: 100%;
}
}

/*--------------------------------------------------------------------------------

  働く人の健康サポート

--------------------------------------------------------------------------------*/
.support .support-seminar {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem var(--space-l);
}
.support .support-seminar dt {
  padding-bottom: 0.25rem;
  color: var(--color-primary-dark);
}
@media (max-width: 760px) {
  .support .support-seminar {
    grid-template-columns: 1fr;
  }
}


/*--------------------------------------------------------------------------------
  特定保健指導のご予約について
--------------------------------------------------------------------------------*/
.reserve .rsv-flow_item {
  position: relative;
  display: grid;
  column-gap: max(var(--space-s), 2rem);
  padding-top: max(var(--space-s), 2rem);
}
.reserve .rsv-flow_item:first-of-type {
  border-top: 2px solid var(--color-gray-lighter2);
}
.reserve .rsv-flow_item:not(:last-of-type) {
  border-bottom: 2px solid var(--color-gray-lighter2);
  padding-bottom: max(var(--space-s), 2rem);
}
.reserve .rsv-flow_item .no {
  grid-row: span 2;
  color: var(--color-primary);
  font-size: var(--fs-m);
  font-weight: 500;
  line-height: 1;
}
.reserve .rsv-flow_item .ttl {
  color: var(--color-primary);
  font-size: var(--fs-2l);
  font-family: var(--ff-go);
  font-weight: 500;
  margin-top: calc(-1 * (1em - 1.25rem));
}
.reserve .rsv-flow_item .txt {
  padding-top: 0.5rem;
}
@media (min-width: 761px) {
  .reserve .rsv-flow_item {
    grid-template-columns: auto 1fr;
  }
  .reserve .rsv-flow_item .no {
    padding-top: 0.65rem;
  }
}
@media (max-width: 760px) {
  .reserve .rsv-flow_item .ttl {
    padding-top: 1rem;
  }
}


/*--------------------------------------------------------------------------------
  各種メールフォーム
--------------------------------------------------------------------------------*/

/* 基本部分
-------------------------------------------------- */
.hihyouji {
  display: none;
}
.hyouji {
  display: block;
}

/* フォーム
-------------------------------------------------- */
#tokutei_moushikomi .chk-group {
  display: inline-block;
}
#tokutei_monsin .monshin-required {
  position: static;
  margin-left: 1em;
}

/* カレンダー
-------------------------------------------------- */
.weekbtn {
  display: flex;
  justify-content: space-between;
  margin-bottom: 24px;
  font-size: 87.5%;
}
.weekbtn .notbtn {
  background-color: #999;
  color: #fff;
}
.reserve--hopedaytime {
  display: none;
}
.reserve--hopedaytime.nowTbl {
  display: block;
}
.reserve--hopedaytimeTbl {
  width: 100%;
  border-collapse: collapse;
  border: 2px solid #f9d88c;
  font-size: 87.5%;
  vertical-align: middle;
  padding: 0;
  margin: 0;
}
.reserve--hopedaytimeTbl th,
.reserve--hopedaytimeTbl td {
  border-bottom: 1px solid #f9d88c;
  text-align: center;
}
.reserve--hopedaytimeTbl thead th {
  background-color: #fbefc3;
  border-bottom: 2px solid #f9d88c;
  border-left: 1px solid #f9d88c;
  padding: 6px;
  line-height: 1.4;
  white-space: nowrap;
}
.reserve--hopedaytimeTbl thead th.saturday {
  color: #2E77E8;
}
.reserve--hopedaytimeTbl thead th.holiday {
  color: #E82F2F !important;
}
.reserve--hopedaytimeTbl tbody th {
  background-color: #fcf6de;
  vertical-align: middle;
  white-space: nowrap;
  padding: 6px;
}
.reserve--hopedaytimeTbl tbody td {
  border-left: 1px solid #f9d88c;
  padding: 0;
  font-size: 125%;
}
.reserve--hopedaytimeTbl tbody td.chknot {
  background-color: #f6f6f6;
  padding: 8px 0;
}
.reserve--hopedaytimeTbl tbody td input[type="radio"] {
  display: none;
}
.reserve--hopedaytimeTbl tbody td label {
  display: block;
  width: 100%;
  height: 100%;
  padding: 8px 0;
  text-align: center;
}

@media screen and (max-width:640px) {
  .reserve--hopedaytimeTbl thead th {
    padding: 12px 3px;
  }
  .reserve--hopedaytimeTbl tbody th {
    padding: 12px 3px;
  }
  .reserve--hopedaytimeTbl tbody td.chknot {
    padding: 12px 0;
  }
  .reserve--hopedaytimeTbl tbody td label {
    padding: 12px 0;
  }
}

.reserve--hopedaytimeNote {
  margin-top: 1em;
  font-size: 87.5%;
}

@media screen and (max-width:640px) {
  .reserve--hopedaytimeNote {
    font-size: 100%;
  }
}

/* 食習慣
-------------------------------------------------- */
.syokusyukan {
  padding-top: 1em;
  text-align: left;
}
.syokusyukan-hdline {
  line-height: 1.4;
  padding-top: 0.25em;
  text-align: left;
}
.syokusyukan-fm1 {
  margin-top: 0.75em !important;
  border-bottom: 0 !important;
}
.syokusyukan .fm-ip-group--col {
  margin: 0;
  padding: 0;
}
.syokusyukan .fm-ip-group--col li {
  width: 100%;
  padding-right: 0;
  margin-top: .5em;
}
.syokusyukan .fm-ip-group--col li:first-child {
  margin-top: 0;
}
.syokusyukan .fm-ip-group--col li label {
  padding-right: 0;
}

@media screen and (min-width:748px) {
  .syokusyukan-fm1 dt {
    width: 8em;
  }
  .syokusyukan-fm1 dd {
    width: calc(100% - 8em);
  }
}

@media screen and (max-width:747px) {
  .syokusyukan .fm-ip-group--col li {
    margin-top: 1em;
  }
}

/* 問診
-------------------------------------------------- */
.monshin {
  padding-top: 1em;
  text-align: left;
}
.monshin-hdline {
  line-height: 1.4;
  padding-top: 0.25em;
  text-align: left;
}
.monshin-fm1 {
  margin-top: 0.75em !important;
  border-bottom: 0 !important;
}
.monshin-fm2 {
  margin-top: 0 !important;
}
.monshin .fm-ip-group--col li {
  flex-basis: calc(100% - 1.5em);
  white-space: nowrap;
}
.monshin .fm-ip-group--col3 li {
  flex-basis: calc((100% / 3) - 1.5em);
  white-space: nowrap;
}
.monshin .fm-ip-group--col4 li {
  flex-basis: calc((100% / 4) - 1.5em);
  white-space: nowrap;
}
.monshin .fm-ip-group .basis100 {
  flex-basis: 100%;
}
.monshin .fm-ip-group .basis100 label { padding-right:0; }

@media (min-width:641px) {
  .monshin-fm1 dt {
    width: 8em;
  }
  .monshin-fm1 dd {
    width: calc(100% - 8em);
  }
  .monshin-fm2 dt {
    width: 20em;
  }
  .monshin-fm2 dd {
    width: calc(100% - 20em);
  }
}

@media only screen and (max-width:500px) {
  .monshin .fm-ip-group--col3 li {
    flex-basis: calc((100% / 2) - 1.5em);
  }
}

.ui-datepicker {
  z-index: 10 !important;
}
.fm-cal {
  display: inline;
  position: relative;
}
.fm-cal:not(:last-of-type) input {
  margin-bottom: 0.5em;
}
.fm-cal input {
  position: relative;
  z-index: 0;
  padding-right: 1.75em !important;
  padding-left: 2.25em !important;
}
.fm-cal:before {
  content: "";
  pointer-events: none;
  display: inline-block;
  position: absolute;
  left: 0.5em;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  width: 1.15em;
  height: 1.15em;
  background: url("../../image/icon/cal.svg") no-repeat center center;
  background-size: contain;
}
.fm-cal_clear {
  pointer-events: none;
  display: none;
}
.fm-cal_clear.is-active {
  pointer-events: inherit;
  cursor: pointer;
  display: inline-block;
  position: absolute;
  right: 0.25em;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 1.5em;
  height: 1.5em;
  background: url("../../image/icon/cal_close.svg") no-repeat center center;
  background-size: auto 0.75em;
}

/* カレンダー：選択日 */
.ui-datepicker-calendar .is-selected span {
  border-color: #003EFF !important;
  background-color: #007FFF !important;
  color: #FFF !important;
}
.ui-datepicker-calendar .is-selected {
  filter: none!important;
  opacity: 1 !important;
}
/* カレンダー：今日 */
.ui-datepicker-calendar .is-today span {
  border-color: #DAD55E !important;
  background-color: #FFFA90 !important;
  color: inherit !important;
}
.ui-datepicker-calendar .is-today {
  filter: none!important;
  opacity: 1 !important;
}

/* 特定保健指導同意等確認書・個人情報の取り扱いについて同意
-------------------------------------------------- */
.doui {
  text-align: left;
  padding-top: 1.75em;
}
.doui--check {
  background-color: #f8f8f8;
  border-bottom: 1px solid #c8c8c8;
  border-right: 1px solid #c8c8c8;
  border-left: 1px solid #c8c8c8;
  padding: 0.5em;
  text-align: center;
}
.doui--pdT { padding-top: 1em; }
.doui--pdB { padding-bottom: 1em; }
.doui--block {
  margin-top: 0.75em;
  overflow-y: scroll;
  height: 15em;
  border: 1px solid #c8c8c8;
  padding: 1em;
}
.doui--box {
  border: 2px solid #ebebeb;
  padding: 1em;
  margin: 0.5em 0;
}
.doui--ttl {
  display: inline-block;
  padding-bottom: 0.5em;
}
.doui-list--cno {
  list-style: none;
}
.doui-list--cno li {
  margin-left: 1em;
  text-indent: -1em;
  padding-top: 0.5em;
}
.doui-list--dot {
  list-style: none;
}
.doui-list--dot li:before {
  content: "・";
}
.doui-list--alpha {
  list-style: lower-alpha;
  list-style-position: inside;
  padding-left: 0.25em;
}
.doui-list--alpha li {
  text-indent: -1.25em;
  padding-left: 0.25em;
}

/* 連絡先
-------------------------------------------------- */
.privacyContact {
  border-radius: 4px;
  text-align: center;
  border: 2px solid #fcd0b2;
  box-sizing: border-box;
  padding: 1em;
  margin-top: 1em;
}
.privacyContact .cname {
  padding-bottom: 0.25em;
}
.privacyContact .cname .t-nowrap {
  display: inline-block;
  vertical-align: top;
  margin: 0 0.5em;
}
.privacyContact .ad {
  display: inline-block;
  padding-right: 1em;
}
.privacyContact .tel-txt {
  font-weight: inherit;
}
.privacyContact .tel-link:before {
  content: "TEL.";
}
.privacyContact .tel-link .tel-ic {
  display: none;
  background-image: url(../../image/icon/tel-orange_b.png);
}
.privacyContact .tel-link .tel-txt:before {
  background-image: url(../../image/icon/taptocall-orange-L.png);
}

@media only screen and (max-width:767px) {
  .privacyContact .cname {
    line-height: 1.4;
  }
  .privacyContact .cname small {
    font-size: 75.0%;
  }
  .privacyContact .ad {
    display: block;
    padding-right: 0;
    padding-bottom: 0.25em;
  }
  .privacyContact .tel-txt .tel-ic {
    display: inherit;
  }
  .privacyContact .tel-txt {
    font-weight: bold;
    color: #f99a5a;
    font-size: 137.5%;
  }
  .privacyContact .tel-link:before {
    display: none;
  }
}


/*--------------------------------------------------------------------------------
  共通
--------------------------------------------------------------------------------*/

/* caution
----------------------------------------*/
ul.caution {
  color: #e65064;
  margin-top: 5px;
}
ul.caution.mgt-m {
  margin-top: 15px !important;
}
ul.caution > li {
  padding-left: calc(1em + 5px);
}
ul.caution > li::before {
  content: "※";
  display: inline-block;
  text-indent: calc((1em + 5px) * -1);
}

/* faq
----------------------------------------*/
.js_acod {
}
.js_acod .js_acod-trigger {
  position: relative;
  display: flex;
  color: var(--color-primary-dark);
  font-weight: 500;
  margin-bottom: 0.5em;
  padding: 0.5em 2.5em 0.5em 1em;
  transition: background .3s ease;
  cursor: pointer;
}
.js_acod .js_acod-trigger:hover {
  background-color: var(--pale-color-primary-lighter);
}
.js_acod .js_acod-trigger::before {
  content: "Q：";
  flex-shrink: 0;
  display: block;
  width: 2rem;
  height: 100%;
}
.js_acod .js_acod-trigger span {
  display: block;
}
.js_acod .js_acod-trigger span::before,
.js_acod .js_acod-trigger span::after {
  content: "";
  position: absolute;
  top: 1px;
  right: 20px;
  bottom: 0;
  width: 12px;
  height: 2px;
  background: var(--color-primary-dark);
  margin: auto;
}
.js_acod .js_acod-trigger span::after {
  transform: rotate(-90deg);
  transition: transform 0.3s;
}
.js_acod .js_acod-trigger.is-active span::after {
  transform: rotate(0deg);
}
.js_acod .js_acod-item {
  display: flex;
  background-color: var(--pale-color-primary-lightest);
  margin-bottom: 1em;
  padding: 0.5em 1em;
}
.js_acod .js_acod-item::before {
  content:"A：";
  flex-shrink: 0;
  display: block;
  width: 2rem;
  color: #151e2f;
  font-weight: bold;
}
.js_acod .js_acod-item div {
  width: 100%;
}

.js_acod .js_acod-item div dl.block-container {
  margin: 10px 0 0 0;
}
.js_acod .js_acod-item div dl.block-container dt {
}
.js_acod .js_acod-item div dl.block-container dd.payment-contents {
  background: #ffffff;
  margin: 5px 0 15px 0;
  padding: var(--box-pd, var(--default-box-pd));
}

.js_acod .js_acod-item div .option-tbl {
  width: 100%;
  border-collapse: collapse;
  margin: 15px 0;
}
.js_acod .js_acod-item div .option-tbl colgroup {
}
.js_acod .js_acod-item div .option-tbl colgroup col:nth-of-type(1) { width: 6em; }
.js_acod .js_acod-item div .option-tbl colgroup col:nth-of-type(2) { width: 30%; }
.js_acod .js_acod-item div .option-tbl thead { line-height: var(--line-height-s); }
.js_acod .js_acod-item div .option-tbl thead th:first-child { border-left: 1px solid var(--pale-color-primary); }
.js_acod .js_acod-item div .option-tbl thead th:last-child  { border-right: 1px solid var(--pale-color-primary); }
.js_acod .js_acod-item div .option-tbl thead th:not(:first-child) {
  text-align: center;
  border-left: 1px solid rgba(255,255,255,0.4);
}
.js_acod .js_acod-item div .option-tbl tbody th,
.js_acod .js_acod-item div .option-tbl tbody td { border: 1px solid var(--pale-color-primary); }
.js_acod .js_acod-item div .option-tbl .cell-ttl {
  color: #ffffff;
  vertical-align: top;
  background: var(--pale-color-primary);
  padding: 0.75rem 1rem;
}
.js_acod .js_acod-item div .option-tbl .cell-subttl {
  vertical-align: top;
  background: var(--pale-color-primary-lightest);
  padding: 1.25rem 1rem;
}
.js_acod .js_acod-item div .option-tbl .cell-desc {
  vertical-align: top;
  background: #ffffff;
  padding: 1.25rem 1rem;
}
@media (max-width: 760px) {
  .js_acod .js_acod-item div .option-tbl          { font-size: var(--fs-s); }
  .js_acod .js_acod-item div .option-tbl thead th { padding: 0.75rem; }
  .js_acod .js_acod-item div .option-tbl .cell-ttl,
  .js_acod .js_acod-item div .option-tbl .cell-subttl,
  .js_acod .js_acod-item div .option-tbl .cell-desc {
    font-size: var(--fs-s);
    padding: 1rem 0.75rem;
  }
}

/* flowchart
----------------------------------------*/
ol.flowchart {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  column-gap: 20px;
}
ol.flowchart > li {
  position: relative;
  width: calc((100% - 40px) / 3);
}
ol.flowchart > li::before,
ol.flowchart > li::after {
  content: "";
  position: absolute;
  z-index: -1;
}
ol.flowchart > li::before {
  width: 100%;
  height: 100%;
  background: #82c8fc;
  clip-path: polygon(0% 0%, 85% 0%, 100% 50%, 85% 100%, 0% 100%);
}
ol.flowchart > li::after {
  top: 3px;
  left: 3px;
  width: calc(100% - 6.5px);
  height: calc(100% - 6px);
  background: #ffffff;
  clip-path: polygon(0% 0%, 85% 0%, 100% 50%, 85% 100%, 0% 100%);
}
ol.flowchart > li > dl {
  width: 85%;
  padding: var(--box-pd, var(--default-box-pd)) 0 var(--box-pd, var(--default-box-pd)) var(--box-pd, var(--default-box-pd));
}
ol.flowchart > li > dl > dt {
  display: flex;
  align-items: center;
  column-gap: 0.5em;
  color: #3296e1;
  font-size: var(--fs, var(--fs-2l));
}
ol.flowchart > li > dl > dt > span {
  flex-shrink: 0;
  display: inline-block;
  font-size: var(--fs, var(--fs-2s));
}
ol.flowchart > li > dl > dt > span:nth-of-type(2) {
  line-height: 1;
  font-size: 50%;
  font-weight: normal;
  margin-left: -10px;
}
ol.flowchart > li > dl > dd {
  margin-top: 10px;
}
ol.flowchart > li > dl > dd > p {
  margin-bottom: 10px;
}
ol.flowchart > li > dl > dd > dl {
}
ol.flowchart > li > dl > dd > dl > dt {
  margin-bottom: 5px;
}
ol.flowchart > li > dl > dd > dl > dd {
}
@media (max-width: 760px) {
ol.flowchart {
  flex-direction: column;
  row-gap: 20px !important;
  column-gap: normal;
}
ol.flowchart > li {
  width: 100%;
}
ol.flowchart > li::before {
  clip-path: polygon(0% 0%, 100% 0, 100% 85%, 50% 100%, 0 85%);
}
ol.flowchart > li::after {
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  clip-path: polygon(0% 0%, 100% 0, 100% 85%, 50% 100%, 0 85%);
}
ol.flowchart > li > dl {
  width: 100%;
  padding: var(--box-pd, var(--default-box-pd)) var(--box-pd, var(--default-box-pd)) 75px var(--box-pd, var(--default-box-pd));
}
}

/* c-box-contact
----------------------------------------*/
:root {
  /* default */
  --default-box-contact-line: var(--pale-color-primary-light);
}
dl.c-box-contact.-line      { --box-contact-line: var(--pale-color-primary-lighter); }
dl.c-box-contact.-gray-line { --box-contact-line: var(--border-color-light); }
dl.c-box-contact.-red       { --box-contact-line: var(--pale-color-red); }
dl.c-box-contact.-red-line  { --box-contact-line: var(--pale-color-red-lighter); }
dl.c-box-contact {
  display: grid;
  align-items: center;
  line-height: var(--line-height);
}
dl.c-box-contact > dt {
  position: relative;
  font-weight: bold;
  text-align: center;
}
dl.c-box-contact > dd {
}
dl.c-box-contact > dd > p {
  position: relative;
}
dl.c-box-contact > dd > p > sup {
  position: absolute;
  top: 0;
  left: clamp(112px,9.5vw,120px);
  display: inline-block;
  width: 8em;
  color: var(--tel-color, var(--color-primary));
}
dl.c-box-contact > dd > dl {
  display: flex;
  align-items: stretch;
  column-gap: 10px;
}
dl.c-box-contact > dd > dl > dt {
  font-weight: normal;
}
dl.c-box-contact > dd > dl > dd {
}
dl.c-box-contact > dd > dl > dd > dl {
  display: flex;
  column-gap: 10px;
}
dl.c-box-contact > dd > dl > dd > dl > dt {
  font-weight: normal;
}
dl.c-box-contact > dd > dl > dd > dl > dd {
}
dl.c-box-contact > dd > dl > dd > dl > dd span {
  display: inline-block;
  text-indent: 0.625rem;
}
@media (min-width: 761px) {
  dl.c-box-contact {
    grid-template-columns: auto 1fr;
  }
  dl.c-box-contact > dt {
    padding-left: var(--box-space-s);
    padding-right: calc(var(--box-pd, var(--default-box-pd)) + var(--box-space-s));
  }
  dl.c-box-contact > dd {
    padding-left: var(--box-space-m);
    border-left: 1px solid var(--box-contact-line, var(--default-box-contact-line));
  }
}
@media (max-width: 760px) {
  dl.c-box-contact { justify-items: center; }
  dl.c-box-contact > dt {
    border-bottom: 1px solid var(--box-contact-line, var(--default-box-contact-line));
    padding-bottom: 1rem;
  }
  dl.c-box-contact > dd {
    align-items: center;
    text-align: center;
    padding-top: var(--box-space-s);
  }
  dl.c-box-contact > dd * {
    justify-content: center;
  }
  dl.c-box-contact > dd > p > sup {
    left: 103px;
  }
}
@media (max-width: 600px) {
  dl.c-box-contact > dd > p > sup {
    left: clamp(72px,22vw,90px);
  }
}
