@charset "utf-8";
/* CSS Document */
/*.p-topMv__contents {
    margin-bottom: 44px;
    padding-top: 0;
}
.p-topMv__contents::before {
    bottom: 22px;
}
.top_main{
	width: 100%;
	position: relative;
}
.top_main_inner {
	position: absolute;
	display: flex;
	width: 100%;
    justify-content: flex-end;
    right: 0;
}
.top_main .main_detail {
	max-width: 680px;
	width: 58%;	
}
.top_main .device {
	max-width: 710px;
	width: 40%;
}*/
    header {
        min-width: inherit;
    }
.p-topAbout {
    padding-top: 66px;
}
.p-topAboutReason__titleEffect01[data-effect=on] .big_navy {
	color: #003e70;
	font-size: 5.0rem;
	transition: color 0s .3s;
}
.top_navy {
	color: #003e70;
	position: relative;
    display: inline-block;
    transition: color 0s .3s;
}
.p-topAboutReason__title, .p-topAboutSupport__title  {
    font-size: 4.2rem;
}

.p-topAboutSupport__titleEffect01[data-effect=on] .p-topAboutSupport__titleNum {
    font-size: 5.0rem;
}
.c-title01__effect01[data-effect=on] .c-title01__accent01 {
    font-size: 5.0rem;
}
.hero{
    position: relative;     /* 擬似要素の基準にする */
    z-index: 0;             /* ::before より上になるよう基準を作る */
    overflow: visible;      /* 一時的に visible（必要に応じ hidden に） */
    min-height: 360px;      /* 実運用では画像サイズに合わせて調整 */
    display:flex;
    align-items:center;
  }

  /* 背景（擬似要素）*/
  .hero::before{
    content:"";
    position:absolute;
    inset:0;
    /* 例：背景画像＋上へフェードのグラデ */
    background:
      url("../assets/img/top/bg_mv01.webp") repeat-x bottom center / cover,
      linear-gradient(to top, #fff 5%, #f6f7f9 100%);
    z-index:-1; /* 背景は常に背面 */
  }

  /* 内側ラッパー：中央寄せ＆最大幅 */
  .hero__inner{
    width:100%;
    max-width:1500px;
    margin:0 auto;
    display:flex;
    align-items:center;
    gap:32px;
  }

  /* 左右の並び（横並び）*/
  .top_visual{
    display:flex;
    align-items:center;
    width:100%;
    gap:13px;
  }

  /* 左テキスト画像ブロック */
  .top_img_text{
    flex:0 0 auto;         /* 固定幅で表示したい場合は幅指定 */
    width:54%;             /* 画面幅に応じて調整 */
    min-width:220px;       /* つぶれ防止 */
    position:relative;
    z-index:2;
	padding: 0 0 0 60px;
  }
.top_img_text .p-topMv__btn {
	position: absolute;
	bottom: 0%;
	gap: 10px;
	    width: 60%;
}
/* SVG吹き出しのみ（テキストは表示しない） */
.p-topMv__btn .p-topMv__btnItem a::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 100%;                /* 吹き出しサイズ（必要に応じ調整） */
  height: 56px;
  transform: translateX(-50%) translateY(120%); /* 下に隠す初期状態 */
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  transition: opacity 0.45s ease, transform 0.45s cubic-bezier(0.25,1,0.5,1);
  pointer-events: none;
  z-index: 2;
}
.p-topMv__btn .p-topMv__btnItem:first-of-type a::before {
  background-image: url("../assets/img/top/text_coment01.svg");
  width: 75%;
}
.p-topMv__btn .p-topMv__btnItem:last-of-type a::before {
  background-image: url("../assets/img/top/text_coment02.svg");
	width: 100%;
}
/* is-visible が付いたら下→上に出す */
.p-topMv__btn .p-topMv__btnItem a.is-visible::before {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* レスポンシブ：幅が狭い画面で吹き出しがはみ出す場合 */
.p-topMv__btn .p-topMv__btnItem a::before {
  max-width: 90vw;
  width: min(220px, 90vw);
}
.p-topMv__btnLink--download  {
	padding: 10px 10px;
}
  /* 右デバイス画像ブロック */
.top_img_devices{
    flex:0 0 auto;
    width:54%;
    min-width:260px;
    position:relative;
    z-index:2;
  }

  /* 画像の基本 */
  .top_img_text img,
  .top_img_devices img{
    display:block;
    height:auto;
    border:0;
  }
  /* 小さい画面では縦並びに */
  @media (max-width:768px){
    .hero{min-height:auto}
    .hero__inner{flex-direction:column; align-items:center; padding:0 0 20%;}
    .top_visual{flex-direction:column}
    .top_img_text, .top_img_devices{width:100%; min-width:0}
  }



.top_about, .top_about_detail_inner {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.top_about_detail_inner .p-topAbout__contentPic_device {
	padding: 20px 20px 0 0;
}
.p-topAboutReason__list02 > li {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
}
.p-topAboutReason__wrap01 {
    display: grid;
    grid-template-columns: 28% 70%;
    gap: 0;
    max-width: 1270px;
    margin: 0 auto 51px;
    padding-right: 24px;
}
.p-topAboutReason__list01PicImg {
    width: 290px;
}
.p-priceFunction__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}
.p-priceFunction__listLink, .p-priceFunction__listLink--icon15, .p-priceFunction__listLink--icon14, .p-priceFunction__listLink--icon13, .p-priceFunction__listLink--icon12, .p-priceFunction__listLink--icon11, .p-priceFunction__listLink--icon10, .p-priceFunction__listLink--icon09, .p-priceFunction__listLink--icon08, .p-priceFunction__listLink--icon07, .p-priceFunction__listLink--icon06, .p-priceFunction__listLink--icon05, .p-priceFunction__listLink--icon04, .p-priceFunction__listLink--icon03, .p-priceFunction__listLink--icon02, .p-priceFunction__listLink--icon01 {
    position: relative;
    display: block;
    height: 100%;
    padding: 15px 20px 15px 47px;
    border-radius: 3px;
    border: 2px solid rgba(0, 0, 0, 0);
    background: #fff;
    -webkit-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, .1);
    box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, .1);
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.8;
    -webkit-transition: border-color .5s;
    transition: border-color .5s;
    will-change: border-color;
}

.p-priceFunction__listItem {
	position: relative;
    display: block;
}
.p-topAbout__bg .p-priceFunction__listLink::after, .p-topAbout__bg .p-priceFunction__listLink--icon15::after, .p-topAbout__bg .p-priceFunction__listLink--icon14::after, .p-topAbout__bg .p-priceFunction__listLink--icon13::after, .p-topAbout__bg .p-priceFunction__listLink--icon12::after, .p-topAbout__bg .p-priceFunction__listLink--icon11::after, .p-topAbout__bg .p-priceFunction__listLink--icon10::after, .p-topAbout__bg .p-priceFunction__listLink--icon09::after, .p-topAbout__bg .p-priceFunction__listLink--icon08::after, .p-topAbout__bg .p-priceFunction__listLink--icon07::after, .p-topAbout__bg .p-priceFunction__listLink--icon06::after, .p-topAbout__bg .p-priceFunction__listLink--icon05::after, .p-topAbout__bg .p-priceFunction__listLink--icon04::after, .p-topAbout__bg .p-priceFunction__listLink--icon03::after, .p-topAbout__bg .p-priceFunction__listLink--icon02::after, .p-topAbout__bg .p-priceFunction__listLink--icon01::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 3%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url("../assets/img/top/icon_about_click.svg") no-repeat center/contain;
}
.p-priceFunction__listLink::before, .p-priceFunction__listLink--icon15::before, .p-priceFunction__listLink--icon14::before, .p-priceFunction__listLink--icon13::before, .p-priceFunction__listLink--icon12::before, .p-priceFunction__listLink--icon11::before, .p-priceFunction__listLink--icon10::before, .p-priceFunction__listLink--icon09::before, .p-priceFunction__listLink--icon08::before, .p-priceFunction__listLink--icon07::before, .p-priceFunction__listLink--icon06::before, .p-priceFunction__listLink--icon05::before, .p-priceFunction__listLink--icon04::before, .p-priceFunction__listLink--icon03::before, .p-priceFunction__listLink--icon02::before, .p-priceFunction__listLink--icon01::before {
    content: "";
    position: absolute;
    top: 0;
    left: 10px;
    width: 30px;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.c-modal01__title::before, .c-modal01__title--icon20::before{
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    margin: auto;
    width: 36px;
    height: 36px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
    .c-modal01__title, .c-modal01__title--icon20, .c-modal01__title--icon13, .c-modal01__title--icon12, .c-modal01__title--icon11, .c-modal01__title--icon10, .c-modal01__title--icon09, .c-modal01__title--icon08, .c-modal01__title--icon07, .c-modal01__title--icon06, .c-modal01__title--icon05, .c-modal01__title--icon04, .c-modal01__title--icon03, .c-modal01__title--icon02, .c-modal01__title--icon01 {
    position: relative;
    margin-bottom: 40px;
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.5;
	padding-left: 46px;
 }
.p-priceFunction__listLink--icon14::before {
    background-image: url(../assets/img/price/ic_story.svg);
}
.p-priceFunction__listLink--icon06::before {
    background-image: url(../assets/img/top/icon_about_reason10.svg);
}
.p-priceFunction__listLink--icon15::before {
    background-image: url(../assets/img/top/icon_about_reason12.svg);
}
.p-priceFunction__listLink--icon11::before {
    background-image: url(../assets/img/price/ic_clip_02.svg);
}
.c-modal01__title--icon06::before {
    background-image: url(../assets/img/top/icon_about_reason10.svg);
}
.c-modal01__title--icon20::before {
    background-image: url(../assets/img/price/ic_story.svg);
}
.c-modal01__title--icon09::before {
    background-image: url(../assets/img/top/icon_about_reason12.svg);
}
.c-modal01__title--icon11::before {
    background-image: url(../assets/img/price/ic_clip_02.svg);
}

.orange_text {
	color: #F78600;
}

.p-topAboutSupport__item:nth-of-type(1)::before {
    background-image: url(../assets/img/top/icon_about_support03.svg);
}
.p-topAboutSupport__item:nth-of-type(2)::before {
    background-image: url(../assets/img/top/icon_about_support01.svg);
}
.p-topAboutSupport__item:nth-of-type(3)::before {
    background-image: url(../assets/img/top/icon_about_support04.svg);
}
.p-topAboutSupport__item:nth-of-type(4)::before {
    background-image: url(../assets/img/top/icon_about_support02.svg);
}
.p-topMv__btn2 {
	display: flex;
	max-width: 620px;
	width: 95%;
	margin: 100px auto 0;
	justify-content: space-between;
}
.p-topMv__btn2 .p-topMv__btnItem {
	width: 48%;
	position: relative;
}
/* ▼ ここからツールチップ表示 ▼ */
.p-topMv__btn2 .p-topMv__btnItem a::after {
	position: absolute;
	bottom: 120%; /* ボタンのすぐ下から出す */
	left: 50%;
	transform: translateX(-50%) translateY(100%); /* 初期は下方向に隠れている */
	color: #333333;
	padding: 6px 12px;
	border-radius: 6px;
	white-space: nowrap;
	opacity: 0;
	transition: opacity 0.45s ease, transform 0.45s cubic-bezier(0.25, 1, 0.5, 1);
	font-size: 14px;
	pointer-events: none;
	z-index: 2;
}
.plus_comment01 .p-topMv__btnItem:first-of-type a::after {
	content: "\005C\00A0個人契約と法人契約の違いも解説 /";
  font-family: "Segoe UI", "Helvetica Neue", "Arial", "Noto Sans JP", "Yu Gothic", sans-serif;
}
.plus_comment01 .p-topMv__btnItem:last-of-type a::after {
	content: "\005C\00A0個別サポートのご希望は /";
  font-family: "Segoe UI", "Helvetica Neue", "Arial", "Noto Sans JP", "Yu Gothic", sans-serif;
}
.plus_comment02 .p-topMv__btnItem:first-of-type a::after {
	content: "\005C\00A0電子版Proと電子版の違いを解説 /";
  font-family: "Segoe UI", "Helvetica Neue", "Arial", "Noto Sans JP", "Yu Gothic", sans-serif;
}
.plus_comment02 .p-topMv__btnItem:last-of-type a::after {
	content: "\005C\00A0貴社にぴったりの使い方は /";
  font-family: "Segoe UI", "Helvetica Neue", "Arial", "Noto Sans JP", "Yu Gothic", sans-serif;
}
/* ▼ 表示状態（スクロールで付与される） */
.p-topMv__btn2 .p-topMv__btnItem a.is-visible::after {
	opacity: 1;
	transform: translateX(-50%) translateY(0); /* 下から上に浮かぶ */
}
.c-card04__head--type01::before {
   top: inherit;
	left: -64px;
    height: 34px;
    background-image: url(../assets/img/top/icon_price01.svg);
}
.c-card04__head--type02::before {
   top: inherit;
	left: -125px;
    height: 34px;
    background-image: url(../assets/img/top/icon_price02.svg);
}
.c-card04__head--type03::before {    
	top: inherit;
    height: 34px;
    left: -95px;
    background-image: url(../assets/img/top/icon_price03.svg);
}

.c-card04__head-span {
    color: #003E70;
    background-color: #fff;
    font-size: 1.3rem;
    padding: 4px 8px;
    display: inline-block; 
    max-width: 74px;
    margin: 0 10px 0 0;
}
.c-card04__head, .c-card04__head--type03, .c-card04__head--type02, .c-card04__head--type01 {
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    text-align: center;
    color: #fff;
}
.c-card04__head--type01{
    padding: 15px 40px 15px 180px;
}
.c-card04__head--type02{
    padding: 15px 40px 15px 99px;
}
.c-card04__head--type03{
    padding: 15px 40px 15px 144px;
}
.c-card04__head {
    height: inherit;
	display: inline-flex;         /* ← フレックス化 */
  align-items: center; 
}
.campaign {
  margin-top: 30px;
  padding: 48px;
  text-align: center;
}
.p-priceBg .campaign{
padding: 0px 0px 62px;
}


.plus_comment{
	margin: 10px auto 0;
	font-size: 30px;
	font-weight: bold;
	text-align:center; 
	padding: 10px 0 10px;
	line-height: 1.5;
}
.plus_comment .deepBlue {
	font-size: 40px;
	color: #003e70;
}
.plus_comment .lightBlueLine {
	background: linear-gradient(transparent 79%, #F78600 70%);
}
.p-topMv__emblemDefinHead .small_text1{
	font-size:1.5rem;
}
.annotation {
	margin: auto;
}
.annotation p {
	font-size: 1.2rem;
	text-align: center;
}
.price {
	position: relative;
    background-color: #F7F3F3;
    box-shadow: 2px 0 5px 0 #dddddd;
    line-height: 60px;
    text-align: center;
	padding: 80px 0;
	z-index: 888;
}
.period {
	text-align: center;
	margin: 20px auto;
	font-size: 2.0rem;
}
.price_detail {
	display: flex;
	width: 900px;
	margin: auto;
	justify-content: space-between;
	align-items: center;
}
.price_detail > .price-img {
	margin: 20px 0 0;
	width: 45%;
}
.price_detail > .price_detail_text {
	width: 50%;
}
.price_text_inner {
	display: flex;
	justify-content: center;
	line-height: 1.0;
	align-items: flex-end;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	margin: -9px 0 0 0;
	text-align: left;
}
.price_detail_text .price_brack {
	color: #333;
	font-size: 3.0rem;
}
.price_text_inner .price_brack .month_text {
	font-size: 1.6rem;
}
.price_text_inner .price_brack .brack_line {
	text-decoration-line: line-through;
}
.price_text_inner .price_brack .human_text {
	font-size: 1.9rem;
}
.ic_polygon {
	margin: 0 10px 10px;
}
.price_detail_text .price_orange {
	color: #F78600;
	font-size: 4.0rem;
	font-weight: bold;
}
.price_text_inner .price_orange .month_text {
	font-size: 2.0rem;
}
.price_text_inner .price_orange .human_text {
	font-size: 3.0rem;
}
.note {
	font-size: 1.2rem;
	margin: 20px auto 50px;
	max-width: 923px;
	color: #888888;
	line-height: 2.0;
	text-align: center;
}
.button_05 {
	width: 250px;
	margin: 40px auto 0;
}
.button_05 a {
	display: block;
	font-size: 1.4rem;
	width: 100%;
	font-weight: bold;
	color: #003e70;
	text-align: center;
	background-color: #ffffff;
	border: 2px solid #003e70;
	border-radius: 20px;
}
.button_05 a:hover {
	display: block;
	height: 100%;
	border: 2px solid #003e70;
	color: #ffffff;
	-webkit-transition: border-color .5s, background-color .5s, color .5s;
	transition: border-color .5s, background-color .5s, color .5s;
	will-change: border-color, background-color, color;
	border-color: #003e70;
	background: #003e70;
}
.campaign_button {
	position: relative;
    z-index: 1;
	width: 400px;
	margin: 10px auto 0;
}
.campaign_button a {
	display: block;
	width: 100%;
	text-align: center;
	background: #003e70;
	border: 1px solid #003e70;
	color: #ffffff;
	padding: 10px 10px;
	border-radius: 3px;
	font-weight: bold;    
	transition: border-color .5s, background-color .5s, color .5s;
}
.campaign_button a:hover {
	border-color: #003e70;
    background: #fff;
    color: #003e70;
}
.campaign_bunnerPlus {
	position: relative;
}
.campaign_bunnerPlus .campaign_bunnerInner {
	position: absolute;
    top: -25px;
    text-align: center;
    left: 0;
    right: 0;
}
.polygon__picImg {
	display: block;
	width: 20px;
	margin: 0 auto;
}
.c-card04:nth-of-type(2) .c-card04__text:nth-of-type(2) .c-card04__textNum{
	position: relative;
	color: #333;
}
.c-card04:nth-of-type(2) .c-card04__text:nth-of-type(2) .c-card04__textNum:after {
	content: '';
    transform: rotate(-9deg);
    width: 100%;
    border-top: 2px solid #333333;
    position: absolute;
    top: 50%;
    left: 0;
}
.c-btn02--type01::after {
    background-image: url("../assets/img/top/icon_about_click.svg");
}
.c-card04 .c-card04__text{
	align-items: baseline;
}

/*-------------------------------------------------------------------------QA*/
.p-topFaq__item {
    border-top: inherit;
	margin: 0 auto 20px;
}
.p-topFaq__head {
	border: 1px solid #c5c5c5;
}
.qa_category_top.p-topFaq__item {
	border-top: inherit;
    background: #fff;
}
.p-topFaq__item:last-of-type {
    border-bottom: inherit;
}
.qa_category_top > .p-topFaq__head::before {
    content: "";
}
.qa_category_top > .p-topFaq__head >.p-topFaq__headInner {
	border-bottom: 1px solid #003e70;
	padding: 20px 0 20px 20px;
	font-size: 2.4rem;
}
.qa_category_top > .p-topFaq__head::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 1px);
    background-color: inherit;
    -webkit-transform-origin: inherit;
    transform-origin: inherit;
    -webkit-transform: inherit;
    transform: inherit;
    -webkit-transition: inherit;
    transition: inherit;
    will-change: inherit;
}
.qa_category_top > .p-topFaq__head >.p-topFaq__headInner > .p-topFaq__headIcon {
	right: 12px;
}
.qa_category_top > .p-topFaq__head {
    padding: 0; 
	border: inherit;
}
.qa_category_top > .p-topFaq__body::before {
	content: "";
}
.qa_category_top > .p-topFaq__body {
    padding: 28px 24px 28px;
	background: #ffffff;
	/*background: #e1e5e9;*/
}
.p-topAboutReason .icon-pro {
    background-color: #F78600;
    color: #fff;
    font-weight: 700;
    line-height: 1.7;
    padding: 0 10px 0 10px;
    margin: 0 0 0 10px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 1;
    font-size: 1.2rem;
}
.solo_buton {
	max-width: 400px;
	width: 100%;
	margin: 50px auto 0;
}
.titleFaq {
	border-bottom: 1px solid #003e70;
    padding: 20px 0 20px 20px;
    font-size: 2.4rem;
	font-weight: bold;
	margin: 0 0 30px;
}
.moreFaq_inner {
	text-align: right;
	font-size: 2.0rem;
}
.moreFaq > .p-topFaq__head >.p-topFaq__headInner {
	font-size: 1.8rem;
	border-bottom: inherit;
	padding: 5px 50px 5px 0;
}
.moreFaq > .p-topFaq__body {
	padding: 28px 0 28px;    
}

.moreFaq > .moreFaq_inner > .p-topFaq__headInner {
	width: 200px;
	margin: 0 0 0 auto;
	text-align: center;
	border-radius: 30px;
	color: #fff;
	background: #003e70;
	padding: 10px auto;
}
.moreFaq > .moreFaq_inner > .p-topFaq__headInner .p-topFaq__headIcon::before, .moreFaq > .moreFaq_inner > .p-topFaq__headInner .p-topFaq__headIcon::after {
	background: #fff;
}
.moreFaq > .moreFaq_inner > .p-topFaq__headInner .p-topFaq__headIcon {
    right: 25px;
}
.p-topSeminar__mainItem {
	max-width: 800px;
	width: 95%;
	margin: auto;
}

.c-card04__body {
    height: 280px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.price__PageList .c-card04__body {
    height: inherit;
    display: flex;
    flex-direction: column;
    justify-content: center;    
	padding: 32px 20px 0;
}
.p-pricePlan__link {
    margin: 22px auto 0;
}

.c-btn02--type01 {
    font-size: 1.4rem;
}
.c-card04__btn {
    margin-top: 20px;
}
.price-navy01-big {
	color: #003e70;
	font-size: 2.8rem;
}
.deco-target {
  position: relative; /* 疑似要素の基準点 */
  display: inline-block; /* 必須：高さ・位置制御のため */
}

.deco-target::after {
  content: "";
  position: absolute;
  top: 0;      /* ← 上に少し浮かせる */
  right: -0.5em;    /* ← 文字の右上に寄せる */
  width: 12px;      /* ← 画像サイズ（調整可） */
  height: 12px;
  background: url("../assets/img/top/icon_deco.svg") no-repeat center/contain;
  pointer-events: none;
}
.head04_out01 {
	background: #0276d6;
	text-align: center;
}
.head04_out02 {
	background: #003e70;
	text-align: center;
}
.head04_out03 {
	background: #0e2f4a;
	text-align: center;
}
/* もーだる*/
:root{
    --bg:#ffffff;
    --accent:#0b66c3;
    --modal-bg: rgba(0,0,0,0.5);
    --card-bg:#fff;
    --muted:#666;
    --table-border:#e6e6e6;
  }
  .btn {
    display:inline-block;
    background:var(--accent);
    color:#fff;
    padding:10px 16px;
    border-radius:6px;
    text-decoration:none;
    cursor:pointer;
    border:none;
    font-weight:600;
    box-shadow: 0 2px 6px rgba(11,102,195,0.18);
  }

  /* モーダルの基本 */
  .modal-backdrop {
    position: fixed;
    inset: 0;
    display: none; /* hidden by default */
    align-items: center;
    justify-content: center;
    background: var(--modal-bg);
    z-index: 9999;
    padding: 20px;
  }
  .modal-backdrop.is-open { display:flex; }

  .modal {
    background: var(--card-bg);
    width: min(900px, 98vw);
    max-height: 90vh;
    overflow: auto;
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.25);
    padding: 20px;
    position: relative;
  }

  .modal-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
  }
  .modal-title { font-size:18px; font-weight:700; }
  .modal-close {
    background:transparent;
    border:none;
    font-size:18px;
    cursor:pointer;
    color:var(--muted);
  }

  /* 表のスタイル（PDFの見た目を意識） */
  .cmp-table {
    width:100%;
    border-collapse: collapse;
    font-size:14px;
  }
  .cmp-table th,
  .cmp-table td {
    border: 1px solid var(--table-border);
    padding: 10px 12px;
    vertical-align: middle;
    text-align: left;
  }
.cmp-table td:nth-of-type(1), .cmp-table td:last-of-type {
	text-align: center;
}
  .cmp-table thead th {
    background: #f7f9fc;
    font-weight:700;
	text-align: center;
  }
  .cmp-table td.center { text-align:center; }
  .cmp-note { color:var(--muted); font-size:13px; margin-top:10px; }

  /* レスポンシブ：小さい画面では表をスクロール可能にする */
  @media (max-width:640px){
    .modal { padding: 12px; }
    .cmp-wrap { overflow:auto; }
    .cmp-table th, .cmp-table td { white-space:nowrap; }
  }
.cmp-table thead th:last-of-type {
    background: #003e70;
	color: #fff;
}

.p-topMv__partner {
	margin: 30px 0 0;
}

.p-topAboutReason .icon-pro-modal {
    background-color: #F78600;
    color: #fff;
    font-weight: 700;
    padding: 2px 12px;
    font-size: 1.6rem;
    margin: 0 0 0 10px;
    display: inline-block;
}
.c-title01__effect01 {
	color: inherit;
}
.c-title01__effect01 .c-title01__accent01 {
    color: #003e70;
	font-size: 5.0rem;
}
@media (min-width: 768px) {
	.small_text2{
	font-size: 1.2rem;
	}
	.p-topMv__emblem {
		gap: 40px;
		margin-top: 60px;
		margin-bottom: 20px;
	}
	.p-topMv__personPc {
		inset: auto 0 140px;
	}
}
@media (max-width: 768px) {
.cmp-table {
    font-size: 10px;
}
	.c-title01__effect01[data-effect=on] .c-title01__accent01, .p-topAboutReason__title, .p-topAboutSupport__title, .p-topAboutReason__titleEffect01[data-effect=on] .big_navy,.p-topAboutSupport__titleEffect01[data-effect=on] .p-topAboutSupport__titleNum, .c-title01__effect01 .c-title01__accent01 {
    font-size: 2.6rem;
}
	    .p-topAboutReason .icon-pro-modal {
        line-height: 1.4;
        padding: 0 8px;
        font-size: 1.4rem;
    }
    .p-topMv__btnLink--contact {
        font-size: 1.2rem;
    }
	.c-title01 {
        font-size: 2.6rem;
        line-height: 1.4;
    }
.top_img_text {
    padding: 0px;
}
.p-topMv__btnLink--download  {
	font-size: 1.2rem;
}
	.c-card04__head, .c-card04__head--type03, .c-card04__head--type02, .c-card04__head--type01 {
		font-size: 1.8rem;
	}
	.c-card04__head--type01::before {
		left: -40px;
	}
	.c-card04__head--type01 {
		padding: 15px 40px 15px 160px;
		margin: 0 auto 0;
	}
	.c-card04__head--type02 {
		padding: 15px 40px 15px 78px;
		margin: 0 auto 0;
	}
	.c-card04__head--type03 {
		padding: 15px 40px 15px 112px;
		margin: 0 auto 0;
	}
	.p-topMv__btn2 {
		display: inherit;
	    margin: 80px auto 0;
	}
	.p-topMv__btn2 .p-topMv__btnItem {
		width: 100%;
	}
	.p-topMv__btn2 .p-topMv__btnItem:last-of-type{
		margin: 60px auto 0;	
	}
	.p-topAboutReason__list02 > li {
		display: inherit;
		justify-content: space-between;
	}
	.p-topAboutReason__list02Content {
        margin: 20px auto 0;
    }
	.p-topAboutReason__wrap01 {
		grid-template-columns: 1fr;
	}
	.p-priceFunction__list {
		grid-template-columns: repeat(1, 1fr);
	}
	.top_about, .top_about_detail_inner {
		display: inherit;
		justify-content: space-between;
		align-items: center;
	}
	.top_about_detail_inner .p-topAbout__contentPic_device {
		padding: 20px 0;
	}
	.p-topAboutReason__list02Btn {
        display: inherit;
        grid-template-columns: 1fr;
        gap: 0;
        padding: 12px;
        background: #e1e5e9;
    }
	.p-priceBg .campaign{
		padding: 0px 0px 40px;
		}
	.plus_comment{
		margin: 10px auto 0;
		font-size: 18px;
		font-weight: bold;
		text-align:center; 
		padding: 10px 0;
		line-height: 1.5;
	}
	.plus_comment .deepBlue {
		font-size: 30px;
		color: #003e70;
	}
	.plus_comment .lightBlueLine {
		background: linear-gradient(transparent 79%, #F78600 70%);
	}
	.small_text1{
		display: none;
	}
	
	.p-topMv__emblem {
		gap: 2px;
		margin-top: 30px;
		margin-bottom: 15px;
        display: flex;
        justify-content: space-between;
	}
	.p-topMv__emblemItem {
        padding: 0 19px;
        width: 33%;
        text-align: center;
    }
	.p-topMv__emblemDefin {
		font-size: 2.1vw;
        margin: auto;
	}
    .p-topMv__emblemDefinNum {
        font-size: 4vw;
    }
	.p-topMv__emblemDefinBody .small_text2{
		font-size:1.5vw;
	}	
	.p-topMv__emblem_out {
		width: 100%;
	}
	.p-topMv__personSp {
        margin: 0 0 0;
    }
	.annotation p {
		font-size: 2.3vw;
	}
	.price {
	position: relative;
    background-color: #F7F3F3;
    box-shadow: 2px 0 5px 0 #dddddd;
    line-height: 60px;
    text-align: center;
	padding: 80px 0;
	z-index: 888;
	}
	.period {
		text-align: center;
		margin: 20px auto;
		font-size: 2.0rem;
	}
	.price_detail {
		display: flex;
		width: 900px;
		margin: auto;
		justify-content: space-between;
		align-items: center;
	}
	.price_detail > .price-img {
		margin: 20px 0 0;
		width: 45%;
	}
	.price_detail > .price_detail_text {
		width: 50%;
	}
	.price_detail_text > img {
		text-align: center;
		margin: auto;
		width: 80%;
	}
	.price_text_inner {
		display: flex;
		justify-content: center;
		line-height: 1.0;
		align-items: flex-end;
		font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
		margin: -9px 0 0 0;
		text-align: left;
	}
	.price_detail_text .price_brack {
		color: #333;
		font-size: 2.0rem;
	}
	.price_text_inner .price_brack .month_text {
		font-size: 1.4rem;
	}
	.price_text_inner .price_brack .brack_line {
		text-decoration-line: line-through;
	}
	.price_text_inner .price_brack .human_text {
		font-size: 1.6rem;
	}
	.ic_polygon {
		margin: 0 10px 10px;
	}
	.price_detail_text .price_orange {
		color: #F78600;
		font-size: 2.8rem;
		font-weight: bold;
	}
	.price_text_inner .price_orange .month_text {
		font-size: 1.8rem;
	}
	.price_text_inner .price_orange .human_text {
		font-size: 2.0rem;
	}
	.note {
		font-size: 1.2rem;
		margin: 20px auto 50px;
		max-width: 923px;
		color: #888888;
		line-height: 2.0;
		text-align: center;
	}
	.button_05 {
		width: 250px;
		
        margin: 0px auto 30px;
	}
	.button_05 a {
		display: block;
		font-size: 1.4rem;
		width: 100%;
		font-weight: bold;
		color: #003e70;
		text-align: center;
		background-color: #ffffff;
		border: 2px solid #003e70;
		border-radius: 20px;
	}
	.price {
		padding: 40px 0;
	}
	.price h2 {
		margin: 0 auto;
	}
	.h2wrap::after {
		width: 85px;
		height: 8px;
		margin: 0 auto;
	}
	.period {
		margin: 0 auto;
		font-size: 1.8rem;
	}
	.price_detail > .price-img {
		margin: 20px auto 0;
		width: 70%;
	}
	.price_detail > .price_detail_text {
        width: 95%;
		margin: 30px auto;
    }
	.price_detail {
		display: inherit;
		width: 95%;
		margin: auto;
		justify-content: inherit;
		align-items: inherit;
	}
	.price_detail_text > img {
		width: 20px;
        margin: auto;
        text-align: center;
        display: block;
	}
	.price_text_inner {
		justify-content: center;
	}
	.ic_polygon {
		margin: 0 5px 10px;
		width: 15px;
	}
	.price_detail_text .btn-area__inner {
        margin: 23px auto 0;
    }
	.note {
        width: 95%;
		font-size: 1.2rem;
		text-align: left;
		line-height: 1.3;
		margin: 0px auto 30px;
    }
	

	.campaign__title {
	  font-size: 1.8rem;
	  line-height: 1.34;
	}
	.campaign__text {
	  margin-top: 12px;
	  margin-bottom: 24px;
	  font-size: 3.2rem;
	  font-weight: 600;
	  line-height: 1.34;
	}
	.campaign__notice {
	  margin-top: 4px;
	  font-size: 1.6rem;
	  line-height: 1.5;
	}
	.campaign__buttonArea {
	  display: flex;
	  margin-top: 24px;
	  justify-content: center;
	  align-items: center;
	}
	.campaign__button {
	  margin: 0 12px;
	}
	.campaign a{
	background-color: #000000; 
	}
	.campaign_button {
		position: relative;
		z-index: 1;
		width: 100%;
		margin: 10px auto 0;
	}
	.campaign_button a {
		display: block;
		width: 100%;
		text-align: center;
		background: #003e70;
		border: 1px solid #003e70;
		color: #ffffff;
		padding: 10px 10px;
		border-radius: 3px;
		font-weight: bold;    
		transition: border-color .5s, background-color .5s, color .5s;
	}
	.campaign_button a:hover {
		border-color: #003e70;
		background: #fff;
		color: #003e70;
	}
	.campaign_bunnerPlus {
		position: relative;
	}
	.campaign_bunnerPlus .campaign_bunnerInner {
		position: absolute;
		top: -25px;
		text-align: center;
		left: 0;
		right: 0;
	}
	.polygon__picImg {
		display: block;
		width: 20px;
		margin: 0 auto;
	}
	.c-card04:nth-of-type(2) .c-card04__text:nth-of-type(2) .c-card04__textNum{
		position: relative;
		color: #333;
	}
	.c-card04:nth-of-type(2) .c-card04__text:nth-of-type(2) .c-card04__textNum:after {
		content: '';
		transform: rotate(-9deg);
		width: 100%;
		border-top: 2px solid #333333;
		position: absolute;
		top: 50%;
		left: 0;
	}
	.c-card04:nth-of-type(2) .c-card04__body{
		/*padding: 15px 24px 32px; */
	}
	.price__PageList .c-card04__body {
		padding: 32px 20px 0;
	}
	.c-card04:nth-of-type(2) p, .c-card04:nth-of-type(3) p {
		vertical-align: baseline;        
		font-size: 1.4rem;
	}
	.c-card04:nth-of-type(2) .c-card04__text:nth-of-type(3) .c-card04__textNum {
		font-size: 3.4rem;
	}
	.c-card04 .c-card04__text{
		align-items: baseline;
	}
	.p-topPrice__list {
        gap: 46px;
    }
	.c-card04__btnLink--type02 {
		position: relative;
		display: block;
		height: 100%;
		padding: 10px 40px;
		border-radius: 3px;
		border: 1px solid #003e70;
		background: #f78600;;
		color: #003e70;
		text-align: center;
		font-size: 1.4rem;
		font-weight: 700;
		line-height: 1.6;
		-webkit-transition: border-color .5s, background-color .5s, color .5s;
		transition: border-color .5s, background-color .5s, color .5s;
		will-change: border-color, background-color, color;
		border-color: #f78600;
		color: #fff;
	}
	.c-card04__text {
		font-size: 1.4rem;
	}
	.c-card04__btnLink--type02:after {
		content: "";
		position: absolute;
		top: 0;
		right: 14px;
		width: 16px;
		height: 100%;
		background: url(../assets/img/common/icon_arrow02_orange_white.svg) no-repeat center / contain;
		-webkit-transition: background-image .5s;
		transition: background-image .5s;
		will-change: background-image;
	}
	.c-card04__btnLink--type02:hover {
        border-color: #f78600;
        background: #fff;
        color: #f78600;
    }  
	.top_img_text .p-topMv__btn {
		position: absolute;
		bottom: -20%;        
		max-width: 85%;
		left: 0;
		right: 0;
    width: 100%;
	}
	.top_detailtext {
		max-width: 385px;
		width: 100%;
		margin: auto;
		padding: 20px 10px 0;
	}
	.c-modal01__title, .c-modal01__title--icon20, .c-modal01__title--icon13, .c-modal01__title--icon12, .c-modal01__title--icon11, .c-modal01__title--icon10, .c-modal01__title--icon09, .c-modal01__title--icon08, .c-modal01__title--icon07, .c-modal01__title--icon06, .c-modal01__title--icon05, .c-modal01__title--icon04, .c-modal01__title--icon03, .c-modal01__title--icon02, .c-modal01__title--icon01 {
        margin-bottom: 20px;
        padding-top: 38px;
        text-align: center;
        font-size: 1.8rem;
		padding-left: 0;
    }
	    .c-modal01__title::before, .c-modal01__title--icon20::before, .c-modal01__title--icon13::before, .c-modal01__title--icon12::before, .c-modal01__title--icon11::before, .c-modal01__title--icon10::before, .c-modal01__title--icon09::before, .c-modal01__title--icon08::before, .c-modal01__title--icon07::before, .c-modal01__title--icon06::before, .c-modal01__title--icon05::before, .c-modal01__title--icon04::before, .c-modal01__title--icon03::before, .c-modal01__title--icon02::before, .c-modal01__title--icon01::before {
        inset: 0 0 auto 0;
        width: 28px;
        height: 28px;
    }
	.p-priceFunction__listLink::before, .p-priceFunction__listLink--icon15::before, .p-priceFunction__listLink--icon14::before, .p-priceFunction__listLink--icon13::before, .p-priceFunction__listLink--icon12::before, .p-priceFunction__listLink--icon11::before, .p-priceFunction__listLink--icon10::before, .p-priceFunction__listLink--icon09::before, .p-priceFunction__listLink--icon08::before, .p-priceFunction__listLink--icon07::before, .p-priceFunction__listLink--icon06::before, .p-priceFunction__listLink--icon05::before, .p-priceFunction__listLink--icon04::before, .p-priceFunction__listLink--icon03::before, .p-priceFunction__listLink--icon02::before, .p-priceFunction__listLink--icon01::before
 {
    width: 20px;
}
	
.p-priceFunction__listLink, .p-priceFunction__listLink--icon15, .p-priceFunction__listLink--icon14, .p-priceFunction__listLink--icon13, .p-priceFunction__listLink--icon12, .p-priceFunction__listLink--icon11, .p-priceFunction__listLink--icon10, .p-priceFunction__listLink--icon09, .p-priceFunction__listLink--icon08, .p-priceFunction__listLink--icon07, .p-priceFunction__listLink--icon06, .p-priceFunction__listLink--icon05, .p-priceFunction__listLink--icon04, .p-priceFunction__listLink--icon03, .p-priceFunction__listLink--icon02, .p-priceFunction__listLink--icon01 {
    padding: 15px 20px 15px 37px;
}
	.p-topMv__btn .p-topMv__btnItem a::before {
    bottom: 85%;
}
	@media (hover: hover) {
		.c-card04__btnLink--type02:hover::after {
			background-image: url(../assets/img/common/icon_arrow02_orange.svg);
    	}
	}
	.c-btn02--type01 {
    font-size: 1.2rem;
}
	.c-card04__body {
		height: inherit;
	}
}

@media (max-width: 1127px) {
  .campaign__button {
    margin: 0 6px;
  }
  .campaign__text {
    font-size: 2.8rem;
  }
  .campaign__buttonArea {
    margin-top: 24px;
	}
}
.campaing-price__inner{
margin: auto;
max-width: 983px;
}
.campaing-price__inner img{
width: 100%;
margin: auto;
}
.campaign-price__text{
text-align: center;
font-size: 2.6rem;
font-weight: 700;
color: #333333;
margin: 0 auto;
}
.campaign-price__subtext{
margin: 40px auto 0;
max-width: 664px;
text-align: left;
font-size: 1.2rem;
line-height: 1.5;
}
.campaign-price__subtext a{
font-weight:700;
text-decoration-line: underline;
}
.price__buttonArea__botomm{
margin-top: 24px;
text-align: center;
color: #003e70;
font-weight: 700;
font-size: 2.0rem;
text-decoration-line: underline;
}
.twomonth_campaign{
margin: 32px auto;
font-weight: 700;
font-size: 1.6rem;
line-height: 1.8;
}
.twomonth_campaign-emphasis{
color: #f48600;
font-size: 2.0rem;
}


/* --------------------------------------------
  .btn-area
----------------------------------------------*/
.btn-area__inner{
	margin: auto 0;
	}
@media (min-width: 414px) {
.btn-area__inner{
	display: flex;
	max-width: 664px;
	margin: 32px auto 0;
	}
}
.btn-area__inner02{
	display: flex;
	max-width: 400px;
	margin: 80px auto 0;
}
.primary-btn {
    width: 100%;
    font-weight: bold;
	transition: all .2s ease;
}
.primary-btn--trial a{
	background-color: #f78600;
	color: #FFF;
}
.primary-btn--consultation a{
	background-color: #0276d6;
	color: #fff;
}
.primary-btn--smallnumber a{
background: #fff;
border: 2px solid #003e70;
	color: #003e70;
	max-width: 320px;
	margin: auto;
}
.primary-btn a{
	display: flex;
    justify-content: center;
    align-items: center;
    height: 56px;
    width: 100%;
    text-align: center;
    font-size: 1.6rem;
    line-height: 150%;
    border-radius: 4px;
    box-shadow: -4px 8px 8px rgb(130 139 136 / 24%);
    transition: all .2s ease;
}
.hero__inner .primary-btn a{
font-size: 1.4rem;
}
.primary-btn--consultation{
	position: relative;
}/*
.primary-btn--consultation a::after{
    position: absolute;
    top: 50%;
    right: 17px;
    content: '';
    display: inline-block;
    width: 9px;
    height: 16px;
    background: url("../img/ic_arrow_right_white.svg") no-repeat;
    background-size: 9px 16px;
    transform: translate(0, -50%);
}*/
.primary-btn--trial{
	position: relative;
}/*
.primary-btn--trial a::after{
    position: absolute;
    top: 50%;
    right: 17px;
    content: '';
    display: inline-block;
    width: 9px;
    height: 16px;
    background: url("../img/ic_arrow_right_white.svg") no-repeat;
    background-size: 9px 16px;
    transform: translate(0, -50%);
}*/
.primary-btn + .primary-btn {
    margin-top: 24px;
}
@media screen and (min-width:414px){
.primary-btn + .primary-btn {
    margin-left: 24px;
	margin-top: 0px;
}
}

.primary-btn:hover {
    transform: translateY(2px);
	border-radius: 12px;
}
.btn-area + .btn-area{
margin: 32px 0 0;
}

@media screen and (min-width:414px){
.btn-area + .btn-area{
margin: 62px 0 0;
}
}
.btn-area__text{
font-size: 1.6rem;
}

.hero__buttonArea {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}
.hero__button {
  margin: 0 12px;
}
.button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 480px;
  height: 88px;
line-height: 1.4;
text-align: center;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  color: #000;
  font-size: 2.0rem;
  font-weight: 600;
  text-decoration-line: none;
}
.button:hover {
  opacity: 0.8;
}
.button--register {
  border: 1px solid #f58700;
  background: #f58700;
  color: #fff;
text-align: center;
z-index: 1;
}

@media (max-width: 640px) {
  .hero__buttonArea {
    margin-top: 6.25vw;
  }
  .hero__button {
    margin: 0 1.8vw;
  }
  .button {
    width: 76vw;
    height: 16vw;
    font-size: 3.8vw;
  }
}

.hero__buttonArea a{
position: relative;
}
.hero__buttonArea a:after{
        content: "";
        background: url("../img/ic_arrow_right.svg") no-repeat;
        -webkit-background-size: cover;
        -o-background-size: cover;
        background-size: cover;
        width: 12px;
        height: 16px;
        position: absolute;
        right: 3%;
        top: 36%;
    
}
@media (max-width: 640px) {
	.hero__buttonArea a:after{
        width: 12px;
        height: 16px;
    
}
}

/* .m-table
-------------------------------------------------------------------------- */

.m-table__prices-caption { background-color: #ffffff; border: 1px solid #acdcff; border-bottom: 0;  font-size: 14px; font-weight: 400; line-height: 1.65; padding: 10px 20px 0; text-align: center;}

.m-table__prices-caption + .m-table__prices-inner { margin-top: 8px;}

.m-table__prices {max-width: 440px; background-color: #ffffff;border: 1px solid #d8d8d8; margin: 32px auto ; padding: 24px;}
@media screen and (max-width:620px){
.m-table__prices {max-width: 440px; background-color: #ffffff;border: 1px solid #d8d8d8; margin: 32px auto ; padding: 16px 8px;}
}
.m-table__prices-inner { display: table-row;}

.m-table__price-desc { display: table-cell; font-size: 1.6rem; font-weight: 300; letter-spacing: -.2px; padding-right: 8px; text-align: right; vertical-align: middle; width: 140px; line-height: 1.4;}

.m-table__price-cost { display: table-cell; font-size: 1.8rem; font-weight: 300; line-height: 1.5; text-align: left; vertical-align: middle;}
@media screen and (max-width:620px){
.m-table__price-cost{text-align: right;
}
}
.m-table__price-cost small{
font-size: 1.2rem;
}

.m-table__price-cost--sub { display: inline-block; font-weight: normal; margin-left: .25em;}

.m-table__price-cost--c-blue { color: #336e9c;}

.m-table__price-cost--td-l { text-decoration: line-through;}

.m-table__price-cost--fw-n { font-weight: normal;}
.bold {
    font-weight: bold;
}
/* detail
-------------------------------------------------------------------------- */
.orange {
    color: #f78600;
}
.erase-boder{
text-decoration-line: line-through;
}
/* 基本はPC優先/上書き防止をシンプルにする */
.sp-only { display: none; }
.pc-only { display: block; }

/* スマホ幅：768未満をスマホとみなす（境界の重複を防ぐ） */
@media (max-width: 767.98px) {
  .sp-only { display: block !important; }
  .pc-only { display: none !important; }
}

/* デスクトップ（念押し） */
/*@media (min-width: 768px) {
  .sp-only { display: none !important; }
  .pc-only { display: block !important; }
}*/

/* Asia導線追加
-------------------------------------------------------------------------- */
.l-headerNavSub__gridItem:nth-of-type(4) {
    border-right: none;
}
/*.p-topScene__item:last-of-type .p-topScene__btn {
	grid-template-columns: 32% 32% 32%;
}*/
.p-topScene__head {
    padding: 15px 36px 14px 16px;
}
.p-topScene__head::before {
    right: 9px;
}
@media screen and (max-width: 768px) {
    .p-topScene__item:last-of-type .p-topScene__btn {
        grid-template-columns: 100%;
    }
	
}

/* ABテスト用
-------------------------------------------------------------------------- */
.hero02 {
    position: relative;
    z-index: 0;
    overflow: visible;
    min-height: 360px;
    align-items: center;
	display: inherit;
}
.hero02::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(../assets/img/top/bg_mv01.webp) repeat-x bottom center / cover, linear-gradient(to top, #fff 5%, #f6f7f9 100%);
    z-index: -1;
}
  /* 内側ラッパー：中央寄せ＆最大幅 */
.hero__inner02{  
	width: 100%;
    max-width: 1500px;
    margin: 0 auto;
	position: relative;
}
 .top_visual02{    
   display: flex;
   width: 100%;
   align-items: flex-start;
   gap:0px;
   margin: 0 0 0 170px;
}
.top_img_text02 {
	margin: 3% 0 0 0;
    width: 62%;
}
    .u-d--pcNone02 {
        display: block !important;
    }
  /* 左テキスト画像ブロック */
  .top_img_text02{
	margin: auto;
}
.top_img_text03 {
    position: absolute;
    top: 85%;
    margin: auto;
    left: 0;
    right: 0;
    max-width: 810px;
    width: 90%;
}
.top_img_text03 .p-topMv__btn02 {
	width: 100%;
    left: 0;
    right: 0;
    margin: 0 auto 4%;    
	gap: 10px;
     z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.top_img_text04 {
    margin: 3% 0 0 0;
    width: 62%;
}
.top_img_devices02{
   width:44%;
    flex: 0 0 auto;
    min-width: 260px;
    position: relative;
    z-index: 2;
}
.top_img_text02 {
    flex: 0 0 auto;
    width: 54%;
    min-width: 220px;
    z-index: 2;
    padding: 0 0 0 60px;
	margin: 3% auto 0;
}
.top_img_text02 img, .top_img_devices02 img {
    display: block;
    height: auto;
    border: 0;
}
.top_detailtext02 {
    max-width: 750px;
    width: 100%;
    margin: auto;
    padding: 40px 10px 0;
}
.p-topMv__btn02 {
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.p-topMv__btn02 .p-topMv__btnItem a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 20px;
  width: 220px;
  height: 80px;
  background-size: contain;
  background-repeat: no-repeat;

  opacity: 0;
  transform: translateX(-50%) translateY(15px);

  animation: bubble-in 0.3s ease-out 0.3s forwards;
}
.p-topMv__btn02 .p-topMv__btnItem:first-of-type a::after {
	width: 160px;
}
/* 各ボタンごとに画像を設定 */
.p-topMv__btn02 .p-topMv__btnLink--download::after {
  background-image: url("../assets/img/top/text_coment01.svg");
}
.p-topMv__btn02 .p-topMv__btnLink--contact::after {
  background-image: url("../assets/img/top/text_coment02.svg");
}

/* アニメーション定義 */
@keyframes bubble-in {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}
@media (max-width: 768px)  {
	.top_img_text02 .p-topMv__btn02 {  
		bottom: -50px;    
		margin: 0 auto 0;
	}
	.top_visual02 {
		margin: 0;
	}
	.top_img_text02 {
		margin: 0;
		width: 100%;
	}
	.top_img_text03 {
		max-width: 370px;
	}
	.p-topMv__btn02 .p-topMv__btnItem a::after {
		width: 100%;
		bottom: 2px;
	}
	.p-topMv__btn02 .p-topMv__btnItem:first-of-type a::after {
		width: 75%;
	}
	.top_img_text04 {
	    margin: 3% 0 60px 0;
		width: 100%;
	}
	
}
/*@media (max-width: 387px) {
	
	.top_img_text03 {
		top: 105%;
		max-width: 300px;
	}
}*/