/* CSS Document */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
body {
    font-family: "Noto Sans JP", sans-serif;
}
a,
a:visited,
a:active {
    color: #000;
}
img {
    image-rendering: -webkit-optimize-contrast;
}
header #gnavi .contentwrap ul li a,
header #gnavi .contentwrap ul li a:visited,
header #gnavi .contentwrap ul li a:active {
    color: #002896;
}
#page-trail {
    width: 100% !important;
    max-width: none;
    text-align: left;
    padding: 0;
    background: rgba(255, 255, 255, 0.85);
}
#page-trail p {
    max-width: 1200px;
    font-size: 12px;
    line-height: 1.5;
    margin: 0 auto;
    color: #777;
    padding: 11px 0;
}
#page-trail a {
    color: #000;
}
header,
#gnavi {
    line-height: 1.7;
}
.block-center {
    display: flex;
    justify-content: center;
}
/*---------------------------------

  サービストップメインビジュアル

---------------------------------*/
#topMainvisual {
    height: 600px;
    margin: 0 auto;
    background: url(../images/top/top_main.jpg) center top no-repeat;
    background-size: contain;
    background-color: #fff;
}
#topMainvisual h1 {
    display: none;
}
/*---------------------------------

  01_カラー

---------------------------------*/
.blueGradation {
    background-image: linear-gradient(to right, #002896, #124db0 20%, #2966ef 59%, #1a9fd9);
}
.palegray_bg {
    background: #eff4f7 !important;
}
.txt-com-blue {
    color: #002896 !important;
}
.txt-sky-blue {
    color: #00a0f0 !important;
}
/*---------------------------------

  02_フォント（注釈のみ）

---------------------------------*/
.notice {
    font-weight: normal;
    font-size: 12px !important;
}
/*---------------------------------

  03a_見出し(PC)

---------------------------------*/
.contentWrap h1,
.contentWrap h2,
.contentWrap h3,
.contentWrap h4 {
    color: #002896;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
}
.contentWrap h2 {
    font-size: 38px;
}
.contentWrap h2.top_title {
    font-size: 38px;
}
.contentWrap h2.top_title + p:not(.nomal_txt) {
    margin-top: 3px;
    color: #00a0f0;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.5;
    font-family: "Noto Sans", sans-serif;
    text-align: center;
}
.contentWrap h3 {
    margin-bottom: 32px;
    font-size: 30px;
}
.contentWrap .top-underline {
    margin-bottom: calc(32px + 5px);
}
.contentWrap span.title-underline {
    padding: 0 0.5em 5px;
    border-bottom: 3px solid #68bff9;
    font-size: 26px;
}
.contentWrap h4 {
    margin-bottom: 16px;
    font-size: 18px;
}
/*---------------------------------

  04a_ボタン(PC)

---------------------------------*/
a.btn01:hover,
a.btn02:hover,
a.btn03:hover,
a.btn04:hover,
a.btn01:hover::before,
a.btn02:hover::before,
a.btn03:hover::before,
a.btn04:hover::before {
    text-decoration: none;
    transition: all 0.2s;
}
a.btn01,
a.btn02 {
    box-sizing: border-box;
    display: flex;
    position: relative;
    align-items: center;
    width: 295.93px;
    height: 50px;
    margin-bottom: 5px;
    padding-right: 2em;
    padding-left: 24px;
    border: 2px solid;
    border-radius: 25px;
    box-shadow: 3px 5px 0px rgba(0, 40, 150, 0.27);
    color: #fff;
    font-weight: 500;
    font-size: 18px;
    text-decoration: none;
}
a.btn01::before,
a.btn02::before {
    position: absolute;
    right: 24px;
    width: 11.5px;
    height: 11.5px;
    transform: rotate(45deg);
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    content: "";
}
a.btn01 {
    color: #fff;
}
a.btn01.skyBlue {
    border-color: #00a0f0;
    background-color: #00a0f0;
}
a.btn01.skyBlue:hover {
    border: 2px solid #42a0ea;
    background-color: #ceedfd;
    color: #00a0f0;
}
a.btn01.skyBlue:hover::before {
    border-color: #012896;
}
a.btn01.orange {
    border-color: #f59600;
    background-color: #f59600;
}
a.btn01.orange:hover {
    border: 2px solid #f59600;
    background-color: #ffebcc;
    color: #f59600;
}
a.btn01.orange:hover::before {
    border-color: #f59600;
}
a.btn01.comBlue {
    border-color: #00248b;
    background-color: #002896;
}
a.btn01.comBlue:hover {
    border: 2px solid #002896;
    background-color: #c8d3f5;
    color: #002896;
}
a.btn01.comBlue:hover::before {
    border-color: #00248b;
}
a.btn02 {
    background-color: #fff;
}
a.btn02.comBlue {
    border-color: #00248b;
    color: #002896;
}
a.btn02.comBlue::before {
    border-color: #012896;
}
a.btn02.comBlue:hover {
    border: 2px solid #42a0ea;
    background-color: #ceedfd;
}
a.btn02.orange {
    border-color: #f59600;
    color: #f59600;
}
a.btn02.orange::before {
    border-color: #f59600;
}
a.btn02.orange:hover {
    border: 2px solid #f59600;
    background-color: #ffebcc;
    color: #f59600;
}
a.btn03 {
    box-sizing: border-box;
    display: inline-flex;
    position: relative;
    align-items: center;
    padding-left: 33px;
    color: #002896;
    font-weight: 500;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 1.8px;
    text-decoration: none;
}
a.btn03::before {
    position: absolute;
    left: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #002896;
    content: "";
}
a.btn03::after {
    position: absolute;
    top: 6px;
    left: 7px;
    width: 5.5px;
    height: 5.5px;
    transform: rotate(45deg);
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
}
a.btn03:hover {
    color: #00a0f0;
}
a.btn03:hover::before {
    background: #00a0f0;
}
a.btn04 {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    padding: 0 12px;
    border: solid 1px #00248b;
    border-radius: 15px;
    background-color: #fff;
    color: #002896;
    font-size: 16px;
    letter-spacing: 0.8px;
    text-decoration: none;
}
a.btn04:hover {
    background-color: #00238b;
    color: #fff;
}
a.underLine {
    text-decoration: underline;
}
a.underLine:hover {
    color: #a3acb4;
    transition: all 0.2s;
}
/*---------------------------------

  05a_アイコン_バリエーション

---------------------------------*/
a.btn-change-icon01:hover,
a.btn-change-icon01:hover::before {
    text-decoration: none;
    transition: all 0.2s;
}
a.btn-change-icon01,
a.btn-change-icon02 {
    box-sizing: border-box;
    display: flex;
    position: relative;
    align-items: center;
    width: 295.93px;
    height: 50px;
    margin-bottom: 5px;
    padding-right: 3.5em;
    padding-left: 24px;
    border: 2px solid;
    border-radius: 25px;
    box-shadow: 3px 5px 0px rgba(0, 40, 150, 0.27);
    color: #fff;
    font-weight: 500;
    font-size: 18px;
    text-decoration: none;
}
a.btn-change-icon01::before,
a.btn-change-icon02::before {
    position: absolute;
    right: 28px;
    width: 24px;
    height: 19px;
    background: url(../../../common/img/contact.svg) center no-repeat;
    background-size: contain;
    content: "";
}
a.btn-change-icon01:hover::before,
a.btn-change-icon02:hover::before {
    background-image: url(../../../common/img/contact_on.svg);
}
a.btn-change-icon01:hover {
    border: 2px solid #42a0ea;
    background-color: #ceedfd;
}
a.btn-change-icon01.skyBlue {
    border-color: #00a0f0;
    background-color: #00a0f0;
}
a.btn-change-icon01.skyBlue:hover {
    border: 2px solid #42a0ea;
    background-color: #ceedfd;
    color: #00a0f0;
}
a.btn-change-icon01.orange {
    border-color: #f59600;
    background-color: #f59600;
}
a.btn-change-icon01.orange:hover {
    border: 2px solid #f59600;
    background-color: #ffebcc;
    color: #f59600;
}
a.btn-change-icon01.comBlue {
    border-color: #00248b;
    background-color: #002896;
}
a.btn-change-icon01.comBlue:hover {
    background-color: #c8d3f5;
    color: #002896;
}
a.btn-change-icon02 {
    background-color: #fff;
}
a.btn-change-icon02.comBlue {
    border-color: #00248b;
    color: #002896;
}
a.btn-change-icon02.comBlue:hover {
    border: 2px solid #42a0ea;
    background-color: #ceedfd;
}
a.btn-change-icon02.orange {
    border-color: #f59600;
    color: #f59600;
}
a.btn-change-icon02.orange:hover {
    background-color: #ffebcc;
    color: #f59600;
}
/*---------------------------------

  05b_アイコン_バリエーション

---------------------------------*/
a.btn-dl:hover,
a.btn-dl:hover::before {
    text-decoration: none;
    transition: all 0.2s;
}
a.btn-dl {
    box-sizing: border-box;
    display: flex;
    position: relative;
    align-items: center;
    width: 216px;
    height: 52px;
    margin-bottom: 5px;
    padding-left: 24px;
    border: 2px solid #f59600;
    border-radius: 25px;
    background-color: #fff;
    box-shadow: 3px 5px 0px rgba(0, 40, 150, 0.27);
    color: #f59600;
    font-weight: 500;
    font-size: 18px;
    text-decoration: none;
}
a.btn-dl::before {
    position: absolute;
    right: 28px;
    width: 24px;
    height: 19px;
    background: url(../../../common/img/btn-dl.svg) center no-repeat;
    background-size: contain;
    content: "";
}
a.btn-dl:hover {
    border: 2px solid #f59600;
    background-color: #ffebcc;
}
#page-top-area {
    z-index: 10000;
    position: fixed;
    bottom: 10px;
    left: calc(50% + 600px);
}
a.page-top {
    box-sizing: border-box;
    display: inline-flex;
    position: relative;
    align-items: flex-end;
    justify-content: center;
    width: 66px;
    height: 66px;
    padding-bottom: 16px;
    border-radius: 33px;
    background-color: #002896;
    color: #fff;
    font-weight: 500;
    font-size: 14px;
    text-decoration: none;
}
a.page-top::before {
    position: absolute;
    top: 17.7px;
    left: 25.5px;
    width: 11.5px;
    height: 11.5px;
    transform: rotate(-45deg);
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    content: "";
}
a.page-top:hover {
    background-color: #00a0f0;
}
.arrow-img-left,
.arrow-img-right {
    position: relative;
}
.arrow-img-left img,
.arrow-img-right img {
    cursor: pointer;
}
.arrow-img-left .arrow-active,
.arrow-img-right .arrow-active {
    position: absolute;
    top: 1px;
    left: 0;
    opacity: 0;
    transition: all 0.2s;
}
.arrow-img-right img {
    transform: rotate(180deg);
}
.arrow-img-left:hover .arrow-active,
.arrow-img-right:hover .arrow-active {
    opacity: 1;
}
/*---------------------------------

  06_ヘッダー

---------------------------------*/
#subNaviWrap a {
    text-decoration: none;
}
#subNaviWrap {
    height: 70px;
    /*  margin-bottom: 50px;*/
    background: rgba(255, 255, 255, 0.7);
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}
#subNaviWrap.fixed,
#top #subNaviWrap.fixed {
    /*一旦透明度そのまま
  background: rgba(247, 250, 251, 1);*/
    background: rgba(255, 255, 255, 0.9);
}
#subNavi {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    width: 100%;
    max-width: 1366px;
    margin: 0 auto;
    font-weight: 500;
    font-size: 16px;
}
.subNaviM {
    box-sizing: border-box;
    display: flex;
    flex: 1;
    align-items: center;
    padding: 0 56px 0 80px;
    font-size: 16px;
    text-align: center;
}
.subNaviM li {
    position: relative;
}
.subNaviM li.active::after {
    position: absolute;
    right: 0;
    bottom: 21px;
    left: 0;
    width: 100%;
    height: 2px;
    margin: 0 auto;
    background: #68bff9;
    content: "";
}
.subNaviM li:first-of-type {
    margin-right: 32px;
    font-weight: bold;
    font-size: 18px;
    text-align: left;
}
.subNaviM li:nth-of-type(n + 2) {
    margin-right: 32px;
    font-weight: 500;
}
.subNaviM li:last-of-type {
    margin-right: 0;
}
.subNaviM a {
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    height: 70px;
    color: #002896;
}
.subNaviM a:hover {
    text-decoration: none;
}
.subNaviM a:hover:after {
    position: absolute;
    right: 0;
    bottom: 21px;
    left: 0;
    width: 100%;
    height: 2px;
    margin: 0 auto;
    background: #68bff9;
    content: "";
}
#subNaviWrap.fixed {
    z-index: 20;
    position: fixed;
    top: 0px;
    left: 0;
    width: 100%;
}
#subNaviWrap .rightBlock {
    display: flex;
    height: 70px;
}
#subNaviWrap .rightBlock a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 200px;
    color: #fff;
    font-weight: bold;
    font-size: 15px;
    text-align: center;
}
.translated-by-OTFT #subNaviWrap .rightBlock a {
    line-height: 1.2;
}
#subNaviWrap .rightBlock a:hover {
    text-decoration: none;
    opacity: 0.8;
}
#subNaviWrap .rightBlock a img {
    width: 25px;
    padding-bottom: 5px;
}
#subNaviWrap .rightBlock a.inquiry {
    padding-top: 37px;
    border: 1px solid #00a0f0;
    background-image: url(../../../common_2020/images/contact.svg);
    background-position: center top 19px;
    background-size: 22px;
    background-repeat: no-repeat;
    background-color: #00a0f0;
}
#subNaviWrap .rightBlock a.reqinfo {
    padding-top: 36px;
    border: 1px solid #f59600;
    background-image: url(../../../common_2020/images/download.svg);
    background-position: center top 15px;
    background-size: 20px;
    background-repeat: no-repeat;
    background-color: #f59600;
}
#subNaviWrap .rightBlock a.inquiry:hover {
    border: 1px solid #00a0f0;
    background-image: url(../../../common_2020/images/contact_on.svg);
    background-color: #fff;
    color: #00a0f0;
}
#subNaviWrap .rightBlock a.reqinfo:hover {
    border: 1px solid #f59600;
    background-image: url(../../../common_2020/images/download_on.svg);
    background-color: #fff;
    color: #f59600;
}
/*---------------------------------

  CTA上フッターリード

---------------------------------*/
#footer_read {
    background-color: #002896;
    text-align: center;
}
#footer_read h2 {
    color: #fff;
    font-size: 35px;
    line-height: 1.71;
}
/*---------------------------------

  07_CTA

---------------------------------*/
#info {
    padding: 40px 0 15px;
}
#info h2 {
    margin-bottom: 20px;
    color: #fff;
    font-weight: bold;
    font-size: 32px;
    text-align: center;
}
#info h2 + p {
    margin: 32px 0;
    color: #fff;
    font-size: 18px;
    text-align: center;
}
#info .wrap .box02 {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: bold;
    font-size: 24px;
}
#info .wrap .box02:last-child {
    margin-bottom: 32px;
}
#info .wrap .btn {
    position: relative;
    width: 480px;
    height: 80px;
    margin: 0 10px;
}
#info .wrap .btn a {
    box-sizing: border-box;
    display: block;
    z-index: 0;
    position: relative;
    width: 100%;
    font-size: 24px;
    text-align: left;
    text-decoration: none;
}
#info .wrap .btn a span {
    box-sizing: border-box;
    display: inline-flex;
    z-index: 2;
    position: relative;
    align-items: center;
    width: 100%;
    min-height: 80px;
    padding-left: 48px;
    border: 2px solid #002896;
    border-radius: 50px;
    font-size: 24px;
}
#info .wrap .btn a:before {
    box-sizing: border-box;
    z-index: -1;
    position: absolute;
    bottom: 0;
    left: 3px;
    width: 100%;
    height: 100%;
    transform: translateY(5px);
    border-radius: 50px;
    background: #00289645;
    content: "";
}
#info .wrap .btn a:after {
    z-index: 3;
    position: absolute;
    content: "";
    color: #002896;
}
#info .wrap .btn a:hover {
    text-decoration: none;
}
#info .wrap .btn a:hover span {
    background: #ceedfd;
    transition: all 0.2s;
}
#info .wrap .btn.contact a span {
    border: 2px solid #fff;
    background: #00a0f0;
    color: #fff;
}
#info .wrap .btn.pamph a span {
    border: 2px solid #fff;
    background: #f59600;
    color: #fff;
}
#info .wrap .btn.contact a:hover span {
    border: 2px solid #00a0f0;
    background: #fff;
    color: #00a0f0;
}
#info .wrap .btn.pamph a:hover span {
    border: 2px solid #f59600;
    background: #fff;
    color: #f59600;
}
#info .wrap .btn.contact a:after {
    z-index: 3;
    position: absolute;
    top: 50%;
    right: 31px;
    width: 42px;
    height: 29px;
    transform: translateY(-50%);
    background: url(../../../common/img/contact.svg);
    background-size: cover;
    content: "";
}
#info .wrap .btn.pamph a:after {
    z-index: 3;
    position: absolute;
    top: 18px;
    right: 34px;
    width: 34px;
    height: 42px;
    background: url(../../../common/img/download.svg);
    background-size: cover;
    content: "";
}
#info .wrap .btn.contact a:hover:after {
    background: url(../../../common/img/contact_on.svg);
    background-size: cover;
}
#info .wrap .btn.pamph a:hover:after {
    background: url(../../../common/img/download_on.svg);
    background-size: cover;
}
#info .wrap .call {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
}
#info .wrap .call .free_call {
    box-sizing: border-box;
    display: inline-block;
    width: 126px;
    min-height: 65px;
    margin-top: 10px;
    margin-right: 5px;
    padding: 8px 12px 0;
    border: 1px solid #fff;
    color: #fff;
    font-weight: normal;
    font-size: 16px;
    line-height: 1.4;
    text-align: center;
}
#info .wrap .call .tel {
    margin-top: 5px;
    padding: 0 10px;
    color: #fff;
    font-size: 42px;
    line-height: 1;
}
#info .wrap .call .tel a {
    color: #fff;
    text-decoration: none;
}
#info .wrap .call .time {
    margin-bottom: 5px;
    margin-left: 10px;
    padding: 5px 20px;
    border-left: 1px solid #fff;
    color: #fff;
    font-size: 20px;
    vertical-align: middle;
}
/*---------------------------------

  08_タブ

---------------------------------*/
.tabWrap {
    background: #fff;
}
#tab_label {
    display: flex;
    width: 100%;
    margin: 0 0 20px;
}
#tab_label li {
    display: block;
    position: relative;
    flex: 1;
    margin-bottom: 0;
    padding: 30px 15px;
    float: none;
    border-right: 1px solid #fff;
    background-color: #b0b0b0;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    cursor: pointer;
}
#tab_label li:last-of-type {
    border-right: none;
}
#tab_label li:not(.select):hover {
    background-color: #a3acb4;
    color: #ffffff;
}
#tab_label .select {
    background-color: #00a0f0;
    color: #ffffff;
}
#tab_label .select:after {
    position: absolute;
    bottom: -13px;
    left: 50%;
    width: 0;
    height: 0;
    transform: translateX(-50%);
    border-width: 15px 25px 0 25px;
    border-style: solid;
    border-color: #00a0f0 transparent transparent transparent;
    content: "";
}
.tabbox {
    padding: 20px 40px 40px;
}
.tabbox .box {
    display: flex;
    justify-content: space-between;
}
.tabbox .box:not(:last-of-type) {
    margin-bottom: 40px;
}
.tabbox .box .thumb {
    width: 40vw;
    max-width: 350px;
}
.tabbox .box .thumb img {
    width: 100%;
    height: auto;
}
.tabbox .box h2 {
    padding-bottom: 32px;
    color: #000;
    font-size: 23px;
    text-align: left;
}
.tabbox .box .box-right {
    width: 100%;
    padding-left: 24px;
}
.tabbox .box .box-right a {
    color: #000;
    font-size: 20px;
    text-align: left;
    text-decoration: none;
}
/*---------------------------------

  09_カラム

---------------------------------*/
.box .box-list {
    margin-top: 32px;
}
.box .box-list li {
    position: relative;
    padding-left: 1em;
    font-size: 18px;
    line-height: 1.89;
    text-indent: -1em;
    vertical-align: middle;
}
.box .box-list li:not(:last-of-type) {
    margin-bottom: 1em;
}
.box .box-list li:before {
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-right: 8px;
    border-radius: 50%;
    background: #002896;
    content: "";
    vertical-align: middle;
}
.box .box-list.dot-sky li:before {
    background: #00a0f0;
}
.column-box02c {
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
}
.column-box03a,
.column-box03b {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
}
.column-box02c .box {
    width: 50%;
    max-width: 583px;
    margin-right: 40px;
    text-align: center;
}
.column-box02c .box .thumb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.column-box02c .box .thumb img {
    width: 100%;
}
.column-box03a .box,
.column-box03b .box {
    display: flex;
    flex-direction: column;
    width: 31.8%;
    max-width: 375px;
    margin-right: 40px;
    background: #fff;
    box-shadow: 5px 5px 0px #00103a13;
}
.column-box03a.no-shadow .box {
    background: #eff4f7;
    box-shadow: none;
}
.column-box02c .box p:last-child,
.column-box03a .box p:last-child,
.column-box03b .box p:last-child {
    margin-bottom: 0;
}
.column-box02c .box:nth-of-type(2n),
.column-box03a .box:nth-of-type(3n),
.column-box03b .box:nth-of-type(3n) {
    margin-right: 0;
}
.column-box03a .box figure {
    margin-bottom: 0;
}
.column-box03a .box .thumb img {
    width: 100%;
    height: auto;
}
.column-box03a .box .content {
    padding: 0 40px 40px;
}
.column-box02c .box h3,
.column-box03a .box h3,
.column-box03b .box h3 {
    margin-top: 40px;
    margin-bottom: 0;
    font-size: 24px;
}
.column-box03a .box h3 img {
    max-width: 60%;
    max-height: 62px;
    text-align: left;
}
.column-box03a .box .content p {
    text-align: justify;
    text-justify: inter-ideograph;
}
.column-box03a .box .more_btn {
    text-align: right;
}
.column-box03a .box .tag {
    margin: 32px 0;
}
.column-box03a .box .tag li {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    margin: 0 24px 16px 0;
    padding: 0 12px;
    border: solid 1px #00248b;
    border-radius: 15px;
    background-color: #fff;
    color: #002896;
    font-size: 16px;
    letter-spacing: 0.8px;
    text-decoration: none;
}
.column-box03a .box .tag li:last-of-type {
    margin-right: 0;
    margin-bottom: 0;
}
.column-box03b {
    margin-top: 32px;
}
.column-box03b .box {
    box-sizing: border-box;
    position: relative;
    padding: 40px;
    box-shadow: none;
    text-align: center;
}
.column-box03b .box .num {
    position: absolute;
    top: -35px;
    left: 20px;
    color: #002896;
    font-weight: 300;
    font-size: 50px;
    line-height: 1.3;
    font-family: "Noto Sans", sans-serif;
    letter-spacing: 2.5px;
}
/*---------------------------------

  10a_マージン:全体

---------------------------------*/
.block-join {
    margin-bottom: 84px;
}
.contentWrap.smallCntBtm0 {
    padding-bottom: 0;
}
.contentWrap {
    padding: 60px 0 72px;
    color: #000;
}
.contentWrap .contentInner,
.contentThroughRight,
.contentThroughLeft {
    box-sizing: border-box;
    max-width: 1360px;
    margin: 0 auto;
    padding-right: 80px;
    padding-left: 80px;
}
.contentThroughRight,
.contentThroughLeft {
    max-width: 1483px;
}
.contentWrap .contentInner > p:first-child,
.contentThroughRight > p:first-child,
.contentThroughLeft > p:first-child {
    margin-top: 0;
}
.contentWrap .contentInner > p:last-child,
.contentThroughRight > p:last-child,
.contentThroughLeft > p:last-child {
    margin-bottom: 0;
}
/*---------------------------------

  12a_写真:表示

---------------------------------*/
.contentThroughLeft {
    padding-left: 0;
}
.contentThroughRight {
    padding-right: 0;
}
.column-box02a {
    display: flex;
    justify-content: space-between;
    overflow-x: hidden;
}
.column-box02a div {
    box-sizing: border-box;
    width: 50%;
}
.contentThroughRight .column-box02a div,
.contentThroughLeft .column-box02a div {
    width: 51.5%;
}
.contentThroughRight .column-box02a div:first-of-type {
    max-width: 603px;
    margin-right: 40px;
    margin-left: auto;
}
.contentThroughLeft .column-box02a div:last-of-type {
    max-width: 603px;
    margin-right: auto;
    margin-left: 40px;
}
.contentThroughRight .img-through {
    text-align: right;
}
.contentThroughLeft .img-through {
    text-align: left;
}
/*---------------------------------

  14_表

---------------------------------*/
.table-normal {
    width: 100%;
    background-color: #fff;
    color: #707070;
    font-size: 18px;
    line-height: 1.88;
}
.table-normal,
.table-normal td,
.table-normal th {
    padding: 10px 15px;
    border: 1px solid #99a2ab;
    border-collapse: collapse;
    vertical-align: middle;
}
.table-normal tr:first-of-type th {
    box-sizing: border-box;
    height: 60px;
}
.table-normal th {
    background-color: #c7eafd;
}
.table-normal th:first-of-type {
    color: #002896;
}
.table-normal th.em,
.table-normal th.em-top,
.table-normal th.em-left,
.table-normal th.em-right,
.table-normal th.em-bottom {
    background-color: #002896;
    color: #fff;
}
.table-normal .em-top {
    border-top: 2px solid #002896;
}
.table-normal .em-left {
    border-left: 2px solid #002896;
}
.table-normal .em-right {
    border-right: 2px solid #002896;
}
.table-normal .em-bottom {
    border-bottom: 2px solid #002896;
}
.table-normal td.em,
.table-normal td.em-top,
.table-normal td.em-left,
.table-normal td.em-right,
.table-normal td.em-bottom {
    color: #002896;
}
.table-simple {
    background-color: #fff;
    font-size: 18px;
    text-align: left;
}
.table-simple,
.table-simple td,
.table-simple th {
    padding: 16px 21px;
    border: 1px solid #99a2ab;
    border-collapse: collapse;
    line-height: 1.5;
}
.table-simple th {
    width: 280px;
    background-color: #d3dde6;
}
.table-simple ul {
    padding: 7px 0 20px;
}
.table-simple ul:last-of-type {
    padding-bottom: 0;
}
.table-simple ul li {
    position: relative;
    line-height: 1.5;
    list-style-type: none !important;
    vertical-align: middle;
}
.table-simple ul li::before {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 10px;
    margin-left: 5px;
    border-radius: 50%;
    background: #a3acb4;
    content: "";
}
/*---------------------------------

  16_アコーディオン メニュー

---------------------------------*/
dl.accordion {
    border-bottom: solid 1px #a3acb4;
}
dl.accordion dt {
    box-sizing: border-box;
    display: table;
    position: relative;
    width: 100%;
    padding: 40px 160px 25px 70px;
    border-top: solid 1px #a3acb4;
    font-weight: bold;
    font-size: 23px;
    cursor: pointer;
}
dl.accordion dt > span {
    color: #002896;
}
dl.accordion dt.first {
    margin-top: 0;
}
dl.accordion dt.close::before {
    position: absolute;
    top: 47px;
    right: 70px;
    width: 26px;
    height: 20px;
    transform: rotate(90deg);
    background: url(../../../common/img/link_arrow.png) center no-repeat;
    background-size: contain;
    content: "";
}
dl.accordion dt::before {
    position: absolute;
    top: 47px;
    right: 70px;
    width: 26px;
    height: 20px;
    transform: rotate(270deg);
    background: url(../../../common/img/link_arrow.png) center no-repeat;
    background-size: contain;
    content: "";
}
dl.accordion dd {
    max-width: 850px;
    padding: 0 18vw 50px 100px;
    font-size: 18px;
    line-height: 1.89;
}
dl.accordion dd a {
    color: #002896;
    text-decoration: none;
}
dl.accordion dd a:hover {
    color: #002896;
    text-decoration: underline;
}
/*---------------------------------

  XD アートボード【component_A】
  下層ページタイトル

---------------------------------*/
#mainVisual {
    width: 100%;
    height: 326px;
    background-image: linear-gradient(to bottom, #002896, #022c99, #124db0 36%, #48c0ff);
    color: #fff;
    text-align: center;
}
#mainVisual h1 {
    display: inline-block;
    padding: 8px 70px 12px;
    border-bottom: 2px solid #fff;
    font-weight: bold;
    font-size: 38px;
    line-height: 1.3;
    margin-top: 33px;
}
#mainVisual h2 {
    padding-top: 8px;
    font-weight: 300;
    font-size: 30px;
}
/*---------------------------------

  XD アートボード【component_A】
  文章

---------------------------------*/
.contentInner p {
    margin: 32px 0;
    font-size: 18px;
    line-height: 1.89;
}
/*---------------------------------

  XD アートボード【component_A】
  マニュアルダウンロードボタン

---------------------------------*/
a.btn-manual-dl:hover,
a.btn-manual-dl:hover::before {
    text-decoration: none;
    transition: all 0.2s;
}
a.btn-manual-dl {
    box-sizing: border-box;
    display: flex;
    position: relative;
    align-items: center;
    width: 295.93px;
    height: 50px;
    margin-bottom: 5px;
    padding-left: 24px;
    border: 2px solid #00248b;
    border-radius: 25px;
    background-color: #fff;
    box-shadow: 3px 5px 0px rgba(0, 40, 150, 0.27);
    color: #002896;
    font-weight: 500;
    font-size: 18px;
    text-decoration: none;
}
a.btn-manual-dl::before {
    position: absolute;
    right: 28px;
    width: 24px;
    height: 19px;
    background: url(../../../common/img/btn-manual-dl.svg) center no-repeat;
    background-size: contain;
    content: "";
}
a.btn-manual-dl:hover {
    border: 2px solid #42a0ea;
    background-color: #ceedfd;
}
/*---------------------------------

  XD アートボード【component_A】
  アンカーリンク

---------------------------------*/
ul.anchor-link01,
ul.anchor-link02 {
    display: flex;
    flex-wrap: wrap;
}
ul.anchor-link01 li {
    margin-bottom: 10.8px;
}
ul.anchor-link01 li:not(:last-of-type) {
    margin-right: 24px;
}
ul.anchor-link02 li {
    position: relative;
    margin-bottom: 20px;
}
ul.anchor-link02 li:not(:last-of-type)::after {
    display: block;
    position: absolute;
    top: 0;
    right: -8.5px;
    width: 1px;
    height: 49px;
    background-color: #99a2ab;
    content: "";
}
ul.anchor-link02 li:not(:last-of-type) {
    margin-right: 8.5px;
}
ul.anchor-link02 li:not(:first-of-type) {
    margin-left: 8.5px;
}
.anchor-link01 a:hover,
.anchor-link01 a:hover::before,
.anchor-link02 a:hover,
.anchor-link02 a:hover::before {
    text-decoration: none;
    transition: all 0.2s;
}
.anchor-link01 a {
    box-sizing: border-box;
    display: inline-flex;
    position: relative;
    align-items: center;
    min-width: 280px;
    height: 50px;
    margin-bottom: 5px;
    padding-right: 2.5em;
    padding-left: 24px;
    border: 2px solid #00248b;
    border-radius: 25px;
    background-color: #fff;
    box-shadow: 3px 5px 0px rgba(0, 40, 150, 0.27);
    color: #002896;
    font-weight: 500;
    font-size: 18px;
    text-decoration: none;
}
.anchor-link01 a::before {
    position: absolute;
    right: 24px;
    width: 11.5px;
    height: 11.5px;
    transform: rotate(135deg);
    border-top: 3px solid #002896;
    border-right: 3px solid #002896;
    content: "";
}
.anchor-link01 a:hover {
    border: 2px solid #42a0ea;
    background-color: #ceedfd;
}
.anchor-link02 a {
    box-sizing: border-box;
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 288px;
    padding-bottom: 36px;
    border-bottom: solid 1px #00248b;
    color: #002896;
    font-weight: bold;
    font-size: 21px;
    text-decoration: none;
}
.anchor-link02 a::before {
    position: absolute;
    bottom: 18px;
    width: 11.5px;
    height: 11.5px;
    transform: rotate(135deg);
    border-top: 2px solid #002896;
    border-right: 2px solid #002896;
    content: "";
}
/*---------------------------------

  XD アートボード【component_B】
  カラム

---------------------------------*/
.news {
    max-height: 300px;
    padding-right: 10px;
    overflow-y: scroll;
}
ul.news li {
    padding: 5px 0;
}
.news li a {
    display: flex;
    justify-content: flex-start;
    padding: 9px 27px;
    color: #000;
    font-size: 18px;
    text-decoration: none;
}
.news li a > span {
    box-sizing: border-box;
    display: inline-block;
    width: 130px;
    padding-right: 10px;
}
.news li a:hover {
    border-radius: 3px;
    background-color: #fff;
    box-shadow: 3px 5px 0 0 rgba(0, 0, 0, 0.16);
}
.column-box02b {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.column-box02b .box {
    box-sizing: border-box;
    width: 48%;
    margin-bottom: 32px;
    padding: 40px;
    background-color: #fff;
}
.column-box02b .box:nth-last-child(-n + 2) {
    margin-bottom: 0;
}
.column-box02b .box h3 {
    margin-bottom: 32px;
    font-size: 26px;
}
.column-box02b .box ul {
    display: flex;
    align-items: flex-start;
}
.column-box02b .box ul li.thumb {
    flex-shrink: 2;
    width: 30%;
    max-width: 140px;
    padding-top: 32px;
    padding-right: 24px;
}
.column-box02b .box ul li.thumb img {
    width: 100%;
    height: auto;
}
.column-box02b .box ul li.txt {
    flex: 1;
    text-align: justify;
}
.column-box02b .box h4 {
    margin-top: 0px;
    margin-bottom: 32px;
    font-weight: bold;
    font-size: 18px;
    text-align: left;
}
.column-box02b .box p {
    margin: 0;
    padding: 0;
    font-size: 16px;
}
@media screen and (max-width: 1600px) {
    /*---------------------------------

  サービストップメインビジュアル

---------------------------------*/
    #topMainvisual {
        background-size: cover;
    }
}
@media screen and (max-width: 1366px) {
    /*---------------------------------

  06_ヘッダー

  ---------------------------------*/
    #subNavi {
        max-width: 1295px;
        margin-right: 0;
    }
    .subNaviM {
        margin-left: 1vw;
        padding: 0 !important;
    }
    #subNaviWrap .rightBlock a {
        width: 135px;
        line-height: 1;
        text-align: center;
    }
    .subNaviM li:first-of-type {
        margin-right: 5.8vw;
    }
    .subNaviM li:nth-of-type(n + 2) {
        margin-right: 2.3vw;
    }
    /*---------------------------------

  05b_アイコン_バリエーション

  ---------------------------------*/
    #page-top-area {
        right: 10px;
        left: auto;
    }
}
@media screen and (max-width: 768px) {
    /*---------------------------------

  サービストップメインビジュアル

  ---------------------------------*/
    #topMainvisual {
        height: auto !important;
        max-width: 750px;
        margin: 0 auto;
        overflow: hidden;
        background-image: url(../images/top/top_main_sp.jpg);
    }
    #topMainvisual::after {
        display: block;
        padding-top: 160%;
        content: "";
    }
    /*---------------------------------

  02_フォント

  ---------------------------------*/
    .notice {
        font-size: 10px !important;
    }
    /*---------------------------------

  03b_見出し(SP)

  ---------------------------------*/
    .contentWrap h2 {
        font-size: 24px;
    }
    .contentWrap h3 {
        margin-bottom: 24px;
        font-size: 20px;
    }
    .contentWrap .top-underline {
        margin-bottom: calc(32px + 5px);
    }
    .contentWrap span.title-underline {
        font-size: 20px;
    }
    .contentWrap h2.top_title {
        font-size: 24px;
    }
    .contentWrap h2.top_title + p:not(.nomal_txt) {
        font-size: 18px;
    }
    /*---------------------------------

  04b_ボタン(SP)

  ---------------------------------*/
    a.btn01,
    a.btn02,
    a.btn03,
    a.btn04 {
        font-size: 14px;
    }
    a.btn01,
    a.btn02 {
        width: 240px;
        height: 40px;
    }
    a.btn01::before,
    a.btn02::before {
        right: 24.5px;
        width: 6px;
        height: 6px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
    }
    a.btn03 {
        padding-left: 25px;
    }
    a.btn03::before {
        width: 16px;
        height: 16px;
    }
    a.btn03::after {
        top: calc(50% - 2px);
        left: 5.5px;
        width: 2.8px;
        height: 2.8px;
    }
    a.btn04 {
        height: 24px;
        padding: 0 10px;
    }
    /*---------------------------------

  05a_アイコンイラスト

  ---------------------------------*/
    a.btn-change-icon01,
    a.btn-change-icon02 {
        font-size: 14px;
    }
    a.btn-change-icon01,
    a.btn-change-icon02 {
        width: 240px;
        height: 40px;
    }
    /*---------------------------------

  05b_アイコン_バリエーション

  ---------------------------------*/
    a.btn-dl {
        width: 211px;
        height: 40px;
        font-size: 14px;
    }
    a.btn-dl::before {
        right: 21.9px;
        width: 19px;
        height: 20px;
        background: url(../../../common/img/btn-dl-sp.svg) center no-repeat;
    }
    a.page-top {
        width: 48px;
        height: 48px;
        padding-bottom: 8px;
        border-radius: 24px;
    }
    a.page-top::before {
        top: 12px;
        left: 17px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
    }
    .arrow-img-left img,
    .arrow-img-right img {
        width: 24px;
        height: 24px;
    }
    /*---------------------------------

  06_ヘッダー

  ---------------------------------*/
    #subNaviWrap {
        z-index: 10;
        position: relative;
        height: auto;
        margin-bottom: 30px;
    }
    .subNaviM {
        position: absolute;
        flex-wrap: wrap;
        width: 100%;
    }
    .subNaviM li:first-of-type {
        display: inline-flex;
        align-items: center;
        width: 100%;
        height: 65px;
        padding-top: 0;
        padding-left: 24px;
        font-size: 14px;
    }
    .subNaviM li:first-of-type a {
        display: block;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 0;
        text-align: left;
    }
    .subNaviM li:nth-of-type(n + 2) {
        width: 100%;
        margin-right: 0;
        text-align: center;
    }
    .subNaviM li.active::after {
        bottom: 6px;
        width: 56px;
    }
    .subNaviM li:first-child.active::after {
        content: none;
    }
    .subNaviM a {
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
        display: block;
        height: auto;
        padding: 10px 0;
        cursor: pointer;
    }
    .subNaviM a:hover {
        color: #00a0f0;
    }
    .subNaviM a:hover:after {
        content: none;
    }
    .subNaviM a:focus,
    .subNaviM a:hover {
        outline: none;
    }
    #subNaviWrap {
        margin-bottom: 0;
        box-shadow: 1px 2px 4px #8d8d8d78;
    }
    #subNavi {
        justify-content: flex-end;
    }
    #subNaviWrap .rightBlock {
        justify-content: flex-end;
        width: 50%;
        height: 65px;
    }
    #subNaviWrap .rightBlock a {
        box-sizing: border-box;
        position: relative;
        width: 33.9%;
        line-height: 1.3;
        text-align: center;
    }
    #subNaviWrap .rightBlock a.reqinfo {
        padding-top: 29px;
        padding-right: 4px;
        padding-left: 4px;
        background-position: center top 5px;
        background-size: 16px;
        font-size: 11px;
    }
    #subNaviWrap .rightBlock a.inquiry {
        padding-top: 23px;
        background-position: center top 10px;
        background-size: 20px;
        font-size: 11px;
    }
    #sp_menu_btn {
        display: block;
        z-index: 1000;
        position: relative;
        width: 32.3%;
        padding-top: 15px;
        padding-bottom: 20px;
        background: #002897;
        color: #fff;
        text-align: center;
        cursor: pointer;
    }
    #sp_menu_btn.active {
        color: #002896;
    }
    #sp_menu_btn::after {
        position: absolute;
        bottom: 14px;
        left: 50%;
        width: 10px;
        height: 10px;
        margin-top: -5px;
        margin-left: -5px;
        transform: rotate(135deg);
        border-top: solid 2px #fff;
        border-right: solid 2px #fff;
        content: "";
    }
    #sp_menu_btn.active::after {
        z-index: 100;
        position: absolute;
        right: 0;
        bottom: 0;
        left: inherit;
        width: 100%;
        height: 100%;
        margin-top: 0;
        transform: inherit;
        border-top: none;
        border-right: none;
        content: "×";
        color: #fff;
        font-size: 38px;
        text-align: center;
    }
    .subNaviM li:not(:first-child) {
        visibility: hidden;
        height: 0;
        opacity: 0;
        transition: opacity 0.2s;
    }
    .subNaviM.open li:first-child {
        display: inline-flex;
        align-items: center;
        background: rgba(255, 255, 255, 0.95);
    }
    .subNaviM.open li:not(:first-child) {
        visibility: visible;
        height: auto;
        padding: 10px 0;
        background: rgba(255, 255, 255, 0.95);
        opacity: 1;
    }
    /*---------------------------------

    CTA上フッターリード

  ---------------------------------*/
    #footer_read h2 {
        font-size: 25px;
        line-height: 1.6;
    }
    /*---------------------------------

  07_CTA

  ---------------------------------*/
    #info {
        padding: 32px 24px;
    }
    #info .wrap {
        box-sizing: border-box;
        flex-direction: column;
        align-items: center;
        padding: 0;
    }
    #info h2 {
        color: #fff;
        font-size: 20px;
        text-align: center;
    }
    #info .wrap .box01 {
        width: 100%;
        margin-right: 0;
        text-align: center;
    }
    #info .wrap .box01 p:first-of-type {
        font-size: 28px;
    }
    #info .wrap .box01 p:nth-of-type(3) {
        word-wrap: break-word;
        font-size: 50px;
    }
    #info .wrap .box01 h2 + p:first-of-type {
        margin: 16px 0;
        font-size: 14px;
        line-height: 1.64;
    }
    #info .wrap .box02 {
        display: flex;
        flex-direction: column;
        width: 100%;
        font-size: 26px;
    }
    #info .wrap .box02:last-child {
        margin-bottom: 0;
    }
    #info .wrap .btn {
        position: relative;
        width: 100%;
        height: auto;
        margin: 10px auto;
    }
    #info .wrap .btn a span {
        width: 100%;
        min-height: 55px;
        padding-left: 32px;
        font-size: 15px;
    }
    #info .wrap .btn.pamph a:after {
        z-index: 3;
        position: absolute;
        top: 15px;
        right: 23px;
        width: 25px;
        height: 30px;
        background: url(../../../common/img/download.svg);
        background-size: cover;
        content: "";
    }
    #info .wrap .btn.contact a:after {
        z-index: 3;
        position: absolute;
        right: 23px;
        width: 25px;
        height: 18px;
        background: url(../../../common/img/contact.svg);
        background-size: cover;
        content: "";
    }
    #info .wrap .call {
        flex-wrap: wrap;
        margin-top: 16px;
    }
    #info .wrap .call .free_call {
        display: block;
        width: auto;
        height: auto;
        min-height: auto;
        margin-top: 0;
        margin-right: 0;
        margin-bottom: 0;
        padding: 8px 12px;
        border: 1px solid #fff;
        color: #fff;
        font-weight: 500;
        font-size: 14px;
        line-height: 1.2;
    }
    #info .wrap .call .tel {
        flex: 1;
        margin: 0;
        padding: 0;
        padding-left: 4vw;
        color: #fff;
        font-size: 28px;
        line-height: 1;
        text-align: center;
    }
    #info .wrap .call .time {
        display: block;
        margin-top: 5px;
        margin-left: 0;
        padding: 0;
        padding-top: 5px;
        border-top: 1px solid #fff;
        border-left: none;
        color: #fff;
        font-size: 14px;
        line-height: 1.2;
        text-align: center;
    }
    /*---------------------------------

  08_タブ

  ---------------------------------*/
    .tabWrap {
        margin: 0;
        background: #fff;
    }
    #tab_label li {
        padding: 20px 7px;
        font-size: 16px;
    }
    .tabbox {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 12px 24px 32px;
    }
    .tabbox .box {
        flex-direction: column;
        max-width: 297px;
    }
    .tabbox .box:not(:last-of-type) {
        margin-bottom: 32px;
    }
    .tabbox .box .thumb {
        width: 100%;
        max-width: none;
    }
    .tabbox .box h2 {
        padding-top: 24px;
        padding-bottom: 24px;
        font-size: 18px;
    }
    .tabbox .box .box-right {
        padding-left: 0;
    }
    .tabbox .box .box-right a {
        font-size: 14px;
    }
    /*---------------------------------

  09_カラム

  ---------------------------------*/
    .box .box-list {
        margin-top: 24px;
    }
    .box .box-list li {
        font-size: 14px;
        line-height: 1.86;
    }
    .box .box-list.dot-sky li:before {
        background: #00a0f0;
    }
    .column-box02c,
    .column-box03a,
    .column-box03b {
        flex-direction: column;
        align-items: center;
    }
    .column-box02c .box .thumb {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .column-box02c .box,
    .column-box03a .box,
    .column-box03b .box {
        width: 100%;
        max-width: 328px;
        margin-right: 0;
        margin-bottom: 32px;
    }
    .column-box02c .box:last-of-type,
    .column-box03a .box:last-of-type,
    .column-box03b .box:last-of-type {
        margin-bottom: 0;
    }
    .column-box03a .box .content {
        padding: 0 24px 32px;
    }
    .column-box03a .box .tag {
        margin: 24px 0;
    }
    .column-box03a .box .tag li {
        min-height: 24px;
        margin: 0 10px 16px 0;
        padding: 0 10px;
        font-size: 14px;
    }
    .column-box03a .box .tag li:last-of-type {
        margin-right: 0;
        margin-bottom: 0;
    }
    .column-box02c .box h3,
    .column-box03a .box h3,
    .column-box03b .box h3 {
        margin-top: 24px;
        margin-bottom: 0;
        font-size: 20px;
    }
    .column-box02c .box p,
    .column-box03a .box p,
    .column-box03b .box p {
        line-height: 1.86;
    }
    .column-box03b .box {
        padding: 32px 24px;
    }
    .column-box03b .box .num {
        top: -25px;
        font-size: 40px;
    }
    /*---------------------------------

  10a_マージン:全体

  ---------------------------------*/
    .block-join {
        margin-bottom: 42px;
    }
    .contentWrap {
        padding-top: 48px;
        padding-bottom: 56px;
    }
    .contentWrap .contentInner,
    .contentThroughRight,
    .contentThroughLeft {
        padding-right: 24px;
        padding-left: 24px;
    }
    /*---------------------------------

  12a_写真:表示

  ---------------------------------*/
    .contentThroughLeft {
        padding-left: 0;
    }
    .contentThroughRight {
        padding-right: 0;
    }
    .contentThroughLeft img,
    .contentThroughRight img {
        width: 100%;
        height: auto;
    }
    .column-box02a {
        flex-direction: column;
        justify-content: space-between;
    }
    .column-box02a div {
        width: 100%;
    }
    .contentThroughRight .column-box02a div,
    .contentThroughLeft .column-box02a div {
        width: 100%;
    }
    .contentThroughRight .column-box02a div:not(.img-through) {
        width: 100%;
        max-width: none;
        padding-right: 24px;
    }
    .contentThroughLeft .column-box02a div:not(.img-through) {
        width: 100%;
        max-width: none;
        padding-left: 24px;
    }
    .column-box02a div:not(:last-of-type) {
        margin-right: 0;
    }
    /*---------------------------------

  14_表

  ---------------------------------*/
    .table-scroll {
        padding-bottom: 32px;
        overflow-x: scroll;
    }
    .table-normal {
        min-width: 500px;
        font-size: 14px;
        line-height: 1.85;
    }
    .table-simple {
        font-size: 14px;
        line-height: 1.85;
    }
    .table-simple th {
        width: auto;
    }
    /*---------------------------------

  16_アコーディオン メニュー

  ---------------------------------*/
    dl.accordion {
        padding-bottom: 20px;
    }
    dl.accordion dt {
        box-sizing: border-box;
        margin-top: 20px;
        padding: 20px 50px 0 0;
        padding-left: 2em;
        font-size: 16px;
        line-height: 1.94;
        text-indent: -2em;
    }
    dl.accordion dt.close::before {
        top: 30px;
        right: 6px;
        width: 11px;
        height: 15px;
        content: "";
    }
    dl.accordion dt::before {
        top: 30px;
        right: 6px;
        width: 11px;
        height: 15px;
    }
    dl.accordion dd {
        padding: 15px 60px 5px 32px;
        font-size: 14px;
        line-height: 1.86;
    }
    /*---------------------------------

  XD アートボード【component_A】
  文章

  ---------------------------------*/
    .contentInner p {
        margin: 24px 0;
        font-size: 14px;
        line-height: 1.67;
    }
    /*---------------------------------

  XD アートボード【component_A】
  マニュアルダウンロードボタン

  ---------------------------------*/
    a.btn-manual-dl {
        width: 240px;
        height: 40px;
        font-size: 14px;
    }
    a.btn-manual-dl::before {
        right: 21.9px;
        width: 19px;
        height: 20px;
        background: url(../../../common/img/btn-manual-dl-sp.svg) center no-repeat;
    }
    /*---------------------------------

  XD アートボード【component_A】
  アンカーリンク

  ---------------------------------*/
    ul.anchor-link01 li {
        margin-right: 10px !important;
    }
    ul.anchor-link01 li:nth-of-type(2n) {
        margin-right: 0 !important;
    }
    .anchor-link01 a {
        width: 164.5px;
        height: 40px;
        padding-left: 15.6px;
        font-size: 14px;
    }
    .anchor-link01 a::before {
        right: 14px;
        width: 6px;
        height: 6px;
        transform: rotate(135deg);
        border-top: 2px solid #002896;
        border-right: 2px solid #002896;
        content: "";
    }
    .anchor-link01 a:hover {
        border: 2px solid #42a0ea;
        background-color: #ceedfd;
    }
    ul.anchor-link02 li {
        margin-right: 13px !important;
        margin-bottom: 23px !important;
        margin-left: 13px !important;
    }
    ul.anchor-link02 li::after {
        display: block !important;
        position: absolute !important;
        top: 0 !important;
        right: -13px !important;
        width: 1px !important;
        height: 49px !important;
        background-color: #99a2ab !important;
        content: "" !important;
    }
    ul.anchor-link02 li:nth-of-type(2n-1)::before {
        display: block !important;
        position: absolute !important;
        top: 0 !important;
        left: -13px !important;
        width: 1px !important;
        height: 49px !important;
        background-color: #99a2ab !important;
        content: "" !important;
    }
    .anchor-link02 a {
        width: 143px;
        padding-bottom: 30px;
        font-size: 14px;
    }
    .anchor-link02 a::before {
        bottom: 13px;
        width: 11px;
        height: 11px;
    }
    /*---------------------------------

  XD アートボード【component_A】
  下層ページタイトル

  ---------------------------------*/
    #mainVisual {
        height: 208px;
    }
    #mainVisual h1 {
        padding: 27px 10vw 13px;
        font-size: 24px;
    }
    #mainVisual h2 {
        padding: 10px 24px 0;
        font-size: 20px;
    }
    /*---------------------------------

  XD アートボード【component_B】
  カラム

  ---------------------------------*/
    .news li {
        margin-bottom: 20px;
    }
    .news li a {
        display: block;
        padding: 8px;
        font-size: 16px;
    }
    .news li a > span {
        display: block;
        width: 100%;
        margin-bottom: 7px;
        padding-right: 0;
    }
    .column-box02b {
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .column-box02b .box {
        width: 100%;
        max-width: 328px;
        padding: 32px 24px;
    }
    .column-box02b .box:nth-last-child(2) {
        margin-bottom: 32px;
    }
    .column-box02b .box:last-of-type {
        width: 100%;
        margin-bottom: 0;
    }
    .column-box02b .box h3 {
        margin-bottom: 32px;
        font-size: 20px;
    }
    .column-box02b .box ul {
        flex-wrap: wrap;
    }
    .column-box02b .box ul li.thumb {
        width: 100%;
        max-width: none;
        margin-bottom: 24px;
        padding-top: 10px;
        padding-right: 0;
        text-align: center;
    }
    .column-box02b .box ul li.thumb img {
        width: revert-layer;
    }
}
/* 20220926追記 */
@media screen and (max-width:768px) {
    #mainVisual {
        height: auto;
    }
    #mainVisual h2 {
        padding: 10px 24px 40px;
    }
    
    a.page-top:hover {
        background-color: #002896;
    }
    a.page-top:active {
        background-color: #00a0f0;
    }
}
/* 追記ここまで */
/* サブナビCTA追加分 */
#subNaviWrap .rightBlock a {
    width: 141px;
}

#subNaviWrap .rightBlock a.small {
    width: 78px;
}

#subNaviWrap .rightBlock a.login {
    color: #002896;
    padding-top: 37px;
    background-image: url(../img/login-icon.svg);
    background-repeat: no-repeat;
    background-position: center top 18px;
    background-size: 21px;
    border: 1px solid #DADADA;
    background-color: #fff;
}

#subNaviWrap .rightBlock a.login:hover {
    /*  background-color: #CEEDFD;
  border-color: #DADADA;*/
    opacity: 1;
}

@media screen and (max-width:768px) {
    #subNaviWrap .rightBlock a.login {
        font-size: 11px;
    }

    .login.sp_hide {
        display: none !important;
    }
}