@charset "UTF-8";
/*-----------------------------------------------------
　サービスページ 資料ダウンロードボタン
------------------------------------------------------*/
/* MV内 */
.m-common-h2-in.is-flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.m-common-h2-in.is-flex h2 {
	width: 100%;
}
.m-common-h2-in.is-flex .m-common-h2-in__readtext {
	width: calc(100% - 300px);
}
.m-common-h2-in .m-common-h2-in__download__btn {
	width: 250px;
}
.m-common-h2-in .m-common-h2-in__download__btn a {
    display: block;
    width: 100%;
    padding: 16px 0 12px 20px;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    color: #dd122b;
    border-radius: 10px;
    /*background: #dd122b;
    box-shadow: 0 5px 0 0 #96122b;*/
    background: #FFF;
    box-shadow: 0 5px 0 0 #dd122b;
    transform: translate3d(0, -5px, 0);
    transition: 0.3s ease-in-out;
    position: relative;
}
.m-common-h2-in .m-common-h2-in__download__btn a::after {
	content: '';
	width: 20px;
	height: 30px;
	background: url("/wp-content/themes/cpi-web/assets/images/common/icon_docs_red.svg") center center no-repeat;
	background-size: 100%;
	position: absolute;
	top: calc(50% - 15px);
	left: 20px;
}
.m-common-h2-in .m-common-h2-in__download__btn a:hover {
    box-shadow: 0 0px 0 0 #96122b;
    transform: translate3d(0, 5px, 0);
}

@media (max-width: 599px) {
	.m-common-h2-in.is-flex .m-common-h2-in__readtext {
		width: 100%;
	}
	.m-common-h2-in .m-common-h2-in__download__btn {
		width: 90%;
		margin: 8vw auto 0;
	}
	.m-common-h2-in .m-common-h2-in__download__btn a {
		display: block;
		width: 100%;
		padding: 3vw 0 3vw 4vw;
		font-size: 4.2vw;
		font-weight: bold;
		text-align: center;
		color: #dd122b;
		border-radius: 10px;
		/*background: #dd122b;
		box-shadow: 0 5px 0 0 #96122b;*/
		background: #FFF;
		box-shadow: 0 5px 0 0 #dd122b;
		transform: translate3d(0, -5px, 0);
		transition: 0.3s ease-in-out;
		position: relative;
	}
	.m-common-h2-in .m-common-h2-in__download__btn a::after {
		content: '';
		width: 4vw;
		height: 6vw;
		background: url("/wp-content/themes/cpi-web/assets/images/common/icon_docs_red.svg") center center no-repeat;
		background-size: 100%;
		position: absolute;
		top: calc(50% - 3vw);
		left: 4vw;
	}
	.m-common-h2-in .m-common-h2-in__download__btn a:hover {
		box-shadow: 0 0px 0 0 #96122b;
		transform: translate3d(0, 5px, 0);
	}
	
}

/* ページ下部 */
.p-service-download {
	width: 100%;
	padding: 60px 0;
	background: url("/wp-content/themes/cpi-web/assets/images/common/bg_service_download.jpg") center center no-repeat;
	background-size: cover;
	text-align: center;
}
.p-service-download .p-service-download-in {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    color: #FFF;
    text-align: center;
}
.p-service-download .p-service-download-in__h2 {
    margin: 0 auto 50px;
    font-size: 46px;
    font-weight: bold;
}
.p-service-download .p-service-download-in__h2 span {
    display: block;
    font-size: 24px;
    font-weight: 300;
}
.p-service-download .p-service-download__readtext {
	font-size: 20px;
    font-weight: 500;
}
.p-service-download .p-service-download__btn a {
    display: block;
    width: 90%;
	max-width: 450px;
	margin: 60px auto 0;
    padding: 16px 0 12px 22px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    color: #FFF;
    border-radius: 10px;
    /*background: #dd122b;
    box-shadow: 0 5px 0 0 #96122b;*/
    background: #dd122b;
    box-shadow: 0 5px 0 0 #96122b;
    transform: translate3d(0, -5px, 0);
    transition: 0.3s ease-in-out;
    position: relative;
}
.p-service-download .p-service-download__btn a::before {
    font-display: block;
    content: "";
    width: 22px;
    height: 34px;
    background: url("/wp-content/themes/cpi-web/assets/images/common/icon_docs.svg") no-repeat;
    background-size: 100%;
    position: absolute;
    top: calc(50% - 17px);
    left: 20px;
}
.p-service-download .p-service-download__btn a:hover {
    box-shadow: 0 0px 0 0 #96122b;
    transform: translate3d(0, 5px, 0);
}

@media (max-width: 599px) {
	.p-service-download {
		width: 100%;
		padding: 50px 0 60px;
	}
	.p-service-download .p-service-download-in {
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
		color: #FFF;
		text-align: center;
	}
	.p-service-download .p-service-download-in__h2 {
		margin: 0 auto 30px;
		font-size: 8.4vw;
		font-weight: bold;
	}
	.p-service-download .p-service-download-in__h2 span {
		display: block;
		font-size: 5.4vw;
	}
	.p-service-download .p-service-download__readtext {
		font-size: 4.4vw;
	}
	.p-service-download .p-service-download__btn a {
		display: block;
		width: 90%;
		max-width: 450px;
		margin: 60px auto 0;
		padding: 16px 0 12px 22px;
		font-size: 5.2vw;
		font-weight: bold;
		text-align: center;
		color: #FFF;
		border-radius: 10px;
		/*background: #dd122b;
		box-shadow: 0 5px 0 0 #96122b;*/
		background: #dd122b;
		box-shadow: 0 5px 0 0 #96122b;
		transform: translate3d(0, -5px, 0);
		transition: 0.3s ease-in-out;
		position: relative;
	}
	.p-service-download .p-service-download__btn a::before {
		font-display: block;
		content: "";
		width: 22px;
		height: 34px;
		background: url("/wp-content/themes/cpi-web/assets/images/common/icon_docs.svg") no-repeat;
		background-size: 100%;
		position: absolute;
		top: calc(50% - 17px);
		left: 20px;
	}
	.p-service-download .p-service-download__btn a:hover {
		box-shadow: 0 0px 0 0 #96122b;
		transform: translate3d(0, 5px, 0);
	}
}

/*-----------------------------------------------------
　サービス一覧　アンカーリンク
------------------------------------------------------*/
ul.p-service-anchor {
    width: 100%;
    margin: 0 auto 80px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
ul.p-service-anchor li.p-service-anchor-item {
    width: calc((100% - 20px)/3);
    margin-right: 10px;
}
ul.p-service-anchor li.p-service-anchor-item:nth-child(3),ul.p-service-anchor li.p-service-anchor-item:last-child{
    margin-right: 0;
}
ul.p-service-anchor li.p-service-anchor-item:nth-child(3n) {
    margin-right: 0;
}

ul.p-service-anchor li.p-service-anchor-item:nth-child(n+4) {
    margin-top: 10px;
}

/* margin-rightの設定を修正 */
ul.p-service-anchor li.p-service-anchor-item {
    width: calc((100% - 20px)/3);
    margin-right: 10px;
}
ul.p-service-anchor li.p-service-anchor-item a {
    width: 100%;
	height: 100%;
    background: linear-gradient(to right, #dd122b 0%, #ab0418 100%);
    position: relative;
    transition: 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
	justify-content: center;
}
ul.p-service-anchor li.p-service-anchor-item a:hover {
    transform: translate3d(0, -10px, 0)
}
ul.p-service-anchor li.p-service-anchor-item a p.p-service-anchor-item__text {
    width: 100%;
    padding: 34px 2% 34px;
    font-size: 1.25vw;
    font-weight: 500;
    text-align: center;
    color: #FFF;
    line-height: 1.4;
    background: linear-gradient(to right, #dd122b 0%, #ab0418 100%);
    position: relative;
}
ul.p-service-anchor li.p-service-anchor-item a p.p-service-anchor-item__text::after {
    display: block;
    content: '';
    width: 1.1vw;
    height: 0.55vw;
    background: url("/wp-content/themes/cpi-web/assets/images/common/icon_arrow_b.svg") no-repeat;
    background-size: 100%;
    position: absolute;
    top: calc((100% - 0.55vw)/2);
    right: 4%;
}
ul.p-service-anchor li.p-service-anchor-item a p.p-service-anchor-item__text::before {
    display: block;
    content: '';
    width: 4.2vw;
    height: 4.2vw;
    position: absolute;
    top: calc((100% - 3.2vw)/2);
    left: 3%;
}

ul.p-service-anchor li.p-service-anchor-item a p.p-service-anchor-item__text.ai::before {
    background: url("/wp-content/themes/cpi-web/assets/images/common/icon_service_ai.svg") no-repeat;
    background-size: 100%;
}
ul.p-service-anchor li.p-service-anchor-item a p.p-service-anchor-item__text.cloud::before {
    background: url("/wp-content/themes/cpi-web/assets/images/common/icon_service_cloud.svg") no-repeat;
    background-size: 100%;
}
ul.p-service-anchor li.p-service-anchor-item a p.p-service-anchor-item__text.develop::before {
    background: url("/wp-content/themes/cpi-web/assets/images/common/icon_service_dev.svg") no-repeat;
    background-size: 100%;
}
ul.p-service-anchor li.p-service-anchor-item a p.p-service-anchor-item__text.verify::before {
    background: url("/wp-content/themes/cpi-web/assets/images/common/icon_service_verify_n_new.svg") no-repeat;
    background-size: 100%;
}
ul.p-service-anchor li.p-service-anchor-item a p.p-service-anchor-item__text.diagnosis::before {
    background: url("/wp-content/themes/cpi-web/assets/images/common/icon_service_verify_n_2_new.svg") no-repeat;
    background-size: 100%;
}
ul.p-service-anchor li.p-service-anchor-item a p.p-service-anchor-item__text.products::before {
    background: url("/wp-content/themes/cpi-web/assets/images/common/icon_service_products_n_new.svg") no-repeat;
    background-size: 100%;
}
ul.p-service-anchor li.p-service-anchor-item a p.p-service-anchor-item__text.awschina::before {
    background: url("/wp-content/themes/cpi-web/assets/images/common/icon_service__awschina_new.svg") no-repeat;
    background-size: 100%;
}
ul.p-service-anchor li.p-service-anchor-item a p.p-service-anchor-item__text.partner-products::before {
    background: url("/wp-content/themes/cpi-web/assets/images/common/icon_service_products_n2_new.svg") no-repeat;
    background-size: 100%;
}
@media (min-width: 1400px) {
    ul.p-service-anchor li.p-service-anchor-item a p.p-service-anchor-item__text {
        width: 100%;
        padding: 34px 2% 34px;
        font-size: 17.5px;
        font-weight: 500;
        text-align: center;
        color: #FFF;
        line-height: 1.4;
        background: linear-gradient(to right, #dd122b 0%, #ab0418 100%);
        position: relative;
    }
    ul.p-service-anchor li.p-service-anchor-item a p.p-service-anchor-item__text::after {
        display: block;
        content: '';
        width: 16px;
        height: 8px;
        background: url("/wp-content/themes/cpi-web/assets/images/common/icon_arrow_b.svg") no-repeat;
        background-size: 100%;
        position: absolute;
        top: calc((100% - 8px)/2);
        right: 4%;
    }
    ul.p-service-anchor li.p-service-anchor-item a p.p-service-anchor-item__text::before {
        display: block;
        content: '';
        width: 59px;
        height: 59px;
        position: absolute;
        top: calc((100% - 46px)/2);
        left: 3%;
    }
}
@media (max-width: 599px) {
    ul.p-service-anchor {
        width: 100%;
        margin: 0 auto 40px;
        display: block;
    }
    ul.p-service-anchor li.p-service-anchor-item {
        width: 100%;
        margin-bottom: 15px;
    }
    ul.p-service-anchor li.p-service-anchor-item a {
        width: 100%;
        background: linear-gradient(to right, #dd122b 0%, #ab0418 100%);
        /*box-shadow: 0 0 15px 0 rgba(177, 177, 188, 0.75);*/
        position: relative;
        transition: 0.3s ease-in-out;
        display: flex;
        flex-direction: column;
    }
    ul.p-service-anchor li.p-service-anchor-item a:hover {
        transform: translate3d(0, -10px, 0)
    }
    ul.p-service-anchor li.p-service-anchor-item a p.p-service-anchor-item__text {
        width: 100%;
        padding: 25px 2% 25px;
        font-size: 3.8vw;
        font-weight: 500;
        text-align: center;
        color: #FFF;
        line-height: 1.4;
        background: linear-gradient(to right, #dd122b 0%, #ab0418 100%);
        position: relative;
    }
    ul.p-service-anchor li.p-service-anchor-item a p.p-service-anchor-item__text::after {
        display: block;
        content: '';
        width: 3.1vw;
        height: 2.55vw;
        background: url("/wp-content/themes/cpi-web/assets/images/common/icon_arrow_b.svg") no-repeat;
        background-size: 100%;
        position: absolute;
        top: calc((100% - 2.55vw)/2);
        right: 4%;
    }
    ul.p-service-anchor li.p-service-anchor-item a p.p-service-anchor-item__text::before {
        display: block;
        content: '';
        width: 9.6vw;
        height: 9.6vw;
        position: absolute;
        top: calc((100% - 8.8vw)/2);
        left: 3%;
    }
}
/*-----------------------------------------------------
　サービス一覧 h3、img
------------------------------------------------------*/
section {
    margin-bottom: 80px; 
}


section:last-child {
    margin-bottom: 0;
}


.l-contents-box.mb0 {
    margin-bottom: 0;
}

.p-service-h3-wrap {
    width: 100%;
    margin: 0 auto 40px;
}
.p-service-h3-wrap figure {
    width: 14%;
    margin: 0 auto;
}
.p-service-h3-wrap h3.p-service-h3-wrap__h3 {
    width: 100%;
    margin: 0 auto 20px;
    font-size: 2.6vw;
    font-weight: bold;
    color: #4d4d4d;
    text-align: center;
}
.p-service-h3-wrap p.p-service-h3-wrap__readtext {
    width: 100%;
    margin: 0 auto;
    font-size: 1.7vw;
    font-weight: 500;
    text-align: center;
}
.imagebox{
    width: 100%;
    margin: 20px auto;
}
.imagebox80{
    width: 80%;
    margin: 20px auto;
}
.imagebox60{
    width: 60%;
    margin: 20px auto;
}
@media (min-width: 1400px) {
    .p-service-h3-wrap figure {
        width: 168px;
        margin: 0 auto;
    }
    .p-service-h3-wrap h3.p-service-h3-wrap__h3 {
        width: 100%;
        margin: 0 auto 20px;
        font-size: 36px;
        font-weight: bold;
        color: #4d4d4d;
        text-align: center;
    }
    .p-service-h3-wrap p.p-service-h3-wrap__readtext {
        width: 100%;
        margin: 0 auto;
        font-size: 24px;
        font-weight: 500;
        text-align: center;
    }
}
@media (max-width: 599px) {
    .p-service-h3-wrap {
        width: 100%;
        margin: 0 auto 40px;
    }
    .p-service-h3-wrap figure {
        width: 35%;
        margin: 0 auto;
    }
    .p-service-h3-wrap h3.p-service-h3-wrap__h3 {
        width: 100%;
        margin: 0 auto 20px;
        font-size: 7vw;
        font-weight: bold;
        color: #4d4d4d;
        text-align: center;
    }
    .p-service-h3-wrap p.p-service-h3-wrap__readtext {
        width: 100%;
        margin: 0 auto;
        font-size: 4.4vw;
        font-weight: 500;
        text-align: center;
    }
    .imagebox{
        width: 100%;
        margin: 20px auto;
    }
    .imagebox80{
        width: 100%;
        margin: 20px auto;
    }
    .imagebox60{
        width: 100%;
        margin: 20px auto;
    }
}

/*-----------------------------------------------------
　サービス一覧 各サービスリスト
------------------------------------------------------*/
ul.p-service-list li {
    width: 100%;
    margin: 0 auto 40px;
}
ul.p-service-list li a {
    width: calc(100% - 10px);
    display: flex;
    align-items: center;
    transition: 0.3s ease-in-out;
}
ul.p-service-list li a:hover {
    transform: translate3d(10px, 0, 0)
}
ul.p-service-list li a .p-service-list__imgbox {
    width: 72px;
    margin-right: 30px;
}
ul.p-service-list li a .p-service-list__textbox {
    width: calc(100% - 102px);
}
ul.p-service-list li a .p-service-list__textbox p.p-service-list__textbox-ttl {
    width: 100%;
    margin: 0 auto 10px;
    font-size: 20px;
    font-weight: bold;
    color: #dd122b;
    position: relative;
}
ul.p-service-list li a .p-service-list__textbox p.p-service-list__textbox-ttl::after {
    display: inline-block;
    content: '';
    width: 8px;
    height: 16px;
    margin-left: 20px;
    background: url("/wp-content/themes/cpi-web/assets/images/common/icon_arrow_r_re.svg") no-repeat;
}
ul.p-service-list li a .p-service-list__textbox p.p-service-list__textbox-text {
    width: 100%;
    margin: 0 auto;
    font-size: 15px;
    transition: 0.3s ease-in-out;
}
ul.p-service-list li a:hover .p-service-list__textbox p.p-service-list__textbox-text {
    color: #dd122b;
}
@media (max-width: 599px) {
    ul.p-service-list li {
        width: 100%;
        margin: 0 auto 40px;
    }
    ul.p-service-list li a {
        width: 100%;
        display: flex;
        align-items: flex-start;
        transition: 0.3s ease-in-out;
    }
    ul.p-service-list li a:hover {
        transform: translate3d(0, 0, 0)
    }
    ul.p-service-list li a .p-service-list__imgbox {
        width: 18%;
        margin-right: 14px;
    }
    ul.p-service-list li a .p-service-list__textbox {
        width: calc(100% - 18% - 14px);
    }
    ul.p-service-list li a .p-service-list__textbox p.p-service-list__textbox-ttl {
        width: 100%;
        margin: 0 auto 10px;
        font-size: 4.4vw;
        font-weight: bold;
        color: #dd122b;
        position: relative;
        line-height: 1.4;
    }
    ul.p-service-list li a .p-service-list__textbox p.p-service-list__textbox-ttl::after {
        display: inline-block;
        content: '';
        width: 1.6vw;
        height: 3.2vw;
        margin-left: 10px;
        background: url("/wp-content/themes/cpi-web/assets/images/common/icon_arrow_r_re.svg") no-repeat;
    }
    ul.p-service-list li a .p-service-list__textbox p.p-service-list__textbox-text {
        width: 100%;
        margin: 0 auto;
        font-size: 3.5vw;
        line-height: 1.5;
        transition: 0.3s ease-in-out;
    }
    ul.p-service-list li a:hover .p-service-list__textbox p.p-service-list__textbox-text {
        color: #dd122b;
    }
}

/*-----------------------------------------------------
　共通 課題やご相談の例box
------------------------------------------------------*/
.p-service-example-box {
    width: 100%;
    margin: -10px auto 60px;
    padding: 30px 8%;
    /*background: #F1F1F9;*/
    background: #f2f2f2;
    box-shadow: 0 0 15px 0 rgba(177, 177, 188, 0.75);
}
@media (max-width: 599px) {
    .p-service-example-box {
        width: 100%;
        margin: 0 auto 40px;
        padding: 20px 5%;
        background: #f2f2f2;
        box-shadow: 0 0 15px 0 rgba(177, 177, 188, 0.75);
    }
}
/*-----------------------------------------------------
　共通 サービスの流れ
------------------------------------------------------*/
ul.p-service-flow-wrap {
    width: 100%;
    margin: 40px auto 0;
    position: relative;
}
ul.p-service-flow-wrap::before {
    display: block;
    content: '';
    width: 14px;
    height: 100%;
    background: #d0d0d7;
    position: absolute;
    top: 0;
    left: 170px;
}
ul.p-service-flow-wrap li {
    width: 100%;
    margin-bottom: 50px;
    display: flex;
    align-items: flex-start;
}
ul.p-service-flow-wrap li:last-child {
    padding-bottom: 30px;
    margin-bottom: 0;
}
ul.p-service-flow-wrap li p.p-service-flow-wrap__step {
    width: 130px;
    padding: 6px 0 4px;
    font-size: 18px;
    text-align: center;
    color: #FFF;
    background-image: linear-gradient(to right, #dd122b 0%, #0e1336 100%);
    position: relative;
}
ul.p-service-flow-wrap li p.p-service-flow-wrap__step::before {
    content: '';
    width: 0;
    height: 0;
    border: solid transparent;
    pointer-events: none;
    border-left-color: #0e1336;
    border-width: 20.1px;
    margin-top: -20.1px;
    position: absolute;
    top: 50%;
    left: 100%;
}
ul.p-service-flow-wrap li p.p-service-flow-wrap__step::after {
    display: block;
    content: '';
    width: 7px;
    height: 7px;
    margin-top: -3px;
    border-radius: 50%;
    background: #181b39;
    position: absolute;
    top: calc(50% - 3px);
    right: -52px;
    /*right: -40.5%;*/
}
ul.p-service-flow-wrap li .p-service-flow-wrap__textbox {
    width: calc(100% - 240px);
    margin-left: 120px;
    position: relative;
}
ul.p-service-flow-wrap li .p-service-flow-wrap__textbox::before {
    display: inline-block;
    content: '';
    width: 50px;
    height: 1px;
    position: absolute;
    top: 17px;
    left: -68px;
    background: #0e1336;
}
ul.p-service-flow-wrap li .p-service-flow-wrap__textbox p.p-service-flow-wrap__textbox-ttl {
    margin: 0 auto 10px;
    font-size: 20px;
    font-weight: bold;
    color: #dd122b;
}
ul.p-service-flow-wrap li .p-service-flow-wrap__textbox p.p-service-flow-wrap__textbox-text {
    font-size: 15px;
}
@media (max-width: 870px) {
    ul.p-service-flow-wrap li p.p-service-flow-wrap__step::after {
        display: block;
        content: '';
        width: 7px;
        height: 7px;
        margin-top: -3px;
        border-radius: 50%;
        background: #181b39;
        position: absolute;
        top: calc(50% - 3px);
        right: -43%;
    }
}
@media (max-width: 599px) {
    ul.p-service-flow-wrap::before {
        display: block;
        content: '';
        width: 10px;
        height: 100%;
        background: #d0d0d7;
        position: absolute;
        top: 0;
        left: 70px;
    }
    ul.p-service-flow-wrap li {
        width: 100%;
        margin-bottom: 20px;
        display: flex;
        align-items: flex-start;
    }
    ul.p-service-flow-wrap li:last-child {
        padding-bottom: 30px;
        margin-bottom: 0;
    }
    ul.p-service-flow-wrap li p.p-service-flow-wrap__step {
        width: 60px;
        padding: 6px 0 4px;
        font-size: 12px;
        text-align: center;
        color: #FFF;
        background-image: linear-gradient(to right, #dd122b 0%, #0e1336 100%);
        position: relative;
    }
    ul.p-service-flow-wrap li p.p-service-flow-wrap__step::before {
        content: '';
        width: 0;
        height: 0;
        border: solid transparent;
        pointer-events: none;
        border-left-color: #0e1336;
        border-width: 15px;
        margin-top: -15px;
        position: absolute;
        top: 50%;
        left: 100%;
    }
    ul.p-service-flow-wrap li p.p-service-flow-wrap__step::after {
        display: block;
        content: '';
        width: 6px;
        height: 6px;
        margin-top: -3px;
        border-radius: 50%;
        background: #181b39;
        position: absolute;
        top: 50%;
        right: -58%;
        /*right: -29px;*/
    }
    ul.p-service-flow-wrap li .p-service-flow-wrap__textbox {
        width: calc(100% - 50px);
        margin-left: 50px;
        position: relative;
    }
    ul.p-service-flow-wrap li .p-service-flow-wrap__textbox::before {
        display: inline-block;
        content: '';
        width: 15px;
        height: 1px;
        position: absolute;
        top: 15px;
        left: -22px;
        background: #0e1336;
    }
    ul.p-service-flow-wrap li .p-service-flow-wrap__textbox p.p-service-flow-wrap__textbox-ttl {
        margin: 0 auto 5px;
        font-size: 4.5vw;
        font-weight: bold;
        color: #dd122b;
    }
    ul.p-service-flow-wrap li .p-service-flow-wrap__textbox p.p-service-flow-wrap__textbox-text {
        font-size: 3.5vw;
    }
}

/*-----------------------------------------------------
　AWS請求代行/マイグレーション　h4・特徴
------------------------------------------------------*/
h4.m-common-h4-st{
    width: 100%;
    margin: 0 auto 26px;
    font-size: 2.85vw;
    font-weight: bold;
    color: #e4001a;
}

ul.p-service-feature-wrap {
    width: 100%;
    margin: 0 auto 10px;
    display: flex;
}
ul.p-service-feature-wrap.flex-wrap {
    flex-wrap: wrap;
}
ul.p-service-feature-wrap li {
    margin-right: 20px;
    background: #FFF;
    box-shadow: 0 0 15px 0 rgba(177, 177, 188, 0.75);
}
ul.p-service-feature-wrap.four-column li {
    width: calc((100% - 60px)/4);
}
ul.p-service-feature-wrap.three-column li {
    width: calc((100% - 60px)/3);
}
ul.p-service-feature-wrap.two-column li {
    width: calc((100% - 20px)/2);
    margin-right: 20px;
    margin-bottom: 20px;
}
ul.p-service-feature-wrap li:last-child {
    margin-right: 0;
}
ul.p-service-feature-wrap.two-column li:nth-child(even) {
    margin-right: 0;
}

ul.p-service-feature-wrap li .p-service-feature-wrap__imgbox {
    width: 100%;
    padding: 20px;
    background: linear-gradient(to left, #1f1f25 0%, #1e2336 100%);
}
ul.p-service-feature-wrap li .p-service-feature-wrap__imgbox figure {
    width: 40%;
    margin: 0 auto;
}
ul.p-service-feature-wrap.two-column li .p-service-feature-wrap__imgbox figure{
    width: 18%;
    padding: 10px 0;
    margin: 0 auto;
}
ul.p-service-feature-wrap li p.p-service-feature-wrap__textbox {
    padding: 15px 10px;
    font-weight: bold;
    text-align: center;
}
ul.p-service-feature-wrap.four-column li p.p-service-feature-wrap__textbox {
    font-size: 1.4vw;
}
ul.p-service-feature-wrap.three-column li p.p-service-feature-wrap__textbox {
    font-size: 1.2vw;
}
ul.p-service-feature-wrap.two-column li p.p-service-feature-wrap__textbox {
    padding: 20px 10px 15px;
    font-size: 1.42vw;
}
ul.p-service-feature-wrap.two-column li p.p-service-feature-wrap__textbox span{
    display: block;
    font-size: 1.64vw;
    color: #e4001a;
    line-height: 1.4;
}
ul.p-service-feature-wrap.two-column li p.p-service-feature-wrap__maintext{
    width: calc(100% - 40px);
    padding: 15px 0 20px;
    margin: 0 auto;
    font-size: 1.085vw;
    border-top: 1px solid #7f7f92;
}

@media (min-width: 1400px) {
    h4.m-common-h4-st{
        width: 100%;
        margin: 0 auto 26px;
        font-size: 40px;
        font-weight: bold;
        color: #e4001a;
    }
    
    ul.p-service-feature-wrap li p.p-service-feature-wrap__textbox {
        padding: 15px 10px;
        font-size: 20px;
        font-weight: bold;
        text-align: center;
    }
    ul.p-service-feature-wrap.two-column li p.p-service-feature-wrap__textbox {
        padding: 20px 10px 15px;
        font-size: 20px;
    }
    ul.p-service-feature-wrap.two-column li p.p-service-feature-wrap__textbox span{
        display: block;
        font-size: 23px;
        color: #e4001a;
        line-height: 1.4;
    }
    ul.p-service-feature-wrap.two-column li p.p-service-feature-wrap__maintext{
        width: calc(100% - 40px);
        padding: 15px 0 20px;
        margin: 0 auto;
        font-size: 15px;
        border-top: 1px solid #7f7f92;
    }
}
@media (max-width: 599px) {
    h4.m-common-h4-st{
        width: 100%;
        margin: 0 auto 26px;
        font-size: 6.85vw;
        font-weight: bold;
        color: #e4001a;
    }
    ul.p-service-feature-wrap {
        width: 100%;
        margin: 0 auto 10px;
        display: block;
    }
   
    ul.p-service-feature-wrap.four-column {
        width: 100%;
        margin: 0 auto 10px;
        display: flex;
        flex-wrap: wrap;
    }
    ul.p-service-feature-wrap.three-column {
        width: 100%;
        margin: 0 auto 10px;
        display: block;
    }
    ul.p-service-feature-wrap li {
        margin-right: 0;
        margin-bottom: 10px;
        background: #FFF;
        box-shadow: 0 0 15px 0 rgba(177, 177, 188, 0.75);
    }
    ul.p-service-feature-wrap.four-column li {
        width: calc((100% - 10px)/2);
        margin-right: 10px;
    }
    ul.p-service-feature-wrap.four-column li:nth-child(even), ul.p-service-feature-wrap.four-column li:last-child {
        margin-right: 0;
    }
    ul.p-service-feature-wrap.three-column li {
        width: 100%;
    }
    ul.p-service-feature-wrap.two-column li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }
    ul.p-service-feature-wrap li .p-service-feature-wrap__imgbox {
        width: 100%;
        padding: 20px;
        background: linear-gradient(to left, #1f1f25 0%, #1e2336 100%);
    }
    ul.p-service-feature-wrap.four-column li .p-service-feature-wrap__imgbox figure {
        width: 50%;
        margin: 0 auto;
    }
    ul.p-service-feature-wrap.three-column li .p-service-feature-wrap__imgbox figure {
        width: 20%;
        margin: 0 auto;
    }
    ul.p-service-feature-wrap.two-column li .p-service-feature-wrap__imgbox figure{
        width: 25%;
        padding: 0 0;
        margin: 0 auto;
    }
    ul.p-service-feature-wrap li p.p-service-feature-wrap__textbox {
        padding: 15px 6px;
        font-weight: bold;
        text-align: center;
    }
    ul.p-service-feature-wrap.four-column li p.p-service-feature-wrap__textbox {
        font-size: 3.8vw;
    }
    ul.p-service-feature-wrap.three-column li p.p-service-feature-wrap__textbox {
        font-size: 3.8vw;
    }
    ul.p-service-feature-wrap.two-column li p.p-service-feature-wrap__textbox {
        padding: 20px 10px 15px;
        font-size: 4.8vw;
    }
    ul.p-service-feature-wrap.two-column li p.p-service-feature-wrap__textbox span{
        display: block;
        font-size: 5.6vw;
        color: #e4001a;
        line-height: 1.4;
    }
    ul.p-service-feature-wrap.two-column li p.p-service-feature-wrap__maintext{
        width: calc(100% - 40px);
        padding: 15px 0 20px;
        margin: 0 auto;
        font-size: 3.8vw;
        border-top: 1px solid #7f7f92;
    }
}

/*-----------------------------------------------------
　AI(人工知能) 2023/12追加
------------------------------------------------------*/
/*--- main ---*/
.p-ai_main-box {
	width: 100%;
	margin: 0 auto 30px;
	padding: 0 0 30px;
	display: flex;
	flex-wrap: wrap;
}
.p-ai_main-box.is-reverse {
	flex-direction: row-reverse;
}
.p-ai_main-box .p-ai_main-box__img {
	width: 49%;
	position: relative;
	z-index: 1;
}
.p-ai_main-box .p-ai_main-box__textwrap {
	width: 56%;
	margin-top: 100px;
	margin-left: -5%;
	padding: 60px 40px;
	position: relative;
	z-index: 2;
	background: #bd192e;
	color: #fff;
}
.p-ai_main-box.is-reverse .p-ai_main-box__textwrap {
	margin-left: 0;
	margin-right: -5%;
}
.p-ai_main-box .p-ai_main-box__ttl {
	margin-bottom: 20px;
	font-size: 32px;
	font-weight: bold;
}
.p-ai_main-box .p-ai_main-box__text {
	font-size: 18px;
}
/*--- 事例 ---*/
ul.p-ai-case_list{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
ul.p-ai-case_list li{
    width: calc((100% - 60px)/3);
    margin-right: 30px;
    margin-bottom: 30px;
    background: #FFF;
    box-shadow: 0 0 15px 0 rgba(177, 177, 188, 0.75);
    position: relative;
}
ul.p-ai-case_list li::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    content: '';
    background-image: -webkit-gradient(linear, left top, right top, from(#dd122b), to(#0e1336));
    background-image: -webkit-linear-gradient(left, #dd122b 0%, #0e1336 100%);
    background-image: linear-gradient(to right, #dd122b 0%, #0e1336 100%);
}
ul.p-ai-case_list li:nth-child(3n){
    margin-right: 0;
}
ul.p-ai-case_list li figure{
    width: 100%;
    margin: 0 auto 20px;
}
ul.p-ai-case_list li p.p-ai-case_ttl{
    width: calc(100% - 60px);
    padding-bottom: 5px;
    margin: 0 auto 15px;
    font-size: 20px;
    font-weight: bold;
    color: #4d4d4d;
    position: relative;
}
ul.p-ai-case_list li p.p-ai-case_ttl::after {
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    content: '';
    background-image: -webkit-gradient(linear, left top, right top, from(#dd122b), to(#0e1336));
    background-image: -webkit-linear-gradient(left, #dd122b 0%, #0e1336 100%);
    background-image: linear-gradient(to right, #dd122b 0%, #0e1336 100%);
}
ul.p-ai-case_list li p.p-ai-case_text{
    padding: 0 30px 30px;
    font-size: 15px;
}
/*--- 問い合わせ ---*/
.p-contact-ai{
    width: 100%;
    padding: 60px 0 0;
    margin: 0 auto 100px;
    background: rgb(189,25,46);
    background: linear-gradient(180deg, rgba(189,25,46,1) 0%, rgba(189,25,46,1) 40%, rgba(255,255,255,0) 40%, rgba(255,255,255,0) 100%);
}
.p-contact-ai_in{
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    color: #FFF;
    text-align: center;
}
.p-contact-ai h2.m-contact-in__h2 {
    margin: 0 auto 30px;
    font-size: 46px;
    font-weight: bold;
    color: #FFF;
}
.p-contact-ai h2.m-contact-in__h2 span {
    display: block;
    font-size: 24px;
    font-weight: 300;
}
.p-contact-ai p.m-contact-in__text{
    margin-bottom: 40px;
    font-size: 20px;
}
.p-contact-ai_in iframe{
    max-width: 960px;
    margin: 0 auto;
    box-shadow: 0 0 15px 0 rgba(177, 177, 188, 0.75);
}
@media (max-width: 599px) {
    /*--- main ---*/
    .p-ai_main-box {
        width: 100%;
        margin: 0 auto 30px;
        padding: 0 0 0;
        display: block;
    }
.p-ai_main-box.is-reverse {
	flex-direction: row-reverse;
}
    .p-ai_main-box .p-ai_main-box__img {
        width: 100%;
        position: relative;
        z-index: 1;
    }
    .p-ai_main-box .p-ai_main-box__textwrap {
        width: 100%;
        margin-top: 0;
        margin-left: 0;
        margin: 0 auto 0;
        padding: 40px 30px;
    }
    .p-ai_main-box .p-ai_main-box__ttl {
        margin-bottom: 20px;
        font-size: 5.4vw;
    }
    .p-ai_main-box .p-ai_main-box__text {
        font-size: 3.5vw;
    }
    /*--- 事例 ---*/
    ul.p-ai-case_list{
        width: 100%;
        display: block;
    }
    ul.p-ai-case_list li{
        width: 100%;
        margin-right: 0;
        margin-bottom: 30px;
    }
    ul.p-ai-case_list li figure{
        width: 100%;
        margin: 0 auto 15px;
    }
    ul.p-ai-case_list li p.p-ai-case_ttl{
        width: calc(100% - 40px);
        padding-bottom: 5px;
        margin: 0 auto 15px;
        font-size: 4.4vw;
    }
    ul.p-ai-case_list li p.p-ai-case_text{
        padding: 0 20px 20px;
        font-size: 3.5vw;
    }
    /*--- 問い合わせ ---*/
    .p-contact-ai{
        width: 100%;
        padding: 60px 0 0;
        margin: 0 auto 80px;
    }
    .p-contact-ai_in{
        width: 90%;
        max-width: 90%;
    }
    .p-contact-ai h2.m-contact-in__h2 {
        margin: 0 auto 30px;
        font-size: 8.4vw;
    }
    .p-contact-ai h2.m-contact-in__h2 span{
        display: block;
        font-size: 5.4vw;
        font-weight: 300;
    }
    .p-contact-ai p.m-contact-in__text{
        margin-bottom: 40px;
        font-size: 4.4vw;
    }
}


/*-----------------------------------------------------
　AWS請求代行
------------------------------------------------------*/
/*--- banner ---*/
.p-invoice-banner{
    width: 100%;
    margin: 0 auto 50px;
    padding: 40px 50px 20px;
    background: rgb(196,188,156);
    background: linear-gradient(90deg, rgba(196,188,156,1) 0%, rgba(236,229,196,1) 50%, rgba(196,188,156,1) 100%);
}
.p-invoice-banner .p-invoice-banner_ttl{
    width: 100%;
    margin: 0 auto 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #FFF;
    display: flex;
    justify-content: center; 
    align-items: center;
}
.p-invoice-banner .p-invoice-banner_ttl p.p-invoice-banner_ttl-sub{
    margin-right: 20px;
    padding: 8px 30px 4px;
    font-size: 30px;
    font-weight: 500;
    text-align: center;
    color: #FFF;
    background: #0e1336;
    border-radius: 100px;
}
.p-invoice-banner .p-invoice-banner_ttl p.p-invoice-banner_ttl-main{
    font-size: 42px;
    font-weight: bold;
    color: #e4001a;
    line-height: 1;
}
.p-invoice-banner .p-invoice-banner_ttl p.p-invoice-banner_ttl-main span{
    display: inline-block;
    font-size: 72px;
    vertical-align: middle;
}
.p-invoice-banner p.p-invoice-banner_text{
    font-size: 20px;
    font-weight: 500;
    text-align: center;
}
.p-invoice-banner p.p-invoice-banner_text span{
    display: block;
    margin-top: 5px;
    font-size: 12px;
}
.p-invoice-banner ul.p-invoice-banner_point{
    width: 100%;
    margin: 15px auto 0;
    display: flex;
}
.p-invoice-banner ul.p-invoice-banner_point li{
    width: calc((100% - 2px)/3);
    padding: 30px 5px 15px;
    border-right: 1px solid #0e1336;
    background: #FFF;
}
.p-invoice-banner ul.p-invoice-banner_point li:first-child{
    border-radius: 8px 0 0 8px;
}
.p-invoice-banner ul.p-invoice-banner_point li:last-child{
    border-radius: 0 8px 8px 0;
    border-right: none;
}
.p-invoice-banner ul.p-invoice-banner_point li figure{
    width: 15%;
    margin: 0 auto 20px;
}
.p-invoice-banner ul.p-invoice-banner_point li p{
    font-size: 19px;
    font-weight: bold;
    text-align: center;
}

/*--- ご利用イメージ ---*/
.p-invoice-useimg{
    width: 100%;
    padding: 50px;
    background: #f2f2f2;
    box-shadow: 0 0 15px 0 rgb(177 177 188 / 75%);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.p-invoice-useimg .p-invoice-useimg-text{
    width: 40%;
    font-size: 17px;
}
.p-invoice-useimg .p-invoice-useimg-img{
    width: 56%;
}

/*--- キャンペーン ---*/
.p-campaign-banner{
    margin:30px 0 40px;
    text-align: center;
}
.p-campaign-banner-ttl{
    font-size: 40px;
    font-weight: bold;
}
.p-campaign-banner-ttl span {
    background: linear-gradient(transparent 60%, #fFF 60%);
    color:#e4001a;
}
.p-campaign-banner-txt{
    font-size: 17px;
    margin:10px 0 20px;
}
.p-campaign-banner a{
    display: block;
    width:100%;
    max-width:500px;
    margin:0 auto;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.p-campaign-banner a:hover{opacity: 0.7;}

@media (max-width: 920px) {
    .p-invoice-banner .p-invoice-banner_ttl p.p-invoice-banner_ttl-sub{
        margin-right: 10px;
        padding: 8px 30px 4px;
        font-size: 24px;
        font-weight: 500;
        text-align: center;
        color: #FFF;
        background: #0e1336;
        border-radius: 100px;
    }
    .p-invoice-banner .p-invoice-banner_ttl p.p-invoice-banner_ttl-main{
        font-size: 36px;
        font-weight: bold;
        color: #e4001a;
        line-height: 1;
    }
    .p-invoice-banner .p-invoice-banner_ttl p.p-invoice-banner_ttl-main span{
        display: inline-block;
        font-size: 62px;
        vertical-align: middle;
    }
}
@media (max-width: 599px) {
    .p-invoice-banner{
        width: 100%;
        margin: 0 auto 50px;
        padding: 30px 5% 30px;
        background: rgb(196,188,156);
        background: linear-gradient(90deg, rgba(196,188,156,1) 0%, rgba(236,229,196,1) 50%, rgba(196,188,156,1) 100%);
    }
    .p-invoice-banner .p-invoice-banner_ttl{
        width: 100%;
        margin: 0 auto 20px;
        padding-bottom: 5px;
        border-bottom: 2px solid #FFF;
        display: block;
    }
    .p-invoice-banner .p-invoice-banner_ttl p.p-invoice-banner_ttl-sub{
        margin-right: 0;
        padding: 8px 30px 4px;
        font-size: 5.8vw;
        font-weight: 500;
        text-align: center;
        color: #FFF;
        background: #0e1336;
        border-radius: 100px;
    }
    .p-invoice-banner .p-invoice-banner_ttl p.p-invoice-banner_ttl-main{
        margin: 15px auto 0;
        font-size: 8.5vw;
        font-weight: bold;
        color: #e4001a;
        line-height: 1;
        text-align: center;
    }
    .p-invoice-banner .p-invoice-banner_ttl p.p-invoice-banner_ttl-main span{
        display: inline-block;
        font-size: 13vw;
        vertical-align: middle;
    }
    .p-invoice-banner p.p-invoice-banner_text{
        font-size: 4.4vw;
        font-weight: 500;
        text-align: center;
    }
    .p-invoice-banner p.p-invoice-banner_text span{
        display: block;
        margin-top: 5px;
        font-size: 3.6vw;
    }
    .p-invoice-banner ul.p-invoice-banner_point{
        width: 100%;
        margin: 15px auto 0;
        display: block;
    }
    .p-invoice-banner ul.p-invoice-banner_point li{
        width: 100%;
        padding: 30px 5px 15px;
        border-right: none;
        border-bottom: 1px solid #0e1336;
        background: #FFF;
    }
    .p-invoice-banner ul.p-invoice-banner_point li:first-child{
        border-radius: 8px 8px 0 0;
    }
    .p-invoice-banner ul.p-invoice-banner_point li:last-child{
        border-radius: 0 0 8px 8px;
        border-right: none;
        border-bottom:none;
    }
    .p-invoice-banner ul.p-invoice-banner_point li figure{
        width: 15%;
        margin: 0 auto 20px;
    }
    .p-invoice-banner ul.p-invoice-banner_point li p{
        font-size: 5vw;
        font-weight: bold;
        text-align: center;
    }
    
    /*--- ご利用イメージ ---*/
    .p-invoice-useimg{
        width: 100%;
        padding: 10% 7%;
        background: #f2f2f2;
        box-shadow: 0 0 15px 0 rgb(177 177 188 / 75%);
        display: block;
    }
    .p-invoice-useimg .p-invoice-useimg-text{
        width: 100%;
        font-size: 3.8vw;
        margin-bottom: 15px;
    }
    .p-invoice-useimg .p-invoice-useimg-img{
        width: 100%;
    }
    /*--- キャンペーン ---*/
    .p-campaign-banner{
        margin:5vw 0 7vw;
    }
    .p-campaign-banner-ttl{
        font-size: 5.5vw;
    }
    .p-campaign-banner-txt{
        font-size: 3.8vw;
        margin:2vw 0 4vw;
    }
    .p-campaign-banner a{
        max-width:inherit;
    }
}

/*-----------------------------------------------------
　AWSマイグレーション
------------------------------------------------------*/
.p-migration_feature-ttl{
    width: 100%;
    margin: 0 auto 10px;
    padding: 10px 15px 7px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    color: #FFF;
}
.p-migration_feature-ttl.feature1{
    background: #fb8c00;
}
.p-migration_feature-ttl.feature2{
    background: #e4001a;
}
.p-migration_feature-ttl.feature3{
    background: #1e2232;
}
.p-migration_feature-wrap{
    width: 100%;
    margin: 0 auto 30px;
    background: #FFF;
    box-shadow: 0 0 15px 0 rgba(177, 177, 188, 0.75);
    display: flex;
}
.p-migration_feature-wrap .p-migration_feature-wrap_imgbox{
    width: 35%;
    background: linear-gradient(to left, #1f1f25 0%, #1e2336 100%);
    display: flex;
}
.p-migration_feature-wrap .p-migration_feature-wrap_imgbox figure {
    width: 28%;
    margin: auto;
}
.p-migration_feature-wrap .p-migration_feature-wrap_textbox{
    width: 65%;
    padding: 30px;
}
.p-migration_feature-wrap .p-migration_feature-wrap_textbox p.ttl{
    display: block;
    font-size: 1.64vw;
    font-weight: bold;
    color: #e4001a;
    line-height: 1.4;
}
.p-migration_feature-wrap .p-migration_feature-wrap_textbox p.maintext{
    width: 100%;
    margin: 15px auto 0;
    padding-top: 15px;
    font-size: 1.08vw;
    border-top: 1px solid #7f7f92;
}

ul.p-migration_service-wrap{
    width: 100%;
    margin: 0 auto;
    display: flex;
}
ul.p-migration_service-wrap li{
    width: calc(100%/3);
    display: flex;
    flex-direction: column;
}
ul.p-migration_service-wrap li p.p-migration_service-wrap_ttl{
    width: calc(100% - 30px);
    height: 50px;
    padding-top: 12px;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    color: #FFF;
    position: relative;
}
ul.p-migration_service-wrap li:first-child p.p-migration_service-wrap_ttl{
    background: #fb8c00;
}
ul.p-migration_service-wrap li:nth-child(2) p.p-migration_service-wrap_ttl{
    background: #e4001a;
}
ul.p-migration_service-wrap li:last-child p.p-migration_service-wrap_ttl{
    background: #1e2232;
}
ul.p-migration_service-wrap li p.p-migration_service-wrap_ttl::after{
    display: inline-block;
    content: "";
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
    position: absolute;
    top: 0;
    right: -30px;
}
ul.p-migration_service-wrap li:first-child p.p-migration_service-wrap_ttl::after{
    border-left: 30px solid #fb8c00;
    background: #e4001a;
}
ul.p-migration_service-wrap li:nth-child(2) p.p-migration_service-wrap_ttl::after{
    border-left: 30px solid #e4001a;
    background: #1e2232;
}
ul.p-migration_service-wrap li:last-child p.p-migration_service-wrap_ttl::after{
    border-left: 30px solid #1e2232;
}

ul.p-migration_service-wrap li .p-migration_service-wrap-text{
    width: calc(100% - 20px);
    margin-left: 0;
    padding: 20px 0 20px 10px;
    flex-grow: 1;
}
ul.p-migration_service-wrap li:first-child .p-migration_service-wrap-text{
    border-bottom: 1px solid #fb8c00;
}
ul.p-migration_service-wrap li:nth-child(2) .p-migration_service-wrap-text{
    border-bottom: 1px solid #e4001a;
}
ul.p-migration_service-wrap li:last-child .p-migration_service-wrap-text{
    border-bottom: 1px solid #1e2232;
}
ul.p-migration_service-wrap li .p-migration_service-wrap-text ul li{
    width: 100%;
    font-size: 15px;
    margin-bottom: 5px;
    padding-left: 1em;
    text-indent:-1em;
}


table.p-migration_table{
    width: 100%;
    margin: 0 auto;
}
table.p-migration_table th,table.p-migration_table td{
    box-sizing: border-box;
    width: calc(100%/3);
    padding: 14px;
    border: 1px solid #dadada;
    word-break:break-word;
}
table.p-migration_table th{
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    color: #FFF;
}
table.p-migration_table th:first-child{
    background: #fb8c00;
}
table.p-migration_table th:nth-child(2){
    background: #e4001a;
}
table.p-migration_table th:last-child{
    background: #1e2232;
}
table.p-migration_table td{
    box-sizing: border-box;
    vertical-align: top;
}
table.p-migration_table td.sphead1,table.p-migration_table td.sphead2,table.p-migration_table td.sphead3{
    display: none;
}
table.p-migration_table td ul.p-migration_table-text li{
    font-size: 15px;
    margin-bottom: 5px;
    padding-left: 1em;
    text-indent:-1em;
}

@media (min-width: 1400px) {
    .p-migration_feature-wrap .p-migration_feature-wrap_textbox p.ttl{
        display: block;
        font-size: 23px;
        font-weight: bold;
        color: #e4001a;
        line-height: 1.4;
    }
    .p-migration_feature-wrap .p-migration_feature-wrap_textbox p.maintext{
        width: 100%;
        margin: 15px auto 0;
        padding-top: 15px;
        font-size: 15px;
        border-top: 1px solid #7f7f92;
    }
}

@media (max-width: 599px) {
    .p-migration_feature-ttl{
        width: 100%;
        margin: 0 auto 10px;
        padding: 15px 15px 12px;
        font-size: 4.4vw;
    }
    .p-migration_feature-wrap{
        width: 100%;
        margin: 0 auto 40px;
        display: block;
    }
    .p-migration_feature-wrap .p-migration_feature-wrap_imgbox{
        width: 100%;
        background: linear-gradient(to left, #1f1f25 0%, #1e2336 100%);
        display: block;
        padding: 20px 0;
    }
    .p-migration_feature-wrap .p-migration_feature-wrap_imgbox figure {
        width: 28%;
        margin: auto;
    }
    .p-migration_feature-wrap .p-migration_feature-wrap_textbox{
        width: 100%;
        padding: 20px;
    }
    .p-migration_feature-wrap .p-migration_feature-wrap_textbox p.ttl{
        display: block;
        font-size: 4.6vw;
        font-weight: bold;
        color: #e4001a;
        line-height: 1.4;
    }
    .p-migration_feature-wrap .p-migration_feature-wrap_textbox p.maintext{
        width: 100%;
        margin: 15px auto 0;
        padding-top: 15px;
        font-size: 3.8vw;
        border-top: 1px solid #7f7f92;
    }
    ul.p-migration_service-wrap{
        width: 100%;
        margin: 0 auto;
        display: block;
    }
    ul.p-migration_service-wrap li{
        width: 100%;
        margin-bottom: 20px;
    }
    ul.p-migration_service-wrap li p.p-migration_service-wrap_ttl{
        width: 100%;
        height: auto;
        padding: 12px 10px;
        font-size: 4vw;
    }
    ul.p-migration_service-wrap li p.p-migration_service-wrap_ttl::after{
        display: inline-block;
        content: "";
        border-top: 20px solid #fb8c00!important;
        border-right: 50px solid transparent;
        position: absolute;
        top: 100%;
        right: calc((100% - 100px)/2)
    }
    ul.p-migration_service-wrap li:first-child p.p-migration_service-wrap_ttl::after{
        border-left: 50px solid transparent;
        border-top: 20px solid #fb8c00!important;
        background: transparent;
    }
    ul.p-migration_service-wrap li:nth-child(2) p.p-migration_service-wrap_ttl::after{
        border-left: 50px solid transparent;
        border-top: 20px solid #e4001a!important;
        background: transparent;
    }
    ul.p-migration_service-wrap li:last-child p.p-migration_service-wrap_ttl::after{
        border-left: 50px solid transparent;
        border-top: 20px solid #1e2232!important;
    }
    
    ul.p-migration_service-wrap li .p-migration_service-wrap-text{
        width: 100%;
        margin-left: 0;
        padding: 30px 10px 20px;
    }
    ul.p-migration_service-wrap li .p-migration_service-wrap-text ul li{
        width: 100%;
        font-size: 15px;
        margin-bottom: 5px;
        padding-left: 1em;
        text-indent:-1em;
    }
    
    
    table.p-migration_table {
        width: 100%;
    } 
    table.p-migration_table .thead {
        display: none;
    }
    table.p-migration_table tr,
    table.p-migration_table th,
    table.p-migration_table td{
        display: block;
        width: 100%;
    }
    table.p-migration_table th,table.p-migration_table td{
        width: 100%;
    }
    table.p-migration_table td.sphead1,table.p-migration_table td.sphead2,table.p-migration_table td.sphead3{
        display: block;
        font-size: 16px;
        font-weight: bold;
        text-align: center;
        color: #FFF;
    }
    table.p-migration_table td.sphead1{ 
        background: #fb8c00;
    }
    table.p-migration_table td.sphead2{
        background: #e4001a;
    }
    table.p-migration_table td.sphead3{
        background: #1e2232;
    }
}


/*-----------------------------------------------------
　AWS設計・構築支援サービス 
------------------------------------------------------*/
.p-service-point-wrap {
    width: 100%;
    margin: 0 auto;
    padding: 40px 0;
    border-bottom: 1px solid #7f7f92;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.p-service-point-wrap:last-child {
    border-bottom: none;
}
.p-service-point-wrap .p-service-point-wrap__textbox {
    width: 54%;
}
.p-service-point-wrap .p-service-point-wrap__textbox p.p-service-point-wrap__textbox-ttl {
    margin: 0 auto 15px;
    font-size: 24px;
    font-weight: bold;
}
.p-service-point-wrap .p-service-point-wrap__textbox p.p-service-point-wrap__textbox-ttl span {
    display: block;
    color: #dd122b;
}
.p-service-point-wrap .p-service-point-wrap__textbox p.p-service-point-wrap__textbox-text {
    font-size: 15px;
}
.p-service-point-wrap .p-service-point-wrap__imgbox {
    width: 43%;
}
.p-service-point-wrap .p-service-point-wrap__imgbox img {
    display: block;
    width: 80%;
    margin: 0 auto;
}
@media (max-width: 599px) {
    .p-service-point-wrap {
        width: 100%;
        margin: 0 auto;
        padding: 30px 0;
        border-bottom: 1px solid #7f7f92;
        display: block;
    }
    .p-service-point-wrap .p-service-point-wrap__textbox {
        width: 100%;
        margin-bottom: 20px;
    }
    .p-service-point-wrap .p-service-point-wrap__textbox p.p-service-point-wrap__textbox-ttl {
        margin: 0 auto 5px;
        font-size: 4.5vw;
        font-weight: bold;
    }
    .p-service-point-wrap .p-service-point-wrap__textbox p.p-service-point-wrap__textbox-text {
        font-size: 3.5vw;
    }
    .p-service-point-wrap .p-service-point-wrap__imgbox {
        width: 100%;
    }
    .p-service-point-wrap .p-service-point-wrap__imgbox img {
        display: block;
        width: 80%;
        margin: 0 auto;
    }
}
/*-----------------------------------------------------
　Amazon Connect 導入サービス
------------------------------------------------------*/
/*---ご導入の流れ---*/
ul.p-amazon-connect-flow {
    width: 100%;
    margin: 80px auto 10px;
    position: relative;
    display: flex;
}
ul.p-amazon-connect-flow > li {
    width: calc((100% - 160px)/5);
    margin-right: 40px;
    /*background-image: linear-gradient(to right, #dd122b 0%, #0e1336 100%);*/
    background: #dd122b;
    display: flex;
    flex-direction: column;
    position: relative;
}
ul.p-amazon-connect-flow > li::after {
    content: '';
    width: 40px;
    height: 23px;
    background: url("/wp-content/themes/cpi-web/assets/images/common/icon_arrow_flow_gr.svg") no-repeat;
    background-size: cover;
    position: absolute;
    top: calc((100% - 23px)/2);
    left: 100%;
}
ul.p-amazon-connect-flow > li:last-child::after, ul.p-amazon-connect-flow > li:last-child {
    background: transparent;
    position: relative;
}
ul.p-amazon-connect-flow > li:last-child::after {
    display: none;
}
ul.p-amazon-connect-flow > li:last-child {
    margin-right: 0;
    margin-left: 20px;
}
ul.p-amazon-connect-flow > li:last-child p.p-amazon-connect-flow__operation-text {
    font-size: 17px;
    font-weight: bold;
    text-align: center;
    color: #dd122b;
    position: absolute;
    top: -40px;
    left: -28%;
}
ul.p-amazon-connect-flow > li p.p-amazon-connect-flow__step {
    margin: auto;
    font-size: 18px;
    color: #FFF;
    text-align: center;
    line-height: 1.2;
    position: relative;
    display: flex;
}
ul.p-amazon-connect-flow > li ul.p-amazon-connect-flow__operation {
    position: relative;
}
ul.p-amazon-connect-flow > li ul.p-amazon-connect-flow__operation::before {
    content: '';
    width: 2px;
    height: 100%;
    border-left: 2px dashed #d0d0d7;
    position: absolute;
    top: 0;
    left: -15px;
}
ul.p-amazon-connect-flow > li ul.p-amazon-connect-flow__operation li {
    width: 100%;
    margin-bottom: 10px;
    padding: 14px 0 12px;
    font-size: 18px;
    text-align: center;
    color: #FFF;
    line-height: 1.2;
    background-image: linear-gradient(to right, #dd122b 0%, #0e1336 100%);
    position: relative;
}
ul.p-amazon-connect-flow > li ul.p-amazon-connect-flow__operation li:last-child {
    margin-bottom: 0;
}
ul.p-amazon-connect-flow > li ul.p-amazon-connect-flow__operation li::after {
    content: '';
    width: 20px;
    height: 100%;
    background: url("/wp-content/themes/cpi-web/assets/images/common/icon_arrow_flow_na.svg") no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 100%;
}
.p-amazon-connect-flow-readtext {
    margin: 30px auto 50px;
    font-size: 21px;
    font-weight: bold;
    text-align: center;
}
@media (max-width: 599px) {
    ul.p-amazon-connect-flow {
        width: 100%;
        margin: 24px auto 0;
        position: relative;
        display: block;
    }
    ul.p-amazon-connect-flow > li {
        width: 100%;
        padding: 20px 10px;
        margin-right: 0;
        margin-bottom: 51px;
        /*background-image: linear-gradient(to right, #dd122b 0%, #0e1336 100%);*/
        background: #dd122b;
        display: flex;
        flex-direction: column;
        position: relative;
    }
    ul.p-amazon-connect-flow > li::after {
        content: '';
        width: 30px;
        height: 51px;
        background: url("/wp-content/themes/cpi-web/assets/images/common/icon_arrow_flow_b_gr.svg") no-repeat;
        background-size: cover;
        position: absolute;
        top: 100%;
        left: calc((100% - 30px)/2);
    }
    ul.p-amazon-connect-flow > li:last-child::after, ul.p-amazon-connect-flow > li:last-child {
        background: transparent;
        position: relative;
    }
    ul.p-amazon-connect-flow > li:last-child::after {
        display: none;
    }
    ul.p-amazon-connect-flow > li:last-child {
        margin-right: 0;
        margin-left: 0;
        margin-bottom: 0;
    }
    ul.p-amazon-connect-flow > li:last-child p.p-amazon-connect-flow__operation-text {
        font-size: 5vw;
        margin-bottom: 10px;
        font-weight: bold;
        text-align: center;
        color: #dd122b;
        position: static;
    }
    ul.p-amazon-connect-flow > li p.p-amazon-connect-flow__step {
        margin: auto;
        font-size: 18px;
        color: #FFF;
        text-align: center;
        line-height: 1.2;
        position: relative;
        display: flex;
    }
    ul.p-amazon-connect-flow > li ul.p-amazon-connect-flow__operation {
        position: relative;
    }
    ul.p-amazon-connect-flow > li ul.p-amazon-connect-flow__operation::before {
        display: block;
        content: '';
        width: 100%;
        height: 2px;
        margin-bottom: 20px;
        border-left: none;
        border-top: 2px dashed #d0d0d7;
        position: static;
        top: 0;
        left: 0;
    }
    ul.p-amazon-connect-flow > li ul.p-amazon-connect-flow__operation li {
        width: 100%;
        margin-bottom: 10px;
        padding: 14px 0 12px;
        font-size: 18px;
        text-align: center;
        color: #FFF;
        line-height: 1.2;
        background-image: linear-gradient(to right, #dd122b 0%, #0e1336 100%);
        position: relative;
    }
    ul.p-amazon-connect-flow > li ul.p-amazon-connect-flow__operation li:last-child {
        margin-bottom: 0;
    }
    ul.p-amazon-connect-flow > li ul.p-amazon-connect-flow__operation li::after {
        content: '';
        /*width: 20px;*/
        width: 0;
        height: 100%;
        background: url("/wp-content/themes/cpi-web/assets/images/common/icon_arrow_flow_na.svg") no-repeat;
        background-size: contain;
        position: absolute;
        top: 0;
        left: 100%;
    }
    .p-amazon-connect-flow-readtext {
        margin: 20px auto 50px;
        font-size: 5.4vw;
        font-weight: bold;
        text-align: center;
    }
}
/*---電話---*/
.p-amazon-connect-telbox {
    width: 100%;
    margin: 20px auto 0;
    padding: 50px 8%;
    background: #F1F1F9;
    /*background: #f2f2f2;*/
}
.p-amazon-connect-telbox p.p-amazon-connect-telbox__tel {
    width: 100%;
    margin: 0 auto 20px;
}
.p-amazon-connect-telbox p.p-amazon-connect-telbox__tel a {
    display: block;
    margin-top: -10px;
    font-family: 'Lato', sans-serif;
    font-size: 52px;
    font-weight: bold;
    color: #dd122b;
    text-align: center;
    line-height: 1;
}
.p-amazon-connect-telbox p.p-amazon-connect-telbox__tel a::before {
    display: inline-block;
    content: "";
    width: 50px;
    height: 50px;
    margin-top: -10px;
    margin-right: 5px;
    vertical-align: middle;
    background: url("/wp-content/themes/cpi-web/assets/images/common/icon_tel_re.svg") no-repeat;
    background-size: 100%;
}
.p-amazon-connect-telbox p.p-amazon-connect-telbox__tel-contact {
    margin: 20px auto 0;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}
@media (max-width: 1120px) {
    .p-amazon-connect-telbox p.p-amazon-connect-telbox__tel a {
        display: block;
        margin-top: -10px;
        font-family: 'Lato', sans-serif;
        font-size: 4.8vw;
        font-weight: bold;
        color: #dd122b;
        line-height: 1;
    }
    .p-amazon-connect-telbox p.p-amazon-connect-telbox__tel a::before {
        display: inline-block;
        content: "";
        width: 4.7vw;
        height: 4.7vw;
        margin-top: -10px;
        margin-right: 5px;
        vertical-align: middle;
        background: url("/wp-content/themes/cpi-web/assets/images/common/icon_tel_re.svg") no-repeat;
        background-size: 100%;
    }
}
@media (max-width: 599px) {
    .p-amazon-connect-telbox {
        width: 100%;
        margin: 20px auto 0;
        padding: 30px 5%;
        background: #F1F1F9;
    }
    .p-amazon-connect-telbox p.p-amazon-connect-telbox__tel a {
        display: block;
        margin-top: 0;
        font-family: 'Lato', sans-serif;
        font-size: 8.2vw;
        font-weight: bold;
        color: #dd122b;
        line-height: 1;
    }
    .p-amazon-connect-telbox p.p-amazon-connect-telbox__tel a::before {
        display: inline-block;
        content: "";
        width: 9vw;
        height: 9vw;
        margin-top: -6px;
        margin-right: 2px;
        vertical-align: middle;
        background: url("/wp-content/themes/cpi-web/assets/images/common/icon_tel_re.svg") no-repeat;
        background-size: 100%;
        margin-left: -20px;
    }
    .p-amazon-connect-telbox p.p-amazon-connect-telbox__tel-contact {
        margin: 20px auto 0;
        font-size: 4.5vw;
        font-weight: bold;
        text-align: center;
    }
}
/*-----------------------------------------------------
　Amazon WorkSpaces 導入支援
------------------------------------------------------*/
.m-common-img.w50 {
    width: 50%;
    margin: 0 auto 40px;
}
table.p-amazon-workspaces-security-table {
    width: 100%;
    margin: 20px auto 15px;
    border: 1px solid #DADADA;
}
table.p-amazon-workspaces-security-table th, table.p-amazon-workspaces-security-table td {
    padding: 14px 30px;
    font-size: 15px;
    border-bottom: 1px solid #DADADA;
}
table.p-amazon-workspaces-security-table th:first-child, table.p-amazon-workspaces-security-table td:first-child {
    width: 35%;
}
table.p-amazon-workspaces-security-table th {
    width: 35%;
    font-weight: bold;
    text-align: left;
    background: #f2f2f2;
    border-right: 1px solid #DADADA;
}
table.p-amazon-workspaces-security-table td {
    width: 65%;
    border-right: 1px solid #DADADA;
}
table.p-amazon-workspaces-plan-table {
    width: 100%;
    margin: 20px auto 15px;
    border: 1px solid #DADADA;
}
.p-amazon-workspaces-merit {
    width: 100%;
    margin: 0 auto 80px;
    padding: 50px 8%;
    background: linear-gradient(to left, #1f1f25 0%, #1e2336 100%);
    box-shadow: 0 0 15px 0 rgba(177, 177, 188, 0.75);
}
.p-amazon-workspaces-merit h4.p-amazon-workspaces-merit__h4 {
    margin: 0 auto 30px;
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    color: #FFF;
}
ul.p-amazon-workspaces-merit__box {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}
ul.p-amazon-workspaces-merit__box li {
    width: 50%;
    padding: 30px;
    background: #FFF;
    display: flex;
    flex-direction: column;
}
ul.p-amazon-workspaces-merit__box li:nth-child(odd) {
    border-right: 1px solid #DADADA;
}
ul.p-amazon-workspaces-merit__box li:nth-last-child(-n+3) {
    border-top: 1px solid #DADADA;
}
ul.p-amazon-workspaces-merit__box li figure {
    width: 35%;
    margin: 0 auto 10px;
}
ul.p-amazon-workspaces-merit__box li p.p-amazon-workspaces-merit__ttl {
    height: 100%;
    margin: 0 auto 15px;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    color: #0e1336;
    display: flex;
}
ul.p-amazon-workspaces-merit__box li p.p-amazon-workspaces-merit__text {
    margin: 0 auto;
    font-size: 15px;
}
table.p-amazon-workspaces-plan-table th, table.p-amazon-workspaces-plan-table td {
    width: calc(100%/3);
    padding: 14px 30px;
    font-size: 15px;
    border-bottom: 1px solid #DADADA;
}
table.p-amazon-workspaces-plan-table th {
    font-weight: bold;
    text-align: left;
    background: #f2f2f2;
    border-right: 1px solid #DADADA;
}
table.p-amazon-workspaces-plan-table td {
    border-right: 1px solid #DADADA;
}
@media (max-width: 599px) {
    .m-common-img.w50 {
        width: 100%;
        margin: 0 auto 30px;
    }
    .p-amazon-workspaces-merit {
        width: 100%;
        margin: 0 auto 40px;
        padding: 40px 5%;
        background: linear-gradient(to left, #1f1f25 0%, #1e2336 100%);
        box-shadow: 0 0 15px 0 rgba(177, 177, 188, 0.75);
    }
    .p-amazon-workspaces-merit h4.p-amazon-workspaces-merit__h4 {
        margin: 0 auto 30px;
        font-size: 5.4vw;
        font-weight: bold;
        text-align: center;
        color: #FFF;
    }
    ul.p-amazon-workspaces-merit__box {
        width: 100%;
        margin: 0 auto;
        display: block;
    }
    ul.p-amazon-workspaces-merit__box li {
        width: 100%;
        padding: 30px;
        background: #FFF;
        display: block;
    }
    ul.p-amazon-workspaces-merit__box li:nth-child(odd) {
        border-right: none;
    }
    ul.p-amazon-workspaces-merit__box li:nth-last-child(-n+3) {
        border-top: 1px solid #DADADA;
    }
    ul.p-amazon-workspaces-merit__box li figure {
        width: 40%;
        margin: 0 auto 10px;
    }
    ul.p-amazon-workspaces-merit__box li p.p-amazon-workspaces-merit__ttl {
        height: 100%;
        margin: 0 auto 15px;
        font-size: 4.5vw;
        font-weight: bold;
        text-align: center;
        color: #0e1336;
        display: block;
    }
    ul.p-amazon-workspaces-merit__box li p.p-amazon-workspaces-merit__text {
        margin: 0 auto;
        font-size: 3.5vw;
    }
    table.p-amazon-workspaces-security-table {
        width: 100%;
        margin: 10px auto 15px;
        border: 1px solid #DADADA;
    }
    table.p-amazon-workspaces-security-table th, table.p-amazon-workspaces-security-table td {
        padding: 14px 14px;
        font-size: 3.5vw;
        border-bottom: 1px solid #DADADA;
    }
    table.p-amazon-workspaces-security-table th:first-child, table.p-amazon-workspaces-security-table td:first-child {
        width: 35%;
    }
    table.p-amazon-workspaces-plan-table {
        width: 100%;
        margin: 20px auto 15px;
        border: 1px solid #DADADA;
    }
    table.p-amazon-workspaces-plan-table th, table.p-amazon-workspaces-plan-table td {
        width: calc(100%/3);
        padding: 14px 14px;
        font-size: 3.5vw;
        border-bottom: 1px solid #DADADA;
        word-break: break-all;
    }
}
/*-----------------------------------------------------
　AWSトレーニング・内製化支援
------------------------------------------------------*/
.p-aws-training-wrap {
    width: 90%;
    margin: 30px auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.p-aws-training-wrap .p-aws-training-wrap__imgbox {
    width: 18%;
}
.p-aws-training-wrap .p-aws-training-wrap__textbox {
    width: 77%;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 30px;
    font-weight: bold;
}
.p-aws-training-wrap .p-aws-training-wrap__textbox span.marker {
    background: linear-gradient(transparent 60%, #ff9800 60%);
}
@media (max-width: 599px) {
    .p-aws-training-wrap {
        width: 100%;
        margin: 30px auto 20px;
        display: block;
        justify-content: space-between;
        align-items: center;
    }
    .p-aws-training-wrap .p-aws-training-wrap__imgbox {
        width: 40%;
        margin: 0 auto 20px;
    }
    .p-aws-training-wrap .p-aws-training-wrap__textbox {
        width: 100%;
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 6vw;
        font-weight: bold;
    }
}
/*-----------------------------------------------------
　日中間専用接続
------------------------------------------------------*/
.p-aws-cmi-intro-wrap {
    width: 100%;
    margin: 20px auto 0;
    padding: 40px 8%;
    border: 4px solid #F1F1F9;
    /*box-shadow: 0 0 15px 0 rgba(177, 177, 188, 0.75);*/
}
.p-aws-cmi-intro-wrap p.p-aws-cmi-intro-wrap__ttl {
    width: 100%;
    margin: 0 auto 20px;
    padding-bottom: 5px;
    border-bottom: 1px solid #0e1336;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    color: #0e1336;
}
table.p-aws-cmi-table {
    width: 100%;
    margin: 0 auto 15px;
    border: 1px solid #DADADA;
}
table.p-aws-cmi-table th, table.p-aws-cmi-table td {
    padding: 14px 30px;
    font-size: 15px;
    border-bottom: 1px solid #DADADA;
}
table.p-aws-cmi-table th, table.p-aws-cmi-table td.p-aws-cmi-table__head {
    font-weight: bold;
    background: #f2f2f2;
}
table.p-aws-cmi-table th {
    width: 35%;
    font-weight: bold;
    text-align: left;
    border-right: 1px solid #DADADA;
}
table.p-aws-cmi-table td {
    width: 55%;
}
@media (max-width: 599px) {
    .p-aws-cmi-intro-wrap {
        width: 100%;
        margin: 20px auto 0;
        padding: 20px 5%;
        border: 4px solid #F1F1F9;
    }
    .p-aws-cmi-intro-wrap p.p-aws-cmi-intro-wrap__ttl {
        width: 100%;
        margin: 0 auto 20px;
        padding-bottom: 5px;
        border-bottom: 1px solid #0e1336;
        font-size: 4.4vw;
        font-weight: bold;
        text-align: center;
        color: #0e1336;
    }
    table.p-aws-cmi-table {
        width: 100%;
        margin: 10px auto 15px;
        border: 1px solid #DADADA;
    }
    table.p-aws-cmi-table th, table.p-aws-cmi-table td {
        padding: 14px 20px;
        font-size: 3.5vw;
        border-bottom: 1px solid #DADADA;
    }
    table.p-aws-cmi-table th, table.p-aws-cmi-table td.p-aws-cmi-table__head {
        font-weight: bold;
        background: #f2f2f2;
    }
    table.p-aws-cmi-table th {
        width: 32%;
        font-weight: bold;
        text-align: left;
        border-right: 1px solid #DADADA;
    }
    table.p-aws-cmi-table td {
        width: 58%;
    }
}

/*-----------------------------------------------------
　在庫システム
------------------------------------------------------*/
.p-product-strengths {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.p-product-strengths__list {
	width: 55%;
	border: 1px solid #6e6f72;
}
.p-product-strengths__list li {
	width: 100%;
	display: flex;
	align-items: stretch;
	font-size: 15px;
	border-bottom: 1px solid #6e6f72;
}
.p-product-strengths__list li:last-child {
	border-bottom: none;
}
.p-product-strengths__title {
	width: 150px;
	padding: 10px;
	text-align: right;
	color: #fff;
	font-weight: bold;
	background: #6e6f72;
	border-bottom: 1px solid #fff;
}
.p-product-strengths__list li:last-child .p-product-strengths__title {
	border-bottom: none;
}
.p-product-strengths__text {
	width: calc(100% - 150px);
	padding: 10px;
	position: relative;
}
.p-product-strengths__img {
	width: 42%;
}


.p-product-figure {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.p-product-figure .p-product-figure__img01 {
	width: 40%;
}
.p-product-figure .p-product-figure__img02 {
	width: 55%;
}


.p-product-flow {
	width: 100%;
	margin: 0 auto 40px;
	display: flex;
	justify-content: space-between;
    position: relative;
}
ul.p-product-flow02 {
	flex-direction: row-reverse;
}
.p-product-flow li {
	width: calc((100% - 80px) / 3);
	padding: 20px 10px;
    display: flex;
    flex-direction: column;
	align-items: center;
	background: #dd122b;
    position: relative;
}
.p-product-flow li::after {
    content: '';
    width: 40px;
    height: 23px;
    background: url("/wp-content/themes/cpi-web/assets/images/common/icon_arrow_flow_gr.svg") no-repeat;
    background-size: cover;
    position: absolute;
    top: calc((100% - 23px)/2);
    left: 100%;
}
.p-product-flow__step {
	font-size: 18px;
    color: #FFF;
    text-align: center;
    line-height: 1.2;
}
ul.p-product-flow02 li::after {
    content: '';
    width: 40px;
    height: 23px;
    background: url("/wp-content/themes/cpi-web/assets/images/common/icon_arrow_flow_gr.svg") no-repeat;
    background-size: cover;
    position: absolute;
    top: calc((100% - 23px)/2);
    left: auto;
	right: 100%;
	transform: rotate(180deg);
}

ul.p-product-flow01 li:last-child::after, 
ul.p-product-flow02 li:last-child::after {
    content: '';
    width: 40px;
    height: 23px;
    background: url("/wp-content/themes/cpi-web/assets/images/common/icon_arrow_flow_gr.svg") no-repeat;
    background-size: cover;
    position: absolute;
    top: auto;
	bottom: -31.5px;
    left: calc(50% - 20px);
	transform: rotate(90deg);
}
ul.p-product-flow03 li:last-child::after {
	content: none;
}


.p-product-subsidy,
.p-product-cost {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.p-product-cost__list {
	width: 100%;
	border: 1px solid #6e6f72;
}
.p-product-cost__list li {
	width: 100%;
	display: flex;
	align-items: stretch;
	font-size: 15px;
	border-bottom: 1px solid #6e6f72;
}
.p-product-cost__list li:last-child {
	border-bottom: none;
}
.p-product-cost__title {
	width: 200px;
	padding: 10px;
	text-align: right;
	color: #fff;
	font-weight: bold;
	background: #6e6f72;
	border-bottom: 1px solid #fff;
}
.p-product-cost__list li:last-child .p-product-cost__title {
	border-bottom: none;
}
.p-product-cost__text {
	width: calc(100% - 150px);
	padding: 10px;
	position: relative;
}


@media (max-width: 599px) {
	.p-product-strengths {
		width: 100%;
		display: block;
	}

	.p-product-strengths__list {
		width: 100%;
	}
	.p-product-strengths__list li {
		width: 100%;
		display: block;
		font-size: 3.5vw;
	}
	.p-product-strengths__title {
		width: 100%;
		padding: 3vw 2vw;
		text-align: center;
		border-bottom: none;
	}
	.p-product-strengths__text {
		width: 100%;
		padding: 3vw 2vw;
	}
	.p-product-strengths__img {
		width: 90%;
		margin: 6vw auto 8vw;
	}


	.p-product-figure {
		display: block;
	}
	.p-product-figure .p-product-figure__img01 {
		width: 66%;
		margin: 0 auto 4vw;
	}
	.p-product-figure .p-product-figure__img02 {
		width: 90%;
		margin: 0 auto;
	}


	.p-product-flow {
		width: 100%;
		margin: 0 auto 40px;
		display: block;
	}
	.p-product-flow li {
		width: 100%;
		padding: 3vw 2vw;
        margin-bottom: 51px;
		display: block;
		position: relative;
	}
	.p-product-flow li::after {
        content: '';
        width: 30px;
        height: 51px;
        background: url("/wp-content/themes/cpi-web/assets/images/common/icon_arrow_flow_b_gr.svg") no-repeat;
        background-size: cover;
        position: absolute;
        top: 100%;
        left: calc((100% - 30px)/2);
	}
	.p-product-flow__step {
		font-size: 18px;
		color: #FFF;
		text-align: center;
		line-height: 1.2;
	}
	ul.p-product-flow02 li::after {
        content: '';
        width: 30px;
        height: 51px;
        background: url("/wp-content/themes/cpi-web/assets/images/common/icon_arrow_flow_b_gr.svg") no-repeat;
        background-size: cover;
        position: absolute;
        top: 100%;
        left: calc((100% - 30px)/2);
		right: auto;
		transform: rotate(0deg);
	}

	ul.p-product-flow01 li:last-child::after, 
	ul.p-product-flow02 li:last-child::after {
		content: '';
        width: 30px;
        height: 51px;
        background: url("/wp-content/themes/cpi-web/assets/images/common/icon_arrow_flow_b_gr.svg") no-repeat;
        background-size: cover;
		position: absolute;
        top: 100%;
		bottom: auto;
        left: calc((100% - 30px)/2);
		transform: rotate(0deg);
	}
	ul.p-product-flow03 li:last-child::after {
		content: none;
	}

    .p-product-cost {
		width: 100%;
		display: block;
	}

	.p-product-cost__list {
		width: 100%;
	}
	.p-product-cost__list li {
		width: 100%;
		display: block;
		font-size: 3.5vw;
	}
	.p-product-cost__title {
		width: 100%;
		padding: 3vw 2vw;
		text-align: center;
		border-bottom: none;
	}
	.p-product-cost__text {
		width: 100%;
		padding: 3vw 2vw;
	}
}


/*-----------------------------------------------------
　AWS＋インフラ環境構築研修
------------------------------------------------------*/
/*---コース内容構成---*/
.p-aws-construction-training-list {
    width: 100%;
    margin: 0 auto;
    position: relative;
    display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.p-aws-construction-training-list > li {
    width: calc((100% - 9%)/4);
    margin: 0 3% 20px 0;
	padding: 30px 5px;
    /*background-image: linear-gradient(to right, #dd122b 0%, #0e1336 100%);*/
    background: #dd122b;
    display: flex;
    flex-direction: column;
	align-items: center;
	justify-content: center;
    position: relative;
    font-size: 18px;
    color: #FFF;
    text-align: center;
    line-height: 1.2;
}
.p-aws-construction-training-list > li:nth-child(4), .p-aws-construction-training-list > li:last-child {
	margin-right: 0;
}

/*---コース概要---*/
table.p-aws-construction-training-table {
	width: 100%;
    margin: 0 auto;
    border: 1px solid #DADADA;
}
table.p-aws-construction-training-table th, table.p-aws-construction-training-table td {
    padding: 14px 30px;
    font-size: 15px;
    border-bottom: 1px solid #DADADA;
}
table.p-aws-construction-training-table th {
    width: 25%;
    font-weight: bold;
    text-align: left;
	vertical-align: top;
    background: #f2f2f2;
    border-right: 1px solid #DADADA;
}
table.p-aws-construction-training-table td {
    width: 75%;
}
table.p-aws-construction-training-table td dl {
	width: 100%;
}
table.p-aws-construction-training-table td dl dt {
    font-weight: bold;
	margin-bottom: 10px;
}
table.p-aws-construction-training-table td dl dd {
	width: 100%;
	margin-bottom: 30px;
	padding-left: 20px;
	display: flex;
	flex-wrap: wrap;
}
table.p-aws-construction-training-table td dl:last-child dd {
	margin-bottom: 0;
}
table.p-aws-construction-training-table td dl dd p {
	width: calc(100% - 50px);
	margin-bottom: 10px;
}
table.p-aws-construction-training-table td dl dd p.p-aws-construction-training-date {
	width: 50px;
}
.text-indent {
	display: block;
	text-indent: -1em;
	padding-left: 1em;
}

/*---バナー---*/
.p-aws-construction-training-bnr {
	margin: 50px auto 0;
}
.p-aws-construction-training-bnr p {
	margin-bottom: 10px;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
}

@media (max-width: 899px) {
	.p-aws-construction-training-list > li {
		width: calc((100% - 6%)/4);
		margin: 0 2% 20px 0;
		padding: 20px 5px;
		font-size: 16px;
	}
	
}

@media (max-width: 599px) {
	/*---コース内容構成---*/
	.p-aws-construction-training-list > li {
		width: 49%;
		margin: 0 2% 2vw 0;
		padding: 4vw 2vw;
		font-size: 3.4vw;
	}
	.p-aws-construction-training-list > li:nth-child(4) {
		margin-right: 2%;
	}
	.p-aws-construction-training-list > li:nth-child(2n), .p-aws-construction-training-list > li:last-child {
		margin-right: 0;
	}

	/*---コース概要---*/
	table.p-aws-construction-training-table {
		width: 100%;
		margin: 0 auto;
		border: 1px solid #DADADA;
		display: block !important;
	}
	table.p-aws-construction-training-table th, table.p-aws-construction-training-table td {
		padding: 3vw 4vw;
		font-size: 3.3vw;
		border-bottom: 1px solid #DADADA;
		box-sizing: border-box;
		display: block !important;
	}
	table.p-aws-construction-training-table th {
		width: 100%;
		font-weight: bold;
		text-align: left;
		vertical-align: top;
		border-right: none;
	}
	table.p-aws-construction-training-table td {
		width: 100%;
	}
	table.p-aws-construction-training-table td dl {
		width: 100%;
	}
	table.p-aws-construction-training-table td dl dt {
		font-weight: bold;
		margin-bottom: 10px;
	}
	table.p-aws-construction-training-table td dl dd {
		width: 100%;
		margin-bottom: 8vw;
		padding-left: 4vw;
		display: flex;
		flex-wrap: wrap;
	}
	table.p-aws-construction-training-table td dl:last-child dd {
		margin-bottom: 0;
	}
	table.p-aws-construction-training-table td dl dd p {
		width: calc(100% - 10vw);
		margin-bottom: 3vw;
	}
	table.p-aws-construction-training-table td dl dd p.p-aws-construction-training-date {
		width: 10vw;
	}
	.text-indent {
		display: block;
		text-indent: -1em;
		padding-left: 1em;
	}

	/*---バナー---*/
	.p-aws-construction-training-bnr {
		margin: 12vw auto 0;
	}
	.p-aws-construction-training-bnr p {
		margin-bottom: 2vw;
		font-size: 4.8vw;
		font-weight: bold;
		text-align: center;
	}
	
}


/*-----------------------------------------------------
　脆弱性診断サービス
------------------------------------------------------*/
/*---ニーズ---*/
.d-diagnosis-needs {
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.d-diagnosis-needs__img {
    width: 45%;
}
.d-diagnosis-needs__icon {
    width: 10%;
}
.d-diagnosis-needs__row {
    display: flex;
    align-items: center;
}
.d-diagnosis-needs__row p {
    font-size: 17px;
    font-weight: bold;
}
.d-diagnosis-needs__list li {
    text-indent: -1em;
    padding-left: 1em;
    font-size: 15px;
    line-height: 2;
}
@media (max-width: 599px) {
	.d-diagnosis-needs {
		width: 100%;
		display: block;
	}
    .d-diagnosis-needs__img {
		width: 90%;
		margin: 6vw auto 8vw;
	}
    .d-diagnosis-needs__list {
		width: 100%;
	}
    .d-diagnosis-needs__row p {
        font-size: 2.75vw;
        font-weight: bold;
    }
    .d-diagnosis-needs__list li {
        font-size: 2.5vw;
    }
}

/*---サービスイメージ---*/
.d-diagnosis-service {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.d-diagnosis-service__img {
    width: 60%;
}
.d-diagnosis-service__features {
    width: 40%;
}
.d-diagnosis-service__icon {
    width: 40%;
}
.d-diagnosis-service__row {
    display: flex;
    align-items: center;
}
.d-diagnosis-service__row p {
    font-size: 17px;
    font-weight: bold;
}
.d-diagnosis-service__list li {
    font-size: 15px;
    padding-left: 20px;
	line-height: 1.6em;
	background: url(/wp-content/themes/cpi-web/assets/images/service/icon_diagnosis_service02.svg) left 0px top 3px no-repeat;
	background-size: 15px auto;
}
.d-diagnosis-service__ttl {
    font-size: 17px;
    font-weight: bold;
    background-color: black;
    color: white;
    padding: 5px 40px 5px 10px;
}
.d-diagnosis-service__border {
    border-bottom: black 2px solid;
    margin-top: -1px;
}
@media (max-width: 599px) {
	.d-diagnosis-service {
		width: 100%;
		display: block;
	}
    .d-diagnosis-service__img {
		width: 90%;
		margin: 6vw auto 8vw;
	}
    .d-diagnosis-service__features {
		width: 90%;
	}
    .d-diagnosis-service__row p {
        font-size: 2.75vw;
        font-weight: bold;
    }
    .d-diagnosis-service__list li {
        font-size: 2.5vw;
    }
}

/*---診断結果報告書---*/
.d-diagnosis-report__ttl {
    width: 100%;
    font-size: 1.5vw;
    font-weight: bold;
    color: #7f7f92;
    border-bottom: 2px solid #7f7f92;
}
@media (min-width: 1400px) {
    .d-diagnosis-report__ttl {
        width: 100%;
        font-size: 18px;
        font-weight: bold;
        color: #7f7f92;
        border-bottom: 2px solid #7f7f92;
    }
}
@media (max-width: 599px) {
    .d-diagnosis-report__ttl {
        width: 100%;
        font-size: 4vw;
        font-weight: bold;
        color: #7f7f92;
        border-bottom: 2px solid #7f7f92;
    }
}