@charset "UTF-8";

@-ms-viewport
{
    width: device-width;
    initial-scale: 1;
}
@viewport
{
    width: device-width;
    initial-scale: 1;
}

*{box-sizing:border-box}
button:focus,input:focus,select:focus,textarea:focus{outline:0}

html{
    height:100%;
    font-size:62.5%;
    text-size-adjust:100%;
    scroll-behavior:smooth;
}
body {
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 16px;
    line-height:2.1;
    color:#222;
}

.sp-br {
    display: none;
}

/* スクリーンリーダー専用テキスト */
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border-width: 0 !important;
}

.icon_pdf {
    color: inherit
}
.icon_pdf:before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url(/resources/img/common/icon/icon_pdf.png) no-repeat;
    background-size: contain;
    margin: 0 10px -3px 0
}
img{-webkit-backface-visibility:hidden;backface-visibility:hidden;max-width:100%;height:auto;}
p{margin-bottom:2em}
p:last-child{margin-bottom:0}
a{color:#3257c3;text-decoration:none}
a:hover{text-decoration:underline;color:#3257c3}
::-moz-selection{color:#fff;background:#0e0d6b}
::selection{color:#fff;background:#0e0d6b}
::-moz-selection{color:#fff;background:#0e0d6b}
input:not([type=radio]):not([type=checkbox]),textarea{border-radius:0}

/* ==========================================================================
   Accessibility Enhancements
   ========================================================================== */

/* role="button"を持つspan要素のスタイル */
[role="button"] {
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* フォーカス時のアウトライン */
[role="button"]:focus {
	outline: 2px solid #3257c3;
	outline-offset: -2px;
}

/* マウス操作時はアウトラインを非表示 */
[role="button"]:focus:not(:focus-visible) {
	outline: none;
}

/* navbar_triggerのフォーカススタイル */
.navbar_trigger:focus {
	outline: 2px solid #3257c3;
	outline-offset: 2px;
}

.navbar_trigger:focus:not(:focus-visible) {
	outline: none;
}

.area_contentsWrap{width:100%;}
.area_contents{
    width:1000px;
    border:1px solid #dedede;
    margin:0 auto;position:relative;
    z-index:3;
    background:#fff
}
.area_contentsInner{padding:40px 80px 80px}

.pt70{padding-top:70px;}


.footer{width:100%;z-index:1}
.footer p{margin-bottom:0}
.footer_content1{
    padding: 40px 0 380px;
    color:#222222;
    background:#FFFFFF;
}
.footer_content1 a{color:inherit}
.footer_content2{padding:15px 0 18px;font-size:1rem;background:#fff}
.footer_content3{
    height: 360px;
    color:#fff;
    background:#2B2A8D;
}
.footer_contentWrap{
    width:1000px;
    margin:0 auto;
}
.footer_access {
    display: flex;
    height: 100%;
}

.footer_campany{
    padding-top: 50px;
    padding-left: 55px;
    flex: 1;
}
.footer_campany .footer_campanyName{
    margin-left: 5px;
    font-size: 33px;
    font-weight: bold;
    letter-spacing: 1.32px;
}
.footer_campany .footer_location{
    margin-left: 5px;
    position: relative;
    font-size: 16px;
}
.footer_access_map {
    flex: 1;
    height: 100%;
}
.footer_access_map iframe {
    width: 100%;
    height: 100%;
}

.footer_sitemap{padding-left:5px}
.footer_sitemapList{display:inline-block}
.footer_sitemapList a{position:relative}
.footer_sitemapTitle{
    display:inline-block;
    margin-bottom:20px;
    font-size: 16px;
    font-weight:bold;
    border-bottom:1px solid;width:100%;
}
.footer_sitemapSide{margin-right:10px;float:left;width:200px;}
.footer_sitemapSideLink{margin-right:10px;float:left;width:120px;margin-bottom:20px;font-weight:700;border-bottom:1px solid;}
.footer_linkList a{
    font-size: 14px;
}
.footer_iso{display:inline-block}
.footer_iso img:not(:last-child){margin-right:6px}

.footer_copyrightArea{text-align:right;float:right;}
.footer_nav{display:-webkit-box;display:-ms-flexbox;display:flex}
.footer_navList a{color:#222;font-size:1.4rem;}
.footer_navList:not(:last-child):after{content:"｜";margin:0 1px}

.header {
    height: 50px;
    position: sticky;
    top: 0;
    background: #fff;
    -webkit-box-shadow: 0 3px 8px rgba(59, 62, 62, .2);
    box-shadow: 0 3px 8px rgba(59, 62, 62, .2);
    z-index: 1000;
}
.header_inner{
    position: sticky;
    height: 100%;
    width:95%;
    margin:0 auto;
}
.header_cont:after{content:"";clear:both;display:block}
.header_side{
    float:right;
    position:sticky;
    z-index:3;
    top:0;
}
.header_side .vision_logo {display:inline-block;margin-top:8px;width:190px;}
.header_side .vision_logo img {vertical-align: bottom;}
.header_side .vision_logo.small{width:140px}

.header_logo {
    float: left;
    padding-top: 10px;
    position: relative;
    z-index: 2
}
.header_logo a{
    display: block;
    width: 155px;
    height: 77px;
}
.header_logo a img {
    width: auto;
    height: 72px;
    display: block;
    object-fit: contain;
    object-position: left top;
}
.header_logo,
.vision_logo,
.header_logo a{
    transition-duration:.2s;
}

/* ボタンの基本スタイル */
.btn {
    display: block;
    color: #2B2A8D;                    /* 濃い紺色に統一 */
    border-radius: 40px;
    border: 2px solid #2B2A8D;         /* 濃い紺色に統一 */
    background: #fff;
    -webkit-transition: .4s;
    -o-transition: .4s;
    transition: .4s;
    position: relative;
    cursor: pointer;
}

/* 矢印アイコン */
.btn:after {
    position: absolute;
    content: "";
    top: 50%;
    border-right: 2px solid #2B2A8D;   /* 濃い紺色に統一 */
    border-bottom: 2px solid #2B2A8D;  /* 濃い紺色に統一 */
    -webkit-transition: .4s;
    -o-transition: .4s;
    transition: .4s;
    -webkit-transform: rotate(-45deg) translateY(-75%);
    -ms-transform: rotate(-45deg) translateY(-75%);
    transform: rotate(-45deg) translateY(-75%);
}

/* ホバー/フォーカス状態 */
.btn:hover:not(.is_disabled),
.btn:focus:not(.is_disabled) {
    color: #fff;
    text-decoration: none;
    background: #2B2A8D;               /* 濃い紺色に統一 */
    border-color: #2B2A8D;             /* ボーダーも濃い紺色に */
}

.btn:hover:not(.is_disabled):after,
.btn:focus:not(.is_disabled):after {
    border-color: #fff;
}

/* アクティブ状態（押下時） */
.btn:active:not(.is_disabled) {
    color: #fff;
    background: #2B2A8D;
    border-color: #2B2A8D;
}

.btn:active:not(.is_disabled):after {
    border-color: #fff;
}

/* 非活性状態 */
.btn.is_disabled {
    cursor: default;
    border-color: #bfbfbf;
    color: #bfbfbf;
    background: #fff;
}

.btn.is_disabled:after {
    border-color: #bfbfbf;
}

/* フォーカス時のアウトライン */
.btn:focus {
    outline: 2px solid #2B2A8D;
    outline-offset: 2px;
}

.btn:focus:not(:focus-visible) {
    outline: none;
}

.btn_wrap {
    margin: 80px 0 0;
    text-align: center
}
.btn_case{display:inline-block;min-width:170px;padding:2px 25px;border-width:1px}
.btn_case:after{display:none}
.btn_large {
    display: inline-block;
    width: 360px;
    padding: 20px 70px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5
}
.btn_large:after{width:9px;height:9px;right:35px}
.btn_medium {
    display: inline-block;
    padding: 10px 70px 10px 30px;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5
}
.btn_medium:after{width:9px;height:9px;right:35px}
.btn_back:after {
    right: auto;
    left: 35px;
    border-left: 2px solid #2B2A8D;
    border-top: 2px solid #2B2A8D;
    border-right: none;
    border-bottom: none
}
.btn_ourService {
    font-size: 16px;
    text-align: center;
    color: #2B2A8D;
    background-color: #FFFFFF;
    font-weight: bold;
    padding: 15px 30px 15px 15px;
    border: 3px solid #2B2A8D;
    letter-spacing: 0.72px;
    line-height: 1;
}
.btn_ourService:after {
    width: 8px;
    height: 8px;
    display: block;
    right: 20px;
}
.btn_ourService:hover{
    background:#2B2A8D!important;
    color:#FFFFFF!important;
}
.btn_ourService:hover::after{
    border-color: #FFFFFF!important;
}
.btn_access {
    display: inline;
    font-size: 14px;
    color: #ffffff;
    background-color: #2b2a8d;
    border-color: #ffffff;
    padding: 8px 12px;
    border-width: 1px;
}
.btn_access::after {
    content: none;
}
.btn_access:hover{background:#ffffff!important; color:#2b2a8d!important;}
.formInput, .formTextarea {
    width: 100%;
    border: solid 1px #dcdcdc;
    padding: 11px 9px;
}
.formInput::-webkit-input-placeholder, .formTextarea::-webkit-input-placeholder {
    color: #999
} 
.formInput:-moz-placeholder, .formTextarea:-moz-placeholder {
    color: #999
} 
.formTextarea {
    height: 200px
} 
.formTel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}
.formCheckbox {
    margin: 0 10px 0 0;
    vertical-align: middle
}
.formTable{width:100%;margin-top:50px}
.formTable td, .formTable th {
    text-align: left;
    vertical-align: top;
    padding-top: 20px;
    padding-bottom: 20px
}
.formTable th {
    width: 21%;
    padding-right: 16px
}
.formTable td {
    width: 79%
}
.formLead {
    margin-top: 1em
}
.formBtn .btn {
    margin: 0 10px
}
.formBtn .btn:first-child {
    margin-left: 0
}
.formBtn .btn:last-child {
    margin-right: 0
}
.pageTitle_wrap {
    width: 100%;
    height: 260px;
    overflow: hidden;
    position: relative;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.pageTitle {
    width: 840px;
    margin: 0 auto;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    -webkit-transform: translateY(-30%);
    -ms-transform: translateY(-30%);
    transform: translateY(-30%);
    z-index: 2
}
.pageTitle_mainText {
    display: block;
    font-size: 4rem;
    text-shadow: 
        1px 0 10px #58535E,
        1px 1px 10px #58535E,
        0 1px 10px #58535E,
        -1px 1px 10px #58535E,
        -1px 0 10px #58535E,
        -1px -1px 10px #58535E,
        0 -1px 10px #58535E,
        1px -1px 10px #58535E;
}
.pageTitle_subText {
    display: block;
    font-size: 1.6rem;
    margin-top: 12px;
    text-shadow: 
        1px 0 10px #58535E,
        1px 1px 10px #58535E,
        0 1px 10px #58535E,
        -1px 1px 10px #58535E,
        -1px 0 10px #58535E,
        -1px -1px 10px #58535E,
        0 -1px 10px #58535E,
        1px -1px 10px #58535E;
}
.heading1 {
    margin: 75px 0 27px
}
.heading1_mainText {
    display: inline-block;
    font-size: 2rem;
    line-height: 1.7;
    font-weight: 700;
    color: #333c4e;
    border-bottom: 2px solid #0e0d6b;
    padding: 0 10px 3px 4px
}
.heading1_subText {
    display: block;
    font-size: 1.3rem;
    font-weight: 700;
    color: #7a7a7a;
    padding-left: 4px;
    margin-top: 3px
}
.heading2 {
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: 700;
    color: #0e0d6b;
    border-bottom: 2px solid #d2d2d2;
    padding: 0 0 12px 9px;
    margin: 35px 0 19px 0;
    position: relative
}
.heading2:after {
    content: "";
    display: block;
    width: 120px;
    height: 2px;
    background: #0e0d6b;
    position: absolute;
    bottom: -2px;
    left: 0
}
.heading3 {
    font-size: 2.4rem;
    line-height: 1.4;
    font-weight: 700;
    margin: 30px 0 20px;
    color: #333c4e
}
.subheading1 {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.6;
    padding-left: 1em;
    text-indent: -1em;
    margin: 35px 0 5px
}
.subheading1:before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background: #222;
    margin-right: 4px
}
.img {
    text-align: center;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 60px auto 0
}
.list_indent li {
    padding-left: 1em;
    text-indent: -1em
}
.list_disc li {
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 1px
}
.list_disc li:before {
    content: "・"
}
.list_decimal {
    padding-left: 1.4em
}
.list_decimal li {
    list-style: decimal
}

/* cbox */  

.navbar {
    position: absolute;
    right: 160px;
    font-size: 1.5rem;
    z-index: 1
}
.navbar a {
    color: inherit
}  
.navbar_group {
    font-size: 1.5rem
}  
.navbar_head1 {
    display: block
}
.navbar_head2 {
    display: block;
    width: 220px;
    background: #299DE5;
    padding: 10px 20px 10px 27px
}
.navbar_trigger {
    display: none
}
.basicTable1, .historyTable, .table {
    width: 100%;
    border: 1px solid #dcdcdc
}
.basicTable1 td, .basicTable1 th, .historyTable td, .historyTable th, .table td, .table th {
    word-break: break-word;
    text-align: left;
    border-right: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
    font-size: 16px;
}
.basicTable1 th {
    background: #eee
}
.basicTable1 th {
    width: 150px
}
.basicTable1 td, .basicTable1 th {
    font-size: 1.2rem;
    line-height: 1.6;
    padding: 9px 26px
}
.block_imgText_R:after {
    content: "";
    clear: both;
    display: block
}
.block_imgText_R .block_imgText_img {
    float: right;
    margin: 5px 20px 5px 50px
}

.block_imgColumn:after {
    content: "";
    clear: both;
    display: block
}
.block_imgColumn .block_imgColumn_img {
    float: left
} 
.block_imgColumn .block_imgColumn_img:not(:last-child) {
    margin: 0 6% 0 0
}

/* vision */

/* blead crumbs */
.breadcrumbs {
    width: 100%;
    padding: 17px 80px 0
}
.breadcrumbs li {
    font-size: 16px;
    display: inline-block
}
.breadcrumbs li:nth-child(n+2):before {
    content: ">";
    display: inline-block;
    margin: 0 5px
}  
.breadcrumbs a {
    font-size: 16px;
    text-decoration: underline;
    color: inherit
}

.breadcrumbs-header-top {
    padding: 5px 15%;
    background: #2B2A8D;
}

.breadcrumbs-header-top li {
    color: #FFFFFF;
}

.breadcrumbs-header-top li:nth-child(n+2):before {
    color: #FFFFFF;
}

.breadcrumbs-header-top a {
    color: #FFFFFF;
    text-decoration: none;
}

.breadcrumbs-header-top a:hover {
    text-decoration: underline;
}

.flowList:after{content:"";clear:both;display:block}
.flowList_item{width:120px;text-align:center;float:left;position:relative}
.flowList_item:nth-child(n+2){margin-left:50px}
.flowList_item:nth-child(n+2):before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 0 12px 12px;
    border-color: transparent transparent transparent #bfbfbf;
    position: absolute;
    top: 48px;
    left: -32px
}
.flowList_itemImg{display:block;border:2px solid #bfbfbf;border-radius:50%;overflow:hidden}
.flowList_itemImg img{width:100%;height:auto;vertical-align:middle}
.flowList_itemText1{display:block;font-size:1.2rem;line-height:2;font-weight:700;color:#7a7a7a;margin-top:9px}
.flowList_itemText2{display:block;font-size:1.4rem;line-height:1.7;font-weight:700;color:#3257c3}

.map_access{width:100%;height:400px}
.map_access iframe{width:100%;height:100%}
.map_accessDetail{margin-bottom:25px;}
.map_accessDetail_list{font-size:16px;line-height:1.7}
.map_accessDetail_list dl:after{content:"";clear:both;display:block}
.map_accessDetail_list dt{float:left;margin-right:14px}
.area_contentsInner .alignRight{text-align:right}
.area_contentsInner .alignCenter{text-align:center}
.area_contentsInner .valignTop{vertical-align:top}
.area_contentsInner .valignMiddle{vertical-align:middle}
.area_contentsInner .mt0{margin-top:0}
.area_contentsInner .mb0{margin-bottom:0}
.annotation{font-size:1.2rem}
.historyTable th{width:250px;background:#dcdcdc;padding:22px 16px;border-bottom:none}
.historyTable td{border-bottom:1px solid #dcdcdc;padding:20px 22px 20px;vertical-align:top;}
.messageTitle_wrap{height:470px;background:url(/resources/img/message/bg_img_pc_002.jpg) no-repeat center top;background-size:cover}
.messageTitle_wrap .pageTitle{top:77%}
 
.messageTitle_wrap .pageTitle_mainText{text-shadow:3px 3px 20px #353947,-3px -3px 20px #353947}
.messageTitle_wrap .pageTitle_subText{text-shadow:2px 2px 12px #353947,-2px -2px 12px #353947}
.messageTitle_inner{position:relative;width:1000px;height:410px;margin:0 auto;display:flex;align-items:flex-end;}
.messageTitle_plate{display:inline-block;position:absolute;padding:20px 25px 17px;bottom:20px;right:0;background:#fff}
.messageTitle_plateText1{margin-bottom:0;font-size:1.3rem;line-height:1.5}
.messageTitle_plateText2{font-size:2rem;font-weight:700}
.message_emphasis{font-size:1.8rem;font-weight:700}

.news_btnArea{
    width: 310px;
    margin:50px auto 0;
}
.btn_news {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    color: #2B2A8D;
    background-color: #FFFFFF;
    border: 3px solid #2B2A8D;
    padding: 2px 50px 2px 24px;
} 
.btn_news:after {
    width: 8px;
    height: 8px;
    display: block;
    right: 20px;
    border-color: #2B2A8D;
}
.btn_news:hover{
    background:#2B2A8D!important;
    color:#ffffff!important;
}
.btn_news:hover::after{
    border-color: #FFFFFF!important;
}

.psolution_block .heading1{margin-top:17px}
.psolution_textBox{padding:35px;background:#e6ebee}
.psolution_textBox_head{font-weight:700}

/********************************************************
 * TOP Page CSS start
 ********************************************************/
/* サイト訪問時アニメーション ↓ */

.fade_in_bg {
	position: fixed;
    top: 0;
    left: 0;
	height: 100%;
	width: 100%;
    z-index: calc(infinity);
    animation: fadeInBg 3s forwards;
    animation-timing-function: ease-in-out;
    display: flex;
    justify-content: center;
    align-items: center;
}
.fade_in_str {
    animation: fadeInStr 3s forwards;
    width: 35%;
}
.fade_in_logo_area{
    position: absolute;
    top: 0;
    width: 95%;
}
.fade_in_logo {
    animation: fadeInStr 3s forwards;
    width: 80px;
    float: left;
    position: relative;
    padding-top: 5px;
}

@media screen and (max-width:999px) {
    .fade_in_str {
        width: 50%;
    }
    .fade_in_logo_area {
        width: 100%;
    }
    .fade_in_logo {
        width: 78px;
        padding-top: 0;
        margin: 8px 8px 9px;
    }
}
@media screen and (max-width: 479px) {
    .fade_in_str {
        width: 80%;
    }
}

@keyframes fadeInBg {
    0% {
        pointer-events: auto;
        background-color: rgb(255 255 255 / 1);
    }
    70% {
        pointer-events: auto;
        background-color: rgb(255 255 255 / 1);
    }
    100% {
        pointer-events: none;
        background-color: rgb(255 255 255 / 0);
    }
}
@keyframes fadeInStr {
    0% {
        opacity: 0; /* 開始時の透明度 */
    }
    20% {
        opacity: 1; /* 終了時の透明度 */
    }
    70% {
        opacity: 1; /* 終了時の透明度 */
    }
    100% {
        opacity: 0; /* 開始時の透明度 */
    }
}

/* サイト訪問時アニメーション ↑ */

/* スクロールエフェクト ↓ */

.fadeIn_up {
    opacity: 0;
    transform: translate(0, 15%);
    transition: 1.5s;
}

.fadeIn_up.is-show {
    opacity: 1;
    transform: translate(0, 0);
}

/* スクロールエフェクト ↑ */

/* スクロールアニメーションアイコン ↓ */
.scroll_icon {
    position: relative;
}
.scroll_icon_text {
    display: inline-block;
    position: absolute;
    padding: 10px 10px 110px;
    color: #2B2A8D;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.64px;
    left: 95%;
    transform: translate(-50%, 150px);
}
.scroll_icon_scrollbar {
    position: absolute;
    left: 95%;
    transform: translate(-50%, 150px);
}
.scroll_icon_scrollbar::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 1px;
    height: 100px;
    background: #2B2A8D;
}
.scroll_icon_scrollbar::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: -4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2B2A8D;
    animation: circlemove 3s ease-in-out infinite, cirlemovehide 3s ease-out infinite;
}
@keyframes circlemove {
    0% {
        bottom: 95px;
    }
    100% {
        bottom: 0px;
    }
}
@keyframes cirlemovehide {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    80% {
        opacity: 0.9;
    }
    100% {
        opacity: 0;
    }
}
/* スクロールアニメーションアイコン ↑ */

#main-content > h1 {
    font-size: 48px;
    text-align: center;
    background-color: #E8E7EC;
    width: 80%;
    margin: 0 auto 55px;
    letter-spacing: 1.92px;
    font-weight: bold;
}

.pageid_top::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100vw;
    height: 100vh;
    background-image: url(/resources/img/top/top_bg_img.webp);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.bnr_wrap{
    padding: 120px 0 70px;
    width: 100%;
    margin: 0 auto;
}

.__splide__slide {
    border: 10px solid #FFFFFF;
}
.__splide-arrow--prev {
    left: calc(15% - 4rem);
}
.__splide-arrow--next {
    right: calc(15% - 4rem);
}
.__splide__controls {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1rem;
}
.__splide__controls .splide__pagination {
    position: relative;
    bottom: auto;
    left: auto;
}
.__splide__controls .splide__pagination li button {
    background-color: #B4B4B4; /* ドットの通常色 */
    opacity: 0.7;
    margin: 0 5px; /* ドット間のスペース */
}
.__splide-toggle {
    border:none;
    background:transparent;
}

.catch_wrap {
    position: relative;
    display: flex;
    flex-flow: column;
    align-items: center;
    margin:0 auto;
    background-color: #FFFFFF;
    border: 1px solid #D1D1D1;
    border-radius: 40px;
    padding: 48px 82px;
    width: 80%;
}
.catch_wrap .catch_main {
    margin: 0 auto 12px 0;
}
.catch_wrap .catch_main img{
    width: 235px;
}
.catch_wrap .catch_sub{
    font-size: 20px;
}

.contents_header {
    margin-bottom: 0;
}
.contents_header span{
    display: block;
    line-height: 1.5;
}
.contents_header .main_elm {
    font-size: 40px;
    letter-spacing: 1.6px;
    color: #222222;
    font-weight: bold;
}
.contents_header .sub_elm {
    font-size: 20px;
    letter-spacing: 0.8px;
    color: #707070;
}

.newsArea{
    width: 80%;
    border: 1px solid #D1D1D1;
    border-radius: 40px;
    margin:80px auto;
    padding: 65px 75px;
    background-color: #ffffff;
}
.newsArea .head{
    font-size:3.6rem;
    color: #2B2A8D;
    text-align: center;
}
.newsArea .contents_header{
    text-align: center;
}
.newsArea .contents_header .main_elm{
    color: #2B2A8D;
}
.newsArea .body{
    margin-top: 70px;
}

/* ニュースリスト - PC版 */
.list_news{
    font-weight: bold;
    padding: 25px 0;
    border-bottom: 2px dashed #003EBC;
}
.list_news:after{
    content:"";
    clear:both;
    display:block;
}
.list_news:first-child{
    border-top: 2px dashed #003EBC;
}

/* カテゴリラベル */
.list_news .notice_category,
.list_news .pressrelease_category {
    float: left;
    font-size: 16px;
    color: #2B2A8D;
    margin-right: 20px;
    width: 130px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
}
.list_news .notice_category {
    background-color: #A3C1FE;
}
.list_news .pressrelease_category {
    background-color: #FFD800;
}

/* 日付 */
.list_news time{
    float:left;
    margin-right:16px;
    font-size: 20px;
    letter-spacing: 0.8px;
    line-height: 1.5;
    color: #222222;
    display: block;
}

/* 見出し */
.list_news h3{
    overflow:hidden;
    font-size: 20px;
    color: #222222;
    letter-spacing: 0.8px;
    line-height: 1.5;
    margin: 0;
    font-weight: bold;
    clear: both;
    padding-top: 15px; /* 追加：日付との間隔を確保 */
}
.list_news h3 a{
    color:#0e0d6b;
    display: block;
    width: 100%;
}

/* 説明文 */
.list_news_text{
    font-size: 16px;
    color: #222222;
    font-weight:normal;
    margin-top:10px;
    letter-spacing: 0.64px;
    clear: both;
    padding-top: 0;
}

.list_news .label {
    display: block;
    min-width: 90px;
    text-align: center;
    padding: 7px 0;
    color: #fff;
    line-height: 1.4;
    border-radius: 15px;
    font-size: 1.2rem;
    font-weight: 700;
    margin-left: 20px;
    float: left
}
.list_news .labelMedia{background:#333c4e}

.top_page_contents {
    width: 100%;
}
.service_and_solution_contents {
    margin: 0 auto;
    padding: 120px 0 0;
    background:#F8F8F8;
    position: relative;
}
.service_and_solution_contents .contents_header {
    margin-left: 40px;
    margin-bottom: 65px;
}
.tech_consulting_contents {
    display: flex;
    height: 490px;
}
.tech_consulting_title {
    flex: 5;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: flex-end;
    color: #FFFFFF;
    background: transparent linear-gradient(312deg, #2B2A8D 0%, #003EBC 100%) 0% 0% no-repeat padding-box;
}
.tech_consulting_title div {
    width: 350px;
    margin-right: 10%;
}
.tech_consulting_title h3{
    font-size: 33px;
    font-weight: bold;
    letter-spacing: 1.32px;
    margin: 0;
}
.tech_consulting_title p {
    font-size: 16px;
    letter-spacing: 0.64px;
}
.tech_consulting_link {
    flex: 8;
    background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url(/resources/img/top/about1.jpg?20250812);
    background-size: cover;
    background-repeat: no-repeat;
}
.tech_consulting_link ul {
    width: 310px;
    margin-top: 50px;
    margin-left: 45%;
}
.tech_consulting_link ul li {
    margin-bottom: 25px;
}

.system_dev_contents {
    display: flex;
    height: 490px;
}
.system_dev_title {
    flex: 5;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: flex-end;
    color: #FFFFFF;
    background: transparent linear-gradient(312deg, #2B2A8D 0%, #003EBC 100%) 0% 0% no-repeat padding-box;
}
.system_dev_title div {
    width: 350px;
    margin-right: 10%;
}
.system_dev_title h3{
    font-size: 33px;
    font-weight: bold;
    letter-spacing: 1.32px;
    margin: 0;
}
.system_dev_title p {
    font-size: 16px;
    letter-spacing: 0.64px;
}
.system_dev_link {
    flex: 8;
    background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url(/resources/img/top/about2.jpg?20250812);
    background-size: cover;
    background-repeat: no-repeat;
}
.system_dev_link ul {
    width: 310px;
    margin-top: 50px;
    margin-left: 45%;
}
.system_dev_link ul li {
    margin-bottom: 25px;
}

.package_solution_contents {
    background-color: #FFFFFF;
    padding-top: 140px;
}
.package_solution_contents .contents_header {
    margin-left: 40px;
    margin-bottom: -50px;
}
.package_solution_group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 25px;
    row-gap: 25px;
    translate: 0 100px;
}
.package_solution_info {
    width: 40%;
}
.package_solution_img img {
    display: block;
}
.package_solution_link {
    background-color: #A3C1FE;
    height: 350px;
}
.package_solution_link a {
    color: #222222;
    height: 100%;
    display: flex;
    flex-flow: column;
    align-items: center;
    text-decoration: none;
}
.package_solution_link h3 {
    font-size: 33px;
    font-weight: bold;
    letter-spacing: 1.32px;
    line-height: 1;
    margin-top: 50px;
    margin-bottom: 0;
}
.package_solution_link p {
    font-size: 16px;
    letter-spacing: 0.64px;
    margin: 20px 35px;
    line-height: 1.6;
}
.package_solution_link p:last-child {
    font-weight: bold;
}
.package_solution_link_arrow{
    content: "";
    width: 10px;
    height: 10px;
    border-right: 2px solid #222222;
    border-top: 2px solid #222222;
    display: inline-block;
    margin-left: 10px;
    transform: rotate(45deg);
    transition: .4s;
}

.case_study_contents {
    background-color: #F8F8F8;
    margin-top: 250px;
    padding-top: 140px;
    height: 750px;
}
.case_study_contents .contents_header {
    margin-left: 40px;
    margin-bottom: 90px;
}
.case_study_contents .contents_header p {
    font-size: 16px;
    color: #222222;
    display: inline;
    margin-left: 25px;
}
.case_study_list {
    height: 330px;
    align-items: center;
}
.case_study_info {
    background-color: #003EBC;
    border: 7px solid #003EBC;
    height: 300px;
    z-index: 1;
}
.case_study_info a {
    color: #FFFFFF;
    text-decoration: none;
}
.case_study_info a > p {
    font-size: 20px;
    padding-top: 15px;
    padding-left: 25px;
    line-height: 1;
}
.case_study_info a div {
    text-align: center;
}
.case_study_info a div > p {
    font-size: 23px;
    margin-top: 50px;
    line-height: 1.5;
}
.case_study_img {
    height: 90px;
}
.case_study_info:hover {
    background-color: #FFFFFF;
    border: 7px solid #2B2A8D;
    transform-origin: center;
    transform: scale(1.05);
    transition: 0.3s;
    z-index: 10;
}
.case_study_info:hover a {
    color: #2B2A8D;
}
.case_study_info:hover .case_study_img {
    filter: brightness(0) saturate(100%) invert(12%) sepia(43%) saturate(4461%) hue-rotate(232deg) brightness(112%) contrast(93%);
}
.case_study_info:hover .case_study_arrow {
    border-right: 2px solid #2B2A8D;
    border-top: 2px solid #2B2A8D;
}
.case_study_arrow{
    content: "";
    width: 10px;
    height: 10px;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    display: inline-block;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 10%;
    transition: .4s;
}

.arrow_right a {
    position: relative;
    display:inline-block;
    width: 100%;
}

.arrow_right a::before{
    content: "";
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 8px;
    height: 8px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    transform: rotate(45deg);
}

@media screen and (max-width:999px) {
    /* スクロールエフェクト ↓ */
    .fadeIn_up {
        transform: translate(0, 5%);
    }
    /* スクロールエフェクト ↑ */

    .sp-br {
        display: block;
    }

    #main-content > h1 {
        font-size: 30px;
        letter-spacing: 1.2px;
        line-height: 1.2;
        margin: 100px auto 30px;
    }

    .pageid_top::before {
        background-position: center;
    }

    .bnr_wrap{
        width: 95%;
        padding:70px 0;
        margin: 0 auto;
    }
    .__splide-arrow--prev {
        left: 1em;
    }
    .__splide-arrow--next {
        right: 1em;
    }

    .scroll_icon_text {
        left: 50%;
        transform: translate(-50%, 50px);
    }
    .scroll_icon_scrollbar {
        left: 50%;
        transform: translate(-50%, 50px);
    }

    .catch_wrap {
        padding: 30px 25px;
        margin:0 auto;
        width: 90%;
    }
    .catch_wrap .catch_main {
        margin: 0 auto 6px 0;
    }
    .top_page_contents {
        padding: 0 15px;
    }

    .contents_header {
        text-align: center;
    }
    .contents_header .main_elm {
        font-size: 33px;
    }
    .contents_header .sub_elm {
        font-size: 16px;
    }

    .newsArea{
        width: 90%;
        margin: 40px auto;
        padding:40px 20px 0;
    }
    .newsArea .head{font-size:2.5rem}
    .newsArea .body{margin-top:15px}
    
    /* ニュースリスト - SP版 */
    .list_news{
        padding:15px 0;
        font-size:1rem;
    }
    .list_news .notice_category,
    .list_news .pressrelease_category {
        float: none;
        margin-bottom: 10px;
        margin-right: 0;
    }
    .list_news time{
        float:none;
        margin-right:0;
    }
    .list_news h3{
        margin:0;
        clear: none;
        padding-top: 0; /* SP版では上部パディングをリセット */
    }
    .list_news h3 a {
        padding-top: 10px;
    }
    
    .news_btnArea {
        width: 290px;
        margin: 40px auto 30px;
    }

    .service_and_solution_contents {
        padding: 65px 0 0;
    }
    .service_and_solution_contents .contents_header {
        margin: 0 auto 40px;
    }

    .tech_consulting_contents {
        flex-flow: column;
        height: 550px;
    }
    .tech_consulting_title {
        padding: 35px;
        align-items: normal;
    }
    .tech_consulting_title div {
        width: auto;
        margin-right: 0;
    }
    .tech_consulting_title h3 {
        font-size: 26px;
    }
    .tech_consulting_link ul {
        margin: 15px auto 0;
    }

    .system_dev_contents {
        flex-flow: column;
    }
    .system_dev_title {
        padding: 35px;
        align-items: normal;
    }
    .system_dev_title div {
        width: auto;
        margin-right: 0;
    }
    .system_dev_title h3 {
        font-size: 26px;
    }
    .system_dev_link ul {
        margin: 15px auto 0;
    }

    .package_solution_contents {
        padding-top: 65px;
    }
    .package_solution_contents .contents_header {
        margin: 0 auto 40px;
    }
    .package_solution_group {
        flex-flow: column;
        align-items: center;
        translate: none;
        padding-bottom: 65px;
    }
    .package_solution_info {
        width: 90%;
    }
    .package_solution_link {
        height: auto;
    }
    .package_solution_link h3 {
        font-size: 26px;
    }

    .case_study_contents {
        margin-top: 0;
        padding-top: 65px;
    }
    .case_study_contents .contents_header {
        margin: 0 auto 40px;
    }
    .case_study_contents .contents_header p {
        display: block;
        text-align: left;
        margin: 35px 30px 45px;
    }
    .case_study_slider_wrap {
        width: 90%;
        margin: 0 auto;
    }

    .footer_access {
        flex-flow: column;
    }
}

/********************************************************
 * TOP Page CSS end
 ********************************************************/

/* pc only */
@media screen and (min-width:1000px){
    .header_logo.small a {
        width: 80px;
        height: 35px;
    }
    .header_logo.small a img {
        height: 42px;
        margin-top: -5px;
    }
    
    .footer_linkList a:before{top:4px}
    .footer_linkList li{margin-bottom: 10px}
    .formInput{height:49px}
    .navbar{bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;}
    .navbar>li{position:relative}
    .navbar>li:hover{background:#0e0d6b;color:#fff}
    .navbar>li:hover .navbar_group{display:block}
    .navbar>li:hover .navbar_group2Col>.navbar_groupItem{display:flex;flex-wrap:wrap;}
    .navbar>li:focus-within{background:#0e0d6b;color:#fff}
    .navbar>li:focus-within .navbar_group{display:block}
    .navbar>li:focus-within .navbar_group2Col>.navbar_groupItem{display:flex;flex-wrap:wrap;}
    .navbar>li>.navbar_head1,.navbar>li>a{cursor:pointer;display:block;height:100%;padding: 10px 25px;}
    .navbar>li>.navbar_head1:hover,.navbar>li>a:hover{text-decoration:none;}
    .navbar>li.linkIcon img {
        height: 40px;
        top: 5px;
        left: 5px;
        position: absolute;
        transition: opacity .7s;
    }
    .navbar>li.linkIcon img:last-of-type {
        opacity: 0;
    }
    .navbar>li.linkIcon:hover{background:#A3C1FE;}
    .navbar>li.linkIcon:hover img:first-of-type{opacity:0;}
    .navbar>li.linkIcon:hover img:last-of-type{opacity:1;}
    .navbar_group{display:none;position:absolute;top:100%;background:#272691}
    .service_tab{display:none;top:100%;position:absolute;background:#272691;left:-220px}
    .service_tab_list{border-top:1px solid #0e0d6b;}
    .navbar_group>li{display:-webkit-box;display:-ms-flexbox;display:flex;width:220px}
    .navbar_group .navbar_group2Col{width:1000px}
    .navbar_groupItem{padding:10px 20px 10px 27px;-webkit-box-flex:1;-ms-flex:1;flex:1}
    .navbar_groupItem.is_lower{font-size:1.4rem}
    .navbar_groupItem>li{margin:3px 0}
    .is_lower>li{margin:3px 10px; width:30%;}

    .historyTable tr:nth-child(n+2) th{border-top:1px solid #fff}

    .spCont{display:none !important}
    .tab_sp_Cont{display:none !important}
    .js_toggleContets:not(.is_spToggle){display:none}
}



/* tablet only */
@media screen and (max-width:999px) and (min-width:480px){
    .pcCont{display:none !important}
    .spCont{display:none !important}
}

/* tablet / sp */
@media screen and (max-width:999px) {
    body {
        font-size:16px;
        line-height:1.8;
        min-width:0;
    }

    .area_contentsWrap{padding:0 15px;}
    .area_contents{
        width:100%;
    }
    .area_contentsInner{padding:24px 25px 50px}

    .footer_content1{padding:10px 0 0}
    .footer_content2{padding:12px 15px 0}
    .footer_content3{
        height: 460px;
    }
    .footer_contentWrap{width:100%;overflow:auto}
    .footer_campany{
        padding: 35px 30px 40px;
    }
    .footer_campany .footer_campanyName{
        margin-bottom: 15px;
        font-size: 23px;
    }
    .footer_campany .footer_location{
        font-size: 16px;
    }
    .footer_campany .footer_location p {
        margin-bottom: 30px;
    }
    .footer_access .btn_access {
        font-size: 18px;
        display: block;
        width: 310px;
        text-align: center;
        margin: 0 auto;
    }
    .footer_sitemap{padding-left:0}
    .footer_sitemapList{display:block}
    .footer_sitemapList_end_sp{margin-bottom: 55px !important;}
    .footer_sitemapTitle{
        margin-bottom:0;
        display:block;
        padding:12px 29px;
        border-top:1px solid #2B2A8D;
        border-bottom:none;
        position:relative;
        background:#FFFFFF;
        margin-bottom: 3px;
    }
    .footer_sitemapTitleSp{
        margin-bottom:0;
        display:block;
        padding:12px 29px;
        border-top:1px solid #4e5e7d;
        border-bottom:none;
        position:relative;
        background:#FFFFFF;
        margin-bottom: 3px;
        font-size: 16px;
        font-weight: bold;
    }
    .footer_sitemapTitle:after{
        position:absolute;
        content:"";
        width:6px;
        height:6px;
        top:50%;
        margin-top:-3px;
        margin-left: 20px;
        border-right:2px solid #222222;
        border-bottom:2px solid #222222;
        -webkit-transform:rotate(-45deg);
        -ms-transform:rotate(-45deg);
        transform:rotate(-45deg);
    }
    .footer_sitemapTitle.js_toggleTrigger{cursor:pointer}
    .footer_sitemapTitle.js_toggleTrigger:after{
        -webkit-transform:rotate(45deg);
        -ms-transform:rotate(45deg);
        transform:rotate(45deg);
    }
    .footer_sitemapSide{margin-right:0;float:none;width:auto;}
    .footer_sitemapSideLink{margin-right:0;float:none;width:auto;margin-bottom:0;border-bottom:none;}
    .footer_linkList{padding:12px 0;}
    .footer_linkList a{
        display:block;
        padding:10px 0 10px 70px;
    }
    .footer_linkList a:after{
        position:absolute;
        content:"";
        width:6px;
        height:6px;
        top:50%;
        right:80px;
        margin-top:-3px;
        border-right:2px solid #fff;
        border-bottom:2px solid #fff;
        -webkit-transform:rotate(-45deg);
        -ms-transform:rotate(-45deg);
        transform:rotate(-45deg);
    }
    .footer_linkList_arrow_marginSet a:after{
        right:auto;
        margin-left: 5px;
    }
    .footer_iso{display:block}
    .footer_iso img{width:auto;height:33px}
    .footer_iso img:not(:last-child){margin-right:5px}
    .footer_copyrightArea{width:100%;float:none}
    .footer_copyright{
        display:block;
        padding-bottom:6px;
        font-size:.9rem;
        text-align:center;
    }
    .footer_nav{display:none}

    .header{height:58px}
    .header_inner{width:100%}
    .header_side{margin:15px 60px 0 0}
    .header_logo{
        padding:0;
    }
    .header_logo a {
        width: 78px;
        height: 40px;
        margin: 8px 8px 9px;
    }
    .header_logo a img {
        height: 40px;
    }
    .btn_wrap{margin:50px 0 0}
    .btn_case{display:block;min-width:0;padding:15px 30px 15px 20px;}
    .btn_large{width:100%;padding:15px 25px;font-size:1.5rem}
    .btn_large:after,
    .btn_medium:after{width:6px;height:6px;right:6%}
    .btn_back:after{right:auto;left:6%}
    .btn_ourService{padding:15px 30px 15px 20px;font-size:1.2rem;}
    .btn_ourService:after{width:6px;height:6px;right:15px}
    .formTable{margin-top:0}
    .formTable tr{display:block;margin-bottom:28px}
    .formTable td,.formTable th{display:block;padding:0}
    .formTable th{width:100%;font-size:1.5rem;padding-right:0;margin-bottom:5px}
    .formTable td{width:100%}
    .formLead{margin-top:0}
    .formBtn{display:-webkit-box;display:-ms-flexbox;display:flex}
    .formCheckboxList li{margin-bottom:10px}
    .pageTitle{width:100%;padding:0 25px}
    .pageTitle_mainText{font-size:2.5rem}
    .pageTitle_subText{font-size:1.2rem;margin-top:6px}
    .heading1{margin:56px 0 18px}
    .heading1_mainText{padding:0 10px 3px 0}
    .heading1_subText{font-size:1.2rem;padding-left:0;margin-top:6px}
    .heading2{font-size:1.5rem;padding:0 0 15px 0;margin:45px 0 20px 0}
    .heading3{font-size:1.8rem}
    .subheading1{font-size:1.5rem;margin:22px 0 5px}
    .subheading1:before{width:11px;height:11px;margin-right:3px}
    .icon_pdf:before{width:13px;height:13px;margin:0 6px -1px 0}
    .img{margin:30px auto 0}
    .spLinkIcon {
        display: inline-block;
        transition: transform .2s;
    }
    .spLinkIcon:active {
        transform: scale(.90);
        background-color: #A3C1FE;
    }
    .spLinkIcon img {
        height: 45px;
        margin: 5px 15px 0 15px;
    }
    .navbar{
        top:100%;
        font-size:1.2rem;
        color:#fff;
        height:calc(100vh - 58px);
        overflow:auto;
        display:none;
        padding-bottom:70px;
        background:#fff;
        z-index: 999;
        width: 100%;
        left: 0;
    }
    .is_navopen .navbar{display:block}

    .navbar_group{font-size:1.2rem}
    .navbar_single:not(:last-child){border-bottom:solid 1px #4e5e7d}
    .navbar_head1{
        font-weight: bold;
        font-size: 18px;
        padding: 20px;
        background: #003EBC;
    }
    .navbar_head2{
        width:100%;
        font-size: 18px;
        font-weight:bold;
        color: #2B2A8D;
        background:#FFFFFF;
        padding:13px 20px;
    }
    .navbar_groupItem{padding:12px 0;background:#0e0d6b}
    .navbar_groupItem a{
        display:block;
        font-size: 16px;
        padding:10px 0 10px 40px;
        text-decoration:none;
    }
    .navbar_trigger{display:block;width:60px;height:58px;position:absolute;right:0;top:0;cursor:pointer}
    .navbar_trigger span{width:30px;height:3px;background:#bfbfbf;display:block;position:absolute;top:50%;left:50%;-webkit-transition:all .4s;-o-transition:all .4s;transition:all .4s}
    .navbar_trigger span:nth-of-type(1){-webkit-transform:translate(-50%,-13px);-ms-transform:translate(-50%,-13px);transform:translate(-50%,-13px)}
    .navbar_trigger span:nth-of-type(2){-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}
    .navbar_trigger span:nth-of-type(3){-webkit-transform:translate(-50%,11px);-ms-transform:translate(-50%,11px);transform:translate(-50%,11px)}
    .navbar_trigger.is_open span:nth-of-type(1){-webkit-transform:translate(-50%,-50%) rotate(-45deg);-ms-transform:translate(-50%,-50%) rotate(-45deg);transform:translate(-50%,-50%) rotate(-45deg)}
    .navbar_trigger.is_open span:nth-of-type(2){opacity:0}
    .navbar_trigger.is_open span:nth-of-type(3){-webkit-transform:translate(-50%,-50%) rotate(45deg);-ms-transform:translate(-50%,-50%) rotate(45deg);transform:translate(-50%,-50%) rotate(45deg)}
    .navbar_trigger.is_open+.navbar{display:block}

    .basicTable1 td,.basicTable1 th,.historyTable td,.historyTable th,.table td,.table th{font-size:16px;}
    .basicTable1 th{background:#f7f7f7}
    .basicTable1 th{width:32%}
    .basicTable1 td,.basicTable1 th{
        padding:14px 13px
    }

    .historyTable td,.historyTable th,
    .basicTable1 td,.basicTable1 th{
        font-size:16px;
        padding:14px 13px;
        display:block;
        width:100%;
        border-right:none;
    }
    .historyTable tr:last-child td:last-child,
    .basicTable1 tr:last-child td:last-child{
        border-bottom:none;
    }
    .block_imgText_R{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;text-align: center;}
    .block_imgText_R .block_imgText_img{float:none;width:47%;margin:30px auto 0}
    .block_imgColumn .block_imgColumn_img{float:none;width:100%}
    .block_imgColumn .block_imgColumn_img:not(:last-child){margin:0 0 7%}
    .breadcrumbs{padding:10px 15px 0}
    .breadcrumbs li{font-size:16px}
    .breadcrumbs a{font-size:16px}

    .breadcrumbs-header-top {
        padding: 5px 5%;
    }

    .flowList_item{width:58%;float:none;margin:0 auto;max-width:172px;}
    .flowList_item:nth-child(n+2){margin:72px auto 0}
    .flowList_item:nth-child(n+2):before {
        border-width: 17px 18px 0 18px;
        border-color: #bfbfbf transparent transparent transparent;
        top: -47px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%)
    }
    .flowList_itemText1{line-height:2.2;margin-top:12px}
    .flowList_itemText2{font-size:1.7rem;line-height:2.2}
    .map_accessDetail_list{line-height:1.6}
    .map_accessDetail_list dt{float:none;margin-bottom:3px}
    .map_accessDetail_list dd{margin-bottom:16px}
    .map_accessDetail_list dd:last-child{margin-bottom:0}
    .messageTitle_wrap{height:280px;background-image:url(/resources/img/message/bg_img_sp_002.jpg)}
    .messageTitle_wrap .pageTitle_mainText{text-shadow:3px 3px 10px #353947,-3px -3px 10px #353947}
    .messageTitle_wrap .pageTitle_subText{text-shadow:2px 2px 6px #353947,-2px -2px 6px #353947}
    .messageTitle_inner{width:100%;height:255px}
    .messageTitle_plate{padding:10px 13px 8px;bottom:10px;left:15px;right:auto}
    .messageTitle_plateText1{font-size:1rem}
    .messageTitle_plateText2{font-size:1.4rem}
    .message_emphasis{font-size:1.5rem}
    .psolution_block .heading1{margin-top:30px}
    .psolution_textBox{padding:25px 20px}
    .psolution_textBox .psolution_textBox_img{width:90%}

    .js_toggleContets{display:none}

    .arrow_right a::before{
        right: 70px;
    }
}

/* SP */
@media screen and (max-width: 479px) { 
    .pcCont{display:none !important}
    body {
        font-size: 16px;
        line-height:1.8;
        min-width:0;
    }
    .map_access{height:192px}
}


/* IE only */
@media all and (-ms-high-contrast:none){
    body{font-family:"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro",sans-serif}
}
/* IE (PC size) */
@media all and (-ms-high-contrast:none) and (min-width: 1000px){
    *::-ms-backdrop, .header {top: 0px;}
}

@-webkit-keyframes Animation_gradient{
    0%{background-size:100%}
    50%{background-size:120%}
    100%{background-size:100%}
}
@keyframes Animation_gradient{
    0%{background-size:100%}
    50%{background-size:120%}
    100%{background-size:100%}
}

/********************************************************
 * Service page CSS start
 ********************************************************/

/* ========================================
   ページタイトルエリア - 画像背景上に配置
   ======================================== */

.page_title {
    width: fit-content;
    max-width: 90%;
    margin: 0 0 0 15%;
    padding: 0;
    font-weight: 700;
    line-height: 1.2;
    color: #FFFFFF;
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.page_title h1 {
    font-size: 48px;
    margin: 0;
    letter-spacing: 1.92px;
    line-height: 1.2;
    font-weight: bold;
    color: #FFFFFF;
    background: #2B2A8D;
    padding: 15px 10px 12px;
    width: fit-content;
}

.page_title p {
    font-size: 16px;
    font-weight: bold;
    color: #FFFFFF;
    margin: 0;
    background: #2B2A8D;
    padding: 10px 10px 8px;
    width: fit-content;
    line-height: 1;
}

/* ========================================
   セクション共通スタイル
   ======================================== */

.page_sub_title {
    margin-top: 40px;
}

.page_sub_title h2 {
    color: #2B2A8D;
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 1.6px;
    line-height: 1.5;
}

.page_sub_title p {
    font-size: 16px;
    margin-top: 20px;
}

.area_contents-1{
    width:100%;
    background-color:#FFFFFF;
    overflow: hidden;
}

.area_contents-1 > section {
    width: 70%;
    margin: 0 auto;
    padding-bottom: 100px;
}

.area_contents-2 {
    width: 100%;
}

.area_contents-2 > section {
    width: 80%;
    margin: 0 auto;
    padding-bottom: 100px;
}

.area_contents-3 {
    width:100%;
    background-color:#2B2A8D;
    margin-bottom:100px;
    padding-top: 70px;
}

.area_contents-3 > section {
    width: 70%;
    margin: 0 auto;
    padding-bottom: 100px;
}

/* ========================================
   タブレット / SP 対応
   ======================================== */

@media screen and (max-width:999px) {
    .pageTitle_wrap {
        height: 240px;
    }

    .page_title {
        width: fit-content;
        max-width: 90%;
        margin: 0 0 0 5%;
        padding: 0;
        gap: 8px;
    }
    
    .page_title h1 {
        margin: 0;
        letter-spacing: 1.04px;
    }
    
    .page_title p {
        font-size: 14px;
    }

    .page_sub_title {
        margin-top: 30px;
    }

    .page_sub_title h2 {
        font-size: 28px;
        margin-bottom: 15px;
    }

    .area_contents-1 > section {
        width: 90%;
        padding-bottom: 0;
    }

    .area_contents-3 > section {
        width: 90%;
    }
}

@media screen and (max-width: 479px) {
    .page_title {
        width: fit-content;
        max-width: calc(100% - 30px);
        padding: 0;
        gap: 6px;
    }
    
    .page_title h1 {
        font-size: 30px;
        letter-spacing: 0.88px;
        padding: 12px 8px 9px;
    }
}

/* ========================================
   実施例・技術領域セクション
   ======================================== */

/* H3実施例タイトルのスタイル */
.example-heading,
.technical-area-heading {
    margin: 0 0 40px;
    border-bottom: none;
    padding-bottom: 0;
}

.example-heading .technology_mainText,
.technical-area-heading .technology_mainText {
    width: 100%;
    display: inline-block;
    font-size: 27px;
    line-height: 1.5;
    font-weight: bold;
    color: #2B2A8D;
    border-bottom: 2px solid #2B2A8D;
    padding: 0 10px 5px 4px;
    background: transparent;
}

.example-heading .technology_subText,
.technical-area-heading .technology_subText {
    display: block;
    font-size: 16px;
    font-weight: bold;
    color: #2B2A8D;
    padding-left: 4px;
    margin-top: 8px;
    border-bottom: none;
}

/* 表部分 */
.technology_table {
    background-color: #FFFFFF;
    padding: 50px 70px;
    margin-bottom: 70px;
}

/* 実施例テーブルのスタイル */
.example-table {
    border: 1px solid #DEDEDE;
    border-collapse: collapse;
    width: 100%;
}

.example-table tbody tr {
    border-bottom: 1px solid #DEDEDE;
}

.example-table tbody tr:last-child {
    border-bottom: none;
}

.example-table tbody tr:nth-child(odd) {
    background-color: #F5F5F5;
}

.example-table tbody tr:nth-child(even) {
    background-color: #FFFFFF;
}

.example-table th,
.example-table td {
    border: none;
    vertical-align: top;
    background: transparent;
}

.example-table th {
    width: 190px;
    padding: 25px 26px;
    font-size: 18px;
    font-weight: 700;
    color: #222;
    text-align: left;
    border-right: 1px solid #DEDEDE;
}

.example-table td {
    padding: 25px 26px;
    font-size: 16px;
}

/* リストスタイル */
.example-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.example-list li {
    position: relative;
    padding-left: 0;
    margin-bottom: 8px;
    line-height: 1.8;
    color: #222;
}

.example-list li:last-child {
    margin-bottom: 0;
}

/* タブレット / SP */
@media screen and (max-width:999px) {
    .technology_table {
        padding: 50px 20px;
    }

    .example-heading,
    .technical-area-heading {
        margin: 0 0 25px;
    }
    
    .example-heading .technology_mainText,
    .technical-area-heading .technology_mainText {
        font-size: 2rem;
        padding: 0 10px 3px 0;
        border-bottom: 2px solid #2B2A8D;
    }
    
    .example-heading .technology_subText,
    .technical-area-heading .technology_subText {
        font-size: 1.2rem;
        margin-top: 6px;
        padding-left: 0;
    }
    
    .example-table {
        border: 1px solid #DEDEDE;
    }
    
    .example-table tbody tr {
        display: block;
        border-bottom: 1px solid #DEDEDE;
        margin-bottom: 0;
    }
    
    .example-table tbody tr:last-child {
        border-bottom: none;
    }
    
    .example-table th {
        width: 100%;
        padding: 15px 13px 10px;
        font-size: 18px;
        display: block;
        border-right: none;
        border-bottom: 1px solid #DEDEDE;
        background-color: #F5F5F5;
    }
    
    .example-table td {
        width: 100%;
        padding: 10px 13px 18px;
        display: block;
        border: none;
        background-color: #FFFFFF;
    }
    
    .example-list li {
        font-size: 1.3rem;
        margin-bottom: 6px;
        line-height: 1.7;
    }
}

/* ========================================
   課題リスト
   ======================================== */

.tecnologys_listTask {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 60px;
}

.tecnologys_listTask li {
    flex: 1;
    background: #E8EEFC;
    list-style: none;
}

.tecnologys_listTask .adjuster {
    padding: 30px 25px;
}

/* 課題見出しのスタイル */
.tecnologys_listTask .task-heading {
    font-size: 33px;
    font-weight: bold;
    color: #2B2A8D;
    line-height: 1.2;
    margin: 0 0 15px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #2B2A8D;
}

/* 課題説明文のスタイル */
.tecnologys_listTask .task-description {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.7;
    color: #222;
    margin: 0;
}

/* タブレット / SP */
@media screen and (max-width:999px) {
    .tecnologys_listTask {
        display: block;
        margin-top: -20px;
        transform: translateY(50px);
    }
    
    .tecnologys_listTask li {
        margin-bottom: 20px;
    }
    
    .tecnologys_listTask li:last-child {
        margin-bottom: 0;
    }
    
    .tecnologys_listTask .adjuster {
        padding: 25px 20px;
    }
    
    .tecnologys_listTask .task-heading {
        font-size: 26px;
        margin: 0 0 12px 0;
        padding-bottom: 8px;
    }
    
    .tecnologys_listTask .task-description {
        font-size: 18px;
        line-height: 1.6;
    }

    .area_contents-2 > section {
        width: 100%;
    }
}

/* ========================================
   課題解決セクション
   ======================================== */

/* 課題解決ラッパー */
.tecnologys_solution-wrapper {
    position: relative;
    margin: 50px 0 0;
}

/* 課題解決ヘッダー(重なる部分) */
.tecnologys_solution-header {
    text-align: center;
    position: relative;
    z-index: 2;
    margin-bottom: -60px;
}

.tecnologys_solution-title {
    display: inline-block;
    background: #FFFFFF;
    color: #2B2A8D;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    padding: 20px 80px;
    margin: 0;
    border: 4px solid #2B2A8D;
}

/* 課題解決セクション(青い背景エリア) */
.tecnologys_solution {
    background: #A3C1FE;
    padding: 90px 70px 60px;
    position: relative;
    z-index: 1;
}

/* 課題解決コンテンツ */
.tecnologys_solution-content {
    display: flex;
    align-items: center;
    gap: 50px;
}

.tecnologys_solution-text {
    flex: 1;
    color: #2B2A8D;
}

.tecnologys_solution-text p {
    color: #222222;
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
    font-weight: 400;
}

.tecnologys_solution-image {
    flex: 1;
    width: 350px;
}

.tecnologys_solution-image img {
    width: 90%;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* タブレット / SP */
@media screen and (max-width:999px) {
    .tecnologys_solution-wrapper {
        margin: 100px 0 0;
    }
    
    .tecnologys_solution-header {
        margin-bottom: -40px;
    }
    
    .tecnologys_solution-title {
        font-size: 28px;
        padding: 15px 40px;
        border-width: 3px;
    }
    
    .tecnologys_solution {
        padding: 60px 20px 50px;
    }
    
    .tecnologys_solution-content {
        display: block;
    }
    
    .tecnologys_solution-text {
        margin-bottom: 30px;
    }
    
    .tecnologys_solution-text p {
        font-size: 16px;
        line-height: 1.7;
    }
    
    .tecnologys_solution-image {
        width: 100%;
        max-width: 350px;
        margin: 0 auto;
    }
}

/* ========================================
   コンタクトボタン
   ======================================== */

.btn_contact_wrap {
    margin: 80px 0 0;
    text-align: center;
}

.btn_contact {
    display: block;
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
    padding: 0;
    height: 80px;
    background: #FFFFFF;
    border: none;
    border-radius: 100px;
    text-align: center;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.btn_contact::after {
    display: none;
}

.btn_contact-sub {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    font-weight: 700;
    color: #2B2A8D;
    line-height: 1.2;
    transition: color 0.3s ease;
}

.btn_contact-sub::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #2B2A8D;
    border-top: 2px solid #2B2A8D;
    transform: rotate(45deg);
    margin-left: 10px;
    transition: border-color 0.3s ease;
}

/* ホバー時 */
.btn_contact:hover,
.btn_contact:focus {
    background: #2B2A8D;
    text-decoration: none;
    outline: 3px solid #FFFFFF;
}

.btn_contact:hover .btn_contact-sub,
.btn_contact:focus .btn_contact-sub {
    color: #FFFFFF;
}

.btn_contact:hover .btn_contact-sub::after,
.btn_contact:focus .btn_contact-sub::after {
    border-color: #FFFFFF;
}

/* フォーカス時のアウトライン */
.btn_contact:focus {
    outline: 3px solid #FFFFFF;
    outline-offset: 4px;
}

.btn_contact:focus:not(:focus-visible) {
    outline: none;
}

/* タブレット / SP */
@media screen and (max-width:999px) {
    .btn_contact_wrap {
        margin: 0;
    }

    .btn_contact {
        max-width: 320px;
        padding: 0;
        height: 70px;
        border-radius: 80px;
    }
    
    .btn_contact-sub {
        font-size: 1.6rem;
        font-weight: 700;
    }
    
    .btn_contact-sub::after {
        width: 7px;
        height: 7px;
        margin-left: 8px;
    }
}

@media screen and (max-width:479px) {
    .btn_contact {
        max-width: 280px;
        padding: 0;
        height: 65px;
        border-radius: 60px;
    }
    
    .btn_contact-sub {
        font-size: 1.6rem;
        font-weight: 700;
    }
    
    .btn_contact-sub::after {
        width: 6px;
        height: 6px;
        margin-left: 6px;
    }
}

/********************************************************
 * Service page CSS end
 ********************************************************/