.scFlowSection .flowScProBlock h3 {
  display: none;
  /* スマホでは非表示 */
}

.scFlowSection .wrapTxt {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  /* スマホベース */
  gap: 8px;
  /* スマホベース */
  margin-bottom: 24px;
}

.scFlowSection .badge {
  display: inline-block;
  padding: 6px 14px;
  font-size: var(--fs-13);
  font-weight: bold;
  border-radius: 4px;
  border: 1px solid transparent;
}

.scFlowSection .badge.is-iid {
  background-color: var(--c-pale-blue);
  color: var(--c-primary);
  border-color: rgba(37, 74, 132, 0.2);
}

.scFlowSection .badge.is-customer {
  background-color: var(--c-bg-yellow);
  color: var(--c-orange);
  border-color: rgba(236, 105, 34, 0.2);
}

.scFlowSection .flowList {
  display: flex;
  flex-direction: column;
  gap: 16px;
  list-style: none;
  padding: 0;
}

.scFlowSection .flowItem {
  display: flex;
  padding: 16px;
  /* スマホベース */
  gap: 12px;
  /* スマホベース */
  border-radius: 0;
  border-left: 6px solid transparent;
  background-color: var(--c-bg-light);
}

.scFlowSection .flowItem.is-iid {
  border-left-color: var(--c-primary);
  box-shadow: 0 2px 8px rgba(37, 74, 132, 0.04);
}

.scFlowSection .flowItem.is-customer {
  border-left-color: var(--c-orange);
  box-shadow: 0 2px 8px rgba(236, 105, 34, 0.04);
}

.scFlowSection .flowNumber {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: var(--fs-18);
  font-weight: 900;
  color: var(--c-white);
  flex-shrink: 0;
}

.scFlowSection .flowItem.is-iid .flowNumber {
  background-color: var(--c-primary);
}

.scFlowSection .flowItem.is-customer .flowNumber {
  background-color: var(--c-orange);
}

.scFlowSection .flowContent {
  flex-grow: 1;
}

.scFlowSection .flowTit {
  font-size: var(--fs-15);
  /* スマホベース */
  font-weight: 700;
  line-height: 1.5;
  color: var(--c-text);
}

.scFlowSection .flowItem.is-iid .flowTit {
  color: var(--c-primary);
}

.scFlowSection .flowItem.is-customer .flowTit {
  color: var(--c-orange);
}

.scFlowSection .flowDetail {
  font-size: var(--fs-13);
  /* スマホベース */
  color: var(--c-text-muted);
  margin-top: 8px;
  line-height: 1.6;
}

.scFlowSection .flowTabBtns {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
  border-bottom: 2px solid var(--c-light-blue);
}

.scFlowSection .flowTabBtn {
  flex: 1;
  padding: 12px 8px;
  font-size: var(--fs-15);
  font-weight: bold;
  color: var(--c-text-muted);
  background-color: var(--c-bg-gray);
  border: none;
  border-radius: 6px 6px 0 0;
  cursor: pointer;
  transition: all 0.2s ease;
}

.scFlowSection .flowTabBtn.is-active {
  color: var(--c-white);
  background-color: var(--c-primary);
}

.scFlowSection .flowScProBlock {
  display: none;
}

.scFlowSection .flowScProBlock.is-active {
  display: block;
  animation: flowFadeIn 0.3s ease forwards;
}

.priceSubTit {
  margin: 0 auto;
  padding: 1em 0.5em;
  width: 90%;
  max-width: 1200px;
  border-top: solid 1px var(--c-border-dark);
  border-left: solid 1px var(--c-border-dark);
  border-right: solid 1px var(--c-border-dark);
  background-color: var(--c-bg-gray);
  text-align: center;
}

.priceSubTit02 {
  margin: 0 auto 2em;
  padding: 1em 0.5em;
  width: 90%;
  max-width: 1200px;
  border: solid 1px var(--c-border-dark);
  background-color: var(--c-bg-gray);
  text-align: center;
}

.priceTable {
  margin: 0 auto;
  max-width: 1200px;
  background-color: var(--c-white);
  border-top: solid 1px var(--c-border-dark);
  border-left: solid 1px var(--c-border-dark);
}

.priceTable th,
.priceTable td {
  padding: 0.5em 1em;
  border-bottom: solid 1px var(--c-border-dark);
  border-right: solid 1px var(--c-border-dark);
  font-size: var(--fs-c-18-24);
}

.priceTable td {
  text-align: right;
}

.priceAnnotation {
  margin: 0 auto 32px;
  padding: 0.5em 1em;
	width: 90%;
  max-width: 1200px;
  background-color: var(--c-white);
  border-bottom: solid 1px var(--c-border-dark);
  border-right: solid 1px var(--c-border-dark);
  border-left: solid 1px var(--c-border-dark);
}

.surveyTwoWrap {
  display: flex;
  gap: 2em;
}

.surveyCard01 {
  padding: 24px;
  background-color: #fff3f4;
}

.surveyTit01 {
  margin-bottom: 0.5em;
  padding: 0.25em;
  background-color: #e50012;
  color: var(--c-white);
  text-align: center;
  font-size: var(--fs-24);
  font-weight: 700;
}

.surveyCard02 {
  padding: 24px;
  background-color: #f4f6f9;
}

.surveyTit02 {
  margin-bottom: 0.5em;
  padding: 0.25em;
  background-color: var(--c-primary);
  color: var(--c-white);
  text-align: center;
  font-size: var(--fs-24);
  font-weight: 700;
}

.surveyStepTit {
  margin: 64px auto;
  padding: 0.25em;
  background-color: var(--c-bg-yellow);
  color: var(--c-primary);
  width: 90%;
  max-width: 1200px;
  text-align: center;
  font-size: var(--fs-c-24-48);
  font-weight: 700;
}

.surveyStepList {
  margin: 64px auto;
  width: 90%;
  max-width: 1040px;
}

.surveyStepList>li {
  margin-bottom: 2em;
  padding: 0.25em;
  border: solid 1px var(--c-border);
  background-color: var(--c-pale-blue);
}

.surveyStepList>li>span {
  display: inline-block;
  margin-right: 0.5em;
  padding: 0.5em 1em;
  background-color: var(--c-primary);
  color: var(--c-white);
}

.esSurveySimulatorBox {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.esSurveySimulatorBox>dt {
  background-color: #d3e6f6;
  color: var(--c-primary);
  padding: 10px 16px;
  font-weight: bold;
  font-size: var(--fs-15);
  border-radius: 6px;
}

.esSurveySimulatorBox>dd {
  padding: 8px 16px;
  background-color: #f4f6f9;
  border-radius: 6px;
  display: flex;
  align-items: center;
}

.esSurveySimulatorBox label {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: bold;
  font-size: var(--fs-15);
  width: 100%;
}

.priceEapOptTit {
  color: var(--c-primary);
  margin-bottom: 0.5em;
  padding: 0 0 0.5em;
  font-size: var(--fs-c-24-32);
  border-bottom: solid 1px var(--c-text);
}

.twoColumnOptArea {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  margin: 0 auto 64px;
  width: 90%;
  max-width: 1200px;
}

.priceOptLeft {
  width: 100%;
}

.priceOptLeft>img {
  width: 100%;
}




/* =========================================================
   下層ページ固有スタイル（WEB版・オプション・報告会など）
========================================================= */
.pageWebTit{
	margin-bottom: 0.5em;
	padding: 0.5em 1em;
	border: solid 1px var(--c-text);
	text-align: center;
}

.contactH2 {
  margin-bottom: 32px;
  padding-bottom: 64px;
  font-size: var(--fs-24);
  font-weight: 400;
  text-align: center;
  border-bottom: solid 1px var(--c-border-dark);
}

.debriefingCaseCard{
	border: solid 1px var(--c-border);
	background-color: var(--c-white);
	text-align: center;
}
.debriefingCaseCard > img{
	margin: 0 auto 1.75em;
	width: 90%;
}
.debriefingCaseTxt{
	margin-top: 1em;
	text-align: center;
	color: var(--c-red);
	font-size: var(--fs-36);
	font-weight: 900;
}

.debriefingReportCard{
	border: solid 1px var(--c-accent);
	border-radius: 8px;
}
.debriefingReportCard img{
	margin: 0 auto;
	display: block;
}
.debriefingReportTxt{
	margin-bottom: 0;
	padding: 0.75em;
	border-top: solid 1px var(--c-accent);
	background-color: var(--c-bg-yellow);
	border-bottom-right-radius: 9px;
	border-bottom-left-radius: 9px;
}

/* メインビジュアル背景カラー */
.practitionerMV{ background-color: #d0e4ef; }
.doctorMV{ background-color: #fff; }
.occupationalPhysicianV{ background-color: #f5f5f3; }
.diversityMV{ background-color: #e4f0f3; }
.debriefingMV{ background-color: #fafcfb; }
.esSurveyMV{ background-color: #f8f7fe; }
.comparisonMV{ background-color: #f7f7f7; }
.deliveryMV{ background-color: #faf6f0; }

/* =========================================================
   利用料金シミュレーター 価格表示エリア
========================================================= */
#js-default-price {
  font-size: 2em;
  font-weight: 900;
  margin: 0 4px;
  vertical-align: -2px;
  font-family: Arial, sans-serif;
}
#js-campaign-price,
#default_price {
  font-size: 2em;
  font-weight: 900;
  margin: 0 4px;
  vertical-align: -2px;
  font-family: Arial, sans-serif;
}

@media (min-width: 768px) {

  /* タブレット用フォントサイズ調整（サブヘッダー） */
  .subHeaderSubTit {
    padding: 0.5em 1em;
    border-radius: 1000px;
    background-color: var(--c-accent);
    text-align: center;
    font-weight: 700;
  }
  .scFlowSection .twoColumnArea {
    --two-col-gap: 40px;
    flex-direction: row;
  }

  .scFlowSection .flowScProBlock,
  .scFlowSection .flowScProBlock.is-active {
    display: block;
  }

  .scFlowSection .flowScProBlock h3 {
    display: block;
    text-align: center;
    margin-bottom: 20px;
    font-size: var(--fs-32);
  }

  .scFlowSection .flowTabBtns {
    display: none;
  }

  .scFlowSection .wrapTxt {
    gap: 12px;
  }

  .scFlowSection .flowItem {
    padding: 20px;
    gap: 16px;
  }

  .scFlowSection .flowTit {
    font-size: var(--fs-18);
  }

  .scFlowSection .flowDetail {
    font-size: var(--fs-14);
  }

  .twoColumnOptArea {
    flex-wrap: nowrap;
    flex-direction: row;
  }

  .priceOptLeft {
    max-width: 528px;
  }

  .priceOptRight {
    width: 100%;
  }
}

.scproSimulator,
.esSurveySimulator {
  margin: 0 auto;
  padding: 24px 16px;
  border-radius: 16px;
  background-color: var(--c-white);
  width: 100%;
  max-width: 1200px;
  box-sizing: border-box;
}

.simulatorTit {
  text-align: center;
  font-size: var(--fs-c-24-36);
  font-weight: 900;
  margin-bottom: 24px;
  color: var(--c-text);
}

.simulatorBox {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.simulatorBox>dt {
  background-color: #d3e6f6;
  color: var(--c-primary);
  padding: 10px 16px;
  font-weight: bold;
  font-size: var(--fs-15);
  border-radius: 6px;
}

.simulatorBox>dd {
  padding: 8px 16px;
  background-color: #f4f6f9;
  border-radius: 6px;
  display: flex;
  align-items: center;
}

.simulatorBox label {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: bold;
  font-size: var(--fs-15);
  width: 100%;
}

.simulatorBox input[type="radio"] {
  width: 18px;
  height: 18px;
}

.simulatorBox input[type="text"] {
  padding: 6px 12px;
  border: 1px solid var(--c-border);
  border-radius: 4px;
  width: 80px;
  margin-right: 8px;
  text-align: right;
  font-weight: bold;
  background-color: var(--c-white);
}

.scproPrice {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
}

.priceLeftGroup {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
}

.priceResult,
.priceSale {
  width: 100%;
  padding: 16px;
  border-radius: 8px;
  box-sizing: border-box;
}

.priceResult p,
.priceSale p {
	margin-bottom: 0;
  text-align: center;
	line-height: 1.5;
}

.priceResult {
  background-color: var(--c-bg-light);
  border: 1px solid var(--c-border-dark);
}

.priceResult p:nth-child(1) {
  font-size: var(--fs-c-18-24);
  color: var(--c-text-muted);
}

.priceResult p:nth-child(2) {
  font-size: var(--fs-c-20-26);
  font-weight: bold;
  color: var(--c-text-muted);
}

.priceCursor {
  display: flex;
  justify-content: center;
  align-items: center;
  transform: rotate(90deg);
}

.priceCursor img {
  width: 36px;
  height: auto;
}

.priceSale {
  background-color: var(--c-bg-yellow);
  border: 4px solid var(--c-dull-red);
}

.priceSale p {
  color: var(--c-dull-red);
}

.priceSale .scproSaleTit {
  display: block;
  background-color: var(--c-dull-red);
  color: var(--c-white);
  padding: 0.4em;
  font-weight: 900;
  font-size: var(--fs-24);
  margin-bottom: 12px;
  border-radius: 4px;
}

.priceSale p:nth-child(2) {
  font-size: var(--fs-c-20-26);
  font-weight: bold;
}

.priceSale p:nth-child(3) {
  font-size: clamp(22px, 2.6vw, 28px);
  font-weight: bold;
}

.simAlert {
  color: var(--c-red);
  font-size: var(--fs-13);
  font-weight: bold;
  margin-top: 4px;
  text-align: right;
  min-height: 1.5em;
}

.simSupplement {
  margin-top: 24px;
  font-size: var(--fs-13);
  color: var(--c-text-muted);
  line-height: 1.6;
}

.simSupplement>p {
  text-align: center;
}

.esSurveySimulator .priceResult {
  margin: 24px auto 0;
  max-width: 600px;
}

.esSurveySimulator .simSupplement {
  text-align: center;
}

.esSurveySimulator .simSupplement>p {
  text-align: left;
  display: inline-block;
}

.scproFlowList {
  margin: 0 auto clamp(60px, 10vw, 120px);
  padding: 0;
  width: 90%;
  max-width: 1200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  list-style: none;
}

.stepItem {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 320px;
}

.stepThumb {
  margin-bottom: 16px;
  width: 100%;
}

.stepThumb img {
  width: 100%;
  height: auto;
  display: block;
}

.stepTxt h3 {
  font-size: var(--fs-c-18-21);
  color: var(--c-primary);
  font-weight: 900;
  text-align: center;
  margin-bottom: 8px;
  line-height: 1.4;
}

.stepTxt p {
  font-size: var(--fs-14);
  line-height: 1.6;
  text-align: center;
}

.stepArrow {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 8px 0;
  transform: rotate(90deg);
}

.stepArrow img {
  width: clamp(20px, 4vw, 26px);
  height: auto;
}



/* =========================================================
   ストレスチェック大賞
========================================================= */
.scaAbout{
	margin: 0 auto 32px;
	padding: 14px;
	width: 90%;
	max-width: 1200px;
	background-color: var(--c-primary);
	color: var(--c-white);
}

.innerAbout{
	border: solid 1px;
	border-image: linear-gradient(90deg, rgba(251, 207, 0, 1) 0%, rgba(255, 252, 209, 1) 25%, rgba(203, 155, 12, 1) 60%, rgba(243, 225, 139, 1) 87%, rgba(255, 252, 209, 1) 100%) 1;
	text-align: center;
}

.innerAbout > h2{
	padding: 1em 0;
	font-size: clamp(21px, 2vw, 32px);
	font-feature-settings: "palt";
}

.innerAbout > p{
	padding: 0 24px;
	font-family: "Noto Serif JP";
	font-size: var(--fs-c-18-21);
}

.awardSelectArea{
	display: block;
	margin: 0 auto;
	padding: 14px;
	width: 90%;
	max-width: 884px;
	background-color: #f5f5f5;
	border-radius: 500px;
	text-align: center;
	text-decoration: none;
}

.awardSelectArea:hover{
	opacity: 0.5;
}

.innerAwardSeclect{
	padding: 24px;
	border: solid 2px transparent;
	border-radius: 500px;
	background: 
	/* 1枚目：要素の中身の背景色（ここでは白） padding-box でボーダーの内側で止める */
	linear-gradient(#fff, #fff) padding-box,
	/* 2枚目：ご希望のグラデーション border-box でボーダーの領域まで広げる */
	linear-gradient(90deg, rgba(251, 207, 0, 1) 0%, rgba(255, 252, 209, 1) 25%, rgba(203, 155, 12, 1) 60%, rgba(243, 225, 139, 1) 87%, rgba(255, 252, 209, 1) 100%) border-box;
	font-size: var(--fs-c-18-24);
	font-weight: bold;
	color: var(--c-btn);

}

.twoAwardWrap{
	margin: 32px auto 64px;
	display: flex;
	flex-direction: column;
	gap: 1em;
	width: 90%;
	max-width: 884px;
}

.twoAwardWrap > div{
	width: 100%;
}

.twoAwardWrap .innerAwardSeclect{
	padding: 14px;
	font-size: var(--fs-c-14-18);
}

.twoAwardWrap .awardSelectArea{
	width: 100%;
}

.awardYear{
	display: block;
	padding: 0.5em;
	border: solid 2px var(--c-btn);
	border-radius: 8px;
	font-size: var(--fs-c-18-24);
	font-weight: bold;
	text-align: center;
	background-color: var(--c-white);
	color: var(--c-btn);
	text-decoration: none;
	cursor: pointer;
}

/* 選択中の年ボタン（絞り込みアクティブ） */
.awardYear.btnActive{
	background-color: var(--c-btn);
	color: var(--c-white);
}

.awardYear:hover{
	opacity: 0.5;
}

.awardTwoColumnWrap{
	margin: 0 auto 64px;
	display: flex;
	gap: 2em;
	width: 90%;
	max-width: 1040px;
}

.awardCompanyCard{
	border: solid 1px var(--c-border);
	padding: 1em;
	width: 100%;
}
.awardCompanyTit{
	margin-bottom: 1em;
	padding: 0.5em;
	text-align: center;
	background-color: var(--c-primary);
	color: var(--c-white);
	font-weight: 900;
}
.awardCompanyCard img{
	margin-bottom: 1em;
	width: 100%;
}
.awardCompanyCard p{
	margin-bottom: 0;
	text-align: center;
}

.awardOneColumn{
	margin: 0 auto 64px;
	border: solid 1px var(--c-border);
	padding: 1em;
	width: 90%;
	max-width: 1040px;
}

.awardEventTit{
	margin-bottom: 0.5em;
	padding-bottom: 1em;
	text-align: center;
	border-bottom: solid 1px var(--c-border);
}

.awardEventTit + p{
	margin-bottom: 0;
	text-align: center;
}

.awardListTit{
	margin: 0 auto 64px;
	padding: 1em 0.5em;
	width: 90%;
	max-width: 1200px;
	background-color: var(--c-bg-gray);
	text-align: center;
}

.dlCard{
	margin: 0 auto 64px;
	width: 90%;
	max-width: 1040px;
	border-top: solid 1px var(--c-border);
	border-left: solid 1px var(--c-border);
	display: flex;
	flex-wrap: wrap;
}
.dlCard > div{
	padding: 0.5em;
	border-bottom: solid 1px var(--c-border);
	border-right: solid 1px var(--c-border);
	width: 100%;
	max-width: 50%;
}

.dlCard > div > dt{
	margin-bottom: 0.5em;
	padding: 0.5em;
	background-color: var(--c-award-pale-color);
}
.dlCard > div > dd{
	font-feature-settings: "palt";
}

.awardSpeakerArea{
	margin: 0 auto 64px;
	display: flex;
	gap: 2em;
	flex-wrap: wrap;
	width: 90%;
	max-width: 1040px;
}

.awardSpeakerCard{
	display: flex;
	gap: 1em;
	width: calc(50% - 1em);
}
.awardSpeakerCard p{
	margin: 0;
	font-size: var(--fs-c-12-14);
}
.awardSpeakerCard li{
	font-size: var(--fs-c-12-14);
}

.asPhoto{
	width: 100%;
	max-width: 92px;
}
/* =========================================================
   利用料金シミュレーター 価格表示エリア
========================================================= */

@media (min-width: 768px) {

  /* タブレット用フォントサイズ調整（サブヘッダー） */
  .subHeaderSubTit {
    padding: 0.5em 1em;
    border-radius: 1000px;
    background-color: var(--c-accent);
    text-align: center;
    font-weight: 700;
  }

  .twoAwardWrap {
    flex-direction: row;
    justify-content: space-between;
  }
  .scproSimulator {
    padding: 40px 64px;
  }

  .simulatorTit {
    font-size: var(--fs-48);
    margin-bottom: 40px;
  }

  .simulatorBox {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0;
    border-top: 1px solid var(--c-border-dark);
    border-left: 1px solid var(--c-border-dark);
  }

  .simulatorBox>dt {
    width: 20%;
    border-radius: 0;
    border-bottom: 1px solid var(--c-border-dark);
    border-right: 1px solid var(--c-border-dark);
    padding: 16px;
    display: flex;
    align-items: center;
    background-color: #d3e6f6;
  }

  .simulatorBox>dd {
    border-radius: 0;
    background-color: transparent;
    border-bottom: 1px solid var(--c-border-dark);
    border-right: 1px solid var(--c-border-dark);
    padding: 16px;
    display: flex;
    align-items: center;
  }

  .simulatorBox>dd:nth-of-type(1),
  .simulatorBox>dd:nth-of-type(2),
  .simulatorBox>dd:nth-of-type(3),
  .simulatorBox>dd:nth-of-type(4) {
    width: 40%;
  }

  .simulatorBox>dd:nth-of-type(5) {
    width: 80%;
  }

  .scproPrice {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    gap: 0;
    margin-top: 40px;
  }

  .priceLeftGroup {
    flex-direction: row;
    align-items: center;
    gap: 32px;
    width: calc(50% + 22px);
  }

  .priceResult {
    flex: 1;
    padding: 16px;
  }

  .priceCursor {
    width: 44px;
    transform: rotate(0deg);
  }

  .priceCursor img {
    width: 44px;
  }

  .priceSale {
    width: calc(50% - 54px);
    padding: 16px;
  }

  .scproFlowList {
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    gap: 16px;
  }

  .stepItem {
    flex: 1;
    max-width: none;
  }

  .stepArrow {
    transform: rotate(0deg);
    margin: 0;
    align-self: flex-start;
    padding-top: 60px;
  }

  /* 従業員満足度調査 シミュレーター */
  .esSurveySimulatorBox {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
  }

  .esSurveySimulatorBox>dt:nth-of-type(1) {
    grid-column: 1;
    grid-row: 1;
  }

  .esSurveySimulatorBox>dd:nth-of-type(1) {
    grid-column: 1;
    grid-row: 2;
  }

  .esSurveySimulatorBox>dt:nth-of-type(2) {
    grid-column: 2;
    grid-row: 1;
  }

  .esSurveySimulatorBox>dd:nth-of-type(2) {
    grid-column: 2;
    grid-row: 2;
  }
}

@media (min-width: 1024px) {
  .stepArrow {
    padding-top: 80px;
  }


}

