/* CSS Document */
/* common */
html,
body {
    margin: 0;
    padding: 0;
    font-size: 1rem;
    font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
    overflow-wrap: anywhere;
}

html {
    scroll-behavior: smooth;
}
[tabindex]:focus-visible {
  outline: 2px solid #0066ff;
}
select {
    appearance: none; 
    background-image: url('../images/arrow_16_2px_down_ss.png');
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 30px; 
}

select.form-select {
    background-image: url('../images/arrow_16_2px_down_ss.png'); 
    background-repeat: no-repeat;
    background-position: right 10px center; 
    padding-right: 30px;
}
.main_nav .bi-search:hover{
	cursor: pointer;
}
p{
	margin: 0;
}
hr {
    color: #DCDCDC;
    margin-top: 50px;
    border: 1px solid #DCDCDC;
}
i,em {
    font-family: 'Times New Roman','ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','ＭＳ Ｐゴシック',serif;
}
.bi-box-arrow-up-right {
    font-size: small;
    margin-left: 5px;
}

.fullscreen-container {
    display: flex;
    flex-direction: column;
    height: 100vh;
    justify-content: flex-start;
    width: 100%;
    padding: 0;
    margin: 0;
    overflow-x: hidden;
}

.row-content {
    max-width: 1240px;
    margin: 0 auto;
    padding-right: 20px;
    padding-left: 20px;
    box-sizing: border-box;
}
.con-content {
    max-width: 1100px;
    margin: 0 auto;
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 20px;
}
#related_content .con-content,
.index .con-content {
    max-width: 1240px;
}

.z11_tag .con-content li:nth-child(4) {
	min-width: 162px;
}
.con-content a{
	text-decoration: none;
}
.full-width-image {
    width: 100%;
    height: auto;
}

.row {
    --bs-gutter-x: 0rem;
}

.padding_l10 {
    padding-left: 10px;
}

.padding_r10 {
    padding-right: 10px;
}

.p_0 {
    padding: 0
}

.m_r20 {
    margin-right: 20px;
}

.m_b01 {
    margin-bottom: -1px;
}
.m_b04 {
    margin-bottom: -4px;
}

.m_b10 {
    margin-bottom: 10px;
}

.m_t30 {
    margin-top: 30px;
    clear: both;
}

.m_t10 {
    margin-top: 10px;
}

.m_t20 {
    margin-top: 20px;
}

.m_t35 {
	margin-top: 35px;
}

.m_t5 {
    margin-top: 5px;
}

.m_t60{
	margin-top: 60px;
}

.mt_06 {
    margin-top: -6px;
}

.m_l10 {
    margin-left: 10px;
}

.m_r10 {
    margin-right: 10px;
}
.min_w{
	min-width: 694px!important;	
}

.text_r {
    text-align: right;
}

.line_gray {
    border-bottom: 1px solid #dcdcdc;
}

.bg_gray {
    background-color: #f7f7f7;
}
#related_content.bg_gray{
    background-color: #ffffff;
}

.line_h {
    width: 100%;
    float: left;
    overflow: hidden;
}

/* icons */
.bi-arrow-right {
    font-size: 1.5rem;
    font-weight: bold;
    color: #141B4D;
    stroke-width: 2;
}

.bi-arrow-right-short {
    font-size: 1.8rem;
    font-weight: bold;
    color: #141B4D;
}

.bi-arrow-down-short {
    font-size: 1.25rem;
    font-weight: bold;
    color: #222222;
    margin: 7px 5px 0 0;
}

.bi-search {
    font-size: 1.25rem;
    font-weight: bold;
    color: #222222;
    margin: 5px 15px 0 0;
}

.bi-chevron-down, .bi-chevron-up{
    font-weight: bold;
    color: #222222;
    margin-left: 5px;
}

.bi-person {
    font-size: 1.125rem;
    font-weight: bold;
    color: #141B4D;
    margin-right: 5px;
}

.bi-globe {
    font-size: 1.125rem;
    font-weight: bold;
    margin-left: 5px;
}

.bi-wechat {
    font-size: 1.125rem;
    font-weight: bold;
    margin-right: 5px;
}

.btn_01 {
    width: 100%;
    height: 48px;
    align-items: center;
    background-color: #af272f;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer;
    border-radius: 24px;
    transition: background-color 0.3s;
    padding: 0 30px;
    white-space: nowrap;
    display: inline-block;
    max-width: 185px;
    line-height: 3.2;
    position: relative;
    overflow: hidden;
    margin: 30px 0 20px 0;
}

.btn_01:hover {
    background-color: #ffffff;
    color: #AF272F;
    border: 1px solid #AF272F;
}

.transparent {
    padding: 50px 50px 0 50px;
    z-index: 0;
    border: 0;
    width: 100%;
    margin: 30px auto;
    text-align: center;
}

.h01_nav {
    font-weight: bold;
    margin-left: 10px;
    font-size: 3rem;
}

/* header start */
#header {
    margin: 0px auto;
    height: 70px;
    width: 1200px;
    position: relative;
    z-index: 101;
    padding: 0;
}

#sp_header {
    height: 45px;
    width: 767px;
    position: relative;
    z-index: 101;
    margin-top: -10px;
}

.header {
    width: 100%;
    height: 115px;
    float: left;
    border-bottom: 1px solid #dcdcdc;
    background: #f2f2f2;
}

.sp_header {
    width: 100%;
    height: 45px;
    float: left;
    border-bottom: 1px solid #dcdcdc;
    background: #f2f2f2;
}

.header_bg {
    border-bottom: 1px solid #dcdcdc;
    background: #f2f2f2;
    height: 110px;
}
.header_bg>.row {
    max-width: 1240px;
    margin: 0 auto;
}

.header_bg2 {
    border-bottom: 1px solid #dcdcdc;
    background: #f2f2f2;
    height: 40px;
}

.header_cont_btn {
    width: 31px;
    height: 28px;
    background: url(../images/icon_10.svg) no-repeat;
    text-align: right;
    margin-top: 5px;
}

.header_f {
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 3.75;
	margin-left: 15px;
}
.language img{
	margin-left: 5px;
}
.sp_header_f {
    font-size: 1rem;
    font-weight: bold;
    line-height: 2.8125;
    margin-left: 5px;
}

.sp_header1_r {
    padding-top: 5px;
    float: right;
}

.flex-row {
    flex-direction: row !important;
    display: flex;
    align-items: center;
}

.flex-item {
    padding: 0 0 0 20px;
    white-space: nowrap;
}
.flex-item:hover{
	cursor: pointer;
}

.f2_menu_left ul a {
    text-decoration: none;
}

.menu_nar {
    background: url(../images/tune.png) no-repeat left center;
    font-size: 1rem;
    padding-left: 50px;
    position: relative;
    display: flex;
    align-items: center;
    font-weight: normal;
	flex-shrink: 0;
}

.login_btn {
    /*width: 100%;*/
    height: 36px;
    line-height: 2.5714;
    background-color: #fff;
    color: #141b4d;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 0.875rem;
    font-weight: bold;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 24px;
    transition: background-color 0.3s;
    border: 1px solid #141b4d;
    padding: 0 5px;
    white-space: nowrap;
    display: inline-block;
    min-width: 155px;
    position: relative;
    overflow: hidden;
}

.login_btn_img {
    position: absolute;
    width: 17px;
    height: 15px;
    background: url(../images/icon_02.svg) no-repeat;
    top: 10px;
    left: 15px;
    margin-right: 10px;
    padding-left: 25px;
    display: flex;
    align-items: center;
    pointer-events: none;
}

.login_btn:hover .login_btn_img {
    background: url(../images/icon_02a.svg) no-repeat;
}

.login_btn:hover {
    background-color: #141b4d;
    color: #fff;
}

.login_btn a{
	background-color: #fff;
    color: #141b4d;
    text-decoration: none;
}
.login_btn:hover a{
    background-color: #141b4d;
    color: #fff;
}

.login_btn2 {
    height: 36px;
    line-height: 2.5714;
    background-color: #af272f;
    color: #fff;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 0.875rem;
    font-weight: bold;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 24px;
    transition: background-color 0.3s;
    padding: 0 5px;
    white-space: nowrap;
    min-width: 240px;
    position: relative;
    overflow: hidden;
}

.login_btn2_img {
    position: absolute;
    width: 25px;
    height: 17px;
    background: url(../images/icon_talk03.svg) no-repeat;
	background-size: 25px 17px;
    top: 10px;
    left: 20px;
    margin-right: 10px;
    padding-left: 30px;
    display: flex;
    align-items: center;
    pointer-events: none;
}

.login_btn2:hover .login_btn2_img {
    background: url(../images/icon_talk03a.svg) no-repeat;
	background-size: 25px 17px;
}

.login_btn2:hover {
    background-color: #ffffff;
    color: #AF272F;
    border: 1px solid #AF272F;
}

.login_btn2 a{
    background-color: #af272f;
    color: #fff;
    text-decoration: none;
}
.login_btn2:hover a{
    background-color: #ffffff;
    color: #AF272F;
    border: 1px solid #AF272F;
}

/* header change start */
.header1,
.header2,
header3,
.slider1,
.slider2,
.footer_s,
.footer_l {
    display: none;
}

.slider .right-column.padding_r10 img{
    border-radius: 10px;
}
}
@media (max-width:1024px){
    .login_btn, .login_btn2{
        margin: 5px auto;
    }
}

@media (max-width: 767px) {

    .header1,
    .slider1,
    .footer_s {
        display: block;
    }

    .slider {
        margin-top: 45px;
    }

    .row-content,
    .field_cards {
        padding-left: 10px;
        padding-right: 10px;
        width: 100%;
    }
    .field_cards {
        --field-cards-horizontal-padding: 10px;
        --field-cards-slider-gap: 8px;
    }

    .con_ttl {
        padding-left: 10px;
        padding-right: 10px;
        text-align: left;
    }

    .nav2 a {
        padding-left: 10px;
        padding-right: 10px;
       }

    .con_ttl {
        text-align: center;
    }

    .nav2 ul li {
        height: 45px;
        line-height: 3.2143;
    }

    .header_bg {
        height: 45px;
    }

    .prod_ttl {
        display: none;
    }

    .blog_box_date {
        display: none;
    }

    .header2,
    .header3 {
        display: none;
    }
}

@media (min-width: 1025px) {

    .header2,
    .slider2,
    .footer_l {
        display: flex;
    }

    .slider {
        margin-top: 110px;
    }

    .icon_r {
        display: none;
    }

    .sol_btn_con {
        display: none;
    }
	.D1_btn_con {
        display: none;
    }
}

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

    .header1,
    .slider1,
    .footer_s {
        display: flex;
    }

    .slider {
        margin-top: 45px;
    }

    .row-content,
    .field_cards {
        padding-left: 10px;
        padding-right: 10px;
    }
    .field_cards {
        --field-cards-horizontal-padding: 10px;
        --field-cards-slider-gap: 12px;
    }

    .con_ttl {
        /*padding-left: 10px;
        padding-right: 10px;*/
    }

    .nav2 a {
        padding-left: 10px;
        padding-right: 10px;
    }

    .icon_r {
        display: none;
    }

    .header_bg {
        height: 45px;
    }

    .sol_btn_con {
        display: none;
    }

	.D1_btn_con{
        display: none;
    }
	
    .slider {
        margin-top: -50px;
    }

    .row {
        display: flex;
        flex-wrap: wrap;
        padding: 0;
    }

    .header3 {
        display: none;
    }
}

/* header change end */

.search_icon {
    text-align: right;
    line-height: 1.8;
}

/* 検索ボタンのスタイリング */
.search-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    display: inline-block;
    width: auto;
    min-width: auto;
    font-size: inherit;
    color: inherit;
    text-align: right;
    line-height: inherit;
    vertical-align: middle;
}

.search-btn:focus {
    outline: 2px solid #0066ff;
    outline-offset: 2px;
}

.search-btn:hover {
    background: none;
    border: none;
}

/* 検索ボタン内のアイコンを元のサイズに戻す */
.search-btn.bi-search {
    font-size: 1.25rem;
    font-weight: bold;
    color: #222222;
    margin: 2px 15px 0 0;
    text-align: right;
    display: inline-block;
    width: auto;
    vertical-align: middle;
    line-height: 1.8;
}

/* 検索アイコンコンテナの右寄せ */
.search_icon .search-btn,
.text_r .search-btn {
    float: right;
    text-align: right;
    vertical-align: middle;
}

/* フレックスアイテム内の検索ボタン */
.flex-item .search-btn {
    text-align: right;
    width: auto;
    vertical-align: middle;
    font-size: 1.25rem;
    font-weight: bold;
    color: #222222;
    margin: 2px 15px 0 0;
}

/* SP用の検索ボタン */
.col-1 .search-btn {
    text-align: right;
    width: auto;
    vertical-align: middle;
    font-size: 1.25rem;
    font-weight: bold;
    color: #222222;
    margin: 2px 15px 0 0;
}

/* 検索アイコンクラス固有のスタイル */
.search_icon.search-btn {
    text-align: right;
    line-height: 1.8;
    vertical-align: middle;
}

.categ_nav {
    font-weight: bold;
    /*font-size: 3rem;*/
    font-size: clamp(1.6rem, calc(1.25vw + 1.5rem), 2.3rem);
    margin-bottom: 3rem;
	line-height: 1.4;
	word-wrap: break-word;
	/*min-height: 130px;*/
}

.main_nav {
    width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
}

/* header end */
/* container menu */
.ul-wrapper {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 33.3333%;
    box-sizing: border-box;
}

.ul-wrapper2 {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 50%;
    box-sizing: border-box;
}

.ul-wrapper3 {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.navi .ul-wrapper-home {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    height: 75px;
    line-height: 3.8;
    float: left;
    transition: all 0.3s ease;
    flex: 1 1 auto;
    text-align: left;
    align-items: center;
    margin: 0 20px;
}

.custom-ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    width: 100%;
}

.custom-ul li {
    flex: 1;
    text-align: left;
    padding: 0;
    box-sizing: border-box;
}

.nav2_btn {
    width: 88px;
    min-width: 88px;
    height: 23px;
    font-size: 0.75rem;
    background-color: #AF272F;
    color: #ffffff;
    justify-content: center;
    display: flex;
    align-items: center;
    border-radius: 3px;
    opacity: 1;
}

.nav2_text {
    color: #222222;
    padding-left: 20px;
    line-height: 1.5;
/*
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
*/
}

.nav2_text a:hover {
    text-decoration: underline;
}

@media (max-width: 1024px) {
    .navi .ul-wrapper-home {
        margin:0;
    }
    .ul-wrapper {
        max-width: none;
        width: auto;
        flex: 1 0 100%;
    }

    .custom-ul li {
        text-align: center;
    }

    .nav1 ul li a:link {
        text-decoration: underline;
    }
}

/*menu*/
.nav-item.active a.nav-link,
.main_nav ul li>a.nav-link:hover {
    border-bottom: 2px solid #1a4da5;
}
.nav-item.active .bi-chevron-down::before {
    transform: rotate(180deg);
}

.nav-tabs {
    display: flex; 
    flex-wrap: nowrap;
}

.nav-item {
    white-space: nowrap;
}

.main_nav ul {
    list-style-type: none;
    padding: 0px;
    margin: 0px;
}

.main_nav ul li {
    font-size: 0.875rem;
    color: #333;
    line-height: 1.5em;
    flex: 1 1 auto;
    text-align: center;
	cursor: pointer;
    justify-items: center;
}

.hide {
    display: none;
}

/* slider start */
.image-container {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 264px;
    margin: 0 auto;
}

.image-container img {
    width: 100%;
    height: 100%;
    object-fit: none;
    display: block;
}

.sp_image-container {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 264px;
    margin: 0 auto;
}

.sp_image-container img {
    width: 100%;
    height: 100%;
    object-fit: none;
    display: block;
}

.slider {
    width: 100%;
}

.position-relative img {
    width: 100%;
    height: 100%;
    object-fit: none;
    display: block;
}

.img_font {
    position: absolute;
    bottom: 20%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1200px;
}

.img_font h1 {
    font-size: 3rem;
    font-weight: bold;
}

.slider a {
    color: #999999;
    text-decoration: underline;
}

.f_h1 {
    font-size: 3rem;
    font-weight: bold;
}

.nav1 {
    max-width: 1200px;
    width: 100%;
    margin: 110px auto 0 auto;
    height: 40px;
    line-height: 3.3;
    overflow: hidden;
    color: #999999;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
}

.nav1 a:link {
    text-decoration: none;
    font-size: 0.8125rem;
}

.nav1 ul li {
    height: 40px;
    line-height: 2.5rem;
    font-size: 0.8125rem;
}

@media (max-width: 1024px) {
    .f_h1 {
        font-size: 2rem;
    }

    .nav1 {
        margin: 45px auto 0 auto;
    }
}

.breadcrumb-item+.breadcrumb-item::before {
    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
    color: var(--bs-breadcrumb-divider-color);
    content: var(--bs-breadcrumb-divider, ">");
}

/* slider end */
/* container*/
.nav2 {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    color: #999999;
    padding: 0;
    /*position: sticky;*/
}

.nav2 img {
    margin: -3px 10px 0 0;
}

.nav2 ul {
    width: 100%;
}

.nav2 a {
    color: #222222;
    font-size: 1rem;
    text-decoration: none;
    padding-left: 0;
}
.nav2 .ul-wrapper3 a {
    padding-left: 10px;
    padding-right:20px;
    border:1px solid #cdcdcd;
    border-radius:30px;    
}

.nav2 a:hover {
    color: #1a4da5;
}

/* header scroll start */
.header2,
.header3 {
    position: sticky;
    top: 0;
    width: 100%;
    transition: top 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
    z-index: 1000;
}

.hd2_link a{
	text-decoration: none;
	color: #222222;
	display: flex;
}

.header3 {
    top: -60px;
    opacity: 0;
    visibility: hidden;
}

.header3.active {
    top: 0;
    opacity: 1;
    visibility: visible;
}

.header2.hidden {
    top: -60px;
    opacity: 0;
    visibility: hidden;
}

/* header scroll end */
/* search toggle start */
.modal {
    --bs-modal-width: 100%;
    background-color: rgba(96, 96, 96, 0.8);
}

.modal-backdrop {
    position: fixed;
    top: 150px;
    left: 0;
    z-index: var(--bs-backdrop-zindex);
    width: 100vw;
    height: 100vh;
    background-color: var(--bs-backdrop-bg);
}

.modal-backdrop.show {
    opacity: 0;
}

.modal.show .modal-dialog {
    transform: none;
    position: relative;
    top: -30px;
}

.modal-content {
    display: flex;
    flex-direction: column;
    color: var(--bs-modal-color);
    pointer-events: auto;
    border-radius: 0;
    outline: 0;
    /*
	position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0; 
    */
    max-width: 1200px;
    width: 95%;
    margin: 70px auto 45px;
}

.modal_con {
    background-color: #ffffff;
    padding: 72px 115px 60px 115px;
    position: relative;
	opacity: 1;
	overflow-y: auto;
}

.modal-dialog {
    max-width: var(--bs-modal-width);
    margin-right: auto;
    margin-left: auto;
    top: 81px;
}

.modal-body {
    position: relative;
    flex: 1 1 auto;
    padding: var(--bs-modal-padding);
    width: 100%;
    max-width: 1060px;
    margin: 0 auto;
    padding: 0;
}

.modal_close {
    width: 30px;
    height: 30px;
    position: absolute;
    top: 20px;
    right: 20px;
    background: url(../images/close.svg) no-repeat;
	background-size: 30px 30px;
	z-index: 99999;
}

.modal_close:hover {
    background: url(../images/closea.svg) no-repeat;
	background-size: 30px 30px;
	cursor: pointer;
}

.modal {
    display: none;
}

#overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
}

#popup {
    display: none;
    position: fixed;
    top: 109px;
    z-index: 9999;
    background-color: #f2f2f2;
    width: 100%;
    margin: 0 auto;
    height: 80px;
    /*opacity: 0.9;*/
    padding: 15px 0;
}
#popup.active {
    top: 40px;
}


.input-group {
    width: 70%;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
}

.input-group input {
    background-color: #ffffff;
    position: relative;
    flex: 1 1 auto;
}

.input-group-close {
    position: absolute;
    top: -25px;
    right: -25px;
    cursor: pointer;
    padding: 10px;
}
/*mars*/
.input-group .mf_finder_container,
.input-group .mf_finder_searchBox_query_wrap {
    width: 100%;
}
.input-group .mf_finder_searchBox_items {
    padding: 0;
    display: flex;
    align-items: stretch;
}
.input-group .mf_finder_searchBox_doctype,
.input-group .mf_finder_searchBox_selects {
    display: none;
}
.input-group .mf_finder_searchBox_submit {
    border: none;
    background-color: inherit;
}
.mf_finder_searchBox_query_input {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-body-bg);
    background-clip: padding-box;
    border: 1px solid #dcdcdc;
    border-radius: 0;
}
.input-group .mf_finder_searchBox_submit::before {
display:inline-block;
font-family:bootstrap-icons!important;
font-style:normal;
font-weight:400!important;
font-variant:normal;
text-transform:none;
line-height:1;
vertical-align:-.125em;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
content: "\f52a";
font-size: 1.25rem;
color: #222;
}
.input-group .mf_finder_searchBox_submit {
    margin: 0 0 0 -50px;
    z-index: 9999;
    padding: 0;
    height: 40px;
}
.mf_finder_searchBox_suggest_items{
    background: #ffffff;
}
.mf_finder_searchBox_suggest_items li{
    list-style: none;
    border-bottom: 1px solid #ddd;
    padding:5px 0x;
    line-height: 1.5rem;
}


@media (max-width: 1024px) {
    .modal_con {
        margin: 25px auto;
        max-width: 95%;
        padding: 72px 25px;
    }
	.modal_close {
		background-size: 22px 22px;
	}
	.modal_close:hover {
		background-size: 22px 22px;
	}
    #popup {
        top: 40px;
    }
}

@media (max-width: 768px) {
    #popup {
        display: none;
        position: fixed;
        top: 45px;
        z-index: 9999;
        background-color: #ffffff;
        width: 100%;
        margin: 0 auto;
        height: 80px;
        opacity: 1;
        padding: 15px 0;
    }

    .input-group {
        width: 90%;
        border-bottom: 1px solid #DCDCDC;
    }

    .form-control {
        border: none;
    }

    .input-group .bi-search {
        margin: 3px 0 0 0px;
    }

    .input-group input {
        font-size: 1.25rem;
    }

    .form-control:focus {
        outline: none;
        box-shadow: none;
        border-color: transparent;
    }

    .modal_con {
        margin: 25px auto;
        /*max-width: 363px;*/
        padding: 50px 15px 15px 15px;
		width: 90%;
    }

    .modal_close {
        top: 10px;
    }
	.nav2 {
		padding: 0 30px;
	}
}

/* search toggle end */

.content {
    height: auto;
}

.navi {
    /*position: sticky;*/
    top: 39px;
    background-color: white;
    z-index: 1000;
    border-top: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
}

.navi .ul-wrapper3 ul li {
    display: flex;
    height: 50px;
    line-height: 2;
    float: left;
    transition: all 0.3s ease;
    flex: 0 0 auto;
    text-align: left;
    align-items: center;
    margin: 10px 10px 0 0;
}
.custom-ul.d-flex.flex-wrap{
    padding-top:5px;
    padding-bottom:15px;
}
/*
.navi.sticky .ul-wrapper3 ul li {
    height: 40px !important;
    line-height: 2.3 !important;
    text-align: left;
}
*/

/* left right scroll */
.carousel-container {
    position: relative;
    width: 1060px;
    overflow: hidden;
}

.carousel {
    display: flex;
    transition: transform 0.5s ease;
    transform: translateX(0);
    overflow: hidden;
    width: 100%;
}

.carousel-container2 {
    position: relative;
    width: 1060px;
    overflow: hidden;
}

.carousel2 {
    display: flex;
    transition: transform 0.5s ease;
    transform: translateX(0);
    overflow: hidden;
    width: 100%;
}

.carousel3 {
    display: flex;
    transition: transform 0.5s ease;
    transform: translateX(0);
    overflow: hidden;
    gap: 20px;
    width: 100%;
    flex-wrap: nowrap;
}

.images_btn button {
    position: absolute;
    top: 35%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    border: none;
    cursor: pointer;
    font-weight: bold;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 1rem;
    text-align: center;
    vertical-align: middle;
}

.images_btn2 button {
    position: absolute;
    top: 25%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    border: none;
    cursor: pointer;
    font-weight: bold;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 1rem;
    text-align: center;
    vertical-align: middle;
}

.prev-btn {
    left: 0px;
}

.next-btn {
    right: 10px;
}

.prev-btn2 {
    left: 0px;
}

.next-btn2 {
    right: 10px;
}

.prev-btn3 {
    left: 0px;
}

.next-btn3 {
    right: 10px;
}

.images_btn button:hover {
    background-color: #000;
}

.images_btn2 button:hover {
    background-color: #000;
}

/*banner*/
.con_banner {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 265px;
}

.con_banner02 {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 350px;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% 350px;
}

.con_banner02::after {
    content: '';
    position: absolute;
    top: 350px; /* 从 350px 高度开始 */
    left: 0;
    width: 100%;
    bottom: 0; /* 高度从 350px 到底部 */
    background-image: url('../images/banner_bg01.png');
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    z-index: -1;
    opacity: 0; /* 初始时隐藏 */
    transition: opacity 0.3s ease;
}

.con_banner02.extra-tall::after {
    opacity: 1; /* 当高度超过350px时显示 */
}

.f2_transparent {
    background-color: rgba(255, 255, 255, 0.8);
    border: 1px solid #fff;
    padding: 25px 50px;
    z-index: 1; /* 确保 .f2_transparent 在背景图的前面 */
    max-width: 663px;
    width: 60%;
    margin: 30px auto; /* 水平居中 */
    position: relative; /* 确保 z-index 生效 */
}

.con_banner03 {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 350px;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

.con_banner04 {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 350px;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

.con_banner05 {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    min-height: 185px;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    margin-top: 100px;
}

.con_banner06 {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    min-height: 185px;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

.con_banner07 {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 350px;

    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

.con_banner07 img {
    width: 100%;
}

.con_banner07.extra-tall {
    background-image:
        url('../images/banner_bg01.png');
    background-position: top center, bottom center;
    background-repeat: no-repeat, no-repeat;
    background-size: 100% auto, cover;
}

.con_banner_home {
    position: relative;
    width: 100% !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.con_banner_home .content-wrapper {
    width: 100% !important;
}

.con_banner_home .left-column {
    width: 50%;
    padding: 0;
}
.con_banner_home .right-column.home_banner {
    width: 50%;
    max-width: 600px;
}
.home_banner img {
    width: 100%;
    height: auto;
    margin-top: 30px;
    margin-bottom: 20px;
    border-radius: 7px;
}

.background-image-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.background-image-wrapper02 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.background-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.content-wrapper {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.semi-transparent {
    background-color: rgba(255, 255, 255, 0.8);
    border: 1px solid #fff;
    padding: 30px 48px 30px 48px;
    z-index: 0;
    border: 0;
    width: 100%;
    max-width: 1200px;
    margin: 30px 0;
}
.semi-transparent.for-products {
    width: 60%;
    max-width: 724px;
}

.banner_btn {
    height: 48px;
    display: inline-flex;
    align-items: center;
    background-color: #af272f;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer;
    border-radius: 24px;
    transition: background-color 0.3s;
    padding: 0 46px;
    max-width: 1104px;
    overflow: hidden;
    border: 1px solid #af272f;
    white-space: nowrap;
}

.banner_btn:hover {
    border: 1px solid #af272f;
    color: #af272f;
    background-color: #ffffff;
}

.e2_banner_btn02 {
    height: 27px;
    line-height: 2;
    background-color: #1A4DA5;
    color: #fff;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 0.875rem;
    margin: 4px 8px 4px 0;
    border-radius: 3px;
    transition: background-color 0.3s;
    white-space: nowrap;
    display: inline-block;
    padding: 0 10px;
}

.banner_btn02 {
    height: auto;
    min-height: 23px;
    line-height: 2;
    background-color: #1054A2;
    color: #fff;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 0.75rem;
    margin: 4px 8px 4px 0;
    /* cursor: pointer; */
    border-radius: 3px;
    transition: background-color 0.3s;
    white-space: normal;
    text-align: left;
    display: inline-block;
    padding: 2px 10px 0;
}

.news_container .banner_btn02 {
    background-color: #141B4D;
    font-size: 0.7rem;
    min-height: 20px;
    padding:2px 10px 0 ;
}


/* .banner_btn02:hover {
    background-color: #1a4da5;
    color: #fff;
} */

.banner_btn_con {
    width: 100%;
    float: left;
    overflow: hidden;
    margin-top: 20px;
}

.banner_btn_con ul {
    width: 100%;
    padding: 0;
}

.banner_btn_con ul li {
    list-style: none;
    float: left;
    flex: 1 1 auto;
}
.banner_btn_con .banner_btn02 {
    font-size: 0.8rem;
    padding: 4px 10px 2px;
    line-height: 1.5rem;
    min-height: 25px;
}

.home_banner_ln1 {
    font-family: "Arial";
    color: #222222;
    font-size: 1.5rem;
    font-weight: bold;
    margin-top: 50px;
}

.home_banner_ln2 {
    color: #000000;
    /*font-size: 3.2rem;*/
    font-size: clamp(1.8rem, calc(1.25vw + 1.5rem), 3.2rem);
    font-weight: bold;
    margin-top: 20px;
    line-height: 1.2;
}

.home_banner_ln3 {
    color: #000000;
    font-size: 3.2rem;
    font-weight: bold;
}

.home_banner_ln4 {
    height: 48px;
    background-color: #ffffff;
    border: 1px solid #1A4DA5;
    color: #1A4DA5;
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    display: inline-flex;
    font-weight: bold;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 24px;
    transition: background-color 0.3s;
    padding: 0 30px;
    white-space: nowrap;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-top: 40px;
}

.home_banner_ln4 span {
    margin-right: 15px;
}

.home_banner_ln4 .bi-arrow-right-short {
    font-size: 1.5rem;
    font-weight: bold;
    position: absolute;
    right: 14px;
    margin-top: 3px;
}

.home_banner_ln4:hover {
    color: #ffffff;
    background-color: #141b4d;
}

.home_banner_ln4:hover .bi-arrow-right-short {
    color: #ffffff;
    margin-top: 3px;
}

/* content */
/* 分野カード */
.field_cards {
    max-width: 1100px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 70px 20px 60px;
}
.field_cards:has(>.z13_con),
#related_content .field_cards,
.index .field_cards {
    max-width: 1240px;
    padding-right: 20px;
    padding-left: 20px;
}
	
.field_cards .row {
    --bs-gutter-x: 1.5rem;
    width: 100%;
}

.field_cards .row a {
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
  box-sizing: border-box;
  text-decoration: none;
  color: inherit;
  margin-bottom: 30px;
  /*border:#cdcdcd 1px dotted;
  border-radius: 5px;
  padding-bottom:15px;
  padding-top:20px;
  background-color: #ffffff;*/
}
/*.field_cards .row .contact_con a,
.field_cards .row .slick-slide.slick-active  {
    border: none;
}

.field_cards .row .home_see_btn_con a, 
.field_cards .row .col-4.con_box a {
  border:none;
  padding-bottom:0px;
  padding-top:0px;
  background-color: transparent;
}
.field_cards .row .my-slider2 .slick-slide a{
    border:none;
    padding-bottom:0px;
    padding-top:0px;
    background-color: transparent;
    margin-bottom: 0;
}
.field_cards .exa_black_con a{
    border:none;
}a*/

.field_cards_c {
    max-width: 1248px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 70px 0 60px 0;
}
	
.field_cards_c .row {
    --bs-gutter-x: 1.5rem;
}
.field_cards_c .row a {
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
  box-sizing: border-box;
  text-decoration: none;
  color: inherit;
  margin-bottom: 20px;
}


.field_cards_btn {
    width: 100%;
    text-align: right;
    margin-top: 20px;
    font-weight: bold;
    font-size: 1rem;
    margin-bottom: 10px;
    line-height: 1.5625;
    display: flex;
    align-items: center;
    justify-content: right;
}

.field_cards_btn2 {
    width: 100%;
    font-weight: bold;
    font-size: 1rem;
    margin-bottom: 10px;
    line-height: 1.5625;
    display: flex;
    align-items: center;
    justify-content: right;
}

@media (min-width: 1024px) {
    .field_cards .row .col-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
	
	.field_cards_c .row .col-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .indu_field_cards .row .col-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .c1_field_cards .row .col-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .c2_field_cards .row .col-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
}

@media (max-width: 1024px){
	.field_cards .row a {
		flex: 0 0 50%; 
		max-width: 50%;
        margin-bottom: 15px;
	  }
    .index .field_cards .row a,
    #related_content .field_cards .row a,
    .o-01 .row a {
        margin-bottom: 60px;
	  }
	.field_cards_c .row a {
		flex: 0 0 50%; 
		max-width: 50%;
	  }

}

@media (min-width: 768px) and (max-width:1024px) {
    .field_cards .row .col-4 {
        flex: 0 0 50%;
        max-width: 50%;
    }
	
	.field_cards_c .row .col-4 {
        flex: 0 0 50%;
        max-width: 50%;
    }


    .c1_field_cards .row .col-4 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .c2_field_cards .row .col-4 {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media (max-width:768px) {
    .field_cards .row .col-4 {
        flex: 0 0 100%;
        max-width: 100%;
    }

	.field_cards .row a {
		flex: 0 0 100%;
		max-width: 100%;
    }
	
	.field_cards_c .row .col-4 {
        flex: 0 0 100%;
        max-width: 100%;
    }

	.field_cards_c .row a {
		flex: 0 0 100%;
		max-width: 100%;
    }
   
    .indu_field_cards .row .col-4 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .c1_field_cards .row .col-4 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .c2_field_cards .row .col-4 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .s_hidden {
        display: none;
    }
}

.con_ttl {
    color: #141b4d;
    font-weight: bold;
    font-size: 2.3rem;
    line-height: 1.38;
    overflow-wrap: break-word;
    word-wrap: break-word;
    white-space: normal;
}

.rounded-rect {
    padding: 20px;
    border-radius: 5px;
    background-color: #f0f0f0;
    margin: 10px 0 20px 0;
}

.rounded-rect2 {
    padding: 20px;
    border-radius: 5px;
    background-color: #f0f0f0;
    margin: 10px 0 0 0;
}

.rounded_ttl {
    font-weight: bold;
    font-size: 1.5rem;

    color: #222222;
}

.rounded_con {
    flex: 1 0 0%;
    font-size: 1.125rem;
    line-height: 1.375;
    text-align: left;
    margin-top: 45px;
}

.con_box a {
    color: #000;
    text-decoration: none;
}

.con_box:hover .con_intr{
    color: #555555;
    text-decoration: underline;
}

.con_box:hover .sol_box img {
    opacity: 0.3;
}

.con_box:hover .pan_card_con{
    color: #555555;
    text-decoration: underline;
}

.icon-text-container {
    display: flex;
    align-items: center;
	justify-content: space-between;
    flex: 1;
}

.icon-text-container .icon {
    font-size: 2rem;
    margin-right: 1rem;
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    padding-left: 2px;
}

.icon-text-container .icon img {
    width: 100%;
}

.icon-text-container .text {
    font-weight: bold;
    font-size: 1.5rem;
    width: 100%;
    line-height: 1.39;
    text-align: left;
}

/* 3 columns rect */
.rounded-rect {
    padding: 20px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #fff;
}

.inner-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.row {
    display: flex;
    flex-wrap: wrap;
}

.row>[class*='col-'] {
    display: flex;
    flex-direction: column;
}

.row>[class*='col-']>.rounded-rect {
    margin-bottom: auto;
    margin-top: auto;
}

.icon_r {
    padding: 0 20px 0 10px;
    text-align: right;
}

.con_img {
    width: 100%;
    max-width: 416px;
    margin-left: 65px;
}
.con_img img{
	max-width:100%;
}
.C04_3col_img a img:hover,
img[data-bs-toggle]:hover {
    opacity: 0.5;
    cursor:pointer;
}
.con_img.order-1{
	margin:0 65px 0 0;
}
.C02 .con_img.order-1{
	float: left;
	margin:0 45px 30px 0;
}
.C02 .con_img.order-2{
	float: right;
	margin:0 0 30px 45px;
    text-align: center;
}
.con_sol01 {
    width: 100%;
    color: #222222;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: left;
}

.con_sol02 {
    width: 100%;
    color: #222222;
    font-size: 1.75rem;
    font-weight: bold;
    line-height: 2.32;
    text-align: left;
}

.con_sol03 {
    width: 100%;
    color: #222222;
    font-size: 1.125rem;
    line-height: 1.94;
    text-align: left;
}

.sol_box1 {
    padding: 5px;
    text-align: center;
    border-radius: 5px;
    height: 207px;
    background-color: #999999;
    width: 100%;
    display: flex;
}

.sol_box {
    width: 100%;
    aspect-ratio: 16 / 9;
    /*height: 207px;*/
    border-radius: 5px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }

.sol_box img {
    width: 100%;
}

.sol_box img:hover {
    opacity: 0.3;
}

.sol_box img.blog_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.sol_btn_con {
    width: 100%;
    float: left;
    overflow: hidden;
    display: flex;
    flex: 0 0 auto;
    margin: 10px 0 20px 0;
    flex-wrap: wrap;
}

.sol_btn_con ul {
    margin: 0;
    padding: 0;
}

.sol_btn_con ul li {
    float: left;
    list-style: none;
}

.sol_img {
    border-radius: 2% !important;
    transition: transform 0.5s ease;
}

.sol_com {
    width: 100%;
    color: #141B4D;
    font-size: 1.125rem;
    text-align: left;
    line-height: 3.06;
    display: flex;
}

.sol_intr {
    width: 100%;
    color: #222222;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: left;
    line-height: 1.46;
    display: flex;
}

.login_see_con {

    max-width: 1060px;
    margin: 0 auto;
    box-sizing: border-box;
    text-align: right;
}

.login_see {
    height: 36px;
    line-height: 2.25;
    background-color: #fff;
    color: #1A4DA5;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 1rem;
    font-weight: bold;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 24px;
    transition: background-color 0.3s;
    border: 1px solid #1A4DA5;
    margin-top: 18px;
    padding: 0 35px 0 15px;
    white-space: nowrap;
    display: inline-block;
    background: url(../images/icon_r2.svg) no-repeat;
    background-position: right 15px center;
}

.login_see img {
    margin: -3px 5px 0 5px;
}

.login_see:hover {
    background-color: #1a4da5;
    color: #fff;
}

.con_sol_ttl {
    width: 100%;
    color: #222222;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: left;
    margin: 20px 0 15px 0;
}

.con_inte_ttl {
    color: #141b4d;
    font-weight: bold;
    font-size: 2.5rem;
    margin-bottom: 50px;
}

/* 自動車 */
.motiv_con {
    display: flex;
    justify-content: space-between;
    align-items: top;
    margin-top: 50px;
    flex-wrap: nowrap;
}

.motiv_left {
    font-size: 1.125rem;
    line-height: 1.67;
    color: #222222;
    flex: 1;
    box-sizing: border-box;
}

.motiv_right {
    flex: 1;
    box-sizing: border-box;
}

.banner_transparent03 {
        padding:0 47px;
    }

@media (max-width: 1200px) {
    .banner_transparent {
        width: 100%;
        padding: 0 10px;
    }
}

@media (max-width: 1024px) {
    .motiv_con {
        flex-direction: column;
        display: block;
    }

    .motiv_left {
        margin-bottom: 20px;
    }

    .con_img {
        margin: 30px auto;
    }

    .con_sol_ttl {
        margin: 0;
    }

    .con_sol02 {
        margin-top: 0;
    }

    #solution .con_ttl {
        padding-left: 0;
    }

    .banner_transparent {
        padding: 25px 50px 15px 50px;
        z-index: 0;
        border: 0;
        width: 100%;
        text-align: center;
    }

    .banner_transparent02 {
        padding: 80px 50px;
        z-index: 0;
        border: 0;
        width: 100%;
        text-align: center;
    }
	

    .h_01_nav {
        font-weight: bold;
        margin-top: 60px;
        font-size: 3rem;
    }

    .banner_btn {
        margin: 10px 0 20px 0;
    }
	.con_img.order-1{
	margin:0;
}
}

@media (max-width: 768px) {
    .navi .ul-wrapper3 ul li {
        margin-right: 0;
    }

    .banner_transparent {
        padding: 25px 15px 0 15px;
    }

    .h_01_nav {
        font-size: 2rem;
        margin-top: 30px;
    }

    .banner_btn {
        margin: 0;
    }

    .con_banner04 {
        min-height: 250px;
    }

    .con_banner05 {
        margin-top: -10px;
    }

}

/* 製品・サービス */
.prod_ttl {
    width: 100%;
    float: left;
    font-size: 1.75rem;
    font-weight: bold;
    margin-top: 60px;
    margin-bottom: 10px;
}

.prod_box {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    min-height: 180px;
    padding: 20px 5px 20px 20px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #fff;
    margin-bottom: 10px;
}

.prod_right {
    padding-right: 2px;
}

a .prod_box:hover {
    background-color: #F7F7F7;
    opacity: 0.5;
}

.prod_box:hover .prod_right {
    padding-right: 0;
}


.prod_box_ttl {
    flex: 1 0 0%;
    font-size: 1.5rem;
    color: #222222;
    line-height: 1.07;
    text-align: left;
    margin-top: 10px;
    margin-bottom: 20px;
    font-weight: bold;
}

.prod_box_con {
    flex: 1 0 0%;
    font-size: 1rem;
    text-align: left;
    line-height: 1.22;
    margin-top: 15px;
}

.prod_sub_ttl {
    width: 100%;
    color: #222222;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: left;
    margin: 20px 0 15px 0;
}

/* contact */
.contact_con {
    float: left;
    overflow: hidden;
    border-right: 1px solid #707070;
    width: 100%;
    display: block;
    background-color: #000000;
    margin-top: 60px;
    text-align: center;
}

.contact_con_ln1 {
    width: 100%;
    line-height: 1.6667;
    margin-top: 60px;
    font-weight: bold;
    text-align: center;
    color: #ffffff;
    font-size: 2.3rem;
}

.contact_con_ln2 {
    width: 100%;
    line-height: 1.2;
    font-weight:200;
    text-align: center;
    color: #dcdcdc;
    font-size: 1.3rem;
}

.contact_con_btn {
    width: 100%;
    max-width: 517px;
    height: 80px;
    line-height: 3;
    background-color: #af272f;
    color: #fff;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
    border-radius: 50px;
    transition: background-color 0.3s;
    margin: 50px auto 70px auto;
    font-size: 1.625rem;
    font-weight: bold;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.contact_con_btn_img {
    width: 44px;
    height: 30px;
    background: url(../images/icon_talk03.png) no-repeat;
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}

.contact_con_btn:hover {
    background-color: #ffffff;
    color: #af272f;
    border: 1px solid #af272f;
}

.contact_con_btn:hover .contact_con_btn_img {
    background: url(../images/icon_talk03a.png) no-repeat;
}

/* 対応分野関連情報 */
.con_con_ttl {
    width: 100%;
    color: #222222;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: left;
    margin: 60px 0 15px 0;
}

.con_intr {
    width: 100%;
    color: #222222;
    font-size: 1.35rem;
    font-weight: bold;
    text-align: left;
    line-height: 1.46;
    margin: 15px 0 0 0;
}


.con_intr a {
    color: #222222;
    text-decoration: none;
	cursor: pointer;
}

.con_intr a:hover {
    color: #555555;
    text-decoration: underline;
}

.con_intr:hover {
    color: #555555;
    text-decoration: underline;
}

.con_com {
    width: 100%;
    color: #141B4D;
    font-size: 1rem;
    text-align: left;
    line-height: 2.19;
}

.con_com2 {
    width: 100%;
    color: #141B4D;
    font-size: 1rem;
    text-align: left;
    line-height: 1.94;
	display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}
.con_com2 .label {
    white-space: nowrap; 
    margin-right: 5px; 
}

.con_com2 .value {
    flex-grow: 1; 
    word-wrap: break-word; 
}

.con_btn_con {
    width: 100%;
    float: left;
    overflow: hidden;
    flex: 0 0 auto;
}

.bi-download {
    margin-left: 10px;
}

.con_ttl_db {
    font-size: 0.85rem;
    height: 24px;
    line-height: 1.625;
    padding: 2px 10px;
    color: #ffffff;
    background-color: #141B4D;
    margin: 18px 4px 0 0;
    white-space: nowrap;
    display: inline-block;
}

/* 技術ブログ */
.blog_box {
    text-align: center;
    border-radius: 5px;
    grid-area: div1;
}

.blog_box img {
    width: 150px;
    height: 150px;
}

.blog_box img:hover {
    opacity: 0.4;
}

.blog_box_ttl {
    font-size: 1.25rem;
    color: #141B4D;
    font-weight: bold;
    line-height: 1.25;
    text-align: left;
    grid-area: div2;
}

.blog_box_ttl a {
    color: #141B4D;
    text-decoration: none;
}

.blog_box_ttl a:hover {
    text-decoration: underline;
    opacity: 0.8;
}

.blog_box_ttl:hover {
    text-decoration: underline;
    opacity: 0.8;
}

.blog_box_con {
    font-size: 1.125rem;
    color: #222222;
    line-height: 1.4;
    text-align: left;
    margin: 10px 0;
    grid-area: div3;
}

.blog_box_date {
    font-size: 1.125rem;
    color: #141B4D;
    line-height: 1.22x;
    text-align: left;
    grid-area: div4;
}

.blog_con {
    display: flex;
    transition: transform 0.5s ease-in-out;
    transform: translateX(0);
    overflow: hidden;
    gap: 20px;
    width: 100%;
    flex-wrap: nowrap;
}
.blog_con a{
	text-decoration: none;
}
.blog_container {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto auto;
    grid-template-areas:
        "div1 div2""div1 div3""div1 div4""div5 div5";
    gap: 0 20px;
    /*width: 50%;*/
    /*padding-right: 30px;*/
    /*flex: 0 0 50%;
	/*max-width: 50%;*/
    box-sizing: border-box;
}

.blog_con .blog_container:nth-child(2) {
    margin-right: -30px;
}

.blog_container:hover .blog_box img{
    opacity: 0.4;
}
.blog_container:hover .blog_box_ttl{
    text-decoration: underline;
    opacity: 0.8;
}

@media screen and (max-width: 1024px) {
    .blog_container {
        grid-template-areas:
            "div1 div2""div3 div3""div4 div4""div5 div5";
        flex: 1 1 100%;
    }

    .div1 {
        grid-column: span 1;
    }

    .div2,
    .div3,
    .div4,
    .div5 {
        grid-column: span 2;
    }

    .con_banner_home .content-wrapper {
        width: 100% !important;
        padding: 0;
    }

    .blog_box img {
        width: 92px;
        height: 92px;
    }

    .navi .ul-wrapper3 ul {
        padding: 5px 0;
    }

    .navi .ul-wrapper3 ul li {
        height: 30px;
    }

    .prod_box {
        min-height: 125px;
    }

    .prod_box_ttl {
        font-size: 1.25rem;
    }

    .prod_box_con {
        font-size: 0.875rem;
    }
	.con_intr {
		font-size: 1.25rem;
	}
	.con_ttl_db {
		font-size: 0.75rem;
		/*line-height: 26px;*/
	}
	.f2_text {
		font-size: 1rem;
	}
	.blog_box_date {
		font-size: 0.875rem;
	}
	.blog_box_ttl {
   		font-size: 1rem;
	}
	.blog_box_con {
		font-size: 0.875rem;
	}
	.blog_container {
		padding-right: 0;
	}
}

.blog_con_row {
    width: 100%;
    float: left;
    overflow: hidden;
    display: flex;
    flex-wrap: nowrap;
}

.blog_left {
    float: left;
    overflow: hidden;
    padding-right: 55px;
}

.blog_right {
    float: left;
    overflow: hidden;
}

.blog_btns {
    display: block;
    flex: 1 1 auto;
    white-space: nowrap;
    display: inline-block;
    width: 100%;
    float: left;
    display: flex;
    flex: 0 0 auto;
    margin: 10px 0 20px 0;
    grid-area: div5;
	flex-wrap: wrap;
}

/* A-1 start */
#index>.content {
    margin-top: 110px;
}
.home_con {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.home_con_left {
    flex: 1 1 auto;
    float: left;
}

.home_con_right {
    flex: 0 0 auto;
    margin-left: auto;
    float: right;
}

.home_impo {
    width: 100%;
    height: 82px;
    border-bottom: 1px solid #dcdcdc;
    margin-top: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home_impo_con {
    position: relative;
    width: 100%;
    max-width: 1200px;
    height: 50px;
    box-sizing: border-box;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    text-align: left;
    overflow: hidden;
    padding: 0 15px;
}

.home_impo_con::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #AF272F;
    opacity: 0.08;
    z-index: 0;
}

.home_impo_con>* {
    position: relative;
    z-index: 1;
}

.home_impo_text {
    padding-left: 10px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home_impo_text a {
    color: #AF272F;
    text-decoration: none;
    font-size: 1rem;
}

.home_impo_text a:hover {
    text-decoration: underline;
}

/* 汎⽤カード（カルーセルあり）start*/
.pan_card_ttl {
    color: #141B4D;
    font-size: 1rem;
    text-align: left;
    display: flex;
    align-items: center;
    width: 100%;
    line-height: 1.2;
    padding: 15px 0 0;
}

.pan_card_subttl {
    color: #141B4D;
    font-size: 1.125rem;
    text-align: left;
    display: flex;
    align-items: center;
    width: 100%;
    line-height: 1.2;
    padding: 0 0 5px 0;
    color: #222222;
}

.pan_card_con {
    width: 100%;
    color: #222222;
    font-size: 1.35rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    width: 100%;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-top: 10px;
    padding-right: 5px;
    margin-bottom: 15px;
}

.pan_card_con a {
    color: #222222;
    text-decoration: none;
}

.pan_card_con a:hover {
    color: #555555;
    text-decoration: underline;
}
.pan_card_con:hover {
    color: #555555;
    text-decoration: underline;
}


.pan_btn {
    position: relative;
    bottom: 7px;
    margin-right: 145px;
    font-size: 1.5rem;
    cursor: pointer;
    z-index: 1
}

/* 汎⽤カード（カルーセルあり）end*/
.indu_ttl {
    color: #141b4d;
    font-weight: bold;
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 50px;
    padding: 0 50px;
    line-height: 1.3;
}

.indu_ttl2 {
    color: #141b4d;
    font-weight: bold;
    font-size: 2.4rem;
    text-align: center;
    width: 100%;
    margin: 0 auto;
    line-height: 1.3;
    margin-bottom: 50px;
}

@media (max-width: 1050px) {
    .indu_ttl2 {
        font-size: 1.375rem;
        width: 100%;
        margin-bottom: 20px;
    }
}

.indu_box1 {
    width: 100%;
    background-color: #141B4D;
    border-radius: 3px;
    padding: 10px;
    /*display: flex;*/
    flex-direction: column;
    flex-grow: 1;
}

.indu_box2 {
    width: 100%;
    background-color: #173783;
    border-radius: 3px;
    padding: 10px;
	flex-direction: column;
    flex-grow: 1;
}

.indu_box3 {
    width: 100%;
    background-color: #1A4DA5;
    border-radius: 3px;
    padding: 10px;
	flex-direction: column;
    flex-grow: 1;
}

.indu_box_ttl {
    width: 100%;
    text-align: center;
    color: #ffffff;
    font-size: 1.75rem;
    font-weight: bold;
    padding: 20px;
}

.field_cards a {
    text-decoration: none;
}

.indu_icon {
    font-size: 2rem;
    margin-right: 1rem;
    display: flex;
    align-items: center;
    padding-left: 2px;
}

.indu_icon img {
    width: 56px;
    height: 56px;
}

.indu-rounded-rect {
    padding: 35px 15px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #fff;
    height: 124px;
    display: flex;
    align-items: center;
}

.indu-rounded-rect:hover {
    opacity: 0.95;
}

.indu-rounded-rect:hover .indu_container .text {
    color: #444444;
}

.indu_icon2 {
    margin-left: auto;
}
.indu-rounded-rect .bi-arrow-right-short{
	margin-right: 2px;
}
.indu-rounded-rect:hover .bi-arrow-right-short{
	margin-right: 0;
}

.indu_field_cards {
    max-width: 1060px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 70px 0 60px 0;
}
.index .indu_field_cards {
    max-width: 1240px;
    padding-right: 20px;
    padding-left: 20px;
}

.indu_field_cards .row {
    --bs-gutter-x: 0.2rem;
}

.indu_container {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    width: 100%;
}

.indu_container .text {
    font-weight: bold;
    font-size: 1.375rem;
    width: 75%;
    text-align: left;
    padding-right: 10px;
    line-height: 1.2; 
}

.detail_link {
    display: flex;
    align-items: center;
    justify-content: center;
}

.detail_link a {
    color: #1A4DA5 !important;
    --bs-link-color: #1A4DA5;
    font-size: 1rem;
    font-weight: bold;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.detail_link a:hover {
    text-decoration: underline;
}

.detail_link i {
    margin: 2px 0 0 5px;
    color: #1A4DA5;
	transition: transform 0.3s ease;
}

.detail_link a:hover i.bi-arrow-right-short {
    transform: translateX(2px); 
}

/* ニュース */
.news_con {
    width: 100%;
    border-bottom: 1px solid #DCDCDC;
    padding: 15px 0;
}
.news_con:last-child {
    margin-bottom: 60px;
}

.news_con_h {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 10px 0;
}

.news_con_h2 {
    width: 100%;
    display: block;
    flex-wrap: wrap;
    align-items: center;
    margin: 10px 0;
}

.news_con_h i {
    margin-left: 10px;
}

/*.news_con_h div {
    flex: none;
}*/

.news_line {
    width: 100%;
    border-bottom: 1px solid #DCDCDC;
}

.news_date {
    font-size: 1rem;
    color: #141B4D;
    margin-right: 20px;
}

.news_link a {
    color: #555555;
    font-size: 1.1rem;
}
.news_link a:hover{
    color: #999999;
    text-decoration: underline;
}

.news_link a:link {
    //text-decoration: underline;
}

.news_con_h .bi-arrow-up-right {
    color: #141B4D;
    font-weight: bold;
    font-size: 1rem;
}

.news_btn01 {
    height: 27px;
    line-height: 2;
    background-color: #AF272F;
    color: #fff;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 0.875rem;
    margin: 4px 5px 4px 0;
    transition: background-color 0.3s;
    white-space: nowrap;
    display: inline-block;
    padding: 0 10px;
}

.news_btn02 {
    height: 27px;
    line-height: 2;
    color: #AF272F;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 0.875rem;
    margin: 4px 5px 4px 0;
    cursor: pointer;
    transition: background-color 0.3s;
    white-space: nowrap;
    display: inline-block;
    padding: 0 10px;
    border: 1px solid #AF272F;
}

.news_text {
    width: 100%;

    color: #222222;
    font-size: 1.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home_slider {
    width: 100%;
    border-bottom: 1px solid #dcdcdc;
}

.news_container {
    width: 100%;
    padding: 0;
}

#slick4 {
    margin-bottom: -30px;
}

@media (max-width: 1024px) {
    .content-wrapper {
        flex-direction: column-reverse;
    }

    .con_banner_home .left-column {
        width: 100%;
    }

    .con_banner_home .right-column.home_banner {
        width: 100%;
        max-width: inherit;
    }

    .right-column.home_banner img {
        height: auto;
        position: relative;
        top: auto;
        right: auto;
		width: 100%;
    }

    .left-column {
        /*margin-top: 20px;*/
        text-align: center;
    }

    .home_slider {
        display: none;
    }

    .indu_box_ttl {
        font-size: 1.375rem;
        padding: 10px;
    }

    .indu_container .text {
        font-size: 0.9375rem;
    }

    .home_banner_ln4 {
        margin: 20px auto 20px auto;
    }

    .indu_ttl {
        font-size: 1.75rem;
        margin-bottom: 25px;
    }

    .indu_field_cards {
        padding: 50px 0 30px 0;
    }

    .home_banner img {
        margin-top: 0;
    }

    .con_ttl {
        font-size: 1.75rem;
    }

    .news_date {
        font-size: 0.875rem;
    }

    .banner_btn02 {
        font-size: 0.75rem;
    }
    .e2_banner_btn02 {
        font-size: 0.75rem;
    }

    .news_link a {
        font-size: 1.125rem;
    }

    .news_text {
        font-size: 1.125rem;
    }

    .home_banner_ln1 {
        margin-top: 30px;
    }

    .indu-rounded-rect {
        height: auto;
        padding: 15px 10px;
    }

    .home_btn_con {
        margin-bottom: 20px;
    }

    #slick4 {
        margin-bottom: 0;
    }

    .news_line {
        height: 20px;
    }

    .news_con {
        padding: 0;
    }

    .home_impo {
        margin-top: 45px;
    }
}

@media (max-width: 1200px) {
    .news_container {
        width: 100%;
        padding: 0 10px 30px 10px;
    }
}

@media (max-width: 768px) {
    .con_banner_home {
        margin-top: 20px;
    }
    .home_banner_ln1 {
        font-size: 1rem;
    }

    .home_banner_ln2,
    .home_banner_ln3 {
        font-size: 2rem;
    }

    .home_banner_ln4 {
        margin: 0 auto;
    }

    .home_banner_ln2 {
        margin-top: 5px;
        margin-bottom: 30px;
    }

    .home_banner_ln4 {
        margin-top: 15px;
        margin-bottom: 15px;
    }

    .con_img img {
        margin: 0;
        width: 100%;
    }

    .news_container {
        width: 100%;
        padding: 0 5px;
    }

    .indu_ttl {
        padding: 0 15px;
    }

    .home_con_left {
        width: 100%;
    }

    .indu_container .text {
        padding-right: 0;
    }

    .home_impo {
        margin-top: 95px;
    }

    .news_btn01,
    .news_btn02 {
        font-size: 0.75rem;
        height: 23px;
    }
}

.home-row-content {
    max-width: 1060px;
    margin: 0 auto;
    box-sizing: border-box;
    /*place-items: center start;*/
}

.home_btn_con {
    width: 100%;
    float: left;
    overflow: hidden;
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
}

.blog_btn_see {
    width: 100%;
    display: none;
}

.row {
    display: flex;
    flex-wrap: wrap;
    
}
/*.field_cards .row,
.navbar-expand.navbar-light.fixed-top.header_bg .row{
    width: 1200px;
    margin: 0 auto;
}*/


.home_see_con {
    max-width: 1060px;
    margin: 0 auto;
    box-sizing: border-box;
    text-align: right;
}

.home_see_con2 {
    max-width: 1060px;
    margin: 20px auto 0 auto;
    box-sizing: border-box;
    text-align: right;
}

.home_see_btn_con {
    /*max-width: 1060px;*/
    margin: 0 auto;
    box-sizing: border-box;
    text-align: right;
    padding-left: 0;
    padding-right: 0;
}

.home_see_btn {
    background-color: #fff;
    color: #1A4DA5;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer;
    border-radius: 40px;
    transition: background-color 0.3s;
    border: 1px solid #1A4DA5;
    /*margin-top: 30px;*/
    padding: 8px 35px 8px 15px;
    align-items: center;
    background: #fff url(../images/icon_r2.svg) no-repeat;
    background-position: right 15px center;
    line-height: 1.2rem;
}

.home_see_btn:hover {
    background-color: #1a4da5;
    color: #fff;
    background-image: url(../images/icon_r2a.png);
}

/*@media (max-width: 1200px) {
    .field_cards .row,
    .navbar-expand.navbar-light.fixed-top.header_bg .row{
        width: 100%;
    }
}*/

@media (min-width: 768px) {

    .home_see_con,
    .home_see_con2 {
        display: none;
    }
}

.home_see_con2 .login_see a {
    color: inherit;
}

/* A-1 end */

/* C-1 start */
.c1_rounded-rect {
    padding: 40px 30px 5px 30px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #fff;
    margin: 5px 0 0 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    width: 100%; 
    box-sizing: border-box;
}

.c1_rounded-rect:hover {
    background-color: #F7F7F7;
}

.c1_rounded-rect:hover .bi-arrow-right-short {
    transform: translateX(2px);
}

.c1_field_cards .row {
    display: flex;
    flex-wrap: wrap;
}

.category_anchor .row {
    --bs-gutter-x: 3rem;
}

.c1_con_ttl {
    color: #141b4d;
    font-weight: bold;
    font-size: 2.5rem;
    margin-bottom: 20px;
}

.c1_field_cards {
    max-width: 1060px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 70px 0 40px 0;
	display: flex;
    flex-wrap: wrap;
}
.c1_field_cards .row .con_box{
	display: flex;
	flex-direction: column;
	justify-content: stretch;
}
.c1_rounded-rect .icon {
    margin-right: 1.5rem;
}

.c1_rounded-rect span {
    margin-right: -3px;
}

.c1_rounded-rect i {
    margin-right: -6px;
}

@media (max-width: 768px) {
    .c1_rounded-rect {
        padding: 20px 10px;
    }

    .icon-text-container .icon {
        width: 50px;
        height: 50px;
    }

    .c1_field_cards {
        padding: 40px 15px 15px 15px;
    }

    .c1_con_ttl {
        font-size: 1.375rem;
        text-align: center;
    }

    .c1_rounded-rect {
        margin: 5px 0 10px 0;
    }

    .c1_rounded-rect .icon_r {
        padding: 0 10px 0 0px;
    }

    .home_see_btn {
        min-width: 288px;
        padding: 12px 60px;
        width: 80%;
    }
}

/* C-1 end */

/* C-2 start */
.c2_field_cards {
    max-width: 1060px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 70px 0 60px 0;
}

.c2_field_cards .row {
    --bs-gutter-x: 3rem;
}

.c2_banner_btn{
	display: flex;
    justify-content: left;
    align-items: center;
    width: 100%;
}
@media(max-width: 1024px){
	.c2_banner_btn{
		display: flex;
	    justify-content: center;
	    align-items: center;
	    width: 100%;
	}

}
@media(max-width: 768px){
	.c2_banner_btn{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
	}
}
/* C-2 end */

/* F-2 start */
.ul-wrapper4 {
    display: flex;
    flex-wrap: nowrap;
    width: 75%;
    box-sizing: border-box;
}

.navi .ul-wrapper4 ul li {
    display: flex;
    height: 75px;
    line-height: 3.8;
    float: left;
    transition: all 0.3s ease;
    flex: 1 1 auto;
    text-align: left;
    align-items: center;
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    color: var(--bs-nav-tabs-link-active-color);
    background-color: none;
    border-color: none;
    text-decoration: none;
}

.nav-tabs .nav-link {
    border: none;
}

.nav-item.last-item a {
    display: flex;
    align-items: center;
    justify-content: center; 
    text-decoration: none; 
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus,
.nav-tabs .nav-link.active {
    box-shadow: inset 0 -3px #1A4DA5;
	color: var(--bs-nav-tabs-link-active-color);
}
.nav-tabs .nav-link.no-hover-line:hover,
.nav-tabs .nav-link.no-hover-line:focus {
    box-shadow: none; 
}
.nav-tabs .nav-link.no-hover-line {
    text-decoration: none; 
}

.nav-tabs .nav-link1:focus, .nav-tabs .nav-link1.active {
    background-color: #1A4DA51A;
    border-radius: 5px 5px 0 0;
	border: none;
	font-size: 0.9375rem;
	font-weight: bold;
	padding: 14px 27px;
}
.nav-tabs .nav-link1.active:hover{
	background-color: #1A4DA51A;
}
.nav-tabs .nav-link1:hover{
	background-color: #ffffff;
	font-weight: bold;
}

.nav-link1 {
    cursor: pointer;
	padding: 14px 27px;
	border: none;
	background-color:#ffffff;
	transition: none;
	box-sizing: border-box;
	font-size: 0.9375rem;
}

.nav-link1:hover {
	font-size: 0.9375rem;
    background-color: #e9ecef; 
	transform: none;
	animation: none; 
    transition: none;
}

.nav-tabs {
    --bs-nav-tabs-border-color: none;
}

.nav-link {
    color: #222222;
    display: flex;
}

.navi_height {
    line-height: 35px;
    padding-top: 20px;
}

.navi_height ul li{
	margin-right:5px;
}

.right-div {
    display: flex;
    align-items: center;
    padding-top: 20px;
}

.right-div img {
    margin-left: 15px;
}

.f2_nav {
    font-weight: bold;
    margin-left: 10px;
    font-size: 3rem;
}

.f2_transparent {
    background-color: rgba(255, 255, 255, 0.8);
    border: 1px solid #fff;
    padding: 25px 50px;
    z-index: 0;
    border: 0;
    max-width: 663px;
    width: 60%;
    margin: 30px 0;
}

.f2_banner_ln1 {
    width: 100%;
    font-size: 1.125rem;
    color: #222222;
    margin-bottom: 10px;
    display: block;
}

.f2_banner_ln3 {
    width: 100%;
    font-size: 1.125rem;
    color: #222222;
}

.f2_banner_btn01 {
	height: 48px;
    display: inline-flex;
    align-items: center;
    background-color: #af272f;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer;
    border-radius: 24px;
    transition: background-color 0.3s;
    padding: 0 46px;
    max-width: 1104px;
    overflow: hidden;
    border: 1px solid #af272f;
    white-space: nowrap;
}

.f2_banner_btn01:hover {
    border: 1px solid #af272f;
    color: #af272f;
    background-color: #ffffff;
}

.f2_banner_btn02 {
	margin:0 2px 0 10px;
    max-width: 185px;
	height: 48px;
    display: inline-flex;
    align-items: center;
    background-color: #ffffff;
    color: #1A4DA5;
    text-align: center;
    text-decoration: none;
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer;
    border-radius: 24px;
    transition: background-color 0.3s;
    padding: 0 28px;
    max-width: 1104px;
    overflow: hidden;
    border: 1px solid #1A4DA5;
    white-space: nowrap;
}

.f2_banner_btn02:hover {
    border: 1px solid #1A4DA5;
    background-color: #1A4DA5;
    color: #ffffff;
}

.tab-content {
    border-top: 1px solid #dcdcdc;
}

.f2_active {
    border-bottom: 2px solid #1a4da5;
}

.f2_ttl {
    width: 100%;
    color: #222222;
    font-size: 1.75rem;
    font-weight: bold;
    text-align: left;
    margin: 50px 0 15px 0;
}

.f2_ttl2 {
    width: 100%;
    color: #222222;
    font-size: 1.75rem;
    font-weight: bold;
    text-align: left;
    margin: 35px 0 25px 0;
}

.f2_container {
    display: flex;
    align-items: center;
    margin: 5px 0;
}

.f2_container .icon {
    font-size: 2rem;
    margin-right: 1rem;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    padding-left: 2px;
}

.f2_container .icon img {
    width: 56px;
    height: 56px;
}

.f2_container .text {
    font-weight: bold;
    line-height: 1.39;
    text-align: left;
    font-size: 1.375rem;
    width: 100%;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.f2_icon_r {
    padding: 0 0 0 10px;
    text-align: right;
}

.f2_con_h {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 10px 0;
}

.f2_con_h ul {
    margin-bottom: -35px;
    padding: 0;
}

.f2_con_h ul li {
    list-style: none;
    line-height: 2;
    font-size: 1.125rem;
}

.f2_con_h input {
    margin-right: 5px;
}

.f2_con_h i {
    margin-left: 5px;
    color: #141B4D;
}

.f2_con_h a {
    font-size: 1.125rem;
    color: #1A4DA5;
}

.f2_con_h a:hover {
    text-decoration: underline;
}

.f2_field_cards {
    max-width: 1060px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 40px 0 0 0;
}

.f2_field_cards .con_box a {
	max-width: 100%;
    display: block;
}

.f2_con_ttl {
    color: #141b4d;
    font-weight: bold;
    font-size: 2.625rem;
    padding: 0;
}

.f2_con_text {
    font-size: 1.125rem;
    line-height: 1.67;
    color: #222222;
    flex: 1;
    box-sizing: border-box;
    margin: 30px 0 55px 0;
}

.f2_box {
    width: 100%;
    border: 1px solid #DCDCDC;
    padding: 40px;
    margin-bottom: 30px;
    background-color: #FFFFFF;
    border: 1px solid #ccc;
}
.f2_box:hover {
    cursor: pointer;
    background-color: #F7F7F7;
}

.f2_box_img {
    border: 1px solid #DCDCDC;
    padding: 3px;
}

.f2_box_ttl {
    width: 100%;
    color: #222222;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: left;
}
.f2_box:hover .f2_box_ttl {
	text-decoration: underline;
}

.f2_box_con {
    display: flex;
    align-items: center;
}

.f2_box_text {
    font-size: 1rem;
    line-height: 1.67;
    color: #222222;
    flex: 1;
    box-sizing: border-box;
    margin: 30px 0 0 0;
    padding-right: 30px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 750px;
}
.f2_box.no_mobal:hover {
    cursor: default;
    background-color: inherit;
}
.f2_box.no_mobal:hover {
    background-color: #FFFFFF;
}
.f2_box.no_mobal:hover .f2_box_ttl {
	text-decoration: none;
}
.f2_box.no_mobal .f2_box_text {
    -webkit-line-clamp: inherit;
}

.question_box {
    width: 100%;
    border: 1px solid #DCDCDC;
    padding: 30px 40px 10px 40px;
    align-items: center;
    border-radius: 5px;
    margin-bottom: 20px;
    background-color: #ffffff;
}

.question_box:hover {
    background-color: #F7F7F7;
}

.question_ttl {
    font-size: 1.2rem;
    //font-weight: bold;
    width: 100%;
    color: #141B4D;
    padding: 0 0 20px 0;
	display: flex; 
    justify-content: space-between;
    text-indent: -1.5em;
    padding-left: 1.5em;
}
.question_ttl:hover{
	cursor: pointer;
}
.question_ttl button {
    background: none; 
    border: none;
    padding: 0; 
    margin: 0; 
    cursor: pointer; 
	margin-left:5px;
}
.question_con {
    font-size: 1.1rem;
    //font-weight: bold;
    width: 100%;
    color: #222222;
    padding-top: 15px;
    line-height: 2;
    border-top: 1px solid #DCDCDC;
    overflow-wrap: break-word;
    word-break: break-all;
    text-indent: -1.5em;
    padding-left: 1.5em;
}

.black_con {
    width: 100%;
    max-width: 1060px;
    display: block;
    background-color: #000000;
    margin: 0 auto;
    padding: 30px 0 45px 0;
    display: flex;
    flex-wrap: wrap;
}
.index .black_con {
    max-width: inherit;
}

.black_box {
    padding: 30px 20px 10px 30px;
    flex: 0 0 33.333%;
    max-width: 33.333%;
}

.black_box2 {
    padding: 0 75px 45px 75px;
    flex: 0 0 50%;
    margin: 60px 0 0 0;
}

.gray_line {
    border-right: 1px solid #999999;
}

.black_box_ttl {
    font-size: 1.75rem;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    margin-bottom: 30px;
}

.black_box_con {
    font-size: 1.125rem;
    color: #DCDCDC;
    line-height: 1.5;
    text-align: left;
}

.black_box_btn {
    font-size: 1rem;
    color: #ffffff;
    border: 1px solid #af272f;
    margin: 100px auto 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border-radius: 30px;
    padding: 10px 20px;
    margin: 30px auto 0 auto;
    background: #AF272F;
    white-space: nowrap;
    font-weight: bold;
}

.black_box_btn_icon {
    display: inline-block;
    width: 33px;
    height: 23px;
    background-size: cover;
    background-position: center;
    background: url(../images/talk_icon.png) no-repeat;
}

.black_box_btn:hover {
    cursor: pointer;
    background-color: #ffffff;
    color: #af272f;
    border: 1px solid #af272f;
}

.black_box_btn:hover .black_box_btn_icon {
    background: url(../images/talk_icona.png) no-repeat;
}

.black_box_btn2 {
    font-size: 1rem;
    font-weight: bold;
    color: #1A4DA5;
    background: #ffffff;
    border-radius: 30px;
    height: 48px;
    justify-content: center;
    display: flex;
    align-items: center;
    /*width: 80%;*/
    padding: 0 20px;
    margin: 30px auto 0;
}

.black_box_btn2:hover {
    cursor: pointer;
    background-color: #1A4DA5;
    color: #ffffff;
}

.f2_btn_con {
    width: 100%;
    float: left;
    overflow: hidden;
    display: flex;
    flex: 0 0 auto;
    display: flex;
    flex-wrap: wrap;
}

.f2_text {
    color: #222222;
    font-size: 1rem;
    width: 100%;
    line-height: 1.6;
    padding: 10px 0;
    margin: 10px 0;
}

.f2_con_com {
    width: 100%;
    color: #141B4D;
    font-size: 1rem;
    text-align: left;
    line-height: 2.19;
}

.f2_con_com2 {
    width: 100%;
    color: #141B4D;
    font-size: 1.125rem;
    text-align: left;
    line-height: 1.94;
}

.breadcrumb {
    display: flex;
    overflow: hidden;
    white-space: nowrap;
    padding: 0 10px;
}

.breadcrumb-item:last-child {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.breadcrumb-item.active {
    color: #999999;
}

@media (min-width: 1024px) {
    .menu_hidden {
        display: none !important;
    }

    .collapse:has(.Z02) {
	    display: block !important;
	}
}

.collapse:not(.show) {
    display: none;
}

.justify-content-end {
    justify-content: none !important;
}

.custom-list .last-item {
    margin-left: auto;
    display: flex;
    justify-content: flex-end;
}

.custom-list .last-item img {
    margin: -3px 0 0 0;
}

.f2_left {
    font-size: 1.125rem;
    line-height: 1.67;
    color: #222222;
    flex: 1;
    box-sizing: border-box;
}

.f2_rounded_rect {
    padding: 25px 20px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #fff;
    border-radius: 5px;
    margin: 10px 0 20px 0;
}

.f2_rounded_rect:hover {
    background-color: #F7F7F7;
    opacity: 0.5;
}

.f2_icon_r {
    padding-right: 2px;
}

.f2_rounded_rect:hover .f2_icon_r {
    padding-right: 0;
}

@media (max-width: 1024px) {
    .con-content {
        padding-left: 0;
        padding-right: 0;
    }
    .f2_nav {
        min-height: 100px;
    }

    /*.f2_banner_ln1 {
        margin-top: 50px;
    }*/

    .f2_banner_ln3 {
        margin-bottom: 50px;
    }

    .right-div {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }

    .menu_hidden {
        display: flex !important;
        font-size: 1.125rem;
        font-weight: bold;
        color: #222222;
        line-height: 60px;
        padding-left: 10px;
		align-items: left; 
    	justify-content: flex-start;
   		width: 100%; 
    }
	.menu_hidden:hover{
		cursor: pointer;
	}

    .menu_hidden button {
        margin-top: 0;
		display: flex;
		align-items: center;
		margin-left: auto; 
		flex-shrink: 0;
    }

    .custom-list {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
    }

    .custom-list li {
        width: 100%;
        background-color: #F7F7F7;
        /*border-bottom: 1px solid #DCDCDC;*/
        padding-left: 50px;
    }

    .custom-list li a {
        padding: 0;
    }

    .custom-list .last-item {
        line-height: 3;
        border: none;
        margin: 0;
        padding-left: 50px;
        flex-direction: row-reverse;
        flex-wrap: wrap;
        justify-content: flex-start;
        justify-content: left;
    }

    .custom-list .last-item>button:nth-child(1) {
        margin-left: -30px;
    }

    .navi_height {
        padding-top: 0;
        background-color: #F7F7F7;
    }

    .custom-list .last-item img {
        /*margin-right: 25px;
        margin-left: -13px;*/
    }

    .nav-tabs .nav-item.show .nav-link,
    .nav-tabs .nav-link.active {
        color: var(--bs-nav-tabs-link-active-color);
        border: none;
        background-color: #F7F7F7;
        padding-left: 0;
    }

    .nav-link {
        padding-left: 20px;
        padding-right: 20px;
    }

    .nav-item .nav-link.active::before {
        content: '';
        display: inline-block;
        width: 12px;
        height: 4px;
        background-color: #1A4DA5;
        margin-top: 14px;
        margin-right: 8px;
        vertical-align: middle;
    }

    .f2_menu_left ul li a {
        color: #222222;
        text-decoration: none;
    }

    .f2_menu_left ul li a:hover {
        color: #1A4DA5
    }

    .ul-wrapper4 {
        width: 100%;
    }

    .navi .ul-wrapper4 ul li {
        height: 40px;
    }

    .f2_con_ttl {
        font-size: 1.75rem;
        text-align: center;
        padding: 0 30px;
    }

    .field_cards {
        --field-cards-horizontal-padding: 0px;
        padding: 55px 0 30px 0;
        /*padding: 55px 0 30px 0!important;*/
    }

    .f2_ttl {
        font-size: 1.25rem;
    }

    .f2_left {
        font-size: 0.875rem;
    }

    .f2_rounded_rect {
        padding: 5px 10px;
        text-align: center;
        border: 1px solid #ddd;
        border-radius: 5px;
        background-color: #fff;
        border-radius: 5px;
        margin: 0;
    }

    .f2_container .icon {
        margin-right: 0;
    }

    .f2_container .icon img {
        width: 50px;
        height: 50px;
    }

    .login_see_con {
        text-align: center;
    }

    .f2_container .text {
        font-size: 1.125rem;
    }

    .f2_con_h a {
        font-size: 0.875rem;
    }

    .f2_con_h ul li {
        font-size: 0.875rem;
    }

    .black_box_ttl {
        margin-bottom: 15px;
        margin-top: 30px;
        font-size: 1.5rem;
        text-align: center;
    }

    .black_box_btn {
        margin: 10px auto 30px auto;
    }

    .black_con {
        padding: 30px 10px 45px 10px;
    }

    .black_box:first-child {
        border-right: none;
    }

    .black_box_btn {
        font-size: 1.25rem;
        font-weight: bold;
    }

    .black_box_con {
        padding: 20px;
    }

    .black_box_btn2 {
        margin: 20px auto 0 auto;
    }

    .nav-tabs .nav-link:hover,
    .nav-tabs .nav-link:focus,
    .nav-tabs .nav-link.active {
        box-shadow: none;
    }
	
	.nav-tabs .nav-link1{
		font-size: 0.875rem;
		padding: 7px 13px;
	}
	
	.nav-tabs .nav-link1:hover, 
	.nav-tabs .nav-link1:focus, 
	.nav-tabs .nav-link1.active {
		font-size: 0.875rem;
		padding: 7px 13px;
	}

    .nav-tabs .nav-link {
        /*text-decoration: underline;*/
    }
	
	.custom-list .last-item {
        line-height: 3;
        border: none;
        margin: 0;
        flex-direction: row-reverse;
        flex-wrap: wrap;
        justify-content: flex-start;
        justify-content: left;
    }
	.custom-list .last-item .nav-link:first-child{
		padding-left: 0;
	}

    .custom-list .last-item .nav-link {
        text-decoration: none; 
        padding-left:0;
        padding-right:0;
    }

    .custom-list .last-item a {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
    }

    .custom-list .last-item img {
        margin-left: -35px;
    }

    .home_see_btn_con {
        text-align: center;
        margin-top: 15px;
    }
    #related_content .home_see_btn_con {
        margin-top: 0;
        margin-bottom: 60px;
    }
    .f2_banner_ln3 {
        margin-top: 20px;
    }

    .translate-middle {
        /*padding: 0 20px 0 0;*/
        width: 100%;
    }
	.nav2{
		padding: 0 40px;
	}
	.tab-content {
		height: auto !important;
		max-height: none !important;
    }
    #prof>.field_cards {
        padding-top: 0!important;
    }
    .f2_box_text {
        min-width: auto;
    }
}

@media (max-width: 768px) {
    .f2_banner_ln3 {
        margin-top: 0;
    }

    .f2_banner_ln1 {
        font-size: 0.875rem;
    }

    .f2_nav {
        font-size: 2rem;
    }

    .f2_banner_btn01 {
        max-width: 165px;
    }

    .navi .ul-wrapper4 ul li {
        height: 40px;
    }

    .f2_con_ttl {
        font-size: 1.375rem;
        text-align: center;
    }

    .f2_con_text {
        font-size: 0.875rem;
    }

    .f2_ttl {
        margin: 20px 0 0 0;
    }

    .f2_con_text {
        margin: 20px 0;

    }

    .f2_box_ttl {
        font-size: 1rem;
    }

    .f2_box_text {
        font-size: 0.875rem;
        margin-top: 0;
        padding-right: 0;
    }

    .f2_box_img img {
        width: 118px;
        height: 70px;
    }

    .f2_box {
        padding: 15px;
        margin-bottom: 15px;
    }

    .f2_ttl2 {
        font-size: 1.25rem;
        margin: 20px 0 0 0;
    }

    .question_ttl {
        font-size: 1.125rem;
    }

    .question_box {
        padding: 20px 10px 0px 20px;
    }

    .question_con {
        font-size: 0.75rem;
        padding-bottom: 10px;
    }

    .black_box {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .black_box:first-child {
        border-bottom: 1px solid #999999;
    }

    .black_con .black_box:nth-child(2) {
        border-bottom: 1px solid #999999;
        border-right: none;
    }

    .black_box_btn {
        margin: 10px auto 20px auto;
    }

    .black_con {
        padding: 0px 10px;
    }

    .black_box_ttl {
        margin-top: 0;
    }

    .black_box {
        padding: 35px 0 20px 0;
    }

    .black_box_ttl {
        margin-bottom: 0;
    }

    .black_box_btn2 {
        margin: 10px auto 10px auto;
    }

    .f2_container .text {
        padding-left: 10px;
    }

    .c2_field_cards .row {
        --bs-gutter-x: 0;
        padding: 0 15px;
    }

    .custom-list li {
        padding-left: 15px;
    }

    .custom-list .last-item {
        /*padding-left: 65px;*/
    }

    .h01_nav {
        font-size: 2rem;
    }
	
	 .menu_hidden {
        flex-wrap: nowrap; 
    }

    .menu_nar {
		flex-shrink: 0;
        margin-right: 10px;
		font-size: 0.875rem;
		background: url(../images/tune_sp.png) no-repeat left center;
		padding-left: 28px;
    }

    .menu_hidden button {
        margin-left: auto;
    }
	.menu_hidden {
		line-height: 48px;
	}
	.f2_banner_btn01 {
        padding: 0 30px;
        max-width: 100%;
        white-space: normal; 
        overflow: visible; 
		margin-top: 10px;
    }
	.f2_banner_btn02 {
        padding: 0 20px;
        max-width: 100%;
        white-space: normal; 
        overflow: visible; 
		margin-top: 10px;
    }
	.nav2{
		padding: 0 15px;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
    .black_box:last-child {
        margin-top: 30px;
    }

    .black_box:first-child {
        border-bottom: 1px solid #999999;
        text-align: center;
        flex: 0 0 100%;
        max-width: 100%;
        padding-top: 0;
    }

    .black_box {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .black_con .black_box:nth-child(2) {
        margin-top: 30px;
    }
}

.f2_menu_left {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding-right: 20px;
    padding-left: 20px;
}

/* F-2 end */

/* E-2 start */
.exa_banner_ln1 {
    width: 100%;
}

.exa_banner_btn {
    width: 100%;
    height: 30px;
    background: #DCDCDC;
    color: #888888;
    font-size: 0.8rem;
    white-space: nowrap;
    display: inline-block;
    max-width: 190px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 5px 0 10px 0;
    border:1px solid #aaaaaa;
}

.exa_nav {
    width: 100%;
    color: #141B4D;
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.5;
    padding-right: 45px;
    text-align: left;
}

.exa_comp {
    width: 100%;
    color: #222222;
    font-size: 1.125rem;
    margin: 10px 0 0 0;
    text-align: left;
}

.exa_btn_con {
    width: 70%;
    float: left;
    overflow: hidden;
    margin-top: 30px;
}

.exa_btn_con ul {
    padding: 0;
}

.exa_btn_con ul li {
    list-style: none;
    float: left;
    flex: 1 1 auto;
    display: flex;
    align-items: left;
}

.exa_container {
    width: 100%;
    max-width: 1060px;
    margin: 0 auto;
    padding: 65px 0 0 0;
}

.exa_rounded_rect {
    width: 100%;
    padding: 20px;
    text-align: left;
    border: 1px solid #DCDCDC;
    border-radius: 5px;
    background-color: #fff;
    border-radius: 5px;
    margin-bottom: 30px;
    flex: 1 1 auto;
    display: flex;
    align-items: flex-start;
}

.exa_left {
    padding: 0 10px 0 0px;
    color: #222222;
    font-size: 1.3rem;
    font-weight: bold;
    word-wrap: break-word;
	width: 300px;
    flex-shrink: 0;
    align-self: center;;
}

.exa_right {
    border-left: 1px solid #999999;
    display: flex;
	flex-grow: 1; 
    padding: 10px 15px 8px 30px;
}

.exa_right ul {
    width: 100%;
    margin: 0 0 0 30px;
    padding: 0;
}

.exa_right ul li {
    list-style: url(../images/check.svg);
    color: #222222;
    font-size: 1.125rem;
    text-align: left;
    line-height: 1.5;
    padding: 5px 0 5px 10px;
    word-break:break-all;
}

.exa_ttl {
    width: 100%;
    font-size: 1.75rem;
    font-weight: bold;
    text-align: left;
    margin: 68px 0 15px 0;
    line-height: 1.4;
}
#prof .exa_ttl,
#prof .m_t30 {
    //margin-top: 0;
}

.exa_rounded_rect2 {
    width: 100%;
    padding: 30px 30px 20px 30px;
    text-align: center;
    border: 1px solid #DCDCDC;
    background-color: #ffffff;
    flex: 1 1 auto;
    display: flex!important;
	box-sizing: border-box;
}
.exa_rounded_rect4 {
    width: 100%;
    padding: 30px 30px 20px 30px;
    text-align: center;
    border: 1px solid #DCDCDC;
    background-color: #f7f7f7;
    flex: 1 1 auto;
    display: flex!important;
	box-sizing: border-box;
	flex-direction: column;
}

.exa_left2 {
    width: 160px;
    min-width: 160px;
    margin-right: 40px;
}
.exa_left2 img{
    border: 1px solid #999999;
    object-fit: contain;
    object-position: center;
    /*height: 100%;*/
    width: 100%;
}
.exa_rect2_ln{
	display: flex; 
    width: 100%; 
    align-items: flex-start; 
}
.exa_rect2_con{
	border-top: 1px dotted #DCDCDC;
	font-size: 1rem;
	color: #222222;
	line-height:1.5;
	padding: 15px 0 0 0;
	margin: 20px 0 20px 0;
	text-align:left;
}
.exa_right2 {
    flex-grow: 1; 
}
.exa_right2_ttl {
    font-size: 1.375rem;
    font-weight: bold;
    color: #222222;
    text-align: left;
    margin: 0 0 30px 0;
}
.exa_right2_con ul {
    margin: 0;
    padding: 0;
}

.exa_right2_con ul li {
    color: #222222;
    font-size: 1.125rem;
    line-height: 2;
    list-style: none;
    text-align: left;
}

.field_cards_mb0.prof_min .exa_right2_con ul li {
    font-size: 0.9rem;
}
.field_cards_mb0.prof_min .exa_ttl{
    margin:1rem 0 0;
    font-size: 1rem;
}
.field_cards_mb0.prof_min{
    padding-bottom: 3rem;
}
.field_cards_mb0.prof_min .exa_rounded_rect2{
    background-color: #f7f7f7;
}
#prof{
    margin: 2rem 0;
}
.z13_left .T01_ttl05.m_t30{
    margin-top: 6rem;
}
.z13_left .field_cards.pt-0{
    padding-bottom: 0;
}
.prof_min .exa_ttl {
    font-size: 1.25rem;
    margin-top: 30px;
}
.prof_min .exa_left2 {
    width: 100px;
    min-width: 100px;
    margin-right: 20px;
}
.prof_min .exa_right2_ttl {
    font-size: 1.2rem;
    margin-bottom: 15px;
}
.field_cards_mb0.prof_min .prof_min .exa_right2_ttl {
    font-size: 1rem;
}

.z13_right .z15_ttl{
 	margin: 0;  
}
.z13_right .z15_h,
.z13_right .z15_list{
    margin-bottom: 5rem;
}

.exa_sub_ttl {
    width: 100%;
    font-size: 1.375rem;
    font-weight: bold;
    text-align: left;
    margin: 50px 0 15px 0;
}

.exa_con {
    width: 100%;
    font-size: 1.125rem;
    color: #222222;
	line-height: 1.8;
}

.exa_con span {
    font-weight: bold;
    margin-right: 20px;
}

.exa_pic {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin: 90px auto 10px auto;
    border: 1px solid #dcdcdc;
    padding: 5px;
    box-sizing: border-box;
    width: max-content;
}

.exa_pic img {
    width: 380px;
    height: 260px;
}
.exa_pic a:hover{
	opacity: 0.6;
}
.exa_pic_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin: 1rem auto 5rem;
    box-sizing: border-box;
    /* width: max-content; */
    font-size: 1rem;
}

.exa_box {
    width: 100%;
    background-color: #F7F7F7;
    padding: 30px 20px 8px 20px;
    margin-top: 90px;
}

.exa_box_ttl {
    width: 100%;
    font-size: 1rem;
    font-weight: bold;
}

.numbered-list {
    list-style-type: none;
    counter-reset: list-counter;
    padding-left: 0;
}


.numbered-list li {
    counter-increment: list-counter;
    margin-bottom: 5px;
    position: relative;
    padding-left: 5px;
   font-size: 0.85rem;
}

.numbered-list li::before {
    content: "["counter(list-counter) "]";
    position: absolute;
    left: -30px;
    width: 30px;
/*    text-align: right;
    width: 20px;*/
}

.exa_box_con ol {
    margin-left: 30px;
    margin-top: 20px;
}
.exa_box_con li img{
	margin-left: 10px;
}
.numbered-list li a {
    color: #1A4DA5;
    font-weight: bold;
    font-style: italic;
    text-decoration: none;
}

.exa_box_ttl2 {
    width: 100%;
    background-color: #F7F7F7;
    font-size: 1.75rem;
    font-weight: bold;
    margin: 50px 0 50px 0;
    padding: 13px 50px;
}

.exa_pic2 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin: 0 auto;
    padding: 5px;
    box-sizing: border-box;
    width: max-content;
    height: max-content;
}

.exa_com {
    font-size: 1.5rem;
    font-weight: bold;
    color: #1A4DA5;
    margin: 50px 0 8px 0;
}

.exa_com i {
    margin-left: 10px;
    font-size: 1.3rem;
    font-weight: bold;
}

.exa_com_con {
    margin: 30px 40px 30px 10px;
}

.exa_com_con .col-3 {
    text-align: left;
    padding: 0 0 10px 20px;
}

.exa_com_con .col-9 {
    margin-left: -40px;
}

.colon {
    display: inline-block;
    margin-left: 15px;
}

.exa_com_con .row>[class*='col-'] {
    display: inline;
}

.exa_rounded_rect3 {
    width: 100%;
    padding: 20px;
    text-align: center;
    border-radius: 5px;
    background-color: #F7F7F7;
    border-radius: 5px;
    margin-bottom: 15px;
    flex: 1 1 auto;
    display: flex;
    align-items: flex-start;
}

.exa_rounded_rect3:last-child {
    margin-bottom: 0;
}

.exa_rounded_rect3:last-child ul li {
    //line-height: 3.5;
}

.exa_left3 {
    color: #222222;
    font-size: 1.25rem;
    font-weight: bold;
    white-space: normal;
    align-self: center;
    text-align: left;
    width: 300px;
    min-width: 300px;
}

.exa_right3 {
    padding: 0 30px;
    display: flex;
    align-items: center;
}

.exa_right3 ul {
    width: 100%;
    margin: 0 0 0 20px;
    padding: 0;
}

.exa_right3 ul li {
    color: #1A4DA5;
    font-weight: bold;
    font-size: 1rem;
    text-align: left;
    line-height: 1;
    position: relative;
}

.exa_right3 ul li span {
    flex: 1;
    display: block;
    word-wrap: break-word;
}

.exa_right3 i {
    color: #1A4DA5;
    vertical-align: middle;
    margin-top: 8px;
}

.exa_right3 .bi-box-arrow-up-right {
    font-weight: bold;
    font-size: 0.8rem;
    margin-left: 8px;
    vertical-align: middle;
    color: #172247;
}

.exa_btn {
    width: 80%;
    height: 70px;
    background-color: #af272f;
    color: #fff;
    text-align: center;
    text-decoration: none;
    /* display: inline-block; */
    font-size: 1.2rem;
    font-weight: bold;
    border-radius: 50px;
    transition: background-color 0.3s;
    margin: 30px auto;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.exa_black_con .exa_btn {
    position: relative;
    bottom: 0;
}

.exa_btn_img {
    width: 35px;
    height: 24px;
    background: url(../images/icon_talk02.png) no-repeat;
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}

.exa_btn:hover {
    background-color: #ffffff;
    color: #af272f;
    border: 1px solid #af272f;
}

.exa_btn:hover .exa_btn_img {
    background: url(../images/icon_talk02a.png) no-repeat;
}

.exa_black_con {
    width: 100%;
    /*max-width: 1060px;*/
    display: block;
    background-color: #000000;
    margin: 0 auto;
    padding: 40px 50px 35px 50px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.exa_ln1 {
    /* width: 100%; */
    font-size: 1.65rem;
    font-weight: bold;
    text-align: center;
    color: #ffffff;
    margin: 15px 20px 35px;
}

.exa_ln2 {
    /* width: 100%; */
    font-size: 1rem;
    color: #DCDCDC;
    margin: 0 20px;
    /* text-align: left; */
}

.exa_btn2 {
    background-color: #fff;
    color: #141b4d;
}

.exa_btn2:hover {
    background-color: #141B4D;
    border: 1px solid #ffffff;
    color: #fff;
}

.exa_btn01 {
    height: 27px;
    line-height: 2;
    background-color: #AF272F;
    color: #fff;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 0.875rem;
    margin: 4px 5px 4px 0;
    cursor: pointer;
    transition: background-color 0.3s;
    white-space: nowrap;
    display: inline-block;
    padding: 0 10px;
    border-radius: 5px;
}

.exa_login_see {
    height: 36px;
    line-height: 2.25;
    background-color: #fff;
    color: #1A4DA5;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 1rem;
    font-weight: bold;
    margin: 40px 2px 4px 2px;
    cursor: pointer;
    border-radius: 24px;
    transition: background-color 0.3s;
    border: 1px solid #1A4DA5;
    padding: 0 35px 0 15px;
    white-space: nowrap;
    display: inline-block;
    background: url(../images/icon_r2.svg) no-repeat;
    background-position: right 15px center;
}

.exa_login_see img {
    margin: -3px 5px 0 5px;
}

.exa_login_see:hover {
    background-color: #1a4da5;
    color: #fff;
}

.exa_bg {
    width: 100%;
    margin: 30px 0;
    text-align: center;
    position: relative !important;
}

.exa_field_cards {
    /*max-width: 1060px;*/
    margin: 0 auto;
    box-sizing: border-box;
    padding: 70px 0 60px 0;
}

.exa_con_ttl {
    width: 100%;
    color: #222222;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: left;
    margin: 60px 0 15px 0;
}

.exa_nav1 {
    max-width: 1200px;
    width: 100%;
    height: 32px;
    line-height: 3.3;
    overflow: hidden;
    color: #999999;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}

.exa_nav1 a:link {
    text-decoration: none;
    font-size: 0.75remrem;
}

.exa_nav1 ul li {
    height: 32px;
    font-size: 0.75rem;
}

.exa_black_con .col:has(.exa_l) {
    border-right: 1px solid #707070;
}

.exa_l {
    float: left;
    overflow: hidden;
    width: 100%;
    padding-right: 10%;
    position: relative;
}

.exa_r {
    /* float: left; */
    padding-left: 10%;
    position: relative;
    overflow: hidden;
}

.exa_content_wrapper {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1200px;
    margin: 20px auto;
    padding: 0;
}

.z13_left .field_cards.pt-0,
.z13_left .field_cards_mb0,
.z13_left .con-content {
    padding-left: 0;
    padding-right: 0;
}

@media(max-width: 1024px) {
    .exa_banner_ln1 {
        margin: -100px 0 0 0;
    }

    .exa_left_column {
        margin: 0 20px;
    }

    .exa_nav {
        padding-right: 0;
    }

    .exa_comp {
        margin-top: 0;
    }

    .exa_left {
        font-size: 1.5rem;
    }

    .exa_right ul li {
        padding: 2px 0 2px 10px;
    }

    .exa_ttl {
        font-size: 1.5rem;
        margin: 50px 0 15px 0;
    }

    .exa_left2 {
        width: 160px;
        min-width: 160px;
    }
	
/*	.exa_left2 img{
        object-fit: contain;
        object-position: center;
        height: 100%;
        width: 100%;
    }*/

    .exa_right2_con ul li {
        font-size: 1rem;
        line-height: 1.5;
    }

    .exa_rounded_rect2 {
        width: 100%;
        padding: 25px;
    }
	
	.exa_rounded_rect4 {
        width: 100%;
        padding: 25px;
    }

    .exa_sub_ttl {
        font-size: 1.0625rem;
    }

    .exa_sub_ttl {
        margin: 30px 0 15px 0;
    }

    .exa_con {
        font-size: 1rem;
    }

    .exa_pic {
        margin: 15px auto 10px auto;
    }

    .exa_pic_ttl {
        font-size: 0.8125rem;
    }

    .exa_box {
        margin-top: 50px;
        padding: 20px 20px 8px 20px;
    }

    .exa_box_ttl {
        font-size: 1.3125rem;
    }

    .numbered-list li {
        font-size: 0.875rem;
    }

    .exa_box_con ol {
        margin-top: 10px;
    }

    .exa_box_ttl2 {
        font-size: 1.5rem;
    }

    .exa_box_ttl2 {
        padding: 2px 50px;
        margin: 50px 0 20px 0;
    }

    .exa_com {
        font-size: 1.25rem;
    }

    .exa_com i {
        font-size: 1.1rem;
    }

    .exa_com_con .col-3 {
        padding: 0 0 0px 20px;
    }

    .exa_com_con {
        margin: 10px 40px 10px 10px;
    }

    .exa_rounded_rect3:last-child {
        margin-bottom: -15px;
    }

    .exa_ln1 {
        font-size: 1.5rem;
    }
    .exa_ln1,
    .exa_ln2 {
        margin-left:0;
        margin-right: 0;
    }


    .exa_btn {
        height: 45px;
        font-size: 1rem;
    }

    .exa_btn_img {
        width: 25px;
        height: 17px;
        background: url(../images/icon_talk01.png) no-repeat;
        margin-right: 10px;
        display: inline-block;
        vertical-align: middle;
    }

    .exa_btn:hover .exa_btn_img {
        background: url(../images/icon_talk01a.png) no-repeat;
    }

    .exa_black_con {
        padding: 40px 50px 30px 50px;
    }

    .exa_field_cards {
        padding: 40px 0 30px 0;
    }

    .exa_con_ttl {
        width: 100%;
        color: #222222;
        font-size: 1.5rem;
        font-weight: bold;
        text-align: left;
        margin: 45px 0 15px 0;
    }

    .slider1 .slider .col-12 {
        padding-bottom:6px;
    }
    .exa_nav1 {
        margin: 45px auto 0 auto;
    }
    .exa_nav1 .breadcrumb {
        margin-bottom:0;
    }

    .h-100 {
        height: 100% !important;
        max-height: 368px;
    }

    .exa_container {
        padding: 30px 0 0 0;
    }

    .exa_rounded_rect {
        margin-bottom: 26px;
    }

    .exa_container {
        width: 100%;
        max-width: 1024px;
    }

    .exa_btn_con {
        width: 85%;
    }
	.navi_height ul li {
		margin-right: 0;
	}
	.custom-list {
        display: block; 
        width: 100%;
    }

    .custom-list li {
        width: 100%;
        /*background-color: #F7F7F7;*/
        /*border-bottom: 1px solid #DCDCDC;*/
        /*padding-left: 30px;*/
        display: block;
        box-sizing: border-box; 
    }
	.custom-list li:last-child{
		border-bottom: none;
	}
	.exa_right {
		padding: 10px 65px 8px 30px;
	}
	.exa_rect2_con {
		border-top: 1px dotted #DCDCDC;
		font-size: 1rem;
		color: #222222;
		line-height: 1.5;
		padding: 15px 0 0 0;
		margin: 20px 0 0 0;
		text-align: left;
	}
	. follow_hidden{
		display: none;
	}
}

@media (max-width: 768px) {

    .exa_nav1 {
        margin: 95px auto 0 auto;
        padding: 0 10px;
        height: 28px;
        line-height: 3;
    }

    .exa_nav1 a:link {
        font-size: 0.625rem;
        text-decoration: underline;
    }

    .exa_nav1 ul li {
        height: 32px;
        font-size: 0.625rem;
    }

    .exa_banner_btn {
        width: 100%;
        height: 19px;
        background: #DCDCDC;
        color: #222222;
        font-size: 0.6875rem;
        border-radius: 24px;
        white-space: nowrap;
        display: inline-block;
        max-width: 120px;
        padding: 0 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 5px 0 10px 0;
    }

    .exa_nav {
        font-size: 1.5rem;
        line-height: 1.2;
    }

    .exa_comp {
        font-size: 1rem;
    }

    .exa_btn_con {
        width: 100%;
        margin-top: 10px;
    }

    .exa_banner_ln1 {
        margin: -10px 0 0 0;
    }

    .exa_bg {
        margin: 7px 0;
    }

    .exa_container {
        padding: 40px 0 0 0;
    }

    .exa_left,

    .exa_right {
        width: 100% !important;
        border-right: none;
        padding: 0px 0 10px 0;
        font-size: 1rem;
		justify-content: left;
    }

    .exa_rounded_rect .d-flex.justify-content-end {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
    }

    .exa_right ul li {
        font-size: 0.875rem;
        margin: 4px 0 0 0;
    }

    .exa_rounded_rect {
        padding: 8px;
        margin-bottom: 20px;
    }

    .exa_right ul li {
        padding: 2px 0 2px 0px;
    }

    .exa_rounded_rect3 .d-flex.justify-content-end {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        width: 100%;
    }

    .exa_rounded_rect3 {
        padding: 8px;
        margin-bottom: 10px;
    }

    .exa_ttl {
        font-size: 1.125rem;
        margin: 30px 0 5px 0;
    }

    .exa_left2 {
        width: 86px;
        min-width: 86px;
        flex-shrink: 0;
        flex-grow: 0;
        margin-right: 20px;
    }

    .exa_rounded_rect2 {
        padding: 12px;
    }
	
	.exa_rounded_rect4 {
        padding: 12px;
    }

    .exa_right2_ttl {
        font-size: 0.875rem;
        margin: 0 0 5px 0;
    }

    .exa_right2_con ul li {
        font-size: 0.875rem;
    }

    .exa_sub_ttl {
        font-size: 1rem;
        margin: 20px 0 10px 0;
    }

    .exa_con {
        font-size: 0.875rem;
    }

    .pe-4 {
        padding-right: 0 !important;
    }

    .exa_box {
        padding: 20px 15px 8px 15px;
        width: 110%;
        margin: 40px 0 0 -15px;
    }

    .exa_box_ttl {
        font-size: 1.125rem;
    }

    .numbered-list li {
        padding-left: 0;
    }

    .exa_box_con ol {
        margin-bottom: 0;
    }

    .exa_box_ttl2 {
        padding: 0px 15px;
        margin: 40px 0 10px 0;
        font-size: 1.25rem;
    }

    .exa_pic2 img {
        width: 358px;
        margin: 0 auto 10px auto;
    }

    .exa_pic2 {
        padding: 0;
    }

    .exa_com {
        margin: 0px 0 5px 0;
        font-size: 1.125rem;
    }

    .exa_com_con {
        font-size: 0.875rem;
        margin: 10px 0px 10px 0px;
    }

    .exa_com_con .col-9 {
        margin-left: -120px;
        flex: 1;
    }

    .exa_com_con .col-3 {
        padding: 0 0 0px 0px;
        flex: 1;
    }

    .exa_left3 {
        font-size: 1rem;
        border-right: 0;
        margin: 5px 0 10px 0;
        width: inherit;
        min-width: inherit;
        align-self: unset;
    }

    .exa_right3 ul li {
        font-size: 0.875rem;
    }

    .exa_right3 {
        padding: 0 8px;
    }

    .exa_rounded_rect3:last-child ul li {
        line-height: 1;
        margin-bottom: 20px;
    }

    .exa_black_con .row-cols-2>* {
        flex: 0 0 auto;
        width: 100%;
    }

    .exa_pic img {
        width: 340px;
        height: 233px;
    }

    .exa_black_con {
        padding: 0 15px 30px 15px;
        margin-top: 40px;
    }
    .exa_black_con .exa_l,
    .exa_black_con .exa_r {
        display: flex;
        flex-direction: column;
        min-height: inherit;
        padding-top: 30px;
    }
    .exa_black_con .footer1_btn {
        float: none;
        width: inherit;
        margin: 0
    }
    /*
    .exa_black_con .footer1_btn > a {
        margin: 0 20px
    }
    */
    .exa_black_con .exa_btn {
        width: inherit;
        position: relative;
        margin-bottom: 30px;
    }
    .exa_black_con .exa_r .footer1_btn {
        margin: 0 20px;
    }
    .exa_black_con .row .col .exa_l a,
    .exa_black_con .row .col .exa_r a {
        margin-bottom: 0;
    }

    .exa_black_con .exa_r .black_box_btn2 {
        margin-top: 30px;
        width: 100%;
    }
    .exa_black_con .col:has(.exa_l) {
        border-right: none;
    }

    .exa_l {
        border-right: 0;
        padding: 0 10px 20px 10px;
        border-bottom: 1px solid #dcdcdc;
    }

    .exa_ln1 {
        margin: 15px 0;
    }

    .exa_r {
        padding: 0 10px;
    }

    .exa_btn2 {
        margin: 20px 0;
        width: 100%;
    }

    .exa_con_ttl {
        font-size: 1.25rem;
        text-align: center;
        margin: 20px 0 15px 0;
    }

    .exa_login_see {
        margin: 20px 2px 4px 2px;
    }

    .exa_field_cards hr {
        margin-top: 30px;
    }

    .exa_btn01 {
        font-size: 0.75rem;
        line-height: 1.9167;
        height: 23px;
        margin: 2px 0 2px 4px;
    }
	.nav-tabs .nav-link1:hover, 
	.nav-tabs .nav-link1:focus, 
	.nav-tabs .nav-link1.active {
		font-size: 0.875rem;
	}
	.exa_btn_con{
		padding-bottom: 15px;
	}
	.f2_text{
		font-size: 1rem;
	}
	/*.exa_left2 img{
        object-fit: contain;
        object-position: center;
        height: 100%;
        width: 100%;
	}*/
	.exa_rect2_con{
		font-size: 0.875rem;
	} 
    .z13_left .T01_ttl05.m_t30{
        margin-top: 2rem;
    }
}

/* E-2 end */

/*footer*/
.footer {
    width: 100%;
    float: left;
}

.footer1 {
    background: #000;
    width: 100%;
    height: 450px;
    padding: 90px 10px 400px 10px;
    margin: 60px auto;
}

.sp_footer1 {
    background: #000;
    width: 100%;
    padding: 30px 15px 0 15px;
}

.sp_footer1_ln1 {
    flex: 1 0 0%;
    text-align: center;
    font-size: 1.125rem;
    font-weight: bold;
    color: #dcdcdc;
}

.sp_footer1_ln2 {
    flex: 1 0 0%;
    text-align: center;
    font-size: 1.625rem;
    font-weight: bold;
    color: #ffffff;
    line-height: 1.9;
}

.sp_footer1_ln3 {
    flex: 1 0 0%;
    text-align: left;
    font-size: 0.875rem;
    color: #ffffff;
    line-height: 1.57;
    padding: 0 10px;
}

.sp_footer2_btn {
    flex: 1 0 0%;
    text-align: center;
    padding: 0 10px;
}

.sp_footer2_line {
    border-bottom: 1px solid #dcdcdc;
    padding: 0 10px;
    flex: 1 0 0%;
}

.sp_footer2_con {
    flex: 1 0 0%;
    padding: 0 10px;
    text-align: center;
    margin-top: 15px;
    padding-bottom: 30px;
}

.sp_footer2_txt {
    flex: 1 0 0%;
    width: 50%;
    text-align: center;
    font-size: 0.875rem;
    text-align: center;
    color: #ffffff;
    line-height: 1.79;
}

.sp_footer2_btn_s {
    flex: 1 0 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.footer1_r_btn1,
.footer1_r_btn2 {
    display: flex;
    align-items: center;
    justify-content: center;
}

.sp_footer3_ln {
    border-bottom: 1px solid #dcdcdc;
}
.sp_footer3_ln.row-cols-2>.col {
    width: 100%;
}

.sp_footer3_com {
    flex: 1 0 0%;
    text-align: center;
    margin-top: 25px;
}

.sp_footer3_con {
    flex: 1 0 0%;
    margin-top: 15px;
}

.sp_footer3_btn1 {
    flex: 1 0 0%;
    text-align: right;
    padding: 0;
}
.sp_footer3_btn1 img{
	width: 44px;
	height: 33px;
}

.sp_footer3_btn2 {
    flex: 1 0 0%;
    text-align: left;
}
.sp_footer3_btn2 img{
	width: 33px;
	height: 33px;
}
.footer1_con {
    width: 100%;
    float: left;
    overflow: hidden;
    text-align: center;
}

.footer1_ln1 {
    width: 100%;
    float: left;
    font-size: 1.25rem;
    color: #dcdcdc;
}

.footer1_ln2 {
    width: 100%;
    float: left;
    overflow: hidden;
    font-size: 1.875rem;
    font-weight: bold;
    line-height: 2.33;
    color: #ffffff;
}

.footer1_ln3 {
    width: 100%;
    float: left;
    overflow: hidden;
    font-size: 1.125rem;
    line-height: 1.67;
    color: #ffffff;
}

.footer1_btn {
    width: inherit;
    float: left;
    overflow: hidden;
    text-align: center;
    margin-top: 30px;
}

.footer1_l {
    float: left;
    overflow: hidden;
    border-right: 1px solid #707070;
    width: 100%;
    padding-right: 55px;
}

.footer1_l_btn {
    /*width: 100%;*/
    height: 80px;
    background-color: #af272f;
    color: #fff;
    text-decoration: none;
    display: inline-block;
    font-size: 1.5rem;
    font-weight: bold;
    cursor: pointer;
    border-radius: 50px;
    transition: background-color 0.3s;
    margin-top: 50px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    cursor: pointer;
}

.footer1_l_btn_img {
    width: 44px;
    height: 30px;
    background: url(../images/icon_talk03.svg) no-repeat;
	background-size: 44px 30px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}

.footer1_l_btn:hover {
    background-color: #ffffff;
    color: #AF272F;
    border: 1px solid #AF272F;
    cursor: pointer;
}

.footer1_l_btn:hover .footer1_l_btn_img {
    background: url(../images/icon_talk03a.svg) no-repeat;
}

.sp_footer1_l_btn {
    width: 100%;
    height: 54px;
    line-height: 2.7;
    background-color: #af272f;
    color: #fff;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 1.25rem;
    font-weight: bold;
    cursor: pointer;
    border-radius: 50px;
    transition: background-color 0.3s;
    margin: 20px 0 30px 0;
    position: relative;
}

.sp_footer1_l_btn_img {
    position: absolute;
    height: 24px;
    background: url(../images/icon_talk03.svg) no-repeat;
	background-size: 35px 24px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-right: 10px;
    padding-left: 45px;
    display: flex;
    align-items: center;
    white-space: nowrap;
}

.sp_footer1_l_btn:hover {
    background-color: #ffffff;
    color: #af272f;
}
.sp_footer1_l_btn:hover .sp_footer1_l_btn_img{
	position: absolute;
    height: 24px;
    background: url(../images/icon_talk03a.svg) no-repeat;
	background-size: 35px 24px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-right: 10px;
    padding-left: 45px;
    display: flex;
    align-items: center;
    white-space: nowrap;
}

.sp_footer1_l_btn_img:hover {
    position: absolute;
    height: 24px;
    background: url(../images/icon_talk03a.svg) no-repeat;
	background-size: 35px 24px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-right: 10px;
    padding-left: 45px;
    display: flex;
    align-items: center;
    white-space: nowrap;
}

.footer1_r {
    float: left;
    padding-left: 55px;
}

.footer1_r table {
    margin: 25px 0 0 43px;
    width: 70%;
    text-align: center;
}

.footer1_r_btn1 {
    width: 80%;
    height: 50px;
    background-color: #fff;
    color: #141b4d;
    border: 1px solid #141b4d;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 1rem;
    font-weight: bold;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 50px;
    transition: background-color 0.3s;
    position: relative;
    padding-left: 20px;
    justify-content: center;
    padding: 0 20px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.footer1_r_btn1_img {
    width: 17px;
    height: 15px;
    background: url(../images/icon_02.svg) no-repeat;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}

.footer1_r_btn1:hover {
    background-color: #141B4D;
    border: 1px solid #ffffff;
    color: #fff;
}

.footer1_r_btn1:hover .footer1_r_btn1_img {
    background: url(../images/icon_02a.svg) no-repeat;
}

.footer1_r_btn2 {
    width: 80%;
    height: 50px;
    line-height: 3.125;
    background-color: #1a4da5;
    color: #fff;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 1rem;
    font-weight: bold;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 50px;
    transition: background-color 0.3s;
}

.footer1_r_btn2 img {
    margin: -3px 10px 0 0;
}

.footer1_r_btn2:hover {
    background-color: #f7f7f7;
    color: #1a4da5;
}

.footer2 {
    background: #f2f2f2;
    width: 100%;
    /*height: 375px;*/
}

.sp_footer2 {
    background: #f2f2f2;
    width: 100%;
    padding: 30px 15px 16px 15px;
    flex: 1 0 0%;
}

.footer2_ln01 {
    width: 100%;
    /*float: left;*/
    padding-top: 45px;
}

.footer2_ln02 {
    width: 100%;
    /*float: left;*/
    margin-top: 40px;
    display: flex;
}

.footer2_ln02 ul {
    width: 20%;
    /*float: left;*/
    overflow: hidden;
    padding-left: 0;
}

.footer2_ln02 ul li {
    width: 100%;
    height: 35px;
    line-height: 1.94;
    float: left;
    overflow: hidden;
    font-size: 1.125rem;
}

.footer2_ln02 ul li a {
    width: 100%;
    height: 35px;
    line-height: 1.94;
    float: left;
    overflow: hidden;
    font-size: 1rem;
    color: #000;
    text-decoration: none;
    text-align: left;
}

.footer2_ln02 ul li a:hover,
.footer2_ln03_l ul li a:hover {
    text-decoration: underline;
}

.sp_footer2_ln02 {
    width: 100%;
    float: left;
    margin-top: 40px;
    padding: 0 45px;
}

.sp_footer2_ln02 ul {
    width: 100%;
    float: left;
    overflow: hidden;
    border-bottom: 1px solid #dcdcdc;

    padding: 10px 0;
}

.sp_footer2_ln02 ul li {
    width: 100%;
    height: 35px;
    line-height: 1.94;
    float: left;
    overflow: hidden;
    font-size: 1.125rem;
}

.sp_footer2_ln02 ul li a {
    width: 100%;
    height: 35px;
    line-height: 1.94;
    float: left;
    overflow: hidden;
    font-size: 1.125rem;
    color: #000;
    text-decoration: none;
    text-align: left;
}

.sp_footer2_ln02x {
    width: 100%;
    float: left;
    padding: 0 45px;
}

.sp_footer2_ln02x ul {
    width: 100%;
    float: left;
    overflow: hidden;
    border-bottom: 1px solid #dcdcdc;
    padding: 10px 0;
}

.sp_footer2_ln02x ul li {
    width: 100%;
    height: 35px;
    line-height: 2.33;
    float: left;
    overflow: hidden;
    font-size: 0.9375rem;
}

.sp_footer2_ln02x ul li a {
    width: 100%;
    height: 35px;
    line-height: 2.33;
    float: left;
    overflow: hidden;
    font-size: 0.9375rem;
    color: #000;
    text-decoration: none;
    text-align: left;
}

.footer2_ln03 {
    width: 100%;
    /*float: left;*/
    overflow: hidden;
    margin-top: 20px;
    padding-bottom: 20px;
}

.footer2_ln03_l {
    width: 78%;
    float: left;
    overflow: hidden;
}

.footer2_ln03_l ul {
    padding-left: 0;
}

.footer2_ln03_l ul li {
    flex: 1 1 auto;
    float: left;
    overflow: hidden;
    padding-right: 30px;
}

.footer2_ln03_l ul li a {
    font-size: 0.9375rem;
    color: #000;
    text-decoration: none;
}

.footer2_ln03_r {
    width: 20%;
    float: left;
    overflow: hidden;
    text-align: center;
}

.sp_footer2_ln03 {
    width: 100%;
    float: left;
    padding: 0 45px;
}

.sp_footer2_ln03 ul {
    width: 100%;
    float: left;
    overflow: hidden;
    padding: 10px 0;
}

.sp_footer2_ln03 ul li {
    width: 100%;
    height: 35px;
    line-height: 2.33;
    float: left;
    overflow: hidden;
    font-size: 0.9375rem;
}

.sp_footer2_ln03 ul li a {
    width: 100%;
    height: 35px;
    line-height: 2.33;
    float: left;
    overflow: hidden;
    font-size: 0.9375rem;
    color: #000;
    text-decoration: none;
    text-align: left;
}

.footer3 {
    background: #fff;
    width: 100%;
    height: 100px;
}

.footer3_01 {
    width: 48%;
    float: left;
    overflow: hidden;
    font-size: 1rem;
    line-height: 6.25;
}

.footer3_02 {
    float: left;
    overflow: hidden;
    margin: 30px 55px 0 0;
}

.footer3_03 {
    float: left;
    overflow: hidden;
    margin: 30px 0 0 0;
    text-align: right;
}

.sp_footer3_01 {
    color: #707070;
    font-size: 0.875rem;
    line-height: 5;
    text-align: center;
    flex: 1 0 0%;
}

.footer_h {
    width: 100%;
    float: left;
    text-align: center;
}

.footer_text {
    width: 50%;
    text-align: center;
    font-size: 0.875rem;
    text-align: center;
    color: #ffffff;
    line-height: 1.79;
}

.footer_btn {
    flex: 1 0 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.footer1_r_btn1,
.footer1_r_btn2 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 90%;
    min-width: 135px;
}

.footer_text2 {
    width: 50%;

    text-align: center;
    flex: 1 0 0%;
    font-size: 1rem;
    text-align: center;
    color: #ffffff;
    line-height: 1.5625;
    margin-top: 30px;
}

/* pagetop */
.backToTopBtn {
    position: fixed;
    bottom: 20px;
    right: 40px;
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    padding: 0;
    border: none;
    outline: none;
	background-color: #1A4DA5;
	opacity: 0.8;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	text-align: center;
    line-height: 35px;
	z-index:1;
}
.backToTopBtn:hover {
	opacity : 1;
}
.backToTopBtn img  {
    transform: rotate(-90deg);
}


.dropdown-toggle::after {
    border: none;
}

/* scroll slider*/
.slider {
    width: 100%;
    margin: 0 auto;
}

.slick-prev:before,
.slick-next:before {
    color: black;
}

@media (max-width: 1024px) {
    .con_banner_home .slick-slide {
        margin: 0;
    }

    .contact_con_ln1 {
        font-size: 1.75rem;
        margin-top: 45px;
    }

    .contact_con_ln2 {
        font-size: 1.125rem;
    }

    .contact_con_btn {
        font-size: 1.125rem;
        height: 56px;
        padding: 0 30px;
        max-width: 380px;
		margin: 50px auto 35px auto;
    }

    .exa_btn {
        margin-top: 30px;
        width: 100%;
    }
}

@media (max-width: 768px) {
    .header1 {
        margin-top: -50px;
    }
    .header1 .navbar-brand img {
        width: 40%;
        max-width: 102px;
    }
    .header1 .d-flex.flex-row.sp_header1_r>.flex-item {
        padding-left:0;
    }
    .header1 .flex-item .search-btn {
        margin-right: 10px;
    }
    .header1 .d-flex.flex-row.sp_header1_r>.flex-item > a {
        color:inherit;
    }
    .header1 .flex-item #menuButton {
        margin-left: 15px;
    }

    .con_ttl {
        color: #141b4d;
        font-weight: bold;
        font-size: 1.375rem;
        padding: 0;
    }

    .rounded_ttl {
        font-weight: bold;
        font-size: 1.1rem;
        width: 70%;
        line-height: 1.42;
    }

    .icon-text-container .icon img {
        width: 50px;
        height: 50px;
    }

    .padding_tb {
        padding-top: 40px;
        padding-bottom: 20px;
    }

    .field_cards {
        --field-cards-horizontal-padding: 0px;
        padding: 40px 0 30px;
        /*padding: 40px 0 30px!important;*/
    }
    .index .field_cards {
        --field-cards-horizontal-padding: 0px;
        padding-left: 0;
        padding-right: 0;
    }
    .rest_sp_plr_field_cards .field_cards {
        --field-cards-horizontal-padding: 0px;
        padding-left: initial;
        padding-right: initial;
    }

    .content > .col-12 > .field_cards {
        --field-cards-horizontal-padding: 0px;
        padding-left: initial;
        padding-right: initial;
    }
    .field_cards_c {
        padding: 40px 0 30px;
    }
    .c2_field_cards {
        padding: 40px 0 30px;
    }

    .rounded-rect {
        padding: 20px 10px;
        border-radius: 5px;
        background-color: #ffffff;
        margin: 5px 0 10px 0;
    }

    .sp_footer2_ln02 {
        width: 100%;
        float: left;
        margin-top: 30px;
        padding: 0 40px;
    }

    .nav2 ul {
        padding: 10px 0;
    }

    .navi .nav2 ul li {
        height: 25px;
        font-size: 1rem;
        line-height: 1.25;
        float: left;
        flex: 0 0 auto;
        text-align: left;
    }
/*
    .navi.sticky .ul-wrapper3 ul li {
        height: 20px !important;
        line-height: 1.25 !important;
    }
*/
    .custom-ul li {
        flex: 1 1 auto;
        text-align: left;
        padding: 0;
        box-sizing: border-box;
    }

    .icon_r {
        padding: 0 0 0 10px;
    }

    .icon-text-container .text {
        font-size: 1.1rem;
    }

    .sp_footer1_l_btn_img {
        position: absolute;
        height: 24px;
        background: url(../images/icon_talk03.svg) no-repeat;
		background-size: 35px 24px;
        margin-right: 10px;
        padding-left: 45px;
        display: flex;
        align-items: center;
        white-space: nowrap;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .sp_footer1_l_btn_img:hover {
        position: absolute;
        height: 24px;
        background: url(../images/icon_talk03a.svg) no-repeat;
		background-size: 35px 24px;
        margin-right: 10px;
        padding-left: 45px;
        display: flex;
        align-items: center;
        white-space: nowrap;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .categ_nav {
        font-weight: bold;
        margin-left: 10px;
        font-size: 2rem;
        margin-top: 40px;
    }

    .motiv_con {
        width: 100%;
        flex-wrap: wrap;
        margin-top: 25px;
        display: flex;
        align-items: center;
    }

    .con_img {
        margin-left: 0;
        margin: 10px 0;
    }
    .C02 .con_img.order-1 {
        margin-right: 0;
    }
    .C02 .con_img.order-2 {
        margin-left: 0;
    }

    .contact_con_ln1 {
        font-size: 1.625rem;
        margin-top: 15px;
    }

    .contact_con_ln2 {
        font-size: 1.125rem;
    }

    .contact_con_btn_img {
        width: 33px;
        height: 23px;
        background: url(../images/icon_talk03.svg) no-repeat;
		background-size: 33px 23px;
        display: inline-block;
        vertical-align: middle;
        margin-right: 10px;
    }

    .contact_con_btn:hover .contact_con_btn_img {
        background: url(../images/icon_talk03a.svg) no-repeat;
		background-size: 33px 23px;
    }

    .blog_box img {
        width: 92px;
        height: 92px;
    }

    .blog_con {
        display: inline-flex;
        flex-wrap: wrap;
        width: 100%;
        /*padding: 0 10px;*/
    }

    .con_sol_ttl {
        font-size: 1.125rem;
        padding: 0 20px;
    }

    .con_sol02 {
        font-size: 1.25rem;
        padding: 0 20px;
    }

    .sol_com {
        font-size: 0.875rem;
    }

    .sol_intr {
        font-size: 1rem;
        line-height: 1.4375;
    }

    .con_inte_ttl {
        font-size: 1.375rem;
        text-align: center;
    }

    .banner_btn02 {
        font-size: 0.75rem;
        line-height: 1.9167;
        min-height: 23px;
        /*margin: 2px 4px 0 4px;*/
    }
    
     .O01_btn_con ul li span {
        font-size: 0.75rem;
        line-height: 1.9167;
        min-height: 23px;
        margin: 2px 0 2px 4px;
    }

    .banner_btn_con {
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .banner_btn02 {
        padding: 0 6px;
    }
    

    .e2_banner_btn02 {
        font-size: 0.75rem;
        line-height: 1.9167;
        height: 23px;
        margin: 2px 0 2px 4px;
        padding: 0 6px;
    }

    .motiv_left {
        font-size: 0.875rem;
        line-height: 1.5714;
    }

    .con_sol02 {
        line-height: 1.6071;
        margin-top: 30px;
    }

    .field_cards .row {
       /* padding: 0 5px;*/
       margin: auto;
    }

    .login_see_con,
    .home_see_con,
    .home_see_con2 {
        text-align: center;
    }

    .login_see {
        margin: 0;
    }

    .con_inte_ttl {
        margin: 0 0 20px 0;
    }

    .sol_com {
        line-height: 1.6667;
        margin: 10px 0 6px 0;
    }

    .con_sol03 {
        font-size: 0.875rem;
        line-height: 1.5714;
    }

    .prod_sub_ttl {
        font-size: 1.125rem;
    }

    .prod_box {
        margin-top: 10px;
        min-height: 120px;
        height: 10vh;
    }

    .prod_box_ttl {
        font-size: 1.25rem;
        line-height: 1.1;
    }

    .prod_box_con {
        font-size: 0.875rem;
        padding-right: 10px;
    }

    .contact_con {
        margin-top: 40px;
    }

    .con_con_ttl {
        font-size: 1.25rem;
        text-align: center;
        margin: 20px 0 15px 0;
    }

    .con_intr {
        font-size: 1rem;
        line-height: 1.5625;
    }

    .con_com {
        font-size: 0.75rem;
    }

    .con_com2 {
        font-size: 0.875rem;
        line-height: 1.7857;
    }

    .blog_box_ttl {
        font-size: 1rem;
        width: 100%;
       /* padding-right: 30px;*/
    }

    .blog_box_con {
        font-size: 0.875rem;
    }

    .ul-wrapper3 {
        max-width: 100%;
    }

    .blog_box {
        margin-right: 0;
    }

    .blog_box_con {
        margin: 10px 0 0 0;
        width: 100%;
       /* padding-right: 20px;*/
    }

    .blog_btns {
        margin: 5px 0 20px 0;
    }

    .flex-item {
        padding: 0 0 0 10px;
    }

    .sol_box img {
        width: 100%;
    }

    .blog_container {
        padding-right: 0;
    }

    .nav1 {
        margin: 95px auto 0 auto;
    }

    .con_banner_home .slick-slide {
        margin: 0px;
    }

    .nav2_text {
        font-size: 1rem;
    }

    .bi-search {
        font-size: 1.125rem;
        font-weight: bold;
        color: #222222;
        margin: 0;
    }

    .modal-body {
        width: 100%;
    }

    .search_icon1 {
        text-align: right;
        line-height: 1.8;
        position: absolute;
        right: 13%;
        margin-top: 3px;
    }

    .modal-dialog {
        top: 35px;
    }

    .indu_ttl {
        font-size: 1.375rem;
        margin-bottom: 20px;
    }

    .indu_field_cards {
        padding: 40px 0 30px;
    }
    #index .indu_field_cards {
        padding-left: 0;
        padding-right: 0;
    }

    .indu_box1,
    .indu_box2 {
        margin-bottom: 10px;
        padding: 15px;
    }

    .indu_box3 {
        margin-bottom: 25px;
        padding: 15px;
    }

    .indu-rounded-rect {
        height: 86px;
    }

    .indu_box_ttl {
        font-size: 1.375rem;
        padding: 10px;
    }

    .indu_container .text {
        font-size: 1.125rem;
    }

    .indu_ttl2 {
        font-size: 1.375rem;
        width: 100%;
        margin-bottom: 20px;
    }

    .pan_card_ttl {
        font-size: 0.875rem;
    }

    .pan_card_con {
        font-size: 1rem;
        margin-bottom: 10px;
    }

    .pan_card_subttl {
        display: none;
    }

    .home_btn_con {
        margin-bottom: 15px;
    }

    .detail_link {
        display: none;
    }

    .left-column {
        margin-top: 0;
    }

    .blog_btn_see {
        width: 100%;
        display: block;
        display: flex;
        justify-content: center;
        margin-top: -20px;
    }

    .news_date {
        font-size: 0.875rem;
    }

    .news_text {
        font-size: 0.875rem;
    }

    .news_btn02 {
        margin-left: 5px;
    }

    .news_con {
        padding: 0;
    }

    .news_link a {
        font-size: 0.875rem;
    }

    .home_banner_ln1 {
        margin: 15px 0 0 0;
    }

    .home_see_btn {
        margin-top: 0;
    }

    .contact_con_ln1 {
        font-size: 1.625rem;
        margin-top: 50px;
    }

}

@media (max-width: 1160px) {
    .footer1_l_btn {
        font-size: 1.4rem;
    }
}

@media (max-width:414px) {
    .slider {
        padding: 0;
    }
}

@media (max-width:1400px) {
    .field_cards .row {
        --bs-gutter-x: 1.5rem;
    }

    .category_anchor .row {
        --bs-gutter-x: 3rem;
    }
}

@media (max-width:1200px) {
    .category_anchor .row {
        --bs-gutter-x: 1.5rem;
    }
	.icon-text-container .text {
    	font-size: 1.25rem;
	}
	.rounded_con {
		font-size: 0.875rem;
	}
	.c1_rounded-rect {
    	padding: 20px;
	}
}

@media (max-width:768px) {
    .category_anchor .row {
        --bs-gutter-x: 0rem;
    }
}

/* 	B_JSOL CAEの強み start */
/* 	テキスト start */
.b_text {
    font-size: 1.125rem;
    line-height: 1.8;
    color: #222222;
    flex: 1;
    box-sizing: border-box;
    margin-top: 50px;
}

/* 	テキスト end */


/* 	画像（1カラム） start */
.b_img_col1 {
    width: 100vw;
    max-width: 100%;
    height: auto;
    display: block;
    text-align: center;
    margin-top: 10px auto;
}

.b_img_col1 img {
    max-width: 75%;
    height: auto;
}

/* 	画像（1カラム） end */


/* 	B_JSOL CAEの強み end */

/* H-2_セミナー詳細 start */
.h2_content {
    height: auto;
}

.semina_base,
.field_cards_mb0 {
    max-width: 1100px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 5rem 0 0;
}
.content .field_cards_mb0 {
    padding: 5rem 20px 0;
}
.navi .field_cards_mb0 {
    padding: 30px 30px 0;  
}

.semina_base .con-content {
    padding-left: 0;
    padding-right: 0;
}
.index .field_cards_mb0 {
    max-width: 1240px;
    padding-right: 20px;
    padding-left: 20px;
}

.semina_btn_con {
    width: 100%;
    float: left;
    overflow: hidden;
    display: flex;
    flex: 0 0 auto;
    margin: 10px 0 20px 0;
}

.banner_btn01 {
    height: 25px;
    line-height: 2;
    background-color: #DCDCDC;
    color: #222;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 0.85rem;
    margin: 4px 8px 4px 0;
    cursor: pointer;
    border-radius: 3px;
    transition: background-color 0.3s;
    white-space: nowrap;
    display: inline-block;
    padding: 0 10px;
}

.banner_btn03 {
    height: 27px;
    line-height: 2;
    background-color: #141B4D;
    color: #fff;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 0.875rem;
    margin: 4px 8px 4px 0;
    cursor: pointer;
    border-radius: 3px;
    transition: background-color 0.3s;
    white-space: nowrap;
    display: inline-block;
    padding: 0 10px;
}

.list_container {
    width: 100%;
    margin: 0 auto;
    padding-top: 20px;
}

.list_title {
    font-size: 1.75rem;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: left;
    border-bottom: 1px solid #ccc;
    padding: 20px 0 10px 0;
}

.list_content {
    list-style-type: none;
    padding: 20px 0 0 0;
    margin: 0;
}

.list_content li {
    font-size: 1.125rem;
    margin-bottom: 10px;
    padding-left: 20px;
    position: relative;
}

.list_content li::before {
    content: "・";
    position: absolute;
    left: 0;
    font-size: 1.125rem;
}

/* テーブルセット start */
.semina_ttl {
    width: 100%;
    font-size: 1.75rem;
    font-weight: bold;
    margin: 20px 0 30px 0;
}

.table_container {
    border-top: 1px solid #DEDEDE;
    display: flex;
    flex-direction: column;
}

.semina_table_row {
    border-bottom: 1px solid #DEDEDE;
}

.table-row {
    border-bottom: 1px solid #DEDEDE;
    display: flex;
    flex-wrap: wrap;
}

.table-header {
    padding: 28px;
    font-weight: bold;
    background-color: #F7F7F7;
    text-align: left;
    font-size: 1rem;
}

.table-cell {
    padding: 30px;
    font-size: 1rem;
    line-height: 1.8;
}

.table-cell-header {
    /*padding: 30px 0 0 30px;*/
    font-weight: bold;
    font-size: 1rem;
}

.table-cell-body {
    /*margin: 0 0 0 30px;*/
    font-size: 1.125rem;
    line-height: 1.8;
    padding-bottom: 10px;
}

.table-cell-body1 {
    margin: 0 0 0 30px;
    font-size: 1.125rem;
    line-height: 1.8;
    border-bottom: 1px dotted #DEDEDE;
    padding-bottom: 10px;
}
.table-cell-body1 a{
	color: #1A4DA5;
    text-decoration: none;
}
.table-cell-body1 a:hover{
	text-decoration: underline;
}

.table-cell-body1:last-child {
    border-bottom: none;
}

.table_out_text {
    padding: 16px 0 0 0;
    font-size: 1.125rem;
}

@media (max-width: 1024px) {
    .table-row {
        flex-direction: column;
    }

    .table-header,
    .table-cell {
        flex: none;
        width: 100%;
    }

    .semina_ttl {
        margin: 0px 0 15px 0;
    }

    .table-header {
        padding: 12px 20px;
        font-size: 1.125rem;
    }

    .table-cell {
        padding: 12px 20px;
        font-size: 1rem;
        line-height: 1.6;
    }

    .table-cell-header {
        font-size: 1rem;
        padding: 15px 0 0 20px;
    }

    .table-cell-body {
        font-size: 1rem;
        margin: 0;
        padding-left: 20px;
    }

    .table-cell-body1 {
        font-size: 1rem;
        margin: 0;
        padding-left: 20px;
    }

    .table_out_text {
        font-size: 1rem;
    }

    .list_content li {
        font-size: 1rem;
    }

    .col-md-9 {
        width: 100%;
    }

    .list_title {
        padding: 0px 0 5px 0;
    }

    .list_content {
        padding: 10px 0 0 0;
    }

    .list_content li {
        margin-bottom: 0
    }
    .p_content:not(#related_content) {
        padding-left: 30px!important;
        padding-right: 30px!important;
    }
}

@media (max-width: 768px) {
    .semina_ttl {
        font-size: 1.25rem;
    }

    .list_title {
        font-size: 1.25rem;
    }

    .table-header {
        padding: 4px 12px;
        font-size: 0.875rem;
    }

    .table-cell {
        padding: 10px 12px;
        font-size: 0.875rem;
    }

    .table-cell-body1 {
        font-size: 0.75rem;
        padding-left: 10px;
        line-height: 1.5;
    }

    .list_title {
        font-size: 1.25rem;
        padding: 0px 0 5px 0;
        margin: 40px 0 0 0;
    }

    .table-cell-body {
        font-size: 0.875rem;
        padding: 0 10px;
    }

    .semina_ttl {
        margin: 40px 0 5px 0;
    }

    .list_container ul {
        margin: 15px 0 0 0;
    }

    .content {
        padding: 0;
    }

    .c1_content {
        padding: 0;
    }

    .table-cell-header {
        font-size: 0.875rem;
        padding: 15px 0 0 12px;
    }

    .table_out_text {
        font-size: 0.75rem;
        padding: 10px 0 0 0;
    }

    .list_content {
        padding: 0;
    }

    .list_container {
        padding-top: 0;
    }

    .p_content {
        padding-left: 15px!important;
        padding-right: 15px!important;
    }
}

/* テーブルセット end */

/* プログラムセット start */
.outer_semina_con {
    display: flex;
    flex-wrap: wrap;
    max-width: 1060px;
    margin: 0 auto;
    padding: 30px;
}
.col-md-12 .outer_semina_con {
    padding: 30px 0;
}

.inner_semina_con {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.semina_tag01,
.semina_tag02,
.semina_tag03 {
    height: 25px;
    line-height: 25px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 0.875rem;
    margin: 0 4px 15px 0;
    white-space: nowrap;
    padding: 0 10px;
    background-color: #DCDCDC;
    color: #222;
    border: 1px solid #DCDCDC;
}
.semina_tag02 {
    background-color: #ffffff;
    color: #AF272F;
    border: 1px solid #AF272F;
}
.semina_tag03 {
    background-color: #999999;
    color: #ffffff;
    border: 1px solid #999999;
}
.semina_pro_left1 {
    flex: 1;
    /*padding: 30px 0 0 30px;*/
    font-weight: bold;
    font-size: 1.25rem;
    text-align: left;
    grid-column: 1;
    grid-row: 1;
}

.semina_pro_left2 {
    flex: 1;
    padding: 0 0 10px 0;
    font-size: 1.125rem;
    line-height: 1.8;
    text-align: left;
    grid-column: 1;
    grid-row: 2;
}

.semina_right_img {
    flex: 1;
    width: 100%;
    max-width: 160px;
    padding: 30px 0 0 10px;
    grid-column: 2;
    grid-row: 1 / span 3;
    width: 160px;
    align-self: start;
}

.semina_right_img img {
    max-width: 100%;
}

.semina_pro_left3 {
    flex: 1;
    /*padding: 0 10px 10px 30px;*/
    font-size: 1.125rem;
    line-height: 1.8;
    text-align: left;
    grid-column: 1;
    grid-row: 3;
}

.semina_left {
    font-size: 1.125rem;
    line-height: 1.67;
    color: #222222;
    flex: 1;
    box-sizing: border-box;
    padding-right: 30px;
    padding: 0 30px 10px 0;
}

.semina_right_img {
    width: 100%;
    max-width: 160px;
    margin-left: 5px;
}

/* プログラムセット end */
.semina_mosikomi_con {
    max-width: 1060px;
    margin: 0 auto;
    box-sizing: border-box;
    text-align: center;
}

.semina_mosikomi {
    height: 80px;
    line-height: 3;
    background-color: #fff;
    color: #1A4DA5;
    text-decoration: none;
    display: inline-block;
    font-size: 1.625rem;
    font-weight: bold;
    cursor: pointer;
    border-radius: 40px;
    transition: background-color 0.3s;
    border: 1px solid #1A4DA5;
    margin-top: 50px;
    padding: 0 55px;
}

.semina_mosikomi:hover {
    color: #ffffff;
    background-color: #141b4d;
}

.semina_mosikomi_txt {
    padding: 50px 0 10px 0;
    font-size: 1.125rem;
    line-height: 1.8;
}

.semina_mosikomi_txt a {
    color: #1A4DA5;
    text-decoration: none;
}

.list_title2 {
    font-size: 1.3rem;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: left;
    padding: 15px 20px;
    background-color: #F7F7F7;
}

.semina_toawase_con {
    width: 100%;
    margin: 0 auto;
    padding-top: 20px;
}

.semina_toawase_title {
    font-size: 1.3rem;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: left;
    padding: 15px 20px;
    background-color: #F7F7F7;
}

.semina_toawase_txt {
    margin: 0 20px;
    padding: 15px 0 15px 0;
    font-size: 1rem;
    line-height: 1.8;
}

.semina_toawase_txt_b {
    margin: 0 20px;
    padding: 15px 0 0 0;
    font-size: 1rem;
    line-height: 1.8;
    font-weight: bold;
}

.semina_toawase_txt_b2 {
    margin: 0 20px;
    padding: 0 0 0 30px;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: bold;
}

.semina_toawase_txt_info {
    margin: 0 20px;
    padding: 5px 0 0 80px;
    font-size: 1rem;
    line-height: 1.8;
}

.semina_toawase_txt_info_i {
    margin: 0 20px;
    padding: 5px 0 0 80px;
    font-size: 1rem;
    line-height: 1.8;
}

.semina_toawase_txt_info_i a {
    color: #1A4DA5;
    text-decoration: none;
}

.semina_btn02 {
    height: 25px;
    line-height: 1.8;
    background-color: #141B4D;
    color: #fff;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 0.85rem;
    margin: 4px 8px 4px 0;
    /* cursor: pointer; */
    transition: background-color 0.3s;
    white-space: nowrap;
    display: inline-block;
    padding: 0 10px;
}

.semina_btn03 {
    height: 25px;
    line-height: 2;
    background-color: #1A4DA5;
    ;
    color: #fff;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 0.85rem;
    margin: 4px 8px 4px 0;
    /* cursor: pointer; */
    border-radius: 3px;
    transition: background-color 0.3s;
    white-space: nowrap;
    display: inline-block;
    padding: 0 10px;
}

.semina_con_ttl {
    color: #141b4d;
    font-weight: bold;
    font-size: 2.3rem;
    border-bottom: 1px solid #ddd;
    padding-bottom: 50px;
    margin-bottom: 30px;
}
.border.border-danger.text-danger.text-center.p-2.w-100{
    margin: 5rem 0 0;
}

@media (min-width: 1025px) {
    .inner_semina_con {
        display: grid;
        grid-template-columns: 80% 20%;
        grid-template-rows: auto auto;
    }
    .inner_semina_con.semina_con_noimg {
        grid-template-columns: 100%;
    }
}

@media (max-width: 1024px) {
    .inner_semina_con {
        flex-direction: column;
    }

    .semina_pro_left1,
    .semina_pro_left2,
    .semina_pro_left3,
    .semina_right_img {
        width: 100%;
    }

    .semina_right_img {
        margin: 0 auto;
        text-align: center;
        justify-content: center;
        display: flex;
        padding: 0 0 10px 0;
    }

    .semina_pro_left1 {
        font-size: 1rem;
        padding: 10px 0 0 10px;
    }

    .semina_pro_left2 {
        font-size: 1rem;
        padding: 0 0 0px 10px;
    }

    .semina_pro_left3 {
        padding: 0 10px 10px 10px;
        font-size: 1rem;
    }

    .semina_mosikomi_txt {
        padding: 30px 30px 10px;
        font-size: 1rem;
        line-height: 1.5;
        text-align: left;
    }

    .semina_base {
        padding-top: 20px;
        padding-left: 15px;
        padding-right: 15px;
    }

    .field_cards_mb0 {
        padding-top: 20px;
        padding-left: 0!important;
        padding-right: 0!important;
    }
    .sol_btn_con {
        margin: 10px 0 10px 0;
    }
	
	.D1_btn_con {
        margin: 0 0 20px 0;
    }

    .b_text {
        margin-top: 40px;
    }
}

@media (max-width: 768px) {

    .semina_pro_left1,
    .semina_pro_left2 {
        font-size: 0.875rem;
    }

    .semina_pro_left3 {
        padding: 0 10px 20px 10px;
        font-size: 0.875rem;
    }

    .semina_mosikomi {
        height: 53px;
        width: 90%;
    }

    .semina_mosikomi {
        height: 53px;
        width: 90%;
        background-color: #fff;
        color: #1A4DA5;
        text-decoration: none;
        display: inline-block;
        font-size: 1.25rem;
        font-weight: bold;
        cursor: pointer;
        border-radius: 40px;
        transition: background-color 0.3s;
        border: 2px solid #1A4DA5;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 40px auto 0 auto;
    }

    .semina_mosikomi_txt {
        padding: 30px 10px 20px 10px;
        font-size: 0.875rem;
        line-height: 1.5;
        text-align: left;
    }

    .list_title2 {
        font-size: 1.25rem;
        padding: 0px 0 0px 15px;
        margin-bottom: 10px;
    }

    .list_content li {
        font-size: 0.875rem;
    }

    .semina_toawase_title {
        font-size: 1.25rem;
        padding: 0 0 0 15px;
        margin-top: 30px;
    }

    .semina_toawase_txt {
        padding: 0 10px;
        font-size: 0.875rem;

    }

    .semina_toawase_txt_b {
        padding: 15px 10px 0 10px;
        font-size: 0.875rem;
        line-height: 1.5;
    }

    .semina_toawase_txt_info,
    .semina_toawase_txt_info_i {
        padding: 5px 30px 0 30px;
        font-size: 0.875rem;
        line-height: 1.5;
    }

    .semina_toawase_txt_b2 {
        font-size: 0.875rem;
    }

    .b_text {
        font-size: 0.875rem;
        padding: 0;
        margin-top: 25px;
        line-height: 1.5;
    }

    .semina_base {
        padding-top: 0px;
    }

    .field_cards_mb0 {
        padding-top: 0px;
        padding-left: 0;
        padding-right: 0;
    }
    .semina_con_ttl {
        font-size: 1.5rem;
    }

    .semina_toawase_con {
        padding-top: 0;
    }

    .sol_btn_con {
        margin: 10px 0 20px 0;
    }
	.D1_btn_con {
        margin: 0 0 30px 0;
    }
}

/* プログラムセット end */


/* H-2_セミナー詳細 end*/

/* D-1_★ソリューション_一覧 start */
.D1_con_banner {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 265px; 
}
.D1_content_wrapper {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    max-width: 1200px;
    height: 100%; 
    margin: 0 auto;
}

.D1_left_column {
    display: flex;
    align-items: center;
    height: 100%;
}
.D1_categ_nav {
    font-weight: bold;
    font-size: 3rem;
    margin: 0;
    line-height: 1.4;
    word-wrap: break-word;
}
.D1_btn_con {
    width: 100%;
    float: left;
    overflow: hidden;
    display: flex;
    flex: 0 0 auto;
	margin-bottom: 70px;
}

.D1_btn_con ul {
    margin: 0;
    padding: 0;
}

.D1_btn_con ul li {
    float: left;
    list-style: none;
}
@media(max-width:1024px){
.D1_content_wrapper {
	justify-content: center;
}
.D1_btn_con {
    margin-bottom: 30px;
}
}
@media (min-width: 768px) and (max-width: 1230px) {
    .D1_categ_nav {
        padding: 0 10px;
    }
}
@media(max-width:768px){
.D1_categ_nav{
	font-size: 2rem;
}
.D1_con_banner{
	height: 168px;
}
}
/* D-1_★ソリューション_一覧 end */
/* H-1_★セミナー・イベントTOP -アラート start */
.H1_impo {
    width: 100%;
    height: 82px;
	border-bottom: 1px solid #dcdcdc;
    margin-top: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}
.H1_year{
	width: 100%;
    color: #141B4D;
    font-size: 1.125rem;
    text-align: center;
	padding: 5px 48px 5px 0;
	border-right: 1px solid #999999;
	white-space: nowrap;
}
.H1_con{
	border: 1px solid #DEDEDE;
	padding: 50px 0 50px 30px;
	border-radius: 5px;
	margin-top: 25px;
	position: relative; 
}
@media(max-width:1024px){
.H1_year {
	padding-right:48px!important;
}
.H1_con {
    padding: 25px 0 25px 30px;
}
}
@media(max-width:768px){
.H1_year {
	padding-right:0!important
}
.H1_con {
    padding: 20px 0 20px 30px;
}
}
/* H-1_★セミナー・イベントTOP -アラート end */

/* L-1_お問い合わせ_TOP start */
.l1_categ_nav {
    font-weight: bold;
    font-size: 3.125rem;
    margin-bottom: 1rem;
    line-height: 1.4;
    word-wrap: break-word;
	padding-right: 50px;
}
.l1_txt{
	font-size: 1.125rem;
	color: #222222;
	text-align: left;
	line-height: 2.2rem;
}
.l1_btn_con{
	text-align:center;
	margin: 50px 0  30px 0;
}
.l1_box{
	border: 1px solid #DCDCDC;
	margin:60px;
	box-sizing: border-box;
	background-color: #ffffff;
}
.l1_box_ttl{
	width: 100%;
	text-align:center;
	min-height:60px;
	line-height:60px;
	font-weight:bold;
	font-size:1.5rem;
	color: #ffffff;
	background-color: #222222;
    padding: 0 15px;
}
.l1_box_con{
	width:100%;
	padding: 35px 70px;
	box-sizing: border-box;
	
}
.l1_box_btnCon{
	width: 70%;
	display: flex; 
    justify-content: space-between;
    align-items: center;
    gap: 30px;
	margin: 0 auto;
}
.l1_box_boxCon{
	padding: 25px 35px 20px 35px;
	background-color: #F7F7F7;
	margin-top: 40px;
	box-sizing: border-box;
	border-radius: 5px;
}

.l1_box_boxCon ul{
	margin: 15px 0 15px 10px;
	padding: 0 30px 0 0;
	list-style: none;
	column-count: 4; 
    column-gap: 0;
}
.l1_box_boxCon ul li{
    box-sizing: border-box;
    padding: 5px 10px;
	font-size: 1.125rem;
	color: #222222;
	break-inside: avoid;
    position: relative; 
	white-space: normal;
}
.l1_box_boxCon ul li::before {
    content: "•"; 
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%); 
    font-size: 10px;
    color: #222222; 
}
.l1_box_boxttl{
	color: #222222;
    font-weight: bold;
    font-size: 1.375rem;
    text-align: left;
}
.l1_btn_01 {
    width: 80%;
    min-width: 295px;
    max-width: 100%;
    background-color: #fff;
    color: #141b4d;
    border: 1px solid #141b4d;
    text-align: center;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: bold;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 50px;
    padding: 12px 20px;
    line-height: 1.4;
    white-space: normal;
    word-wrap: break-word;
    text-align: center;
    gap: 10px;
    overflow: hidden;
}

.l1_btn_01:hover {
    background-color: #141B4D;
    border: 1px solid #ffffff;
    color: #fff;
}

.l1_btn_01_img {
    width: 17px;
    height: 15px;
    background: url(../images/icon_02.png) no-repeat;
    background-size: contain;
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    margin-right: 5px;
}

.l1_btn_01:hover .l1_btn_01_img {
    background: url(../images/icon_02a.png) no-repeat;
    background-size: contain;
}

.l1_btn_01 .btn-text {
    text-align: center;
    white-space: normal;
    line-height: 1.4;
}

.l1_btn_01:not(:has(.l1_btn_01_img)) {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.l1_btn_02 {
    width: 80%;
    min-width: 295px;
    max-width: 100%;
    background-color: #1a4da5;
    color: #fff;
    text-align: center;
    text-decoration: none;
    display: inline-flex;
    align-items: center; 
    justify-content: center;
    font-size: 1rem;
    font-weight: bold;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 50px;
    padding: 12px 20px;
    line-height: 1.4;
    white-space: normal;
    word-wrap: break-word;
    text-align: center;
    gap: 10px; 
    border: 1px solid transparent;
}

.l1_btn_02:hover {
    background-color: #f7f7f7;
    color: #1a4da5;
    border: 1px solid #1a4da5; 
}

.l1_btn_02 img {
    max-height: 24px;
    width: auto;
    margin: 0; 
    vertical-align: middle; 
    transition: filter 0.3s;
}

.l1_btn_02:hover img {
    filter: brightness(0) saturate(100%) invert(28%) sepia(81%) saturate(1500%) hue-rotate(210deg) brightness(95%) contrast(92%);
}

.l1_btn_02:not(:has(img)) {
    display: flex;
    /*flex-direction: column;*/
    align-items: center;
    justify-content: center;
    text-align: center;
}

.l1_field_cards {
    max-width: 1060px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 70px 0 60px 0;
}
.l1_box_boxtxt{
	font-size: 1rem;
    line-height: 1.5rem;
    margin-top: 22px;
}
.l1_detail_link {
    display: flex;
    align-items: center;
    justify-content: center;
}

.l1_detail_link a {
    color: #1A4DA5 !important;
    --bs-link-color: #1A4DA5;
    font-size: 1rem;
    font-weight: bold;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.l1_detail_link a:hover {
    text-decoration: underline;
}

.l1_detail_link i {
    margin: 2px 0 0 5px;
    color: #1A4DA5;
	transition: transform 0.3s ease;
}

.l1_detail_link a:hover i.bi-arrow-right-short {
    transform: translateX(2px); 
}
@media(max-width:1200px){
.l1_categ_nav {
	padding: 0 10px;
}
}
@media(max-width:1024px){
.l1_categ_nav {
	text-align: center;	
	padding-right: 0;
}
.l1_box_boxCon ul {
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); /* 根据内容自动调整列数 */
}
.l1_box_boxCon ul {
    column-count: 2;
}
.l1_txt {
	font-size: 1rem;
	line-height: 1.5rem;
    margin-top: 22px;
}
.l1_btn_con {
	margin: 30px;
}
.l1_field_cards {
	padding: 35px 30px 10px 30px;
}
.m_t60 {
    margin-top: 25px;
}
.l1_box {
    margin: 10px 0 50px 0;
}
.l1_box_ttl {
    min-height: 50px;
    line-height: 50px;
    font-size: 1.375rem;
}
.l1_box_con {
    padding: 35px 25px 25px 25px;
}
.l1_box_boxttl{
	font-size: 1.375rem;
}
.l1_box_boxtxt{
	margin-top: 0;
}

}
@media(max-width:940px){
.l1_box_btnCon{
    justify-content: center;
	flex-wrap: wrap;
	flex-direction: column;
    align-items: center; 
	gap: 5px;
	width: 90%;
}
.l1_box_btnCo > a {
    display: flex;
    justify-content: center;
}
}
@media(max-width:768px){
.l1_categ_nav {
	font-size: 2rem;
	padding: 20px 80px 0 80px		
} 

.l1_field_cards{
	padding: 35px 15px 10px 15px;
}

.l1_btn_01, .l1_btn_02{
	width: 100%;
}
.l1_box_con {
	padding: 25px 15px 15px 15px;
}
.l1_box_ttl {
	font-size: 1.125rem;
}
.l1_box_boxCon {
    margin-top: 30px;
}
.l1_box_boxttl {
	font-size: 1rem;
}
.l1_box_boxCon {
    padding:20px 20px 15px 20px;
}
.l1_box_boxCon ul {
    margin: 10px 0 0 5px;
    padding: 0;
}
.l1_box_boxCon ul li {
	font-size: 0.875rem;
	padding: 2px 10px;
}
.l1_box_boxtxt {
	font-size: 0.75rem;
}
.l1_detail_link a{
	font-size: 0.75rem;
	line-height: 1.5rem;
}
.l1_detail_link i {
	font-size: 1.3rem;
}
.l1_box {
	margin: 10px 0 30px 0;
}
.min_w{
	min-width: 0!important;
}
.l1_btn_con {
	margin: 30px 10px;
}
}
/* L-1_お問い合わせ_TOP end */

/* L-2_Webフォーム_お役立ち資料 start */
.l2_content{
	max-width: 1060px;
    margin: 120px auto 20px auto;
    box-sizing: border-box;
	width: 100%;
}
.l2_nav{

	height: 35px;
	line-height: 35px;
	font-size: 1.125rem;
	background-color: #E8EDF6;
	padding-left: 10px;
	margin: 30px 0 20px 0;
}
.current{
	font-weight: bold;
}
.l2_con {
    display: flex;
    flex-wrap: nowrap;
    gap: 50px;
	align-items: flex-start; 
	width: 100%;
	max-width: 1060px;
	margin: 0 auto;
}

.l2_con_left {
    flex: 0 0 calc(45% - 25px);
    display: flex;
    flex-direction: column; 
    width: 100%; 
}

.l2_con_left .l2_h {
    max-width: 100%;
    padding: 0;
    height: auto;
}

.l2_con_left .l2_h img {
    max-width: 100%;
    height: auto;
    display: block;
}

.l2_con_left ul {
    width: 100%;
    margin: 10px 0;
	list-style: none;
    padding: 0;
}

.l2_con_left ul li{
	font-size: 1.125rem;
	color: #222222;
	position: relative; 
    padding:5px 0 5px 20px;
}

.l2_con_left ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 18px;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    background-color: #1A4DA5;
    border-radius: 50%;
}
.l2_ttl03 {
    color: #222222;
    font-weight: bold;
    font-size: 1.75rem;
    text-align: left;
	margin-top: 30px;
}
.l2_ttl06{
    color: #222222;
    font-weight: bold;
    font-size: 1.375rem;
    text-align: left;
}

.l2_con_right {
    flex: 0 0 calc(55% - 25px);
	display: flex;
    flex-direction: column; 
    width: 100%;
	overflow: hidden;
}
.l2_header{
	max-width: 1200px;
/*	padding-top: 20px;*/
	background-color: #ffffff;
}
.l2_left_box{
	background-color: #EEF1FA;
	border-radius: 5px;
	padding: 25px 30px 15px 30px;
	margin-top: 20px;
}
.l2_left_box img{
	margin-right: 20px;
}
.l2_box_ttl{
	display: flex;
    align-items: center;
    justify-content: left;
	margin-bottom: 20px;
}
.l2_left_txt{
	color: #222222;
	font-size: 1.125rem;
	line-height: 1.7rem;
	padding: 30px 0;
}
.l2_left_txt p{
	margin-bottom:40px;
}

.l2_right_txt{
	color: #222222;
	font-size: 1.125rem;
	line-height: 1.7rem;
}
.l2_right_box{
	background-color: #F7F7F7;
	padding: 20px 40px;
	margin: 30px 0 0 0;
}
.l2_right_box textarea{
	border: 1px solid #DCDCDC;
	background-color: #ffffff;
}
.l2_right_box ul{
	width: 100%;
    margin: 10px 0;
	list-style: none;
    padding: 0;
}
.l2_right_box ul li{
	font-size: 1.125rem;
	color: #222222;
	position: relative; 
    padding:5px 0 5px 20px;
}

.l2_right_box ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 18px;
    transform: translateY(-50%);
    width: 3px;
    height: 3px;
    background-color: #222222;
    border-radius: 50%;
}
.l2_right_ttl{
	font-size: 1.125rem;
	font-weight: bold;
	margin-top: 30px;
}
.l2_right_ttl div{
	margin-left: 15px;
	font-weight: normal;
}
.l2_right_ln{
    padding: 0;
    height: auto;
}
.l2_right_browse{
	font-size: 1.125rem;
	margin-top: 10px;
}
.l2_right_browse input{
	margin-right:5px;
}
.l2_right_browse label{
	margin-right:50px;
}
.l2_right_box input:nth-of-type(2){
	margin-left: 50px;
}
.l2_btn01 {
    height: 27px;
    line-height: 2;
    background-color: #ffffff;
	border: 1px solid #DCDCDC;
    color: #222222;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 0.875rem;
    margin: 4px 5px 4px 0;
    transition: background-color 0.3s;
    white-space: nowrap;
    display: inline-block;
    padding: 0 10px;
}
.l2_right_charge{
	font-size: 1.125rem;
	color:#222222;
	margin-top: 10px;
}
.l2_right_charge ul{
	margin: 0; 
	padding: 0;
	list-style: none!important;
}
.l2_right_charge ul li{
	padding: 5px 0;
	font-size: 1.125rem;
	color:#222222;
	position: relative;
	list-style: none!important;
}
.l2_right_charge ul li::before {
    content: ""; 
    position: absolute;
    left: -1.5em;
    top: 0;
    width: 1.5em; 
    height: 1.5em; 
    background-color: transparent; 
}
.l2_right_charge ul li input{
	margin-right: 5px;
}
.l2_right_charge textarea{
	width: 100%;
}
.l2_right_box2 {
    background-color: #F7F7F7;
    padding: 20px 40px;
    margin: 25px 0 0 0;
}
.l2_right_box3 {
    background-color: #F7F7F7;
    padding: 20px 40px 30px 40px;
    margin: 25px 0 0 0;
}
.l2_right_school{
	
}
.l2_right_school input{
	border: 1px solid #DCDCDC;
	background-color: #ffffff;
	color: #999999;
	height:50px;
	line-height:50px;
	width:100%;
	font-size:1.125rem;
	padding: 0 15px;
	margin-top:8px;
}
.l2_right_sm{
	font-size: 0.875rem;
	color: #222222;
	margin-top: 10px;
	display: flex;
    align-items: center;
}
.form-group {
    margin-bottom: 15px;
	display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.form-group > div {
    display: flex;
    align-items: center;
    gap: 10px;
}
.form-group label {
	font-size: 1.125rem;
	color: #222222;
	display: flex;
    align-items: center;
}

.form-group input[type="text"],
.form-group select {
    border: 1px solid #DCDCDC;
    background-color: #ffffff;
    color: #222222;
    height: 50px;
    line-height: 50px;
    font-size: 1.125rem;
    padding: 0 15px;
    margin-top: 8px;
	flex: 1; 
}

.form-group small {
    display: block;
    margin-top: 5px;
    font-size: 0.875rem;
    color: #666;
}
.form-message{
	color: #AF272F;
	font-size: 1.125rem;
	padding: 8px 0 0 0;
}
.l2_name label{
	margin-right:20px;
}
.l2_name2 label{
	margin:0 5px 0 30px;
}
.l2_name3 label{
	margin:0 0 0 30px;
}

.l2_right_box2 textarea {
    border: 1px solid #DCDCDC;
    background-color: #ffffff;
}
.l2_con_right a{
	text-decoration: none;
}
.l2_right_con{
	display: flex; 
	font-size: 0.8125rem;
	max-width: 1200px;
	margin: 0 auto;
}
.l2_right_con img{
	margin-right: 50px;
}
.l2_footer2 {
    background: #f2f2f2;
    width: 100%;
	line-height:50px;
	margin-top: 30px;
}
.l2_row_content{
	display: flex; 
    justify-content: space-between; 
    align-items: center; 
	width: 100%;
    max-width: 1200px; 
    margin: 0 auto;
}
.l2_footer3_01 {
    font-size: 1rem;
    line-height: 6.25;
	margin-right: 20px;
}
.l2_footer3_02 {
    display: flex; 
    flex-direction: row; 
    align-items: center; 
}
.l2_footer3_02 img {
    max-width: 100%; 
    height: auto; 
    margin: 0 0 0 30px;
}

.l2_footer2_ln03_l {
    float: left;
    overflow: hidden;
    margin: 0;
    text-align: right;
}
.l2_footer2_ln03_l ul {
    padding-left: 0;
	list-style:none;
}

.l2_footer2_ln03_l ul li {
    flex: 1 1 auto;
    float: left;
    overflow: hidden;
    padding-right: 30px;
}

.l2_footer2_ln03_l ul li a {
    font-size: 0.9375rem;
    color: #000;
    text-decoration: none;
}
.l2_T01_ttl02 {
    color: #141b4d;
    font-weight: bold;
    font-size: 2.625rem;
}
.l2_popup_con{
	padding: 10px 70px 30px 70px;
	background-color: #ffffff;
	overflow-y: auto;
	height: 900px;
}
.l2_popup_ttl{
	font-size: 1.125rem;
    font-weight: bold;
	background-color: #F7F7F7;
	padding: 5px 8px; 
}
.l2_popup_txt{
	font-size: 1.125rem;
	padding: 5px 50px;
}
.l2_popup_btnCon{
	display:flex;
	gap: 20px;
	margin-bottom: 70px;
}
.l2_popup_btnCon{
	display:flex;
	justify-content: center;
}
.l2_02_con{
	margin: 70px 165px 0 165px;
}
.l2_02_txt{
	color: #222222;
    font-size: 1.125rem;
    line-height: 2rem;
    margin-top: 45px;
}
.l2_02_box{
	width: 100%;
	border: 1px solid #999999;
	margin: 20px 0 0 0;
	padding: 30px 40px 20px 40px;
	font-size: 1.125rem;
	line-height:2;
	color: #222222;
}
.l2_02_box ul{
	margin: -30px 0 40px 60px;
	list-style:none;
}
.l2_02_box a{
	color: #1A4DA5;
	text-decoration:none;
}
.l2_02_box a:hover{
	text-decoration:underline;
}
.l2_02_content {
    max-width: 1200px;
    margin: 120px auto 80px auto;
    box-sizing: border-box;
    width: 100%;
}
@media (max-width: 1024px) {
.l2_con {
	flex-direction: column; 
	gap: 20px;
}
.l2_con_left, .l2_con_right {
	flex: 0 0 100%;
}
.l2_header{
	padding-left: 40px;
}
.l2_content {
    margin: 120px auto 20px auto;
	padding: 0 40px 30px 40px;
}
.l2_h{
	margin: 20px;
	display: flex; 
    align-items: center; 
    justify-content: center;
}
.l2_right_box {
    margin: 10px 0 0 0;
}
.l2_right_box2 {
    padding: 0px 40px 30px 40px;
}
.C08_btn08 {
    margin: 30px auto 70px auto;
}
.l2_footer2 {
	padding: 0 40px;
	line-height: 45px;
}
.l2_footer2_ln03_l {
    width: 100%;
    float: left;
    overflow: hidden;
}
.l2_row_content {
	flex-direction: column;
	align-items: center; 
	justify-content: flex-start;
}

.l2_footer3_01 {
	order:2;
	line-height: 1.5;
	margin: 0 0 20px 0;
}

.l2_footer3_02 {
	margin: 20px;
	order: 1;
    align-items: center; 
}

.l2_footer3_02 img {
	margin-bottom: 10px; 
}
.l2_right_con {
	padding: 0 40px;
}
.l2_popup_con{
	padding: 0;
}
.l2_02_content {
    margin: 120px auto 20px auto;
	padding: 0 40px 30px 40px;
}
.l2_02_con {
    margin: 70px 0 0 0;
}
}

@media (max-width: 768px) {
.l2_header {
	padding: 0 15px 0 15px;	
}
.l2_header img{
	height: 22px;
}
.l2_content {
	margin: 120px auto 0px auto;
    padding: 0;
}
.l2_T01_ttl02 {
	font-size: 2rem;
	margin-top: 130px;
	padding: 0 20px;
	box-sizing: border-box;
}
.l2_nav {
    margin: 20px 0 20px 0;
	font-size: 0.75rem;
}
.l2_h {
	margin: 15px 0 0 0;
}
.l2_con {
	gap: 0;
}
.l2_con_left{
	width: 100%;
	padding: 0 15px;
}
.l2_con_right{
	width: 100%;
} 
.l2_ttl03 {
	font-size: 1.375rem;
	margin-top: 20px;
}
.l2_con_left ul li {
	font-size: 1rem;
}
.l2_con_left ul {
	margin:0;
}
.l2_left_box {
    padding: 15px 15px 5px 15px;
    margin-top: 10px;
}
.l2_con_left ul li {
    font-size: 1rem;
    padding: 5px 0 5px 18px;
}
.l2_left_txt {
	font-size: 0.875rem;
	padding-top: 20px;
	padding-bottom: 0;
}
.l2_left_txt p {
    margin-bottom: 25px;
}
.l2_right_txt {
	font-size: 0.875rem;
	padding: 0 15px;
}
.l2_right_box ul li{
	font-size: 0.875rem;	
}
.l2_right_box {
    padding: 5px 10px;
}
.l2_right_charge ul li{
	font-size: 1.125rem;
}
.l2_right_box2 {
	padding: 0px 15px 15px 15px;
}

.l2_name2 label{
	margin:0 20px 0 0;
}
.l2_name3 label{
	margin:0;
}
.form-group {
        flex-wrap: wrap; 
}
.form-group span.l2_right_sm {
	flex-basis: 100%; 
	margin: 0 0 0 110px; 
}
.l2_name{
	flex-basis: 100%;
}
.l2_name2{
	flex-basis: 100%;
}
.l2_ipt {
   width: 100%; 
}
.l2_ipt input[type="text"] {
   width: 100%; 
}
.l2_right_box3 {
    padding: 0 15px 30px 15px;
}
.l2_right_con img{
	width: 67px;
	height: 67px;
	margin: 0 15px;
}
.l2_right_con {
    padding: 0 15px 0 0;
	margin: 30px 0 0 0;
}
.l2_footer2_ln03_l ul{
	margin: 0 auto;
}
.l2_footer2_ln03_l ul li{
	width: 50%;
	text-align: left;
}
.l2_footer2 {
	padding: 15px 40px;
	line-height: 25px;
}
.l2_footer3_02 {
        flex-direction: column;
}
.l2_footer3_02 img {
    margin: 0 0 20px 0;
}
.l2_row_content{
	padding-top: 10px;
}
.l2_popup_btnCon {
    flex-direction: column;
}
l2_popup_btnCon a{
	margin: 10px 0;
}
.l2_02_con {
    margin: 0;
	padding: 0 15px;
}
.l2_02_txt {
    font-size: 0.875rem;
    line-height: 1.5rem;
    margin-top: 20px;
}
.l2_02_box {
    margin: 10px 0 0 0;
    padding: 20px;
    font-size: 0.875rem;
    line-height: 2;
}
.l2_02_box ul {
    margin: -25px 0 20px 0px;
    list-style: none;
}
.l2_02_content {
	margin: 120px auto 20px auto;
	padding: 0 0 30px 0;
}
}

/* L-2_Webフォーム_お役立ち資料 end */

/* menu s */
@media(max-width:1024px){
.hidden {
  display: none;
}

.visible {
  display: block;
}
#menuButton {
  position: relative;
  z-index: 1000; /* 确保图标在菜单之上 */
}

.main_nav_s {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background-color: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
  transform: translateY(-100%);
  z-index: 999; /
}

.main_nav_s.visible {
  transform: translateY(0);
}
.navbar_nav_s {
  display: flex;
  flex-direction: column; 
  list-style: none;
  padding: 0;
  margin: 0;
}
.navbar_nav_s li{
  border-bottom: 1px solid #DCDCDC;
  padding: 0;
  line-height: 40px;
}

.navbar_nav_s li a{
  color: #222222;
  font-size: 1.125rem;
}

.main_nav_s li .menu_hidden{
  font-weight: normal;	
  line-height: 25px;
  padding: 8px 10px 8px 22px;
}
.menu_s_2{
  margin: 0;
  padding: 0;
  list-style: none;
}
.menu_s_2 li img {
  float: right; 
  margin:15px 0 0 10px;
}
.menu_s_2 li a {
  padding: 0 40px;
  display: block;
}
.menu_s_2 li:first-child{
  border-top: 1px solid #DCDCDC;
}
.menu_s_2 li:last-child{
  border-bottom: none;
}
}

/* メガメニュー start */
.modal.globalnav-modal.show {
    display: block !important;
}
/* nav-item.dropdown を常に前面に */
.header2,
.nav-item.dropdown {
    position: relative;
    --bs-modal-zindex: 1055;
    z-index: 1055
  }
  
  /* モーダルは1段下げる */
  .modal.globalnav-modal {
    --bs-modal-zindex: none;
    z-index: 1000;
  }
.modal-content02 {
    display: flex;
    width: 100%;
    color: var(--bs-modal-color);
    pointer-events: auto;
    background-color: var(--bs-modal-bg);
	background-color: rgba(96, 96, 96, 0.8);
    border-radius: 0;
    outline: 0;
	position: fixed;
    top: 110px;
    bottom: 0;
    left: 0;
    right: 0; 
}
.modal_con02 {
    background-color: #ffffff;
    max-width: 1380px;
    margin: 10px auto;
    width: 100%;
    padding: 0;
    position: relative;
	opacity: 1;
	overflow-y: auto;
	display: flex;
    align-items: stretch;
}
.menu_left{
	max-width: 312px;
	min-width: 312px;
	background-color: #F7F7F7;
	padding: 40px 20px 40px 40px;
	height: auto;
	box-sizing: border-box;
    display: flex;
    flex-direction: column; /* 让内部内容纵向排列 */
    flex: none;
}
.menu_left img{
	float: right;
}
.menu_left ul {
    list-style: none;
    padding: 0;
    margin: 50px 0 0 0;
}

.menu_left ul li{
    cursor: pointer;
    padding: 8px 0 8px 20px;
	font-size: 1rem;
	font-weight: bold;
	margin: 0;
	text-align:left;
	position: relative;
}
.menu_left ul li a{
	cursor: pointer;
	color: #222222;
	text-decoration: none;
	font-size: 1rem;
	font-weight: bold;
}
.menu_left ul li a.active {
	color: #1A4DA5;
}

.menu_left ul li.active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 10px;
    height: 3px;
    background-color: #1A4DA5;
    transform: translateY(-50%);
	z-index: 1;
}
.menu_right{
	padding: 40px 28px 40px 28px;
	flex: 1;
    overflow-y: auto;
	/*min-height: 500px; */
    transition: height 0.3s ease; 
}
.tab-pane {
    display: none;
}

.tab-pane.active {
    display: block; 
	flex: 1 1 100%;
	display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.nav_li.active::before {
  content: "";
  display: block;
  width: 10px;
  height: 4px;  
  background-color: #1A4DA5;
  position: absolute;
  top: 17px; 
  left:0;
}
.nav_li a {
  cursor: pointer;
}

.menu_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 80px;
    align-items: center;
    padding: 18px 5px 18px 20px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #fff;
    margin-bottom: 10px;
	box-sizing: border-box;
	width: calc(25% - 10px);
    text-decoration: none;
}
.menu_box02 {
    align-items: center;
    min-height: 80px;
    align-items: center;
    padding: 18px 5px 0 20px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #fff;
    margin-bottom: 10px;
	box-sizing: border-box;
	width: calc(25% - 10px);
}
.menu_box:hover {
    background-color: #F7F7F7;
    opacity: 0.5;
}

.menu_box_ttl {
    flex: 1 0 0%;
    font-size: 1rem;
    color: #222222;
    line-height: 1.5;
    text-align: left;
    font-weight: bold;
    height: 54px;
    display: table-cell;
    vertical-align: middle;
}
.menu_box_txt{
	flex: 1 0 0%;
    font-size: 0.8rem;
    color: #222222;
	text-align: left;
	margin: 5px 0 0;
}
.menu_icon{
	text-align: right;
	margin-right: 5px;
}
.menu_right ul{
	list-style: none;
	width: calc(25% - 10px);
	margin: 20px 0 0 0;
    padding-left: 1rem;
    padding-right: 0.5rem;
}
.menu_right ul li{
    position: relative;
	font-size: 1rem;
    margin-bottom: 3px;
	padding: 6px 0;	
    /*border-bottom:1px dotted #ccc;*/
}

.menu_right ul li::before{
    content: "・";
    position: absolute;
    color: "#888";
    font-size: 1em;
    text-indent: -1rem;
}

.menu_right ul a {
    text-decoration: none;
}
.menu_right ul a:hover{
    text-decoration: underline;
}
.menu_line_h{
	display: flex;
    flex-wrap: wrap;
	gap: 10px;
}
@media(max-width:1024px){
.modal-content02{
	display: none;	
} 
}

/* メガメニュー end */


/* 2025.02.13 */
.e2 .field_cards>*+* {
  margin-top: 30px;
}

.e2 .field_cards>div.col-12>*+* {
  margin-top: 30px;
}

.e2 .exa_container>*+* {
  margin-top: 30px;
}

.e2 .exa_container>div.col-12>*+* {
  margin-top: 30px;
}

.e2_banner_btn02 {
  color: #000;
  background-color: #dcdcdc;
}

.e2_banner_btn02:hover {
  color: #000;
  background-color: #dcdcdc;
}

.e2 .pagination .arrow a {
  color: inherit;
}

.e2 .pagination .active a {
  background-color: black;
  color: white;
  border-color: black;
}

.e2 .pagination .arrow a:hover {
  background-color: black;
  color: white;
  border-color: black;
}
.e2 .exa_left_column {
  width: 70vw;
}
.e2 .field_cards {
  padding: 30px 0 30px 0!important;
}

.e2_z13_blog_btns {
    margin: 0 0 6px 0;
}

.e2 .z13_left>*+* {
    margin-top: 30px;
}

.e2 .z13_left>div.col-12>*+* {
    margin-top: 30px;
}

.table_container .row>[class*='col-'] {
    display: block;
}


.center.slider {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; 
}


.center.slider:only-child,
.center.slider:has(.con_box:nth-child(1)),
.center.slider:has(.con_box:nth-child(2)) {
    justify-content: flex-start;
}
.news_con_h2 {
    width: 100%;
    display: block;
    flex-wrap: wrap;
    align-items: center;
    margin: 10px 0;
}

.text_set > .col-12 > * {
  margin-top: 15px;
}
.text_set > .col-12 .exa_container,
.text_set > .col-12 .field_cards
 {
  padding-top: initial ;
  padding-bottom: inherit;
}
.text_set .con_box > a {
  flex: initial;
  max-width: initial;
}
.delete_child_container_padding_top .exa_container,
.delete_child_container_padding_top .field_cards {
  padding-top: initial;
}
.delete_child_container_padding_bottom .exa_container,
.delete_child_container_padding_bottom .field_cards {
  padding-bottom: initial;
}

.category_anchor .field_cards .row a{
	display: block;
	max-width: 100%;
}
.o06 .col-4.con_box > a {
	display:block;
	max-width:100%;
}
.icon-down {
    background-image: url('../images/arrow_down.png');
    width: 20px;
    height: 20px;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
}

@media (max-width: 1024px) {
    .icon-down {
        background-image: url('../images/down_s.png');
    }
}

.icon-up {
    background-image: url('../images/arrow_up.png');
}

@media (max-width: 1024px) {
    .icon-up {
        background-image: url('../images/up_s.png');
    }
}
.C04.center {
    justify-content:center;
}

/* I-2_お役立ち資料_資料DLページ start */
.I2_con{
    max-width: 1200px;
    margin: 75px 250px 60px 250px;
    box-sizing: border-box;
}
.I2_img{
	max-width:100%;
	text-align:left;
}
.I2_img img{
	margin-bottom:10px;
	max-width: 100%;
}
.I2_list ul {
    width: 100%;
    margin: 10px 0;
	list-style: none;
    padding: 0;
}

.I2_list ul li{
	font-size: 1.125rem;
	color: #222222;
	position: relative; 
    padding:5px 0 5px 20px;
}

.I2_list ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 18px;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    background-color: #1A4DA5;
    border-radius: 50%;
}
.I2_btn{
	width: 100%;
	text-align: center;
}

.I2_con2 {
    display: flex;
    flex-wrap: nowrap;
    gap: 50px;
    align-items: flex-start;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 200px auto;
}

.I2_left_box {
    background-color: #EEF1FA;
    border-radius: 5px;
    padding: 25px 30px 15px 30px;
}

.I2_right_txt {
    color: #222222;
    font-size: 1.125rem;
    line-height: 1.7rem;
}
.I2_right_txt p{
	margin-bottom: 50px;
}
.I2_ttl03 {
    color: #222222;
    font-weight: bold;
    font-size: 1.75rem;
    text-align: left;
    margin-top: 30px;
}
.I2_content {
    max-width: 1200px;
    margin: 120px auto 20px auto;
    box-sizing: border-box;
    width: 100%;
}
.I2_right_con {
    display: flex;
    font-size: 0.8125rem;
    max-width: 1200px;
    margin: 0 auto;
}
.I2_right_con img {
    margin-right: 50px;
}
.I2_left_box img{
    margin: -10px 10px 0 0;
}
.I2_left_box ul{
	margin: 30px 0 0 0;
}
.I2_con_left ul li {
    font-size: 1.125rem;
    color: #222222;
    position: relative;
    padding: 5px 0 5px 20px;
}
.I2_box_ttl {
    display: flex;
    align-items: center;
    justify-content: left;
    margin-bottom: 20px;
}
.I2_img video {
    margin: 0;
    max-width: 724px;
    display: block;
}
@media(max-width: 1024px){
.I2_con {
    margin: 75px 120px 10px 120px;
}
.I2_ttl03 {
    margin-top: 10px;
}
.I2_btn {
    margin-top: -30px;
}
.I2_content{
	padding: 0 40px 20px 40px;
}
.I2_con2 {
	flex-direction: column;
	gap: 30px;
	padding: 0 40px;
	margin: 0 auto 20px auto;
}
.I2_right_con {
	display: block;
	padding: 0 40px;
	display: flex;
    font-size: 0.8125rem;
    max-width: 1200px;
    margin: 0 auto;
}
.I2_right_con img {
    margin-right: 50px;
}

}
@media (max-width: 768px) {
.I2_content {
	padding: 0 15px 20px 15px;
}
.I2_con {
	margin: 20px 0 0 0;
}
.I2_ttl03 {
    font-size: 1.375rem;
}
.I2_list ul {
	margin: 0;
}
.I2_list ul li {
    font-size: 1rem;
}
.I2_left_box {
    padding: 15px 20px 15px 20px;
}
.I2_left_box img{
	width: 25px;
    margin: -10px 10px 0 0;
}
.I2_left_box ul{
	margin: 0 0 0 0;
}
.I2_box_ttl {
    margin-bottom: 10px;
}
.I2_right_txt p {
	font-size: 0.875rem;
    margin-bottom: 30px;
	line-height: 1.4rem;
}
.I2_right_con {
	padding: 0 15px 0 0;
	margin: 30px 0 0 0;
}
.I2_right_con img {
	width: 67px;
	height: 67px;
	margin: 0 15px;
}
.I2_img video {
    margin: 0;
    max-width: 363px;
    display: block;
}
.I2_con2 {
	padding: 0 15px;
}
}
/* I-2_お役立ち資料_資料DLページ end */
@media (min-width: 1024px) {
    .content > .navi > .collapse {
        display: block;
    }
}

/* スクロール制御：モーダル表示中のbodyスクロールを止める */
body.fixed,
body.disable-header-scroll {
  overflow: hidden !important;
}
/* 画面幅が1024px以下になったらスクロールロック解除 */
@media screen and (max-width: 1024px) {
    body.fixed,
    body.disable-header-scroll {
      overflow: auto !important;
    }
  }

/* モーダル内はスクロールOK */
.globalnav-modal .modal-content02 {
  overflow-y: auto;
  max-height: 80vh;
}

/* ポップアップ表示時の検索アイコン非表示 */
#popup[style*="display: block"] ~ * .bi-search::before,
#popup[style*="display: block"] ~ * .search-btn.bi-search::before,
#overlay[style*="display: block"] ~ * .bi-search::before,
#overlay[style*="display: block"] ~ * .search-btn.bi-search::before {
    content: "" !important;
}

/* より確実な方法：bodyにクラスを追加する場合 */
body.popup-open .bi-search::before,
body.popup-open .search-btn.bi-search::before {
    content: "" !important;
}

/* トップページ専用調整 */
@media (min-width: 1025px) and (max-width: 1200px) {
    .content-wrapper {
        padding-left: 10px;
        padding-right: 10px;
    }
}

/* トップページ用カード調整 */
#index .components_con3.o-01 {
    padding-left: 0;
    padding-right: 0;
}
#index .con-content {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}
#index .field_cards .row {
    margin: 0 auto;
    justify-content: space-between;
    gap: 0 2%;
}
#index .field_cards .row a {
    flex-basis: inherit;
    padding-left: 0;
    padding-right: 0;
}
#index .blog_con .blog_container {
    padding-right: 0;
}
#related_content .con-content.for_blog {
    padding-left: 0;
    padding-right: 0;
}
@media (min-width: 1025px) {
    #index .field_cards .components_con3.o-01 .row a {
        width: 32%;
        max-width: 368px;
    }
}
@media (max-width: 1024px) {
    #index .field_cards .components_con3.o-01 .row a {
        width: 48%;
    }
    #index .blog_con .components_con {
        padding: 0;
    }
}
@media (max-width: 768px) {
    #index .field_cards .components_con3.o-01 .row a {
        width: 100%;
    }
}

/* slick有効時のカードサイズ維持（事例エリア・ブログエリア用） */
/* スライダーコンテナを1200px以内に制限し、左揃えに */
/* 1240px以上のみmax-width適用、それ以下は親要素の幅に従う */
@media (min-width: 1240px) {
    #index .slider-container,
    #related_content .slider-container {
        max-width: 1200px;
    }
}

#index .slider-container,
#related_content .slider-container {
    width: 100%;
    margin: 0 auto;
    overflow: visible; /* ボタンを外側に配置するため */
}

/* スライダーナビゲーションボタンの位置調整 */
/* デフォルト: 全ブレークポイント共通 */
#index .slider-container .slick-prev,
#related_content .slider-container .slick-prev {
    margin-left: 0 !important;
    left: -10px !important;
    top: 30% !important; /* カードの高さに応じて可変 */
}

#index .slider-container .slick-next,
#related_content .slider-container .slick-next {
    margin-right: 0 !important;
    right: -10px !important;
    top: 30% !important; /* カードの高さに応じて可変 */
}

/* タブレット（769-1024px）: 10px外側に移動 */
@media (min-width: 769px) and (max-width: 1024px) {
    #index .slider-container .slick-prev,
    #related_content .slider-container .slick-prev {
        left: -20px !important;
    }

    #index .slider-container .slick-next,
    #related_content .slider-container .slick-next {
        right: -20px !important;
    }
}

/* スマートフォン（768px以下）: 上から35%に配置 */
@media (max-width: 768px) {
    #index .slider-container .slick-prev,
    #index .slider-container .slick-next,
    #related_content .slider-container .slick-prev,
    #related_content .slider-container .slick-next {
        top: 35% !important;
    }
}

/* ブログエリアのボタンが見切れないように */
#index .blog_con,
#related_content .components_con {
    overflow: visible !important;
}

#index .blog_con .components_con {
    overflow-x: visible !important;
}

/* variableWidth有効時は、カード自体に幅を設定 */

/* カード内のaタグも固定幅に */
#index .my-slider .slick-slide > a,
#index .my-slider2 .slick-slide > a,
#related_content .my-slider .slick-slide > a,
#related_content .my-slider2 .slick-slide > a {
    display: block;
    width: 100%;
}

/* slick-listの調整：コンテンツ領域に収める */
#index .my-slider .slick-list,
#index .my-slider2 .slick-list,
#related_content .my-slider .slick-list,
#related_content .my-slider2 .slick-list {
    padding: 0 !important;
    overflow: hidden !important;
    margin: 0;
}

/* slick-trackの調整：左揃えに */
#index .my-slider .slick-track,
#index .my-slider2 .slick-track,
#related_content .my-slider .slick-track,
#related_content .my-slider2 .slick-track {
    display: flex !important;
    margin-left: 0 !important;
}

/* カード間の余白：固定値で設定 */
/* slick-slide要素自体のmarginをリセット */
#index .my-slider .slick-slide,
#index .my-slider2 .slick-slide,
#related_content .my-slider .slick-slide,
#related_content .my-slider2 .slick-slide {
    margin: 0 !important;
}

/* PC表示: 1240px以上（コンテナ1200px固定） */
@media (min-width: 1240px) {
    /* 事例エリア（my-slider）: 3カラム */
    /* カード: 368px × 3 = 1104px */
    /* 余白: (1200 - 1104) / 2 = 48px */
    #index .field_cards .my-slider .slick-slide,
    #related_content .field_cards .my-slider .slick-slide {
        width: 368px !important;
    }

    #index .my-slider .slick-slide:not(:last-child),
    #related_content .my-slider .slick-slide:not(:last-child) {
        margin-right: 48px !important;
    }

    /* ブログエリア（my-slider2）: 2カラム */
    /* カード: 580px × 2 = 1160px */
    /* 余白: (1200 - 1160) / 1 = 40px */
    #index .field_cards .my-slider2 .slick-slide,
    #related_content .field_cards .my-slider2 .slick-slide {
        width: 580px !important;
        margin-right: 40px !important;
    }
}

/* リキッド表示: 1100px〜1239px（コンテナ = 100vw - 40px） */
@media (min-width: 1100px) and (max-width: 1239px) {
    /* 事例エリア（my-slider）: 3カラム */
    /* スライダーなしと同じ: width 32%, gap 2% */
    #index .field_cards .my-slider .slick-slide,
    #related_content .field_cards .my-slider .slick-slide {
        width: calc((100vw - 40px) * 0.32) !important;
    }

    #index .my-slider .slick-slide:not(:last-child),
    #related_content .my-slider .slick-slide:not(:last-child) {
        margin-right: calc((100vw - 40px) * 0.02) !important;
    }

    /* ブログエリア（my-slider2）: 2カラム */
    /* スライダーなしと同じ: width 49%, gap 2% */
    #index .field_cards .my-slider2 .slick-slide,
    #related_content .field_cards .my-slider2 .slick-slide {
        width: calc((100vw - 40px) * 0.49) !important;
        margin-right: calc((100vw - 40px) * 0.02) !important;
    }
}

/* リキッド表示: 1025px〜1099px（コンテナ = 100vw - 40px、3カラム） */
@media (min-width: 1025px) and (max-width: 1099px) {
    /* 事例エリア（my-slider）: 3カラム */
    /* 1050px: コンテナ1010px、カード323.2px、gap 20.2px */
    #index .field_cards .my-slider .slick-slide,
    #related_content .field_cards .my-slider .slick-slide {
        width: calc((100vw - 40px) * 0.32) !important;
    }

    #index .my-slider .slick-slide:not(:last-child),
    #related_content .my-slider .slick-slide:not(:last-child) {
        margin-right: calc((100vw - 40px) * 0.02) !important;
    }

    /* ブログエリア（my-slider2）: 2カラム */
    /* 1050px: コンテナ1010px、カード494.9px、gap 20.2px */
    #index .field_cards .my-slider2 .slick-slide,
    #related_content .field_cards .my-slider2 .slick-slide {
        width: calc((100vw - 40px) * 0.49) !important;
        margin-right: calc((100vw - 40px) * 0.02) !important;
    }
}

/* タブレット表示: 769px〜1024px（全て2カラム、コンテナ = 100vw - 100px） */
@media (min-width: 769px) and (max-width: 1024px) {
    /* スライダーなしと同じ: width 48%, gap 4% */
    /* 1024px: コンテナ924px、カード443.52px、gap 36.96px */
    /* 1000px: コンテナ900px、カード432px、gap 36px */
    #index .field_cards .my-slider .slick-slide,
    #index .field_cards .my-slider2 .slick-slide,
    #related_content .field_cards .my-slider .slick-slide,
    #related_content .field_cards .my-slider2 .slick-slide {
        width: calc((100vw - 100px) * 0.48) !important;
        margin-right: calc((100vw - 100px) * 0.04) !important;
    }
}

/* レスポンシブ対応：スマートフォン（768px以下、コンテナ = 100vw - 60px） */
@media (max-width: 768px) {
    #index .p_content:not(#related_content) {
        padding-left: 15px!important;
        padding-right: 15px!important;
    }

    /* 1カラム表示 */
    /* 768px: コンテナ708px、カード708px */
    /* 375px: コンテナ315px、カード315px */
    #index .my-slider .slick-slide,
    #index .my-slider2 .slick-slide,
    #related_content .my-slider .slick-slide,
    #related_content .my-slider2 .slick-slide {
        width: calc(100vw - 30px) !important;
        margin-right: 0 !important;
    }

}

/* 1. スライダーありカードの最大幅を368px/580pxに制限（スライダーなしと揃える） */
@media (min-width: 1100px) and (max-width: 1239px) {
    #index .field_cards .my-slider .slick-slide,
    #related_content .field_cards .my-slider .slick-slide {
        max-width: 368px !important;
    }

    #index .field_cards .my-slider2 .slick-slide,
    #related_content .field_cards .my-slider2 .slick-slide {
        max-width: 580px !important;
    }
}

/* 2. スライダーなし時の配置をflex-startに統一 */
#index .con-content.o-01 .row,
#related_content .con-content.o-01 .slider-container > div {
    justify-content: flex-start;
}

/* 3. #related_content のスライダーなし時のカードスタイル */
#related_content .con-content.o-01 {
    padding-left: 0;
    padding-right: 0;
}

#related_content .con-content.o-01 .slider-container > div {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
}
#index .con-content.o-01 .slider-container > div {
    margin-bottom: 30px;
}

#related_content .con-content.o-01 .slider-container > div > a {
    flex-basis: inherit;
    padding-left: 0;
    padding-right: 0;
}

/* カード間余白を48pxに統一（スライダーありと揃える） - 1240px以上 */
@media (min-width: 1240px) {
    #related_content .con-content.o-01 .slider-container > div > a:not(:nth-child(3n)) {
        margin-right: 48px;
    }
}

/* 1100-1239px: スライダーなしの余白をスライダーありと揃える */
@media (min-width: 1100px) and (max-width: 1239px) {
    #related_content .con-content.o-01 .slider-container > div > a:not(:nth-child(3n)) {
        margin-right: calc((100vw - 40px) * 0.02);
    }
}

/* 1025-1099px: スライダーなしの余白をスライダーありと揃える */
@media (min-width: 1025px) and (max-width: 1099px) {
    #related_content .con-content.o-01 .slider-container > div > a:not(:nth-child(3n)) {
        margin-right: calc((100vw - 40px) * 0.02);
    }
}

/* PC: 1025px以上 - 3カラム */
@media (min-width: 1025px) {
    #related_content .field_cards .con-content.o-01 .slider-container > div > a {
        width: 32%;
        max-width: 368px;
    }
}

/* タブレット: 769-1024px - 2カラム */
@media (min-width: 769px) and (max-width: 1024px) {
    #related_content .field_cards .con-content.o-01 .slider-container > div > a {
        width: 48%;
        margin-bottom: 60px;
    }

    /* 2カラムレイアウトで偶数カード（1枚目、3枚目...）に右余白 */
    #related_content .con-content.o-01 .slider-container > div > a:nth-child(odd) {
        margin-right: calc((100vw - 100px) * 0.04);
    }
}

/* モバイル: 768px以下 - 1カラム */
@media (max-width: 768px) {
    #related_content.p_content,
    #related_content .field_cards {
        padding-left: initial!important;
        padding-right: initial!important;
    }
    #related_content .field_cards .con-content.o-01 .slider-container > div > a {
        width: 100%;
        margin-bottom: 60px;
    }
}
