@charset "utf-8";
/* content */
.yellow {
    color: #fae733;
}
.content__body + .content__body {
	margin-top: 46px;
}
.content__block + .content__block {
	margin-top: 30px;
}
.content__block img {
	width: 100%;
	height: auto;
}
.article__area + .article__area {
	margin-top: 60px;
}
.article__item__image.--nopd img {
    background-color: transparent !important;
    padding: 10px 0 !important;
}
.article__area .article__area__column.--auto .article__item__image {
	flex: 1 0 auto;
}
.article__item__arrow {
	margin: 40px 0;
  text-align: center;
}
@media (max-width:980px) {
	.article__area .article__item__image {
    	width: 100%;
	}
}
@media (min-width:961px) {
	.article__area .article__area__column.--auto div {
    	width: auto;
	}
}
/* table */
* + .table__wrap {
	margin-top: 30px;
}
.is-wrap {
	white-space: initial;
}
.is-row .table-tfoot .table-th {
	background-color: #003078;
  border-top: 2px solid #003078;
  border-left: 2px solid #003078;
  color: #fff;
  font-size: 18px;
  line-height: 1;
  padding: 20px;
  text-align: center;
}
.table-tbody .table-dt {
  padding-left: 0.6em;
	position: relative;
	color: #003078;
  font-size: 2rem;
  font-weight: 700;
	line-height: 1.5;
}
.table-tbody .table-dt::before {
	content: "";
  display: block;
  width: 0.4em;
  height: 0.4em;
  position: absolute;
  top: 0.6em;
  left: 0;
  background: #003078;
  border-radius: 50%;
}
.table-tbody .table-dt:not(:first-child) {
	margin-top: 1em;
}
.table-step {
	display: flex;
	justify-content: space-between;
	gap: 5px;
}
.table-step:last-child {
	padding-bottom: 30px;
}
.table-step__header {
	display: table;
	table-layout: fixed;
	width: 100%;
	min-width: 100%;
	background: #003078;
	color: #fff;
	font-size: 18px;
	text-align: center;
}
.table-step__header .table-step__header__item {
	display: table-cell;
  vertical-align: middle;
}
.table-step__header__item .item__row {
  display: block;
  padding: 10px 0;
}
.table-step__header__item .item__row:not(:first-child) {
  border-top: 1px dashed #fff;
}
.table-step__header .table-step__header__item:not(:first-child) {
	border-left: 1px solid #fff;
}
.table-step__header .table-step__header__item:nth-child(1) {
	width: 340px;
	min-width: 340px;
}
.table-step__header .table-step__header__item:nth-child(2) {
	width: 820px;
	min-width: 820px;
}
.table-step__header .table-step__header__item:nth-child(3),
.table-step__header .table-step__header__item:nth-child(4) {
	width: 90px;
	min-width: 90px;
}
.table-step__head {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 54px;
	min-width: 54px;
	position: relative;
	color: #fff;
	font-size: 18px;
	line-height: 1;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	background: #003078;
}
.text-combine {
	-webkit-text-combine: horizontal;
	-ms-text-combine-horizontal: all;
	text-combine-upright: all;
}
.table-step__head::before {
  	content: "";
	display: block;
	width: 38px;
	min-width: 38px;
	height: 38px;
	position: absolute;
	bottom: -38px;
	left: 0;
	transform-origin: left top;
	transform: rotate(-45deg);
	z-index: 1;
	background-color: inherit;
}
.table-step table {
	min-width: 100%;
	table-layout: fixed;
	border: none;
}
.table-step .is-col .table-tbody .table-th {
	width: 280px;
	min-width: 280px;
	line-height: initial;
	text-align: center;
	border: none;
}
.table-step .is-col .table-tbody tr:first-child {
	border-top: 1px solid #d8d8d8;
}
.table-step .is-col .table-tbody tr:last-child {
	border-bottom: 1px solid #d8d8d8;
}
.table-step .is-col .table-tbody tr + tr .table-th {
	border-top: 1px solid #fff;
}
.table-step.--step1 .table-step__head,
.table-step.--step1 .is-col .table-tbody .table-th {
	background: #92a6c2;
}
.table-step.--step2 .table-step__head,
.table-step.--step2 .is-col .table-tbody .table-th {
	background: #627faa;
}
.table-step.--step3 .table-step__head,
.table-step.--step3 .is-col .table-tbody .table-th {
	background: #315791;
}
.table-step .is-col .table-tbody .table-td {
	width: 820px;
	min-width: 820px;
	border: 1px solid #d8d8d8;
}
.table-step .is-col .table-tbody .table-td + .table-td {
	width: 90px;
	text-align: center;
}
.table-step .is-col .table-tbody .table-td.is-bg {
	background: #f8d2ce;
}
@media (min-width:961px) {
	.table-wrapper + .table-wrapper {
    	margin-left: 30px;
	}
}
/* point area */
.point__area {
	margin-top: 30px;
}
/* article list */
.article__list {
	margin-top: 30px;
}
.article__list.--col-4 .article__list__item {
width: calc((100% - 20px)/ 4);
}
.article__list.--col-5 .article__list__item {
width: calc((100% - 20px)/ 5);
}
.article__list__item.--item-point {
	padding: 30px 20px;
  position: relative;
  color: #fff;
  background: #003078;
	clip-path: polygon(0 0, calc(100% - 24px) 0%, 100% 24px, 100% 100%, 0 100%);
}
.article__list__item.--item-point::after {
	content: "";
  display: block;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 0;
  right: 0;
  background: #002357;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
}
.article__list__item.--item-point .article__item__body {
	align-items: center;
	text-align: center;
}
.article__list__item.--item-point .article__title {
	display: flex;
  height: 54px;
  margin-top: 0.5em;
  align-items: center;
}
.article__list__item.--item-point .text__quaternary {
	padding-top: 1em;
  border-top: solid 1px #fff;
	text-align: justify;
	word-break: break-all;
}
.article__list__item.--item-point .text__quaternary + img {
	width: 100%;
	height: auto;
}
/* flow list */
.flow__area {
	margin-top: 30px;
}
.flow__area__wrap {
  display: flex;
  justify-content: space-between;
}
.flow__area__wrap .flow__list {
  width: calc((100% - 80px)/ 4);
}
.flow__area__wrap .flow__item__title {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(100% - 10px);
  min-height: 60px;
  margin-bottom: 10px;
  padding: 5px 0 5px 5px;
  position: relative;
  color: #fff;
  background: #003078;
}
.flow__area__wrap .flow__item__title::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  right: -25px;
  border-style: solid;
  border-width: 30px 0 30px 25px;
  border-color: transparent transparent transparent #003078;
  transform: translateY(-50%);
}
.flow__area__wrap .flow__item__text {
  text-align: justify;
  word-break: break-all;
}
@media (max-width:980px) {
	.flow__area__wrap {
 		flex-wrap: wrap;
    	gap: 10px;
	}
	.flow__area__wrap .flow__list {
    	width: calc((100% - 10px)/ 2);
		padding-right: 15px;
	}
}
/* tab */
.tab__targets {
	position: relative;
}
.btn__close {
    padding: 4px 16px;
    color: #242424;
    font-size: 1.3rem;
    background: #FFF;
    border: 1px solid #242424;
    border-radius: 6px;
}
.btn__close::before {
	content: "✕";
	display: inline-block;
	margin-right: 8px;
}
@media (min-width:961px) {
	.btn__close {
    	position: absolute;
    	top: 16px;
    	right: 20px;
	    cursor: pointer;
		-webkit-transition: all .3s cubic-bezier(.23, 1, .32, 1);
    	transition: all .3s cubic-bezier(.23, 1, .32, 1);
	}
	.btn__close:hover {
    	color: #fff;
    	background-color: #003078;
    	border: 1px solid #003078;
	}
}
@media (max-width:980px) {
	.tab__wrap {
		flex-wrap: wrap;
		gap: 10px;
		padding: 0;
		border: none;
	}
	.tab__item + .tab__item {
    	margin: 0;
	}
	.tab__item .tab__button,
	.tab__item:first-child .tab__button,
	.tab__item:last-child .tab__button{
    	border-radius: 0;
	}
	.tab__targets {
    	text-align: center;
	}
	.btn__close {
  		display: inline-block;
    	margin: 20px auto 0;
	}

}

/* BPR支援一覧修正 */
body[data-page=consulting] .wrapper #c05 {
  margin: 80px 0 0 0;
  padding-top: 0;
}

.article__list__item.--item-point {
	padding: 30px 20px;
  position: relative;
  color: #fff;
  background: #003078;
	clip-path: polygon(0 0, calc(100% - 24px) 0%, 100% 24px, 100% 100%, 0 100%);
}
.article__list__item.--item-point::after {
	content: "";
  display: block;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 0;
  right: 0;
  background: #002357;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
}
.article__list__item.--item-point .article__item__body {
	flex-direction: column;
	align-items: center;
	width: 100%;
	text-align: center;
}
.article__list__item.--item-point .article__title {
	display: flex;
	height: 90px;
  margin-top: 0.5em;
	justify-content: center;
  align-items: center;
}
.article__list__item.--item-point .text__quaternary {
	padding-top: 1em;
  border-top: solid 1px #fff;
	text-align: justify;
	word-break: break-all;
}
.article__list__item.--item-point .text__quaternary + img {
	width: 100%;
	height: auto;
}


/* プロジェクト実績スマホ対応 */
@media (max-width: 980px) {
    .past_projects {
        overflow-x: visible;
    }
    .past_projects .table-wrapper {
        display: block;
        border: none;
        white-space: normal;
    }
    .past_projects .table-wrapper .table-thead {
        display: none;
    }
    .past_projects .table-wrapper .table-tbody {
        display: block;
        border: none;
    }
    .past_projects .table-wrapper .table-tbody tr {
        display: flex;
        flex-wrap: wrap;
        border: none;
    }
    .past_projects .table-wrapper .table-tbody tr td {
        padding: 10px;
        border: none;
    }
    .past_projects .table-wrapper .table-tbody tr td:nth-child(1) {
        width: 10%;
        background-color: #003078;
        font-style: italic;
        color: #fff;
    }
    .past_projects .table-wrapper .table-tbody tr td:nth-child(2) {
        width: 90%;
        background-color: #003078;
        font-family: "UD新ゴ DB", "UD Shin Go DemiBold";
        font-size: 16px;
        color: #fff;
    }
    .past_projects .table-wrapper .table-tbody tr td:nth-child(2) br {
        display: none;
    }
    .past_projects .table-wrapper .table-tbody tr td:nth-child(3) {
        padding: 0 10px;
        width: 100%;
    }
  }


/* olグリッド */
@media (min-width:1361px) {
    .ol_grid_list {
        display: grid;
        grid-template-rows: 200px 200px 200px 200px;
        grid-template-columns: 50% 50%;
        gap: 10px;
    }
}
@media (max-width:1360px) {
    .ol_grid_list>li {
        margin-bottom: 10px;
    }
}
.ol_grid_list>li {
    background-color: #003078;
    counter-increment: examples;
}
@media (min-width:621px) {
    .ol_grid_list dl {
        display: flex;
    }
    .ol_grid_list dl dt {
        width: 200px;
        height: 200px;
    }
    .ol_grid_list dl dt:before {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        font-size: 100px;
        line-height: 200px;
        color: #214b89;
        text-align: center;
    }
    .ol_grid_list dl dt p {
        width: 100%;
    }
    .ol_grid_list dl dd {
        width: calc(100% - 200px);
        height: 200px;
    }
}

@media (max-width:620px) {
    .ol_grid_list dl dt {
        padding: 10px;
    }
    .ol_grid_list dl dt:before {
        margin-right: 10px;
    }
    .ol_grid_list dl dt br {
        display: none;
    }
    .ol_grid_list dl dd .article-text-area-ul__list {
        margin: 0;
    }
}

.ol_grid_list dl dt {
    position: relative;
    color: #FFF;
}
.ol_grid_list dl dt:before {
    content: counter(examples, decimal-leading-zero);
    z-index: 1;
    font-style: italic;
}
.ol_grid_list dl dt p {
    z-index: 2;
    font-size: 16px;
    font-family: "UD新ゴ DB","UD Shin Go DemiBold";
    text-align: center;
}
.ol_grid_list dl dd {
    padding: 16px;
    background-color: #eef1f4;
}
.ol_grid_list dl dt, .ol_grid_list dl dd {
    display: flex;
    align-items: center;
}
.ol_grid_list .article-text-area-ul__list li {
    padding-top: 5px;
    padding-bottom: 5px;
}


/* 横三段表 */
.is-col-3 .table-tbody .table-th {
    background-color: #003078;
    border-left: 2px solid #003078;
    border-right: 2px solid #003078;
    color: #fff;
    font-size: 1.8rem;
    line-height: 30px;
    min-width: 250px;
    padding: 20px;
    text-align: center;
}
@media (max-width: 980px) {
    .is-col-3 .table-tbody .table-th {
        font-size:1.6rem;
        line-height: 24px
    }
}
.is-col-3 .table-tbody th.table-td {
    width: 260px;
    background-color: #6683ae;
    color: #fff;
}
.is-col-3 .table-tbody th.table-td p {
    display: flex;
    align-items: center;
}
.is-col-3 .table-tbody th.table-td p span {
}
.is-col-3 .table-tbody th.table-td p span:first-child {
    width: 3em;
    border-right: 1px solid #fff;
}
.is-col-3 .table-tbody th.table-td p span:nth-child(2) {
    flex-grow: 3;
}
.is-col-3 .table-tbody td.table-td {
    background-color: #eef1f4;
}
.is-col-3 .table-tbody td.table-td .article-text-area-ul__list {
    margin: 0;
}
.is-col-3 .table-tbody tr:first-child {
    border-top: 2px solid #003078;
}
.is-col-3 .table-tbody tr:last-child {
    border-bottom: 2px solid #003078;
}
.is-col-3 .table-tbody tr+tr .table-th {
    border-top: 2px solid #fff;
}
.is-col-3 .table-tbody .table-td {
    background-color: #fff;
    border: 2px solid #d8d8d8;
    padding: 20px;
}
.is-col-3 .table-tbody .table-td.--center {
    text-align: center;
}

.row_col .table-th {
    background-color: #003078;
    border: 2px solid #d8d8d8;
    border-top: 2px solid #003078;
    border-left: 2px solid #003078;
    color: #fff;
    font-size: 1.8rem;
    line-height: 30px;
    padding: 20px;
    text-align: center;
}
.row_col .table-th.w18 {
    width: 18%;
}
.row_col .table-thead .table-th+.table-th {
    border-left: 2px solid #fff;
}
@media (max-width: 980px) {
    .row_col .table-th {
        font-size:1.6rem;
        line-height: 24px;
    }
}
.row_col .table-td {
    background-color: #fff;
    border: 2px solid #d8d8d8;
    padding: 20px;
    text-align: left;
    vertical-align: top;
}
.row_col .table-td.--center {
    text-align: center;
    vertical-align: center;
}


/* IPO支援用 */
.ipo_ol {
    display: grid;
    grid-template-columns: 33% 33% 33%;
    gap: 10px;
}
.ipo_ol li {
    position: relative;
    counter-increment: examples;
}
.ipo_ol li dl {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: #003078;
    border: 2px solid #003078;
    border-radius: 2.5rem;
}
.ipo_ol li dl:before {
    position: absolute;
    top: -10px;
    left: 14px;
    content: counter(examples);
    font-style: italic;
    font-size: 170px;
    line-height: 1;
    color: #214b89;
    z-index: 1;
}
.ipo_ol li dl dt {
    position: relative;
    padding: 160px 20px 20px 20px;
    font-family: "UD新ゴ M", "UD Shin Go Medium";
    color: #fff;
    text-align: center;
    background-repeat: no-repeat;
    background-position: center 20px;
    background-size: 120px 120px;
    z-index: 2;
}
.ipo_ol li:nth-child(1) dl dt { background-image: url("/assets/img/consulting/c02/ipo-01/figure02_1_202508.png"); }
.ipo_ol li:nth-child(2) dl dt { background-image: url("/assets/img/consulting/c02/ipo-01/figure02_2_202508.png"); }
.ipo_ol li:nth-child(3) dl dt { background-image: url("/assets/img/consulting/c02/ipo-01/figure02_3_202508.png"); }
.ipo_ol li dl dd {
    position: relative;
    flex-grow: 3;
    padding: 40px;
    height: 100%;
    background-color: #fff;
    border: 2px solid #003078;
    border-radius: 0 0 2.5rem 2.5rem;
}
@media (max-width: 980px) {
    .ipo_ol {
        display: block;
    }
    .ipo_ol li:not(:last-child) {
        margin-bottom: 10px;
    }
}


/* 内部統制用 */
.topic_h3 {
    margin: 0 auto 30px;
    padding: 10px 0;
    width: 90%;
    font-size: 2rem;
    font-family: "UD新ゴ M", "UD Shin Go Medium";
    font-weight: 700;
    color: #fff;
    text-align: center;
    background-color: #003078;
    border-radius: 2.5rem;
}
.topic__text ol {
    display: grid;
    grid-template-columns: 33% 33% 33%;
    gap: 10px;
}
.topic__text ol li {
    position: relative;
    padding: 20px;
    background-color: #eef1f4;
    counter-increment: examples;
}
.topic__text ol li:before {
    position: absolute;
    top: 6px;
    left: 0;
    width: 100%;
    content: counter(examples, decimal-leading-zero);
    font-style: italic;
    font-size: 90px;
    line-height: 1;
    color: #fff;
    text-align: center;
    z-index: 1;
}
.topic__text ol li dl dt {
    position: relative;
    margin-bottom: 20px;
    font-family: "UD新ゴ M", "UD Shin Go Medium";
    color: #003078;
    text-align: center;
    z-index: 2;
}
.topic__text ol li dl dt p:nth-child(2) {
    font-size: 2rem;
}
.topic__text ol li dl dd {
}
@media (max-width: 980px) {
    .topic__text ol {
        display: block;
    }
    .topic__text ol li:not(:last-child) {
        margin-bottom: 10px;
    }
}

/* list文章長い場合、下マージン追加 */
  .article-text-area-ul__list.list_long .article-text-area-ul__item:not(:last-child) {
    margin-bottom: 10px;
  }