@charset "utf-8";


/* -------------------------------------------------------------------- 
 メインビジュアル
-------------------------------------------------------------------- */

.subMainvisual1 {
    margin: 125px 0 0;
    height: 526px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.subMainvisual2 {
    margin: 125px 0 0;
    height: 254px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.subMainvisual1 h1,
.subMainvisual2 h1 {
    color: #FFF;
    font-size: 37px;
    font-weight: 700;
    line-height: 1.6;
}
.subMainvisual1 h1 span,
.subMainvisual2 h1 span {
    font-size: 28px;
    display: block;
    margin: 25px 0 0;
}


@media screen and (max-width:768px) {

    .subMainvisual1 {
        margin: 66px 0 0;
        height: auto;
    }
    .subMainvisual2 {
        margin: 66px 0 0;
        height: 180px;
    }
    .subMainvisual1 h1,
    .subMainvisual2 h1 {
        font-size: 20px;
    }

    .subMainvisual1 h1 span,
    .subMainvisual2 h1 span {
        font-size: 18px;
        display: block;
        margin: 25px 0 0;
    }
}



/* -------------------------------------------------------------------- 
 メインビジュアルバナー
-------------------------------------------------------------------- */

.subMainvisual1 .linkBlock {
    margin: 75px auto 0;
}
.subMainvisual1 .linkBlock a {
    width: 498px;
    height: 100px;
    background: rgba(255, 255, 255, 0.91);
    padding: 13px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #00307B;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
    border:2px solid transparent;    
}
.subMainvisual1 .linkBlock a:hover {
    color: #FFF;
    background: rgba(0, 48, 123, 0.9);
    border:2px solid #FFFFFF;  
}
.subMainvisual1 .linkBlock a:before {
    content:"";
    width:22px;
    height:22px;
    background:no-repeat url(../img/common/icon_download01.svg) 0 0 / contain;
}
.subMainvisual1 .linkBlock a:hover:before {
    background:no-repeat url(../img/common/icon_download01_on.svg) 0 0 / contain;
}
.subMainvisual1 .linkBlock p {
    padding: 0 0 2px;
}
.subMainvisual1 .linkBlock a figure {
    width: 196px;
}
.subMainvisual1 .linkBlock a figure img {
    margin-top:-24px;
}


@media screen and (max-width: 768px) {


    .subMainvisual1 .linkBlock {
        margin: 45px auto 0;
        width: 100%;
    }
    .subMainvisual1 .linkBlock a {
        width: 100%;
        height: auto;
        padding: 5px 10px;
        align-items: center;
        justify-content: space-around;
        font-size: 16px;
    }
.subMainvisual1 .linkBlock a:before {
    width:18px;
    height:18px;
}
    .subMainvisual1 .linkBlock a figure {
        width: 120px;
        margin-top: -12px;
    }


}



/* -------------------------------------------------------------------- 
 パンくず
-------------------------------------------------------------------- */

.breadclumb {
    padding: 10px 20px 0;
}
.breadclumb ul {
    width: 1160px;
    margin: 0 auto;
    text-align: left;
}
.breadclumb li {
    display: inline-block;
    padding: 0 36px 0 0;
    position: relative;
}
.breadclumb li br {
    display: none;
}
.breadclumb li:not(:last-child):after {
    content: "＞";
    position: absolute;
    top:0;
    right: 10px;
}
.breadclumb a:hover {
    text-decoration: underline;
}

.contact .breadclumb {
    background: rgba(82, 205, 231, 0.07);
}
.strength .breadclumb {
    background-color: #EDF0F6;
}
.about .breadclumb {
    padding: 10px 20px;
}


@media screen and (max-width:768px) {

    .breadclumb {
        display: none;
    }
}

/* -------------------------------------------------------------------- 
 お問い合わせ
-------------------------------------------------------------------- */

.subMainvisual2.contact {
    background: no-repeat url(../img/contact/mainvisual.png) 0 0 / cover;
}
.contactContent {
    padding: 100px 0 0;
    background: rgba(82, 205, 231, 0.07);
}
.contactContent h2 {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 45px;
}
.smp_form {
    padding: 0 50px;
    background: #FFF;
    width: 1160px;
}
.smp_form .intro {
    padding: 50px 0 0;
    font-size: 16px;
}
.smp_form .ss_contents fieldset {
    background-color: #fff;
    display: flex;
    border-top: solid 1px #DBDBDB;
    border-bottom: none;
    border-left: none;
    border-right: none;
    border-collapse: collapse;
}
.smp_form fieldset .ss_form_title,
.smp_form fieldset .ss_enquete_title {
    width: 320px;
    background: #52CDE7;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
}

.smp_form fieldset .ss_grid {
    flex: 1;
    font-size: 16px;
    padding: 20px;
    text-align: left;
    width: auto;
}
.ss_user_notnull:after {
    content: "必須";
    font-size: 14px;
    background: #FF0000;
    color: #fff;
    padding: 2px 5px;
}
.ss_form_title .ss_user_notnull,
.ss_enquete_title .ss_user_notnull {
    color: #52CDE7;
}
.smp_form .ss_upComment,
.smp_form .ss_leftComment,
.smp_form .ss_rightComment {
    font-size: 16px;
    color: #222;
}
.smp_form .ss_input {
    width: auto;
}
.smp_form .ss_required_field input,
.smp_form .ss_required_field textarea {
    border: 1px solid #CFCFCF;
    font-size: 16px;
}
.smp_form input {
    margin: 0 20px 0 0;
    font-size: 16px;
    padding: 6px;
}
.smp_form select {
    font-size: 16px;
    padding: 6px;
}
.smp_form textarea {
    font-size: 16px;
    padding: 6px;
}
.smp_form input[type="text"],
.smp_form input[type="tel"],
.smp_form input[type="email"],
.smp_form textarea {
    width: 540px;
}
.smp_form .ss_rightComment,
.smp_form .ss_bottomComment {
    display: block;
    text-align: left;
    color: #222;
}
.smp_form .ss_bottomComment {
    font-size: 14px;
}
.smp_form #ss_name input[type="text"] {
    width: 140px;
}
.smp_form #ss_name .ss_rightComment {
    display: inline;
}
.smp_form #ss_zip input[type="tel"] {
    width: 100px;
    margin: 0;
}
.smp_form #ss_zip .ss_rightComment {
    display: inline-block;
    margin: 0 0 0 20px;
}
.ss_input:has(.ss_upComment) {
    font-weight: 700;
}
.smp_form .ss_upComment {
    text-align: left;
    font-weight: 400;
}
.smp_form .ss_upComment a {
    color: #00307B;
    text-decoration: underline;
}
.smp_form .ss_upComment a:hover {
    text-decoration: none;
}
.smp_form textarea {
    height: 100px;
}
.ss_enquete_form {
    border-bottom: 1px solid #CFCFCF;
}
.ss_btnArea input[type="button"] {
    background: #F18C01;
    font-size: 22px;
    font-weight: 700;
    border: 1px solid #F18C01;
    padding: 20px 100px;
    border-radius: 60px;
    letter-spacing: 0.6em;
    transition: 0.3s;
    cursor: pointer;
}
.ss_btnArea input[type="button"]:hover {
    background: #FFF;
    color: #F18C01;
}
.smp_form .ss_btnArea {
    padding: 50px 0;
}
.smp_form .ss_complete_message {
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    padding: 80px;
    font-size: 16px;
    font-weight: 500;
}
.contact .contactBlock01 {
    padding: 0 0 30px;
    background: rgba(82, 205, 231, 0.07);
}


@media screen and (max-width:768px) {


    .contactContent {
        padding: 50px 0 0;
    }
    .contactContent h2 {
        font-size: 20px;
    }

    .smp_form {
        padding: 0;
        width: auto;
    }
    .smp_form .intro {
        padding: 25px 0 0;
    }
    .smp_form .ss_contents fieldset {
        display: block;
    }
    .smp_form fieldset .ss_form_title,
    .smp_form fieldset .ss_enquete_title {
        width: auto;
        padding: 10px;
    }
    .smp_form fieldset .ss_grid {
        padding: 10px;
        display: flex;
    }
    .smp_form .ss_input {
        display: inline-block;
    }
    .smp_form input[type="text"],
    .smp_form input[type="tel"],
    .smp_form input[type="email"],
    .smp_form textarea {
        width: 100%;
    }
    .smp_form .ss_rightComment,
    .smp_form .ss_bottomComment {
        display: block;
    }
    .smp_form .ss_rightComment {
        margin-top: 5px;
    }
    .smp_form #ss_name input[type="text"] {
        width: 110px;
    }
    .smp_form #ss_name .ss_rightComment {
        display: block;
    }
    .smp_form #ss_zip input[type="tel"] {
        width: 100px;
        margin: 0;
    }
    .smp_form #ss_zip .ss_rightComment {
        display: block;
        margin: 5px 0 0;
        text-indent: -100px;
    }
    .smp_form .ss_upComment {
        font-size: 14px;
    }
    .smp_form .ss_btnArea {
        padding: 30px 0;
    }
    #ss_name .ss_rightComment {
        text-indent: -152px;
    }
}

@media screen and (max-width: 480px) {


    .smp_form #ss_name input[type="text"] {
        width: 100px;
    }

    #ss_name .ss_rightComment {
        text-indent: -142px;
    }
    .smp_form .ss_leftComment {
        display: inline-block;
    }
}

/* -------------------------------------------------------------------- 
 送信完了
-------------------------------------------------------------------- */

.contact_thanks .contactContent,
.contact_thanks .breadclumb,
.download_thanks .contactContent,
.download_thanks .breadclumb,
.seminar_thanks .contactContent,
.seminar_thanks .breadclumb {
    background: rgba(255, 255, 255, 1.0);
}
.contact_thanks .contactContent,
.download_thanks .contactContent,
.seminar_thanks .contactContent {
    padding: 100px 0;
}
.contact_thanks .smp_form,
.download_thanks .smp_form,
.seminar_thanks .smp_form {
    width: auto;
    display: inline-block;
}
.contact_thanks .smp_form p,
.download_thanks .smp_form p,
.seminar_thanks .smp_form p {
    text-align: left;
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 16px;
}
.contact_thanks .smp_form a,
.download_thanks .smp_form a,
.seminar_thanks .smp_form a {
    display: inline-block;
    border: 1px solid #00307B;
    background: #FFF;
    color: #00307B;
    font-size: 20px;
    padding: 10px 40px;
    border-radius: 30px;
    margin: 60px 0 0;
}
.contact_thanks .smp_form a:hover,
.download_thanks .smp_form a:hover,
.seminar_thanks .smp_form a:hover {
    background: #00307B;
    color: #FFF;
}
.contact_thanks .contactBlock01,
.download_thanks .contactBlock01,
.seminar_thanks .contactBlock01 {
    padding: 0 0 30px;
}

.contact_thanks .contactBlock01 .notes,
.contact .contactBlock01 .notes, .download_thanks .contactBlock01 .notes,
.download .contactBlock01 .notes {
    padding: 30px 0 0;
}


@media screen and (max-width:768px) {


    .contact_thanks .contactContent,
    .download_thanks .contactContent,
    .seminar_thanks .contactContent {
        padding: 50px 0;
    }
    .contact_thanks .smp_form p,
    .download_thanks .smp_form p,
    .seminar_thanks .smp_form p {
        font-size: 14px;
        margin: 0 0 16px;
    }
    .contact_thanks .smp_form a,
    .download_thanks .smp_form a,
    .seminar_thanks .smp_form a {
        margin: 30px 0 0;
        font-size: 16px;
    }
}


/* -------------------------------------------------------------------- 
 資料ダウンロード
-------------------------------------------------------------------- */

.subMainvisual2.contact {
    background: no-repeat url(../img/download/mainvisual.png) 0 0 / cover;
}

.download h1 span {
    display: block;
    font-size: 28px;
    margin: 25px 20px 0;
}
.smp_form.dl {
}

.documentContent {
    padding: 100px 0 70px;
}
.documentContent .contentWrap {
    text-align:center;
}
.documentContent .contentWrap .dl_inner {
    display:inline-block;
    margin:0 auto;
}



.download .documentContent h2 {
    font-size: 24px;
    font-weight: 700;
    margin: 0;
}
.documentContent .contentWrap .docBox .flex2 {
    display: flex;
    margin: 0 0 30px 20px;
}
.documentContent .contentWrap .docBox h3 {
    color: #00307B;
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 20px;
    text-align: left;
}
.documentContent .contentWrap .docBox .flex2 figure {
    width: 300px;
}
.documentContent .contentWrap .docBox .flex2 .detail {
    flex: 1;
    padding: 0 0 0 30px;
    text-align: left;
    position:relative;
}
.documentContent .contentWrap .docBox .flex2 .detail ul {
    font-size: 20px;
    line-height: 1.8;
}
.documentContent .contentWrap .docBox .flex2 .detail ul li {
    font-weight:700;
    position:relative;
    padding:0 0 0 16px;
}
.documentContent .contentWrap .docBox .flex2 .detail ul li:before {
    position:absolute;;
    content:"";
    width:8px;
    height:8px;
    background:#000000;
    border-radius:4px;
    left:0;
    top:15px;
}
.documentContent .contentWrap .docBox .flex2 .detail p {
    font-size: 16px;
    line-height: 2.2;
}
.download .contactBlock01 {
    padding: 0 0 30px;
    background: rgba(82, 205, 231, 0.07);
}
.download .contactContent {
    padding: 50px 0 0;
    background: rgba(82, 205, 231, 0.07);
}
.smp_form.dl fieldset .ss_form_title,
.smp_form.dl fieldset .ss_enquete_title {
    background:#52CDE7;
    color:#fff;
}
.ss_form_title .ss_user_notnull, 
.ss_enquete_title .ss_user_notnull {
    color: #52CDE7;
}

.contentWrap .download_cont {
	margin-top: 94px;
}
.contentWrap .download_cont:first-child {
	margin-top: 40px;
}
.download_cont h3 {
	font-size: 33px;
	font-weight: 700;
	margin-bottom: 1em;
	padding-bottom: .758em;
	border-bottom: solid 2px #00307B;
}
.download_cont h3 img {
	display: inline-block;
	width: 11.035em;
	transform: translate(0, .727em);
}
.download_cont h3 span {
	display: inline-block;
}
.download_note {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .05em;
}
.download_wrap {
	margin: 50px 0;
}
.download_wrap::after {
	content: "";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.download_blc01 {
	float: left;
	width: 50%;
	max-width: 580px;
	margin-right: 49px;
}
.download_blc02 {
	overflow: hidden;
	text-align: left;
	padding: 50px 40px 42px;
	border: solid 1px #00307B;
	transform: translate(0, 17px);
}
.download_blc02 h4 {
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	display: inline-block;
	margin-bottom: 1.25em;
	padding: .4em .7em .45em;
	background: #00307B;
}
.download_blc02 ul {
	font-size: 17px;
	line-height: 2.058;
}
.download_blc02 li {
	position: relative;
	padding-left: 1.765em;
}
.download_blc02 li:before {
	content: "";
	position: absolute;
	top: .941em;
	left: 0;
	display: block;
	width: 1em;
	height: 1px;
	background: #00307B;
}
.download_list-blc {
	margin-top: 24px;
	padding-left: 20px;
}
h4 + .download_list-blc {
	margin-top: 0;
}
.download_list-blc h5 {
	color: #00307B;
	font-size: 20px;
	font-weight: 700;
	position: relative;
	margin-bottom: .5em;
}
.download_list-blc h5:before {
	content: "";
	position: absolute;
	top: .55em;
	left: -20px;
	display: block;
	width: .4em;
	height: .4em;
	background: #00307B;
}
.download .contactBlock01 {
    padding: 0 0 30px;
    background: #EDF0F6;
}
/*
.download .smp_form.dl fieldset .ss_form_title {
	background: #00307B;
}
.download .ss_form_title .ss_user_notnull {
	color: #00307B;
}
*/
@media screen and (max-width:768px) {



    .download h1 span {
        font-size: 18px;
    }
    .documentContent {
        padding: 50px 0 20px;
    }

    .download .documentContent h2 {
        font-size: 18px;
        margin: 0 20px;
    }
    .documentContent .contentWrap .docBox .flex2 {
        display: block;
        margin: 0 0 30px;
    }
    .documentContent .contentWrap .docBox .flex2 figure {
        width: 100%;
        margin: 0 0 20px;
    }
    .documentContent .contentWrap .docBox .flex2 .detail {
        padding: 0;
    }
    .documentContent .contentWrap .docBox h3 {
        font-size: 18px;
        margin: 0 0 20px;
    }
.documentContent .contentWrap .docBox .flex2 .detail ul {
    font-size: 16px;
}
.documentContent .contentWrap .docBox .flex2 .detail:after {
    left:0;
    font-size: 14px;
}
	
	.contentWrap .download_cont {
		margin-top: 30px;
	}
	.contentWrap .download_cont:first-child {
		margin-top: 15px;
	}
	.download_cont h3 {
		font-size: 20px;
	}
	.download_note {
		font-size: 15px;
	}
	.download_wrap {
		margin: 20px 0 30px;
	}
	.download_blc01 {
		float: none;
		width: 100%;
		margin: 0 auto;
	}
	.download_blc02 {
		margin-top: 20px;
		padding: 20px;
		transform: translate(0, 0);
	}
	.download_blc02 h4,
	.download_list-blc h5 {
		font-size: 16px;
	}
	.download_blc02 ul {
		font-size: 14px;
	}		

}


/* -------------------------------------------------------------------- 
 ServiceNowとは？
-------------------------------------------------------------------- */

.subMainvisual1.about {
    background: no-repeat url(../img/about/about_main.png) center center / cover;
    padding: 50px 20px 0;
}
.introBlock {
    padding: 100px 0 110px;
    background: #2b6ba5;
    background: -moz-linear-gradient(left, #2b6ba5 0%, #00307b 100%);
    background: -webkit-linear-gradient(left, #2b6ba5 0%, #00307b 100%);
    background: linear-gradient(to right, #2b6ba5 0%, #00307b 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2b6ba5', endColorstr='#00307b', GradientType=1);
}
.introBlock .contentWrap {}
.introBlock .contentWrap .detail {
    width: 900px;
    margin: 0 auto;
    padding: 0 0 0 35px;
    color: #fff;
    text-align: left;
    line-height: 1.8;
    position: relative;
}
.introBlock .contentWrap .detail:before {
    position: absolute;
    content: "";
    width: 10px;
    height: 100%;
    background: #fff;
    border-radius: 5px;
    top: 0;
    left: 0;
    display: block;
}
.introBlock .contentWrap .detail h2 {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 15px;
    letter-spacing: 0.05em;
}
.introBlock .contentWrap .detail p {
    font-size: 16px;
    line-height: 1.9;
}
.aboutBlock01 {
    padding: 100px 20px;
}
.aboutBlock01 .contentWrap {}
.stdH2 {
    color: #00307B;
    font-size: 35px;
    font-weight: 700;
    margin: 0 0 30px;
}
.stdH3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.8;
    margin: 0 0 26px;
    letter-spacing: 0.05em;
}
.stdTxt {
    font-size: 16px;
    line-height: 2.0;
    margin: 0 0 50px;
}
.stdTxt span,
.casesBlock01 .contentWrap .flow .box02 li span,
.columnBlock02.post p span,
.listStyle01 em {
	font-weight: 700;
	font-size: 112.5%;
}
.aboutBlock01 .contentWrap .col01 {
    display: block;
    text-align: center;
    padding: 50px 0 0;
}
.aboutBlock01 .contentWrap .col01 img {
    width: 706px;
}
.aboutBlock02 {
    background: #EDF0F6;
    padding: 100px 20px;
}
.aboutBlock02 .contentWrap {
    width: 1200px;
}
.aboutBlock02 .contentWrap .flexCol2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.aboutBlock02 .contentWrap .flexCol2 .box {
    width: 565px;
    background: #FFF;
    text-align: left;
    margin: 0 0 30px;
}
.aboutBlock02 .contentWrap .flexCol2 .box h4 {
    color: #00307B;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.7;
    padding: 0 0 0 27px;
    height: 102px;
    border-left: solid 3px #00307B;
    display: flex;
    align-items: center;
    margin: 0 0 20px;
}
.aboutBlock02 .contentWrap .flexCol2 .box .col01 {
    text-align: center;
}
.aboutBlock02 .contentWrap .flexCol2 .box .col01 img {
    max-height: auto;
    width: 90%;
}
.aboutBlock02 .contentWrap .flexCol2 .box:last-child .col01 img {}
.aboutBlock02 .contentWrap .flexCol2 .box p {
    font-size: 16px;
    line-height: 2.0;
    padding: 20px 30px 30px;
}
.aboutBlock02 .contentWrap .aboutBlock02Txt {
    display: inline-block;
    font-size: 24px;
    font-weight: 700;
    border-bottom: 5px solid #62D84E;
    padding: 100px 0 5px;
    position: relative;
}
.aboutBlock02 .contentWrap .aboutBlock02Txt:before {
    position: absolute;
    content: "";
    width: 68px;
    height: 28px;
    background: no-repeat url(../img/about/img_tri.png) 0 0 / contain;
    top: 40px;
    left: 50%;
    margin-left: -34px;
}
.aboutBlock03 {
    padding: 100px 20px 0;
}
.aboutBlock03 .contentWrap {}
.aboutBlock03 .contentWrap .howtoLinks {
    border: 2px solid #00307B;
    width: 900px;
    margin: 0 auto;
    padding: 30px 30px 6px;
    position: relative;
}
.aboutBlock03 .contentWrap .howtoLinks:after {
    position: absolute;
    right: 0;
    bottom: 0;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 20px 20px;
    border-color: transparent transparent #002f7b transparent;
}



.aboutBlock03 .contentWrap .howtoLinks h2 {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 28px;
}
.aboutBlock03 .contentWrap .howtoLinks ul {
    width: 840px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}
.aboutBlock03 .contentWrap .howtoLinks li {
    width: 420px;
    text-align: left;
    margin: 0 0 24px;
    padding: 0 0 0 1.2em;
    text-indent: -1.2em;
}
.aboutBlock03 .contentWrap .howtoLinks li:before {
    content: "－";
    color: #00307B;
    font-size: 16px;
}
.aboutBlock03 .contentWrap .howtoLinks a {
    color: #00307B;
    font-size: 16px;
    border-bottom: 2px solid #F18C01;
}
.aboutBlock03 .contentWrap .howtoLinks a:hover {
    border-bottom: 2px solid #FF0000;
}
.aboutBlock04 {
    background: no-repeat url(../img/about/about_img05.png) center center / cover;
	margin-top: 120px;
    padding: 70px 20px;
}
.aboutBlock04 .contentWrap {}
.aboutBlock04 .contentWrap p {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.8;
    color: #fff;
}
.contactBlock01.subpage {
    background: #F4F4F4 no-repeat url(../img/about/bg_white.png) 0 0 / 100% 323px;
    margin: 130px 0 0;
    padding: 0 0 30px;
}
.contactBlock01.subpage .contentWrap .dlBlock {
    width: 650px;
    margin: 0 auto 55px;
    border: 1px solid #00307B;
    background: #FFF;
    text-align: left;
    transition: 0.3s;
}
.contactBlock01.subpage .contentWrap .dlBlock:hover {
    background: #00307B;
}
.contactBlock01.subpage .contentWrap .dlBlock .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding:26px 32px;
}
.contactBlock01.subpage .contentWrap .dlBlock .inner .title {
    color: #00307B;
    font-size: 30px;
    font-weight: 900;
    margin: 0 0 12px;
    display:flex;
    align-items:center;
}
.contactBlock01.subpage .contentWrap .dlBlock .inner .title:before {
    content:"";
    width:22px;
    height:22px;
    background:no-repeat url(../img/common/icon_download01.svg) 0 0 / contain;
    margin-right:23px;
}
.contactBlock01.subpage .contentWrap .dlBlock a:hover .inner .title:before {
    background:no-repeat url(../img/common/icon_download01_on.svg) 0 0 / contain;
}
.contactBlock01.subpage .contentWrap .dlBlock .inner .text {
    font-size: 18px;
    font-weight: 700;
    display: block;
}
.contactBlock01.subpage .contentWrap .dlBlock .inner .col01 {
    width: 175px;
}

.contactBlock01.subpage .contentWrap .dlBlock a:hover .inner .title,
.contactBlock01.subpage .contentWrap .dlBlock a:hover .inner .text {
    color: #FFF;
}

.freeBox {
    margin: 0 0 50px;
}

.contactBlock01.subpage .dl_cont {
	min-width: 1160px;
	margin-bottom: 49px;
	padding: 32px 0 45px;
	background: #fff;
	border: solid 1px #00307B;
}
.contactBlock01.subpage .dl_cont a {
	transition: 0.3s;
}
.contactBlock01.subpage .dl_title01 {
	color: #00307B;
	font-size: 28px;
	font-weight: 900;
	margin-bottom: .536em;
}
.contactBlock01.subpage .dl_wrap {
	display: flex;
}
.contactBlock01.subpage .dl_blc {
	width: 50%;
	padding-right: 20px;        
	display: flex;
}
.contactBlock01.subpage .dl_blc:first-child {
	padding-left: 37px;
	padding-right: 0;
}

.contactBlock01.subpage .dl_cont a:hover {
	opacity: .8;
}
.contactBlock01.subpage .dl_blc .dl_blc-img {
	width: 32.817%;
	max-width: 190px;
	padding-top: 18px;
}
.contactBlock01.subpage .dl_blc:first-child .dl_blc-img {
	width: 45.02%;
	max-width: 244px;
}
.contactBlock01.subpage .dl_blc .dl_blc-txt {
	text-align: left;
	flex: 1;
}
.contactBlock01.subpage .dl_title02 {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 1em;
}
.contactBlock01.subpage .dl_title02 img {
	width: 11.445em;
}
.contactBlock01.subpage .dl_title02 span {
	display: block;
}
.contactBlock01.subpage .dl_btn {
	margin:20px auto 0 !important;
}
.contactBlock01.subpage .dl_blc ul {
	font-size: 16px;
	line-height: 1.75;
	margin-bottom: 1.25em;
}
.contactBlock01.subpage .dl_blc li {
	position: relative;
	padding-left: 1.438em;
}
.contactBlock01.subpage .dl_blc li::before {
	content: "";
	position: absolute;
	top: .938em;
	left: 0;
	display: block;
	width: .813em;
	height: 1px;
	background: #707070;
}
.contactBlock01.subpage .dl_btn {
	color: #fff;
	font-size: 17px;
	letter-spacing: .1em;
	width: 18em;
	padding: .941em  1em 1em;
	background-color: #EF8B1F;
	border: solid 1px #EF8B1F;
	border-radius: 9999px;
	transition: 0.3s;
        text-align:center;
}
.contactBlock01.subpage .dl_btn em {
	font-weight: 700;
	position: relative;
}
.contactBlock01.subpage .dl_cont a:hover .dl_btn {
	color: #EF8B1F;
	background: #fff;
}

.qaLink {
    margin: 100px 0 0;
}
.qaLink.top {
    margin:0 0 100px;
}
.qaLink a {
    width: 900px;
    display:block;
    padding:30px 20px 40px;
    margin: 0 auto;
    color:#FFF;
    background:no-repeat url(../img/top/bg_qa_enter.png)center center / cover;
}
.qaLink a h3 {
    font-size: 24px;
    font-weight: 700;
    letter-spacing:0.05em;
    margin: 0 0 30px;
}
.qaLink a p {
    font-size: 16px;
    font-weight: 700;
    line-height:1.8;
    margin: 0 0 30px;
}
.qaLink a .enter {
    display:inline-block;
    min-width:190px;
    font-size: 15px;
    font-weight: 700;
    background:#00307B;
    padding:9px 10px 11px;
    border-radius:30px;
    position:relative;
    transition:0.3s;
}
.qaLink a .enter:after {
    position: absolute;
    content: "";
    top: 16px;
    right: 11px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transition:0.3s;
}
.qaLink a:hover .enter {
    background:#FFF;
    color:#00307B;
}
.qaLink a:hover .enter:after {
    border-top: 2px solid #00307B;
    border-right: 2px solid #00307B;
}

@media screen and (max-width: 768px) {



    .subMainvisual1.about {
        padding: 30px 20px;
    }
    .introBlock {
        padding: 50px 0;
    }
    .introBlock .contentWrap .detail {
        width: auto;
        padding: 0 0 0 25px;
    }
    .introBlock .contentWrap .detail:before {
        width: 6px;
    }
    .introBlock .contentWrap .detail h2 {
        font-size: 18px;
    }
    .introBlock .contentWrap .detail p {
        font-size: 14px;
    }
    .aboutBlock01 {
        padding: 50px 0;
    }
    .stdH2 {
        font-size: 20px;
        margin: 0 0 30px;
    }
    .stdH3 {
        font-size: 18px;
        margin: 0 0 15px;
    }
    .stdTxt {
        font-size: 14px;
        text-align: left;
        margin: 0 0 30px;
    }
    .aboutBlock01 .contentWrap .col01 {
        padding: 20px 0 0;
    }
    .aboutBlock01 .contentWrap .col01 img {
        width: 100%;
    }
    .aboutBlock02 {
        padding: 50px 0;
    }
    .aboutBlock02 .contentWrap {
        width: auto;
    }
    .aboutBlock02 .contentWrap .flexCol2 {
        display: block;
    }
    .aboutBlock02 .contentWrap .flexCol2 .box {
        width: 100%;
        margin: 0 0 20px;
    }
    .aboutBlock02 .contentWrap .flexCol2 .box h4 {
        font-size: 16px;
        padding: 0 0 0 20px;
        height: 80px;
    }
    .aboutBlock02 .contentWrap .flexCol2 .box .col01 {
        padding: 20px 20px 0;
    }
    .aboutBlock02 .contentWrap .flexCol2 .box .col01 img {
        height: auto;
        width: 100%;
    }
    .aboutBlock02 .contentWrap .flexCol2 .box:last-child .col01 img {
        height: auto;
    }
    .aboutBlock02 .contentWrap .flexCol2 .box p {
        font-size: 14px;
    }
    .aboutBlock02 .contentWrap .aboutBlock02Txt {
        font-size: 20px;
    }
    .aboutBlock02 .contentWrap .aboutBlock02Txt:before {
        top: 30px;
    }
    .aboutBlock03 {
        padding: 50px 0 0;
    }
    .aboutBlock03 .contentWrap .howtoLinks {
        width: auto;
        padding: 20px 30px 16px;
    }
    .aboutBlock03 .contentWrap .howtoLinks h2 {
        font-size: 20px;
        margin: 0 0 15px;
    }
    .aboutBlock03 .contentWrap .howtoLinks ul {
        width: auto;
        display: block;
    }
    .aboutBlock03 .contentWrap .howtoLinks li {
        width: auto;
        margin: 0 0 14px;
    }
    .aboutBlock04 {
		margin-top: 0;
        padding: 35px 0;
    }
    .aboutBlock04 .contentWrap p {
        font-size: 20px;
    }
    .contactBlock01.subpage {
        background: #F4F4F4 no-repeat url(../img/about/bg_white.png) 0 0 / 100% 600px;
        margin: 50px 0 0;
        padding: 0 0 30px;
    }
    .contactBlock01.subpage .contentWrap .dlBlock {
        width: auto;
        margin: 0 auto 50px;
    }
    .contactBlock01.subpage .contentWrap .dlBlock .inner {
        padding: 20px;
    }
    .contactBlock01.subpage .contentWrap .dlBlock .inner .title {
        font-size: 18px;
        margin: 0 0 6px;
    }
.contactBlock01.subpage .contentWrap .dlBlock .inner .title:before {
    content:"";
    width:18px;
    height:18px;
    margin-right:16px;
}
    .contactBlock01.subpage .contentWrap .dlBlock .inner .text {
        font-size: 16px;
        padding: 0 10px 0 0;
    }
    .contactBlock01.subpage .contentWrap .dlBlock .inner .col01 {
        width: 120px;
    }
.contactBlock01.subpage .contentWrap .dlBlock .inner .col01 img {
    margin-top:0;
}
	
	.contactBlock01.subpage .dl_cont {
		min-width: unset;
		margin-bottom: 20px;
		padding: 25px 0 30px;
	}
	.contactBlock01.subpage .dl_title01 {
		font-size: 20px;
	}
	.contactBlock01.subpage .dl_wrap {
		display: block;
	}
	.contactBlock01.subpage .dl_blc {
		max-width: 380px;
		width: unset;
		margin: 30px auto 0;
		padding: 0 20px;
	}
	.contactBlock01.subpage .dl_blc:first-child {
		margin-top: 20px;
		padding-left: 20px;
		padding-right: 20px;
	}
	.contactBlock01.subpage .dl_blc a {
		display: block;
	}
	.contactBlock01.subpage .dl_blc .dl_blc-img {
		margin: 0 auto;
		padding: 0;
	}
	.contactBlock01.subpage .dl_title02 {
		font-size: 16px;
		text-align: center;
		margin-top: -4px;
	}
	.contactBlock01.subpage .dl_blc ul {
		font-size: 14px;
	}
	.contactBlock01.subpage .dl_btn {
		font-size: 15px;
		margin: 0 auto;
	}

.qaLink {
    margin:50px 0 0;
}
.qaLink.top {
    margin: 30px 0 50px;
}
.qaLink a {
    width: 100%;
    padding:10px 20px 30px;
}
.qaLink a h3 {
    font-size: 20px;
    margin: 0 0 20px;
}
.qaLink a p {
    margin: 0 0 20px;
}


}



/* -------------------------------------------------------------------- 
 ServiceNow 活用事例
-------------------------------------------------------------------- */

.subMainvisual1.cases {
    background: no-repeat url(../img/cases/cases_main.png) center center / cover;
    padding: 70px 20px 0;
    align-items: center;
    justify-content: flex-start;
}
.subMainvisual1.cases .headTitle {
    display: inline-block;
    background: #fff;
    color: #00307B;
    font-size: 22px;
    font-weight: 700;
    padding: 8px 45px 10px;
    margin: 0 0 48px;
}
.subMainvisual1.cases h1 span {
    font-size: 37px;
    margin: 20px 0 0;
}
.subMainvisual1.cases h1 span.it {
    font-size: 30px;
    color: #FFF;
    display: inline-block;
    margin: 0;
    padding: 6px 10px 8px;
    border: 1px solid #FFF;
}
.subMainvisual1.cases .linkBlock {
    margin: 55px auto 0;
}

.casesBlock01 {
    padding: 100px 0 50px;
}
.casesBlock01 .contentWrap .flow .box01 li,
.casesBlock01 .contentWrap .flow .box02 li {
    padding: 0 0 0 1em;
    text-indent: -1em;
    line-height: 1.8;
}


.casesBlock01 .contentWrap .flow .box01 li:not(:last-child),
.casesBlock01 .contentWrap .flow .box02 li:not(:last-child) {
    margin: 0 0 10px;
}
.casesBlock01 .contentWrap .flow .box01 li:before,
.casesBlock01 .contentWrap .flow .box02 li:before {
    content: "■";
    color: #00307B;
}
.casesBlock01 .contentWrap .flow .box01 {
    border-bottom: 1px dotted #707070;
    padding: 30px 0;
}
.casesBlock01 .contentWrap .flow .box01 dl,
.casesBlock01 .contentWrap .flow .box02 dl {
    display: flex;
}
.casesBlock01 .contentWrap .flow .box01 dt,
.casesBlock01 .contentWrap .flow .box02 dt {
    width: 270px;
    margin: 0 30px 0 0;
}
.casesBlock01 .contentWrap .flow .box01 dd,
.casesBlock01 .contentWrap .flow .box02 dd {
    flex: 1;
    text-align: left;
    font-size: 16px;
    display: flex;
    align-items: center;
}
.casesBlock01 .contentWrap .flow .box01 dl {
    height: 120px;
}
.casesBlock01 .contentWrap .flow .box01 dt {
    background: #2b6ba5;
    background: -moz-linear-gradient(top, #2b6ba5 0%, #00307B 100%);
    background: -webkit-linear-gradient(top, #2b6ba5 0%, #00307b 100%);
    background: linear-gradient(to bottom, #2b6ba5 0%, #00307b 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2b6ba5', endColorstr='#00307b', GradientType=0);
    color: #FFF;
    font-size: 24px;
    font-weight: 700;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.casesBlock01 .contentWrap .flow .box02 {
    padding: 100px 0 0;
}
.casesBlock01 .contentWrap .flow .box02 dl {
    height: 150px;
}
.casesBlock01 .contentWrap .flow .box02 dl:not(:last-child) {
    margin: 0 0 80px;
}
.casesBlock01 .contentWrap .flow .box02 dt {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #00307B;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.8;
    position: relative;
    border: 2px solid #00307B;
}
.casesBlock01 .contentWrap .flow .box02 dl:not(:last-child) dt:after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 18px 21px 0 21px;
    border-color: #002f7b transparent transparent transparent;
    bottom: -50px;
    left: 50%;
    margin-left: -21px;
}

.casesBlock02 {
    padding: 50px 0;
    background: #F3FCFE;
}
.casesBlock02 figure {
    background: transparent;
}
.casesBlock02 figure img {
    width: auto;
    max-width: 80%;
}

.casesBlock03 {
    padding: 50px 0 70px;
}
.casesBlock03 .flexCol2 {
    display: flex;
    justify-content: space-between;
    padding: 34px 0 0;
}
.casesBlock03 .flexCol2 .text {
    flex: 1;
    text-align: left;
    font-size: 16px;
    line-height: 2.0;
}
.casesBlock03 .flexCol2 .image {
    width: 630px;
    margin: 0 0 0 30px;
}
.casesBlock03 figure img {
    max-width: 800px;
}


@media screen and (max-width: 768px) {




    .subMainvisual1.cases {
        padding: 30px 20px;
    }
    .subMainvisual1.cases .headTitle {
        font-size: 16px;
        padding: 8px 35px 10px;
        margin: 0 0 24px;
    }
    .subMainvisual1.cases h1 span {
        font-size: 20px;
    }
    .subMainvisual1.cases h1 span.it {
        font-size: 18px;
        padding: 6px 10px 8px;
    }
    .subMainvisual1.cases .linkBlock {
        margin: 20px auto 0;
    }

    .casesBlock01 {
        padding: 50px 0;
    }
    .casesBlock01 .contentWrap .flow .box01 li:not(:last-child),
    .casesBlock01 .contentWrap .flow .box02 li:not(:last-child) {
        margin: 0 0 10px;
    }
    .casesBlock01 .contentWrap .flow .box01 li:before,
    .casesBlock01 .contentWrap .flow .box02 li:before {
        content: "■";
        color: #00307B;
    }
    .casesBlock01 .contentWrap .flow .box01 {
        border-bottom: 1px dotted #707070;
        padding: 30px 0;
    }
    .casesBlock01 .contentWrap .flow .box01 dl,
    .casesBlock01 .contentWrap .flow .box02 dl {
        display: block;
    }
    .casesBlock01 .contentWrap .flow .box01 dt,
    .casesBlock01 .contentWrap .flow .box02 dt {
        width: 100%;
        margin: 0;
    }
    .casesBlock01 .contentWrap .flow .box01 dd,
    .casesBlock01 .contentWrap .flow .box02 dd {
        font-size: 14px;
    }
    .casesBlock01 .contentWrap .flow .box01 dl {
        height: auto;
    }
    .casesBlock01 .contentWrap .flow .box01 dt {
        font-size: 18px;
        height: 60px;
        margin: 0 0 20px;
    }
    .casesBlock01 .contentWrap .flow .box02 {
        padding: 50px 0 0;
    }
    .casesBlock01 .contentWrap .flow .box02 dl {
        height: auto;
    }
    .casesBlock01 .contentWrap .flow .box02 dl:not(:last-child) {
        margin: 0 0 80px;
    }
    .casesBlock01 .contentWrap .flow .box02 dt {
        font-size: 18px;
        margin: 0 0 20px;
        padding: 10px 0;
        line-height: 1.6;
    }
    .casesBlock01 .contentWrap .flow .box02 dl:not(:last-child) dt:after {
        display: none;
    }
    .casesBlock01 .contentWrap .flow .box02 dd {
        position: relative;
    }
    .casesBlock01 .contentWrap .flow .box02 dl:not(:last-child) dd:after {
        position: absolute;
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 18px 21px 0 21px;
        border-color: #002f7b transparent transparent transparent;
        bottom: -50px;
        left: 50%;
        margin-left: -21px;
    }
    .casesBlock02 figure img {
        max-width: 100%;
    }

    .casesBlock03 {
        padding: 50px 0 30px;
    }
    .casesBlock03 .flexCol2 {
        display: block;
        padding: 20px 0 0;
    }
    .casesBlock03 .flexCol2 .text {
        font-size: 14px;
        margin: 0 0 20px;
    }
    .casesBlock03 .flexCol2 .image {
        width: auto;
        margin: 0;
    }
}





/* -------------------------------------------------------------------- 
 ServiceNow お役立ち情報
-------------------------------------------------------------------- */

.subMainvisual2.useful {
    background: no-repeat url(../img/useful/useful_main.png) center center / cover;
    padding: 50px 20px;
    position: relative;
}
.subMainvisual2.useful h1 {
    font-size: 37px;
}
.subMainvisual2.useful h1 span {
    margin: 30px 0 0;
    font-size: 22px;
}


.usefulBlock01 {
    padding: 100px 0 0;
}
.usefulBlock01 .contentWrap {
    width:1200px;
}
.usefulBlock01 .stdH2 {
    margin: 0 0 40px;
}



.usefulBlock01 .flexCol2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0 0 20px;
}
.usefulBlock01 .flexCol2 .colBox {
    width: 545px;
    text-align: left;
    margin: 0 0 60px;
}
.usefulBlock01 .flexCol2 .colBox a {
    display: block;
}
.usefulBlock01 .flexCol2 .colBox a:hover {
    opacity: 0.7;
}
.usefulBlock01 .flexCol2 .colBox figure {
    margin: 0 0 44px;
}
.usefulBlock01 .flexCol2 .colBox .tab {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #00307B;
    letter-spacing: 0.05em;
    background: #D4EBFA;
    border-radius: 20px;
    padding: 5px 20px;
    margin: 0 0 18px;
    display: inline-block;
}
.usefulBlock01 .flexCol2 .colBox h3 {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.8;
    margin: 0 0 20px;
}
.usefulBlock01 .flexCol2 .colBox p {
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 40px;
}
.usefulBlock01 .flexCol2 .colBox .readMore {
    border: 2px solid #484747;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    padding: 15px 25px;
    display: inline-block;
    transition: 0.3s;
}
.usefulBlock01 .flexCol2 .colBox a:hover .readMore {
    background: #484747;
    color: #FFF;
}


.usefulBlock02 {
    padding: 60px 0 0;
}
.usefulBlock02 .stdH2 {
    margin: 0 0 40px;
}
.usefulBlock02 .contentWrap .flexCol2 ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 740px;
    margin: 0 auto;
}
.usefulBlock02 .contentWrap .flexCol2 ul li {
    width: 360px;
    text-align: left;
    font-size: 22px;
	font-weight: 700;
	vertical-align: middle;
    margin: 0 0 20px;
}
.usefulBlock02 .contentWrap .flexCol2 ul li:before {
    content: "■";
    font-size: 8px;
    color: #00307B;
	vertical-align: middle;
	line-height: 1;
    margin: 0 10px 0 0;
}
.usefulBlock02 .contentWrap .flexCol2 ul li a {
    padding: 0 0 10px;
    width: 354px;
}
.usefulBlock02 .contentWrap .flexCol2 ul li a:hover {
    opacity: 0.7;
}















@media screen and (max-width: 768px) {



    .subMainvisual2.useful {
        padding: 50px 20px;
    }
    .subMainvisual2.useful h1 {
        font-size: 20px;
    }
    .subMainvisual2.useful h1 span {
        margin: 15px 0 0;
        font-size: 18px;
    }
    .usefulBlock01 {
        padding: 50px 0 0;
    }
    .usefulBlock01 .contentWrap {
        width:100%;
    }
    .usefulBlock01 .stdH2 {
        margin: 0 0 30px;
    }
    .usefulBlock01 .flexCol2 {
        display: block;
        padding: 0 0 20px;
    }
    .usefulBlock01 .flexCol2 .colBox {
        width: auto;
        padding: 0 0 30px;
        margin: 0;
    }
    .usefulBlock01 .flexCol2 .colBox figure {
        margin: 0 0 30px;
    }
    .usefulBlock01 .flexCol2 .colBox .tab {
        margin: 0 0 18px;
    }
    .usefulBlock01 .flexCol2 .colBox h3 {
        font-size: 18px;
        margin: 0 0 15px;
    }
    .usefulBlock01 .flexCol2 .colBox p {
        font-size: 14px;
        margin: 0 0 20px;
    }
    .usefulBlock01 .flexCol2 .colBox .readMore {
        padding: 12px 20px;
    }


    .usefulBlock02 {
        padding: 40px 0 0;
    }
    .usefulBlock02 .stdH2 {
        margin: 0 0 30px;
    }
    .usefulBlock02 .contentWrap .flexCol2 ul {
        display: block;
        width: auto;
        margin: 0 auto;
    }
    .usefulBlock02 .contentWrap .flexCol2 ul li {
        width: auto;
        font-size: 14px;
        margin: 0 0 20px;
    }
    .usefulBlock02 .contentWrap .flexCol2 ul li a {
        width: auto;
    }
}




/* -------------------------------------------------------------------- 
 ServiceNow 用語集
-------------------------------------------------------------------- */


.subMainvisual2.glossary {
    background: no-repeat url(../img/glossary/glossary_main.png) center center / cover
}
.glossaryBlock01 {
    padding: 100px 0;
}
.glossaryBlock01 .contentWrap {}
.glossaryBlock01 .contentWrap .stdH2,
.glossaryBlock01 .contentWrap .stdTxt {
    text-align: left;
}
.glossaryBlock01 .contentWrap .stdTxt p {
    margin: 0 0 1.7em;
}
.glossaryBlock01 .contentWrap .stdTxt p.notes {
    font-size: 14px;
}
.glossaryBlock01 .csesBlock {
    padding: 50px 0 0;
}
.glossaryBlock01 .csesBlock .inner {
	position: relative;
    display: inline-block;
	transition: 0.3s;
}
.glossaryBlock01 .csesBlock .inner:hover {
	opacity: 0.7;
}
.glossaryBlock01 .csesBlock .flexCol2 {
    padding: 30px;
    display: flex;
    width: 705px;
    text-align: left;
    border: 1px solid #00307B;
}
.glossaryBlock01 .csesBlock .flexCol2 figure {
    width: 170px;
}
.glossaryBlock01 .csesBlock .flexCol2 .text {
    flex: 1;
    padding: 0 0 0 20px;
}
.glossaryBlock01 .csesBlock .flexCol2 .text h3 {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 6px;
}
.glossaryBlock01 .csesBlock .flexCol2 .text p {
    font-size: 16px;
    line-height: 2.0;
    margin: 0 0 14px;
}
.glossaryBlock01 .csesBlock .flexCol2 .text a {
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    padding: 16px 30px;
    letter-spacing: 0.05em;
    border: 2px solid #484747;
    color: #222;
    text-align: center;
}
.glossaryBlock01 .csesBlock .flexCol2 .text a:hover {
    background: #222;
    color: #FFF;
}
.glossaryBlock01 .csesBlock .flexCol2 .text a::after {
	content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 20;
    pointer-events: auto;
    background-color: transparent;
}

.glossaryBlock02 {
    padding: 100px 0 140px;
    background: #F3FCFE;
}
.glossaryBlock02 .contentWrap .stdH2 {
    margin: 0 0 50px;
}
.glossaryBlock02 .contentWrap .flexCol2 {
    margin: 0 0 70px;
}
.glossaryBlock02 .contentWrap .flexCol2 ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 610px;
    margin: 0 auto;
}
.glossaryBlock02 .contentWrap .flexCol2 ul li {
    width: 280px;
    text-align: left;
    font-size: 16px;
    margin: 0 0 20px;
}
.glossaryBlock02 .contentWrap .flexCol2 ul li:before {
    content: "■";
    font-size: 8px;
    color: #00307B;
    margin: 0 10px 0 0;
}
.glossaryBlock02 .contentWrap .flexCol2 ul li a {
    padding: 0 0 10px;
    width: 274px;
}
.glossaryBlock02 .contentWrap .flexCol2 ul li a:hover {
    opacity: 0.7;
}
.glossaryBlock02 .contentWrap .linkBtn a {
    display: inline-block;
    padding: 20px 30px;
    font-size: 20px;
    font-weight: 700;
    color: #00307B;
    letter-spacing: 0.05em;
    border-radius: 40px;
    background: #FFF;
    border: 2px solid #00307B;
}
.glossaryBlock02 .contentWrap .linkBtn a:hover {
    color: #FFF;
    background: #00307B;
}
.glossary .contactBlock01.subpage {
    background: #F4F4F4 no-repeat url(../img/glossary/bg_lightblue.png) 0 0 / 100% 90px;
    margin: 0;
}


@media screen and (max-width: 768px) {


    .glossaryBlock01 {
        padding: 50px 0;
    }
    .glossaryBlock01 .inner {
        width: 100%;
    }
    .glossaryBlock01 .contentWrap .stdTxt p {
        margin: 0 0 1.2em;
    }
    .glossaryBlock01 .csesBlock {
        padding: 30px 0 0;
        margin: 0 20px;
    }
    .glossaryBlock01 .csesBlock .flexCol2 {
        padding: 20px;
        display: block;
        width: auto;
    }
    .glossaryBlock01 .csesBlock .flexCol2 figure {
        text-align: center;
        display: block;
        width: auto;
        margin: 0 0 20px;
    }
    .glossaryBlock01 .csesBlock .flexCol2 figure img {
        width: 170px;
    }
    .glossaryBlock01 .csesBlock .flexCol2 .text {
        padding: 0;
        text-align: center;
    }
    .glossaryBlock01 .csesBlock .flexCol2 .text h3 {
        font-size: 18px;
        text-align: left;
    }
    .glossaryBlock01 .csesBlock .flexCol2 .text p {
        font-size: 14px;
        text-align: left;
    }
    .glossaryBlock01 .csesBlock .flexCol2 .text a {}
    .glossaryBlock01 .csesBlock .flexCol2 .text a:hover {
        background: #222;
        color: #FFF;
    }

    .glossaryBlock02 {
        padding: 50px 0 70px;
    }
    .glossaryBlock02 .contentWrap .stdH2 {
        margin: 0 0 30px;
    }
    .glossaryBlock02 .contentWrap .flexCol2 {
        margin: 0 0 70px;
    }
    .glossaryBlock02 .contentWrap .flexCol2 ul {
        display: block;
        width: auto;
        margin: 0 auto;
    }
    .glossaryBlock02 .contentWrap .flexCol2 ul li {
        width: auto;
        font-size: 14px;
        margin: 0 0 20px;
    }
    .glossaryBlock02 .contentWrap .flexCol2 ul li a {
        width: auto;
    }
    .glossaryBlock02 .contentWrap .linkBtn a {
        padding: 15px 20px;
        font-size: 18px;
    }
}




/*--------------------------------------------
ServiceNow コラム
-----------------------------------------------*/

.subMainvisual2.column {
    background: no-repeat url(../img/column/column_main.png) center center / cover;
}
.columnInnerWrap {
    max-width: 900px;
    text-align: left;
    margin: auto;
}
.columnBlock01 {
    padding: 75px 0 0;
}
.columnBlock01 h2.stdH2 {
    text-align: left !important;
}
body.single-column p.date {
    font-size: 16px;
    padding-bottom: 8px;
    text-align:right;
}
.columnBlock01 .linkBlock {
    padding: 35px 0;
    text-align:center;
}
.columnBlock01 .linkBlock a {
    width: 498px;
    height: 100px;
    margin:0 auto;
    background: rgba(255, 255, 255, 0.91);
    padding: 13px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #00307B;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
    border:1px solid #00307B;   
}
.columnBlock01 .linkBlock a:hover {
    color: #FFF;
    background: rgba(0, 48, 123, 0.9);
}
.columnBlock01 .linkBlock a:before {
    content:"";
    width:22px;
    height:22px;
    background:no-repeat url(../img/common/icon_download01.svg) 0 0 / contain;
}
.columnBlock01 .linkBlock a:hover:before {
    background:no-repeat url(../img/common/icon_download01_on.svg) 0 0 / contain;
}
.columnBlock01 .linkBlock p {
    padding: 0 0 2px;
}
.columnBlock01 .linkBlock a figure {
    width: 196px;
}
.columnBlock01 .linkBlock a figure img {
    margin-top:-25px;
}


.topNotes {
    text-align: right;
}

.postIndex {
    margin-top: 65px;
    background: #F4F4F4;
    padding: 30px;
}

.postIndex h3 {
    color: #00307B;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 37px;
}

.postIndex ul {
    counter-reset: number 0;
}
.postIndex ul li {
    display: flex;
    align-items: baseline;
}
.postIndex ul li:not(:last-child) {
    margin-bottom: 10px;
}
.postIndex ul li::before {
    counter-increment: number 1;
    content: counter(number)'.';
    color: #00307B;
    font-size: 22px;
    margin-right: 12px;
}
.postIndex ul li a {
    font-size: 16px;
    text-decoration: underline;
}
.postIndex ul li a:hover {
    color: #00307B;
}

.columnBlock02.post {
    margin-top: 100px;
    text-align: left;
}
.columnBlock02.post h2:nth-child(n+2) {
    margin-top: 70px;
}
.columnBlock02.post h3 {
    font-size: 24px;
    font-weight: bold;
    padding-bottom: 16px;
    position: relative;
    margin-bottom: 30px;
}
.columnBlock02.post h3::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #00307B;
}
.columnBlock02.post p {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 30px;
}

.columnBlock02.post .linkBox dl {
    display: flex;
    font-size: 16px;
    color: #00307B;
}
.columnBlock02.post .linkBox dl dt {
    font-weight: bold;
    padding-right: 10px;
}
.columnBlock02.post .linkBox dl dd a {
    text-decoration: underline;
    color: #00307B;
    word-wrap: break-word;
}
.columnBlock02.post .linkBox dl dd a:hover {
    opacity: 0.8;
}
.columnBlock02.post .btnRound {
    margin: 70px auto 0;
    text-align: center;
}
.columnBlock02.post .btnRound a {
    display: flex;
    max-width: 320px;
    height: 78px;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #00307B;
    border: 2px solid #00307B;
    background: #fff;
    border-radius: 50px;
    font-weight: bold;
    margin: auto;
}
.columnBlock02.post .btnRound a:hover {
    background: #00307B;
    color: #fff;
}

.columnBlock02.post .image {
    margin-bottom: 30px;
    text-align:center;
}

.columnBlock02.post .image img {
    width:auto;
    max-width:100%;
}
.columnBlock02.post .related {
    display:flex;
    align-items: center;
}
.columnBlock02.post .related .title {
    background:#00307c;
    color:#FFF;
    font-size:16px;
    font-weight:500;
    border-radius:5px;
    padding:2px 15px 4px;
}
.columnBlock02.post .related .link {
    padding:0 0 0 40px;
}
.columnBlock02.post .related .link a {
    font-size:16px;
}
.columnBlock02.post .related .link a:before {
    content:"■";
    font-size:10px;
    color:#00307c;
    margin:0 14px 0 0;
}

.columnInnerDlBlock.__bottom {
    margin-top: 100px;
    margin-bottom: 70px;
}

.listStyle01 {
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 30px;
}
.listStyle01>li {
    padding: 0 0 0 1.1em;
    text-indent: -1.1em;
    margin: 0 0 1em;
}
.listStyle01>li:before {
    content: "●";
    font-size: 10px;
	line-height: 29px;
    margin: 0 0.8em 0 0;
	transform: scale(.8);
	vertical-align: top;
}
.listStyle01>li ul {
    margin: 1em 0 0;
}
.listStyle01>li ul li {
    padding: 0 0 0 1em;
    text-indent: -1em;
    margin: 0 0 0.3em;
}
.listStyle01>li ul li:before {
    content: "●";
    font-size: 10px;
	line-height: 29px;
    margin: 0 0.8em 0 0;
	transform: scale(.8);
	vertical-align: top;
}
.listStyle01 span {
    font-weight: 700;
}

.clmn02img01 {
    display: block;
    text-align: center;
    margin: 1em 0 0;
}
.clmn02img01 img {
    width: 70%;
}







@media screen and (max-width:768px) {

.columnBlock01 {
    padding: 50px 0 0;
}
body.single-column p.date {
    font-size: 14px;
}
    .columnBlock01 .linkBlock {
        margin: 0 auto;
        width: 100%;
	padding: 15px 0 20px;
    }
    .columnBlock01 .linkBlock a {
        width: 100%;
        height: auto;
        padding: 5px 10px;
        align-items: center;
        justify-content: space-around;
        font-size: 16px;
    }
    .columnBlock01 .linkBlock a figure {
        width: 120px;
        margin-top: -12px;
    }
    .columnBlock02.post .linkBox dl {
        display: block;
    }
    .columnBlock02.post h3 {
        font-size: 18px;
    }
    .postIndex {
        margin-top: 20px;
        padding: 20px;
    }

    .columnBlock02.post {
        margin-top: 50px;
    }
    .columnBlock02.post h2:nth-child(n+2) {
        margin-top: 35px;
    }

.columnBlock02.post .related {
    display:block;
}
.columnBlock02.post .related .title {
    font-size:14px;
    display:inline-block;
}
.columnBlock02.post .related .link {
    padding:10px 0 0 0;
    display:block;
}
.columnBlock02.post .related .link a {
    font-size:14px;
}
.columnBlock02.post .related .link a:before {
    margin:0 10px 0 0;
}

    .postIndex h3 {
        margin-bottom: 15px;
    }
    .columnInnerDlBlock a .inner .text .btn {

        margin: 0 auto;
    }

    .listStyle01 {
        font-size: 16px;
        line-height: 1.8;
        margin: 0 0 30px;
    }
    .listStyle01>li {
        padding: 0 0 0 1.1em;
        text-indent: -1.1em;
        margin: 0 0 1em;
    }
    .listStyle01>li:before {
        content: "●";
        font-size: 8px;
		margin: 0 0.8em 0 0;
    }
    .listStyle01>li ul {
        margin: 1em 0 0;
    }
    .listStyle01>li ul li {
        padding: 0 0 0 1em;
        text-indent: -1em;
        margin: 0 0 0.3em;
    }

    .clmn02img01 {
        display: block;
        text-align: center;
        margin: 1em 0 0;
    }
    .clmn02img01 img {
        width: 100%;
    }
}

@media screen and (max-width: 480px) {
    .columnInnerDlBlock a .inner {
        display: block;
    }
    .columnInnerDlBlock a .inner .col01 {
        width: 100%;
        margin-bottom: 20px;
    }
    .columnInnerDlBlock a .inner .text .title {
        margin-bottom: 20px;
        display: block;
    }
    .columnInnerDlBlock a .inner .text .btn {
        margin: auto;
    }
}






/* -------------------------------------------------------------------- 
 ServiceNow 強み
-------------------------------------------------------------------- */


.subMainvisual1.strength {
    background: no-repeat url(../img/strength/strength_main.png) center center / cover;
    padding: 50px 20px 0;
}

#strength .stdH3 {
    line-height: 2;
}
#strength .point .stdH3 {
	font-size: 21px;
	line-height: 1.8;
}
#strength .point .stdH3 span {
	color: #00307B;
	font-size: 24px;
	line-height: 2;
	display: inline-block;
	margin-bottom: .3em;
}
#strength .point .stdH3 sup {
	font-size: 66.7%;
}
#strength .main1 {
    background-color: #EDF0F6;
    padding: 100px 20px;
}
#strength .main1 .btn_list {
    display: flex;
	flex-wrap: wrap;	
    gap: 25px;
    justify-content: center;
    margin: 0 auto;
    max-width: 1060px;
    padding-bottom: 110px;
    width: 100%;
}
#strength .main1 .btn_list li {
	min-width: 330px;
}
#strength .main1 .btn_list .btn {
	display: block !important;
	width: unset !important;
	height: 100%;
}
#strength .main1 .point {
    background-color: #fff;
    margin: 0 auto;
    padding: 50px 85px 30px;
    width: 1160px;
}
#strength .main1 .point .list {
    font-size: 22px;
    text-align: left;
}
#strength .main1 .point .list li {
    margin-bottom: 20px;
    position: relative;
}
#strength .main1 .point .list li:before {
    background-image: url(../img/strength/check.png);
    background-size: contain;
    content: "";
    display: inline-block;
    height: 22.5px;
    left: -30px;
    position: absolute;
    top: 6px;
    width: 26.5px;
}
#strength .main2 {
    padding: 70px 20px 50px;
}
#strength .main2 #professional:target::before {
    content: "";
    display: block;
    height: 125px;
    margin-top: -125px;
    visibility: hidden;
}
#strength .main2 .partner {
    border: 2px solid #00307B;
    display: flex;
    height: 180px;
    margin: 0 auto;
    padding: 28px;
    width: 1005px;
}
#strength .main2 .partner .stdTxt {
    padding-right: 1.5em;
    text-align: left;
}
#strength .main2 .partner img {
    height: 120px;
    width: 120px;
}
#strength .main2 .skill {
    margin-top: 100px;
}
#strength .main2 .skill .skill_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    width: 1160px;
}
#strength .main2 .skill .skill_list dl {
    text-align: left;
}
#strength .main2 .skill .skill_list dl dt {
    background-color: #00307B;
    color: #fff;
    display: grid;
    font-size: 22px;
    font-weight: bold;
    height: 52px;
    place-items: center;
    width: 564px;
}
#strength .main2 .skill .skill_list dl .num {
    display: flex;
    height: 150px;
    justify-content: space-between;
    margin: 10px 20px;
}
#strength .main2 .skill .skill_list dl .num dd li {
    font-size: 16px;
    list-style: none;
}
#strength .main2 .skill .skill_list dl .num dd li:before {
    content: "●";
}
#strength .main2 .skill .skill_list dl .num dd li span {
    font-size: 22px;
    font-weight: bold;
    margin-left: 1em;
}
#strength .main2 .skill .skill_list dl .sum {
    color: #00307B;
    font-size: 55px;
    font-weight: bold;
    margin: auto 0;
}
#strength .main2 .skill .skill_list dl .sum span {
    font-size: 40px;
}
#strength .main2 .member {
    margin-top: 100px;
}
#strength .main2 .member .member_list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    text-align: left;
    width: 1160px;
}
#strength .main2 .member .member_list .personal {
    margin-right: 31px;
    width: 366px;
}
#strength .main2 .member .member_list .personal:nth-last-of-type(3n) {
    margin-right: 0;
}
#strength .main2 .member .member_list .personal img {
    width: 366px;
}
#strength .main2 .member .member_list .personal .introduce {
    border-left: 2px solid #00307B;
    font-size: 16px;
    margin: 10px 0 31px;
    padding-left: 10px;
}
#strength .main2 .member .member_list .personal .introduce .name {
    font-size: 22px;
    font-weight: bold;
    margin: 0 0 15px;
}
#strength .main2 .member .member_list .personal .introduce p {
    font-size: 14px;
    line-height: 1.6;
}
#strength .main2 .member .member_list .personal .introduce .status {
    border-bottom: 1px dashed #707070;
    font-size: 16px;
    font-weight: normal;
    width: -moz-fit-content;
    width: fit-content;
}
#strength .main2 .member .member_list .personal .introduce .specialty {
    color: #00307B;
    line-height: 2;
    margin-top: 1em;
}
#strength .main2 .member .member_list .personal .introduce .specialty dt {
    font-weight: bold;
}
#strength .main2 .member .member_list .personal .introduce .specialty dd:before {
    content: "・";
}
#strength .main2 #success:target::before {
    content: "";
    display: block;
    height: 125px;
    margin-top: -125px;
    visibility: hidden;
}
#strength .main3 {
    background-color: #EDF0F6;
    padding: 70px 20px;
}
#strength .main3 .point {
    background: #fff;
    border-top: 2px solid #00307B;
    display: flex;
    margin: 0 auto;
    margin-bottom: 30px;
    padding: 30px;
    text-align: left;
    width: 1160px;
}
#strength .main3 .point p {
    font-size: 16px;
    line-height: 2;
}
#strength .main3 .point p .notes {
    font-size: 14px;
    line-height: 1.8;
    display: inline-block;
    padding-left: 1em;
    text-indent: -1em;
}
#strength .main3 .point p .notes a {
	text-decoration: underline;
	font-weight: 500;
}
#strength .main3 .point p .notes a:hover {
	text-decoration: none;
}
#strength .main3 .point p span:nth-of-type(1) {
    margin: 12px 0 0;
}
#strength .main3 .point .img {
    flex-shrink: 0;
    margin-left: 20px;
    width: 410px;
}
#strength .main3 .point.point1 {
    margin-top: 100px;
}
#strength .main3 .point.point2 .stdH3 {}
#strength .main3 .point.point2 .img {
    margin-top: 55px;
    width: 410px;
}
#strength .main3 .point.point2 .feature {
    flex: 1;
}
#strength .main3 .point.point3 .img {
    margin-top: 70px;
    width: 410px;
}
#strength .main4 {
    background: #fff;
    padding: 70px 20px 0;
}
#strength .main4 #flow:target::before {
    content: "";
    display: block;
    height: 125px;
    margin-top: -125px;
    visibility: hidden;
}
#strength .main4 img {
    margin-top: 40px;
    width: 1160px;
}

@media screen and (max-width: 768px) {

    .subMainvisual1.strength {
        padding: 30px 20px;
    }
    #strength .stdH3 {
        line-height: 1.5;
    }
	#strength .point .stdH3 {
		font-size: 16px;
		line-height: 1.6;
	}
	#strength .point .stdH3 span {
		font-size: 18px;
		line-height: 1.5;
	}
    #strength .main1 {
        padding: 50px 0;
    }
    #strength .main1 .btn_list {
        display: block;
        padding-bottom: 20px;
    }
    #strength .main1 .btn_list li {
		text-align: center;
        margin-bottom: 20px;
        width: 100%;
    }
	#strength .main1 .btn_list li .btn {
		width: 100%  !important;
		display: inline-block !important;
	}
    #strength .main1 .point {
        padding: 25px 20px 15px 45px;
        width: 100%;
    }
    #strength .main1 .point .list {
        font-size: 14px;
    }
    #strength .main1 .point .list li:before {
        height: 17.5px;
        left: -23px;
        top: 2px;
        width: 19.5px;
    }
    #strength .main2 {
        padding: 50px 0;
    }
    #strength .main2 .partner {
        display: block;
        height: auto;
        margin-top: 30px;
        padding: 20px;
        width: 100%;
    }
    #strength .main2 .partner .stdTxt {
        margin-bottom: 10px;
        padding: 0;
    }
    #strength .main2 .member {
        margin-top: 55px;
    }
    #strength .main2 .member .member_list {
        display: block;
        width: 100%;
    }
    #strength .main2 .member .member_list .personal {
        margin-right: 0;
        width: 100%;
    }
    #strength .main2 .member .member_list .personal img {
        width: 100%;
    }
    #strength .main2 .member .member_list .personal .introduce .name {
        font-size: 18px;
    }
    #strength .main2 .member .member_list .personal .introduce .status {
        font-size: 14px;
    }
    #strength .main2 .member .member_list .personal .introduce .specialty {
        font-size: 14px;
    }
    #strength .main3 {
        padding: 50px 0;
    }
    #strength .main3 .point {
        display: block;
        padding: 20px;
        width: 100%;
    }
    #strength .main3 .point .img {
        margin: 0 auto;
        width: 100%;
    }
    #strength .main3 .point p {
        font-size: 14px;
    }
    #strength .main3 .point.point1 {
        margin-top: 0px;
    }
    #strength .main3 .point.point1 .img {
        margin-top: 1em;
    }
    #strength .main3 .point.point2 .img {
        margin: 0;
        margin-top: 1em;
        width: 100%;
    }
    #strength .main3 .point.point2 .stdH3 {
        white-space: normal;
    }
    #strength .main3 .point.point3 {
        margin-bottom: 0;
    }
    #strength .main3 .point.point3 .img {
        margin: 0;
        margin-top: 2em;
        width: 100%;
    }
    #strength .main4 {
        padding: 50px 0;
    }
    #strength .main4 img {
        margin-top: 20px;
        width: 100%;
    }
}


/* -------------------------------------------------------------------- 
 404ページ
-------------------------------------------------------------------- */

.nf404 {
    padding: 250px 0 50px;
}
.nf404 .hd {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 30px;
}
.nf404 p {
    font-size: 16px;
    line-height: 1.8;
}
.nf404 .link {
    margin: 30px 0 0;
    ;
}
.nf404 p a {
    color: #00307B;
    text-decoration: underline;
}

@media screen and (max-width: 768px) {

    .nf404 {
        padding: 100px 0 20px;
    }
}





/* -------------------------------------------------------------------- 
 ServiceNow セミナー　一覧
-------------------------------------------------------------------- */

.subMainvisual2.seminar {
    background: no-repeat url(../img/seminar/mainvisual.png) 0 0 / cover;
}
.seminar h1 span {
    display: block;
    font-size: 22px;
    margin: 25px 20px 0;
}

.seminar_wrap01 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-top: 44px;
}
.seminar_blc {
    text-align: left;
    width: 48.88%;
    margin-top: 40px;
}
.seminar_blc:first-child,
.seminar_blc:nth-child(2) {
    margin-top: 0;
}
.seminar_blc a {
	display: block;
	height: 100%;
}
.seminar_now {
    background: #EEF3F8;
}
.seminar_now .seminar_status {
    background: #D9E5F0;
}
.seminar_now .seminar_status dd {
    background: #FF7F00;
}
.seminar_end {
    background: #F7F7F7;
}
.seminar_end .seminar_status {
    background: #E4E4E4;
}
.seminar_end .seminar_status dd {
    background: #9A9A9A;
}
.seminar_status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 34px 12px;
}
.seminar_status dt {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    letter-spacing: .05em;
    line-height: 1;
    min-width: 7.2em;
    padding: .5em .5em .55em;
    border: solid 1px #707070;
}
.seminar_status dd {
    color: #fff;
    font-size: 23px;
    line-height: 1;
    padding: .392em .435em .478em .478em;
}
.seminar_cont {
    padding: 23px 34px 49px;
}
.seminar_schedule {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.59;
}
.seminar_title {
    color: #00307B;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.615;
    margin: 1em 0 .577em;
    padding: .692em 0;
    border-top: solid 3px #00307B;
    border-bottom: solid 3px #00307B;
}
.seminar_title br {
    display: none;
}

.seminar_sub {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.59;
}
.seminar_summary {
    font-size: 16px;
    line-height: 2.1875;
    margin: 1.938em 0 2em;
}
.seminar_summary_title {
    line-height: 1;
    margin-bottom: .75em;
}
.seminar_summary_title em {
    color: #fff;
    text-align: center;
    letter-spacing: .5em;
    display: inline-block;
    min-width: 4.75em;
    padding: .25em .5em .375em 1.025em;
    background: #222;
    border-radius: 9999px;
}
.seminar_btn {
    font-size: 16px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    text-align: center;
    width: 9.313em;
    padding: .875em 1em 1em;
    background: #fff;
    border: solid 2px #484747;
    transition: .3s;
}
.seminar_blc a:hover {
    opacity: .7;
}
.seminar_blc a:hover .seminar_btn {
    color: #fff;
    background: #484747
}
@media screen and (max-width:768px) {
    .subMainvisual2.seminar {
        background-position: 22% center;
    }
    .seminar h1 span {
        font-size: 18px;
    }

    .seminar_wrap01 {
        display: block;
        padding-top: 25px;
    }
    .seminar_blc {
        width: unset;
        margin-top: 25px
    }
    .seminar_blc:nth-child(2) {
        margin-top: 25px;
    }
    .seminar_status {
        padding-left: 20px;
        padding-right: 20px;
    }
    .seminar_status dt {
        font-size: 15px;
    }
    .seminar_status dd,
    .seminar_schedule,
    .seminar_sub {
        font-size: 17px;
    }
    .seminar_cont {
        padding: 16px 20px 25px;
    }
    .seminar_title {
        font-size: 18px;
    }
    .seminar_summary,
    .seminar_btn {
        font-size: 14px;
    }
}


/* -------------------------------------------------------------------- 
 ServiceNow セミナー　詳細
-------------------------------------------------------------------- */

.subMainvisual1.seminar_detail {
    background: no-repeat url(../img/seminar/mainvisual_detail.png) center center / cover;
}
.subMainvisual1.seminar_detail .headTitle {
    color: #00307B;
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 20px;
}
.subMainvisual1.seminar_detail .headTitle span {
    display: inline-block;
    background: #FFF;
    padding: 5px 15px;
}
.subMainvisual1.seminar_detail h1 {
    font-size: 35px;
    font-weight: 700;
    line-height: 1.7;
    color: #FFF;
    margin: 0 0 24px;
}
.subMainvisual1.seminar_detail .status {
    color: #FFF;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.subMainvisual1.seminar_detail .status .cate {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
    width: 144px;
    border: 1px solid #FFF;
    padding: 5px 15px;
    margin: 0 0 13px;
}
.subMainvisual1.seminar_detail .status .recept {
    font-size: 23px;
    width: 144px;
    padding: 5px 15px;
    margin: 0 0 22px;
}
.subMainvisual1.seminar_detail .status .recept.seminar_now {
    background: #FF7F00;
}
.subMainvisual1.seminar_detail .status .recept.seminar_end {
    background: #9A9A9A;
}
.subMainvisual1.seminar_detail .status .date {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.05em;
}
.prologue {
    padding: 70px 0;
}
.prologue .contentWrap .anker {
    margin: 0 0 50px;
    background: transparent;
}
.outline .contentWrap .anker {
    margin: 50px 0 0;
    background: transparent;
}
.prologue .contentWrap .anker.seminar_end,
.outline .contentWrap .anker.seminar_end {
    display:none;
}
.prologue .contentWrap .anker a,
.outline .contentWrap .anker a,
#strength .main1 .btn_list .btn,
.download .contentWrap .anker a {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #FFF;
    background: #00307B;
    width: 372px;
    display: inline-block;
    padding: 20px 10px;
    position: relative;
    border: 1px solid #00307B;
}
.prologue .contentWrap .anker a:after,
.outline .contentWrap .anker a:after,
#strength .main1 .btn_list .btn:after,
.download .contentWrap .anker a:after {
    content: "";
    position: absolute;
    right: 18px;
    top: 50%;
    margin-top: -4px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
.prologue .contentWrap .anker a:hover,
.outline .contentWrap .anker a:hover,
#strength .main1 .btn_list .btn:hover,
.download .contentWrap .anker a:hover {
    color: #00307B;
    background: #FFF;
}
.prologue .contentWrap .anker a:hover:after,
.outline .contentWrap .anker a:hover:after,
#strength .main1 .btn_list .btn:hover:after,
.download .contentWrap .anker a:hover:after {
    border-top: 2px solid #00307B;
    border-right: 2px solid #00307B;
}
.prologue .head {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.9;
    letter-spacing: 0.05em;
    text-align: left;
    margin: 0 0 22px;
}
.prologue .detail {
    font-size: 16px;
    line-height: 2.0;
    text-align: left;
}
.outline {
    background: #F3FCFE;
    padding: 50px 0;
}
.outline .contentWrap .stdH2 {}
.outline .contentWrap .table {
    margin: 0 0 50px;
    border-right: 1px solid #DBDBDB;
}
.outline .contentWrap .table table {
    width: 100%;
    text-align: left;
    border-top: 1px solid #DBDBDB;
}
.outline .contentWrap .table tr {
    border-bottom: 1px solid #DBDBDB;
}
.outline .contentWrap .table th {
    width: 210px;
    background: #00307B;
    font-size: 16px;
    font-weight: 700;
    color: #FFF;
    padding: 20px;
}
.outline .contentWrap .table td {
    padding: 20px;
    font-size: 16px;
    font-weight: 700;
    background: #FFF;
}
.outline .contentWrap .table td span {
    font-weight: 400;
    display: inline-block;
    margin-top: 10px;
}
.outline .contentWrap .program ul {
    text-align: left;
    display: inline-block;
    width:700px;
    font-size: 16px;
    font-weight: 700;
}
.outline .contentWrap .program ul li {
    position: relative;
    padding: 0 0 0 18px;
    margin: 0 0 18px;
    display: flex;
}
.outline .contentWrap .program ul li:before {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    background: #00307B;
    left: 0;
    top: 9px;
}
.outline .contentWrap .program .time {
    width: 100px;
}
.outline .contentWrap .program .text {
    font-weight: 400;
    flex: 1;
    padding:0 0 0 30px;
}
.introduce {
    padding: 50px 0 0;
}
.introduce .contentWrap .flexCol1 .colBox {
    display: flex;
    text-align: left;
    margin: 0 0 50px;
}
.introduce .contentWrap .flexCol1 .colBox figure {
    width: 276px;
}
.introduce .contentWrap .flexCol1 .colBox .detail {
    flex: 1;
    padding: 0 0 0 50px;
}
.introduce .contentWrap .flexCol1 .colBox h3 {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin: 0 0 30px;
}
.introduce .contentWrap .flexCol1 .colBox .detail .name {
    font-size: 16px;
    margin: 0 0 30px;
}
.introduce .contentWrap .flexCol1 .colBox .detail .name span {
    display: inline-block;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin: 10px 0 6px;
}
.introduce .contentWrap .flexCol1 .colBox .detail .profile {
    font-size: 16px;
    line-height: 2.0;
    padding: 20px 0 0;
    border-top: 1px dotted #707070;
}
.introduce .contentWrap .flexCol1 .colBox .detail .profile span {
    font-weight: 700;
}
.introduce .contentWrap .flexCol2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    text-align: left;
}
.introduce .contentWrap .flexCol2 .colBox {
    width: 545px;
    margin: 0 0 50px;
}
.introduce .contentWrap .flexCol2 .colBox .inner {
    display: flex;
}
.introduce .contentWrap .flexCol2 .colBox .inner figure {
    width: 204px;
}
.introduce .contentWrap .flexCol2 .colBox .detail {
    flex: 1;
    padding: 0 0 0 30px;
}
.introduce .contentWrap .flexCol2 .colBox h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.05em;
    margin: 0 0 30px;
}
.introduce .contentWrap .flexCol2 .colBox .detail .name {
    font-size: 16px;
    margin: 0 0 30px;
}
.introduce .contentWrap .flexCol2 .colBox .detail .name span {
    display: inline-block;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin: 10px 0 6px;
}
.introduce .contentWrap .flexCol2 .colBox .profile {
    font-size: 16px;
    line-height: 2.0;
    padding: 20px 0 0;
}
.introduce .contentWrap .flexCol2 .colBox .profile span {
    font-weight: 700;
}
.application {
    background: #EDF0F6;
    padding: 50px 0;
}
.smp_form {
    padding: 0 50px;
    background: #FFF;
    max-width: 1160px;
}


.smp_form.seminar_now {
}
.smp_form.seminar_now .end_format {
    display:none;
}
.smp_form.seminar_end .end_format {
    color:#D8D8D8;
    font-size:35px;
    font-weight:700;
    padding:50px;
}
.smp_form.seminar_end .now_format {
    display:none;
}


@media screen and (max-width:768px) {


    .subMainvisual1.seminar_detail {
        padding: 30px 20px;
    }
    .subMainvisual1.seminar_detail .headTitle {
        font-size: 18px;
    }
    .subMainvisual1.seminar_detail h1 {
        font-size: 20px;
    }
    .subMainvisual1.seminar_detail .status .cate {
        font-size: 16px;
    }
    .subMainvisual1.seminar_detail .status .recept {
        font-size: 16px;
    }
    .subMainvisual1.seminar_detail .status .date {
        font-size: 18px;
    }
    .subMainvisual1.seminar_detail .status .date span {
        display: block;
    }
    .breadclumb {
        display: none;
    }
    .outline .contentWrap .anker {
        margin: 50px 0 0;
    }
    .prologue .contentWrap .anker a,
    .outline .contentWrap .anker a,
	#strength .main1 .btn_list .btn,
	.download .contentWrap .anker a {
        font-size: 18px;
        width: 100%;
        max-width: 372px;
        padding: 15px 0;
    }
    .prologue .contentWrap .anker a:hover,
    .outline .contentWrap .anker a:hover,
	#strength .main1 .btn_list .btn:hover,
	.download .contentWrap .anker a:hover {
        color: #00307B;
        background: #FFF;
    }
    .prologue .head {
        font-size: 18px;
    }
    .outline .contentWrap .table {
        border-left: 1px solid #DBDBDB;
    }
    .outline .contentWrap .table th {
        width: auto;
        display: block;
    }
    .outline .contentWrap .table td {
        width: auto;
        display: block;
    }
    .outline .contentWrap .program ul li {
        display: flex;
        flex-wrap: wrap;
        margin: 0 0 10px;
    }
    .outline .contentWrap .program .time {
        width: 100%;
        margin: 0 0 10px;
    }
    .outline .contentWrap .program .act {
        width: 100%;
    }
    .outline .contentWrap .program .text {
        padding:8px 0 0;
    }
    .introduce .contentWrap .flexCol1 .colBox {
        display: block;
    }
    .introduce .contentWrap .flexCol1 .colBox figure {
        width: 100%;
        text-align: center;
    }
    .introduce .contentWrap .flexCol1 .colBox figure img {
        max-width: 276px;
    }
    .introduce .contentWrap .flexCol1 .colBox .detail {
        padding: 20px 0 0;
    }
    .introduce .contentWrap .flexCol1 .colBox h3 {
        font-size: 20px;
        margin: 0 0 20px;
    }
    .introduce .contentWrap .flexCol1 .colBox .detail .name {
        margin: 0 0 20px;
    }
    .introduce .contentWrap .flexCol1 .colBox .detail .name span {
        font-size: 18px;
    }
    .introduce .contentWrap .flexCol1 .colBox .detail .profile {
        padding: 20px 0 0;
    }
    .introduce .contentWrap .flexCol2 {
        display: block;
    }
    .introduce .contentWrap .flexCol2 .colBox {
        width: 100%;
    }
    .introduce .contentWrap .flexCol2 .colBox .inner {
        display: block;
    }
    .introduce .contentWrap .flexCol2 .colBox .inner figure {
        width: 100%;
        text-align: center;
    }
    .introduce .contentWrap .flexCol2 .colBox figure img {
        max-width: 276px;
    }
    .introduce .contentWrap .flexCol2 .colBox .detail {
        padding: 20px 0 0;
    }
    .introduce .contentWrap .flexCol2 .colBox h3 {
        font-size: 20px;
        margin: 0 0 20px;
    }
    .introduce .contentWrap .flexCol2 .colBox .detail .name {
        font-size: 16px;
    }
    .introduce .contentWrap .flexCol2 .colBox .detail .name span {
        font-size: 18px;
    }
    .introduce .contentWrap .flexCol2 .colBox .profile {
        padding: 20px 0 0;
        border-top: 1px dotted #707070;
    }
    .introduce .contentWrap .flexCol2 .colBox .profile span {
        font-weight: 700;
    }
    .application {
        background: #EDF0F6;
        padding: 50px 0;
    }


}


/* -------------------------------------------------------------------- 
 ServiceNowの疑問に回答
-------------------------------------------------------------------- */

.subMainvisual1.qa {
    background: no-repeat url("../img/qa/mainvisual.png") center center / cover;
}
.qaLeadBlock {
    padding: 70px 0 100px;
}
.qaLeadBlock h2 {
    font-size: 35px;
    font-weight: 700;
    color: #00307B;
    margin: 0 0 30px;
}
.qaLeadBlock p {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.8;
    color: #000;
    letter-spacing: 0.05em;
}
.qaBlock01 {
    padding: 0 0 60px;
}
.qaBlock01 .contentWrap,
.qaBlock02 .contentWrap{
    width: 1200px;
}
.qaBlock01 .flexCol2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.qaBlock01 .flexCol2 .resBox {
    width: 560px;
    border: 1px solid #00307B;
    padding: 20px;
    margin: 0 0 40px;
}
.qaBlock01 .flexCol2 .resBox .content {
    display: flex;
    justify-content: space-between;
}
.qaBlock01 .flexCol2 .resBox .content .photo {
    display: block;
    width: 204px;
    order: 2;
}
.qaBlock01 .flexCol2 .resBox .content .detail {
    padding: 0 20px 0 0;
    text-align: left;
    flex: 1;
}
.qaBlock01 .flexCol2 .resBox .content .detail .name {
    font-size: 16px;
    color: #00307B;
}
.qaBlock01 .flexCol2 .resBox .content .detail .name span {
    display: block;
    font-size: 22px;
    font-weight: 700;
    padding: 8px 0 15px;
}
.qaBlock01 .flexCol2 .resBox .content .detail .detail {
    font-size: 14px;
    line-height: 1.8;
}
.qaBlock02 {
    background: #F2F9FE;
    padding: 80px 0 50px;
}
.qaBlock02 .anker {
    display: flex;
    flex-wrap: wrap;
}
.qaBlock02 .anker li {
    width: 270px;
    background: #00307B;
    margin: 0 0 30px;
}
.qaBlock02 .anker li:not(:nth-child(4n+1)) {
    margin-right: 26px;
}
.qaBlock02 .anker li:first-child {
    width: 100%;
}
.qaBlock02 .anker li a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #00307B;
    font-size: 20px;
    font-weight: 700;
    color: #FFF;
    padding: 14px 30px 14px 14px;
    position: relative;
    border: 1px solid #00307B;
}
.qaBlock02 .anker li:first-child a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #00307B;
    font-size: 20px;
    font-weight: 700;
    color: #FFF;
    padding: 25px 10px;
}
.qaBlock02 .anker li:not(:first-child) a:after, .qaBlock02 .anker li:first-child a span:after {
    content: "";
    top: 50%;
    right: 16px;
    margin-top: -4px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
}
.qaBlock02 .anker li a span {
    display: block;
}
.qaBlock02 .anker li:first-child a span {
    display: inline-block;
    padding: 0 50px 0 0;
    position: relative;
}
.qaBlock02 .anker li a:hover {
    background: #FFF;
    color: #00307B;
}
.qaBlock02 .anker li:not(:first-child) a:hover:after, .qaBlock02 .anker li:first-child a:hover span:after {
    border-top: 2px solid #00307B;
    border-right: 2px solid #00307B;
}
.qaBlock03 {
    padding: 100px 0 0;
}
.qaBlock03 .catWrap {
    padding: 0 0 50px;
}
.qaBlock03 .catWrap .catTitle {
    background: #00307B;
    font-size: 24px;
    font-weight: 700;
    color: #FFF;
    padding: 15px;
    margin: 0 0 50px;
}
.qaBlock03 .catWrap .qaBox {
    background: #F2F9FE;
    padding: 40px 30px;
    margin: 0 0 50px;
}
.qaBlock03 .catWrap .qaBox .question {
    display: flex;
    align-items: flex-start;
    margin: 0 0 40px;
}
.qaBlock03 .catWrap .qaBox .question .head {
    width: 160px;
    font-size: 20px;
    font-weight: 700;
    color: #FFF;
    background: #00307B;
    padding: 8px;
    border-radius: 4px;
}
.qaBlock03 .catWrap .qaBox .question h4 {
    padding: 0 0 0 40px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.8;
    color: #00307B;
    flex: 1;
    text-align: left;
}
.qaBlock03 .catWrap .qaBox .answer {
    display: flex;
    align-items: flex-start;
    background: #FFF;
    padding: 30px;
}
.qaBlock03 .catWrap .qaBox .answer .respondent {
    width: 200px;
}
.qaBlock03 .catWrap .qaBox .answer .respondent .photo {
    display: inline-block;
    width: 100px;
    margin: 0 0 10px;
}
.qaBlock03 .catWrap .qaBox .answer .respondent p {
    color: #00307B;
    font-size: 16px;
}
.qaBlock03 .catWrap .qaBox .answer .respondent p span {
    display: block;
    font-size: 20px;
    font-weight: 700;
}
.qaBlock03 .catWrap .qaBox .answer .detail {
    padding: 0 0 0 30px;
    text-align: left;
    flex: 1;
    height: 100%;
}
.qaBlock03 .catWrap .qaBox .answer .detail .qahead {
    display:flex;
    justify-content:space-between;
    width:100%;
    cursor: pointer;
}
.qaBlock03 .catWrap .qaBox .answer .detail .qahead .title {
    display:block;
    font-size: 20px;
    font-weight: 700;
    color: #00307B;
    border-bottom: 1px dotted #00307B;
    padding: 0 0 10px;
    margin: 0;
    width:calc(100% - 196px);
}
.qaBlock03 .catWrap .qaBox .answer .detail .qahead .readmore {
    font-size:18px;
    font-weight:700;
    line-height:1;
    width:164px;
    background:#52cde7;
    color:#FFF;
    border:1px solid #52cde7;
    display:flex;
    align-items: center;
    padding:0 0 0 35px;
    position: relative;
    border-radius:4px;
    transition:.3s;
}
.qaBlock03 .catWrap .qaBox .answer .detail .qahead .readmore:before {
    content:"";
    position: absolute;
    left:10px;
    top:50%;
    margin-top:-5px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 8px 0 8px;
    border-color: #ffffff transparent transparent transparent;
}
.qaBlock03 .catWrap .qaBox .answer .detail .qahead .readmore:after {
    content:"Read more";
    font-family: 'Montserrat', sans-serif;
}
.qaBlock03 .catWrap .qaBox .answer .detail .qahead.open .readmore:before {
    border-width: 0 8px 12px 8px;
    border-color: transparent transparent #ffffff transparent;
}
.qaBlock03 .catWrap .qaBox .answer .detail .qahead.open .readmore:after {
    content:"Close";
}


.qaBlock03 .catWrap .qaBox .answer .detail .qahead:hover .readmore {
    background:#FFF;
    color:#52cde7;
}
.qaBlock03 .catWrap .qaBox .answer .detail .qahead:hover .readmore:before {
    border-color: #52cde7 transparent transparent transparent;
}
.qaBlock03 .catWrap .qaBox .answer .detail .qahead.open:hover .readmore:before {
    border-width: 0 8px 12px 8px;
    border-color: transparent transparent #52cde7 transparent;
}


.qaBlock03 .catWrap .qaBox .answer .detail.accordion .accp {
    font-size: 16px;
    line-height: 2;
    padding: 30px 0 0;
    height: auto;
    max-height: 130px;
    overflow: hidden;
    transition: max-height 1s;
    position: relative;
}
.qaBlock03 .catWrap .qaBox .answer .detail.accordion .accp span {
    font-weight: 700;
    font-size: 112.5%;
}
.qaBlock03 .catWrap .qaBox .answer .detail.accordion .accp .catch {
    display: block;    
    font-size: 16px;
    color: #00307B;
}
.qaBlock03 .catWrap .qaBox .answer .detail.accordion .accp figure {
    display: block;
    text-align: center;
    margin: 40px 0 0;
}
.qaBlock03 .catWrap .qaBox .answer .detail.accordion .accp figure img {
    width: auto;
    max-width: 100%;
}
.qaBlock03 .catWrap .qaBox .answer .detail.accordion .accp:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    transition: 1s;
    background: linear-gradient( to bottom, transparent 0%, #ffffff 100%);
}
.qaBlock03 .catWrap .qaBox .answer .detail.accordion .accp.open {
    max-height: 1000px;
}
.qaBlock03 .catWrap .qaBox .answer .detail.accordion .accp.open:after {
    top: 100%;
}
.qaBlock03 .catWrap .qaBox .answer .detail.accordion .related {
    display: flex;
    align-items: flex-start;
    margin: 40px 0 0;
}
.qaBlock03 .catWrap .qaBox .answer .detail.accordion .related .title {
    background: #00307c;
    color: #FFF;
    font-size: 16px;
    font-weight: 500;
    border-radius: 5px;
    padding: 2px 15px 4px;
}
.qaBlock03 .catWrap .qaBox .answer .detail.accordion .related .link {
    padding: 0 0 0 40px;
    display:flex;
    flex-direction:column;
}
.qaBlock03 .catWrap .qaBox .answer .detail.accordion .related .link a {
    font-size: 16px;
}
.qaBlock03 .catWrap .qaBox .answer .detail.accordion .related .link a:before {
    content: "■";
    font-size: 10px;
    color: #00307c;
    margin: 0 14px 0 0;
}



@media screen and (max-width: 768px) {

    .subMainvisual1.qa {
        padding: 30px 20px;
    }
    .qaLeadBlock {
        padding: 50px 0;
    }
    .qaLeadBlock h2 {
    font-size: 20px;
    margin: 0 0 30px;
    }
    .qaBlock01 {
        padding: 0 0 30px;
    }
.qaBlock01 .contentWrap,
.qaBlock02 .contentWrap{
    width: auto;
}
    .qaBlock01 .flexCol2 {
        display: block;
    }
    .qaBlock01 .flexCol2 .resBox {
        width: 100%;
        margin: 0 0 20px;
    }
    .qaBlock01 .flexCol2 .resBox .content {
        display: block;
    }
    .qaBlock01 .flexCol2 .resBox .content .photo {
        display: block;
        width: 100%;
        order: 1;
    }
    .qaBlock01 .flexCol2 .resBox .content .photo img {
        width: auto;
        max-width: 100%;
    }
    .qaBlock01 .flexCol2 .resBox .content .detail {
        padding: 0;
    }
    .qaBlock01 .flexCol2 .resBox .content .detail .name {
        padding: 10px 0 0;
								font-size: 14px;
    }
    .qaBlock01 .flexCol2 .resBox .content .detail .name span {
								font-size: 18px;
    }
    .qaBlock02 {
        padding: 50px 0;
    }
    .qaBlock02 .anker {
        display: block;
    }
    .qaBlock02 .anker li {
        width: 100%;
        margin: 0 0 10px;
    }
    .qaBlock02 .anker li a {
        font-size: 16px;
        padding: 8px 20px 8px 8px;
    }
    .qaBlock02 .anker li:first-child a {
        font-size: 16px;
        padding: 8px 20px 8px 8px;
    }
    .qaBlock02 .anker li a:after {
        content: "";
        top: 50%;
        right: 16px;
        margin-top: -4px;
        width: 8px;
        height: 8px;
        border-top: 2px solid #FFF;
        border-right: 2px solid #FFF;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
        position: absolute;
    }
				.qaBlock02 .anker li:first-child a span:after {
				    display: none
    }
    .qaBlock02 .anker li:first-child a span {
        display: block;
        padding: 0;
    }
    .qaBlock02 .anker li a:hover {
        background: #FFF;
        color: #00307B;
    }
    .qaBlock02 .anker li a:hover:after {
        border-top: 2px solid #00307B;
        border-right: 2px solid #00307B;
    }

    .qaBlock03 {
        padding: 50px 0 0;
    }
    .qaBlock03 .catWrap {
        padding: 0 0 50px;
    }
    .qaBlock03 .catWrap .catTitle {
        font-size: 20px;
        padding: 10px;
        margin: 0 0 50px;
    }
    .qaBlock03 .catWrap .qaBox {
        padding: 20px;
        margin: 0 0 25px;
    }
    .qaBlock03 .catWrap .qaBox .question {
        display: block;
        margin: 0 0 20px;
    }
    .qaBlock03 .catWrap .qaBox .question .head {
        width: 160px;
        font-size: 18px;
        padding: 4px;
    }
    .qaBlock03 .catWrap .qaBox .question h4 {
        padding: 10px 0 0;
        font-size: 18px;
    }
    .qaBlock03 .catWrap .qaBox .answer {
        display: block;
        padding: 20px;
    }
    .qaBlock03 .catWrap .qaBox .answer .respondent {
        width: 100%;
        margin: 0 0 20px;
    }
    .qaBlock03 .catWrap .qaBox .answer .respondent p {
        font-size: 14px;
    }
    .qaBlock03 .catWrap .qaBox .answer .respondent p span {
        font-size: 16px;
    }
    .qaBlock03 .catWrap .qaBox .answer .detail {
        padding: 0;
    }
    .qaBlock03 .catWrap .qaBox .answer .detail .qahead {
    }

.qaBlock03 .catWrap .qaBox .answer .detail .qahead .title {
        font-size: 18px;
    width:calc(100% - 150px);
}
.qaBlock03 .catWrap .qaBox .answer .detail .qahead .readmore {
    font-size:14px;
    width:130px;
}
    .qaBlock03 .catWrap .qaBox .answer .detail.accordion .accp figure {
        margin: 20px 0 0;
    }
    .qaBlock03 .catWrap .qaBox .answer .detail.accordion .accp {
        padding: 15px 0 0;
    }
    .qaBlock03 .catWrap .qaBox .answer .detail.accordion .accp.open {
        max-height: 1800px;
    }
    .qaBlock03 .catWrap .qaBox .answer .detail.accordion .related {
        display: block;
        margin: 20px 0 0;
    }
    .qaBlock03 .catWrap .qaBox .answer .detail.accordion .related .link {
        padding: 10px 0 0;
    }
}


/*---

資料ダウンロード一覧

-------*/

.subMainvisual2.download {
    background: no-repeat url(../img/download/mainvisual.png) 0 0 / cover;
}

.download h1 span {
    display: block;
    font-size: 22px;
    margin: 25px 20px 0;
}


.dlTopNav {
	display: flex;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: center;
    margin: 0 auto;
    max-width: 1060px;
    padding-bottom: 110px;
    width: 100%;
  }
  .dlTopNav li {
	min-width: 330px;
  }
  .dlTopNav li a {
	font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #FFF;
    background: #00307B;
    width: 100%;
    display: inline-block;
    padding: 20px 10px;
    position: relative;
    border: 1px solid #00307B;
  }
  .dlTopNav li a::after {
	content: "";
	position: absolute;
	right: 18px;
	top: 50%;
	margin-top: -6px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	transition: 0.3s;
  }
  .dlTopNav li a:hover {
	color: #00307B;
	background: #fff;
  }
  .dlTopNav li a:hover::after {
	border-color: #00307B;
  }
  .dlContent .dl-item-wrap{
	padding:0 0 100px;
  }
  .dlContent .dl-item-wrap:not(:first-of-type){
	padding: 100px 0;
  }
 
  .dlContent .dl-item-wrap:not(:last-of-type){
	border-bottom: 1px solid #CCC6C6;
  }
  .dl-item-wrap h2{
	font-size: 26px;
	font-weight: bold;
	letter-spacing: 0.025em;
	line-height: 1.73;
	border-left: 12px solid #00307B;
	padding-left: 18px;
	margin-bottom: 50px;
	text-align: left;
	box-sizing: border-box;
  }


  .dl-items{
	display:flex;
	gap:54px;
	flex-wrap:wrap;
  }

  .dl-item{
	width:calc((100% - 108px) / 3);
  }

  .dl-item .thumb{
	margin-bottom: 30px;
	overflow: hidden;
	aspect-ratio: 13/9;
	border:1px solid #C6C6C6;
  }
  .dl-item .thumb img{
	opacity: 1;
	transition: all .3s ease;
  }
  .dl-item .text h3{
	font-size:22px;
	font-weight: bold;
	letter-spacing: 0.05em;
	margin-bottom: 24px;
	text-align: center;
  }
  .dl-item .text p{
	font-size: 16px;
	line-height: 2.06;
	text-align: left;

  }

  .dlbtn{
	margin-top: 46px;
	text-align: center;

  }
  .dlbtn span{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 257px;
	height: 66px;
	border-radius: 100vh;
	color: #fff;
	font-size:16px;
	font-weight: bold;
	letter-spacing: 0.05em;
	background: #002f7b;
	margin:auto;
	position: relative;
	border:1px solid #002f7b;

  }

  .dlbtn span::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 50%;
    margin-top: -6px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    transition: 0.3s;
	transform: rotate(45deg);
}
.dl-item a:hover .thumb img{
	opacity: 0.7;
  }
.dl-item a:hover .dlbtn span{
	background: #fff;
	color:#002f7b;

}
.dl-item a:hover .dlbtn span::after{
	border-color: #002f7b;
}
.download .contactContent {
    padding: 50px 0 0;
    background: #fff;
}
.contactBlock01.dlcta{
	padding:100px 0 40px;
	background: #F4F4F4;
}
.contactBlock01.dlcta .notes{
	padding-top: 100px;
}

@media screen and (max-width:768px) {
	.subMainvisual2.download{
		padding: 30px 20px;
	}
	.subMainvisual2 h1 {
		font-size: 20px;
	}
	.subMainvisual2 h1 span{
		font-size: 18px;
		display: block;
		margin: 25px 0 0;
	}
	.dlTopNav li{
		width:100%;
	}
	.dlTopNav li a{
		font-size: 18px;
		max-width: 372px;
		padding: 15px 0;
	}
	.dlTopNav{
		padding-bottom: 50px;
	}
	.dl-item-wrap {
    padding: 50px 0;
	}
	.dl-item-wrap h2{
		font-size: 20px;
		margin-bottom: 30px;
		border-left: 8px solid #00307B;
	}
	.dl-items{
		flex-direction: column;
		gap:50px;
	}
	.dl-item {
    width: 100%;
	}
	.contactBlock01.dlcta{
		padding:50px 0 30px;
		background: #F4F4F4;
	}
	.contactBlock01.dlcta .notes{
		padding-top: 50px;
	}
}

@media screen and (max-width:414px) {
	.subMainvisual2 h1 span{
		font-size:4vw;
		line-height: 2;
	}
}