@charset "UTF-8";

:root {
	--accent-color-green01: #009585;
	--accent-color-green02: #D1EEEB;
	--marker-color: #FFF773;
	--marker-color-pink: #ECCCCE;
  --base-width: 1700;
}

/* common
---------------------------------------------------------------------------- */
.l-pageBody {
  padding-top: 0;
}

.l-topicPath {
  width: 95%;
  margin-block: 0;
  transform: translateY(30px);
  margin-top: -18px;
}

/* 大見出し背景 */
.l-mv {
	background: url("/images/service/bg_bh_service.png") no-repeat center top;
	margin-bottom: 55px;
}

.box {
	margin-top: 15px;
	padding-top: 40px;
}

.p-service-ttl-underbar {
	font-size: 42px;
	line-height: calc(63/42);
	letter-spacing: 0.04em;
	font-weight: 700;
	text-align: center;

	position: relative;
	padding-bottom: 20px;
}

.p-service-ttl-underbar > .--color-red {
	color: #DC2F3C;
}

.p-service-ttl-underbar > .--small {
	font-size: 22px;
	line-height: 1;
	letter-spacing: 0.1em;
	font-weight: 700;
}

.p-service-ttl-underbar::before{
	position: absolute;
	content: "";
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 3px;
	background-color: #DC2F3C;
}

/* l-header-lp
---------------------------------------------------------------------------- */
.l-header-lp-logo {
  width: max(154.84px, calc(209.84 / 1920 * 100vw));
  aspect-ratio: 209.84/49.41;
  position: fixed;
  top: max(15px, calc(20 / 1920 * 100vw));
  left: 20px;
  z-index: 9000;

  img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
  }
}

.l-header-lp-btn {
  width: max(177px, calc(247 / 1920 * 100vw));
  position: fixed;
  top: max(13px, calc(18 / 1920 * 100vw));
  right: 30px;
  z-index: 9000;

  .m-cta-03-btn span {
    font-size: clamp(12px, calc(16 / 1920 * 100vw), 16px);
    height: clamp(31px, calc(50 / 1920 * 100vw), 50px);
    padding-left: clamp(13px, calc(20 / 1920 * 100vw), 20px);
  }
  .m-cta-03-btn span::before {
    left: clamp(15px, calc(22 / 1920 * 100vw), 22px);
    width: clamp(4px, calc(6 / 1920 * 100vw), 6px);
  }
  .m-cta-03-btn span::after {
    left: clamp(10px, calc(15 / 1920 * 100vw), 15px);
    width: clamp(13px, calc(18 / 1920 * 100vw), 18px);
  }
}

.m-sec-contact-lp-ttl {
  margin-bottom: 30px;
}
.m-sec-contact::before {
  background-repeat: repeat-y;
  background-size: 100%;
}

/* page
---------------------------------------------------------------------------- */
.p-service-top {
  padding-block: 80px 180px;
  color: var(--ver01-main-color-black);
}

.p-service-top-box:not(:last-of-type) { margin-bottom: 90px; }
.p-service-top-box > :first-child { margin-bottom: 30px; }
.p-service-top-box > :nth-child(2) { margin-bottom: 30.7px; }

.p-service-top-ttl {
  font-size: 42px;
  line-height: calc(63/42);
  letter-spacing: .04em;
  font-weight: 700;
  padding-left: 240.5px;
}
.p-service-top-ttl span {
  font-size: 80px;
  line-height: calc(80/80);
  letter-spacing: -0.03em;
  font-weight: 700;
  font-family: 'Montserrat';
  color: #B6B6B6;
  margin-right: 24px;
}

.p-service-top-txt {
  font-size: 18px;
  line-height: calc(32/18);
  letter-spacing: 0.04em;
  font-weight: 400;
}

.p-service-top-list01>:not(:last-child) { margin-bottom: 22px; }

.p-service-top-item {
  font-size: 25px;
  line-height: calc(30/25);
  letter-spacing: .04em;
  font-weight: 400;
}
.p-service-top-item::before {
  content: '→ ';
}

.p-service-top-link {
  color: var(--ver01-main-color-black);
}

.p-service-top-list02 {
  padding-left: 55px;
  margin-top: 22px;
}
.p-service-top-list02>:not(:last-child) { margin-bottom: 22px; }

.p-service-top-list03 {
  padding-left: 55px;
  margin-top: 22px;
}

.--last-item-layout {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 22px 165px;
}
.--last-item-layout>.p-service-top-item {
  margin: 0;
}

/* 改善事例
------------------------------------- */
.p-sec-case-01 {
	background-color: #FFFFFF;
	padding-block: 100px;
}

.p-sec-case-01-list {
	margin-top: 50px;
}

.p-sec-case-01-list >li:not(:last-child) {
	margin-bottom: 40px;
}

.p-sec-case-01-item-heading {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;

	text-align: center;
}

.p-sec-case-01-item-heading-num {
	display: inline-block;
	box-sizing: border-box;

	font-size: 16px;
	line-height: calc(16/16);
	letter-spacing: .04em;
	font-weight: 600;
	color: #CCCCCC;
	font-family: 'Montserrat', sans-serif;

	width: 100px;
	height: 50px;
	background-color: #424242;
	border-top-left-radius: 50px;
	border-top-right-radius: 50px;
	padding: 18px 0px 4px;
}

.p-sec-case-01-item-heading-num em{
	font-size: 23px;
}

.p-sec-case-01-item-heading-ttl {
	font-size: 32px;
	line-height: calc(32/32);
	letter-spacing: .04em;
	font-weight: 700;
	color: #fff;

	width: 100%;
	background-color: #424242;
	padding-block: 9px 12px;
	margin-top: -10px;
}

.p-sec-case-01-item-heading-ttl.fz--small {
  font-size: 24px;
  line-height: calc(43/26);
}

.p-sec-case-01-item-heading-ttl > a {
  color: inherit;
  text-decoration: none;
}

.p-sec-case-01-item-inner {
	background-color: #EEEEEE;
	padding: 30px;
}

.p-sec-case-01-item-content {
	display: flex;
	flex-direction: column;

	background-color: #F8F8F8;
	padding: 28px 30px 30px;
}

.p-sec-case-01-heading {
	font-size: 20px;
	line-height: calc(28/20);
	letter-spacing: .04em;
	font-weight: 700;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;

	height: 38px;
	background-color: #424242;
	border-radius: calc(infinity * 1px);
}

.p-sec-case-01-ttl {
	font-size: 26px;
	line-height: calc(37/26);
	letter-spacing: .04em;
	font-weight: 700;
	display: flex;
	align-items: center;
}

.p-sec-case-01-industry {
	display: grid;
	grid-template-columns: 107px 1fr;
	gap: 0 20px;

	margin-bottom: 28px;
}

.p-sec-case-01-action {
	display: grid;
	grid-template-columns: 107px 1fr;
	gap: 20px;
	grid-template-areas:
		"heading list"
	;

	margin-bottom: 30px;
}

.p-sec-case-01-heading.--action {
	grid-area: heading;
}

.p-sec-case-01-ttl.--action {
	grid-area: ttl;
}

.p-sec-case-01-action-list {
	grid-area: list;
}

.p-sec-case-01-action-item {
	grid-area: list;
	font-size: 17px;
	line-height: calc(30/17);
	letter-spacing: .04em;
	font-weight: 400;
}

.p-sec-case-01-action-img {
	grid-area: img;
}

.p-sec-case-01-action-img img {
	width: 100%;
}

.p-sec-case-01-result {
	display: grid;
	grid-template-columns: 107px 1fr;
	height: 60px;
}

.p-sec-case-01-result-heading {
	font-size: 20px;
	line-height: calc(28/20);
	letter-spacing: .08em;
	font-weight: 700;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;

	background-color: #DC2F3C;
}

.p-sec-case-01-result-ttl {
	font-size: 20px;
	line-height: calc(28/20);
	letter-spacing: .04em;
	font-weight: 700;
	display: flex;
	align-items: center;

	background-color: #fff;
	padding-left: 20px;
}

.p-sec-case-01-result-ttl em {
	display: inline-block;
	font-size: 24px;
	line-height: calc(28/24);
	letter-spacing: .04em;
	font-weight: 700;
	color: #DC2F3C;
/*
	margin-left: 49px;
	position: relative; */
}

/* .p-sec-case-01-result-ttl em::before {
	content: '';
	--triangle-height-size: 16px;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	width: calc(var(--triangle-height-size) / 2 * tan(60deg));
	height: var(--triangle-height-size);
	background-color: currentColor;

	position: absolute;
	left: calc(-13.6px - 16px);
	top: 50%;
	transform: translateY(-50%);
} */

/* 料金表
------------------------------------- */
.p-sec-pricing-plans-01 {
	background-color: #EEEEEE;
	padding-block: 100px;
}

.p-sec-pricing-plans-01-table {
	margin-inline: auto;
	margin-top: 50px;
}

.p-sec-pricing-plans-01-tbody {
	display: flex;
	flex-direction: column;
	gap: 4px 0;
}

.p-sec-pricing-plans-01-row {
	display: grid;
	grid-template-columns: 345px 1fr;
	justify-items: end;
	height: 80px;
}

.p-sec-pricing-plans-01-header {
	font-size: 20px;
	line-height: calc(28/20);
  	letter-spacing: 0.04em;
	font-weight: 700;
	color: #FFFFFF;
	display: flex;
    align-items: center;

	width: 100%;
	background-color: #3B4043;
	padding-inline: 25px;
}

.p-sec-pricing-plans-01-data {
	font-size: 20px;
	line-height: calc(28/20);
  	letter-spacing: 0.04em;
	font-weight: 700;
	color: #424242;
    display: flex;
    align-items: center;

	min-width: 388px;
	background-color: #FFFFFF;
	padding-inline: 30px;
}

.p-sec-pricing-plans-01-data em {
	font-size: 26px;
	line-height: calc(28/26);
  	letter-spacing: 0.04em;
	font-weight: 700;
}

/* m-sec-consultant
------------------------------------- */
.m-sec-consultant-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.m-sec-consultant-item {
  display: grid;
  grid-template-areas:
  "img . ."
  "img . ttl"
  "img . ."
  ". . ."
  "txt txt txt"
  ;
  grid-template-columns: auto 45px 1fr;
  grid-template-rows: 17.5px auto 17.5px 28.5px 1fr;
  background-color: var(--ver01-main-color-white);
  padding: 30px;
}
.m-sec-consultant-item._var02 {
  grid-template-rows: 27px auto 27px 28.5px 1fr;
}

.m-sec-consultant-item-img {
  grid-area: img;
  width: 123px;
  height: 123px;
  border-radius: 50%;
  overflow: hidden;
}

.m-sec-consultant-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.m-sec-consultant-item-ttl-group {
  grid-area: ttl;
  display: flex;
  flex-direction: column;
  gap: 11px;
  height: 88px;
}
.m-sec-consultant-item-ttl-group._var02 {
  height: max-content;
}

.m-sec-consultant-item-ttl {
  font-size: 22px;
  line-height: calc(28/22);
  letter-spacing: 0.04em;
  font-weight: 500;
}

.m-sec-consultant-item-position {
  font-size: 16px;
  line-height: calc(26/16);
  letter-spacing: 0.04em;
  font-weight: 500;
  color: #8E8E8E;
}

.m-sec-consultant-item-txt {
  grid-area: txt;
  font-size: 16px;
  line-height: calc(26/16);
  letter-spacing: 0.03em;
  font-weight: 400;
}

/* m-sec-structure
------------------------------------- */
.m-sec-structure-wrap {
  display: grid;
  /* grid-template-columns: 570px 392.02px; */
  grid-template-columns: 54.8% 37.7%;
  /* gap: 0 78px; */
  gap: 0 7.5%;
}

.m-sec-structure-box {
  display: flex;
  flex-direction: column;
  background-color: var(--ver01-main-color-white);
  border: 2px solid var(--ver01-main-color-black);
}

.m-sec-structure-box:first-of-type{
  position: relative;
}

.m-sec-structure-box-img {
  position: absolute;
  top: 50%;
  left: calc(100% + 8.4px);
  translate: 0 -50%;
}

.m-sec-structure-box-ttl {
  font-size: 24px;
	line-height: calc(30/24);
	letter-spacing: .08em;
	font-weight: 700;
	color: #fff;
  text-align: center;
  background-color: #424242;

  padding-block: 12px;
}

.m-sec-structure-box-inner01 {
  padding: 30px 30px 40px;
}
.m-sec-structure-box-inner02 {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.m-sec-structure-box-inner03 {
  padding: 60px 12px 0 18px;
}

.m-sec-structure-box-inner01-img {
  width: 100%;
  text-align: center;
  margin-block: 24.5px 12.7px;
}

.m-sec-structure-team01 {
  display: grid;
  grid-template-areas:
  "img . ttl"
  "img . ."
  "img . txt"
  ;
  grid-template-columns: auto 30px auto;
  grid-template-rows: auto 12px auto;
  align-items: center;
  justify-content: center;
}
.m-sec-structure-team02 {
  display: grid;
  grid-template-areas:
  "img"
  "ttl"
  "txt"
  ;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto;
  gap: 10px 0;
  align-items: center;
  justify-content: center;
}
.m-sec-structure-team03 {
  display: grid;
  grid-template-areas:
  "img . ttl"
  "img . ."
  "img . txt"
  ;
  grid-template-columns: 81.46px 15px 1fr;
  grid-template-rows: auto 10px auto;
  align-items: center;
  justify-content: center;
  height: 88px;
}

.m-sec-structure-team03:not(:last-of-type) {
  margin-bottom: 40px;
}

.m-sec-structure-team-img {
  grid-area: img;
  text-align: center;
}

.m-sec-structure-team-ttl {
  grid-area: ttl;
  font-size: 20px;
  line-height: calc(20/20);
  letter-spacing: 0;
  font-weight: 700;
  color: var(--ver01-main-color-red);
}

.m-sec-structure-team-txt {
  grid-area: txt;
  font-size: 18px;
  line-height: calc(30/18);
  letter-spacing: -0.5px;
  font-weight: 400;
  color: var(--ver01-main-color-black);
}

/* m-sec-flow
------------------------------------- */
.m-sec-flow-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 50px;
  counter-reset: num;
}

.m-sec-flow-list li {
  display: flex;
  align-items: center;
  padding: 15px;
  padding-right: 50px;
  gap: 0 20px;
  background-color: var(--ver01-main-color-white);
}

.m-sec-flow-list-num {
  display: flex;
  align-items: center;
  color: var(--ver01-main-color-red);
  font-size: 18px;
  line-height: 1;
  font-weight: 400;
  width: 100px;
  min-height: 100px;
  box-sizing: border-box;
  position: relative;
  flex-shrink: 0;
}
.m-sec-flow-list-num::before {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  font-size: 53px;
  font-weight: 700;
  letter-spacing: -0.03em;
  font-family: 'Rajdhani';
  counter-increment: num;
  content: counter(num, decimal-leading-zero);
  width: 55px;
  text-align: center;
}

.m-sec-flow-list-wrap {
  padding-left: 30px;
  border-left: 2px solid var(--ver01-main-color-red);
}

.m-sec-flow-list-ttl {
  font-size: 26px;
  font-weight: 700;
  line-height: calc(40 / 26);
  letter-spacing: 0.04em;
}

.m-sec-flow-list-txt {
  font-size: 17px;
  font-weight: 400;
  line-height: calc(30 / 17);
  letter-spacing: 0.08em;
  margin-top: 10px;
}

/* m-sec-adFeature
------------------------------------- */
.m-sec-adFeature-wrap > :nth-child(1) {margin-bottom: 70px;}

.m-sec-adFeature-lead {
  font-size: 26px;
  line-height: calc(40/26);
  letter-spacing: 0.04em;
  font-weight: 700;
  text-align: center;
  color: var(--ver01-main-color-black);
}
.m-sec-adFeature-lead.--line {
  font-size: 20px;
  line-height: calc(31/20);
  font-weight: 400;
}

.m-sec-adFeature-box {
  background-color: #fff;
  padding: 50px 40px;

  position: relative;
}

.m-sec-adFeature-box.--box-02 {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 40px;
}
.m-sec-adFeature-box.--box-03 {
  display: block;
}

.m-sec-adFeature-box:not(:last-of-type) {margin-bottom: 70px;}

.m-sec-adFeature-ttl {
  font-size: 28px;
  line-height: calc(40/28);
  letter-spacing: .04em;
  font-weight: 700;
  color: #fff;

  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(1040/1120*100%);
  background-color: #DC2F3C;
  padding: 7px 20px;
  border-radius: calc(infinity * 1px);

  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}

.m-sec-adFeature-ttl em {
  color: #FCF698;
}

.m-sec-adFeature-txt {
  font-size: 17px;
  line-height: calc(30/17);
  letter-spacing: .04em;
  font-weight: 400;
  color: #424242;
}

.m-sec-adFeature-txt em {
  font-weight: 700;
  color: #DC2F3C;
}

.m-sec-adFeature-hr {
  grid-column: span 2;
  width: 100%;
  height: 1px;
  background-color: #D1D1D1;
  border: none;
  margin-block: 30.5px 30px;
}

.m-sec-adFeature-example-wrap {
  grid-column: span 2;
}
.m-sec-adFeature-example-wrap > :nth-child(1) {margin-bottom: 20.5px;}

.m-sec-adFeature-example-ttl {
  font-size: 26px;
  line-height: calc(40/26);
  letter-spacing: 0.05em;
  font-weight: 700;
  color: var(--ver01-main-color-red);
  text-align: center;
}

.m-sec-adFeature-example-list {
  display: grid;
  grid-template-columns: repeat(3, auto);
  justify-content: center;
  gap: 15px;
}

.m-sec-adFeature-example-item {
  display: grid;
  place-items: center;
  font-size: 16px;
  line-height: calc(28/16);
  letter-spacing: .04em;
  font-weight: 700;
  color: var(--ver01-main-color-black);
  width: 242px;
  height: 60px;
  border: 2px solid var(--ver01-main-color-red);
}

/* m-sec-adService
------------------------------------- */
.m-sec-adService-box {
  display: grid;
  grid-template:
  "ttl ttl ttl" auto
  ". . ." 25.3px
  "img . ." 22.7px
  "img . txt" auto /
  auto 30px 1fr;
  padding: 40.7px 40px 40.9px;
  background-color: var(--ver01-main-color-white);
  color: var(--ver01-main-color-black);
}
.m-sec-adService-box.--no-pt-txt {
  grid-template:
  "ttl ttl ttl" auto
  ". . ." 25.3px
  "img . txt" auto /
  auto 30px 1fr;
}

.m-sec-adService-box:not(:last-of-type) { margin-bottom: 30px;}

.m-sec-adService-ttl {
  grid-area: ttl;
  font-size: 26px;
  line-height: calc(40/26);
  letter-spacing: .04em;
  font-weight: 700;

  position: relative;
  padding-left: calc(2px + 18px);
}

.m-sec-adService-ttl::before {
  content: '';
  display: inline-block;
  width: 2px;
  height: 38px;
  background-color: var(--ver01-main-color-red);
  position: absolute;
  top: 0;
  left: 0;
}

.m-sec-adService-img {
  grid-area: img;
  width: 290px;
  aspect-ratio: 290/191;
}
.m-sec-adService-img > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.m-sec-adService-txt {
  grid-area: txt;
  font-size: 17px;
  line-height: calc(30/17);
  letter-spacing: .04em;
  font-weight: 400;
}

/* m-sec-adKind
------------------------------------- */
.m-sec-adKind-wrap {
  color: var(--ver01-main-color-black);
}
.m-sec-adKind-wrap > :nth-child(1) {margin-bottom: 38.4px;}

.m-sec-adKind-lead {
  font-size: 26px;
  line-height: calc(40/26);
  letter-spacing: 0.01em;
  font-weight: 700;
  text-align: center;
  color: var(--ver01-main-color-black);
}

.m-sec-adKind-box-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.m-sec-adKind-box-wrap:not(:last-of-type) {
  margin-bottom: 60px;
}

.m-sec-adKind-ttl {
  grid-column: span 2;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  column-gap: 30px;
  font-size: 26px;
  line-height: calc(40/26);
  letter-spacing: .05em;
  font-weight: 700;
  color: var(--ver01-main-color-red);
  text-align: center;
  width: 100%;
  margin-bottom: 10px;
}
.m-sec-adKind-ttl::before,
.m-sec-adKind-ttl::after {
  content: '';
  display: inline-block;
  width: 100%;
  height: 1px;
  background-color: #D1D1D1;
}

.m-sec-adKind-box {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 20px;
  background-color: var(--ver01-main-color-white);
  padding: 89px 30px 31px;
  border: 1px solid;
  position: relative;
}

.m-sec-adKind-box-ttl {
  display: grid;
  place-items: center;
  font-size: 24px;
  line-height: calc(30/24);
  letter-spacing: .08em;
  font-weight: 700;
  color: var(--ver01-main-color-white);
  background-color: var(--ver01-main-color-black);
  padding-block: 14px 16px;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.m-sec-adKind-box-img {
  width: 170px;
  aspect-ratio: 170/210;
}
.m-sec-adKind-box-img > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.m-sec-adKind-box-txt {
  font-size: 16px;
  line-height: calc(30/16);
  letter-spacing: .04em;
  font-weight: 400;
}

/* m-sec-about
------------------------------------- */
.m-sec-about-ttl {
  font-size: 42px;
  line-height: calc(63/42);
  letter-spacing: .04em;
  font-weight: 700;
  text-align: center;
}

.m-sec-about-txt {
  font-size: 17px;
  line-height: calc(30/17);
  letter-spacing: .04em;
  font-weight: 400;
  margin-top: 30px;
}

/*--------- web_adページ下層 ---------*/
.m-web_ad-mv {
  width: 100%;
  height: clamp(567px, calc(777.65 / 1920 * 100vw), 777.65px);
  background: url(/images/service/web_ad/bg_mv.png) no-repeat center / cover;
  padding-top: clamp(84px, calc(114 / 1920 * 100vw), 114px);
}
.m-web_ad-mv.--tiktok_ad,
.m-web_ad-mv.--x_ad,
.m-web_ad-mv.--line_ad,
.m-web_ad-mv.--instagram_ad,
.m-web_ad-mv.--facebook_ad {
  padding-top: clamp(39px, calc(54.9 / 1920 * 100vw), 54.9px);
}
.m-web_ad-mv.--facebook_ad {
  background: url(/images/service/web_ad/facebook_ad/bg_mv.png) no-repeat center / cover;
}
.m-web_ad-mv.--instagram_ad {
  background: url(/images/service/web_ad/instagram_ad/bg_mv.png) no-repeat center / cover;
}
.m-web_ad-mv.--x_ad {
  background: url(/images/service/web_ad/x_ad/bg_mv.png) no-repeat center / cover;
}
.m-web_ad-mv.--line_ad {
  background: url(/images/service/web_ad/line_ad/bg_mv.png) no-repeat center / cover;
}
.m-web_ad-mv.--tiktok_ad {
  background: url(/images/service/web_ad/tiktok_ad/bg_mv.png) no-repeat center / cover;
}

.m-web_ad-inner {
  width: 95%;
  max-width: clamp(880px, calc(1200 / 1920 * 100vw), 1200px);
  margin-inline: auto;
  position: relative;
}

.m-web_ad-hgroup {
  position: relative;
  margin-bottom: clamp(15px, calc(36 / 1920 * 100vw), 36px);
}
.m-web_ad-mv.--sns .m-web_ad-hgroup {
  margin-bottom: clamp(15px, calc(39 / 1920 * 100vw), 39px);
}
.m-web_ad-mv.--facebook_ad .m-web_ad-hgroup {
  margin-bottom: clamp(15px, calc(46 / 1920 * 100vw), 46px);
}
.m-web_ad-mv.--x_ad .m-web_ad-hgroup {
  margin-bottom: clamp(17px, calc(48 / 1920 * 100vw), 48px);
}
.m-web_ad-mv.--line_ad .m-web_ad-hgroup {
  margin-bottom: clamp(17px, calc(48 / 1920 * 100vw), 48px);
}
.m-web_ad-mv.--dsp_adnetwork .m-web_ad-hgroup {
  margin-bottom: clamp(15px, calc(40 / 1920 * 100vw), 40px);
}

.m-web_ad-hgroup::after {
  content: '';
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
}
.m-web_ad-mv.--web_ad .m-web_ad-hgroup::after{
  width: clamp(237px, calc(329 / 1920 * 100vw), 329px);
  aspect-ratio: 329/405;
  top: clamp(31px, calc(40 / 1920 * 100vw), 40px);
  left: clamp(643px, calc(871 / 1920 * 100vw), 871px);
  background-image: url(./../../images/service/web_ad/img_mv.png);
}
.m-web_ad-mv.--listing_ad .m-web_ad-hgroup::after{
  width: clamp(201px, calc(272 / 1920 * 100vw), 272px);
  aspect-ratio: 272/418;
  top: clamp(31px, calc(62 / 1920 * 100vw), 62px);
  left: clamp(685px, calc(935 / 1920 * 100vw), 935px);
  background-image: url(./../../images/service/web_ad/listing_ad/img_mv.png);
}
.m-web_ad-mv.--sns .m-web_ad-hgroup::after{
  width: clamp(246px, calc(340 / 1920 * 100vw), 340px);
  aspect-ratio: 340/431;
  top: clamp(3px, calc(3 / 1920 * 100vw), 3px);
  left: clamp(635px, calc(861 / 1920 * 100vw), 861px);
  background-image: url(./../../images/service/web_ad/sns/img_mv.png);
}
.m-web_ad-mv.--facebook_ad .m-web_ad-hgroup::after{
  width: clamp(203px, calc(272 / 1920 * 100vw), 272px);
  aspect-ratio: 272/418;
  top: clamp(65px, calc(75 / 1920 * 100vw), 75px);
  left: clamp(680px, calc(927 / 1920 * 100vw), 927px);
  background-image: url(./../../images/service/web_ad/facebook_ad/img_mv.png);
}
.m-web_ad-mv.--instagram_ad .m-web_ad-hgroup::after{
  width: clamp(203px, calc(272 / 1920 * 100vw), 272px);
  aspect-ratio: 275/418;
  top: clamp(65px, calc(75 / 1920 * 100vw), 75px);
  left: clamp(680px, calc(927 / 1920 * 100vw), 927px);
  background-image: url(./../../images/service/web_ad/instagram_ad/img_mv.png);
}
.m-web_ad-mv.--x_ad .m-web_ad-hgroup::after{
  width: clamp(203px, calc(272 / 1920 * 100vw), 272px);
  aspect-ratio: 272/418;
  top: clamp(65px, calc(75 / 1920 * 100vw), 75px);
  left: clamp(680px, calc(927 / 1920 * 100vw), 927px);
  background-image: url(./../../images/service/web_ad/x_ad/img_mv.png);
}
.m-web_ad-mv.--line_ad .m-web_ad-hgroup::after{
  width: clamp(203px, calc(272 / 1920 * 100vw), 272px);
  aspect-ratio: 272/418;
  top: clamp(65px, calc(75 / 1920 * 100vw), 75px);
  left: clamp(680px, calc(927 / 1920 * 100vw), 927px);
  background-image: url(./../../images/service/web_ad/line_ad/img_mv.png);
}
.m-web_ad-mv.--tiktok_ad .m-web_ad-hgroup::after{
  width: clamp(246px, calc(338 / 1920 * 100vw), 338px);
  aspect-ratio: 338/570;
  bottom: clamp(-472px, calc(-472 / 1920 * 100vw), -368px);
  left: clamp(633px, calc(863 / 1920 * 100vw), 863px);
  background-image: url(./../../images/service/web_ad/tiktok_ad/img_mv.png);
}
.m-web_ad-mv.--dsp_adnetwork .m-web_ad-hgroup::after{
  width: clamp(227px, calc(307 / 1920 * 100vw), 307px);
  aspect-ratio: 307/471;
  top: clamp(66px, calc(90 / 1920 * 100vw), 90px);
  left: clamp(691px, calc(944 / 1920 * 100vw), 944px);
  background-image: url(./../../images/service/web_ad/dsp_adnetwork/img_mv.png);
}

.m-web_ad-ttl {
  font-size: clamp(25.6px, calc(35 / 1920 * 100vw), 35px);
	line-height: 1;
	letter-spacing: .07em;
	font-weight: 700;
  color: var(--ver01-main-color-white);

  width: max-content;
  height: clamp(46px, calc(62 / 1920 * 100vw), 62px);
  padding-inline: clamp(34px, calc(44 / 1920 * 100vw), 44px) clamp(33px, calc(50 / 1920 * 100vw), 50px);
	display: grid;
	place-items: center;
  background-color: var(--ver01-main-color-red);
  border-radius: 10vmax;

  position: relative;
  margin-bottom: clamp(25px, calc(36.5 / 1920 * 100vw), 36.5px);
}
.m-web_ad-mv.--listing_ad .m-web_ad-ttl {
  font-size: clamp(27px, calc(38 / 1920 * 100vw), 38px);
}
.m-web_ad-mv.--sns .m-web_ad-ttl {
  font-size: clamp(26.6px, calc(37 / 1920 * 100vw), 37px);
  margin-bottom: clamp(21px, calc(30.5 / 1920 * 100vw), 30.5px);
}
.m-web_ad-mv.--facebook_ad .m-web_ad-ttl {
  font-size: clamp(30.2px, calc(42 / 1920 * 100vw), 42px);
  height: clamp(52px, calc(68 / 1920 * 100vw), 68px);
  padding-inline: clamp(55px, calc(80 / 1920 * 100vw), 80px) clamp(27px, calc(44 / 1920 * 100vw), 44px);
  margin-left: clamp(30px, calc(40 / 1920 * 100vw), 40px);
  margin-bottom: clamp(20px, calc(29.8 / 1920 * 100vw), 29.8px);
  background-color: #1877F2;
}
.m-web_ad-mv.--instagram_ad .m-web_ad-ttl {
  font-size: clamp(30.2px, calc(42 / 1920 * 100vw), 42px);
  height: clamp(52px, calc(68 / 1920 * 100vw), 68px);
  padding-inline: initial;
  background-color: transparent;
  margin-left: clamp(30px, calc(40 / 1920 * 100vw), 40px);
  margin-bottom: clamp(12px, calc(22 / 1920 * 100vw), 22px);
}
.m-web_ad-mv.--instagram_ad .m-web_ad-ttl span {
  display: grid;
	place-items: center;
  height: inherit;
  border-radius: 10vmax;
  padding-inline: clamp(55px, calc(80 / 1920 * 100vw), 80px) clamp(27px, calc(44 / 1920 * 100vw), 44px);
  background-image: radial-gradient(circle at 30% 200%, #F7D447 0, #EA4652 30%, #D82EB9 70%, #651EF5 100%);
  background-repeat: no-repeat;
  position: relative;
  z-index: 1;
}
.m-web_ad-mv.--x_ad .m-web_ad-ttl {
  font-size: clamp(30.2px, calc(42 / 1920 * 100vw), 42px);
  height: clamp(52px, calc(68 / 1920 * 100vw), 68px);
  padding-inline: clamp(55px, calc(80 / 1920 * 100vw), 80px) clamp(27px, calc(44 / 1920 * 100vw), 44px);
  margin-left: clamp(30px, calc(40 / 1920 * 100vw), 40px);
  margin-bottom: clamp(12px, calc(22 / 1920 * 100vw), 22px);
  background-color: #000;
}
.m-web_ad-mv.--line_ad .m-web_ad-ttl {
  font-size: clamp(30.2px, calc(42 / 1920 * 100vw), 42px);
  height: clamp(52px, calc(68 / 1920 * 100vw), 68px);
  padding-inline: clamp(55px, calc(80 / 1920 * 100vw), 80px) clamp(27px, calc(44 / 1920 * 100vw), 44px);
  margin-left: clamp(30px, calc(40 / 1920 * 100vw), 40px);
  margin-bottom: clamp(12px, calc(22 / 1920 * 100vw), 22px);
  background-color: #4CC764;
}
.m-web_ad-mv.--tiktok_ad .m-web_ad-ttl {
  font-size: initial;
  height: initial;
  padding-inline: initial;
  margin-left: clamp(30px, calc(40 / 1920 * 100vw), 40px);
  margin-bottom: clamp(12px, calc(22 / 1920 * 100vw), 22px);
  background-color: initial;
}
.m-web_ad-mv.--tiktok_ad .m-web_ad-ttl span {
  font-size: clamp(30.2px, calc(42 / 1920 * 100vw), 42px);
  height: clamp(52px, calc(68 / 1920 * 100vw), 68px);
  padding-inline: clamp(55px, calc(80 / 1920 * 100vw), 80px) clamp(27px, calc(44 / 1920 * 100vw), 44px);
  background-color: #000;
  border-radius: 10vmax;
  display: grid;
  place-items: center;
  filter: drop-shadow(3px 3px 0px #FE2C55) drop-shadow(-3px -3px 0px #25F4EE);
}
.m-web_ad-mv.--dsp_adnetwork .m-web_ad-ttl {
  font-size: clamp(26.6px, calc(37 / 1920 * 100vw), 37px);
  margin-bottom: clamp(19px, calc(28.5 / 1920 * 100vw), 28.5px);
}

.m-web_ad-mv.--tiktok_ad .m-web_ad-ttl::before,
.m-web_ad-mv.--line_ad .m-web_ad-ttl::before,
.m-web_ad-mv.--x_ad .m-web_ad-ttl::before,
.m-web_ad-mv.--instagram_ad .m-web_ad-ttl::before,
.m-web_ad-mv.--facebook_ad .m-web_ad-ttl::before {
  content: '';
  position: absolute;
  top: 50%;
  left: clamp(-40px, calc(-40 / 1920 * 100vw), -30px);
  z-index: 2;
  transform: translateY(-50%);
  width: clamp(70px, calc(94 / 1920 * 100vw), 94px);
  height: clamp(70px, calc(94 / 1920 * 100vw), 94px);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.16);
  border-radius: 50%;
}
.m-web_ad-mv.--facebook_ad .m-web_ad-ttl::before {
  background-image: url(./../../images/service/web_ad/facebook_ad/img_mv_ttl_before.png);
}
.m-web_ad-mv.--instagram_ad .m-web_ad-ttl::before {
  background-image: url(./../../images/service/web_ad/instagram_ad/img_mv_ttl_before.png);
}
.m-web_ad-mv.--x_ad .m-web_ad-ttl::before {
  background-image: url(./../../images/service/web_ad/x_ad/img_mv_ttl_before.png);
}
.m-web_ad-mv.--line_ad .m-web_ad-ttl::before {
  background-image: url(./../../images/service/web_ad/line_ad/img_mv_ttl_before.png);
}
.m-web_ad-mv.--tiktok_ad .m-web_ad-ttl::before {
  background-image: url(./../../images/service/web_ad/tiktok_ad/img_mv_ttl_before.png);
}

.m-web_ad-ttl::after {
  content: '';
  clip-path: polygon(0 0, 100% 0, 0 100%);
  width: clamp(22px, calc(26 / 1920 * 100vw), 26px);
  aspect-ratio: 1;
  background-color: var(--ver01-main-color-red);

  position: absolute;
	top: clamp(38px, calc(55 / 1920 * 100vw), 55px);
	left: clamp(88px, calc(120 / 1920 * 100vw), 120px);
  rotate: 3deg;
}
.m-web_ad-mv.--line_ad .m-web_ad-ttl::after,
.m-web_ad-mv.--x_ad .m-web_ad-ttl::after,
.m-web_ad-mv.--instagram_ad .m-web_ad-ttl::after,
.m-web_ad-mv.--facebook_ad .m-web_ad-ttl::after {
  width: clamp(23px, calc(31 / 1920 * 100vw), 31px);
	top: clamp(43px, calc(60 / 1920 * 100vw), 60px);
	left: clamp(93px, calc(128 / 1920 * 100vw), 128px);
}
.m-web_ad-mv.--facebook_ad .m-web_ad-ttl::after {
  background-color: #1877F2;
}
.m-web_ad-mv.--instagram_ad .m-web_ad-ttl::after {
  background-image: radial-gradient(at 100% 150%, #F7D447 0, #EA4652 100%);
  background-repeat: no-repeat;
}
.m-web_ad-mv.--x_ad .m-web_ad-ttl::after {
  background-color: #000;
}
.m-web_ad-mv.--line_ad .m-web_ad-ttl::after {
  background-color: #4CC764;
}
.m-web_ad-mv.--tiktok_ad .m-web_ad-ttl::after {
  content: none;
}
.m-web_ad-mv.--tiktok_ad .m-web_ad-ttl span::after {
  content: '';
  position: absolute;
	top: clamp(43px, calc(60 / 1920 * 100vw), 60px);
	left: clamp(93px, calc(128 / 1920 * 100vw), 128px);
  width: clamp(23px, calc(31 / 1920 * 100vw), 31px);
  aspect-ratio: 1;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  background-color: #000;
}

.m-web_ad-lead {
  font-size: clamp(29.4px, calc(40 / 1920 * 100vw), 40px);
	line-height: 1.7;
	letter-spacing: .04em;
	font-weight: 900;
  color: #2A2A2A;
}
.m-web_ad-mv.--facebook_ad .m-web_ad-lead {
  font-size: clamp(33.1px, calc(45 / 1920 * 100vw), 45px);
}
.m-web_ad-mv.--instagram_ad .m-web_ad-lead {
  font-size: clamp(30.9px, calc(42 / 1920 * 100vw), 42px);
}
.m-web_ad-mv.--x_ad .m-web_ad-lead {
  font-size: clamp(33.1px, calc(45 / 1920 * 100vw), 45px);
}
.m-web_ad-mv.--line_ad .m-web_ad-lead {
  font-size: clamp(33.1px, calc(45 / 1920 * 100vw), 45px);
}
.m-web_ad-mv.--tiktok_ad .m-web_ad-lead {
  font-size: clamp(33.1px, calc(45 / 1920 * 100vw), 45px);
}
.m-web_ad-mv.--dsp_adnetwork .m-web_ad-lead {
  font-size: clamp(26.4px, calc(36 / 1920 * 100vw), 36px);
}
.m-web_ad-lead.--lh-2 {
  line-height: 2;
}
.m-web_ad-lead.--lh-21 {
  line-height: 2.1;
}
.m-web_ad-lead.--lh-22 {
  line-height: 2.2;
}

.m-web_ad-lead em {
  display: inline-block;
  font-size: clamp(43px, calc(60 / 1920 * 100vw), 60px);
  line-height: 1;
  letter-spacing: 0.03em;
  font-style: italic;

  width: max-content;
	padding-right: clamp(5px, calc(10 / 1920 * 100vw), 10px);
  /* background: linear-gradient(
    #E2525C 0%,
    #E2525C 50%,
    #DC2F3C 50%,
    #DC2F3C 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent; */
  color: #2A2A2A;
}
.m-web_ad-mv.--sns .m-web_ad-lead em {
  font-size: clamp(44px, calc(61 / 1920 * 100vw), 61px);
}
.m-web_ad-mv.--instagram_ad .m-web_ad-lead em {
  font-size: clamp(41px, calc(56.2 / 1920 * 100vw), 56.2px);
}
.m-web_ad-mv.--dsp_adnetwork .m-web_ad-lead em {
  letter-spacing: 0.05em;
  font-size: clamp(35px, calc(45 / 1920 * 100vw), 45px);
}

.m-web_ad-lead span {
  font-size: clamp(48px, calc(64 / 1920 * 100vw), 64px);
}
.m-web_ad-mv.--line_ad .m-web_ad-lead span,
.m-web_ad-mv.--x_ad .m-web_ad-lead span,
.m-web_ad-mv.--instagram_ad .m-web_ad-lead span,
.m-web_ad-mv.--facebook_ad .m-web_ad-lead span,
.m-web_ad-mv.--tiktok_ad .m-web_ad-lead span {
  font-size: inherit;
}
.m-web_ad-mv.--dsp_adnetwork .--facebook_ad span {
  font-size: clamp(40px, calc(56 / 1920 * 100vw), 56px);
}
.m-web_ad-lead span.--markar {
  background: linear-gradient(transparent 60%, var(--marker-color-pink) 60%);
}
.m-web_ad-mv.--facebook_ad .m-web_ad-lead span.--markar {
  background: linear-gradient(transparent 60%, #C1DBF9 60%);
}
.m-web_ad-mv.--instagram_ad .m-web_ad-lead span.--markar {
  background: linear-gradient(transparent 60%, #FED2E4 60%);
}
.m-web_ad-mv.--x_ad .m-web_ad-lead span.--markar {
  background: linear-gradient(transparent 60%, #D8D8D8 60%);
}
.m-web_ad-mv.--line_ad .m-web_ad-lead span.--markar {
  background: linear-gradient(transparent 60%, #C0EBC8 60%);
}
.m-web_ad-mv.--tiktok_ad .m-web_ad-lead span.--markar {
  background: linear-gradient(transparent 60%, #FFD4E2 60%);
}

.m-web_ad-point-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 clamp(10px, calc(10 / 1920 * 100vw), 10px);
  width: clamp(652px, calc(890 / 1920 * 100vw), 890px);
  margin-bottom: clamp(22px, calc(29 / 1920 * 100vw), 29px);
}
.m-web_ad-mv.--listing_ad .m-web_ad-point-wrap {
  margin-bottom: clamp(22px, calc(27 / 1920 * 100vw), 27px);
}
.m-web_ad-mv.--instagram_ad .m-web_ad-point-wrap,
.m-web_ad-mv.--facebook_ad .m-web_ad-point-wrap {
  margin-bottom: clamp(19px, calc(29 / 1920 * 100vw), 29px);
}
.m-web_ad-mv.--dsp_adnetwork .m-web_ad-point-wrap {
  margin-bottom: clamp(22px, calc(30 / 1920 * 100vw), 30px);
}

.m-web_ad-point-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: clamp(7.1px, calc(7.1 / 1920 * 100vw), 7.1px) 0;

  width: 100%;
  height: clamp(146px, calc(194 / 1920 * 100vw), 194px);
  padding-block: clamp(28.4px, calc(32.4 / 1920 * 100vw), 32.4px) clamp(19.7px, calc(30.7 / 1920 * 100vw), 30.7px);
  border-bottom-right-radius: clamp(30px, calc(40 / 1920 * 100vw), 40px);
  box-shadow: 0 0 8px #0000001F;

  background-color: var(--ver01-main-color-white);
  background-image: url(/images/service/web_ad/bg_mv_point.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;

  position: relative;
}
.m-web_ad-mv.--facebook_ad .m-web_ad-point-box {
  background-image: url(/images/service/web_ad/facebook_ad/bg_mv_point.png);
}
.m-web_ad-mv.--instagram_ad .m-web_ad-point-box {
  background-image: url(/images/service/web_ad/instagram_ad/bg_mv_point.png);
}
.m-web_ad-mv.--x_ad .m-web_ad-point-box {
  background-image: url(/images/service/web_ad/x_ad/bg_mv_point.png);
}
.m-web_ad-mv.--line_ad .m-web_ad-point-box {
  background-image: url(/images/service/web_ad/line_ad/bg_mv_point.png);
}

.m-web_ad-point-box-point {
  font-size: clamp(17px, calc(23 / 1920 * 100vw), 23px);
	line-height: calc(23/23);
	letter-spacing: .04em;
	font-weight: 700;
  color: var(--ver01-main-color-white);
  font-family: 'Montserrat';

  width: clamp(75px, calc(103 / 1920 * 100vw), 103px);
  height: clamp(23px, calc(34 / 1920 * 100vw), 34px);
  background-color: #CB9E44;
  border-radius: calc(infinity * 1px);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 clamp(6px, calc(6 / 1920 * 100vw), 6px);

  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -50%;
}
.m-web_ad-mv.--facebook_ad .m-web_ad-point-box-point {
  background-color: #1877F2;
}
.m-web_ad-mv.--instagram_ad .m-web_ad-point-box-point {
  background-color: #E23C7B;
}
.m-web_ad-mv.--x_ad .m-web_ad-point-box-point {
  background-color: #000;
}
.m-web_ad-mv.--line_ad .m-web_ad-point-box-point {
  background-color: #4CC764;
}

.m-web_ad-point-box-point span {
  font-size: clamp(12px, calc(16 / 1920 * 100vw), 16px);
  margin-top: clamp(6px, calc(6 / 1920 * 100vw), 6px);
}

.m-web_ad-point-box-ttl {
  font-size: clamp(17px, calc(24 / 1920 * 100vw), 24px);
	line-height: calc(32/24);
	letter-spacing: .02em;
	font-weight: 900;
  color: #2A2A2A;
  text-align: center;

  flex-grow: 1;
  display: flex;
  align-items: center;
}

.m-web_ad-point-box-txt {
  font-size: clamp(13px, calc(18 / 1920 * 100vw), 18px);
	line-height: calc(28/18);
	letter-spacing: .04em;
	font-weight: 400;
  color: #424242;
  text-align: center;

  flex-grow: 1;
  display: flex;
  align-items: center;
}

.m-web_ad-img-wrap {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: center;
  justify-items: center;
  align-items: center;
  gap: clamp(11px, calc(15 / 1920 * 100vw), 15px);

  position: absolute;
  bottom: clamp(0px, calc(-4 / 1920 * 100vw), -4px);
  left: clamp(689px, calc(941 / 1920 * 100vw), 941px);
}

.m-web_ad-img-wrap > .m-web_ad-img:nth-child(1) {
  grid-column: 1 / 2;
  grid-row: 1;
  width: clamp(46.27px, calc(64.27 / 1920 * 100vw), 64.27px);
  aspect-ratio: 64.27/60.77;
}
.m-web_ad-img-wrap > .m-web_ad-img:nth-child(2) {
  grid-column: 2 / 3;
  grid-row: 1;
  width: clamp(114px, calc(159 / 1920 * 100vw), 159px);
  aspect-ratio: 159/60;
}
.m-web_ad-img-wrap > .m-web_ad-img:nth-child(3) {
  grid-column: 1 / 3;
  grid-row: 2;
  width: clamp(76.63px, calc(104.63 / 1920 * 100vw), 104.63px);
  aspect-ratio: 104.63/60.07;
}

.m-web_ad-mv.--instagram_ad .m-web_ad-img,
.m-web_ad-mv.--facebook_ad .m-web_ad-img {
  position: absolute;
  top: clamp(132px, calc(180 / 1920 * 100vw), 180px);
  left: clamp(440px, calc(600 / 1920 * 100vw), 600px);

  width: clamp(77px, calc(105 / 1920 * 100vw), 105px);
  aspect-ratio: 105/60;
}
.m-web_ad-mv.--instagram_ad .m-web_ad-img{
  top: clamp(132px, calc(190 / 1920 * 100vw), 190px);
}

.m-web_ad-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.m-web_ad-icn-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(12px, calc(12 / 1920 * 100vw), 12px);
  position: absolute;
  bottom: clamp(0px, calc(-4 / 1920 * 100vw), -4px);
  left: clamp(689px, calc(941 / 1920 * 100vw), 941px);
}

.m-web_ad-icn-img {
  width: clamp(46.3px, calc(67 / 1920 * 100vw), 67px);
  aspect-ratio: 1;
}

.m-web_ad-icn-img > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

/*--------- seoページ下層 ---------*/
.m-seo-mv {
  width: 100%;
  height: clamp(530px, calc(692 / 1920 * 100vw), 692px);
  background: url(/images/service/seo/bg_mv.png) no-repeat center / cover;
  padding-top: clamp(44px, calc(61 / 1920 * 100vw), 61px);
}
.m-seo-mv.--writing{
  padding-top: clamp(31px, calc(44 / 1920 * 100vw), 44px);
}
.m-seo-mv.--contents_marketing {
  padding-top: clamp(67px, calc(94.2 / 1920 * 100vw), 94.2px);
}

.m-seo-inner {
  width: 95%;
  max-width: clamp(880px, calc(1200 / 1920 * 100vw), 1200px);
  margin-inline: auto;
  position: relative;
}

.m-seo-hgroup {
  position: relative;
  margin-bottom: clamp(23px, calc(30 / 1920 * 100vw), 30px);
}
.m-seo-mv.--writing .m-seo-hgroup {
  margin-bottom: clamp(17px, calc(48 / 1920 * 100vw), 48px);
}
.m-seo-mv.--contents_marketing .m-seo-hgroup {
  margin-bottom: clamp(40px, calc(56 / 1920 * 100vw), 56px);
}

.m-seo-hgroup::after {
  content: '';
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
}
.m-seo-mv.--seo .m-seo-hgroup::after {
  width: clamp(195.53px, calc(271.53 / 1920 * 100vw), 271.53px);
	aspect-ratio: 271.53/348.81;
  background-image: url(./../../images/service/seo/img_mv.png);
	top: clamp(43px, calc(58 / 1920 * 100vw), 58px);
	left: clamp(683px, calc(930 / 1920 * 100vw), 930px);
}
.m-seo-mv.--writing .m-seo-hgroup::after {
  width: clamp(233px, calc(320 / 1920 * 100vw), 320px);
	aspect-ratio: 320/361;
  background-image: url(./../../images/service/writing/img_mv.png);
	top: clamp(26px, calc(34 / 1920 * 100vw), 34px);
	left: clamp(638px, calc(864 / 1920 * 100vw), 864px);
}
.m-seo-mv.--contents_marketing .m-seo-hgroup::after {
  width: clamp(218px, calc(294 / 1920 * 100vw), 294px);
	aspect-ratio: 294/379;
  background-image: url(./../../images/service/contents_marketing/img_mv.png);
	top: clamp(67px, calc(87 / 1920 * 100vw), 87px);
	left: clamp(652px, calc(892 / 1920 * 100vw), 892px);
}

.m-seo-ttl {
  font-size: clamp(28px, calc(38 / 1920 * 100vw), 38px);
	line-height: 1;
	letter-spacing: .04em;
	font-weight: 700;
  color: #fff;

  width: max-content;
  height: clamp(47px, calc(62 / 1920 * 100vw), 62px);
  padding-inline: clamp(33px, calc(44 / 1920 * 100vw), 44px) clamp(34px, calc(50 / 1920 * 100vw), 50px);
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #153C95;
  border-radius: 10vmax;

  position: relative;
  margin-bottom: clamp(25px, calc(36.5 / 1920 * 100vw), 36.5px);
}
.m-seo-mv.--writing .m-seo-ttl {
  font-size: clamp(30.6px, calc(42 / 1920 * 100vw), 42px);
  height: clamp(52px, calc(68 / 1920 * 100vw), 68px);
  padding-inline: clamp(29px, calc(39 / 1920 * 100vw), 39px) clamp(27px, calc(44 / 1920 * 100vw), 44px);
  margin-bottom: clamp(12px, calc(33 / 1920 * 100vw), 33px);
}
.m-seo-mv.--contents_marketing .m-seo-ttl {
  font-size: clamp(29.4px, calc(40 / 1920 * 100vw), 40px);
  height: clamp(52px, calc(68 / 1920 * 100vw), 68px);
  padding-inline: clamp(29px, calc(39 / 1920 * 100vw), 39px) clamp(27px, calc(44 / 1920 * 100vw), 44px);
  margin-bottom: clamp(12px, calc(33 / 1920 * 100vw), 33px);
}

.m-seo-ttl::after {
  content: '';
  clip-path: polygon(0 0, 100% 0, 0 100%);
  width: clamp(22px, calc(26 / 1920 * 100vw), 26px);
  aspect-ratio: 1;
  background-color: #153C95;

  position: absolute;
  top: clamp(38px, calc(55 / 1920 * 100vw), 55px);
	left: clamp(88px, calc(120 / 1920 * 100vw), 120px);
  rotate: 3deg;
}
.m-seo-mv.--contents_marketing .m-seo-ttl::after,
.m-seo-mv.--writing .m-seo-ttl::after {
  width: clamp(23px, calc(31 / 1920 * 100vw), 31px);
	top: clamp(43px, calc(60 / 1920 * 100vw), 60px);
	left: clamp(93px, calc(128 / 1920 * 100vw), 128px);
}

.m-seo-subttl {
  --border-width: clamp(23px, calc(30 / 1920 * 100vw), 30px);
  --border-thickness: clamp(3px, calc(3 / 1920 * 100vw), 3px);
  --border-color: currentColor;
  --border-gap: clamp(3px, calc(7 / 1920 * 100vw), 7px);

  font-size: clamp(23.5px, calc(31.8 / 1920 * 100vw), 31.8px);
  line-height: calc(55/32);
  letter-spacing: 0.3em;
  font-weight: 700;

  inline-size: max-content;
  margin-left: clamp(56px, calc(80 / 1920 * 100vw), 80px);
  margin-bottom: clamp(4px, calc(4 / 1920 * 100vw), 4px);
  border-image: linear-gradient(
    transparent calc(50% - var(--border-thickness) / 2),
    var(--border-color) 0 calc(50% + var(--border-thickness) / 2),
    transparent 0
  )
  0 1/0 var(--border-width) / 0 calc(var(--border-width) + var(--border-gap));
}

.m-seo-lead {
  font-size: clamp(29.4px, calc(40 / 1920 * 100vw), 40px);
	line-height: 1.7;
	letter-spacing: .04em;
	font-weight: 700;
  color: var(--ver01-main-color-black);
}
.m-seo-mv.--writing .m-seo-lead {
  font-size: clamp(33.1px, calc(45 / 1920 * 100vw), 45px);
  color: #2A2A2A;
}
.m-seo-mv.--writing .m-seo-lead span.--markar{
  background: linear-gradient(transparent 60%, #C1DBF9 60%);
}
.m-seo-mv.--contents_marketing .m-seo-lead {
  font-size: clamp(33px, calc(45 / 1920 * 100vw), 45px);
  font-weight: 400;
}

.m-seo-lead em {
  display: inline-block;
  font-size: clamp(46px, calc(63 / 1920 * 100vw), 63px);
  line-height: 1;
  font-style: italic;
  font-weight: 900;
  width: max-content;
  padding-right: clamp(5px, calc(7 / 1920 * 100vw), 7px);
  background: linear-gradient(
    #3C5CA6 0%,
    #3C5CA6 50%,
    #153C95 50%,
    #153C95 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.m-seo-lead .--fz-40 {
  font-size: clamp(29.2px, calc(40 / 1920 * 100vw), 40px);
}
.m-seo-lead .--fz-414 {
  font-size: clamp(30.3px, calc(41.4 / 1920 * 100vw), 41.4px);
}
.m-seo-lead .--fz-44 {
  font-size: clamp(32px, calc(44 / 1920 * 100vw), 44px);
}
.m-seo-lead .--fz-68 {
  font-size: clamp(50px, calc(68 / 1920 * 100vw), 68px);
}

.m-seo-lead .--cross {
  display: inline-block;
  width: clamp(30px, calc(42 / 1920 * 100vw), 42px);
  aspect-ratio: 1;
  margin-inline: clamp(12px, calc(14 / 1920 * 100vw), 14px);
  position: relative;
}
.m-seo-lead .--cross::before,
.m-seo-lead .--cross::after {
  content: '';

  width: clamp(6px, calc(9 / 1920 * 100vw), 9px);   /*太さ*/
  height: clamp(30px, calc(42 / 1920 * 100vw), 42px); /* 幅 */
  background-color: #707070;

  position: absolute;
  inset: 0;
  margin: auto;
}
.m-seo-lead .--cross::before {
  rotate: 45deg;
}
.m-seo-lead .--cross::after {
  rotate: -45deg;
}

.m-seo-point-wrap {
  display: grid;
  grid-template-columns: repeat(3, clamp(212px, calc(290 / 1920 * 100vw), 290px));
  gap: 0 clamp(10px, calc(10 / 1920 * 100vw), 10px);
  margin-bottom: clamp(22px, calc(30 / 1920 * 100vw), 30px);
}

.m-seo-point-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: clamp(7.1px, calc(7.1 / 1920 * 100vw), 7.1px) 0;

	width: 100%;
  height: clamp(143px, calc(194 / 1920 * 100vw), 194px);
  padding-block: clamp(22.4px, calc(32.4 / 1920 * 100vw), 32.4px) clamp(19.7px, calc(30.7 / 1920 * 100vw), 30.7px);
  border-bottom-right-radius: clamp(30px, calc(40 / 1920 * 100vw), 40px);
  box-shadow: 0 0 8px #0000001F;

  background-color: var(--base-color-white);
  background-image: url(/images/service/seo/bg_mv_point.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;

  position: relative;
}

.m-seo-point-box-point {
  font-size: clamp(17px, calc(23 / 1920 * 100vw), 23px);
	line-height: calc(23/23);
	letter-spacing: .04em;
	font-weight: 700;
  color: #fff;
  font-family: 'Montserrat';

  width: clamp(75px, calc(103 / 1920 * 100vw), 103px);
  height: clamp(23px, calc(34 / 1920 * 100vw), 34px);
  background-color: #679DE3;
  border-radius: calc(infinity * 1px);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 clamp(6px, calc(6 / 1920 * 100vw), 6px);

  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -50%;
}

.m-seo-point-box-point span {
  font-size: clamp(12px, calc(16 / 1920 * 100vw), 16px);
  margin-top: clamp(6px, calc(6 / 1920 * 100vw), 6px);
}

.m-seo-point-box-ttl {
  font-size: clamp(17px, calc(24 / 1920 * 100vw), 24px);
	line-height: calc(32/24);
	letter-spacing: .02em;
	font-weight: 900;
  color: #DC2F3C;
  text-align: center;

  flex-grow: 1;
  display: flex;
  align-items: center;
}

.m-seo-point-box-txt {
  font-size: clamp(13px, calc(18 / 1920 * 100vw), 18px);
	line-height: calc(28/18);
	letter-spacing: .04em;
	font-weight: 400;
  color: #424242;
  text-align: center;

  flex-grow: 1;
  display: flex;
  align-items: center;
}

/*--------- web_integrationページ下層 ---------*/
.m-web_integration-mv {
  width: 100%;
  height: clamp(530px, calc(692 / 1920 * 100vw), 692px);
  background: url(/images/service/web_integration/bg_mv.png) no-repeat center / cover;
}
.m-web_integration-mv.--web_integration-top {
  padding-top: clamp(50px, calc(69.1 / 1920 * 100vw), 69.1px);
}
.m-web_integration-mv.--corporate {
  padding-top: clamp(58px, calc(80 / 1920 * 100vw), 80px);
}
.m-web_integration-mv.--service {
  padding-top: clamp(45px, calc(60 / 1920 * 100vw), 60px);
}
.m-web_integration-mv.--ownedmedia {
  padding-top: clamp(45px, calc(90 / 1920 * 100vw), 90px);
}
.m-web_integration-mv.--recruit {
  padding-top: clamp(30px, calc(39 / 1920 * 100vw), 39px);
}
.m-web_integration-mv.--lp {
  padding-top: clamp(50px, calc(70 / 1920 * 100vw), 70px);
}

.m-web_integration-inner {
  width: 95%;
  max-width: clamp(880px, calc(1200 / 1920 * 100vw), 1200px);
  margin-inline: auto;
}

.m-web_integration-hgroup {
	position: relative;
}
.m-web_integration-mv.--web_integration-top .m-web_integration-hgroup {
  margin-bottom: clamp(15px, calc(30 / 1920 * 100vw), 30px);
}
.m-web_integration-mv.--corporate .m-web_integration-hgroup {
  margin-bottom: clamp(15px, calc(38 / 1920 * 100vw), 38px);
}
.m-web_integration-mv.--service .m-web_integration-hgroup {
  margin-bottom: clamp(15px, calc(31 / 1920 * 100vw), 31px);
}
.m-web_integration-mv.--ownedmedia .m-web_integration-hgroup {
  margin-bottom: clamp(15px, calc(31 / 1920 * 100vw), 31px);
}
.m-web_integration-mv.--recruit .m-web_integration-hgroup {
  margin-bottom: clamp(21px, calc(29 / 1920 * 100vw), 29px);
}
.m-web_integration-mv.--lp .m-web_integration-hgroup {
  margin-bottom: clamp(23px, calc(31 / 1920 * 100vw), 31px);
}

.m-web_integration-hgroup::after {
	content: '';
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
}
.m-web_integration-mv.--web_integration-top .m-web_integration-hgroup::after {
  width: clamp(202.2px, calc(274.15 / 1920 * 100vw), 274.15px);
	aspect-ratio: 274.15/246.85;
  background-image: url(./../../images/service/web_integration/img_mv.png);
	top: clamp(9px, calc(9 / 1920 * 100vw), 9px);
	left: calc((745.58 + 115.2)/1200 * 100%);
}
.m-web_integration-mv.--corporate .m-web_integration-hgroup::after {
  width: clamp(280.2px, calc(381.2 / 1920 * 100vw), 381.2px);
	aspect-ratio: 381.2/546.6;
  background-image: url(./../../images/service/web_integration/corporate/img_mv_pc.png);
	top: -7px;
	left: calc((873 + 55.2)/1200 * 100%);
}
.m-web_integration-mv.--service .m-web_integration-hgroup::after {
  width: clamp(318.2px, calc(438 / 1920 * 100vw), 438px);
	aspect-ratio: 438 /547;
  background-image: url(./../../images/service/web_integration/service/img_mv_pc.png);
	top: clamp(21px, calc(34 / 1920 * 100vw), 34px);
	left: calc(832/1200 * 100%);
}
.m-web_integration-mv.--ownedmedia .m-web_integration-hgroup::after {
  width: clamp(318.2px, calc(422 / 1920 * 100vw), 422px);
	aspect-ratio: 422 /547;
  background-image: url(./../../images/service/web_integration/ownedmedia/img_mv_pc.png);
	top: -17px;
	left: calc(848/1200 * 100%);
}
.m-web_integration-mv.--recruit .m-web_integration-hgroup::after {
  width: clamp(318.2px, calc(422 / 1920 * 100vw), 422px);
  aspect-ratio: 422 /547;
  background-image: url(./../../images/service/web_integration/recruit/img_mv_pc.png);
  top: clamp(21px, calc(32 / 1920 * 100vw), 32px);
  left: calc(880/1200 * 100%);
}
.m-web_integration-mv.--lp .m-web_integration-hgroup::after {
  width: clamp(318.2px, calc(422 / 1920 * 100vw), 422px);
	aspect-ratio: 422 /547;
  background-image: url(./../../images/service/web_integration/lp/img_mv_pc.png);
	top: 0;
	left: calc(778/1200 * 100%);
}

.m-web_integration-ttl {
	font-size: clamp(25px, calc(35 / 1920 * 100vw), 35px);
	line-height: calc(35/35);
	letter-spacing: .04em;
	font-weight: 700;
	color: #fff;

	width: max-content;
	height: clamp(44px, calc(62 / 1920 * 100vw), 62px);
	padding-inline: clamp(37px, calc(50 / 1920 * 100vw), 50px) clamp(40px, calc(40 / 1920 * 100vw), 40px);
	display: grid;
	place-items: center;
	background-color: var(--accent-color-green01);
	border-radius: 10vmax;

	position: relative;
	margin-bottom: clamp(23px, calc(28 / 1920 * 100vw), 28px);
}
.m-web_integration-mv.--web_integration-top .m-web_integration-ttl {
  margin-bottom: clamp(20px, calc(22 / 1920 * 100vw), 22px);
}
.m-web_integration-mv.--lp .m-web_integration-ttl {
  margin-bottom: clamp(29px, calc(36 / 1920 * 100vw), 36px);
}

.m-web_integration-ttl::after {
	content: '';
	clip-path: polygon(0 0, 100% 0, 0 100%);
	width: clamp(22px, calc(26 / 1920 * 100vw), 26px);
	aspect-ratio: 1;
	background-color: var(--accent-color-green01);

	position: absolute;
	top: clamp(38px, calc(52 / 1920 * 100vw), 52px);
	left: clamp(88px, calc(120 / 1920 * 100vw), 120px);
	rotate: 3deg;
}

.m-web_integration-lead {
	font-size: clamp(26px, calc(35 / 1920 * 100vw), 35px);
	line-height: 1.7;
	letter-spacing: .04em;
	font-weight: 700;
	color: var(--ver01-main-color-black);
}
.m-web_integration-lead.--lh-15 {
	line-height: 1.5;
}

.m-web_integration-lead .--fz-31 {
  font-size: clamp(22.7px, calc(31 / 1920 * 100vw), 31px);
}
.m-web_integration-lead .--fz-35 {
  font-size: clamp(30px, calc(35 / 1920 * 100vw), 35px);
}
.m-web_integration-lead .--fz-37 {
  font-size: clamp(27.2px, calc(37 / 1920 * 100vw), 37px);
}
.m-web_integration-lead .--fz-41 {
  font-size: clamp(30px, calc(41 / 1920 * 100vw), 41px);
}
.m-web_integration-lead .--fz-46 {
	font-size: clamp(33px, calc(46 / 1920 * 100vw), 46px);
}
.m-web_integration-lead .--fz-48 {
	font-size: clamp(36px, calc(48 / 1920 * 100vw), 48px);
}
.m-web_integration-lead .--fz-52 {
	font-size: clamp(38px, calc(52 / 1920 * 100vw), 52px);
}
.m-web_integration-lead .--fz-59 {
	font-size: clamp(44px, calc(59 / 1920 * 100vw), 59px);
}
.m-web_integration-lead .--fz-65 {
	font-size: clamp(48px, calc(65 / 1920 * 100vw), 65px);
}
.m-web_integration-lead .--fz-68 {
	font-size: clamp(49px, calc(68 / 1920 * 100vw), 68px);
}
.m-web_integration-lead .--ls-70 {
	letter-spacing: 0.07em;
}
.m-web_integration-lead .--gradient {
	display: inline-block;
	font-style: italic;
	font-weight: 900;

	width: max-content;
	padding-right: clamp(5px, calc(10 / 1920 * 100vw), 10px);
	background: linear-gradient(
	  #2BA699 0%,
	  #2BA699 50%,
	  #009585 50%,
	  #009585 100%
	);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.m-web_integration-txt{
  font-size: clamp(23.6px, calc(32 / 1920 * 100vw), 32px);
  line-height: calc(50/32);
  letter-spacing: 0.04em;
  font-weight: 700;
}
.m-web_integration-mv.--web_integration-top .m-web_integration-txt {
  margin-bottom: clamp(38.4px, calc(50.4 / 1920 * 100vw), 50.4px);
}
.m-web_integration-mv.--corporate .m-web_integration-txt {
  margin-bottom: clamp(38.4px, calc(50.4 / 1920 * 100vw), 50.4px);
}
.m-web_integration-mv.--service .m-web_integration-txt {
  margin-bottom: clamp(38.4px, calc(50.4 / 1920 * 100vw), 50.4px);
}
.m-web_integration-mv.--ownedmedia .m-web_integration-txt {
  margin-bottom: clamp(38.4px, calc(40.4 / 1920 * 100vw), 40.4px);
}
.m-web_integration-mv.--lp .m-web_integration-txt {
  font-size: clamp(21.4px, calc(30 / 1920 * 100vw), 30px);
  margin-bottom: clamp(38.4px, calc(50 / 1920 * 100vw), 50px);
}
.m-web_integration-mv.--recruit .m-web_integration-txt {
  font-size: clamp(21.4px, calc(30 / 1920 * 100vw), 30px);
  margin-bottom: clamp(38.4px, calc(50 / 1920 * 100vw), 50px);
}

.m-web_integration-txt.--horizontal{
  --border-width: clamp(54px, calc(73 / 1920 * 100vw), 73px);
  --border-thickness: 2px;
  --border-color: #D1D1D1;
  --border-gap: clamp(16px, calc(16 / 1920 * 100vw), 16px);

  inline-size: fit-content;
  border-image: linear-gradient(
    transparent calc(50% - var(--border-thickness) / 2),
    var(--border-color) 0 calc(50% + var(--border-thickness) / 2),
    transparent 0
  )
  0 1/0 var(--border-width) / 0 calc(var(--border-width) + var(--border-gap));
  margin-left: calc(var(--border-width) + var(--border-gap));
}

.m-web_integration-list {
  margin-bottom: clamp(38px, calc(45 / 1920 * 100vw), 45px);
}

.m-web_integration-item {
  font-size: clamp(19px, calc(26 / 1920 * 100vw), 26px);
  line-height: calc(40/26);
  letter-spacing: 0.04em;
  font-weight: 700;
  position: relative;
  padding-left: clamp(20px, calc(25 / 1920 * 100vw), 25px);
}
.m-web_integration-item:not(:last-child){
  margin-bottom: clamp(15px, calc(22 / 1920 * 100vw), 22px);
}
.m-web_integration-item::before{
  content: '';
  width: clamp(9px, calc(12 / 1920 * 100vw), 12px);
  aspect-ratio: 1;
  background-color: var(--accent-color-green01);
  border-radius: 50%;
  position: absolute;
  top: clamp(6px, calc(13 / 1920 * 100vw), 13px);
  left: 0;
}
.m-web_integration-item::after {
  content: '';
  width: clamp(622px, calc(846 / 1920 * 100vw), 846px);
  height: 2px;
  background-color: var(--accent-color-green01);
  position: absolute;
  bottom: clamp(-8px, calc(-10 / 1920 * 100vw), -10px);
  left: 0;
}

.m-web_integration-point-wrap {
	display: grid;
	grid-template-columns: repeat(4, clamp(212px, calc(290 / 1920 * 100vw), 290px));
	gap: 0 clamp(10px, calc(10 / 1920 * 100vw), 10px);
	margin-bottom: clamp(30.9px, calc(40.9 / 1920 * 100vw), 40.9px);
}

.m-web_integration-point-box {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto 1fr;

	width: 100%;
	height: clamp(147.52px, calc(200.52 / 1920 * 100vw), 200.52px);
	padding-block: clamp(16.6px, calc(22.6 / 1920 * 100vw), 22.6px) 0;
	padding-inline: clamp(19px, calc(25 / 1920 * 100vw), 25px);
	border-bottom-right-radius: clamp(30px, calc(40 / 1920 * 100vw), 40px);
	box-shadow: 0 0 8px #0000001F;

	background-color: var(--base-color-white);
	background-image: url(/images/service/web_integration/bg_mv_point.png);
	background-repeat: no-repeat;
	background-size: 100% 100%;

	position: relative;
}

.m-web_integration-point-box-ttl {
	display: grid;
	place-items: center;
	font-size: clamp(16px, calc(22 / 1920 * 100vw), 22px);
	line-height: calc(22/22);
	letter-spacing: .02em;
	font-weight: 900;
	color: var(--accent-color-green01);
	width: 100%;
	height: clamp(29px, calc(44 / 1920 * 100vw), 44px);
	margin-bottom: clamp(12px, calc(12 / 1920 * 100vw), 12px);
	background-color: var(--accent-color-green02);
}

.m-web_integration-point-box-list {
	display: grid;
	grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;
  gap: clamp(8px, calc(8 / 1920 * 100vw), 8px);
}

  .m-web_integration-point-box-item {
	font-size: clamp(11px, calc(15 / 1920 * 100vw), 15px);
	line-height: calc(23/15);
	letter-spacing: .03em;
	font-weight: 500;
	color: var(--base-color-black);
	position: relative;
	padding-left: clamp(13px, calc(20 / 1920 * 100vw), 20px);
  }
  .m-web_integration-point-box-item::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
  }

.m-web_integration-lead .--col-green,
.m-web_integration-txt .--col-green,
.m-web_integration-item .--col-green {
  color: var(--accent-color-green01);
}

.m-web_integration-lead .--markar,
.m-web_integration-txt .--markar,
.m-web_integration-point-box-item .--markar {
  background: linear-gradient(transparent 60%, var(--marker-color) 60%);
}

/* m-web_integration-mv-02
---------------------------------------------------------------------------- */
.m-web_integration-mv-02{
  --base-width: 1700;
  height: clamp(520px, calc(710 / var(--base-width) * 100vw), 710px);
	overflow: hidden;
	padding-block: clamp(63px, calc(83 / var(--base-width) * 100vw), 83px) clamp(0px, calc(19 / var(--base-width) * 100vw), 19px);
	background: url(/images/service/web_integration/bg_mv02_pc.png) no-repeat center center / cover;
}

.m-web_integration-mv-02-box-inner {
  width: clamp(120px, calc(1585 / var(--base-width) * 100vw), 1720px);
  max-width: 100%;
  margin-left: clamp(90px, calc(160 / var(--base-width) * 100vw), 160px);
  position: relative;
}

.m-web_integration-mv-02-box-left {
}

.m-web_integration-mv-02-box-right {
  position: absolute;
  top: 0;
  right: 0;
	width: clamp(450px, calc(800 / var(--base-width) * 100vw), 800px);
}

@media only screen and (min-width: 960px) and (max-width:1090px) {
  .m-web_integration-mv-02-box-right {
    left: calc(564 / 960 * 100vw);
  }
}

.m-web_integration-mv-02-group1 {
	display: grid;
	grid-template-columns: repeat(3, auto);
	justify-content: start;
	align-items: center;
	margin-bottom: clamp(28px, calc(37 / var(--base-width) * 100vw), 37px);
}

.m-web_integration-mv-02-ttl {
	font-size: clamp(48px, calc(65 / var(--base-width) * 100vw), 65px);
	line-height: 1;
	letter-spacing: 0.06em;
	font-weight: 700;
	color: #fff;
	margin-right: clamp(14px, calc(22 / var(--base-width) * 100vw), 22px);
}

.m-web_integration-mv-02-group1-img {
	width: clamp(124px, calc(169 / var(--base-width) * 100vw), 169px);
	aspect-ratio: 169/67;
}
.m-web_integration-mv-02-group1-img:not(:last-of-type) {
	margin-right: clamp(10px, calc(14 / var(--base-width) * 100vw), 14px);
}

.m-web_integration-mv-02-group1-img > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.m-web_integration-mv-02-txt {
	font-size: clamp(26.6px, calc(36 / var(--base-width) * 100vw), 36px);
	line-height: calc(56/36);
	letter-spacing: 0.06em;
	font-weight: 700;
	color: #fff;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
	margin-bottom: clamp(28px, calc(36 / var(--base-width) * 100vw), 36px);
}
.m-web_integration-mv-02-txt .--parentheses {
	margin-inline: clamp(-14px, calc(-14 / var(--base-width) * 100vw), -14px) clamp(-11px, calc(-13 / var(--base-width) * 100vw), -13px);
}

.m-web_integration-mv-02-group2 {
	margin-bottom: clamp(34px, calc(45 / var(--base-width) * 100vw), 45px);
}

.m-web_integration-mv-02-group2-item {
	display: grid;
	place-items: center;
	font-size: clamp(19px, calc(26 / var(--base-width) * 100vw), 26px);
	line-height: calc(41/26);
	letter-spacing: 0.04em;
	font-weight: 700;
	color: #630F15;
	width: max-content;
	height: clamp(32px, calc(46 / var(--base-width) * 100vw), 46px);
	padding-inline: clamp(33px, calc(41 / var(--base-width) * 100vw), 41px) clamp(10px, calc(16 / var(--base-width) * 100vw), 16px);
	background-color: rgba(255, 255, 255, 0.79);
	position: relative;
}
.m-web_integration-mv-02-group2-item:not(:last-of-type) {
	margin-bottom: clamp(9px, calc(10 / var(--base-width) * 100vw), 10px);
}
.m-web_integration-mv-02-group2-item::before {
	content: "";
	width: clamp(10px, calc(15 / var(--base-width) * 100vw), 15px);
	aspect-ratio: 1;
	background-color: #630F15;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: clamp(14px, calc(16 / var(--base-width) * 100vw), 16px);
	transform: translate(0, -50%);
}

.m-web_integration-mv-02-small {
	display: inline-block;
	font-size: clamp(10px, calc(11 / var(--base-width) * 100vw), 11px);
	line-height: calc(32/11);
	letter-spacing: 0.06em;
	font-weight: 400;
	color: #fff;
	margin-top: clamp(39px, calc(57 / var(--base-width) * 100vw), 57px);
}


.m-web_integration-mv-02-box-right-inner {
	position: relative;
}

.m-web_integration-mv-02-swiper-frame {
	width: 100%;
	aspect-ratio: 800/620;
	position: absolute;
	top: 0;
	left: 0;
}
.m-web_integration-mv-02-swiper-frame img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.m-web_integration-mv-02-swiper {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.m-web_integration-mv-02-swiper-img {
	width: 100%;
	height: 100%;
}
.m-web_integration-mv-02-swiper-img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/*--------- web_consultingページ下層 ---------*/
.m-web_consulting-mv {
  width: 100%;
  height: clamp(530px, calc(692 / 1920 * 100vw), 692px);
  background: url(/images/service/web_consulting/bg_mv_pc.png) no-repeat center / cover;
  padding-top: clamp(29px, calc(40 / 1920 * 100vw), 40px);
}

.m-web_consulting-inner {
  width: 95%;
  max-width: clamp(880px, calc(1200 / 1920 * 100vw), 1200px);
  margin-inline: auto;
  position: relative;
}

.m-web_consulting-hgroup {
  position: relative;
  margin-bottom: clamp(13px, calc(20 / 1920 * 100vw), 20px);
}

.m-web_consulting-ttl {
  font-size: clamp(27.6px, calc(38 / 1920 * 100vw), 38px);
	line-height: 1;
	letter-spacing: .04em;
	font-weight: 700;
  color: var(--ver01-main-color-white);

  width: max-content;
  height: clamp(46px, calc(62 / 1920 * 100vw), 62px);
  padding-inline: clamp(34px, calc(44 / 1920 * 100vw), 44px) clamp(33px, calc(50 / 1920 * 100vw), 50px);
	display: grid;
	place-items: center;
  background-color: var(--ver01-main-color-red);
  border-radius: 10vmax;

  position: relative;
  margin-bottom: clamp(12px, calc(19 / 1920 * 100vw), 19px);
}

.m-web_consulting-ttl::after {
  content: '';
  clip-path: polygon(0 0, 100% 0, 0 100%);
  width: clamp(22px, calc(26 / 1920 * 100vw), 26px);
  aspect-ratio: 1;
  background-color: var(--ver01-main-color-red);

  position: absolute;
	top: clamp(38px, calc(55 / 1920 * 100vw), 55px);
	left: clamp(88px, calc(120 / 1920 * 100vw), 120px);
  rotate: 3deg;
}

.m-web_consulting-lead {
  font-size: clamp(26px, calc(36 / 1920 * 100vw), 36px);
	line-height: 1.7;
	letter-spacing: .04em;
	font-weight: 700;
  color: var(--ver01-main-color-black);
}
.m-web_consulting-lead .--fz-48 {
  font-size: clamp(36px, calc(48 / 1920 * 100vw), 48px);
}
.m-web_consulting-lead .--col-red {
  color: var(--ver01-main-color-red);
}

.m-web_consulting-lead .--gradient {
  display: inline-block;
  font-size: clamp(47px, calc(65 / 1920 * 100vw), 65px);
  line-height: 1;
  letter-spacing: 0.03em;
  font-style: italic;
  font-weight: 900;

  width: max-content;
	padding-right: clamp(5px, calc(10 / 1920 * 100vw), 10px);
  background: linear-gradient(
    #E2525C 0%,
    #E2525C 50%,
    #DC2F3C 50%,
    #DC2F3C 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}


.m-web_consulting-box-wrap {
  display: grid;
  grid-template-columns: repeat(3, clamp(215px, calc(288 / 1920 * 100vw), 288px));
  gap: 0 clamp(74px, calc(108 / 1920 * 100vw), 108px);
  margin-bottom: clamp(28px, calc(35 / 1920 * 100vw), 35px);
}

.m-web_consulting-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: clamp(7.1px, calc(7.1 / 1920 * 100vw), 7.1px) 0;

  width: 100%;
  height: clamp(171px, calc(238 / 1920 * 100vw), 238px);
  padding-block: clamp(16px, calc(25 / 1920 * 100vw), 25px) clamp(19.7px, calc(23 / 1920 * 100vw), 23px);
  border-bottom-right-radius: clamp(30px, calc(40 / 1920 * 100vw), 40px);
  box-shadow: 0 0 16px rgba(164, 0, 12, 0.12);

  background-color: var(--ver01-main-color-white);
  background-image: url(/images/service/web_consulting/bg_mv_box.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;

  position: relative;
}
.m-web_consulting-box:not(:last-of-type)::before,
.m-web_consulting-box:not(:last-of-type)::after {
  content: '';

  width: clamp(6px, calc(9 / 1920 * 100vw), 9px);   /*太さ*/
  height: clamp(33px, calc(44 / 1920 * 100vw), 44px); /* 幅 */
  background-color: #707070;

  position: absolute;
  top: clamp(69px, calc(97 / 1920 * 100vw), 97px);
  left: clamp(249px, calc(338 / 1920 * 100vw), 338px);
}
.m-web_consulting-box:not(:last-of-type)::before {
  rotate: 45deg;
}
.m-web_consulting-box:not(:last-of-type)::after {
  rotate: -45deg;
}

.m-web_consulting-box-img.img--01 {
  width: clamp(56.79px, calc(79.79 / 1920 * 100vw), 79.79px);
  aspect-ratio: 79.79 / 71.59;
}
.m-web_consulting-box-img.img--02 {
  width: clamp(50.32px, calc(69.32 / 1920 * 100vw), 69.32px);
  aspect-ratio: 69.32 / 78.36;
}
.m-web_consulting-box-img.img--03 {
  width: clamp(41.42px, calc(59.42 / 1920 * 100vw), 59.42px);
  aspect-ratio: 59.42 / 72.63;
}
.m-web_consulting-box-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.m-web_consulting-box-ttl {
  font-size: clamp(17px, calc(24 / 1920 * 100vw), 24px);
	line-height: calc(32/24);
	letter-spacing: .02em;
	font-weight: 900;
  color: #DC2F3C;
  text-align: center;

  flex-grow: 1;
  display: flex;
  align-items: center;
}

.m-web_consulting-box-txt {
  font-size: clamp(13px, calc(18 / 1920 * 100vw), 18px);
	line-height: calc(28/18);
	letter-spacing: .04em;
	font-weight: 400;
  color: #424242;
  text-align: center;

  flex-grow: 1;
  display: flex;
  align-items: center;
}


/* m-sec-column */
.m-sec-column-layout {
	display: flex;
	flex-wrap: wrap;
	gap: 40px calc(50 / 1040 * 100%);
}

.m-sec-column-layout li {
	width: calc(50% - (50 / 1040 * 100%) * 1 / 2);
}

.m-sec-column-layout li a {
	display: flex;
  align-items: flex-start;
	gap: 0 20px;
	text-decoration: none;
}
.m-sec-column-layout._no-date li a {
  align-items: center;
}
.m-sec-column-layout li a:hover .m-sec-column-img img {
	transform: scale(1.05);
}
.m-sec-column-layout li a:hover .m-sec-column-txt {
	color: var(--ver01-main-color-red);
}

.m-sec-column-img {
	width: 200px;
	aspect-ratio: 200 / 110;
	position: relative;
	overflow: hidden;
}
.m-sec-column-img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.3s ease 0s;
}

.m-sec-column-body {
  width: calc(100% - 200px - 20px);
}

.m-sec-column-txt {
  flex: 1;
	font-size: 18px;
	line-height: calc(32 / 18);
	letter-spacing: 0.04em;
	font-weight: 700;
	color: #2A2A2A;
	transition: color 0.3s ease 0s;
  margin-block: calc((1em - 1lh) / 2) 8px;
}
.m-sec-column-layout._no-date .m-sec-column-txt {
  margin-block: auto;
}

.m-sec-column-date {
  font-size: 14px;
  font-weight: 500;
  line-height: calc(25/14);
  letter-spacing: 0.05em;
  color: #8E8E8E;
}

/* p-sec-anonymous */
.p-sec-anonymous-layout {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(20px, calc(30 / 1280 * 100vw), 30px);
}

.p-sec-anonymous-link {
	box-sizing: border-box;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	gap: 0;
	width: 100%;
	height: 100%;
	color: #2A2A2A;
	background-color: var(--ver01-main-color-white);
	padding-block: 30px 20px;
	padding-inline: 30px;
	border: 1px solid #8F8F8F;
	text-decoration: none;
	position: relative;
	transition: border-color 0.3s ease 0s;
}

.p-sec-anonymous-link._gray {
  background-color: #F8F8F8;
}

.p-sec-anonymous-link::before {
	content: '';
	position: absolute;
	top: 8px;
	left: 8px;
	width: 14px;
	height: 14px;
	background-color: var(--ver01-main-color-red);
	clip-path: polygon(0 0, 0% 100%, 100% 0);
}

.p-sec-anonymous-link:hover {
	border-color: var(--ver01-main-color-red);
}

.p-sec-anonymous-link:hover .p-sec-anonymous-service::after {
	transform: scale(0.85);
}

.p-sec-anonymous-industry {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0 20px;
	align-items: center;
	margin-bottom: 10px;
}

.p-sec-anonymous-industry-ttl {
	display: grid;
	place-items: center;
	font-size: 16px;
	line-height: calc(28 / 16);
	letter-spacing: 0.04em;
	font-weight: 700;
	color: var(--ver01-main-color-white);
	width: 84px;
	height: 30px;
	background-color: #8F8F8F;
}

.p-sec-anonymous-industry-txt {
	font-size: 16px;
	line-height: calc(28 / 16);
	letter-spacing: 0.04em;
	font-weight: 400;
}

.p-sec-anonymous-ttl {
	font-size: 18px;
	line-height: calc(32 / 18);
	letter-spacing: 0.04em;
	font-weight: 700;
	/* text-decoration: underline; */
	margin-bottom: 30px;
}

.p-sec-anonymous-result-ttl {
	display: grid;
	place-items: center;
	font-size: 16px;
	line-height: calc(28 / 16);
	letter-spacing: 0.04em;
	font-weight: 700;
	color: var(--ver01-main-color-white);
	width: 84px;
	height: 30px;
	background-color: var(--ver01-main-color-red);
	margin-bottom: 10px;
}

.p-sec-anonymous-result-txt {
	font-size: 16px;
	line-height: calc(28 / 16);
	letter-spacing: 0.04em;
	font-weight: 400;
	position: relative;
	padding-left: calc(8px + 10px);
}

.p-sec-anonymous-result-txt::before {
	content: '';
	width: 8px;
	height: 8px;
	background-color: var(--ver01-main-color-red);
	position: absolute;
	top: 11px;
	left: 0;
}

/* m-lower-layer-mv
------------------------------------- */
.m-lower-layer-mv {
  height: clamp(579px, calc(775 / var(--base-width) * 100vw), 775px);
	overflow: hidden;
	padding-block: clamp(48px, calc(121 / var(--base-width) * 100vw), 121px) clamp(0px, calc(19 / var(--base-width) * 100vw), 19px);
}
.m-lower-layer-mv.--listing_ad {
  background: url(/images/lp/listing_ad/bg_lower_layer_mv.png) no-repeat center / cover;
}

.m-lower-layer-mv-inner {
  margin-left: clamp(90px, calc(160 / var(--base-width) * 100vw), 160px);
  position: relative;
}

.m-lower-layer-mv-hgroup {
  display: flex;
  flex-direction: column;
  gap: clamp(30px, calc(30 / 1920 * 100vw), 30px);
}

.m-lower-layer-mv-ttl {
  font-size: clamp(49px, calc(65 / 1920 * 100vw), 65px);
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 900;
  color: var(--ver01-main-color-white);
}
.m-lower-layer-mv-ttl span {
  font-size: clamp(55px, calc(70 / 1920 * 100vw), 70px);
}

.m-lower-layer-mv-txt {
  font-size: clamp(26.2px, calc(36 / 1920 * 100vw), 36px);
  line-height: calc(56 / 36);
  letter-spacing: 0.06em;
  font-weight: 700;
  color: var(--ver01-main-color-white);
}

.m-lower-layer-mv-lists {
  display: flex;
  flex-direction: column;
  gap: clamp(7px, calc(10 / 1920 * 100vw), 10px);
  margin-top: clamp(20px, calc(30 / 1920 * 100vw), 30px);
}

.m-lower-layer-mv-list {
  width: fit-content;
  padding-block: clamp(2px, calc(3 / 1920 * 100vw), 3px);
  padding-inline: clamp(10px, calc(15 / 1920 * 100vw), 15px);
  background-color: rgba(255, 255, 255, 0.9);
  color: #CB9E44;
}
.m-lower-layer-mv-list span {
  font-size: clamp(19px, calc(26 / 1920 * 100vw), 26px);
  line-height: calc(41 / 26);
  letter-spacing: 0.04em;
  font-weight: 700;
  padding-left: clamp(17px, calc(25 / 1920 * 100vw), 25px);
  position: relative;
}
.m-lower-layer-mv-list span::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: clamp(11px, calc(15 / 1920 * 100vw), 15px);
  aspect-ratio: 1;
  background-color: currentColor;
  border-radius: 50%;
}

.m-lower-layer-mv-wrapper {
  display: flex;
  align-items: center;
  gap: clamp(57px, calc(69 / 1920 * 100vw), 69px);
  margin-top: clamp(30px, calc(40 / 1920 * 100vw), 40px);
}

.m-lower-layer-mv-badges {
  display: flex;
  align-items: center;
  gap: clamp(10px, calc(15 / 1920 * 100vw), 15px);
}

.m-lower-layer-mv-badge {
  width: clamp(123px, calc(170 / 1920 * 100vw), 170px);
  aspect-ratio: 169 / 67;
}
.m-lower-layer-mv-badge img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.m-lower-layer-mv-wrap {
  display: flex;
  align-items: center;
  gap: clamp(10px, calc(12 / 1920 * 100vw), 12px);
}
.m-lower-layer-mv-wrap.--sns_ad {
  gap: clamp(9px, calc(12 / 1920 * 100vw), 12px);
}

.m-lower-layer-mv-img.--google_partner {
  width: clamp(47px, calc(64.35 / 1920 * 100vw), 64.35px);
  aspect-ratio: 64.35 / 60.85;
}
.m-lower-layer-mv-img.--yahoo_partner {
  width: clamp(64px, calc(82.5 / 1920 * 100vw), 82.5px);
  aspect-ratio: 82.5 / 57;
}
.m-lower-layer-mv-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.m-lower-layer-mv .m-cta-05 {
  margin-top: clamp(39px, calc(50 / 1920 * 100vw), 50px);
}

.m-lower-layer-mv-txtSmall {
  font-size: clamp(10px, calc(11 / 1920 * 100vw), 11px);
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: 400;
  color: var(--ver01-main-color-white);
  margin-top: clamp(36px, calc(62 / 1920 * 100vw), 62px);
}

/* m-sec-solution-items m-sec-solution-item
----------------------------------------------- */
.m-sec-solution-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 24px;
  margin-top: 50px;
}

.m-sec-solution-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 20px;
  padding-inline: 10px;
  background-color: #fff;
  min-height: 167px;
  position: relative;
}

.m-sec-solution-item-ttl {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  padding-block: 7px;
  padding-inline: 22.5px;
  background-color: #545454;
  color: #fff;
  border-radius: 10vmax;
  display: flex;
  align-items: center;
  gap: 0 4px;
}
.m-sec-solution-item-ttl ._txt {
  font-size: 16px;
  letter-spacing: 0.04em;
  font-weight: 700;
}
.m-sec-solution-item-ttl ._num {
  font-family: 'Montserrat', sans-serif;
  line-height: 1;
  font-size: 26px;
  letter-spacing: -0.03em;
  font-weight: 600;
}

.m-sec-solution-item-txt {
  font-size: 24px;
  line-height: calc(36 / 24);
  letter-spacing: 0.04em;
  font-weight: 700;
  text-align: center;
}
.m-sec-solution-item-txt em {
  color: #DC2F3C;
}

/* m-strength-items m-strength-item
----------------------------------------------- */
.m-strength-items{
	display: flex;
	flex-direction: column;
	gap: 100px;
}

.m-strength-item-ttl{
	display: flex;
	align-items: center;
	font-size: 34px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.4;
	margin-bottom: 35px;
}

.m-strength-item-ttl span{
	color: #B6B6B6;
	font-size: 100px;
	font-weight: 700;
	font-family: 'Montserrat';
	margin-right: 40px;
}

.m-strength-item-ttl strong{
	color: #db2f3b;
	font-size: 42px;
	margin-left: -0.5em;
}

.m-strength-item-txt{
	font-size: 18px;
	line-height: calc(32/18);
	letter-spacing: 0.08em;
	margin-bottom: 30px;
}

.m-strength-item-txt strong{
  color: #db2f3b;
  font-weight: 700;
}

.m-strength-item-txt-l{
  display: block;
  font-size: 26px;
  font-weight: 700;
  width: fit-content;
  margin: 30px auto 0;
  background:linear-gradient(transparent 60%, #FFF773 60%);
}

.m-strength-item-img-box{
	display: flex;
	justify-content: center;
	gap: 86px;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
}

.m-strength-item-img-box-item-img{
	width: 180px;
	margin-bottom: 15px;
	position: relative;
}

.m-strength-item-img-box-item:last-child .m-strength-item-img-box-item-img::before,
.m-strength-item-img-box-item:last-child .m-strength-item-img-box-item-img::after{
	content: none;
}

.m-strength-item-img-box-item-img::before,
.m-strength-item-img-box-item-img::after{
	position: absolute;
	content: "";
	top: 50%;
	right: -60px;
	width: 40px;
	height: 4px;
	background-color: #db2f3b;
}

.m-strength-item-img-box-item-img::after{
	rotate: 90deg;
}

.m-strength-item-img-box02{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 50px;
  counter-reset: item-counter;
}

.m-strength-item-img-box02-item{
  height: 262px;
  padding: 20px;
  position: relative;
}

.m-strength-item-img-box02-item:not(:last-child)::after{
  position: absolute;
  content: "";
  top: 50%;
  right: -12px;
  transform: translate(100%,-50%);
  width: 26px;
  height: 47px;
  background: url(/images/common/icn_arw-double_rd.svg) no-repeat center / contain;
}

.m-strength-item-img-box02-item-img{
	position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.m-strength-item-img-box02-item-ttl{
  font-size: 24px;
  font-weight: 700;
  width: fit-content;
  padding-left: 40px;
  margin: auto;
  position: relative;
  z-index: 1;
}

.m-strength-item-img-box02-item-ttl::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  counter-increment: item-counter;
  content: counter(item-counter);
  font-size: 24px;
  font-family: 'Montserrat';
  font-weight: bold;
  color: #fff;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #DC2F3C;
}

.m-strength-item-img-box02-item-txt{
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: 18px;
  text-align: center;
  height: 60px;
  margin-top: 120px;
  position: relative;
  z-index: 1;
}

.m-strength-item-img-box03{
	display: flex;
	justify-content: center;
	gap: 100px;
}

.m-strength-item-img-box03-item{
	width: 500px;
	height: 180px;
	padding: 20px 50px;
	box-sizing: border-box;
}

.m-strength-item-img-box03-item:nth-child(1){
	background: url(../../images/top/bg_strength7.png) no-repeat center center / contain;
	position: relative;
}
.m-strength-item-img-box03-item:nth-child(1)::before,
.m-strength-item-img-box03-item:nth-child(1)::after{
	content: "";
	position: absolute;
	top: 50%;
	right: -80px;
	width: 60px;
	height: 6px;
	background-color: #db2f3b;
}
.m-strength-item-img-box03-item:nth-child(1)::before{
	rotate: 45deg;
}
.m-strength-item-img-box03-item:nth-child(1)::after{
	rotate: -45deg;
}

.m-strength-item-img-box03-item:nth-child(2){
	background: url(../../images/top/bg_strength8.png) no-repeat center center / contain;
}

.m-strength-item-img-box03-item-txt{
	display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
	font-size: 26px;
	font-weight: 700;
	text-align: center;
  height: 77px;
}

.m-strength-pdca-ttl{
	color: #fff;
	font-size: 26px;
	font-weight: 700;
	text-align: center;
	padding: 10px;
	margin-top: 30px;
	background-color: #8F8F8F;
}

.m-strength-pdca-items{
	display: flex;
	justify-content: space-between;
	gap: 20px;
  padding: 30px;
	border: 3px solid #DFDFDF;
	border-top: none;
}

.m-strength-pdca-item{
  flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: 700;
	height: 80px;
	background-color: #EEEEEE;
	position: relative;
}

.m-strength-pdca-item::before{
	position: absolute;
	content: "";
	top: 8px;
	left: 8px;
	width: 14px;
	height: 14px;
	background-color: #db2f3b;
	clip-path: polygon(0 0, 0% 100%, 100% 0);
}

.m-strength-creative-ttl{
  color: #fff;
  font-size: 34px;
  font-weight: 700;
  text-align: center;
  padding: 5px 0;
  margin: 100px 0 40px;
  border-radius: 9999px;
  background-color: #DC2F3C;
}

.m-strength-creative-ttl span{
  color: #FCF698;
}

.p-strength-creative-txt{
  text-align: center;
  font-size: 26px;
  font-weight: 700;
}

.m-strength-creative-items{
  display: flex;
  justify-content: space-between;
}

.m-strength-creative-item-ttl{
  font-size: 26px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 30px;
}

.m-strength-creative-item-ttl strong{
  color: #DC2F3C;
  background:linear-gradient(transparent 70%, #FFF773 0%);
}

.m-strength-creative-item-img {
  width: 100%;
}
.m-strength-creative-item-img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.m-strength-case-ttl{
  font-size: 26px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 30px;
}

.m-strength-case-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	margin-bottom: 40px;
}

.m-strength-case-list > :is(:nth-child(-n+4), :nth-child(n+13):nth-child(-n+16) , :nth-child(n+25):nth-child(-n+29)) {
	background-color: #E1757D;
	border: 2px solid #E1757D;
}

.m-strength-case-list > :is(:nth-child(n+5):nth-child(-n+8) , :nth-child(n+17):nth-child(-n+20)) {
	background-color: #CF9C36;
	border: 2px solid #CF9C36;
}

.m-strength-case-list > :is(:nth-child(n+9):nth-child(-n+12) , :nth-child(n+21):nth-child(-n+24)) {
	background-color: #BF3F6E;
	border: 2px solid #BF3F6E;
}

.m-strength-case-item {
	font-size: 16px;
	line-height: calc(32/16);
	letter-spacing: .08em;
	font-weight: 700;
	color: #fff;
	text-align: center;

	display: grid;
	grid-template-columns: 52px 1fr;
	align-items: center;
}

.m-strength-case-item::before {
	content: '';
	display: block;
	background-color: #fff;
	width: 100%;
	height: 46px;
	background-repeat: no-repeat;
	background-position: center;
}
.m-strength-case-item[data-icn="school"]::before {
    background-image: url(/images/lp/listing_ad/icn_school.svg);
}
.m-strength-case-item[data-icn="church"]::before {
    background-image: url(/images/lp/listing_ad/icn_church.svg);
}
.m-strength-case-item[data-icn="entertainment"]::before {
    background-image: url(/images/lp/listing_ad/icn_entertainment.svg);
}
.m-strength-case-item[data-icn="finance"]::before {
    background-image: url(/images/lp/listing_ad/icn_finance.svg);
}
.m-strength-case-item[data-icn="graph"]::before {
    background-image: url(/images/lp/listing_ad/icn_graph.svg);
}
.m-strength-case-item[data-icn="sports"]::before {
    background-image: url(/images/lp/listing_ad/icn_sports.svg);
}
.m-strength-case-item[data-icn="online-media"]::before {
    background-image: url(/images/lp/listing_ad/icn_online-media.svg);
}
.m-strength-case-item[data-icn="consulting"]::before {
    background-image: url(/images/lp/listing_ad/icn_consulting.svg);
}
.m-strength-case-item[data-icn="newspaper"]::before {
    background-image: url(/images/lp/listing_ad/icn_newspaper.svg);
}
.m-strength-case-item[data-icn="cram-school"]::before {
    background-image: url(/images/lp/listing_ad/icn_cram-school.svg);
}
.m-strength-case-item[data-icn="photograph"]::before {
    background-image: url(/images/lp/listing_ad/icn_photograph.svg);
}
.m-strength-case-item[data-icn="beauty-salon"]::before {
    background-image: url(/images/lp/listing_ad/icn_beauty-salon.svg);
}
.m-strength-case-item[data-icn="fitness"]::before {
    background-image: url(/images/lp/listing_ad/icn_fitness.svg);
}
.m-strength-case-item[data-icn="insurance"]::before {
    background-image: url(/images/lp/listing_ad/icn_insurance.svg);
}
.m-strength-case-item[data-icn="hotel"]::before {
    background-image: url(/images/lp/listing_ad/icn_hotel.svg);
}
.m-strength-case-item[data-icn="energy"]::before {
    background-image: url(/images/lp/listing_ad/icn_energy.svg);
}
.m-strength-case-item[data-icn="logistics"]::before {
    background-image: url(/images/lp/listing_ad/icn_logistics.svg);
}
.m-strength-case-item[data-icn="renovation"]::before {
    background-image: url(/images/lp/listing_ad/icn_renovation.svg);
}
.m-strength-case-item[data-icn="medicine"]::before {
    background-image: url(/images/lp/listing_ad/icn_medicine.svg);
}
.m-strength-case-item[data-icn="electronics"]::before {
    background-image: url(/images/lp/listing_ad/icn_electronics.svg);
}
.m-strength-case-item[data-icn="car"]::before {
    background-image: url(/images/lp/listing_ad/icn_car.svg);
}
.m-strength-case-item[data-icn="call-center"]::before {
    background-image: url(/images/lp/listing_ad/icn_call-center.svg);
}
.m-strength-case-item[data-icn="health"]::before {
    background-image: url(/images/lp/listing_ad/icn_health.svg);
}
.m-strength-case-item[data-icn="human-resources"]::before {
    background-image: url(/images/lp/listing_ad/icn_human-resources.svg);
}
.m-strength-case-item[data-icn="pc"]::before {
    background-image: url(/images/lp/listing_ad/icn_pc.svg);
}
.m-strength-case-item[data-icn="store"]::before {
    background-image: url(/images/lp/listing_ad/icn_store.svg);
}
.m-strength-case-item[data-icn="food"]::before {
    background-image: url(/images/lp/listing_ad/icn_food.svg);
}
.m-strength-case-item[data-icn="real-estate"]::before {
    background-image: url(/images/lp/listing_ad/icn_real-estate.svg);
}

.m-strength-case-txt{
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}

/* m-service-sec
----------------------------------------------- */
.m-service-sec {
  padding: 100px 0;
}

.m-service-sec-ttl {
  font-size: 42px;
  line-height: calc(63/42);
  letter-spacing: .04em;
  font-weight: 700;
  text-align: center;
}
.m-service-sec-ttl::before{
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background-color: #db2f3b;
}

.m-service-sec-txt{
  font-size: 18px;
  line-height: calc(32/18);
  letter-spacing: .08em;
}

.m-service-sec-txt + .m-service-sec-txt{
  margin-top: 1em;
}

.m-service-sec-partner-list{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 50px;
  margin-top: 50px;
}

/* m-change-sec
----------------------------------------------- */
.m-change-sec{
  background-color: #F8F8F8;
}

.m-change-sec-ttl{
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 30px;
}

.m-change-sec-ttl strong{
  color: #DC2F3C;
}

.m-change-sec-check-ttl{
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  background-color: #424242;
  padding: 12px;
  margin-top: 30px;
  position: relative;
}

.m-change-sec-check-ttl::before{
  position: absolute;
  content: '';
  bottom: 3px;
  left: 50%;
  transform: translate(-50%,100%);
  width: 30px;
  height: 16px;
  background-color: #424242;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.m-change-sec-check-list{
  padding: 20px 80px 50px;
  background-color: #fff;
}

.m-change-sec-check-list-item{
  font-size: 18px;
  padding-left: 45px;
  position: relative;
}

.m-change-sec-check-list-item::before{
  position: absolute;
  content: "";
  top: 3px;
  left: 0;
  width: 30px;
  height: 30px;
  background: url(/images/lp/listing_ad/icn_check.png) no-repeat center / contain;
}

.m-change-sec-check-list-item:not(:last-child){
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid #D1D1D1;
}

.m-change-sec-check-list-item-ttl{
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 10px;
}

.m-change-sec-txt-wrap{
  padding-top: 45px;
  position: relative;
}

.m-change-sec-txt-wrap::before{
  content: '';
  width: 108px;
  aspect-ratio: 1;
  background-image: url(/images/common/icn_arw_bottom_red_01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 40px;
  left: 50%;
  translate: -50% -100%;
}

/* m-service-flow
----------------------------------------------- */
.m-service-flow-list{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 45px;
  counter-reset: num;
}

.m-service-flow-list-item{
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  align-items: center;
  height: 180px;
  padding: 0 80px;
  background-color: #fff;
  position: relative;
}

.m-service-flow-list-item::after{
  position: absolute;
  content: "";
  top: 75px;
  left: 53px;
  width: 2px;
  height: 100%;
  background: url(../../images/lp/listing_ad/img_flow-line.png) no-repeat center center / cover;
  z-index: 1;
}

.m-service-flow-list-item:last-child::after{
  content: none;
}

.m-service-flow-list-num{
  color: #DC2F3C;
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  font-family: 'Montserrat';
  position: relative;
}

.m-service-flow-list-num span{
  font-weight: 700;
  margin-left: 5px;
}

.m-service-flow-list-num::before{
  position: absolute;
  content: "";
  top: 50%;
  left: -20px;
  transform: translate(-100%,-50%);
  width: 12px;
  height: 12px;
  background-color: #DC2F3C;
  border-radius: 50%;
}

.m-service-flow-list-ttl{
  font-size: 26px;
  font-weight: 700;
}

.m-service-flow-list-txt{
  font-size: 18px;
  line-height: calc(32/18);
  letter-spacing: 0.04em;
}