@layer base, layout, module, utility;
@layer base{
  :root{
    --MAJOR_BREAKPOINT:768px;
    --MINOR_BREAKPOINT:1024px;
    --COLOR_BASE_LIGHT:#fff;
    --COLOR_PRIMARY:#115fad;
    --COLOR_ACCENT:#f57c31;
    --COLOR_BG:#f5faff;
    --COLOR_GRAY_1:#f5f5f5;
    --COLOR_GRAY_2:#d9d9d9;
    --COLOR_ACTIVE:#2ebbc2;
    --COLOR_INACTIVE:#95989a;
    --COLOR_FONT:#333;
    --OUTSIDE_GUTTER_SP:16px;
    --OUTSIDE_GUTTER_PC:64px;
    --CONTENT_WIDTH_SP:calc(375px - var(--OUTSIDE_GUTTER_SP)*2);
    --CONTENT_WIDTH_PC:1080px;
    --FONT_SIZE:1.4rem;
    --FONT_FAMILY:"Noto Sans JP", sans-serif;
    --FONT_FAMILY_TITLE:"M PLUS 1", var(--FONT_FAMILY);
    --FONT_WEIGHT_NORMAL:400;
    --FONT_WEIGHT_BOLD:700;
    --LINE_HEIGHT:1.5;
    --OPACITY:0.7;
    --TRANSITION:0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    --HEADER_HEIGHT:57px;
    --HEADER_AUTHENTICATION_HEIGHT:53px;
    --Z_INDEX_HEADER:3000;
    --Z_INDEX_HEADER_OVERLAY:2000;
    --Z_INDEX_DEFAULT:1;
    --Z_INDEX_BEHIND:-1;
    --Z_INDEX_OVERLAY:100;
  }
  body[data-page-theme=abroad]{
    --COLOR_PRIMARY:#1f919f;
    --COLOR_BG:#f3fafa;
    --COLOR_ACTIVE:#f57c31;
  }
  *,:after,:before{
    box-sizing:border-box;
  }
  ::backdrop{
    background-color:#00000080;
  }
  html{
    font-size:62.5%;
    height:100%;
    margin:0;
    padding:0;
    scroll-behavior:smooth;
    scroll-padding-top:var(--HEADER_HEIGHT);
  }
  html:has(dialog[open]){
    scrollbar-gutter:stable;
  }
  body{
    font-family:var(--FONT_FAMILY);
    font-size:var(--FONT_SIZE);
    height:100%;
    line-height:var(--LINE_HEIGHT);
    overflow-x:clip;
    padding:0;
  }
  body,h1,h2,h3,h4,h5{
    margin:0;
  }
  dd,dl,dt,li,ol,p,ul{
    margin:0;
    padding:0;
  }
  ol[class],ul[class]{
    list-style:none;
  }
  em,strong{
    font-style:normal;
    font-weight:700;
  }
  sub,sup{
    font-size:75%;
  }
  a{
    color:inherit;
    text-decoration:none;
  }
  a:where(img){
    pointer-events:none;
  }
  img,svg{
    height:auto;
    width:auto;
  }
  iframe,img,svg{
    max-width:100%;
    vertical-align:bottom;
  }
  iframe{
    border:0;
  }
  table{
    border-collapse:collapse;
  }
  ::placeholder{
    opacity:1;
  }
  label{
    cursor:pointer;
  }
  [type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select{
    line-height:1;
  }
  [type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{
    appearance:none;
    border-radius:0;
    color:currentColor;
    font-size:1.6rem;
  }
  [type=date]::-webkit-clear-button,[type=date]::-webkit-inner-spin-button{
    appearance:none;
  }
  [type=date]::-webkit-calendar-picker-indicator{
    height:100%;
    left:0;
    opacity:0;
    padding:0;
    position:absolute;
    top:0;
    width:100%;
  }
  button,input[type=button]{
    appearance:none;
    background-color:initial;
    border:0;
    color:inherit;
    cursor:pointer;
    font-family:inherit;
    font-size:inherit;
    line-height:inherit;
    margin:0;
    padding:0;
    text-align:start;
  }
  textarea{
    overflow-x:hidden;
    overflow-y:auto;
    resize:vertical;
  }
  summary{
    cursor:pointer;
    list-style:none;
  }
  summary::-webkit-details-marker{
    display:none;
  }
  [hidden=hidden]{
    display:none !important;
  }
  @font-face{
    font-display:swap;
    font-family:Noto Sans JP;
    font-weight:400;
    src:local("Noto Sans JP"), url(/conts/global/2028/font/NotoSansJP-Regular.woff2) format("woff2");
  }
  @font-face{
    font-display:swap;
    font-family:Noto Sans JP;
    font-weight:700;
    src:local("Noto Sans JP Bold"), url(/conts/global/2028/font/NotoSansJP-Bold.woff2) format("woff2");
  }
  @font-face{
    font-display:swap;
    font-family:M PLUS\ 1;
    font-weight:700;
    src:url(/conts/global/2028/font/MPLUS1-Bold.woff2) format("woff2");
  }
}
@layer layout{
  .l-wrap{
    min-height:100%;
    width:100%;
  }
  .l-svg{
    display:none;
  }
  .l-content__inner{
    padding:40px var(--OUTSIDE_GUTTER_SP) 24px;
  }
  .l-content__inner>:first-child{
    margin-top:0 !important;
  }
  .l-content__inner>:last-child{
    margin-bottom:0;
  }
  .l-content__inner:has(.m-panel-pr){
    padding-top:24px;
  }
  .l-content__inner_narrow{
    margin-inline:auto;
    max-width:1000px;
  }
  .l-header{
    background-color:var(--COLOR_BASE_LIGHT);
    display:flex;
    flex-direction:column;
    justify-content:center;
    left:0;
    position:sticky;
    top:0;
    z-index:var(--Z_INDEX_HEADER);
  }
  .l-header:after{
    bottom:0;
    box-shadow:0 3px 2px 0 #91919129;
    content:"";
    height:4px;
    left:0;
    position:absolute;
    width:100%;
  }
  .l-header__inner{
    align-items:center;
    background-color:var(--COLOR_BASE_LIGHT);
    display:grid;
    gap:var(--OUTSIDE_GUTTER_SP);
    grid-template-columns:1fr auto auto;
  }
  .l-header-logo{
    align-items:center;
    column-gap:4px;
    display:flex;
  }
  .l-header-logo__img{
    display:block;
    height:14px;
    object-fit:contain;
  }
  .l-header-logo__img--global{
    height:41px;
  }
  .l-header-menu__button{
    background-color:var(--COLOR_BG);
    height:57px;
    padding:12px 13px;
    width:56px;
  }
  .l-header-menu__button-inner{
    --height-line:2px;
    --gap-line:5px;
    display:block;
    height:100%;
    position:relative;
  }
  .l-header-menu__button-text{
    bottom:0;
    color:var(--COLOR_PRIMARY);
    font-size:1rem;
    font-weight:var(--FONT_WEIGHT_BOLD);
    left:0;
    line-height:1;
    position:absolute;
    text-transform:uppercase;
  }
  .l-header-menu__button-line{
    color:#0000;
    font-size:0;
    top:calc(var(--height-line) + var(--gap-line));
  }
  .l-header-menu__button-line,.l-header-menu__button-line:after,.l-header-menu__button-line:before{
    background-color:var(--COLOR_PRIMARY);
    height:var(--height-line);
    left:0;
    position:absolute;
    width:30px;
  }
  .l-header-menu__button-line:after,.l-header-menu__button-line:before{
    border-radius:100vmax;
    content:"";
    display:block;
    top:0;
    transition:transform var(--TRANSITION), rotate var(--TRANSITION);
  }
  .l-header-menu__button-line:before{
    transform:translateY(calc((var(--height-line) + var(--gap-line))*-1));
  }
  .l-header-menu__button-line:after{
    transform:translateY(calc(var(--height-line) + var(--gap-line)));
  }
  .l-header-menu__button[aria-expanded=true] .l-header-menu__button-line{
    background-color:initial;
  }
  .l-header-menu__button[aria-expanded=true] .l-header-menu__button-line:before{
    transform:rotate(45deg);
  }
  .l-header-menu__button[aria-expanded=true] .l-header-menu__button-line:after{
    transform:rotate(-45deg);
  }
  .l-header-global-nav{
    display:contents;
  }
  .l-header-global-nav__list{
    background-color:var(--COLOR_BASE_LIGHT);
  }
  .l-header-global-nav__button,.l-header-global-nav__link{
    align-items:center;
    column-gap:8px;
    display:flex;
    font-weight:var(--FONT_WEIGHT_BOLD);
    height:100%;
    justify-content:space-between;
    line-height:2;
    outline-offset:-1px;
    padding-block:10px;
    transition:color var(--TRANSITION), background-color var(--TRANSITION);
    width:100%;
  }
  .l-header-global-nav__button[aria-expanded=true]{
    background-color:var(--COLOR_BG);
    color:var(--COLOR_PRIMARY);
  }
  .l-header-global-nav__link-icon:after{
    background-color:var(--COLOR_BASE_LIGHT);
    content:"";
    height:7px;
    inset:0;
    margin:auto;
    mask-image:url(/conts/global/2028/img/icon/arrow.svg);
    mask-position:center;
    mask-repeat:no-repeat;
    mask-size:contain;
    position:absolute;
    rotate:90deg;
    width:6px;
  }
  .l-header-global-nav__content-inner{
    overflow:hidden;
  }
  .l-header-global-nav__level2{
    border-bottom:1px solid var(--COLOR_GRAY_2);
    padding-block:24px;
  }
  .l-header-global-nav__level2-head-link{
    align-items:center;
    column-gap:6px;
    display:flex;
    flex-direction:row-reverse;
    justify-content:flex-end;
    line-height:1.8;
    outline-offset:-1px;
    padding-inline:10px;
    position:relative;
    transition:color var(--TRANSITION);
  }
  .l-header-global-nav__level2-head-link-notice{
    display:block;
    font-size:1.2rem;
    font-weight:400;
  }
  .l-header-global-nav__level2-head-link-icon{
    position:relative;
  }
  .l-header-global-nav__level2-head-link-icon:before{
    background-color:var(--COLOR_PRIMARY);
    content:"";
    display:block;
    flex-shrink:0;
    height:8px;
    mask-image:url(/conts/global/2028/img/icon/arrow.svg);
    mask-position:center;
    mask-repeat:no-repeat;
    mask-size:contain;
    rotate:90deg;
    width:6px;
  }
  .l-header-global-nav__level2-body{
    overflow:auto;
  }
  .l-header-global-nav__level2-button{
    --padding-inline:10px;
    align-items:center;
    column-gap:7px;
    display:flex;
    line-height:1.8;
    margin-top:8px;
    padding-inline:var(--padding-inline);
    position:relative;
    text-align:start;
    transition:background-color var(--TRANSITION);
    width:100%;
  }
  .l-header-global-nav__level2-button:before{
    border-bottom:1px solid var(--COLOR_PRIMARY);
    border-right:1px solid var(--COLOR_PRIMARY);
    content:"";
    display:block;
    flex-shrink:0;
    height:5px;
    position:relative;
    rotate:45deg;
    width:5px;
  }
  .l-header-global-nav__level2-button[aria-expanded=true]{
    background-color:var(--COLOR_BG);
    color:var(--COLOR_PRIMARY);
    font-weight:var(--FONT_WEIGHT_BOLD);
    padding-block:8px 4px;
  }
  .l-header-global-nav__level2-button[aria-expanded=true]:before{
    rotate:225deg;
  }
  .l-header-global-nav__level2-button[aria-expanded=true]:after{
    background-color:var(--COLOR_GRAY_2);
    bottom:0;
    content:"";
    height:1px;
    left:var(--padding-inline);
    position:absolute;
    width:calc(100% - var(--padding-inline)*2);
  }
  .l-header-global-nav__level2-link{
    align-items:center;
    column-gap:6px;
    display:flex;
    line-height:1.8;
    margin-top:8px;
    outline-offset:-1px;
    padding-inline:10px;
    transition:background-color var(--TRANSITION);
  }
  .l-header-global-nav__level2-link:before{
    background-color:var(--COLOR_PRIMARY);
    content:"";
    flex-shrink:0;
    height:8px;
    mask-image:url(/conts/global/2028/img/icon/arrow.svg);
    mask-position:center;
    mask-repeat:no-repeat;
    mask-size:contain;
    rotate:90deg;
    width:6px;
  }
  .l-header-global-nav__level3{
    overflow:hidden;
  }
  .l-header-global-nav__level3-list{
    display:flex;
    flex-direction:column;
    padding:8px 10px;
    row-gap:8px;
  }
  .l-header-global-nav__level3-link{
    align-items:center;
    column-gap:6px;
    display:flex;
    line-height:1.8;
    outline-offset:-1px;
    padding-inline:10px;
  }
  .l-header-global-nav__level3-link:before{
    background-color:var(--COLOR_PRIMARY);
    content:"";
    flex-shrink:0;
    height:8px;
    mask-image:url(/conts/global/2028/img/icon/arrow.svg);
    mask-position:center;
    mask-repeat:no-repeat;
    mask-size:contain;
    rotate:90deg;
    width:6px;
  }
  .js-dropdown__overlay{
    background-color:#000;
    height:100dvh;
    left:0;
    opacity:0;
    position:fixed;
    top:0;
    transition:visibility var(--TRANSITION), opacity var(--TRANSITION);
    visibility:hidden;
    width:100%;
    z-index:var(--Z_INDEX_HEADER_OVERLAY);
  }
  .js-dropdown__overlay.is-shown{
    opacity:.2;
    visibility:visible;
  }
  .l-header-utility__lang{
    align-items:center;
    border:2px solid var(--COLOR_PRIMARY);
    border-radius:100vmax;
    color:var(--COLOR_PRIMARY);
    display:flex;
    flex-shrink:0;
    font-weight:var(--FONT_WEIGHT_BOLD);
    height:36px;
    justify-content:center;
    width:36px;
  }
  :where(body[data-japanese-only=true]) .l-header-utility__lang{
    display:none;
  }
  .l-header-utility__authentication{
    bottom:0;
    display:flex;
    height:var(--HEADER_AUTHENTICATION_HEIGHT);
    left:0;
    position:fixed;
    width:100%;
  }
  .l-header-utility__authentication-link{
    align-items:center;
    background-color:var(--COLOR_PRIMARY);
    color:var(--COLOR_BASE_LIGHT);
    column-gap:8px;
    display:flex;
    font-weight:var(--FONT_WEIGHT_BOLD);
    height:100%;
    justify-content:center;
    padding:16px;
    width:100%;
  }
  .l-header-utility__authentication-link--accent{
    background-color:var(--COLOR_ACCENT);
  }
  .l-header-utility__authentication-icon{
    --size-circle:18px;
    background-color:var(--COLOR_BASE_LIGHT);
    border-radius:100vmax;
    flex-shrink:0;
    height:var(--size-circle);
    position:relative;
    width:var(--size-circle);
  }
  .l-header-utility__authentication-icon:after{
    background-color:var(--COLOR_PRIMARY);
    content:"";
    height:7px;
    inset:0;
    margin:auto;
    mask-image:url(/conts/global/2028/img/icon/arrow.svg);
    mask-position:center;
    mask-repeat:no-repeat;
    mask-size:contain;
    position:absolute;
    rotate:90deg;
    width:6px;
  }
  .l-header-utility__authentication-link--accent .l-header-utility__authentication-icon:after{
    background-color:var(--COLOR_ACCENT);
  }
  /* 追従ボタン */
  .m-button__aus{
    bottom:0px;
    display:flex;
    height:var(--HEADER_AUTHENTICATION_HEIGHT);
    left:0;
    position:fixed;
    width:100%;
    background-color:var(--COLOR_ACTIVE);
  }
  .m-button--fill__aus{
    align-items: center;
    color: #fff;
    display: inline-flex;
    font-size: 1.4rem;
    font-weight: 700;
    justify-content: center;
    margin-inline: auto;
    min-height: 50px;
    position: relative;
    text-align: center;
    width: 100%;
    column-gap: 8px;
  }
  .m-button--fill__aus .l-header-utility__authentication-icon:after {
    background-color: var(--COLOR_ACTIVE);
  }
  .l-footer{
    padding-bottom:var(--HEADER_AUTHENTICATION_HEIGHT);
  }
  .l-footer-page-top{
    margin-top:40px;
    padding-left:16px;
    padding-right:16px;
  }
  .l-footer-page-top__link{
    border:2px solid var(--COLOR_PRIMARY);
    border-radius:100%;
    display:block;
    height:38px;
    margin-left:auto;
    position:relative;
    text-align:center;
    transition:background-color var(--TRANSITION);
    width:38px;
  }
  .l-footer-page-top__icon{
    inset:0;
    margin:auto;
    position:absolute;
    transform:rotate(-90deg);
  }
  .l-footer-page-top__icon-arrow{
    fill:var(--COLOR_PRIMARY);
    transition:fill var(--TRANSITION);
  }
  .l-footer-sns{
    margin-top:24px;
    padding-left:16px;
    padding-right:16px;
  }
  .l-footer-sns__text{
    color:var(--COLOR_FONT);
    font-size:var(--FONT_SIZE);
    font-weight:var(--FONT_WEIGHT_BOLD);
    text-align:center;
  }
  .l-footer-sns__list{
    display:flex;
    justify-content:center;
    margin-top:16px;
  }
  .l-footer-sns__item{
    margin-right:18px;
  }
  .l-footer-sns__item:last-child{
    margin-right:0;
  }
  .l-footer-sns__link{
    transition:opacity var(--TRANSITION);
  }
  .l-footer-link{
    background-color:var(--COLOR_BG);
    margin-top:24px;
  }
  .l-footer-link__inner{
    padding-left:16px;
    padding-right:16px;
  }
  .l-footer-link__list{
    display:flex;
    justify-content:center;
  }
  .l-footer-link__item{
    color:var(--COLOR_PRIMARY);
    font-weight:var(--FONT_WEIGHT_BOLD);
    margin-right:16px;
    text-align:center;
  }
  .l-footer-link__item:last-child{
    margin-right:0;
  }
  .l-footer-link__link{
    display:inline-block;
    font-size:1.2rem;
    padding:30px 8px;
    transition:background-color var(--TRANSITION), color var(--TRANSITION);
  }
  .l-footer-copyright{
    padding:30px 16px;
    text-align:center;
  }
  .l-footer-copyright__text{
    color:var(--COLOR_FONT);
  }
  .l-heading-level1{
    --height-wave:50px;
    column-gap:var(--OUTSIDE_GUTTER_SP);
    display:grid;
    grid-template-columns:1fr minmax(auto, var(--CONTENT_WIDTH_PC)) 1fr;
    grid-template-rows:40px auto 24px 40px auto;
  }
  .l-heading-level1:before{
    grid-row:1 /  4;
  }
  .l-heading-level1:after,.l-heading-level1:before{
    background-color:var(--COLOR_BG);
    content:"";
    grid-column:1 /  -1;
  }
  .l-heading-level1:after{
    grid-row:4 /  5;
    height:var(--height-wave);
    mask-image:url(/conts/global/2028/img/top/top-service-bg-02.webp);
    mask-position:top left;
    mask-repeat:no-repeat;
    mask-size:100% 100%;
    position:relative;
    z-index:var(--Z_INDEX_BEHIND);
  }
  .l-heading-level1__container{
    display:grid;
    grid-column:2 /  3;
    grid-row:2 /  -1;
    grid-template-rows:subgrid;
  }
  .l-heading-level1__container:before{
    background-color:var(--COLOR_BG);
    content:"";
  }
  .l-heading-level1__text-container{
    grid-row:1 /  2;
  }
  .l-heading-level1__heading{
    color:var(--COLOR_PRIMARY);
    font-size:3.2rem;
    font-weight:var(--FONT_WEIGHT_BOLD);
    letter-spacing:1.28px;
  }
  .l-heading-level1__heading-sub{
    font-size:2.4rem;
    font-weight:var(--FONT_WEIGHT_BOLD);
    letter-spacing:.96px;
    margin-top:8px;
  }
  .l-heading-level1__badge{
    background-color:var(--COLOR_PRIMARY);
    border-radius:20px;
    color:var(--COLOR_BASE_LIGHT);
    display:inline-block;
    margin-top:8px;
    padding:7px 18px;
  }
  .l-heading-level1__badge--active{
    background-color:var(--COLOR_ACTIVE);
  }
  .l-heading-level1__flag{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:10px;
    width:100%;
  }
  .l-heading-level1__flag-img{
    height:60px;
    width:90px;
  }
  .l-heading-level1__img-container{
    grid-row:3 /  -1;
  }
  .l-heading-level1__img--radius{
    border-radius:20px;
  }
  .l-heading-level1--rounded-bg{
    column-gap:0;
    grid-template-columns:var(--OUTSIDE_GUTTER_SP) 1fr var(--OUTSIDE_GUTTER_SP) var(--OUTSIDE_GUTTER_SP);
  }
  .l-heading-level1--rounded-bg:before{
    border-bottom-right-radius:50px;
    grid-column:1 /  4;
    grid-row:1 /  5;
  }
  .l-heading-level1--rounded-bg:after{
    display:none;
  }
  .l-heading-level1--rounded-bg .l-heading-level1__img-container,.l-heading-level1--rounded-bg .l-heading-level1__text-container{
    grid-template-columns:2/4;
  }
  .l-heading-level1--rounded-bg .l-heading-level1__image{
    border-radius:20px;
  }
  .l-heading-level1-rich{
    column-gap:var(--OUTSIDE_GUTTER_SP);
    display:grid;
    grid-template-columns:1fr minmax(auto, var(--CONTENT_WIDTH_PC)) 1fr;
    grid-template-rows:16px auto 16px auto 16px auto 40px auto;
  }
  .l-heading-level1-rich:before{
    grid-row:1 /  8;
  }
  .l-heading-level1-rich:after,.l-heading-level1-rich:before{
    background-color:var(--COLOR_BG);
    content:"";
    grid-column:1 /  -1;
  }
  .l-heading-level1-rich:after{
    grid-row:8 /  -1;
    height:40px;
    mask-image:url(/conts/global/2028/img/top/top-service-bg-02-pc.webp);
    mask-position:top left;
    mask-size:100% 100%;
  }
  .l-heading-level1-rich__container{
    display:grid;
    grid-column:2 /  3;
    grid-row:1 /  -1;
    grid-template-rows:subgrid;
  }
  .l-heading-level1-rich__heading{
    grid-row:2 /  3;
    margin-inline:auto;
    max-width:310px;
    width:100%;
  }
  .l-heading-level1-rich__heading-text{
    font-size:2.4rem;
    font-weight:var(--FONT_WEIGHT_BOLD);
    letter-spacing:1.28px;
  }
  .l-heading-level1-rich__heading-highlight{
    color:var(--COLOR_PRIMARY);
    font-size:3.2rem;
  }
  .l-heading-level1-rich__heading-sub-text{
    color:var(--COLOR_PRIMARY);
    font-size:1.4rem;
    font-weight:var(--FONT_WEIGHT_BOLD);
    letter-spacing:2.52px;
    margin-top:8px;
  }
  .l-heading-level1-rich__icon{
    align-items:flex-start;
    display:flex;
    grid-row:6 /  7;
    justify-content:space-around;
  }
  .l-heading-level1-rich__icon-item{
    align-items:center;
    display:flex;
    flex-direction:column-reverse;
    row-gap:5px;
    text-align:center;
    width:33.3333333333%;
  }
  .l-heading-level1-rich__icon-text{
    font-size:1.4rem;
    font-weight:var(--FONT_WEIGHT_BOLD);
  }
  .l-heading-level1-rich__icon-text-highlight{
    color:var(--COLOR_ACCENT);
  }
  .l-heading-level1-rich__icon-container{
    align-items:center;
    background-color:var(--COLOR_PRIMARY);
    border-radius:50%;
    display:flex;
    height:100px;
    justify-content:center;
    width:100px;
  }
  .l-heading-level1-rich__image{
    grid-row:4 /  5;
  }
  .l-heading-level1-type2{
    column-gap:0;
    display:grid;
    grid-template-columns:var(--OUTSIDE_GUTTER_SP) 1fr var(--OUTSIDE_GUTTER_SP) var(--OUTSIDE_GUTTER_SP);
    grid-template-rows:40px max-content auto auto;
  }
  .l-heading-level1-type2:before{
    background-color:var(--COLOR_BG);
    border-bottom-right-radius:50px;
    content:"";
    grid-column:1 /  4;
    grid-row:1 /  3;
  }
  .l-heading-level1-type2__container{
    display:grid;
    grid-column:2 /  3;
    grid-row:2 /  3;
  }
  .l-heading-level1-type2__img-container{
    grid-column:1 /  2;
    grid-row:1 /  2;
  }
  .l-heading-level1-type2__img{
    border-radius:20px;
    margin-bottom:20px;
    width:100%;
  }
  .l-heading-level1-type2__text-container{
    display:flex;
    flex-direction:column;
    grid-column:1 /  2;
    grid-row:2 /  3;
  }
  .l-heading-level1-type2__info-container{
    background-color:var(--COLOR_BASE_LIGHT);
    border-radius:10px;
    box-shadow:0 4px 4px 0 #00000040;
    grid-column:3 /  4;
    grid-row:5 /  6;
    grid-template-columns:3/4;
    margin-top:32px;
    padding:32px;
  }
  .l-heading-level1-type2__heading-label{
    background-color:#00abeb;
    border-radius:20px;
    color:var(--COLOR_BASE_LIGHT);
    display:inline-block;
    margin-top:8px;
    padding:7px 18px;
    width:fit-content;
  }
  .l-heading-level1-type2__heading{
    color:var(--COLOR_PRIMARY);
    font-size:3.2rem;
    font-weight:var(--FONT_WEIGHT_BOLD);
    letter-spacing:1.28px;
    margin-top:8px;
  }
  .l-heading-level1-type2__heading-sub{
    font-size:1.8rem;
    font-weight:var(--FONT_WEIGHT_BOLD);
    letter-spacing:.96px;
    margin-top:8px;
  }
  .l-heading-level1-type2__heading-name{
    font-weight:700;
    margin-top:22px;
    text-align:right;
  }
  .l-heading-level1-type2__heading-name-sub{
    margin-top:8px;
    text-align:right;
  }
  .l-heading-level1-type3{
    --height-wave:50px;
    column-gap:var(--OUTSIDE_GUTTER_SP);
    display:grid;
    grid-template-columns:1fr minmax(auto, 1080px) 1fr;
  }
  .l-heading-level1-type3:before{
    grid-row:1 /  5;
  }
  .l-heading-level1-type3:after,.l-heading-level1-type3:before{
    background-color:var(--COLOR_BG);
    content:"";
    grid-column:1 /  -1;
  }
  .l-heading-level1-type3:after{
    grid-row:5 /  6;
    height:var(--height-wave);
    mask-image:url(/conts/global/2028/img/top/top-service-bg-02.webp);
    mask-position:top left;
    mask-repeat:no-repeat;
    mask-size:100% 100%;
    position:relative;
    z-index:var(--Z_INDEX_BEHIND);
  }
  .l-heading-level1-type3__container{
    background-color:#fff;
    border-radius:0 0 10px 10px;
    box-shadow:1px 3px 3px 0 #d2d2d2;
    display:grid;
    gap:16px;
    grid-column:2 /  3;
    grid-row:1 /  2;
    padding:24px;
  }
  .l-heading-level1-type3__company{
    display:flex;
    flex-direction:column;
    gap:16px;
  }
  .l-heading-level1-type3__heading{
    color:var(--COLOR_PRIMARY);
    font-size:2.4rem;
    font-weight:var(--FONT_WEIGHT_BOLD);
    letter-spacing:.96px;
    order:2;
    text-align:center;
  }
  .l-heading-level1-type3__heading-badge{
    align-items:center;
    background-color:var(--COLOR_PRIMARY);
    border-radius:25px;
    color:#fff;
    display:flex;
    justify-content:center;
    order:3;
    padding:3px 16px;
    text-align:center;
    transition:opacity var(--TRANSITION);
  }
  .l-heading-level1-type3__company-data-list{
    align-items:flex-start;
    display:grid;
    gap:8px 32px;
    grid-auto-rows:min-content;
    grid-template-columns:max-content auto;
    overflow:hidden;
    position:relative;
  }
  .l-heading-level1-type3__company-data-list:after{
    background:linear-gradient(0deg, #fff 36.49%, #fffffff0 64.86%, #ffffffb5 83.78%);
    bottom:0;
    content:"";
    display:block;
    height:32px;
    position:absolute;
    width:100%;
  }
  .l-heading-level1-type3__company-data-list-item{
    display:grid;
    grid-column:span 2;
    grid-template-columns:subgrid;
  }
  .l-heading-level1-type3__company-data-title{
    color:var(--COLOR_PRIMARY);
    font-weight:700;
  }
  .l-heading-level1-type3__company-data-button{
    background-color:var(--COLOR_BG);
    border-radius:0 0 10px 10px;
    color:var(--COLOR_PRIMARY);
    margin-top:10px;
    padding:6px;
    position:relative;
    text-align:center;
    transition:opacity var(--TRANSITION);
    width:100%;
  }
  .l-heading-level1-type3__company-data-button:after{
    border-bottom:2px solid var(--COLOR_PRIMARY);
    border-right:2px solid var(--COLOR_PRIMARY);
    bottom:0;
    content:"";
    display:block;
    height:8px;
    margin:auto;
    position:absolute;
    right:8px;
    rotate:45deg;
    top:0;
    width:8px;
  }
  .l-heading-level1-type3__company-data-button.is-shown:after{
    transform:rotate(180deg);
  }
  .l-heading-level1-type3__button-container{
    display:grid;
    gap:8px;
    margin-top:8px;
  }
  .l-heading-level1-type3__img-wrap{
    aspect-ratio:21/9;
    border-radius:20px;
    overflow:hidden;
  }
  .l-heading-level1-type3__img{
    display:block;
    height:100%;
    object-fit:cover;
    object-position:center;
    width:100%;
  }
  .l-breadcrumb{
    display:grid;
    gap:0 16px;
    grid-template-columns:auto minmax(var(--CONTENT_WIDTH_SP), var(--CONTENT_WIDTH_PC)) auto;
  }
  .l-breadcrumb__inner{
    grid-column:2 /  3;
    padding:12px 0;
  }
  .l-breadcrumb__list{
    display:flex;
    gap:8px;
    overflow:auto;
    white-space:nowrap;
    word-break:keep-all;
  }
  .l-breadcrumb__item{
    align-items:center;
    display:flex;
    font-size:1.1rem;
    gap:16px;
  }
  .l-breadcrumb__item:last-child{
    padding-right:0;
  }
  .l-breadcrumb__item+.l-breadcrumb__item:before{
    background-image:url(/conts/global/2028/img/icon/breadcrumb.svg);
    background-position:50%;
    background-repeat:no-repeat;
    content:"";
    flex-shrink:0;
    height:10px;
    margin-block-start:.07em;
    width:6px;
  }
  .l-breadcrumb__link:any-link{
    color:var(--COLOR_PRIMARY);
    font-weight:var(--FONT_WEIGHT_BOLD);
  }
  .l-breadcrumb__link[aria-current]{
    color:var(--COLOR_FONT);
  }
/* 企業フィルター */
    ul{
      list-style: none;
    }
    .object-list{
      display: grid;
      grid-template-columns: repeat(1, 1fr);
      margin-top: 40px;
    }
    .object-list__corp{
      display: grid;
      gap: 8px;
      margin-top: 50px;
    }
    .object-list__corp {
      transition: opacity 0.3s, margin 0.3s, transform 0.3s;
      opacity: 1;
      transform: translateY(0);
      margin-bottom: 16px; /* グリッドや縦間隔に合わせて調整 */
    }
    .object-list__corp.is-disabled {
      opacity: 0.5;
      filter: grayscale(100%);
      pointer-events: none;
    }
    .filter-buttons {
      display: grid;
      gap: 8px;
      flex-wrap: wrap;
      grid-template-columns: repeat(3, 1fr);
      margin-top: 50px;
    }
    .filter-btn {
      padding: 8px 14px;
      border-radius: 9999px;
      border: 1px solid #d0d7de;
      background: #fff;
      color: #444;
      font-size: 14px;
      cursor: pointer;
      transition: all .2s ease;
    }
    .filter-btn:hover {
      background: #f0f6ff;
      border-color: #8cb4ff;
      color: #1a73e8;
    }
    .filter-btn.active {
      background: #1a73e8;
      border-color: #1a73e8;
      color: #fff;
      box-shadow: 0 2px 6px rgba(26,115,232,.35);
    }
    .filter-btn input {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }
    .filter-buttons {
      position: relative;
    }
    /* 押している最中 */
    .filter-btn:active {
      transform: scale(0.97);
    }
    .filter-btn{
      align-items:center;
      background-color:var(--COLOR_BASE_LIGHT);
      border:2px solid var(--COLOR_PRIMARY);
      border-radius:1rem;
      box-shadow:0 4px 4px #00000040;
      color:#000;
      display:inline-flex;
      font-size:1.2rem;
      font-weight:700;
      height:100%;
      justify-content:center;
      margin-inline:0;
      min-height:60px;
      padding:5px 6px 6px 5px;
      position:relative;
      text-align:center;
      transition:box-shadow var(--TRANSITION);
    }
    .filter-btn:hover{
        box-shadow:none;
      }
}
@media print,screen and (width >= 768px){@layer base{
    :root{
      --FONT_SIZE:1.6rem;
      --HEADER_HEIGHT:155px;
    }}@layer layout{
    .l-content__inner{
      padding:80px var(--OUTSIDE_GUTTER_PC);
    }
    .l-content__inner,.l-header__inner{
      margin-inline:auto;
      max-width:calc(var(--CONTENT_WIDTH_PC) + var(--OUTSIDE_GUTTER_PC)*2);
    }
    .l-header__inner{
      gap:0 24px;
      grid-template-columns:1fr auto;
      padding-inline:var(--OUTSIDE_GUTTER_PC);
      width:100%;
    }
    .l-header-logo{
      column-gap:8px;
    }
    .l-header-logo__img{
      height:17px;
    }
    .l-header-logo__img--global{
      height:76px;
    }
    .l-header-menu{
      grid-column:1 /  3;
      grid-row:2 /  3;
    }
    .l-header-menu__button{
      display:none;
    }
    .l-header-global-nav__list{
      display:flex;
      flex-wrap:wrap;
      gap:24px;
      justify-content:center;
      padding-inline:36px;
    }
    .l-header-global-nav__button,.l-header-global-nav__link{
      column-gap:16px;
      line-height:1.7;
      padding-inline:8px;
      text-align:center;
    }
    .l-header-global-nav__link-icon{
      display:none;
    }
    .l-header-global-nav__button-icon:before{
      border-bottom:2px solid var(--COLOR_PRIMARY);
      border-right:2px solid var(--COLOR_PRIMARY);
      content:"";
      display:block;
      height:8px;
      rotate:45deg;
      width:8px;
    }
    .l-header-global-nav__button[aria-expanded=true] .l-header-global-nav__button-icon:before{
      rotate:225deg;
    }
    .l-header-global-nav__content{
      background-color:var(--COLOR_BG);
      display:none;
      left:0;
      opacity:0;
      padding:0 var(--OUTSIDE_GUTTER_PC) 40px;
      position:absolute;
      top:100%;
      transition:display var(--TRANSITION), opacity var(--TRANSITION);
      transition-behavior:allow-discrete;
      width:100%;
    }
    .l-header-global-nav__content.is-shown{
      display:block;
      opacity:1;
    }
    @starting-style{
      .l-header-global-nav__content.is-shown{
        opacity:0;
      }
    }
    .l-header-global-nav__content-inner{
      background-color:var(--COLOR_BASE_LIGHT);
      border-radius:20px;
      margin-inline:auto;
      max-width:calc(var(--CONTENT_WIDTH_PC));
    }
    .l-header-global-nav__level2{
      border-bottom:none;
      display:flex;
      flex-direction:column;
      max-height:calc(100dvh - var(--HEADER_HEIGHT) - 80px);
      padding:32px 24px;
      row-gap:16px;
    }
    .l-header-global-nav__level2-head-link{
      border-bottom:1px solid var(--COLOR_GRAY_2);
      font-weight:var(--FONT_WEIGHT_BOLD);
      padding:0 0 16px;
    }
    .l-header-global-nav__level2-head-link-icon{
      background-color:var(--COLOR_PRIMARY);
      border-radius:100vmax;
      flex-shrink:0;
      height:35px;
      width:35px;
    }
    .l-header-global-nav__level2-head-link-icon:before{
      background-color:var(--COLOR_BASE_LIGHT);
      height:17px;
      inset:0;
      margin:auto;
      position:absolute;
      width:16px;
    }
    .l-header-global-nav__level2-body{
      display:grid;
      grid-template-columns:minmax(auto, 316px) auto;
    }
    .l-header-global-nav__level2-item,.l-header-global-nav__level2-list{
      display:contents;
    }
    .l-header-global-nav__level2-button{
      flex-direction:row-reverse;
      grid-column:1 /  2;
      justify-content:space-between;
      padding-inline:16px;
    }
    .l-header-global-nav__level2-button:before{
      border-bottom-width:2px;
      border-right-width:2px;
      height:8px;
      rotate:-45deg;
      width:8px;
    }
    .l-header-global-nav__level2-button[aria-expanded=true]{
      justify-content:flex-end;
      padding-block:0;
    }
    .l-header-global-nav__level2-button[aria-expanded=true]:after,.l-header-global-nav__level2-button[aria-expanded=true]:before{
      content:none;
    }
    .l-header-global-nav__level2-item:first-child .l-header-global-nav__level2-button{
      margin-top:0;
    }
    .l-header-global-nav__level2-content{
      display:grid;
      grid-column:2 /  3;
      grid-row:1 /  1000;
      height:fit-content;
      opacity:0;
      padding-block:16px;
      row-gap:16px;
      transition:opacity var(--TRANSITION), visibility var(--TRANSITION), background-color var(--TRANSITION);
      visibility:hidden;
    }
    .l-header-global-nav__level2-content.is-shown{
      background-color:var(--COLOR_BG);
      height:100%;
      opacity:1;
      visibility:visible;
    }
    .l-header-global-nav__level2-link{
      grid-column:1 /  2;
      padding:0 18px;
    }
    .l-header-global-nav__level2-link:before{
      height:13px;
      width:12px;
    }
    .l-header-global-nav__level2-item:first-child .l-header-global-nav__level2-link{
      margin-top:0;
    }
    .l-header-global-nav__level3{
      display:contents;
    }
    .l-header-global-nav__level3-link{
      padding-inline:18px;
    }
    .l-header-global-nav__level3-link:before{
      height:13px;
      width:12px;
    }
    .l-header-utility{
      align-items:center;
      column-gap:16px;
      display:flex;
      padding-block:14px;
    }
    .l-header-utility__lang{
      height:38px;
      width:38px;
    }
    .l-header-utility__authentication{
      column-gap:12px;
      position:static;
    }
    .l-header-utility__authentication-link{
      border-radius:10px;
      column-gap:12px;
      min-width:138px;
      padding-block:8px;
      transition:opacity var(--TRANSITION);
    }
    .l-header-utility__authentication-icon{
      --size-circle:30px;
    }
    .l-header-utility__authentication-icon:after{
      height:13px;
      width:12px;
    }
/* 追従ボタン */
    .m-button__aus {
      position: fixed;   /* 画面に固定 */
      bottom: 20px;      /* 下から20px */
      left: auto;   /* ← 明示的に無効化 */
      right: 20px;       /* 右から-24px */
      box-shadow: 0 4px 4px #00000040;
      width: 250px;
      color: white;
      border: none;
      border-radius: 10px;
      cursor: pointer;
      font-size: 16px;
      transition: box-shadow var(--TRANSITION);
    }
    .m-button__aus:hover {
      box-shadow: none;
    }
    .m-button--fill__aus .l-header-utility__authentication-icon{
      height: 30px;
      width: 30px;
      right: -42px;
    }
    .m-button--fill__aus .l-header-utility__authentication-icon.is-long{
      right: -13px!important;
    }
    .l-footer{
      padding-bottom:0;
    }
    .l-footer-page-top{
      text-align:right;
    }
    .l-footer-page-top,.l-footer-sns{
      margin-left:auto;
      margin-right:auto;
      max-width:var(--CONTENT_WIDTH_PC);
    }
    .l-footer-sns{
      margin-top:40px;
    }
    .l-footer-link{
      margin-top:16px;
    }
    .l-footer-link__inner{
      margin-left:auto;
      margin-right:auto;
      max-width:var(--CONTENT_WIDTH_PC);
    }
    .l-footer-link__item{
      margin-right:40px;
    }
    .l-footer-link__link{
      font-size:var(--FONT_SIZE);
    }
    .l-footer-copyright{
      margin-top:16px;
    }
    .l-heading-level1{
      --height-wave:60px;
      column-gap:var(--OUTSIDE_GUTTER_PC);
      grid-template-rows:80px auto 40px auto;
    }
    .l-heading-level1:after{
      mask-image:url(/conts/global/2028/img/top/top-service-bg-02-pc.webp);
    }
    .l-heading-level1__container{
      grid-row:1 /  5;
      grid-template-columns:minmax(auto, 560px) 72px auto;
    }
    .l-heading-level1__text-container{
      grid-column:1 /  2;
      grid-row:2 /  3;
    }
    .l-heading-level1__heading{
      font-size:4rem;
      letter-spacing:1.6px;
    }
    .l-heading-level1__flag{
      margin-top:40px;
    }
    .l-heading-level1__img-container{
      align-items:center;
      display:flex;
      grid-column:3 /  4;
      grid-row:1 /  -1;
    }
    .l-heading-level1--rounded-bg{
      column-gap:0;
      grid-template-columns:1fr var(--OUTSIDE_GUTTER_PC) minmax(auto, var(--CONTENT_WIDTH_PC)) var(--OUTSIDE_GUTTER_PC) .3fr minmax(var(--OUTSIDE_GUTTER_PC), .7fr);
      grid-template-rows:24px auto 40px 40px;
    }
    .l-heading-level1--rounded-bg:before{
      grid-column:1 /  6;
      grid-row:1 /  4;
    }
    .l-heading-level1--rounded-bg .l-heading-level1__container{
      grid-column:3 /  4;
    }
    .l-heading-level1--rounded-bg .l-heading-level1__img-container{
      display:flex;
      flex-direction:column;
      justify-content:flex-end;
    }
    .l-heading-level1--simple{
      grid-template-rows:24px auto 40px minmax(40px, auto);
    }
    .l-heading-level1--simple .l-heading-level1__container{
      grid-column:3 /  4;
    }
    .l-heading-level1--simple .l-heading-level1__img-container{
      border-radius:20px;
      display:block;
      grid-row:-2 /  -1;
      margin-top:-30px;
      overflow:hidden;
    }
    .l-heading-level1-rich{
      column-gap:var(--OUTSIDE_GUTTER_PC);
      grid-template-rows:48px auto 16px auto auto;
    }
    .l-heading-level1-rich:before{
      grid-row:1 /  5;
    }
    .l-heading-level1-rich:after{
      grid-row:5 /  6;
      height:40px;
      mask-image:url(/conts/global/2028/img/top/top-service-bg-02-pc.webp);
    }
    .l-heading-level1-rich__container{
      grid-column:2 /  4;
      grid-template-columns:minmax(auto, 460px) 50px 1fr;
    }
    .l-heading-level1-rich__heading{
      max-width:460px;
    }
    .l-heading-level1-rich__heading-text{
      font-size:3.2rem;
      letter-spacing:5.76px;
    }
    .l-heading-level1-rich__heading-highlight{
      font-size:4rem;
      letter-spacing:7.2px;
    }
    .l-heading-level1-rich__heading-sub-text{
      font-size:1.6rem;
      letter-spacing:2.88px;
    }
    .l-heading-level1-rich__icon{
      grid-column:1 /  2;
      grid-row:4 /  5;
      justify-content:space-between;
    }
    .l-heading-level1-rich__icon-item{
      row-gap:10px;
    }
    .l-heading-level1-rich__icon-text{
      font-size:2rem;
    }
    .l-heading-level1-rich__icon-container{
      height:120px;
      width:120px;
    }
    .l-heading-level1-rich__image{
      grid-column:3 /  4;
      grid-row:2 /  5;
    }
    .l-heading-level1-type2{
      grid-template-columns:1fr var(--OUTSIDE_GUTTER_PC) minmax(auto, var(--CONTENT_WIDTH_PC)) var(--OUTSIDE_GUTTER_PC) .3fr minmax(var(--OUTSIDE_GUTTER_PC), .7fr);
      grid-template-rows:24px max-content auto auto;
    }
    .l-heading-level1-type2:before{
      grid-column:1 /  6;
    }
    .l-heading-level1-type2__container{
      display:grid;
      grid-column:3 /  4;
      grid-row:2 /  4;
      grid-template-columns:auto 72px minmax(auto, 710px);
      grid-template-rows:subgrid;
    }
    .l-heading-level1-type2__img-container{
      grid-column:1 /  2;
      grid-row:1 /  2;
      width:auto;
    }
    .l-heading-level1-type2__text-container{
      grid-column:3 /  4;
      grid-row:1 /  3;
    }
    .l-heading-level1-type2__heading{
      font-size:3.2rem;
      letter-spacing:1.6px;
    }
    .l-heading-level1-type3{
      --height-wave:60px;
      column-gap:var(--OUTSIDE_GUTTER_PC);
    }
    .l-heading-level1-type3:after{
      mask-image:url(/conts/global/2028/img/top/top-service-bg-02-pc.webp);
    }
    .l-heading-level1-type3__container{
      gap:32px 80px;
      grid-template-columns:minmax(auto, 460px) auto;
      padding:40px 40px 110px;
    }
    .l-heading-level1-type3__company{
      grid-column:1 /  2;
      grid-row:1 /  2;
    }
    .l-heading-level1-type3__heading{
      font-size:4rem;
      letter-spacing:1.6px;
    }
    .l-heading-level1-type3__heading-badge{
      min-height:50px;
    }
    .l-heading-level1-type3__company-data{
      grid-column:2 /  3;
      grid-row:1 /  2;
    }
    .l-heading-level1-type3__company-data-list{
      column-gap:50px;
    }
    .l-heading-level1-type3__button-container{
      gap:16px;
      grid-column:1 /  3;
      grid-row:2 /  3;
      grid-template-columns:repeat(4, 1fr);
    }
    .l-breadcrumb{
      gap:0 64px;
    }
    .l-breadcrumb__item{
      font-size:1.2rem;
    }
  /* 企業フィルター */
    ul{
      list-style: none;
    }
    .object-list{
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      margin-top: 40px;
      gap: 20px;
    }
    .object-list__corp{
      display: grid;
      gap: 8px;
      margin: 50px 30px 16px;
      transition: opacity 0.3s, margin 0.3s, transform 0.3s;
      opacity: 1;
      transform: translateY(0);
    }
    .object-list__corp.is-disabled {
      opacity: 0.5;
      filter: grayscale(100%);
      pointer-events: none;
    }
    .filter-buttons {
      display: grid;
      gap: 8px;
      flex-wrap: wrap;
      grid-template-columns: repeat(3, 1fr);
      margin-top: 50px;
    }
    .filter-btn {
      padding: 8px 14px;
      border-radius: 9999px;
      border: 1px solid #d0d7de;
      background: #fff;
      color: #444;
      font-size: 14px;
      cursor: pointer;
      transition: all .2s ease;
    }
    .filter-btn:hover {
      background: #f0f6ff;
      border-color: #8cb4ff;
      color: #1a73e8;
    }
    .filter-btn.active {
      background: #1a73e8;
      border-color: #1a73e8;
      color: #fff;
      box-shadow: 0 2px 6px rgba(26,115,232,.35);
    }
    .filter-btn input {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }
    .filter-buttons {
      position: relative;
    }
    /* 押している最中 */
    .filter-btn:active {
      transform: scale(0.97);
    }
    .filter-btn{
      align-items:center;
      background-color:var(--COLOR_BASE_LIGHT);
      border:2px solid var(--COLOR_PRIMARY);
      border-radius:1rem;
      box-shadow:0 4px 4px #00000040;
      color:#000;
      display:inline-flex;
      font-size:1.4rem;
      font-weight:700;
      height:100%;
      justify-content:center;
      margin-inline:0;
      min-height:60px;
      padding:6px 62px 6px 46px;
      position:relative;
      text-align:center;
      transition:box-shadow var(--TRANSITION);
    }
    .filter-btn:hover{
        box-shadow:none;
      }
  }}
@media print,screen and (width < 768px){@layer layout{
    .l-header__inner{
      padding-inline-start:var(--OUTSIDE_GUTTER_SP);
    }
    .l-header-menu{
      min-height:57px;
      min-width:56px;
    }
    .l-header-menu__content{
      background-color:var(--COLOR_BG);
      display:none;
      height:calc(100dvh - var(--HEADER_HEIGHT) - var(--HEADER_AUTHENTICATION_HEIGHT));
      left:0;
      opacity:0;
      padding:24px var(--OUTSIDE_GUTTER_SP);
      position:absolute;
      top:100%;
      transition:display var(--TRANSITION), opacity var(--TRANSITION);
      transition-behavior:allow-discrete;
      width:100%;
    }
    .l-header-menu__content.is-shown{
      display:block;
      opacity:1;
    }
    @starting-style{
      .l-header-menu__content.is-shown{
        opacity:0;
      }
    }
    .l-header-global-nav__list{
      border-radius:20px;
      max-height:100%;
      overflow:auto;
      padding-block:16px 24px;
    }
    .l-header-global-nav__item{
      padding-inline:16px;
    }
    .l-header-global-nav__button,.l-header-global-nav__link{
      border-bottom:1px solid var(--COLOR_GRAY_2);
    }
    .l-header-global-nav__button[aria-expanded=true]{
      border-image-outset:0 100vw;
      border-image-slice:fill 0;
      border-image-source:linear-gradient(var(--COLOR_BG), var(--COLOR_BG));
    }
    .l-header-global-nav__button-icon,.l-header-global-nav__link-icon{
      background-color:var(--COLOR_PRIMARY);
      border-radius:100vmax;
      flex-shrink:0;
      height:18px;
      position:relative;
      width:18px;
    }
    .l-header-global-nav__button-icon:after,.l-header-global-nav__button-icon:before{
      background-color:var(--COLOR_BASE_LIGHT);
      border-radius:100vmax;
      content:"";
      height:1px;
      inset:0;
      margin:auto;
      position:absolute;
      width:6px;
    }
    .l-header-global-nav__button[aria-expanded=false] .l-header-global-nav__button-icon:after{
      rotate:90deg;
    }
    .l-header-global-nav__content{
      display:grid;
      grid-template-rows:0fr;
      transition:visibility var(--TRANSITION), grid-template-rows var(--TRANSITION);
      visibility:hidden;
    }
    .l-header-global-nav__content.is-shown{
      grid-template-rows:1fr;
      visibility:visible;
    }
    .l-header-global-nav__level2-content{
      display:none;
      grid-template-rows:0fr;
      transition:display var(--TRANSITION), grid-template-rows var(--TRANSITION), background-color var(--TRANSITION);
      transition-behavior:allow-discrete;
    }
    .l-header-global-nav__level2-content.is-shown{
      background-color:var(--COLOR_BG);
      display:grid;
      grid-template-rows:1fr;
    }
    @starting-style{
      .l-header-global-nav__level2-content.is-shown{
        grid-template-rows:0fr;
      }
    }
    .l-header-utility__authentication-item{
      flex:1;
    }}}
@media only screen and (any-hover:hover){@layer layout{
    .l-header-global-nav__button:focus-visible,.l-header-global-nav__button:hover,.l-header-global-nav__link:focus-visible,.l-header-global-nav__link:hover{
      background-color:var(--COLOR_BG);
      color:var(--COLOR_PRIMARY);
    }
    .l-header-global-nav__level2-head-link:focus-visible,.l-header-global-nav__level2-head-link:hover{
      color:var(--COLOR_PRIMARY);
    }
    .l-header-global-nav__level2-button:focus-visible,.l-header-global-nav__level2-button:hover,.l-header-global-nav__level2-link:focus-visible,.l-header-global-nav__level2-link:hover{
      background-color:var(--COLOR_BG);
      color:var(--COLOR_PRIMARY);
      font-weight:var(--FONT_WEIGHT_BOLD);
    }
    .l-header-global-nav__level3-link:focus-visible,.l-header-global-nav__level3-link:hover{
      color:var(--COLOR_PRIMARY);
      font-weight:var(--FONT_WEIGHT_BOLD);
    }
    .l-header-utility__authentication-link:focus-visible,.l-header-utility__authentication-link:hover{
      opacity:var(--OPACITY);
    }
    .l-footer-page-top__link:focus-visible,.l-footer-page-top__link:hover{
      background-color:var(--COLOR_PRIMARY);
    }
    .l-footer-page-top__link:focus-visible .l-footer-page-top__icon-arrow,.l-footer-page-top__link:hover .l-footer-page-top__icon-arrow{
      fill:var(--COLOR_BASE_LIGHT);
    }
    .l-footer-sns__link:focus-visible,.l-footer-sns__link:hover{
      opacity:var(--OPACITY);
    }
    .l-footer-link__link:focus-visible,.l-footer-link__link:hover{
      background-color:var(--COLOR_PRIMARY);
      color:var(--COLOR_BASE_LIGHT);
    }
    .l-heading-level1-type3__company-data-button:focus-visible,.l-heading-level1-type3__company-data-button:hover{
      opacity:var(--OPACITY);
    }}}
@media print,screen and (width >= 1024px){@layer layout{
    .l-header-utility{
      column-gap:24px;
    }
    .l-header-utility__authentication-link{
      column-gap:10px;
      min-width:190px;
    }
    .l-header-utility__authentication-icon{
      --size-circle:35px;
    }
    .l-header-utility__authentication-icon:after{
      height:17px;
      width:16px;
    }}}

    
@layer module {
  /* --- タブ（エリア切り替え）用の見た目（区切り線をCSSでは生成しない版） --- */

  /* リスト：余白はgapで確保（｜をCSSでは出さないため） */
  .m-search-tab__list {
    display: flex;
    flex-wrap: wrap;
    column-gap: 16px; /* お好みで 8〜24px 程度に調整可能 */
  }

  /* 各項目 */
  .m-search-tab__list-item {
    display: flex;
    align-items: center;
  }

  /* 以前の“擬似縦棒”を明示的に無効化（HTMLの｜と二重にならないように） */
  .m-search-tab__list-item::before {
    content: none !important;
  }

  /* 下線の演出は ::after で。未選択＝下線あり、選択中＝下線なし */
  .m-search-tab__list-button {
    position: relative;       /* ::after の基準 */
    font-weight: 700;
    text-decoration: none;    /* 実下線は使わず擬似要素に集約 */
    color: inherit;
  }
  .m-search-tab__list-button::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 1px;
    background-color: currentColor; /* 文字色に追随 */
    opacity: 1;                     /* 未選択＝下線あり */
    transition: opacity var(--TRANSITION);
  }

  /* 選択中（クリック選択 or チェック選択）で下線を消し、色を強調 */
  .m-search-tab__list-button[aria-selected="true"]::after,
  .m-search-tab__list-button.is-checked::after {
    opacity: 0; /* 下線なし */
  }
  .m-search-tab__list-button[aria-selected="true"],
  .m-search-tab__list-button.is-checked {
    color: var(--COLOR_PRIMARY);
  }

  /* パネルの表示／非表示（既存クラスを援用） */
  .js-tab-panel.is-none {
    display: none;
  }

  /* アクセシビリティ補助（任意） */
  .m-search-tab__list-button:focus-visible {
    outline: 2px solid var(--COLOR_PRIMARY);
    outline-offset: 2px;
  }
}
