@charset "utf-8";
/* PCファースト PCはフィックスデザイン（デザインと時間の都合で） */
/* ヘッダーフッターは従来のもの、そのためのCSSも流用 */
/* 従来はフルードなヘッダーフッターを今回のPC幅に合わせてCSSで設定変更 */
/* SPブレイクポイント750px（ハンバーガーメニューの出現ポイントに合わせて設定するしかないと判断） */

/* ==================== */
/* 全体の設定 */
/* ==================== */
:root {
	--hit-dark-red: #BC1653;
	--ab-gradation: linear-gradient(to right, #BC1653, #AA3271 30%, #4D3F98 70%, #1B458C 100%);
	--ab-gold: #DCA839;
	--ab-blue: #00489B;
}
*,
*:before,
*:after {
	box-sizing: inherit;
}
body {
	font-family: "Noto Sans JP", sans-serif;
	font-feature-settings: "palt" 1;
}
video {
	width: 100%;
	height: auto;
}
/* PC/SPのみ表示 */
.ab-sp-display {
	display: none;		
}
@media (max-width: 750px) {
	.ab-sp-display {
		display: block;
	}
}
/* PCフィックスデザインのための幅設定 */
.ab-sec, #headerContainer, header, footer {
	min-width: 1280px;
}
header.fixed {
	min-width: auto;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: auto;
}
@media (max-width: 750px) {
	.ab-sec, header, footer {
		min-width: 100%;
	}
}
/* メニュー　現在のページの「a」のクラスに追加 */
.ab-nav-current {
	padding-bottom: 8px;
	border-bottom: 1px solid #00489B;
}
@media (max-width: 750px) {
	.ab-nav-current {
		border-bottom: none;
	}	
}
/* このページ内のsectionの基本設定 */
.ab-sec {
	font-size: 18px;
	line-height: 1.6875;
	letter-spacing: normal;
	color: #000000;
	box-sizing: border-box;
	padding: 20px 0 50px;
}
.ab-sec--gray {
	background: #F5F5F5;
	margin-bottom: 30px;
}
.ab-sec-container {
	width: 1180px;
	margin: 0 auto;
	padding: 0 40px;
}
@media (max-width: 750px) {
	.ab-sec {
		font-size: 16px;
	}
	.ab-sec-container {
		width: 100%;
		padding: 0 15px;
	}
}
.ab-sec-container p, .ab-sec-container li {
	text-align: justify;
}
.ab-sec-container .ab-p-center {
	text-align: center;
}
.ab-sec-container img {
	vertical-align: top;
}
.ab-sec-container a {
	transition: all 0.3s;
}
.ab-sec-container a:hover {
	opacity: 0.7;
}
/* 共通（？）タイトル*/
.sec-title {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	color: var(--ab-gold);
	margin: 1em 0 1.5em;
}
.sec-title span {
	border-bottom: 1px solid var(--ab-gold);
}
.sec-title-sub {
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	line-height: 1.5625;
	background: var(--ab-gradation);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin: -0.5em 0 1em;
}
.sec-title-sub span {
	display: inline-block;
}
@media (max-width: 750px) {
	.sec-title {
		font-size: 21px;
	}
	.sec-title-sub {
		font-size: 24px;
	}
}
/* 共通のボタン */
/* 大ボタン（お申し込み「contact」ページへ） */
.ab-btn-contact {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	font-weight: bold;
	color: #FFFFFF;
	background: var(--ab-gold);
	max-width: 380px;
	height: 80px;
	margin: 2em auto;
	border-radius: 1.7em;
	overflow: hidden;
	transition: all 0.5s;
}
.ab-btn-contact:hover {
	box-shadow: 0 5px 5px 1px rgba(0, 0, 0, 0.3);
}
/*キラッと光る*/
.ab-btn-contact::before {
	content: "";
	position: absolute;
	top: 0;
	left: -75%;
	width: 50%;
	height: 100%;
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
	transform: skewX(-25deg);
}
/*hoverした際の移動のアニメーション*/
.ab-btn-contact:hover::before {
	animation: shine 0.7s;
}
@keyframes shine {
	100% {
		left: 125%;
	}
}
@media (max-width: 1000px) {
	.aimsbridge-btn {
		margin: 2em auto 10px;
	}
}
.ab-btn-contact div {
	line-height: 1.0;
	padding-bottom: 2px;
}
.ab-btn-contact div::before,
.ab-btn-contact div::after {
	content: "";
	position: absolute;
	right: 35px;
	top: 50%;
	width: 184px;
	height: 184px;
	transform: translate(50%,-50%);
}
.ab-btn-contact div::before {
	background: url("../images/ab-contact-btn-icon.svg");
}
.ab-btn-contact div::after {
	background: url("../images/ab-contact-btn-icon-hover.svg");
	opacity: 0.0;
	transform: translate(50%,-50%) rotate(-180deg);
	transition: all 0.5s;
}
.ab-btn-contact:hover div::after {
	opacity: 1.0;
	transform: translate(50%,-50%) rotate(0);
}

/* 通常（？）ボタン（詳細ページへ） */
.ab-btn-normal {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	font-weight: bold;
	color: var(--ab-gold);
	max-width: 280px;
	height: 60px;
	margin: 1.5em auto;
	border: 2px solid var(--ab-gold);
	border-radius: 1.7em;
	transition: all 0.5s;
}
.ab-btn-normal div {
	line-height: 1.0;
	padding-bottom: 2px;
}
.ab-btn-normal::before, .ab-btn-normal::after {
	content: "";
	position: absolute;
	right: 30px;
	width: 13px;
	height: 3px;
	background: #DCA839;
	border-radius: 1px;
	opacity: 0.5;
}
.ab-btn-normal::after {
	top: 50%;
	transform-origin: right top;
	transform: translateY(-50%) rotate(-50deg);
}
.ab-btn-normal::before {
	bottom: 50%;
	transform-origin: right bottom;
	transform: translateY(50%) rotate(50deg);
}
.ab-btn-normal:hover {
	background: #F6E9CD;
}
.ab-btn-normal--align-left {
	margin-left: 0;
	margin-right: 0;
}
/* 固定：トップボタン */
.fix-top-btn {
	position: fixed;
	display: block;
	right: 20px;
	bottom: 165px; /* 導入事例ボタン追加版 */
	width: 60px;
	height: 60px;
	background: var(--ab-blue);
	border-radius: 50%;
	margin-left: auto;
	cursor: pointer;
	z-index: 9;
}
.fix-top-btn--contact {
	bottom: 20px;
}
.fix-top-btn--light {
	bottom: 205px;
}
.fix-top-btn__arrow {
	position: relative;
	width: 100%;
	height: 100%;
}
.fix-top-btn__arrow::after, .fix-top-btn__arrow::before {
	content: "";
	position: absolute;
	top: 35%;
	width: calc(22/60*100%);
	height: calc(4/60*100%);
	background: #FFFFFF;
}
.fix-top-btn__arrow::after {
	right: 50%;
	transform-origin: right top;
	transform: rotate(-45deg);
}
.fix-top-btn__arrow::before {
	left: 50%;
	transform-origin: left top;
	transform: rotate(45deg);
}
@media (max-width: 750px) {
	.fix-top-btn {
		bottom: 27vw; /* 導入事例ボタン追加版 */
		right: 10px;
		width: 40px;
		height: 40px;
	}
	.fix-top-btn--contact {
		bottom: 10px;
	}
	.fix-top-btn--light {
		bottom: 27vw;
	}
}
/* 固定：導入事例ボタン */
.fix-case-btn {
	position: fixed;
	display: block;
	line-height: 0;
	right: 20px;
	bottom: 20px;
	max-width: 239px;
	z-index: 9;
}
@media (max-width: 750px) {
	.fix-case-btn {
		max-width: 100%;
		right: 0;
		left: 0;
		bottom: 0;
		margin: 0 auto;
	}	
}
/* sp版非表示 */
@media (max-width: 1000px) {
	.sp-none {
		display: none;	
	}
}
/* 固定：light 高性能版ボタン */
.light-fix-btn {
	position: fixed;
	display: block;
	line-height: 0;
	right: 20px;
	bottom: 20px;
	max-width: 240px;
	z-index: 9;
}
@media (max-width: 750px) {
	.light-fix-btn {
		max-width: 100%;
		right: 0;
		left: 0;
		bottom: 0;
		margin: 0 auto;
	}
}
.fix-top-btn, .fix-case-btn, .light-fix-btn {
	transition: filter 0.3s;
}
.fix-top-btn:hover, .fix-case-btn:hover, .light-fix-btn:hover {
	filter: brightness(1.1);
}

/* ==================== */
/* 共通ヒーロー（トップページ基準、下位ページは調整） */
/* ==================== */
.ab-hero {
	position: relative;
	width: 100vw;
	min-width: 1280px;
	height: max(calc(100vw*600/1280),600px);
	background: top left / cover no-repeat url("../images/ab-hero-img.jpg");
}
.ab-hero-text {
	position: absolute;
	left: max(calc(100vw*90/1280),90px);
	top: max(calc(100vw*234/1280),234px);
}
.ab-hero-text__h1 {
	font-size: max(calc(100vw*48/1280),48px);
	font-weight: bold;
	text-align: center;
	text-shadow: 0px 5px 10px rgba(0,0,0,0.25); /* 乗算が不可なので似るように設定 */
	line-height: 1.4583;
	color: #FFFFFF;
	margin-bottom: 0.5em;
}
.ab-hero-text__h2 {
	font-size: max(calc(100vw*18/1280),18px);
	text-align: center;
	line-height: 2.0;
	color: #FFFFFF;
}
.ab-hero-text__h2 span {
	font-size: max(calc(100vw*23/1280),23px);
	border-bottom: 3px solid var(--ab-gold);
}
@media (max-width: 750px) {
	.ab-hero {
		min-width: auto;
		height: min(calc(100vw*1080/750),1080px);
		background: top left / cover no-repeat url("../images/ab-hero-img_sp.jpg");
	}
	.ab-hero-text {
		position: absolute;
		left: 0;
		top: min(calc(100vw*175/750),175px);
		width: 100%;
	}
	.ab-hero-text__h1 {
		font-size: min(calc(100vw*68/750),68px);
	}
	.ab-hero-text__h2 {
		font-size: min(calc(100vw*28/750),28px);
	}
	.ab-hero-text__h2 span {
		font-size: min(calc(100vw*36/750),36px);
	}
}
/* 下位ページ用調整 */
/* ax_data_infrastructure.html と　ai_service.html　*/
.ab-hero--subpage {
	height: max(calc(100vw*450/1280),450px);
	background: top left / cover no-repeat url("../images/adi-hero-img.jpg");
}
.ab-hero--subpage-adi {
	background: top left / cover no-repeat url("../images/adi-hero-img.jpg");
}
.ab-hero--subpage-as {
	background: top left / cover no-repeat url("../images/as-hero-img.jpg");
}
@media (max-width: 750px) {
	.ab-hero--subpage {
		border-bottom: 25px solid #F5F5F5;
	}
	.ab-hero--subpage-adi {
		min-width: auto;
		height: min(calc(100vw*900/750),900px);
		background: top left / cover no-repeat url("../images/adi-hero-img_sp.jpg");
	}
	.ab-hero--subpage-as {
		min-width: auto;
		height: min(calc(100vw*900/750),900px);
		background: top left / cover no-repeat url("../images/as-hero-img_sp.jpg");
	}
}
.ab-hero-text--subpage {
	position: absolute;
	left: max(calc(100vw*90/1280),90px);
	top: max(calc(100vw*105/1280),105px);
}
.ab-hero-text__logo {
	width: max(calc(100vw*328/1280),328px);
	margin-bottom: max(calc(100vw*20/1280),20px);
}
.ab-hero-text__h1--subpage {
	text-align: left;
}
.ab-hero-text__h1--subpage .span-smaller {
	font-size: calc(40/48*1em); /*（h1が48pxの時40pxになるように計算）*/
}
@media (max-width: 750px) {
	.ab-hero-text--subpage {
		left: min(calc(100vw*63/750),63px);
		top: min(calc(100vw*112/750),112px);
	}
	.ab-hero-text__logo {
		width: min(calc(100vw*373/750),373px);
		margin: 0;
	}
	.ab-hero-text__h1--subpage {
		font-size: min(calc(100vw*72/750),72px);
	}
	.ab-hero-text__h1--subpage .span-smaller {
		font-size: calc(57/72*1em); /*（h1が48pxの時40pxになるように計算）*/
	}
}
/* 下位ページ用調整　もうひとつのパターン */
/* ヒーロー（ax_information.htmlと４つの記事、ax_cases.htmlに適応） */
.ab-hero--subpage-02 {
	height: max(calc(100vw*350/1280),350px);
	background: top left / cover no-repeat url("../images/info-hero-img.jpg");
}
.ab-hero--info {
	background: top right / cover no-repeat url("../images/info-hero-img.jpg");
}
.ab-hero--driven {
	background: top right / cover no-repeat url("../images/driven-hero-img.jpg");
}
.ab-hero--infrastructure {
	background: top right / cover no-repeat url("../images/infrastructure-hero-img.jpg");
}
.ab-hero--marketing {
	background: top right / cover no-repeat url("../images/marketing-hero-img.jpg");
}
.ab-hero--sales {
	background: top right / cover no-repeat url("../images/sales-hero-img.jpg");
}
.ab-hero--cases {
	background: top right / cover no-repeat url("../images/cases-hero-img.jpg");
}
@media (max-width: 750px) {
	.ab-hero--subpage-02 {
		min-width: auto;
		height: min(calc(100vw*400/750),400px);
	}
}
/* ax_information.htmlのヒーローテキスト + contact.html */
.info-hero-text {
	position: absolute;
	left: max(calc(100vw*90/1280),90px);
	top: max(calc(100vw*110/1280),110px);
}
.info-hero-text__h1 {
	font-size: max(calc(100vw*46/1280),46px);
	font-weight: bold;
	line-height: 1.4347;
}
.info-hero-text__h2 {
	font-size: max(calc(100vw*32/1280),32px);
}
.info-hero-text--contact {
	top: max(calc(100vw*140/1280),140px);
}
.info-hero-text__h1--contact {
	color: #000000;
}
@media (max-width: 750px) {
	.info-hero-text {
		left: min(calc(100vw*63/750),63px);
		top: min(calc(100vw*112/750),112px);
	}
	.info-hero-text--contact {
		top: min(calc(100vw*145/750),145px);
	}
	.info-hero-text__h1--contact {
		font-size: min(calc(100vw*72/750),72px);
	}
}
/* ax_information.htmlの下位（？）articleページのヒーローテキスト */
.article-hero-text {
	position: absolute;
	left: max(calc(100vw*90/1280),90px);
	top: max(calc(100vw*65/1280),65px);
}
.article-hero-text__tag {
	display: inline-block;
	font-size: max(calc(100vw*18/1280),18px);
	line-height: 1.0;
	color: #BC1653;
	background: #FFFFFF;
	padding: 0.5em 0.8em;
}
.article-hero-text__h1, .article-hero-text__h2 {
	color: #FFFFFF;
}
.article-hero-text__h1 {
	font-size: max(calc(100vw*44/1280),44px);
	font-weight: bold;
	margin: 0.5em 0 0.2em;
}
.article-hero-text__h2 {
	font-size: max(calc(100vw*32/1280),32px);
}
@media (max-width: 750px) {
	.article-hero-text {
		left: min(calc(100vw*50/750),50px);
		top: min(calc(100vw*50/750),50px);
		padding-right: min(calc(100vw*63/750),63px);
	}
	.article-hero-text__h1 {
		font-size: min(calc(100vw*44/750),44px);
	}
	.article-hero-text__h2 {
		font-size: min(calc(100vw*32/750),32px);
	}
}
/* cases.htmlのヒーローテキス */
.cases-hero-text {
	position: absolute;
	left: max(calc(100vw*90/1280),90px);
	top: max(calc(100vw*58/1280),58px);
	color: #FFFFFF;
}
.cases-hero-text__logo {
	display: flex;
}
.cases-hero-text__logo-img {
	width: max(calc(100vw*182/1280),182px);
	margin-right: max(calc(100vw*24/1280),24px);
}
.cases-hero-text__logo-h {
	font-size: max(calc(100vw*24/1280),24px);
	font-weight: bold;
	margin-top: max(calc(100vw*2/1280),2px);
}
.cases-hero-text__name {
	display: inline-block;
	font-size: max(calc(100vw*18/1280),18px);
	color: #BC1653;
	line-height: 1.0;
	background: #FFFFFF;
	padding: max(calc(100vw*13/1280),13px);
	margin-top: 0.5em;
}
.cases-hero-text__h1 {
	font-size: max(calc(100vw*38/1280),38px);
	font-weight: bold;
	line-height: 1.5789;
	margin-top: 0.5em;
}
.cases-hero-text__h1 span {
	color: #FFFF00;
}
@media (max-width: 750px) {
	.cases-hero-text {
		left: min(calc(100vw*30/750),30px);
		top: min(calc(100vw*36/750),36px);
		padding-right: min(calc(100vw*63/750),63px);
	}
	.cases-hero-text__logo-img {
		width: min(calc(100vw*208/750),208px);
		margin-right: min(calc(100vw*24/750),24px);
	}
	.cases-hero-text__logo-h {
		font-size: min(calc(100vw*27/750),27px);
		margin-top: min(calc(100vw*3/750),3px);
	}
	.cases-hero-text__name {
		font-size: min(calc(100vw*20/750),20px);
		padding: min(calc(100vw*13/750),13px);
	}
	.cases-hero-text__h1 {
		font-size: min(calc(100vw*44/750),44px);
	}
}

/* ==================== */
/* 共通イントロ */
/* ==================== */
.ab-intro {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 1280px;
	margin: 30px -90px 0;
}
.ab-intro::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -65px;
	width: 11px;
	height: 28px;
	background: bottom center / contain no-repeat url("../images/ab-intro-arrow.svg");
	transform: translate(-50%,0);
}
.ab-intro__left, .ab-intro__right {
	width: 330px;
}
.ab-intro-logo {
	max-width: 205px;
	margin: 0 auto;
	padding: 45px 0;
}
.ab-intro-text p {
	text-align: center;
	line-height: 2.0;
	margin-bottom: 1.7em;
}
.ab-intro-text p:last-child {
	margin-bottom: 0;
}
@media (max-width: 750px) {
	.ab-intro {
		display: block;
		width: 100%;
		margin: 0;
	}
	.ab-intro__left, .ab-intro__right {
		display: none;
	}
	.ab-intro-img-sp {
		width: 100vw;
		margin: 1.7em calc(50% - 50vw) 0;
	}
}

/* ==================== */
/* 共通２カラム（１カラム幅510px） */
/* 共通３カラム（１カラム幅312px） */
/* ==================== */
.ab-2col, .ab-3col {
	display: flex;
	justify-content: space-between;
	margin-bottom: 70px;
}
.ab-2col:last-child, .ab-3col:last-child {
	margin-bottom: 0;
}
.ab-2col__box {	width: 510px; } /* 2col */
.ab-3col__box {	width: 312px; } /* 3col */
.ab-2col__box h3, .ab-3col__box h3 {
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	line-height: 1.1428;
	background: var(--ab-gradation);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	border-bottom: 1px solid;
	border-image: var(--ab-gradation) 1;
	margin: 0.1em 0 1.2em;
	padding-bottom: 0.5em;
}
.ab-2col__box h3 + img, .ab-3col__box h3 + img {
	margin: -0.4em 0 1em;
}
.ab-2col__box h3 span, .ab-3col__box h3 span {
	font-size: 0.7857em; /* h3の28pxに対して22px */
	line-height: 1.4545;
}
.ab-2col__box p, .ab-3col__box p {
	font-size: 16px;
	line-height: 1.6875;
	margin-bottom: 1.6875em;
}
.ab-2col__box .ab-2col__box-p-notes, .ab-3col__box .ab-3col__box-p-notes {
	font-size: 14px;
	line-height: 1.4285em;
	text-indent: -1em;
	padding-left: 1em;
}
.ab-2col__box p:last-of-type, .ab-3col__box p:last-of-type {
	margin-bottom: 0;
}
@media (max-width: 750px) {
	.ab-2col, .ab-3col {
		justify-content: flex-start;
		flex-flow: column;
		margin-bottom: 70px;
	}
	.ab-2col__box h3, .ab-3col__box h3 {
		font-size: 24px;
	}
	.ab-2col__box p, .ab-3col__box p {
		font-size: 14px;
	}
	.ab-2col__box, .ab-3col__box {
		width: 100%;
		margin-bottom: 1.7em;
	}
	.ab-3col__box {
		margin-bottom: 3em;
	}
	.ab-2col__box:last-child, .ab-3col__box:last-child {
		margin-bottom: 0;
	}
}

/* ==================== */
/* ３カラムの共通デザイン　ab-issue */
/* ax_data_infrastructureの「主な失敗」 */
/* html、ai_service.htmlの「主な課題」 */
/* ==================== */
.ab-issue {
	display: flex;
	justify-content: space-between;
}
.ab-issue > li {
	position: relative;
	background: #FFFFFF;
	width: 312px;
	padding: 20px;
	margin-top: 1em;
}
.ab-issue__label {
	position: absolute;
	top: -1em;
	left: 50%;
	transform: translate(-50%,0);
	line-height: 1.0;
	color: #FFFFFF;
	background: #80A3CD;
	padding: 0.5555em 30px 0.6em;
}
.ab-issue__h {
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	line-height: 1.4545;
	color: #00489B;
	margin: 18px 0;
}

.ab-issue__triangle {
	width: 60px;
	margin: 0 auto;
}
.ab-issue__suport div {
	font-size: 14px;
	text-align: center;
	color: #FFFFFF;
	background: #DD8AA9;
	margin: 0.2em 0 0.4em;
}
.ab-issue__suport p {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #BC1653;
}
.ab-issue__img {
	/* width: 182px; */
	margin: 18px auto;
}
.ab-issue__p {
	font-size: 16px;
}
.ab-issue__p-example, .ab-issue__p-notes {
	font-size: 14px;
	line-height: 1.4285em;
	text-indent: -1em;
	padding-left: 1em;
	margin-top: 1.6875em;
}
.ab-issue__p-example {
	text-indent: -1.5em;
	padding-left: 1.5em;
}
.ab-issue__ul li {
	font-size: 16px;
	text-indent: -0.75em;
	padding-left: 0.75em;
}
@media (max-width: 750px) {
	.ab-issue {
		flex-flow: column;
		justify-content: flex-start;
	}
	.ab-issue > li {
		width: 100%;
		max-width: 312px;
		margin: 0 auto;
		margin-top: 1em;
		margin-bottom: 2em;
	}
	.ab-issue > li:last-child {
		margin-bottom: 0;
	}
}

/* ==================== */
/* 全ページ共通　コンテンツ最後にある注釈 */
/* ==================== */
.ab-notes-p {
	font-size: 10px;
}


/* ==================== */
/* トップページ：aimsbridge.html */
/* ==================== */

/* ==========　ソリューション概要　========== */
.ab-sol-flow-ul {
	display: flex;
	justify-content: space-between;
}
@media (max-width: 750px) {
	.ab-sol-flow-ul {
		justify-content: flex-start;
		flex-flow: column;
		margin: 0 auto;
	}
}
.ab-sol-flow-li {
	position: relative;
	width: 250px;
	background: var(--ab-gradation);
}
.ab-sol-flow-li::before, .ab-sol-flow-li::after {
	content: "";
	position: absolute;
	left: -35px;
	width: 24px;
	height: 3px;
	background: #B3B3B3;
	border-radius: 1px;
}
.ab-sol-flow-li::after {
	top: 50%;
	transform-origin: right top;
	transform: translate(0,-50%) rotate(-60deg);
}
.ab-sol-flow-li::before {
	bottom: 50%;
	transform-origin: right bottom;
	transform: translate(0,50%) rotate(60deg);
}
.ab-sol-flow-li:first-child::before, .ab-sol-flow-li:first-child::after {
	display: none;
}
.ab-sol-flow-li__title {
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	color: #FFFFFF;
	padding: 0.5em;
}
.ab-sol-flow-li__text {
	font-size: 16px;
	background: rgba(255,255,255,0.8);
	margin-bottom: 5px;
	padding: 10px 15px;
}
.ab-sol-flow-li__icon {
	width: 169px;
	margin: 0 auto;
}
@media (max-width: 750px) {
	.ab-sol-flow-li {
		margin: 0 auto;
		margin-bottom: 35px;
	}
	.ab-sol-flow-li:last-child {
		margin: 0 auto;
		margin-bottom: 0;
	}
	.ab-sol-flow-li::before, .ab-sol-flow-li::after {
		content: "";
		position: absolute;
		top: -11px;
		left: auto;
		width: 3px;
		height: 24px;
		background: #B3B3B3;
		border-radius: 1px;
	}
	.ab-sol-flow-li::after {
		left: 50%;
		transform-origin: left top;
		transform: translate(-50%,0) rotate(-120deg);
	}
	.ab-sol-flow-li::before {
		right: 50%;
		transform-origin: right top;
		transform: translate(-50%,0) rotate(120deg);
	}
}
.ab-sol-select-title {
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	color: var(--ab-blue);
	margin: 1.5em 0 0.5em;
}
.ab-sol-select-ul {
	display: flex;
	justify-content: space-between;
}
.ab-sol-select-li {
	position: relative;
	flex: 0 0 533px;
	display: flex;
	justify-content: space-between;
	background: #FFFFFF;
}
.ab-sol-select-li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	border: 15px solid var(--ab-gold);
	border-right: 15px solid transparent;
	border-bottom: 15px solid transparent;
}
.ab-sol-select-li__text {
	line-height: 1.4444;
	padding: 40px 0;
	padding-left: 20px;
}
.ab-sol-select-li__text span {
	font-size: 22px;
	font-weight: bold;
	border-bottom: 2px solid var(--ab-gold);
}
.ab-sol-select-li__icon {
	width: 310px;
	margin-right: 40px;
}
@media (max-width: 750px) {
	.ab-sol-select-title {
		font-size: 24px;
	}
	.ab-sol-select-li {
		flex: 0 0 49%;
		justify-content: flex-start;
		flex-flow: column;
		padding: 0;
	}
	.ab-sol-select-li__text {
		padding: 20px 0;
		padding-left: 15px;
	}
	.ab-sol-select-li__icon {
		width: 100%;
		margin-right: 0;
		margin: 0;
	}
}

/* ==========　サポート　========== */
/* 上で記述済み共通２カラム（１カラム幅510px）を使用（※クラス名「ab-2col」関連）*/

/* ==========　プラン　========== */
.ab-plan-table {
	font-size: 16px;
	width: 1120px;
	margin: 0 -10px;
	border-collapse: separate;
	border-spacing: 10px 4px;
}
.ab-plan-table th, .ab-plan-table td {
	text-align: center;
	vertical-align: middle;
	width: 210px;
}
@media (max-width: 750px) {
	.ab-plan-table-parent {
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
	.ab-plan-table {
		width: 970px;
		font-size: 14px;
	}
	.ab-plan-table th, .ab-plan-table td {
		width: 180px;
	}	
}
.ab-plan-table thead th, .ab-plan-table thead td {
	padding: 0;	
}
.ab-plan-table tbody th, .ab-plan-table tbody td {
	height: 50px;
	padding: 0 10px;
}
.ab-plan-table tbody th {
	width: 220px;
}
@media (max-width: 750px) {
	.ab-plan-table tbody th {
		width: 190px;
	}
	.ab-plan-table thead td,
	.ab-plan-table tbody th {
		position: sticky;
		top: 0;
		left: 0;
		background: #F5F5F5;
		z-index: 9;
	}
}
.ab-plan-table span {
	font-size: 12px;
}
/* thead */
.ab-plan-table-logo {
	width: 112px;
	margin: 0 auto;
}
.ab-plan-thead-fukidashi {
	position: relative;
	background: #FFFFFF;
	border: 2px solid #CCCCCC;
	padding: 0.625em 0;
	margin-bottom: 16px;
}
.ab-plan-thead-fukidashi:before {
	content: "";
	position: absolute;
	bottom: -23px;
	left: 50%;
	transform: translateX(-50%);
	border: 11px solid transparent;
	border-top: 15px solid #FFFFFF;
	z-index: 2;
}
.ab-plan-thead-fukidashi:after {
	content: "";
	position: absolute;
	bottom: -28px;
	left: 50%;
	transform: translateX(-50%);
	border: 12px solid transparent;
	border-top: 16px solid #CCCCCC;
	z-index: 1;
}
.ab-plan-table thead th:nth-of-type(1) .ab-plan-thead-fukidashi {
	border-color: #F5DCE5;
}
.ab-plan-table thead th:nth-of-type(1) .ab-plan-thead-fukidashi:after {
	border-top-color: #F5DCE5;
}
.ab-plan-table thead th:nth-of-type(2) .ab-plan-thead-fukidashi {
	border-color: #EBDFE9;
}
.ab-plan-table thead th:nth-of-type(2) .ab-plan-thead-fukidashi:after {
	border-top-color: #EBDFE9;
}
.ab-plan-table thead th:nth-of-type(3) .ab-plan-thead-fukidashi {
	border-color: #E2E1EC;
}
.ab-plan-table thead th:nth-of-type(3) .ab-plan-thead-fukidashi:after {
	border-top-color: #E2E1EC;
}
.ab-plan-table thead th:nth-of-type(4) .ab-plan-thead-fukidashi {
	border-color: #D9E4F0;
}
.ab-plan-table thead th:nth-of-type(4) .ab-plan-thead-fukidashi:after {
	border-top-color: #D9E4F0;
}
.ab-plan-thead-name {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.0;
	color: #FFFFFF;
	padding: 0.6em 0 0.75em;
	margin-bottom: 5px;
}
.ab-plan-table thead th:nth-of-type(1) .ab-plan-thead-name {
	background: #C94575;
}
.ab-plan-table thead th:nth-of-type(2) .ab-plan-thead-name {
	background: #975289;
}
.ab-plan-table thead th:nth-of-type(3) .ab-plan-thead-name {
	background: #655F9C;
}
.ab-plan-table thead th:nth-of-type(4) .ab-plan-thead-name {
	background: #336DAF;
}
/* tbody */
.ab-plan-table tbody {
	line-height: 1.2;
}
.ab-plan-table tbody a {
	color: var(--ab-gold);
	margin-left: 1em;
	border-bottom: 1px solid var(--ab-gold);
}
.ab-plan-table tbody th {
	background: #EBEBEB;
}
.ab-plan-table tbody td:nth-of-type(1) {
	background: rgba(201,69,117,0.1);
}
.ab-plan-table tbody td:nth-of-type(2) {
	background: rgba(151,82,137,0.1);
}
.ab-plan-table tbody td:nth-of-type(3) {
	background: rgba(63,55,131,0.1);
}
.ab-plan-table tbody td:nth-of-type(4) {
	background: rgba(51,109,175,0.1);
}
/* 注釈 */
.ab-plan-note {
	font-size: 12px;
	text-indent: -2.1em;
	padding-left: 2.1em;
}

/* ==========　導入の流れ　========== */
.ab-flow-box {
	display: flex;
}
@media (max-width: 750px) {
	.ab-flow-box-parent {
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
	.ab-flow-box {
		width: 1100px;
		width: auto;
	}
}
.ab-flow-box a {
	color: var(--ab-gold);
	border-bottom: 1px solid var(--ab-gold);
}
.ab-flow-title {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
	width: 140px;
	color: #FFFFFF;
	background: #999999;
	margin-right: 30px;
	margin-bottom: 40px;
}
.ab-flow-title--free {
	background: #C94575;
}
.ab-flow-title--basic {
	background: #975289;
}
.ab-flow-title--advance-enterprise {
	background: linear-gradient(to bottom, #655F9C, #336DAF);
}
.ab-flow-ul {
	display: flex;
	justify-content: space-between;
	flex-flow: row wrap;
	width: 930px;
}
.ab-flow-ul li {
	position: relative;
	display: flex;
	flex-flow: column;
	width: 162px;
	height: auto;
	background: #CCCCCC;
	padding: 10px;
	margin-bottom: 40px;
}
.ab-flow-ul li::before, .ab-flow-ul li::after {
	content: "";
	position: absolute;
	left: -30px;
	width: 19px;
	height: 3px;
	background: #CCCCCC;
	border-radius: 1px;
}
.ab-flow-ul li::after {
	top: 50%;
	transform-origin: right top;
	transform: translateY(-50%) rotate(-50deg);
}
.ab-flow-ul li::before {
	bottom: 50%;
	transform-origin: right bottom;
	transform: translateY(50%) rotate(50deg);
}
/* 特殊ライン ここから　*/
.ab-flow-ul li.ab-flow-ex--end::before, .ab-flow-ul li.ab-flow-ex--end::after {
	background: none;
}
.ab-flow-ul li.ab-flow-ex {
	position: relative;
}
.ab-flow-ul li .ab-flow-ex__line--start {
	left: 0;
	bottom: 0;
}
.ab-flow-ul li .ab-flow-ex__line--end {
	left: 0;
	top: 0;
}
.ab-flow-ul li .ab-flow-ex__line::before, .ab-flow-ul li .ab-flow-ex__line::after {
	content: "";
	position: absolute;
	background: #CCCCCC;
}
.ab-flow-ul li .ab-flow-ex__line--start::before{
	right: 50%;
	bottom: -20px;
	width: 3px;
	height: 20px;
	transform-origin: right center;
}
.ab-flow-ul li .ab-flow-ex__line--start::after{
	right: 50%;
	bottom: -20px;
	width: 480px;
	height: 3px;
	transform-origin: right bottom;
}
.ab-flow-ul li .ab-flow-ex__line--end::before{
	left: -15px;
	bottom: 50%;
	width: 15px;
	height: 3px;
	transform-origin: right center;
	transform: translateY(50%);
}
.ab-flow-ul li .ab-flow-ex__line--end::after{
	left: -15px;
	bottom: 50%;
	width: 3px;
	height: calc(50% + 20px);
	transform-origin: right center;
}
@media (max-width: 750px) {
	.ab-flow-ul li.ab-flow-ex--end::before, .ab-flow-ul li.ab-flow-ex--end::after {
		background: #CCCCCC;
	}
	.ab-flow-ul li .ab-flow-ex__line--start,
	.ab-flow-ul li .ab-flow-ex__line--end {
		display: none;
	}
}
/* 特殊ライン　ここまで */
.ab-flow-ul li:first-child::before, .ab-flow-ul li:first-child::after {
	display: none;
}
.ab-flow-ul li:empty {
	visibility: hidden;
}
.ab-flow-ul--free li {
	background: rgba(201,69,117,0.1);
}
.ab-flow-ul--basic li {
	background: rgba(151,82,137,0.1);
}
.ab-flow-ul--advance-enterprise li {
	background: rgba(63,55,131,0.1);
}
@media (max-width: 750px) {
	.ab-flow-title {
		flex: 0 0 140px;
	}
	.ab-flow-ul {
		flex-flow: row;
		justify-content: flex-start;
		width: auto;
	}
	.ab-flow-ul li {
		flex: 0 0 162px;
		margin-right: 30px;
	}
	.ab-flow-ul li:last-child {
		margin-right: 0;
	}
	.ab-flow-ul .li--last-child {
		margin-right: 0;
	}
	.ab-flow-ul li:empty {
		display: none;
	}
}
.ab-flow-icon {
	width: 82px;
	margin: 10px auto 0;
}
.ab-flow-h3 {
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	height: 2.3333em;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 1.3333;
	margin-bottom: 0.75em;
	white-space: nowrap;
}
.ab-flow-h3 .ab-flow-h3__condensed {
	transform: scale(0.94,1);
}
.ab-flow-p {
	font-size: 14px;
	line-height: 1.4285
}
.ab-flow-p--space {
	padding-top: 1.7em;
}
.ab-flow-a {
	color: var(--ab-gold);
	border-bottom: 1px solid var(--ab-gold);
}
.ab-flow-notes {
	font-size: 12px;
	line-height: 1.3333;
	text-indent: -1em;
	padding-left: 1em;
	padding-top: 0.3em;
}

/* ==================== */
/* 下位ページ　その１ */
/* 企業成長の土台となるAXデータ基盤構築：ax_data_infrastructure.html */
/* ==================== */

/* ==========　データ基盤の課題　========== */
/* 「主な失敗は」３カラムの共通デザイン　ab-issue を使用　*/

/* ==========　データ基盤の構成　========== */
.adi-structure {
	width: calc(100% + 40px); /* なんか右に40px飛び出しているので */
	margin: 0; /* 別CSSで設定されているfigureのmarginをリセット */
}
.adi-structure figcaption {
	font-weight: bold;
	color: #00489B;
	margin: 2.5em 0 30px;
}
@media (max-width: 750px) {
	.adi-structure {
		width: 100%;
	}	
}

/* ==========　構築のポイント　========== */
/* 上で記述済み共通２カラム（１カラム幅510px）を使用（※クラス名「ab-2col」関連）*/

/* ==========　活用/運用のポイント　========== */
/* 上で記述済み共通２カラム（１カラム幅510px）を使用（※クラス名「ab-2col」関連）*/
/* 以下、一部特殊処理のための記述 */
.adi-utilize-exbox {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.adi-utilize-exbox__text {
	/*width: 245px;*/
	flex: 0 1 245px;
}
.adi-utilize-exbox__img {
	/*width: 90px;*/
	flex: 0 0 90px;
	margin: 0 auto;
}
@media (max-width: 750px) {
	.adi-utilize-exbox__text {
		flex: 1 1 245px;
		margin-right: 1.5em;
	}
	.adi-utilize-exbox__img {
		margin: 0;
	}		
}

/* ==========　標準プラン　========== */
.adi-normal-plan-btn {
	display: block;
	margin: 1.5em 0;
}

/* ==================== */
/* 下位ページ　その２ */
/* 安全と自由を兼ね備えた生成AIサービス：ai_service.html */
/* ==================== */

/* ==========　AIサービスの特長　========== */
.as-service-table-parent {
	margin-top: 1.8em;	
}
.as-service-table {
	font-size: 14px;
	width: 1100px;
	border-collapse: separate;
	background: linear-gradient(to bottom, #BC1653, #AA3271 30%, #4D3F98 70%, #1B458C 100%);
}
.as-service-table th {
	text-align: center;
	vertical-align: middle;
}
.as-service-table th, .as-service-table td {
	padding: 15px 10px;
	border-top: 5px solid rgba(255,255,255,0.5);
}
.as-service-table thead th {
	border-top: none;
}
/* rowspanの場合 */
.as-service-table-tr--combine-row td {
	padding: 10px;
	vertical-align: middle;
	border-top: 2px solid rgba(255,255,255,0.5);
}
.as-service-table tr:not(.as-service-table-tr--combine-row) + .as-service-table-tr--combine-row td {
	border-top: 5px solid rgba(255,255,255,0.5);
}
.as-service-table thead th:not(:first-child) {
	font-size: 16px;	
}
.as-service-table thead th,
.as-service-table tbody th {
	font-weight: bold;
}
.as-service-table thead th:first-child,
.as-service-table tbody th {
	width: 86px;
	background: rgba(255,255,255,0.7);
}
.as-service-table thead th:not(:first-child),
.as-service-table tbody td {
	width: 338px;
	background: rgba(255,255,255,0.8);
}
.as-service-table thead th:nth-last-child(2),
.as-service-table tbody td:nth-last-child(2) {
	width: 338px;
	color: #FFFFFF;
	background: rgba(255,255,255,0.25);
}
@media (max-width: 750px) {
	.as-service-table-parent {
		position: relative;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
	.as-service-table-first-row-bg {
		/* デザイン実現のため強引な背景処理 */
		position: sticky;
		left: 0;
		top: 0;
		width: 86px;
		height: 1017px;
		margin-top: -1017px;
		background: linear-gradient(to bottom, #BC1653, #AA3271 30%, #4D3F98 70%, #1B458C 100%);
		z-index: 2;
	}
	.as-service-table thead th:first-child, .as-service-table tbody th {
		position: sticky;
		top: 0;
		left: 0;
		z-index: 3;
	}
}
/* as-service-tableの中身：特徴 */
.as-service-forte {
	display: flex;
	align-items: center;
	line-height: 1.2857;
	margin-bottom: 1.2857em;
}
.as-service-forte:last-child {
	margin-bottom: 0;
}
.as-service-forte__icon {
	width: 32px;
	margin-right: 10px;
}
.as-service-forte__ul {
	padding-left: 1em;
	text-indent: -1em;
}
.as-service-forte__ul li::before {
	content: "●";
}
/* as-service-tableの中身：比較 */
.as-service-comparison {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.as-service-comparison__h {
	color: #721685;
}
.as-service-comparison__evaluate {
	flex: 0 0 170px;
	text-align: center;
}
.as-service-comparison__evaluate--center {
	flex: 1 0 100px;
	text-align: center;
}

/* ==========　導入について　========== */
/* 上で記述済み共通２カラム（１カラム幅510px）を使用（※クラス名「ab-2col」関連）*/
/* 以下、一部特殊処理のための記述 */
.ab-2col .as-introduce-p {
	font-size: 18px;
	line-height: 1.9444;
}

/* ==================== */
/* 下位ページ　その３以降共通の一番下にあるリンク　*/
/* ==================== */
.ab-sec--to-aimsbridge {
	border-top: 1px solid #808080;
	padding-top: 80px;
}
.to-aimsbridge-btn {
	display: block;
	max-width: 510px;
	margin: 0 auto;
}
@media (max-width: 750px) {
	.ab-sec--to-aimsbridge {
		padding-top: 50px;
	}	
}

/* ==================== */
/* 下位ページ　その３（これ以降１・２から性質変更） */
/* 企業競争力生成のための「AX情報」：ax_information.html */
/* ==================== */
/* イントロ一文 */
.info-intro {
	font-size: 20px;
	line-height: 2.0;
}
/* 記事の一覧（リンク） */
.info-article-ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
.info-article-ul li {
	width: 510px;
	margin-bottom: 110px;
}
@media (max-width: 750px) {
	.info-article-ul li {
		width: 100%;
		max-width: 510px;
		margin: 0 auto;
		margin-bottom: 70px;
	}
	.info-article-ul li:last-child {
		margin-bottom: 0;
	}
}
.info-article-ul li a {
	display: block;
	color: #000000;
}
.info-article-ul li a:hover {
	opacity: 0.7;
}
.info-article-ul li a:hover .info-article-h3 {
	color: #BC1653;
}
.info-article-img {
	overflow: hidden;
}
.info-article-img img {
	transition: all 0.3s;
}
.info-article-ul li a:hover img {
	transform-origin: center;
	transform: scale(1.1,1.1);
}
.info-article-tag {
	display: inline-block;
	font-size: 18px;
	line-height: 1.0;
	color: #BC1653;
	background: #F2F2F2;
	padding: 10px 15px;
	margin: 1.5555em 0 0.4em;
}
.info-article-h3 {
	font-size: 28px;
	font-weight: bold;
	line-height: 1.3;
	margin: 0.4em 0;
}
.info-article-h3 span {
	font-size: 22px;
	font-weight: normal;
}
.info-article-p {
	font-size: 16px;
	line-height: 1.6875;
}
.info-article-date {
	font-size: 14px;
	color: #808080;
	margin-top: 1em;
}

/* ==================== */
/* 企業競争力生成のための「AX情報」：ax_information.html の下位ページ（？）　*/
/* 記事 article デザイン共通 */
/* ==================== */
/* 最終更新日 */
.ab-sec--article-date {
	padding: 10px 0 30px;
}
.article-date {
	font-size: 14px;
	color: #808080;
}
/* article 全体のイントロ */
.article-intro p {
	font-size: 20px;
	line-height: 2.0;
	margin-bottom: 2em;
}
.article-intro p:last-of-type {
	margin-bottom: 0;
}
/* article 目次 toc = table of contents */
.ab-sec--article-toc {
	background: #FAF2E1;
	margin-bottom: 2em;
}
.article-toc {
	text-align: center;
	padding: 2em 0 1.5em;
}
.article-toc__inner {
	display: inline-block;
	text-align: left;
}
.article-toc-h {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.0;
	border-bottom: 1px solid #808080;
	padding-bottom: 0.3em;
	margin: 0.5em 0;
}
.article-toc-ul {
	margin-top: 1.1em;
}
.article-toc-ul__num {
	padding-right: 0.6em;
}
.article-toc-ul li a {
	position: relative;
	display: block;
	font-size: 22px;
	line-height: 1.3;
	color: #1B458C;
	padding-left: calc(2.5em + 20px);
	text-indent: calc(-2.6em + 20px);
	margin-bottom: 0.8em;
}
.article-toc-ul li a::before {
	content: "";
	position: absolute;
	left: 0;
	top: -0.1em;
	width: 14px;
	height: 14px;
	border-right: 1px solid #1B458C;
	border-bottom: 1px solid #1B458C;
	transform-origin: left bottom;
	transform: rotate(45deg);
}
.article-toc-ul li a:hover {
	color: #5F7DAE;
	opacity: 1.0;
}
.article-toc-ul li a:hover::before {
	border-right: 1px solid #5F7DAE;
	border-bottom: 1px solid #5F7DAE;
}
/* article　コンテンツ cont = contents */
.article-cont {
	max-width: 800px;
	margin: 1em auto;
}
.article-cont p {
	font-size: 18px;
	line-height: 2.0;
	margin-bottom: 2em;
}
.article-cont p:has(+ .article-cont-btn) {
	margin-bottom: 0.8em;
}
.article-cont-head-img {
	margin: 1em auto;
}
.article-cont-number {
	font-size: 30px;
	line-height: 1.0;
	text-align: center;
	color: var(--ab-gold);
	width: 2em;
	margin: 1em auto 0.5em;
	padding-bottom: 0.15em;
	border-bottom: 1px solid var(--ab-gold);;
}
.article-cont-h {
	font-size: 34px;
	font-weight: bold;
	text-align: center;
	line-height: 1.4705;
	background: var(--ab-gradation);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin: 0.4em 0 1em;
}
.article-cont-h span {
	display: inline-block;
}
.article-cont-sub-h {
	font-size: 24px;
	color: #BC1653;
	border-bottom: 1px solid #BC1653;
	margin: 3em 0 1em;
}
/* 詳しくはこちらボタン */
.article-cont .article-cont-btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	color: #4C7FB9;
	background: #F2F6FA;
	max-width: 240px;
	height: 36px;
	margin: 0.75em 0 3em;
	border: 1px solid #80A3CD;
	border-radius: 1.7em;
	transition: all 0.3s;
}
.article-cont-btn div {
	line-height: 1.0;
	padding-bottom: 2px;
}
.article-cont-btn::before, .article-cont-btn::after {
	content: "";
	position: absolute;
	right: 25px;
	width: 10px;
	height: 2px;
	background: #4C7FB9;
	border-radius: 1px;
	transition: all 0.3s;
}
.article-cont-btn::after {
	top: 50%;
	transform-origin: right top;
	transform: translateY(-50%) rotate(-50deg);
}
.article-cont-btn::before {
	bottom: 50%;
	transform-origin: right bottom;
	transform: translateY(50%) rotate(50deg);
}
.article-cont-btn:hover {
	color: #FFFFFF;
	background: #80A3CD;
}
.article-cont-btn:hover::before, .article-cont-btn:hover::after {
	background: #FFFFFF;
}

/* ==================== */
/* 下位ページ　ax_cases.html */
/* ==================== */
/* cases イントロ */
.ab-sec--cases {
	background: #F5F5F5 bottom right / 349px 246px no-repeat url("../images/cases-intro-bg.png");
}
.cases-intro-h {
	font-size: 22px;
	font-weight: bold;
	color: #BC1653;
	margin: 2.5em 0 0.3em;
}
.cases-intro-wrap {
	display: flex;
	justify-content: space-between;
}
.cases-intro-wrap__text {
	font-size: 18px;
	line-height: 2.0;
	width: 800px;
}
.cases-intro-wrap__link {
	width: 200px;
	text-align: center;
}
.cases-intro-wrap__link-logo {
	margin-bottom: 0.3em;
}
.cases-intro-wrap__link-text {
	display: inline;
	font-size: 18px;
	color: #808080;
	border-bottom: 1px solid #808080;
}
@media (max-width: 750px) {
	.cases-intro-h {
		font-size: 18px;
	}
	.cases-intro-wrap {
		flex-flow: column;
		justify-content: flex-start;
		align-items: center;
	}
	.cases-intro-wrap__text {
		font-size: 15px;
		width: 100%;
	}
	.cases-intro-wrap__link {
		width: 200px;
		margin: 2em 0;
	}
}
.cases-intro-person {
	position: relative;
	display: flex;
	align-items: center;
	width: 800px;
	margin: 2em 0;
}
.cases-intro-person__img {
	position: relative;
	max-width: 315px;
	box-shadow: 10px 10px 0 #BC1653;
	margin-left: 30px;
	margin-right: 40px;
}
.cases-intro-person__text {
	position: relative;
	font-size: 18px;
	line-height: 2.0;
}
.cases-intro-person__bg {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 200px;
	transform: translate(0,-50%);
	background: #FFFFFF;
}
@media (max-width: 750px) {
	.cases-intro-person {
		flex-flow: column;
		width: 100%;
		max-width: 380px;
		padding: 15px 15px 20px;
		margin: 0 auto;
	}
	.cases-intro-person__img {
		margin: 0;
		margin-right: 5px;
	}
	.cases-intro-person__text {
		font-size: 15px;
		width: 100%;
		max-width: 315px;
		margin-top: 1.5em;
	}
	.cases-intro-person__bg {
		position: absolute;
		top: 40px;
		left: 0;
		width: 100%;
		height: calc(100% - 40px);
		transform: translate(0,0);
	}	
}
/* cases インタビュー */
.cases-interview {
	max-width: 800px;
	margin: 0 auto;
}
.cases-interview-ques {
	font-size: 34px;
	font-weight: bold;
	color: #BC1653;
	line-height: 1.4705;
	margin: 0.5em 0 1.4em;
}
.cases-interview-ques span {
	font-weight: bold;
	background: linear-gradient(transparent 90%, #EED39C 10%);
}
.cases-interview-ans {
	font-size: 18px;
	line-height: 2;
}
.cases-interview-ans > p, .cases-interview-ans > ul {
	margin-bottom: 2em;
}
.cases-interview-ans .cases-interview-ans__no-margin {
	margin-bottom: 0;
}
.cases-interview-ans > ul > li {
	text-indent: -1em;
	padding-left: 1em;
}
.cases-interview-ans > ul > li::before {
	content: "●";
}
.cases-interview-ans span {
	font-weight: bold;
	background: linear-gradient(transparent 75%, #EED39C 25%);
}
.cases-interview-fig {
	max-width: 600px;
	margin: 0 auto;
}
.cases-interview-fig figcaption {
	font-size: 14px;
	text-align: center;
	margin-top: 1em;
}
@media (max-width: 750px) {
	.cases-interview-ques {
		font-size: 25px;
	}
	.cases-interview-ans {
		font-size: 14px;
	}
	.cases-interview-fig figcaption {
		font-size: 11px;
	}
}

/* ==================== */
/* contact.html */
/* ==================== */
/* イントロ */
.ab-contact-intro {
	border-bottom: 1px solid #808080;
	margin-top: 3em;
	padding-bottom: 10px;
}
.ab-contact-intro-h1 {
	font-size: 24px;
	color: #BC1653;
	margin: 0.5em 0;
}
.ab-contact-intro-h2 {
	font-size: 28px;
	font-weight: bold;
	margin: 0.5em 0;
}
.ab-contact-intro-p {
	margin-top: 3.4em;
}
/* ポリシー */
.ab-contact-policy {
	border-bottom: 1px solid #808080;
	padding-bottom: 70px;
	margin-bottom: 70px;
}
.ab-contact-policy-h2 {
	font-size: 20px;
	font-weight: bold;
	margin: 0.5em 0;
}
.ab-contact-policy p {
	line-height: 2.0;
}
.ab-contact-policy > ul > li {
	text-indent: -0.5em;
	padding-left: 0.5em;
}
.ab-contact-policy__intro {
	margin-bottom: 2em;
}
.ab-contact-policy__point {
	line-height: 2.0;
	margin-top: 2em;
}