/*共通css*/

ul {
  list-style-type: none;
}

li {
  list-style-type: none;
}

.p-flex_lp3Flex_section {
  padding-top: 60px;
  padding-bottom: 60px;
}

.p-flex_lp3Flex_evidenceSec {
  background-color: #fff;
}

.p-flex_lp3Flex_inner {
    max-width: 960px;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
}

.p-flex_lp3Flex___hdg {
  text-align: center;
}

.p-flex_lp3Flex___hdgText {
  font-size: 32px;
  color: #04326D;
}

.p-flex_lp3Flex___hdgText_min {
  font-size: 24px;
  color: #04326D;
}

.p-flex-lp-mv__hdg._lp3Flex {
        padding: unset;
        width: 90%;
  }

.p-flex-lp-mv__btn_lp3Flex {
    position: absolute;
    z-index: 99;
    bottom: 13.5vw;
    width: 60vw;
    right: 0;
    left: 0;
    margin: auto;
    background-color: #fff;
}

/*ロゴ*/

.p-flex-lp-evidenceSec__logo._lp3-flex {
  width: 100%;
}

/*ヘッダーボタン*/

.p-flex-lp-header__btnLink--red {
  color: #fff;
  background-color: #DA0919;
  border-color: #DA0919;
}

.p-flex-lp-header__btnLink--red:hover {
  color: #DA0919;
  background-color: #fff;
  border-color: #DA0919;
}

.p-flex-lp-header__btnLink--lightBlue {
  color: #fff;
  background-color: #72C6DC;
  border-color: #72C6DC;
}

.p-flex-lp-header__btnLink--lightBlue:hover {
  color: #72C6DC;;
  background-color: #fff;
  border-color: #72C6DC;;
}

/*全国拠点*/

.p-flex_lp3Flex_network {
        background-color: #F5F5F5;
    }


/*拠点一覧*/



.p-flex-lp-featureSecItem._lp3Flex{
    padding: 60px 0 0px;
    margin: 0px auto;
  }

.p-flex-lp-facilityIntroSec._lp3Flex{
  padding: 72px 0 0px;
  background-color: #fff;
}

.p-flex-lp-facilityIntroSec {
  border-top: unset;
}

  .p-flex_lp3Flex_facility_text {
  text-align: center;
  font-size: 24px;
  margin-top: 60px;
  font-weight: bold;
  color: #04326D;
}


/*cta*/

.p-flex-cta-area._share {
  padding-top: 10px;
  padding-bottom: 30px;
}

.p-flex_lp3Flex_cta {
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 15px;
  padding-right: 15px;
  margin: 0 auto;
  background-color: #fff;
}

.p-flex_lp3Flex_cta._blue {
  background-color: #ebf1f5;
}

.p-flex_lp3Flex_cta_link {

}

.p-flex_lp3Flex_cta_img {
  max-width: 740px;
  margin: 0 auto;
}

.p-flex_lp3Flex_cta_img img {
  width: 100%;
}


/*特長*/

    .p-flex_lp3Flex_feature {
        background-color: #EBF1F5;
    }

.p-flex_lp3Flex___hdgText._feature{
  color: #017198;
}

.p-flex_lp3Flex___hdgText._feature_sub{
  text-align: center;
  font-size: 30px;
  color: #017198;
  margin-top: 30px;
}



.p-flex_lp3Flex_feature_wrap {
  margin-top: 50px;
  display: grid;
  gap: 17px ;
  grid-template-columns: repeat(1,1fr);
}

.p-flex_lp3Flex_feature_item {
  background-color: #FFF;
  padding:30px 15px 15px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.p-flex_lp3Flex_feature_title {
  text-align: center;
  color: #017198;
  font-size: 18px;
  font-weight: bold;

}

.p-flex_lp3Flex_feature_text {
  font-size: 14px;
  margin-top: 30px;
  flex-grow: 1;
}

.p-flex_lp3Flex_feature_img {
  width: 100%;
  margin-top: 20px;
  
}

.p-flex_lp3Flex_feature_img img {
  width: 100%;
}


/*ユースケース*/

.p-flex_lp3Flex_usecaseSec {
  background-color: #fff;
}

.p-flex_lp3Flex_usecaseSec_wrap {
  display: flex;
  margin-top: 60px;
  align-items: center;
  flex-direction: column;
}

.p-flex_lp3Flex_usecaseSec_img {
  width: 100%;
}

.p-flex_lp3Flex_usecaseSec_img img {
  width: 100%;
}

.p-flex_lp3Flex_usecaseSec_list {
  width: 100%;
}

.p-flex_lp3Flex_usecaseSec_item {
  margin-top: 20px;
  margin-left: 0px;
  padding:10px 10px 10px 30px;
  position: relative;
  background-color: #F5F5F5;
  font-size: 14px;
  color:#231815;
}

.p-flex_lp3Flex_usecaseSec_item + .p-flex_lp3Flex_usecaseSec_item {
  margin-top: 5px;
}

.p-flex_lp3Flex_usecaseSec_item::before {
  position: absolute;
  content: '';
  top: 40%;
  left: 10px;
  transform: translate(0, -50%);
  z-index: 2;
  width: 13px;
  height: 6px;
  /* background: rgba(203, 162, 164, .5); */
  border-bottom: 2px solid #04326d;
  border-left: 2px solid #04326d;
  transform: rotate(-45deg);
}

.p-flex_lp3Flex_usecaseSec_voice_title {
  margin-top: 60px;
  text-align: center;
  font-weight: bold;
  color:#04326D;
  font-size: 24px;
}

.p-flex_lp3Flex_usecaseSec_voice_list {
  margin-top: 40px;
  display: grid;
  gap: 10px ;
  grid-template-columns: repeat(1,1fr);
}

.p-flex_lp3Flex_usecaseSec_voice_item {
  background-color: #FFF;
  border-radius: 10px;
  box-shadow: 0px 0px 14px 4px rgba(0, 0, 0, 0.05);
  padding: 15px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.p-flex_lp3Flex_usecaseSec_voice_img {
  width: 100%;
}

.p-flex_lp3Flex_usecaseSec_voice_img img {
  width: 100%;
}


.p-flex_lp3Flex_usecaseSec_voice_text {
  margin-top: 15px;
  font-weight: bold;
  font-size: 16px;
  color: #04326D;
  flex-grow: 1;
}

.p-flex_lp3Flex_usecaseSec_voice_name {
  font-weight: bold;
  font-size: 12px;
  color: #04326D;
  margin-top: 30px;
}




/* 設備 */

.lp4_equipment_list {
  display: grid;
  gap:20px;
  grid-template-columns: repeat(2,1fr);
  margin-top: 30px;
}

.lp4_equipment_item {
  transition: 0.3s;
}

.lp4_equipment_item:hover {
  opacity: 0.6;
}

.lp4_equipment_link {
  width: 100%;
}

.lp4_equipment_img {
  width: calc((100%/5)- 20*4);
  margin: 0;
}

.lp4_equipment_img img {
  width: 100%;
}

.lp4_equipment_head {
  background-color: #04326d;
  width: 100%;
  height: 50px;
  display: grid;
  place-content: center;
}

.lp4_equipment_name {
  text-align: center;
  font-size: 13px;
  font-weight: bold;
  color: #fff;
}


/*プラン*/

.p-flex_lp3Flex_planSec {
  background-color: #fff;
}

.p-flex_lp3Flex_planSec_wrap {
  width: 100%;
  margin-top: 60px;
  padding-bottom: 50px;
  border-radius: 10px;
  box-shadow: 0px 0px 14px 4px rgba(0, 0, 0, 0.05);
  background-color: #fff;
  
}

.p-flex_lp3Flex_planSec_head {
  background-color: #72C6DC;
  padding-top: 0px;
  padding-bottom: 10px;
  border-radius: 10px 10px 0 0 ;
}

.p-flex_lp3Flex_planSec_head._share {
  background-color: #04326D;
}

.p-flex_lp3Flex_planSec_head._base {
  background-color: #0162A1;
}

.p-flex_lp3Flex_planSec_title {
  color: #fff;
  font-weight: bold;
  font-size: 24px;
  text-align: center;
}

.p-flex_lp3Flex_planSec_min {
  font-size: 16px;
}

.p-flex_lp3Flex_planSec_price {
  margin-top: 35px;
  font-size: 36px;
  font-weight: bold;
  color: #04326D;
  text-align: center;

}

.p-flex_lp3Flex_planSec_price_min {
  font-size: 18px;
}

.p-flex_lp3Flex_planSec_price_attention {
  font-size: 10px;
  color:#231815;
  text-align: center;
  display: block;
  font-weight: 400;
  margin-top: 15px;
}

.p-flex_lp3Flex_planSec_price_feature {
  margin-top: 50px;
  text-align: center;
  flex-grow: 1;
}

.p-flex_lp3Flex_planSec_price_feature_title {
  font-size: 18px;
  font-weight: bold;
  color: #04326D;
}

.p-flex_lp3Flex_planSec_price_feature_list {
  margin-top: 25px;
  padding-left: 40px;
  padding-right: 40px;
  box-sizing: border-box;
  display: grid;
  gap: 25px ;
  grid-template-columns: repeat(1,1fr);
}

.p-flex_lp3Flex_planSec_price_feature_item {
  background-color: #F1F1F1;
  padding: 20px 20px 20px 40px;
  box-sizing: border-box;
  font-size: 13px;
  text-align: start;
  position: relative;
}

.p-flex_lp3Flex_planSec_price_feature_item::before {
  position: absolute;
  content: '';
  top: 45%;
  left: 15px;
  transform: translate(0, -50%);
  z-index: 2;
  width: 13px;
  height: 6px;
  /* background: rgba(203, 162, 164, .5); */
  border-bottom: 2px solid #04326d;
  border-left: 2px solid #04326d;
  transform: rotate(-45deg);
}

.p-flex_lp3Flex_planSec_price_feature_item_red {
  color:#DA0919;
}

.p-flex_lp3Flex_planSec_price_feature_attension {
  text-align:center;
  font-size: 10px;
}

.p-flex_lp3Flex_planSec_price_purpose {
  margin-top: 40px;
  
}

.p-flex_lp3Flex_planSec_price_purpose_title {
  font-size: 24px;
  font-weight: bold;
  color: #04326D;
  text-align: center;
}

.p-flex_lp3Flex_planSec_price_purpose_list {
  margin-top: 20px;
  
  padding-left: 40px;
  padding-right: 40px;
  box-sizing: border-box;
  display: grid;
  gap: 25px ;
  grid-template-columns: repeat(1,1fr);
}

.p-flex_lp3Flex_planSec_price_purpose_item {
  background-color: #04326D;
  color: #fff;
  padding-top:15px;
  padding-bottom: 15px;
  display: flex;
  justify-content: center;
}

.p-flex_lp3Flex_planSec_price_purpose_item_img {
  width: 25px;
  height: auto;
  display: block;
  margin-right: 10px;
}

.p-flex_lp3Flex_planSec_price_purpose_item_img img {
  width: 100%;
}




.p-flex_lp3Flex_planSec_content {
  margin-top: 80px;
  background-color: #F1F1F1;
  width: 100%;
  padding:40px 30px 30px;
  box-sizing: border-box;
}

.p-flex_lp3Flex_planSec_content + .p-flex_lp3Flex_planSec_content {
  margin-top: 40px;
}

.p-flex_lp3Flex_planSec_content_title {
  font-size: 28px;
  font-weight: bold;
  color: #04326D;
  text-align: center;
}

.p-flex_lp3Flex_planSec_content_title_min {
  font-size: 18px;
}

.p-flex_lp3Flex_planSec_content_title_yellow {
  color: #F7AB00;
}

.p-flex_lp3Flex_planSec_content_head {
  margin-top: 40px;
  padding:20px;
  box-sizing: border-box;
  background-color: #fff;
}

.p-flex_lp3Flex_planSec_content_sub {
  text-align: center;
  font-size: 18px;
  color: #231815;
}

.p-flex_lp3Flex_planSec_content_img {
  width: 65%;
  margin: 30px auto 0;
}

.p-flex_lp3Flex_planSec_content_img img {
  width: 100%;
}

.p-flex_lp3Flex_planSec_content_text {
  margin-top: 30px;
  font-size: 14px;
  text-align: center;
  color: #231815;

}

.p-flex_lp3Flex_planSec_content_attention {
  font-size: 10px;
  text-align: center;
  display: block;
}

/*lp2プラン*/



.p-flex_lp3Flex_planSec_second_img {
  width: 40px;
  margin-top: 40px;
  margin-right: auto;
  margin-left: auto;
}

.p-flex_lp3Flex_planSec_second_img img {
  width: 100%
}

.lp2_plan_img_plus_title {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin-top: 30px;
  color: #04326D;
}

.p-flex_lp3Flex_planSec_second_wrap {
  display: grid;
  gap: 40px ;
  grid-template-columns: repeat(1,1fr);
}




/*契約の流れ*/

.p-flex_lp3Flex_flow {
  padding-bottom: 0px;
  background-color: #ebf1f5;
}
.p-flex_lp3Flex_flow_list {
  margin-top: 40px;
  display: grid;
  gap: 25px ;
  grid-template-columns: repeat(2,1fr);
}

.p-flex_lp3Flex_flow_item {
  display: flex;
  flex-direction: column;
  position: relative;
}

.p-flex_lp3Flex_flow_item::before {
  position: absolute;
  content: '▶︎';
  top: 35%;
  left: -10%;
  transform: translate(0,-50%);
  z-index: 2;
  width: 10px;
  height: 10px;
  color: #D9D9D9;
}

.p-flex_lp3Flex_flow_item:first-child::before,
.p-flex_lp3Flex_flow_item:nth-child(3n)::before {
  display: none;
}

.p-flex_lp3Flex_flow_head {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-flex_lp3Flex_flow_head span {
  font-size: 16px;
  color: #8A8A8A;
}

.p-flex_lp3Flex_flow_img {
  margin-top: 20px;
  max-width: 120px;
}

.p-flex_lp3Flex_flow_img img {
  width: 100%;
}

.p-flex_lp3Flex_flow_group {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-flex_lp3Flex_flow_name {
  font-size: 18px;
  color: #04326D;
}

.p-flex_lp3Flex_flow_text {
  margin-top: 15px;
  font-size: 12px;
  color:#231815;
  text-align: center;
}

/*FAQ*/

.p-flex-lp-faq._share {
  margin-top: 0px;
}


/*フォーム*/

/* borderのアニメーション */
@keyframes blinkBorder {
  0% {
    border: 3px solid transparent;
  }
  100% {
    border: 3px solid #BE0023;
  }
}
.blink {
  animation: blinkBorder 1s ease 4 alternate;
}


.following-form._lp3_flex {
  display: block!important;
}

	/* .following-form{
		position: relative;
		flex-basis: auto;
		background-color: #F5F5F5;
		width: 100%;
		max-width: 414px;
	} */
	.following-form .following-form_inner{
    border: 3px solid transparent;
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		background-color: #F5F5F5;
		/* position: fixed;
		top: 100px;
		left: auto;
		right: 0;
		bottom: 0;
		overflow-y: scroll;
		z-index: 3; */
		/* padding-bottom: 180px; */
		width: 100%;
		
	}

	.following-form .following-form_inner form{
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
	}

	.following-form h2{
		background-color:#29629C;
		color: #FFF;
		font-size: 1rem;
		text-align: center;
		padding: 0.3rem 0;
	}
	.following-form .form-group,
	.following-form p{
		padding: 0 10%;
	}
	.following-form .flex-box{
		display: flex;
		gap: 0.5rem;
	}
	.following-form .form-group h3{
		font-size: 0.7rem;
		color: #29629C;
		line-height: 1;
		margin-bottom: 0.2rem;
	}
	.following-form .form-group h3 label,
	.following-form .form-group h3 span{
		position: relative;
	}
	div.following-form_inner > form > div.form-group > div> label{
		font-size: 0.8rem;
	}
	.following-form .form-group h3.required-item label:after,
	.following-form .form-group h3.required-item span:after{
		content: "必須";
		color: #fff;
		background: red;
		width: 30px;
		margin-left: 5px;
		padding: 0 3px;
		text-align: center;
		font-size:  0.4rem;
		line-height: 1;
	}
	.following-form .form-group input[type="text"],
	.following-form .form-group input[type="email"],
	.following-form .form-group input[type="tel"],
	.following-form .form-group textarea,
	.following-form .form-group select{
		border: 1px solid #F0F0F0;
		background-color: #fff;
		width: 100%;
		padding: 1px;
		font-size: 0.7rem;

	}
	.following-form p{
		font-size: 0.7rem;
		font-weight: bold;
		text-align: center;
		line-height: 1.5;
	}
	.following-form p small{
		font-size: 0.6rem;
		font-weight: normal;
	}
	.submit-wrap {
		position: relative;
	}
	.submit-wrap:before {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		right: calc(10% + 25px);
		width: 60px;
		height: 2px;
		background: #fff;
	}
	.submit-wrap:after {
		content: "";
		display: block;
		position: absolute;
		top: 8px;
		right: calc(10% + 28px);
		width: 15px;
		height: 15px;
		border-bottom: 2px solid #fff;
		/*border-color: transparent transparent #fff #transparent;*/
		transform: rotate(-145deg);
	}
	.following-form .form-group input[type="submit"]{
		/*background-color: #EEBC46;*/
		background-color: rgb(235, 186, 2);
		box-shadow: 3px 3px 10px 0px rgba(255,255,255,0.5) inset,-3px -3px 10px 0px rgba(0,0,0,0.2) inset;
		width: 100%;
		padding: 4px;
		color: #fff;
		font-size: 0.8rem;
		font-weight: bold;
	}
	.following-form a{
		color: #29629C;
	}
	.following-form a.underline{
		border-bottom: 1px solid #29629C;
	}




/* lp2 SHARE */

.main-contents._lp2 {
  width: 100%;
  flex-basis: 100%;
  max-width: 100%;
}

.following-form._lp2 {
  display: none!important;
}


/*lp2 FV*/

.p-flex-lp._lp2Share {
  background-color: #fff;
}

    .p-flex-lp-mv__hdg._lp2Share {
        padding: unset;
        width: 100%;
    }

  .p-flex-lp-mv__btn_lp3Flex._lp2Share {
    position: absolute;
    z-index: 99;
    bottom: 13.5vw;
    width: 60vw;
    right: 0;
    left: 0;
    margin: auto;
    background-color: #fff;
}




/*設備モーダル*/

/* モーダル基本スタイル */
.equipment_modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  animation: fadeIn 0.3s ease;
}

.equipment_modal.is-active {
  display: block;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* モーダルオーバーレイ */
.equipment_modal_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}

/* モーダルコンテンツ */
.equipment_modal_content {
  width: 90%;
  max-width: 900px;
  background-color: #fff;
  border-radius: 0;
  overflow: hidden;
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 102;
  /* slideUpアニメーションを削除し、フェードインのみに変更 */
  animation: modalFadeIn 0.3s ease;
  transform: translate(-50%, -50%);
}

/* 新しいアニメーション（中央配置を維持したまま） */
@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}
/* 閉じるボタン */
.equipment_modal_close {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  background-color: #000;
  color: #fff;
  border: none;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  z-index: 10;
  transition: 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.equipment_modal_close:hover {
  background-color: #333;
}

/* モーダル内部 */
.equipment_modal_inner {
  padding: 0;
  background-color: #f5f5f5;
}

/* 詳細エリア */
.equipment_modal_detail {
  display: grid;
  grid-template-columns: 1fr 2fr;
  min-height: 400px;
  background-color: #fff;
}

/* 左側：画像 */
.equipment_modal_image {
  background-color: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  
}

.equipment_modal_image img {
  width: 100%;
  height: auto;
  display: block;
}

/* 右側：テキスト */
.equipment_modal_text {
  padding: 60px 50px 60px 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.equipment_modal_title {
  font-size: 24px;
  font-weight: bold;
  color: #04326d;
  margin-bottom: 30px;
  line-height: 1.5;
}

.equipment_modal_description {
  font-size: 15px;
  line-height: 2;
  color: #333;
}


/* ==============================================
   カード：ホバー・クリック促進スタイル
   ============================================== */
.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger {
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(4, 50, 109, 0.13);
}

.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger:focus-visible {
  outline: 3px solid #04326D;
  outline-offset: 3px;
}

/* 画像ズーム */
.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger .p-flex_lp3Flex_usecaseSec_voice_img {
  overflow: hidden;
  border-radius: 6px;
}
.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger .p-flex_lp3Flex_usecaseSec_voice_img img {
  display: block;
  width: 100%;
  transition: transform 0.3s ease;
}
.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger:hover .p-flex_lp3Flex_usecaseSec_voice_img img {
  transform: scale(1.04);
}

/* 「詳細を見る」バッジ */
.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger .p-flex_lp3Flex_usecaseSec_voice_name {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger .p-flex_lp3Flex_usecaseSec_voice_name::after {
  content: "詳細を見る ›";
  font-size: 11px;
  color: #fff;
  background: #04326D;
  padding: 3px 10px;
  border-radius: 20px;
  white-space: nowrap;
  transition: background 0.2s;
}
.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger:hover .p-flex_lp3Flex_usecaseSec_voice_name::after {
  background: #05234e;
}


/* ==============================================
   事例紹介_ホップアップ
   ============================================== */

/* ==============================================
   カード：ホバー・クリック促進スタイル
   ============================================== */
.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger {
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(4, 50, 109, 0.13);
}

.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger:focus-visible {
  outline: 3px solid #04326D;
  outline-offset: 3px;
}

/* 画像ズーム */
.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger .p-flex_lp3Flex_usecaseSec_voice_img {
  overflow: hidden;
  border-radius: 6px;
}
.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger .p-flex_lp3Flex_usecaseSec_voice_img img {
  display: block;
  width: 100%;
  transition: transform 0.3s ease;
}
.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger:hover .p-flex_lp3Flex_usecaseSec_voice_img img {
  transform: scale(1.04);
}

/* 「詳細を見る」バッジ */
.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger .p-flex_lp3Flex_usecaseSec_voice_name {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger .p-flex_lp3Flex_usecaseSec_voice_name::after {
  content: "詳細を見る ›";
  font-size: 11px;
  color: #fff;
  background: #04326D;
  padding: 3px 10px;
  border-radius: 20px;
  white-space: nowrap;
  transition: background 0.2s;
}
.p-flex_lp3Flex_usecaseSec_voice_item.js-case-trigger:hover .p-flex_lp3Flex_usecaseSec_voice_name::after {
  background: #05234e;
}


/* ==============================================
   モーダル オーバーレイ
   ============================================== */
.cm-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.52);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  z-index: 9999;
  /* 初期状態：非表示 */
  opacity: 0;
  transition: opacity 0.28s ease;
}

.cm-overlay--active {
  opacity: 1;
}

/* body スクロール封じ */
body.modal-open {
  overflow: hidden;
}


/* ==============================================
   モーダル ダイアログ
   ============================================== */
.cm-dialog {
  background: #fff;
  border-radius: 12px;
  width: 100%;
  max-width: 720px;
  max-height: 88vh;
  overflow-y: auto;
  padding: 44px 48px 48px;
  position: relative;
  /* 初期状態：少し下にずれた状態 */
  transform: translateY(24px);
  transition: transform 0.28s ease;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.2);
}

.cm-dialog--active {
  transform: translateY(0);
}

/* スクロールバー */
.cm-dialog::-webkit-scrollbar        { width: 5px; }
.cm-dialog::-webkit-scrollbar-track  { background: #f0f0f0; border-radius: 3px; }
.cm-dialog::-webkit-scrollbar-thumb  { background: #b0bdd0; border-radius: 3px; }


/* ==============================================
   閉じるボタン
   ============================================== */
.cm-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: #f0f3f8;
  color: #04326D;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, color 0.2s;
  z-index: 10;
}
.cm-close:hover {
  background: #04326D;
  color: #fff;
}


/* ==============================================
   ヘッダー（ロゴ + 企業情報テーブル）
   ============================================== */
.cm-head {
  display: flex;
  gap: 28px;
  align-items: flex-start;
  padding-bottom: 24px;
  /* border-bottom: 1px solid #e4eaf3; */
  margin-bottom: 24px;
}

/* ロゴボックス */
.cm-logo {
  flex-shrink: 0;
  width: 148px;
  min-height: 86px;
  background: #f7f9fc;
  border: 1px solid #e4eaf3;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* padding: 14px 12px; */
}

.cm-logo-text {
  font-size: 22px;
  font-weight: 900;
  letter-spacing: 0.06em;
  color: #04326D;
  text-align: center;
  line-height: 1.4;
  white-space: pre-line; /* \n で改行 */
}

/* ロゴ画像（data-logo指定時） */
.cm-logo-img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

/* 企業情報テーブル */
.cm-info {
  flex: 1;
  margin: 0;
  padding: 0;
}

.cm-row {
  display: flex;
  gap: 10px;
  padding: 6px 0;
  border-bottom: 1px dashed #e4eaf3;
  font-size: 13px;
  line-height: 1.7;
}
.cm-row:last-child { border-bottom: none; }

.cm-dt {
  font-weight: bold;
  color: #04326D;
  white-space: nowrap;
  min-width: 150px;
}

.cm-dd {
  margin: 0;
  color: #333;
}


/* ==============================================
   企業紹介セクション
   ============================================== */
.cm-body-title {
  font-size: 17px;
  font-weight: bold;
  color: #04326D;
  text-align: center;
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid #e4eaf3;
  position: relative;
}
.cm-body-title::after {
  content: '';
  display: block;
  width: 44px;
  height: 3px;
  background: #04326D;
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translateX(-50%);
}

.cm-body-text p {
  font-size: 14px;
  line-height: 1.9;
  color: #444;
  margin: 0 0 12px;
}
.cm-body-text p:last-child { margin-bottom: 0; }


/* ==============================================
   レスポンシブ
   ============================================== */
@media (max-width: 600px) {
  .cm-dialog {
    padding: 40px 18px 24px;
  }
  .cm-head {
    flex-direction: column;
  }
  .cm-logo {
    width: 100%;
    min-height: 60px;
  }
  .cm-row {
    flex-direction: column;
    gap: 2px;
  }
  .cm-dt {
    min-width: unset;
  }
}




/* レスポンシブ対応 */
@media (max-width: 768px) {
  


  .equipment_modal_content {
    width: 95%;
    max-width: 100%;
    /* margin: 5vh auto; */
  }

  .equipment_modal_close {
    width: 44px;
    height: 44px;
    font-size: 28px;
  }

  .equipment_modal_detail {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .equipment_modal_image {
    padding: 30px 0px 30px 30px;
    width: 200px;
    margin: auto;
  }

  .equipment_modal_text {
    padding: 0px 20px 30px;
  }

  .equipment_modal_title {
    font-size: 18px;
    margin-bottom: 20px;
  }

  .equipment_modal_description {
    font-size: 14px;
    line-height: 1.8;
  }
}

/* body固定（モーダル開いた時のスクロール防止） */
body.modal-open {
  overflow: hidden;
}



@media screen and (max-width: 1023px) {
    .p-flex-lp-featureSecItem._lp3Flex {
        padding: 30px 20px 30px;
        margin: 0px auto 0;
    }

    .p-flex-lp-facilityIntroSec {
        padding: 46px 0 0px;
        margin: 49px auto 0;
    }
}

@media screen and (min-width: 1024px) {
    .p-flex-lp-mv._share{
        height: 35vw;
    }
}


@media screen and (min-width: 1024px) {

  .p-flex-lp-mv._share {
    margin-bottom: 0vw;
  }

  .main-contents._lp2 {
  width: 100%;
  flex-basis: 100%;
  max-width: 100%;
}

.following-form._lp2 {
  display: none!important;
}

  /*共通css*/
  .p-flex_lp3Flex_inner {
  max-width: 960px;
  margin: 0 auto;
  }
  
  .p-flex_lp3Flex_section {
  padding-top: 30px;
  padding-bottom: 30px;
}

  .p-flex-lp-mv__btn_lp3Flex{
    width: 21vw;
    right: 4vw;
    left: auto;
    bottom: 4vw;
    
  }

  .p-flex-lp-mv__hdg._lp3Flex {
        padding: unset;
        width: 68%;
  }

  .p-flex_lp3Flex___hdgText {
  font-size: 40px;
  color: #04326D;
}

.p-flex_lp3Flex___hdgText_min {
  font-size: 32px;
  color: #04326D;
}

  /*拠点一覧*/
  .p-flex-lp-featureSecItem._lp3Flex{
    padding: 60px 0 0px;
    margin: 0px auto;
  }

  .p-flex-lp-facilityIntroSec._lp3Flex{
  padding: 72px 0 0px;
}

  .p-flex_lp3Flex_facility_text {
  text-align: center;
  font-size: 24px;
  margin-top: 60px;
  font-weight: bold;
  color: #04326D;
}

/*cta*/
.p-flex_lp3Flex_cta {
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 15px;
  padding-right: 15px;
  margin: 0 auto;
  background-color: #fff;
}

.p-flex_lp3Flex_cta._blue {
  background-color: #ebf1f5;
}

.p-flex_lp3Flex_cta_link {

}

.p-flex_lp3Flex_cta_img {
  max-width: 740px;
  margin: 0 auto;
}

.p-flex_lp3Flex_cta_img img {
  width: 100%;
}

/*ネットワーク*/

.p-flex_lp3Flex_network {
  background-color: #F5F5F5;
}

.p-flex_lp3Flex_network_img {
  margin-top: 40px;
  width: 100%;
}

.p-flex_lp3Flex_network_img img {
  width: 100%;
}


/*特長*/

.p-flex_lp3Flex_feature{
  background-color: #EBF1F5;
}

.p-flex_lp3Flex___hdgText._feature{
  color: #017198;
}

/*特長*/

.p-flex_lp3Flex_feature_wrap {
  margin-top: 50px;
  display: grid;
  gap: 17px ;
  grid-template-columns: repeat(3,1fr);
}

.p-flex_lp3Flex_feature_item {
  background-color: #FFF;
  padding:30px 15px 15px;
  box-sizing: border-box;

}

.p-flex_lp3Flex_feature_title {
  text-align: center;
  color: #017198;
  font-size: 18px;
  font-weight: bold;

}

.p-flex_lp3Flex_feature_text {
  font-size: 14px;
  margin-top: 30px;
}

.p-flex_lp3Flex_feature_img {
  width: 100%;
  margin-top: 20px;
}

.p-flex_lp3Flex_feature_img img {
  width: 100%;
}

/*設備*/

.lp4_equipment_list {
  display: grid;
  gap:20px;
  grid-template-columns: repeat(5,1fr);
  margin-top: 30px;
}

/*ユースケース*/

.p-flex_lp3Flex_usecaseSec {
  background-color: #fff;
}

.p-flex_lp3Flex_usecaseSec_wrap {
  display: flex;
  margin-top: 60px;
  align-items: center;
  flex-direction: unset;
}

.p-flex_lp3Flex_usecaseSec_img {
  width: 50%;
}

.p-flex_lp3Flex_usecaseSec_img img {
  width: 100%;
}

.p-flex_lp3Flex_usecaseSec_list {
  width: 50%;
}

.p-flex_lp3Flex_usecaseSec_item {
  margin-top: 0px;
  margin-left: 20px;
  padding:10px 10px 10px 30px;
  position: relative;
  background-color: #F5F5F5;
  font-size: 14px;
  color:#231815;
}

.p-flex_lp3Flex_usecaseSec_item + .p-flex_lp3Flex_usecaseSec_item {
  margin-top: 5px;
}

.p-flex_lp3Flex_usecaseSec_item::before {
  position: absolute;
  content: '';
  top: 40%;
  left: 10px;
  transform: translate(0, -50%);
  z-index: 2;
  width: 13px;
  height: 6px;
  /* background: rgba(203, 162, 164, .5); */
  border-bottom: 2px solid #04326d;
  border-left: 2px solid #04326d;
  transform: rotate(-45deg);
}

.p-flex_lp3Flex_usecaseSec_voice_title {
  margin-top: 60px;
  text-align: center;
  font-weight: bold;
  color:#04326D;
  font-size: 24px;
}

.p-flex_lp3Flex_usecaseSec_voice_list {
  margin-top: 40px;
  display: grid;
  gap: 20px ;
  grid-template-columns: repeat(3,1fr);
}

.p-flex_lp3Flex_usecaseSec_voice_item {
  background-color: #FFF;
  border-radius: 10px;
  box-shadow: 0px 0px 14px 4px rgba(0, 0, 0, 0.05);
  padding: 15px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.p-flex_lp3Flex_usecaseSec_voice_img {
  width: 100%;
}

.p-flex_lp3Flex_usecaseSec_voice_img img {
  width: 100%;
}


.p-flex_lp3Flex_usecaseSec_voice_text {
  margin-top: 15px;
  font-weight: bold;
  font-size: 16px;
  color: #04326D;
  flex-grow: 1;
}

.p-flex_lp3Flex_usecaseSec_voice_name {
  font-weight: bold;
  font-size: 12px;
  color: #04326D;
  margin-top: 30px;
}


/*プラン*/

.p-flex_lp3Flex_planSec {
  background-color: #fff;
}

.p-flex_lp3Flex_planSec_wrap {
  width: 100%;
  margin-top: 60px;
  padding-bottom: 50px;
  border-radius: 10px;
  box-shadow: 0px 0px 14px 4px rgba(0, 0, 0, 0.05);
  background-color: #fff;
  display: flex;
  flex-direction: column;
  
}

.p-flex_lp3Flex_planSec_head {
  background-color: #72C6DC;
  padding-top: 0px;
  padding-bottom: 10px;
  border-radius: 10px 10px 0 0 ;
}

.p-flex_lp3Flex_planSec_head._share {
  background-color: #04326D;
}

.p-flex_lp3Flex_planSec_head._base {
  background-color: #0162A1;
}

.p-flex_lp3Flex_planSec_title {
  color: #fff;
  font-weight: bold;
  font-size: 24px;
  text-align: center;
}

.p-flex_lp3Flex_planSec_min {
  font-size: 16px;
}

.p-flex_lp3Flex_planSec_price {
  margin-top: 35px;
  font-size: 36px;
  font-weight: bold;
  color: #04326D;
  text-align: center;

}

.p-flex_lp3Flex_planSec_price_min {
  font-size: 18px;
}

.p-flex_lp3Flex_planSec_price_attention {
  font-size: 10px;
  color:#231815;
  text-align: center;
  display: block;
  font-weight: 400;
  margin-top: 15px;
}

.p-flex_lp3Flex_planSec_price_feature {
  margin-top: 50px;
  text-align: center;

}

.p-flex_lp3Flex_planSec_price_feature_title {
  font-size: 18px;
  font-weight: bold;
  color: #04326D;
}

.p-flex_lp3Flex_planSec_price_feature_list {
  margin-top: 25px;
  padding-left: 40px;
  padding-right: 40px;
  box-sizing: border-box;
  display: grid;
  gap: 25px ;
  grid-template-columns: repeat(3,1fr);
}

.p-flex_lp3Flex_planSec_price_feature_item {
  
  background-color: #F1F1F1;
  padding: 20px 20px 20px 40px;
  box-sizing: border-box;
  font-size: 13px;
  text-align: start;
  position: relative;
}

.p-flex_lp3Flex_planSec_price_feature_item._share {
  display: flex;
  align-items: center;
} 

.p-flex_lp3Flex_planSec_price_feature_item::before {
  position: absolute;
  content: '';
  top: 45%;
  left: 15px;
  transform: translate(0, -50%);
  z-index: 2;
  width: 13px;
  height: 6px;
  /* background: rgba(203, 162, 164, .5); */
  border-bottom: 2px solid #04326d;
  border-left: 2px solid #04326d;
  transform: rotate(-45deg);
}

.p-flex_lp3Flex_planSec_price_feature_item_red {
  color:#DA0919;
}

.p-flex_lp3Flex_planSec_price_feature_attension {
  text-align:center;
  font-size: 10px;
}

.p-flex_lp3Flex_planSec_price_purpose {
  margin-top: 40px;
  
}

.p-flex_lp3Flex_planSec_price_purpose_title {
  font-size: 24px;
  font-weight: bold;
  color: #04326D;
  text-align: center;
}

.p-flex_lp3Flex_planSec_price_purpose_list {
  margin-top: 20px;
  
  padding-left: 40px;
  padding-right: 40px;
  box-sizing: border-box;
  display: grid;
  gap: 25px ;
  grid-template-columns: repeat(3,1fr);
}

.p-flex_lp3Flex_planSec_price_purpose_item {
  background-color: #04326D;
  color: #fff;
  padding-top:15px;
  padding-bottom: 15px;
  display: flex;
  justify-content: center;
}

.p-flex_lp3Flex_planSec_price_purpose_item_img {
  width: 25px;
  height: auto;
  display: block;
  margin-right: 10px;
}

.p-flex_lp3Flex_planSec_price_purpose_item_img img {
  width: 100%;
}




.p-flex_lp3Flex_planSec_content {
  margin-top: 80px;
  background-color: #F1F1F1;
  width: 100%;
  padding:40px 30px 30px;
  box-sizing: border-box;
}

.p-flex_lp3Flex_planSec_content + .p-flex_lp3Flex_planSec_content {
  margin-top: 40px;
}

.p-flex_lp3Flex_planSec_content_title {
  font-size: 28px;
  font-weight: bold;
  color: #04326D;
  text-align: center;
}

.p-flex_lp3Flex_planSec_content_title_min {
  font-size: 18px;
}

.p-flex_lp3Flex_planSec_content_title_yellow {
  color: #F7AB00;
}

.p-flex_lp3Flex_planSec_content_head {
  margin-top: 40px;
  padding:20px;
  box-sizing: border-box;
  background-color: #fff;
}

.p-flex_lp3Flex_planSec_content_sub {
  text-align: center;
  font-size: 18px;
  color: #231815;
}

.p-flex_lp3Flex_planSec_content_img {
  width: 65%;
  margin: 30px auto 0;
}

.p-flex_lp3Flex_planSec_content_img img {
  width: 100%;
}

.p-flex_lp3Flex_planSec_content_text {
  margin-top: 30px;
  font-size: 14px;
  text-align: center;
  color: #231815;

}

.p-flex_lp3Flex_planSec_content_attention {
  font-size: 10px;
  text-align: center;
  display: block;
}


/*lp2プラン*/

.p-flex_lp3Flex_planSec_second {
  
}



.p-flex_lp3Flex_planSec_second_img {
  width: 40px;
  margin-top: 40px;
  margin-right: auto;
  margin-left: auto;
}

.p-flex_lp3Flex_planSec_second_img img {
  width: 100%
}

.lp2_plan_img_plus_title {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin-top: 30px;
  color: #04326D;
}

.p-flex_lp3Flex_planSec_second_wrap {
  display: grid;
  gap: 40px ;
  grid-template-columns: repeat(2,1fr);
}

.p-flex_lp3Flex_planSec_second_wrap._flex, 
.p-flex_lp3Flex_planSec_second_wrap._base {
  margin-top: 0px;
}

.p-flex_lp3Flex_planSec_price_feature_list._flex,
.p-flex_lp3Flex_planSec_price_feature_list._base {
  display: grid;
  gap: 25px ;
  grid-template-columns: repeat(1,1fr);
}

.p-flex_lp3Flex_planSec_price_purpose_list._flex,
.p-flex_lp3Flex_planSec_price_purpose_list._base {
  display: grid;
  gap: 25px ;
  grid-template-columns: repeat(1,1fr);
}


/*契約の流れ*/

.p-flex_lp3Flex_flow {
  padding-bottom: 0px;
}
.p-flex_lp3Flex_flow_list {
  margin-top: 40px;
  display: grid;
  gap: 25px ;
  grid-template-columns: repeat(4,1fr);
}

.p-flex_lp3Flex_flow_item {
  display: flex;
  flex-direction: column;
  position: relative;
}

.p-flex_lp3Flex_flow_item::before {
  position: absolute;
  content: '▶︎';
  top: 35%;
  left: -10%;
  transform: translate(0,-50%);
  z-index: 2;
  width: 10px;
  height: 10px;
  color: #D9D9D9;
}

.p-flex_lp3Flex_flow_item:first-child::before {
  display: none;
}

.p-flex_lp3Flex_flow_item:nth-child(3n)::before {
  display: block;
}

.p-flex_lp3Flex_flow_head {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-flex_lp3Flex_flow_head span {
  font-size: 16px;
  color: #8A8A8A;
}

.p-flex_lp3Flex_flow_img {
  margin-top: 20px;
  max-width: 120px;
}

.p-flex_lp3Flex_flow_img img {
  width: 100%;
}

.p-flex_lp3Flex_flow_group {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-flex_lp3Flex_flow_name {
  font-size: 18px;
  color: #04326D;
}

.p-flex_lp3Flex_flow_text {
  margin-top: 15px;
  font-size: 12px;
  color:#231815;
  text-align: center;
}


/* LP2 SHARE */

    .p-flex-lp-mv__hdg._lp2Share {
        padding: unset;
        width: 50%;
    }

    .p-flex-lp-mv__btn_lp3Flex._lp2Share{
    width: 21vw;
    right: 4vw;
    left: auto;
    bottom: 4vw;
    
  }


}

