/*style.css*/

/*----------------
Fonts
------------------*/

@font-face {
    font-family: "Noto Sans JP";
    font-weight: 400 700;
    src: url("/assets/css/fonts/NotoSansJP-VariableFont_wght.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    font-weight: 400 700;
    src: url("/assets/css/fonts/Inter-VariableFont_opsz,wght.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "Roboto";
    font-weight: 400 700;
    src: url("/assets/css/fonts/Roboto-VariableFont_wdth,wght.ttf") format("truetype");
    font-display: swap;
}

/*----------------
common
------------------*/

* {
    box-sizing: border-box;
}
html {
    font-size: 62.5%;
    letter-spacing: 0.05em;
    scrollbar-gutter: stable;
/*
    scroll-behavior: smooth;
    scroll-padding-top: 128px;
*/
}
body {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    line-height: 1.5;
    background-color: #fff;
    margin: 0;
}
.inter {
    font-family: "Inter", sans-serif;
}
ul {
  list-style-type: none;
}
div, p, a, ul, li, dt, dd, span {
    font-size: 1.6rem;
    font-weight: 400;
    color: #000;
    text-transform:none;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.5;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
a {
    text-decoration: none;
    transition: all 0.3s ease-out;
}
a:hover {
    cursor: pointer;
    color: var(--cloud40);
}
a:link, a:visited {
    text-decoration: none;
}
.cover {
    display: none;
}

sup {
    position: relative;
    top: -0.5em;
    font-size: 0.7em;
    margin: 0 1px;
}

@media screen and (min-width:768px) {
    .sp {
        display: none!important;
    }
}

.inner {
    width: 1240px;
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    margin: 0 auto;
}
.bold {
    font-weight: bold;
    font-weight: 700;
}

.inner_nar {
    width: 1000px;
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    margin: 0 auto;
}
img {
    display: block;
    max-width: 100%;
}

@media screen and (min-width:768px) {
    #sp_fixed_menu {
        display: none
    }
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none !important;
        color: #212121 !important;
    }
}

.fw_mid {
    font-weight: 500!important;
}

.bold {
    font-weight: 700!important;;
}

.mt0 {
    margin-top: 0!important;
}
.mt4 {
    margin-top: 4px!important;
}
.mt5 {
    margin-top: 5px!important;
}
.mt8 {
    margin-top: 8px!important;
}
.mt10 {
    margin-top: 10px!important;
}
.mt12 {
    margin-top: 12px!important;
}
.mt15 {
    margin-top: 15px!important;
}
.mt16 {
    margin-top: 16px!important;
}
.mt20 {
    margin-top: 20px!important;
}
.mt24 {
    margin-top: 24px!important;
}
.mt25 {
    margin-top: 25px!important;
}
.mt28 {
    margin-top: 28px!important;
}
.mt30 {
    margin-top: 30px!important;
}
.mt32 {
    margin-top: 32px!important;
}
.mt35 {
    margin-top: 35px!important;
}
.mt36 {
    margin-top: 36px!important;
}
.mt40 {
    margin-top: 40px!important;
}
.mt44 {
    margin-top: 44px!important;
}
.mt45 {
    margin-top: 45px!important;
}
.mt48 {
    margin-top: 48px!important;
}
.mt50 {
    margin-top: 50px!important;
}
.mt52 {
    margin-top: 52px!important;
}
.mt54 {
    margin-top: 54px!important;
}
.mt55 {
    margin-top: 55px!important;
}
.mt56 {
    margin-top: 56px!important;
}
.mt60 {
    margin-top: 60px!important;
}
.mt64 {
    margin-top: 64px!important;
}
.mt65 {
    margin-top: 65px!important;
}
.mt68 {
    margin-top: 68px!important;
}
.mt70 {
    margin-top: 70px!important;
}
.mt72 {
    margin-top: 72px!important;
}
.mt74 {
    margin-top: 74px!important;
}
.mt75 {
    margin-top: 75px!important;
}
.mt76 {
    margin-top: 76px!important;
}
.mt80 {
    margin-top: 80px!important;
}
.mt84 {
    margin-top: 84px!important;
}
.mt85 {
    margin-top: 85px!important;
}
.mt88 {
    margin-top: 88px!important;
}
.mt90 {
    margin-top: 90px!important;
}
.mt92 {
    margin-top: 92px!important;
}
.mt95 {
    margin-top: 95px!important;
}
.mt96 {
    margin-top: 96px!important;
}
.mt100 {
    margin-top: 100px!important;
}
.mt105 {
    margin-top: 105px!important;
}
.mt110 {
    margin-top: 110px!important;
}
.mt115 {
    margin-top: 115px!important;
}
.mt120 {
    margin-top: 120px!important;
}
.mt200 {
    margin-top: 200px!important;
}
.mt280 {
    margin-top: 280px!important;
}
.mt290 {
    margin-top: 290px!important;
}
.mt300 {
    margin-top: 300px!important;
}


.mb0 {
    margin-bottom: 0!important;
}
.mb5 {
    margin-bottom: 5px!important;
}
.mb10 {
    margin-bottom: 10px!important;
}
.mb15 {
    margin-bottom: 15px!important;
}
.mb16 {
    margin-bottom: 16px!important;
}
.mb20 {
    margin-bottom: 20px!important;
}
.mb24 {
    margin-bottom: 24px!important;
}
.mb25 {
    margin-bottom: 25px!important;
}
.mb30 {
    margin-bottom: 30px!important;
}
.mb32 {
    margin-bottom: 30px!important;
}
.mb35 {
    margin-bottom: 35px!important;
}
.mb40 {
    margin-bottom: 40px!important;
}
.mb45 {
    margin-bottom: 46px:!important;
}
.mb48 {
    margin-bottom: 48px:!important;
}
.mb50 {
    margin-bottom: 50px!important;
}
.mb55 {
    margin-bottom: 55px!important;
}
.mb56 {
    margin-bottom: 56px!important;
}
.mb60 {
    margin-bottom: 60px!important;
}
.mb64 {
    margin-bottom: 64px!important;
}
.mb65 {
    margin-bottom: 65px!important;
}
.mb70 {
    margin-bottom: 70px!important;
}
.mb75 {
    margin-bottom: 75px!important;
}
.mb80 {
    margin-bottom: 80px!important;
}
.mb90 {
    margin-bottom: 90px!important;
}
.mb100 {
    margin-bottom: 100px!important;
}
.mb110 {
    margin-bottom: 110px!important;
}
.pt0 {
    padding-top: 0!important;
}
.pt5 {
    padding-top: 5px!important;
}
.pt10 {
    padding-top: 10px!important;
}
.pt12 {
    padding-top: 12px!important;
}
.pt15 {
    padding-top: 15px!important;
}
.pt20 {
    padding-top: 20px!important;
}
.pt24 {
    padding-top: 24px!important;
}
.pt25 {
    padding-top: 25px!important;
}
.pt30 {
    padding-top: 30px!important;
}
.pt32 {
    padding-top: 32px!important;
}
.pt35 {
    padding-top: 35px!important;
}
.pt40 {
    padding-top: 40px!important;
}
.pt45 {
    padding-top: 45px!important;
}
.pt50 {
    padding-top: 50px!important;
}
.pt55 {
    padding-top: 55px!important;
}
.pt60 {
    padding-top: 60px!important;
}
.pt65 {
    padding-top: 65px!important;
}
.pt70 {
    padding-top: 70px!important;
}
.pt75 {
    padding-top: 75px!important;
}
.pt80 {
    padding-top: 80px!important;
}
.pb0 {
    padding-bottom: 0!important;
}
.pb5 {
    padding-bottom: 5px!important;
}
.pb10 {
    padding-bottom: 10px!important;
}
.pb12 {
    padding-bottom: 12px!important;
}
.pb15 {
    padding-bottom: 15px!important;
}
.pb16 {
    padding-bottom: 16px!important;
}
.pb20 {
    padding-bottom: 20px!important;
}
.pb24 {
    padding-bottom: 24px!important;
}
.pb25 {
    padding-bottom: 25px!important;
}
.pb30 {
    padding-bottom: 30px!important;
}
.pb32 {
    padding-bottom: 32px!important;
}
.pb35 {
    padding-bottom: 35px!important;
}
.pb40 {
    padding-bottom: 40px!important;
}
.pb45 {
    padding-bottom: 46px:!important;
}
.pb50 {
    padding-bottom: 50px!important;
}
.pb55 {
    padding-bottom: 55px!important;
}
.pb60 {
    padding-bottom: 60px!important;
}
.pb65 {
    padding-bottom: 65px!important;
}
.pb70 {
    padding-bottom: 70px!important;
}
.pb75 {
    padding-bottom: 75px!important;
}
.pb80 {
    padding-bottom: 80px!important;
}

/*----------------
Font Size
------------------*/

.fs10 {
    font-size: 1.0rem!important;
}
.fs11 {
    font-size: 1.1rem!important;
}
.fs12 {
    font-size: 1.2rem!important;
}
.fs13 {
    font-size: 1.3rem!important;
}
.fs14 {
    font-size: 1.4rem!important;
}
.fs15 {
    font-size: 1.5rem!important;
}
.fs16 {
    font-size: 1.6rem!important;
}
.fs17 {
    font-size: 1.7rem!important;
}
.fs18 {
    font-size: 1.8rem!important;
}
.fs19 {
    font-size: 1.9rem!important;
}
.fs20 {
    font-size: 2.0rem!important;
}
.fs21 {
    font-size: 2.1rem!important;
}
.fs22 {
    font-size: 2.2rem!important;
}

/*----------------
Title
------------------*/

h2 {
    font-size: 2.8rem;
    font-weight: 700;
    letter-spacing: 0.8px;
    position: relative;
    margin-bottom: 16px;
    letter-spacing: 0.05em;
    line-height: 1.25;
}

h2:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 4px;
    height: 27px;
    background-color: var(--cloud40);
    margin-right: 16px;
    margin-top: -4px;
}
h2.nobar {
    font-size: 2.4rem;
    font-weight: 500;
    letter-spacing: 0.8px;
    position: relative;
    margin-bottom: 24px;
    padding-left: 0;
    text-indent: inherit;
}
h2.nobar:before {
    content: none;
}
.h2_element {
    padding-top: 12px;
    border-top: 1px solid;
    border-color: var(--cloud30);
    position: relative;
}
.h2_element:before {
    content: '';
    display: block;
    width: 273px;
    width: 22.75%;
    height: 3px;
    background-color: var(--blue20);
    position: absolute;
    top: -2.5px;
    left: 0;
}
h3 {
    letter-spacing: 0.05em;
}
h3.feat_tit {
    font-size: 2.4rem;
    font-weight: 500;
    color: var(--blue40);
    margin-bottom: 12px;
    letter-spacing: 0.05em;
}

/*----------------
PageTop
------------------*/

#pageTop {
    width: 70px;
    height: 70px;
    position: fixed;
    right: 0;
    bottom: 80px;
    bottom: 0;
    z-index: 198;
    transition: all 0.2s ease 0s;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: -2px 0px 4px rgba(0, 0, 0, 0.2);
}

#pageTop:hover {
    background-color: var(--blue00);
}
#pageTop a:hover {
    opacity: 1;
}
#pageTop span {
    display: block;
    text-align: center;
    font-size: 1.4rem;
}
#pageTop span.pagetop_ar img {
    width: 24px;
    margin: 0 auto;
}

/*----------------
Link Button
------------------*/

/*link_btn01*/
a.link_btn01 {
    display: block;
    padding: 12px 32px 12px 32px;
    background-color: var(--blue40);
    border: 1px solid var(--blue40);
    border-radius: 6px;
    color: #fff;
    font-weight: 500;
    text-align: center;
    width: fit-content;
    min-width: 256px;
    box-shadow: var(--shadow15-small);
    position: relative;
    overflow: hidden;
}

a.link_btn01 span {
    display: inline-block;
    color: #fff;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 500;
    position: relative;
    line-height: 1.5;
}

a.link_btn01::after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 10px;
    height: 10px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto 0;
}

a.link_btn01:hover,
a.link_btn01:focus-visible {
    background-color: #fff;
    box-shadow: var(--shadow30-mid);
}

a.link_btn01:hover span,
a.link_btn01:focus-visible span {
    color: var(--blue40);
}

a.link_btn01:hover::after,
a.link_btn01:focus-visible::after {
    border-top: solid 2px var(--blue40);
    border-right: solid 2px var(--blue40);
}

a.link_btn01::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #fff;
    z-index: 0;
    transition: all 0.4s ease-out;
}

a.link_btn01:hover::before {
    width: 100%;
}

a.link_btn01 svg {
    transition: all 0.3s ease;
    z-index: 2;
    position: relative;
}

a.link_btn01:hover svg,
a.link_btn01:focus-visible svg {
    color: var(--blue40);
}


/*link_btn01_wh*/
a.link_btn01_wh {
    display: block;
    padding: 12px 32px 12px 32px;
    background-color: #fff;
    border: 1px solid var(--blue40);
    border-radius: 6px;
    color: #fff;
    font-weight: 500;
    text-align: center;
    width: fit-content;
    min-width: 256px;
    box-shadow: var(--shadow15-small);
    position: relative;
    overflow: hidden;
    color: var(--blue40);
}

a.link_btn01_wh span {
    color: var(--blue40);
    text-align: center;
    font-size: 1.4rem;
    font-weight: 500;
    position: relative;
}

a.link_btn01_wh::after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 10px;
    height: 10px;
    border: 0;
    border-top: solid 2px var(--blue40);
    border-right: solid 2px var(--blue40);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto 0;
}

a.link_btn01_wh.center {
    margin: 0 auto;
}

a.link_btn01_wh:hover,
a.link_btn01_wh:focus-visible {
    background-color: #fff;
    box-shadow: var(--shadow30-mid);
    color: #fff;
}

a.link_btn01_wh:hover span,
a.link_btn01_wh:focus-visible span {
    color: #fff;
}

a.link_btn01_wh:hover::after,
a.link_btn01_wh:focus-visible::after {
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
}

a.link_btn01_wh::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background-color: var(--blue40);
    z-index: 0;
    transition: all 0.4s ease-out;
}

a.link_btn01_wh:hover::before {
    width: 100%;
}

a.link_btn01_wh svg {
    transition: all 0.3s ease;
    z-index: 2;
    position: relative;
}

a.link_btn01_wh:hover svg,
a.link_btn01_wh:focus-visible svg {
    color: #fff;
}


/*link_btn01 link_btn01_wh共通*/
a.link_btn01.w215,
a.link_btn01_wh.w215 {
    min-width: 0;
    width: 215px;
    max-width: 100%;
}

a.link_btn01.w295,
a.link_btn01_wh.w295 {
    min-width: 0;
    width: 295px;
    max-width: 100%;
}

a.link_btn01.w366,
a.link_btn01_wh.w366 {
    min-width: 0;
    width: 366px;
    max-width: 100%;
}

a.link_btn01.center,
a.link_btn01_wh.center {
    margin-left: auto;
    margin-right: auto;
}


/*exlink_btn*/

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

a.exlink_btn svg {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto 0;
}

a.exlink_btn::after {
    content: none!important;
}

/*back_btn*/

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

a.back_btn::after {
    content: none!important;
}

a.back_btn svg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 16px;
    margin: auto 0;
}

/*link_btn02*/
a.link_btn02 {
    display: block;
    padding: 14px 32px 14px 32px;
    background-color: #fff;
    border: 1px solid var(--blue40);
    border-radius: 6px;
    color: #fff;
    font-weight: 500;
    text-align: center;
    width: fit-content;
    min-width: 256px;
    box-shadow: var(--shadow15-small);
    position: relative;
    overflow: hidden;
}

a.link_btn02 span {
    font-weight: 500;
/*    color: var(--blue40);*/
}

a.link_btn02::after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 12px;
    height: 12px;
    border: 0;
    border-top: solid 2px var(--blue40);
    border-right: solid 2px var(--blue40);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 18px;
    margin: auto 0;
}

a.link_btn02.center {
    margin: 0 auto;
}

a.link_btn02:hover,
a.link_btn02:focus-visible {
    color: var(--blue40);
    box-shadow: var(--shadow30-mid);
    border-color: var(--blue40);
    outline: 1px solid var(--blue40);
    outline-offset: 0;
}

a.link_btn02:hover span,
a.link_btn02:focus-visible span {
    color: var(--blue40);
}


/*linkBtn03*/
a.linkBtn03 {
    width: 376px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px 32px 20px 32px;
    min-height: 94px;
    background-color: #fff;
    border: 1px solid var(--cloud20);
/*    border-radius: 6px;*/
    color: #000;
    font-weight: 500;
    box-shadow: var(--shadow30-mini);
    position: relative;
    overflow: hidden;
    transition: all 0.4s ease-out;
}
a.linkBtn03:after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 10px;
    height: 10px;
    border: 0;
    border-top: solid 2px;
    border-right: solid 2px;
    border-color: var(--blue40);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 18px;
    margin: auto;
    font-size: 1.8rem;
    font-weight: 500;
}
a.linkBtn03:hover {
    color: var(--blue40);
    border: 1px solid var(--blue40);
    box-shadow: var(--shadow30-mid);
    border-color: var(--blue40);
    outline: 1px solid var(--blue40);
    outline-offset: 0;
}






/*linkBtn04*/
a.link_btn04 {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 8px;
    padding-left: 8px;
    padding-right: 8px;
}

a.link_btn01.link_btn04::after,
a.link_btn01_wh.link_btn04::after {
    content: none;
}

a.link_btn01.link_btn04 span::after,
a.link_btn01_wh.link_btn04 span::after {
    content: none;
}

a.link_btn04:hover span.ic img.hov {
    display: block;
    opacity: 1;
}

a.link_btn04 span.ic img.hov {
    display: none;
    opacity: 0;
}

a.link_btn04:hover span.ic img {
    display: none;
    opacity: 0;
}



svg.ic_balance {
    color: #fff;
    width: 32px;
    height: 32px;
    transition: color 0.2s ease;
    position: relative;
    z-index: 9;
}


a.link_btn01:hover svg.ic_balance {
    color: var(--blue40);
}


.news_list_btn span {
    font-size: 1.6rem;
}


.news_list_btn span {
    font-size: 1.6rem;
}


a.link_btn01.btn01_short {
    text-align: center;
    min-width: 200px;
    padding: 0;
}

/*----------------
buttonタグ
------------------*/

button.link_btn01 {
    box-sizing: border-box;
    display: block;
    padding: 12px 32px 12px 32px;
    background-color: var(--blue40);
    border: 1px solid var(--blue40);
    border-radius: 6px;
    color: #fff;
    font-weight: 500;
    text-align: center;
    width: fit-content;
    min-width: 256px;
    box-shadow: var(--shadow15-small);
    position: relative;
    overflow: hidden; /* ← ここ大事：はみ出した白背景を隠す */
}

/* テキスト */
button.link_btn01 span {
    display: inline-block;
    color: #fff;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 500;
    position: relative;
    line-height: 1.5;
    z-index: 1; /* 白背景より上に */
}

/* 右矢印 */
button.link_btn01::after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 10px;
    height: 10px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto 0;
    z-index: 1; /* 白背景より上に */
}

/* ← 左から流れてくる白背景（擬似要素追加） */
button.link_btn01::before {
    content: '';
    position: absolute;
    inset: 0;               /* top:0; right:0; bottom:0; left:0; と同じ */
    background: #fff;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    z-index: 0;
}

/* hover 時に白背景が左→右へスライドイン */
button.link_btn01:hover::before {
    transform: translateX(0);
}

/* hover 時に文字と矢印の色をボタン色に変える（任意だけどおすすめ） */
button.link_btn01:hover span {
    color: var(--blue40);
}

button.link_btn01:hover::after {
    border-top-color: var(--blue40);
    border-right-color: var(--blue40);
}










/*----------------
text Link
------------------*/

.exlink_text:after {
    content: '';
    display: inline-block;
    width: 17px;
    height: 17px;
    background-image: url(/assets/img/common/ic_exlink_bl.svg);
    background-size: contain;
    vertical-align: middle;
    margin-left: 8px;
    margin-top: -2px;
}


/*----------------
Column
------------------*/

ul.col03 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 32px;
}
ul.col03 li {
    width: 376px;
    max-width: 31.33%;
}

/*----------------
NEWS
------------------*/

.tabBox .tabArea {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    border-bottom: 1px solid var(--cloud20);
}
.tabBox .tabArea .one_tab {
    width: 24.8%;
}
.tabBox .tabArea .one_tab a {
    display: block;
    text-decoration: none;
    transition-duration: 0.2s;
    text-align: center;
    color: #fff;
    border: 1px solid var(--cloud20);
    background-color: var(--cloud10);
    padding: 10px 10px 10px 10px;
    box-shadow: inset 0 -2px 6px rgba(0, 0, 0, 0.05);
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.tabBox .tabArea .one_tab a:hover,
.tabBox .tabArea .one_tab a:focus-visible {
    opacity: 0.7;
    text-decoration: none;
}
.tabBox .tabArea .one_tab a.select {
    background-color: #fff;
    border-bottom: 1px solid #fff;
    border-top: 3px solid #000;
    padding-top: 9px;
    padding-bottom: 9px;
    box-shadow: none;
    position: relative;
}
.tabBox .tabArea .one_tab a.select:after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #fff;
    position: absolute;
    left: 0;
    bottom: -2px;
}
.tabBox .tabArea .one_tab span.tab_inner {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    font-weight: 500;
    transition-duration: 0.2s;
}
.tabBox .tabArea .one_tab .select span.tab_inner {
    font-weight: 700;
}
.tabCont .tab_main {
    display: none;
    padding: 0;
    text-align: center;
    transition-duration: 0.2s;
}
.tab_main.is_show {
    display: block;
}
.news_list_wrap {
    margin-bottom: 55px;
}
ul.news_list li a {
    display: flex;
    align-items: center;
    column-gap: 15px;
    padding: 27px 32px 27px 10px;
    border-bottom: 1px solid var(--cloud20);
    position: relative;
    text-align: left;
}
ul.news_list li a:after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 10px;
    height: 10px;
    border: 0;
    border-top: solid 2px;
    border-right: solid 2px;
    border-color: var(--blue40);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    margin: auto;
}
ul.news_list li a .news_date {
    display: block;
    width: 140px;
    min-width: 140px;
}
ul.news_list li a .news_cate {
    display: block;
    width: 105px;
    min-width: 105px;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    color: var(--accent40);
    border: 1px solid var(--accent40);
    padding: 1px 8px 2px 8px;
}
ul.news_list li a p {
    display: inline-block;
/*    max-width: calc(100% - 235px);*/
    text-align: left;
    position: relative;
}

@media screen and (min-width:768px) {
    ul.news_list li a p::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        height: 1px;
        width: 100%;
        background-color: var(--blue40);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.6s ease;
    }
    ul.news_list li a:hover p::after,
    ul.news_list li a:focus-visible p::after {
        transform: scaleX(1);
    }
    ul.news_list li a:hover,
    ul.news_list li a:focus-visible {
        box-shadow: var(--shadow20-mid);
    }
    ul.news_list li a:hover p,
    ul.news_list li a:focus-visible p {
        color: var(--blue40);
    }
}

/*----------------
twoColumnPage
-----------------*/

.twoColumnPage {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    column-gap: 1.4%;
    width: 1565px;
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    margin: 56px auto 0;
}

.twoColumnPageSide {
/*    width: 28.6%;*/
    max-width: 305px;
    min-width: 240px;
    flex: 0 1 28.6%;
    border: 1px solid;
    border-color: var(--blue40);
    background-color: var(--blue00);
    padding: 32px 24px 32px;
}

.twoColumnPageMain {
/*    width: 78%;*/
    flex: 1 1 0;
    min-width: 0;
}

.twoColumnPageSideSearchWrap {
    max-width: 305px;
    min-width: 240px;
    flex: 0 1 28.6%;
}

.twoColumnPageSideSearchWrap .twoColumnPageSide {
    max-width: 100%;
    min-width: 100%!important;
    width: 100%;
}

.sideSearch {
    margin-bottom: 16px;
}

.sideSearch .tit {
    font-size: 2.0rem;
    font-weight: 500;
    margin-bottom: 12px;
}

label.chkbox {
    display: flex;
    width: 100%;
    line-height: 1.3;
    column-gap: 8px;
}

.sideSearch input[type="checkbox"] {
    display: inline-block;
    vertical-align: middle;
    width: 17px;
    height: 17px;
    margin-top: 2px;
}

ul.sideSearchChks li,
ul.sideSearchChks2 li {
    margin-top: 8px;
}

/*----------------
.ac-wrap（もっと見る）
-----------------*/

.ac-wrap {
    position: relative;
    padding-bottom: 45px;
    border-bottom: 1px solid;
    border-color: var(--blue30);
}

/* ボタン */
.ac-btn {
    bottom: 8px;
    cursor: pointer;
    display: inline-block;
    font-size: 1.6rem;
    color: var(--blue30);
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    text-align: center;
    transition: all .2s;
    width: fit-content;
    z-index: 1;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    column-gap: 6px;
}

.ac-btn::after {
    content: "もっと見る";
}

.ac-btn:hover {
    opacity: 0.8;
}

.ac-text {
    overflow: hidden;
    position: relative;
}

/* 最初に見えてるテキストエリアの高さ */
.ac-text.is-hide {
    height: 240px;
}

/* 閉じるボタンの表記 */
.ac-btn.is-show::after {
    content: "とじる";
}

.i_box {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 18px;
    height: 18px;
    background-color: var(--blue30);
    border-radius: 50%;
    box-sizing: border-box;
}

.i_box:before {
    position: absolute;
    content:'';
    top: 8px;
    left: 4px;
    width: 10px;
    height: 2px;
    background-color:#fff;
    transform: rotate(90deg);
    transition: all .3s ease-in-out;
}

.i_box:after{
    position: absolute;
    content: '';
    top: 8px;
    left: 4px;
    width: 10px;
    height: 2px;
    background-color:#fff;
    transition: all .3s ease-in-out;
}

.is-show .i_box:before {
    transform: rotate(180deg);
}

.is-show .i_box:after {
    opacity:0;
}

.twoColumnPageSide .noUi-horizontal .noUi-handle {
    width: 16px;
    height: 16px;
}

.twoColumnPageSide .noUi-horizontal .noUi-handle {
    right: -14px;
}

/*----------------
pageNavi(Local Menu)
------------------*/

.prodNaviWrap {
    width: var(--vw, 100%);
    margin-left:  calc(50% - (var(--vw, 100%) / 2));
    margin-right: calc(50% - (var(--vw, 100%) / 2));
    
    background-color: var(--cloud10);
    box-shadow: var(--shadow25-nano);
    padding-top: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid;
    border-color: var(--cloud30);
}

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

.prodNavi .prodNaviState {
    width: 43.5%;
    display: flex;
    align-items: center;
    column-gap: 12px;
}

.prodNavi .prodNaviState .prod_img {
    width: 67px;
}

.prodNavi .prodNaviState .prod_name span {
    display: block;
    font-size: 1.4rem;
    line-height: 1.4;
}

.prodNavi .prodNaviState .prod_name p {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.4;
}

.prodNavi .prodNaviLinks {
    width: 54%;
}


@media screen and (min-width:768px) {
    .prodNavi .prodNaviLinks ul {
        display: flex;
        width: fit-content;
        margin-left: auto;
        flex-wrap: wrap;
        justify-content: flex-end;
        column-gap: 7px;
        row-gap: 6px;
    }
    .prodNavi .prodNaviLinks ul li {
        width: 156px;
    }
    .prodNavi .prodNaviLinks ul li:nth-child(4n) {
        margin-right: 0;
    }
    .prodNavi .prodNaviLinks ul li a {
        width: 100%;
        min-height: 26px;
        background-color: #fff;
        border: 1px solid;
        border-color: var(--cloud30);
        font-size: 1.2rem;
        font-weight: 500;
        padding: 0 15px 0 15px;
        border-radius: 30px;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1.2;
        letter-spacing: 0.001em;
    }
    .prodNavi .prodNaviLinks ul li a:after {
        content: '';
        display: inline-block;
        vertical-align: middle;
        width: 7px;
        height: 7px;
        border: 0;
        border-top: solid 1px;
        border-right: solid 1px;
        border-color: var(--blue40);
        transform: rotate(45deg);
        position: absolute;
        top: 0;
        bottom: 0;
        right: 7px;
        margin: auto;
    }
    .prodNavi .prodNaviLinks ul li a.act {
        background-color: var(--blue40);
        color: #fff;
        border-color: var(--blue40);
        pointer-events: none
    }
    .prodNavi .prodNaviLinks ul li a.act:after {
        border-color: #fff;
    }
    .prodNavi .prodNaviLinks ul li a:hover {
        border-color: var(--blue40);
        color: var(--blue40);
        outline: 1px solid var(--blue40);
        outline-offset: 0;
    }
/*
    .prodNavi .prodNaviLinks ul li a:hover::before {
        content: '';
        display: block;
        width: 100%;
        height: 100%;
        border: 1px solid;
        border-color: var(--blue40);
        border-radius: 30px;
        background-color: transparent;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        visibility: hidden;
        transition: all .3s ease-in-out;
    }
    .prodNavi .prodNaviLinks ul li a:hover::before {
        opacity: 1;
        visibility: visible;
    }
*/
}



/*
.prodNavi .prodNaviLinks ul li a:hover::after {
    border-color: #fff;
}
*/

.prodNaviHamburger {
    display: none;
}

.downloadTable_action .cadDownloadPosition,
.downloadTable_action .cadDownloadListPosition {
    width: 56px;
}

.downloadTable_action .cadDownloadBtn:hover .cadDownBorderOne,
.downloadTable_action .cadDownloadListBtn:hover .cadDownloadBorder {
    border-right: 1px solid var(--hot30);
}

.downloadTable_action .cadDownloadBorder {
    border-right: 1px solid var(--hot30);
}

.cadDownloadBtnNarrow {
    width: 56px !important;
}

/*----------------
cate.css_start
------------------*/

table.tableCheckList {
    table-layout: auto !important;
    white-space: initial;
}

ul.cate_top01_l_spec.col2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.scroll_table.scroll_table_half table {
    min-width: 634px;
    width: 50%;
}

.langCheckboxWrap form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.langCheckbox {
    margin-top: 0 !important;
}

.scroll_table {
    white-space: normal !important;
}

.group-label {
    width: 130px;
    flex-shrink: 0;
}

.numOfInverter {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.8px;
    margin-bottom: 16px;
}

ul.banlinks a.myPageBanLinkNarrow {
    padding: 19px 40px 20px 30px;
}


.js-button {
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: 11px 50px 11px 40px;
    border: 1px solid var(--blue40);
    border-radius: 6px;
    color: #fff;
    font-weight: 500;
    margin: 0 auto;
    width: fit-content;
    min-width: 200px;
    box-shadow: var(--shadow15-small);
    position: relative;
    margin: 56px auto;
    transition: all 0.3s ease;
    background-color: var(--blue40);
    color: #fff;
    background-image: linear-gradient(90deg, #fff 0 0);
    background-repeat: no-repeat;
    background-size: 0% 100%;      /* ←ここがポイント */
    background-position: left top;
    transition: background-size .4s ease, color .3s ease, box-shadow .3s ease, border-color .3s ease;
    border-color: var(--blue40);
}

.js-button-more:hover,
.js-button-more:focus-visible{
    background-size: 100% 100%;  /* 左→右に白で塗る */
    color: var(--blue40);
}

.js-button-more:hover::after {
    position: absolute;
    content: "";
    background: url("/assets/img/common/ic_add_circle_hov.svg") no-repeat center center / cover;
    width: 24px;
    height: 24px;
    top: 50%;
    transform: translateY(-50%);
    right: 16px;
    transition: all 0.3s ease;
}

.js-button-close {
    background: #fff;
    border: 1px solid var(--blue40);
    color: var(--blue40);
}

.js-button::after {
    position: absolute;
    content: "";
    background: url("/assets/img/common/ic_add_circle.svg") no-repeat center center / cover;
    width: 24px;
    height: 24px;
    top: 50%;
    transform: translateY(-50%);
    right: 16px;
    transition: all 0.3s ease;
}

.js-button-close::after {
    position: absolute;
    content: "";
    background: url("/assets/img/common/ic_back_circle.svg") no-repeat center center / cover;
    width: 20px;
    height: 20px;
    top: 50%;
    transform: translateY(-50%);
    right: 16px;
    transition: all 0.3s ease;
}



/*----------------
cate.css_end
------------------*/

/*----------------
pm-motor.css_start
------------------*/

.torque-img-wrapper {
    display: flex;
    gap: 40px;

}

/*----------------
pm-motor.css_end
------------------*/

/*----------------
servo.css_start
------------------*/

.Servotable.Servotable_small {
    max-width: 1010px !important;
}

.h32 {
    height: 32px !important;
}

/*----------------
servo.css_end
------------------*/

/*----------------
solution.css_start
------------------*/

.checkbox:checked::after {
    content: "";
    position: absolute;
    top: 4px!important;
    left: 3px;
    width: 10px;
    height: 5px;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(-45deg);
}


.searchFilterButtons {
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    margin: 12px auto 32px;
    gap: 16px;
    padding: 0 24px;
    border-left: 1px solid var(--cloud30);
    border-right: 1px solid var(--cloud30);
  }
  
  .searchFilterButtonsText {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.8px;
  }
  
  .searchFilterButtonsText span {
    font-size: 2.4rem;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.8px;
    color: var(--blue40);
  }
  
  .searchFilterButtons button {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.8px;
    color: var(--blue40);
    cursor: pointer;
    width: 215px;
    padding: 14px 0;
    border: 1px solid var(--blue40);
    border-radius: 6px;
    box-shadow: var(--shadow15-small);
    transition: all 0.3s ease;
    background-color: #fff;
  }
  
  .searchFilterButtons button:hover,
  .searchFilterButtons button:focus-visible {
    box-shadow: var(--shadow30-mid);
  }
  

/*----------------
solution.css_end
------------------*/

/*----------------
school.css_start
------------------*/

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

.recommendInnerBtns {
    display: flex;
    align-items: center;
    gap: 16px;
}

.recommendInnerBtn--switch {
    font-size: 1.4rem;
    font-weight: 400;
}

.recommendInnerBtn {
    position: relative;
    border-radius: 3px;
    border: 1px solid var(--cloud30);
    padding: 7px 12px 7px 34px;
    font-size: 1.6rem;
    font-weight: 500;
    transition: all 0.2s ease-out;
}

.recommendInnerBtn::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 10px;
    width: 17px;
    height: 17px;
    background: url(/assets/img/common/card.svg) no-repeat center center / cover;
}

.recommendInnerBtn--list::before {
    background: url(/assets/img/common/list.svg) no-repeat center center / cover;
    height: 13px;
}

.recommendInnerBtn.is-active {
    background-color: var(--blue00);
    color: var(--blue40);
    border-color: var(--blue40);
}

.recommendInnerBtn--list.is-active::before {
    background: url(/assets/img/common/list-blue.svg) no-repeat center center / cover;
}

.recommendInnerBtn--card.is-active::before {
    background: url(/assets/img/common/card-blue.svg) no-repeat center center / cover;
}

.recommendInnerBtn:hover,
.recommendInnerBtn:focus-visible {
  border-color: var(--blue40);
  outline: 1px solid var(--blue40);
  outline-offset: 0;
}

.recommendInnerBtn.active {
  color: var(--blue40);
  border-color: var(--blue40);
  background-color: var(--blue00);
}

.recommendInnerBtn--card.active::before {
  background-image: url(/assets/img/common/card-blue.svg);
}

.recommendInnerBtn--list.active::before {
  background-image: url(/assets/img/common/list-blue.svg);
}

/*----------------
school.css_end
------------------*/

/*----------------
inverter.css_start
------------------*/

.checkboxWrapper {
    gap: 20px 8px !important;
}

.checkboxWrapper label.radioFlex {
    align-items: baseline;
}

.checkboxWrapper label > .checkbox {
    top: 3px !important;
}

.checkboxWrapper label {
    align-items: baseline !important;
}

.radioFlex .radio {
    top: 30% !important;
}

/*----------------
inverter.css_end
------------------*/

/*----------------
Download Table - mypage.html
------------------*/

.downloadTable th {
    background-color: var(--cloud10);
    vertical-align: top;
    font-weight: 500;
}

.downloadTable td {
    padding: 20px 12px;
    border-bottom: 1px solid var(--cloud30);
    border-right: none;
    border-left: none;
    vertical-align: middle;
}

.downloadTable_type {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.5;
    padding: 0 !important;
}

.downloadTable_fileContent {
    display: flex;
    align-items: center;
    gap: 24px;
}

.downloadTable_fileIcon {
    max-width: 60px;
}

.downloadTable_fileIcon img {
    aspect-ratio: 60 / 85;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.downloadTable_fileName {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.8px;
}

.downloadTable_date {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
}

.cadDownloadBorder.downloadTable_addBtn {
    border: 1px solid var(--hot40);
    margin: 0 auto;
    display: block;
    transition: all 0.3s ease;
}

.cadDownloadBorder.downloadTable_addBtn:hover,
.cadDownloadBorder.downloadTable_addBtn:focus-visible {
    background-color: var(--hot30);
    color: #fff;
}

.cadDownloadBorder.downloadTable_addBtn:hover .cadArrSec {
    display: none;
}

.cadDownloadBorder.downloadTable_addBtn:hover .cadArrHoverSec {
    display: block;
}

.downloadTable_file {
    padding: 8px 18px !important;
}

/* Download Table - fileTypeDiv positioning */
.downloadTable .fileTypeDiv {
    width: 19.7rem;
    top: 38px;
    left: 0;
}

.downloadTable .fileTypeDivTwo {
    width: 26rem;
    top: 38px;
    right: 0;
}

/* Download Table - Last rows adjustment */
.downloadTable tr:nth-last-child(-n+3) .fileTypeDiv,
.downloadTable tr.is-last-three .fileTypeDiv {
    top: auto;
    bottom: 47px;
    z-index: 999;
}

.downloadTable tr:nth-last-child(-n+3) .fileTypeDivTwo,
.downloadTable tr.is-last-three .fileTypeDivTwo {
    top: auto;
    bottom: 47px;
    z-index: 999;
}

/* Fix dropdown overflow when js-button is closed */
/*
.downloadTable.js-scroll {
    overflow: visible !important;
}
*/

.link_btn01.myPageBtn {
    margin: 5.6rem auto 0;
}

/*----------------
Download Table end
------------------*/

.inverterCompareTable table {
    min-width: initial !important;
    width: fit-content !important;
}

.rangeListPm.specSearch {
    display: flex;
    justify-content: space-around;
}


.motorLineupItemWrap {
    gap: 0 35px !important;
}

.motorLineupItemWrap .productModelBtn {
    border-top: 3px solid var(--cloud20) !important;
    border-bottom: 3px solid var(--cloud20) !important;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.motorLineupItemWrap .lineupItem {
    width: 582px !important;
    max-width: 100% !important;
}

.motorLineupItemWrap .productModelBtnImage {
    margin: 0 auto;
}

.motorLineupItemWrap .productModelBtnLink {
    max-width: 100% !important;
}

.motorLineupItemWrap .productModelBtnRange {
    padding-top: 2.4rem;
    margin-top: auto;
}

.specSearch .checkboxWrapper {
    gap: 8px !important;
}

/*----------------
lineupItem hover
------------------*/

.lineupItem--hover:has(.lineupItemLinkHover:hover) {
    color: var(--blue40);
    box-shadow: var(--shadow30-mid) !important;
    border: 1px solid var(--blue40);
    outline: 1px solid var(--blue40);
    outline-offset: 0;
}

.tab_main .lineupItemWrap .lineupItemLinkHover:hover .tit,
.tab_main .lineupItemWrap .lineupItemLinkHover:focus-visible .tit,
.lineupItemLinkHover:hover .lineupItemContText,
.lineupItemLinkHover:focus-visible .lineupItemContText {
    color: var(--blue40) !important;
}

.lineupItemLinkHover:hover .lineupItemContText,
.lineupItemLinkHover:focus-visible .lineupItemContText {
    border-bottom: 1px solid var(--blue40) !important;
}

.lineupItemLinkHover .lineupItemContText {
    transition: all 0.3s ease;
}

.tab_main .lineupItemWrap .lineupItem--hover .bottom {
    border-top: none !important;
    margin-top: 0;
}

.tab_main .lineupItemWrap .lineupItem--hover .bottomWrap {
    margin-top: 0 !important;
}

.lineupItem--hover .lineupItemContText {
    border-bottom: 1px solid var(--cloud20) !important;
    padding-bottom: 16px;
    transition: all 0.3s ease;
}

.lineupItemWrap .lineupItem--hover {
    width: 376px;
    max-width: 31.33%;
    border: 1px solid;
    border-color: var(--cloud20);
    box-shadow: var(--shadow30-mini);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    transition: all 0.2s ease-out;
    position: relative;
}

.lineupItem--hover .lineupItemContText,
.lineupItem--hover .bottom p {
    margin: 0 16px;
}

.lineupItemWrap--inverter .lineupItem--hover .lineupItemContTextWrap {
    padding: 0 !important;
    margin-top: 0 !important;
    padding: 0 !important;
}

.lineupItemWrap--inverter .lineupItem--hover .tab_main .lineupItemWrap .bottomWrap {
    margin-top: 0;
}

.lineupItemLinkHoverBottom {
    display: block;
    margin: 0 auto 20px;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.30);
    padding: 16px;
    transition: all 0.3s ease;
    border: 1px solid transparent;
    width: 99%;
}

.lineupItemLinkHoverBottom:hover,
.lineupItemLinkHoverBottom:focus-visible {
    box-shadow: var(--shadow30-mid-small);
    border: 1px solid var(--blue40);
    outline: 1px solid var(--blue40);
    outline-offset: 0;
}

.tab_main--inverter .lineupItem--hover .tit {
    position: relative;
    padding: 16px 16px;
    font-size: 2.4rem;
    font-weight: 700;
}

.tab_main--inverter .tit::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 10px;
    height: 10px;
    border: 0;
    border-top: solid 2px;
    border-right: solid 2px;
    border-color: var(--blue40);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
}

.faqRobotCheckBoxWrap {
    padding: 3.4rem 45px !important;
}

.faqRobotCheckBoxWrap .faqRobotWrap label {
    cursor: pointer;
}

.faqRobotCheckBox {
    position: relative;
}

.faqRobotCheckBoxesWrap {
    display: none;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    margin-top: -1px;
    border: 1px solid var(--blue40);
    background-color: var(--cloud10);
    padding: 3.4rem 45px;
    box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.15) inset;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.3s ease, max-height 0.3s ease, padding 0.3s ease;
}

.faqRobotCheckBoxesWrap.is-visible {
    display: flex;
    opacity: 1;
    max-height: 1000px;
    padding: 3.4rem 45px;
}

.last.faqRobotCheckBoxes {
    border-top: 1px solid var(--cloud30);
    width: 100%;
}

.faqRobotCheckBoxesWrap .checkboxes {
    column-gap: 40px;
}

.faqRobotCheckBoxesWrap .checkboxes div {
    display: flex;
    gap: 8px;
    align-items: center;
}

.faqRobotResultTxtMod {
    padding-bottom: 16px;
    border-bottom: 1px solid var(--cloud30);
}

.SearchRobotItems {
    margin-top: 16px !important;
}

.faqRobotResultTxtModWrap .faqSearchResultItemsBox .SearchRobotItems li a {
    color: var(--blue40) !important;
}
.faqRobotResultTxtModWrap ul li a::after {
    display: none !important;
}

/*qualy-subset.css*/

a.fullTextDiv {
    padding: 27px 10px 27px!important;
}

















/*----------------
logged_in start
------------------*/

/* コンテナ */
.h_top_link.logged_in {
    position: relative;
}

.h_top_link.logged_in > button {
    display: flex;
    gap: 1px 4px;
    align-items: center;
}

.h_top_link.logged_in > button span {
    font-size: clamp(1.2rem, calc(1rem + 0.4vw), 1.6rem);
/*    white-space: nowrap;*/
    font-weight: 500;
}

.h_top_link.logged_in > button img {
    width: 16px;
}

@media screen and (min-width: 768px) and (max-width: 979px) {
    .h_top_link.logged_in > button {
        flex-direction: column-reverse;
    }
}


.logged_in:hover button span {
    color: var(--blue40);
}

/* ---------- メニュー本体 ---------- */
.logged_in_menus {
    width: 251px;
    background-color: var(--cloud10);
    position: absolute;
    top: 100%;
    right: 0;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);
/*    padding: 15px 32px 24px 32px;*/
    overflow: hidden;
    max-height: 0;
    transition: max-height .3s ease;
    z-index: 98;
    opacity: 0;
    pointer-events: none;
    border-top: 2px solid var(--blue30);
    margin-top: 8px;
}

/* 開いている時 */
.logged_in_menus.open {
  opacity: 1;
  pointer-events: auto;
}

.logged_in_user_wrap {
/*    padding-bottom: 8px;*/
    padding: 15px 24px 8px 24px;
    border-bottom: 1px solid var(--cloud20);
}

.h_top_link a.logged_in_user {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.logged_in_user > div {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    column-gap: 6px;
}

.logged_in_user_name {
    font-weight: 500;
}

.logged_in_user_wrap .mypage_link {
    color: var(--blue30);
    text-decoration: underline;
    text-align: right;
    display: flex;
    justify-content: flex-end;
    font-weight: 500;
}

.logged_in_user_wrap .mypage_link:hover {
    color: #212121;
}

.logged_in_menus_list {
    padding: 16px 24px 16px 24px;
    display: flex;
    flex-direction: column;
    row-gap: 8px;
}

.logged_in_menus_list li a {
    display: flex;
    align-items: center;
    column-gap: 12px;
}

.logged_in_menus_list li a img {
    width: 24px;
    margin: 0;
}

.logged_in_menus_list li a span {
    font-weight: 500;
}

.logged_in_menus_textlinks {
    padding: 0 24px 24px 24px;
}

.logged_in_menus_textlinks a {
    font-size: 1.4rem;
    padding: 4px 4px 4px 2px;
}

.logged_in_menus_textlinks a:hover {
    color: var(--blue40);
}

.logged_in_menus_textlinks a:after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: solid 2px var(--blue40);
    border-right: solid 2px var(--blue40);
    transform: rotate(45deg);
    margin-left: 8px;
}

/*----------------
logged_in end
------------------*/

.tag {
  display: inline-block;
  padding: 3px 12px;
  border: 1px solid var(--blue10);
  border-radius: 999px;
  font-weight: 400;
  line-height: 1.5;
  font-size: 1.4rem;
  color: var(--blue30);
  background-color: #fff;
}

.tag:hover,
.tag:hover,
.tag:focus-visible {
  opacity: 1;
  background-color: var(--blue00);
  box-shadow: var(--shadow15-small);
}

textarea::placeholder {
    color: #b3b4b5!important;
    opacity: 1;
}


