@charset "UTF-8";
.media-layout__content>:first-child,.media-layout__img>:first-child,.top-media-layout__content>:first-child,.top-section-content-wrapper>:first-child,body>:first-child{
  margin-top:0 !important;
}
.media-layout__content>:last-child,.media-layout__img>:last-child,.top-media-layout__content>:last-child,.top-section-content-wrapper>:last-child,body>:last-child{
  margin-bottom:0 !important;
}

.top-content__outer{
  background-color:var(--COLOR_BASE);
  padding-block:144px;
  position:relative;
  transform:translateZ(0);
  z-index:200;
}

.top-news__content .top-section-content-wrapper{
  flex:1;
}
.top-shareholder__content .top-section-content-wrapper{
  display:flex;
  flex-direction:column;
  margin-top:72px;
  row-gap:56px;
}
.top-shareholder__content .top-section-content-wrapper>*{
  margin-top:0;
}

.top-heading-lv2{
  display:flex;
  flex-direction:column-reverse;
  margin-bottom:24px;
}

.top-heading-lv2__main{
  font-family:var(--FONT_FAMILY_RELIEF);
  font-size:2.6rem;
  font-weight:400;
}

.top-heading-lv2__sub{
  font-size:1.4rem;
}

.top-heading-lv2__sub,.top-link{
  font-weight:var(--FONT_WEIGHT_MEDIUM);
}

.top-link{
  --gap-top-link-arrow:5px;
  color:var(--COLOR_PRIMARY);
  display:inline-block;
  margin:32px var(--gap-top-link-arrow) 0 0;
  padding:0 56px 8px 0;
  position:relative;
}
.top-link:after,.top-link:before{
  background-color:currentColor;
  bottom:0;
  content:"";
  display:block;
  position:absolute;
}
.top-link:before{
  height:11px;
  mask:url(/common/img/icon/arrow-top.svg) no-repeat center/contain;
  right:calc(var(--gap-top-link-arrow)*-1);
  transition:transform var(--TRANSITION);
  width:16px;
}
.top-link:after{
  height:1px;
  transition:width var(--TRANSITION);
  width:100%;
}
.top-service__content .top-link{
  color:var(--COLOR_BASE);
}

.top-media-layout{
  display:flex;
  flex-direction:column-reverse;
  margin-top:var(--margin-media-layout);
  row-gap:40px;
}

.top-media-layout__content{
  flex:1;
  min-width:50%;
}

.top-media-layout__img-item{
  border:1px solid var(--COLOR_BORDER_2);
}

.top-hero{
  --padding-hero-carousel:16px;
  --padding-bottom-hero-carousel-control:28px;
  position:sticky;
  top:var(--HEIGHT_HEADER);
  z-index:100;
}

.top-hero-carousel__content{
  align-items:center;
  bottom:22%;
  color:var(--COLOR_BASE);
  display:flex;
  flex-direction:column;
  left:50%;
  min-height:36svh;
  padding:var(--padding-hero-carousel);
  position:absolute;
  row-gap:16px;
  transform:translate(-50%);
  width:100%;
}

.top-hero-carousel__catch{
  font-family:var(--FONT_FAMILY_RELIEF);
  font-size:2rem;
  max-width:326px;
}

.top-hero-carousel__catch-item{
  filter:drop-shadow(0 4px 8px rgba(0, 0, 0, .27));
}

.top-hero-carousel__scroll{
  align-items:center;
  display:flex;
  flex-direction:column;
  font-family:var(--FONT_FAMILY_RELIEF);
  margin-top:auto;
  row-gap:4px;
}
.top-hero-carousel__scroll:after{
  animation:4s var(--EASING) .8s forwards scroll-liner;
  background-color:currentColor;
  content:"";
  display:block;
  height:38px;
  width:1px;
}

.top-hero-carousel__track{
  position:relative;
  z-index:-1;
}

.top-hero-carousel__slide{
  background-color:var(--COLOR_PRIMARY);
  flex-shrink:0;
  height:calc(100svh - var(--HEIGHT_HEADER));
  min-height:323px;
  width:100%;
}

.top-hero-carousel__slide-img{
  height:100%;
  object-fit:cover;
  width:100%;
}

.top-hero-carousel__control{
  --size-hero-carousel-toggle:12px;
  bottom:0;
  column-gap:12px;
  display:flex;
  flex-direction:row-reverse;
  justify-content:flex-end;
  padding:0 var(--padding-hero-carousel) var(--padding-bottom-hero-carousel-control);
  position:absolute;
  width:100%;
}

.top-hero-carousel__toggle{
  height:var(--size-hero-carousel-toggle);
  position:relative;
  width:var(--size-hero-carousel-toggle);
}
.top-hero-carousel__toggle:after,.top-hero-carousel__toggle:before{
  background-color:var(--COLOR_BASE);
  content:"";
  display:block;
  position:absolute;
  top:0;
}
.top-hero-carousel__toggle.is-active:after,.top-hero-carousel__toggle.is-active:before{
  height:var(--size-hero-carousel-toggle);
  width:1px;
}
.top-hero-carousel__toggle.is-active:before{
  right:2px;
}
.top-hero-carousel__toggle.is-active:after{
  left:2px;
}
.top-hero-carousel__toggle:not(.is-active):before{
  clip-path:polygon(0 0, 100% 50%, 0 100%);
  height:var(--size-hero-carousel-toggle);
  width:var(--size-hero-carousel-toggle);
}
.top-hero-carousel__toggle:not(.is-active):after{
  content:normal;
}

.top-hero-carousel__pagination{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.top-hero-carousel__pagination-item{
  position:relative;
  width:24px;
}
.top-hero-carousel__pagination-item:before{
  background-color:var(--COLOR_BASE);
  content:"";
  display:block;
  height:1px;
  position:absolute;
  top:calc(var(--size-hero-carousel-toggle)/2);
  width:100%;
}
.top-hero-carousel__pagination-item--current:before{
  background-color:var(--COLOR_INACTIVE);
}

.top-about{
  display:grid;
  row-gap:56px;
}

.top-about__content{
  padding-inline:var(--OUTSIDE_GUTTER);
}

.top-about__img{
  column-gap:16px;
  display:flex;
  grid-row:1;
  max-width:530px;
  width:calc(100% - var(--OUTSIDE_GUTTER)*3);
}

.top-about__img-item{
  height:321px;
}
.top-about__img-item--left{
  flex-basis:46%;
}
.top-about__img-item--right{
  flex-basis:54%;
  margin-top:70px;
}
.top-about__img-item>img{
  height:100%;
  object-fit:cover;
  width:100%;
}

.top-service{
  --negative-margin-service:32px;
  --gap-service:56px;
  --width-service-content:clamp(454px, 100vw - 575px, 872px);
  margin-top:calc(88px + var(--negative-margin-service));
  position:relative;
}
.top-service:before{
  background-color:var(--COLOR_SECONDARY);
  content:"";
  grid-column:1 /  3;
  height:100%;
  position:absolute;
  width:calc(100% - var(--OUTSIDE_GUTTER)*2);
  z-index:100;
}

.top-service__inner{
  display:flex;
  flex-direction:column-reverse;
  gap:var(--gap-service);
  position:relative;
  z-index:200;
}

.top-service__content{
  color:var(--COLOR_BASE);
  padding:0 var(--OUTSIDE_GUTTER) 56px;
  width:calc(100% - var(--OUTSIDE_GUTTER)*2);
}

.top-service__img{
  margin:calc(var(--negative-margin-service)*-1) 0 0 auto;
  width:100%;
}

.top-service__img-item{
  height:248px;
}
.top-service__img-item>img{
  height:100%;
  object-fit:cover;
  width:100%;
}

.top-contact{
  --width-contact-img:clamp(620px, 24vw + 374px, 720px);
  display:flex;
  flex-direction:column-reverse;
  gap:56px;
  margin-top:88px;
}

.top-contact__content{
  padding-inline:var(--OUTSIDE_GUTTER);
}

.top-contact__img{
  width:calc(100% - var(--OUTSIDE_GUTTER));
}

.top-contact__img-item{
  height:185px;
}
.top-contact__img-item>img{
  height:100%;
  object-fit:cover;
  width:100%;
}

.top-news{
  background-color:var(--COLOR_BG);
  margin-top:96px;
}

.top-news__content{
  padding:56px var(--OUTSIDE_GUTTER);
}

.top-shareholder{
  margin-top:96px;
}

.top-shareholder__content{
  padding-inline:var(--OUTSIDE_GUTTER);
}

*,:after,:before{
  box-sizing:border-box;
}

:target{
  scroll-margin-top:var(--HEIGHT_HEADER);
}

html{
  font-size:62.5%;
  height:100%;
  margin:0;
  padding:0;
  scroll-behavior:smooth;
}
html:has(.header-menu.is-open),html:has(dialog[open]){
  scrollbar-gutter:stable;
}

body{
  color:var(--COLOR_FONT);
  font-family:var(--FONT_FAMILY);
  font-size:var(--FONT_SIZE);
  height:100%;
  line-height:var(--LINE_HEIGHT);
  margin:0;
  overflow-x:clip;
  padding:0;
  -webkit-text-size-adjust:100%;
}
body.is-fixed{
  overflow:hidden;
}

blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,ol,p,ul{
  margin:0;
}

dl,ol,ul{
  padding:0;
}

ol[class],ul[class]{
  list-style:none;
}

a{
  color:inherit;
  text-decoration:none;
}

em,strong{
  font-style:normal;
  font-weight:var(--FONT_WEIGHT_BOLD);
}

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-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;
}

:root{
  --WIDTH_PAGE_TOP:46px;
  --HEIGHT_HEADER:52px;
  --OUTSIDE_GUTTER:16px;
  --COLOR_BASE:#fff;
  --COLOR_PRIMARY:#014e20;
  --COLOR_SECONDARY:#0a2b14;
  --COLOR_ACCENT:#018219;
  --COLOR_FONT:#333;
  --COLOR_BG:#f5f5f5;
  --COLOR_BORDER_1:#d3dfd4;
  --COLOR_BORDER_2:#e8e8e8;
  --COLOR_INACTIVE:#858a7f;
  --FONT_FAMILY:"Noto Sans JP", YuGothic, Winyugothic, "メイリオ", Meiryo, sans-serif;
  --FONT_FAMILY_RELIEF:"Noto Serif JP", "Yu Mincho", YuMincho, serif;
  --FONT_SIZE:1.4rem;
  --FONT_WEIGHT_MEDIUM:500;
  --FONT_WEIGHT_BOLD:700;
  --LINE_HEIGHT:1.7;
  --LINE_HEIGHT_LOOSE:1.8;
  --LINE_HEIGHT_TIGHT:1.4;
  --OPACITY:0.6;
  --EASING:cubic-bezier(0.4, 0, 0.2, 1);
  --DURATION:0.4s;
  --TRANSITION:var(--DURATION) var(--EASING);
}
@font-face{
  font-family:WinYuGothic;
  font-weight:400;
  src:local(yugothic-medium), local("Yu Gothic Medium");
}
@font-face{
  font-family:WinYuGothic;
  font-weight:var(--FONT_WEIGHT_BOLD);
  src:local(yugothic-bold), local("Yu Gothic");
}
@font-face{
  font-display:swap;
  font-family:Noto Sans JP;
  font-weight:400;
  src:local("Noto Sans JP"), url(/common/font/NotoSansJP-Regular.woff2) format("woff2");
}
@font-face{
  font-display:swap;
  font-family:Noto Sans JP;
  font-weight:500;
  src:local("Noto Sans JP Medium"), url(/common/font/NotoSansJP-Medium.woff2) format("woff2");
}
@font-face{
  font-display:swap;
  font-family:Noto Sans JP;
  font-weight:700;
  src:local("Noto Sans JP Bold"), url(/common/font/NotoSansJP-Bold.woff2) format("woff2");
}
@font-face{
  font-display:swap;
  font-family:"Noto Serif JP";
  font-weight:400;
  src:local("Noto Serif JP"), url(/common/font/NotoSerifJP-Regular.woff2) format("woff2");
}
@keyframes scroll-liner{
  0%{
    transform:scaleY(0);
    transform-origin:0 0;
  }
  20%{
    transform:scale(1);
    transform-origin:0 0;
  }
  40%{
    transform:scale(1);
    transform-origin:0 100%;
  }
  60%{
    transform:scaleY(0);
    transform-origin:0 100%;
  }
  80%{
    transform:scaleY(0);
    transform-origin:0 0;
  }
  to{
    transform:scale(1);
    transform-origin:0 0;
  }
}
.breadcrumb{
  --gap-breadcrumb:8px;
  background-color:var(--COLOR_BG);
}

.breadcrumb__inner{
  padding:10px var(--OUTSIDE_GUTTER);
}

.breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  gap:var(--gap-breadcrumb);
  width:calc(100% - var(--WIDTH_PAGE_TOP) - 24px);
}

.breadcrumb__item{
  align-items:center;
  column-gap:var(--gap-breadcrumb);
  display:flex;
  font-size:1.2rem;
  font-weight:var(--FONT_WEIGHT_MEDIUM);
}
.breadcrumb__item:not(:last-of-type):after{
  background-color:var(--COLOR_INACTIVE);
  content:"";
  display:block;
  height:13px;
  transform:rotate(30deg);
  width:1px;
}

.breadcrumb__link{
  text-decoration:underline;
}

.breadcrumb__current{
  color:var(--COLOR_INACTIVE);
  text-decoration:none;
}

.header{
  --width-contact:144px;
  --width-logo:188px;
  --height-logo:21px;
  background-color:var(--COLOR_BASE);
  box-shadow:0 2px 5px 0 #00000012;
  position:sticky;
  top:0;
  z-index:3000;
}
.header.is-mv{
  box-shadow:0 2px 5px 0 #00000008;
}

.header__inner{
  align-items:center;
  column-gap:28px;
  display:flex;
  justify-content:space-between;
  padding:15px var(--OUTSIDE_GUTTER);
}

.header__logo{
  grid-column:2;
  grid-row:1;
  height:var(--height-logo);
  line-height:1;
  width:var(--width-logo);
}

.header__logo-link{
  display:flex;
}

.header__logo-img{
  height:100%;
}

.header-menu__button{
  --width-menu-button:28px;
  display:none;
  height:22px;
  overflow:hidden;
  position:relative;
  width:var(--width-menu-button);
}
.header-menu__button:after,.header-menu__button:before{
  background-color:var(--COLOR_SECONDARY);
  content:"";
  height:1px;
  left:0;
  position:absolute;
  transition:transform var(--TRANSITION);
  width:100%;
}
.header-menu__button:before{
  top:7px;
}
.header-menu__button:after{
  bottom:7px;
}
:where(.header-menu.is-open) .header-menu__button{
  --width-menu-button:22px;
}
:where(.header-menu.is-open) .header-menu__button:after,:where(.header-menu.is-open) .header-menu__button:before{
  top:50%;
}
:where(.header-menu.is-open) .header-menu__button:before{
  transform:rotate(45deg);
}
:where(.header-menu.is-open) .header-menu__button:after{
  transform:rotate(-45deg);
}

.header-menu__button-text{
  clip-path:inset(50%);
  color:initial;
  display:block;
  height:1px;
  overflow:hidden;
  white-space:nowrap;
  width:1px;
}

.header-menu__content{
  background-color:var(--COLOR_BASE);
  display:flex;
  width:100%;
}

.header-nav__list{
  column-gap:16px;
  display:flex;
  flex-direction:column;
}

.header-nav__item{
  font-weight:var(--FONT_WEIGHT_MEDIUM);
}

.header-nav__link{
  align-items:center;
  column-gap:16px;
  display:flex;
  justify-content:space-between;
  transition:opacity var(--TRANSITION);
}

.header-contact{
  color:var(--COLOR_BASE);
  margin-bottom:16px;
}

.header-contact,.header-contact__link{
  align-items:center;
  display:flex;
  justify-content:center;
}

.header-contact__link{
  background-color:var(--COLOR_ACCENT);
  column-gap:8px;
  font-weight:var(--FONT_WEIGHT_BOLD);
  height:100%;
  padding:12px;
}

.header-contact__link,.page-top{
  transition:opacity var(--TRANSITION);
  width:100%;
}

.page-top{
  bottom:var(--WIDTH_PAGE_TOP);
  height:0;
  opacity:0;
  pointer-events:none;
  position:sticky;
  visibility:hidden;
  z-index:1000;
}
.page-top.is-shown{
  opacity:1;
}
.page-top.is-visible{
  visibility:visible;
}

.page-top__inner{
  bottom:calc(var(--WIDTH_PAGE_TOP)/2);
  padding-inline:var(--OUTSIDE_GUTTER);
  position:relative;
}

.page-top__link{
  background-color:var(--COLOR_SECONDARY);
  height:var(--WIDTH_PAGE_TOP);
  justify-content:center;
  margin-inline-start:auto;
  pointer-events:auto;
  position:relative;
  transition:opacity var(--TRANSITION);
  width:var(--WIDTH_PAGE_TOP);
}

.page-top__link,.page-top__text{
  align-items:center;
  display:flex;
}

.page-top__text{
  color:var(--COLOR_BASE);
  flex-direction:column;
  font-family:var(--FONT_FAMILY_RELIEF);
  font-size:1rem;
  letter-spacing:.12em;
  line-height:1.2;
  row-gap:2px;
}
.page-top__text:before{
  background-color:var(--COLOR_BASE);
  content:"";
  display:block;
  height:11px;
  mask:url(/common/img/icon/page-top.svg) no-repeat center/contain;
  width:20px;
}

.footer{
  position:relative;
}

.footer-nav{
  background-color:#858a7f;
  color:var(--COLOR_BASE);
}

.footer-nav__list{
  --gap-footer-nav:24px;
  display:grid;
  gap:20px 5px;
  grid-template-columns:repeat(2, 1fr);
  padding:48px var(--OUTSIDE_GUTTER);
}

.footer-nav__item{
  position:relative;
}

.footer-nav__link{
  align-items:center;
  display:flex;
  font-weight:var(--FONT_WEIGHT_MEDIUM);
  transition:opacity var(--TRANSITION);
}

.footer-utility{
  background-color:#0a2b14;
  color:var(--COLOR_BASE);
}

.footer-utility__inner{
  align-items:center;
  display:flex;
  flex-direction:column;
  padding:24px var(--OUTSIDE_GUTTER);
  row-gap:24px;
}

.footer-utility__list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
}

.footer-utility__link{
  font-size:1.2rem;
  font-weight:var(--FONT_WEIGHT_MEDIUM);
  transition:opacity var(--TRANSITION);
}

.footer-utility__copy{
  font-size:1rem;
}

.wrapper{
  position:relative;
  z-index:0;
}

.svg{
  display:none;
}

.text{
  margin-top:24px;
}

.text__item+.text__item{
  margin-top:8px;
}

.media{
  margin-top:32px;
}

.media__item{
  align-items:center;
  display:flex;
  flex-direction:column-reverse;
}

.media__caption{
  font-size:1.2rem;
  margin-top:8px;
  text-align:center;
}

.media-layout{
  display:flex;
  flex-direction:column-reverse;
  gap:24px;
  margin-top:32px;
}

.media-layout__content{
  flex:1;
  min-width:50%;
}

.media-map{
  margin-top:32px;
}

.media-map__iframe{
  aspect-ratio:343/388;
  height:100%;
  width:100%;
}

.list{
  display:flex;
  flex-direction:column;
  margin-top:24px;
  row-gap:8px;
}
.list .list{
  padding-inline-start:4px;
}
.list .list,.list .list-number{
  margin-top:8px;
}

.list__item{
  font-weight:var(--FONT_WEIGHT_MEDIUM);
  padding-inline-start:12px;
  position:relative;
}
.list__item:before{
  background-color:var(--COLOR_PRIMARY);
  border-radius:50%;
  content:"";
  display:block;
  height:4px;
  left:0;
  position:absolute;
  top:.7em;
  width:4px;
}
.list .list .list__item:before{
  background-color:initial;
  border:1px solid var(--COLOR_PRIMARY);
}

.list-number{
  display:flex;
  flex-direction:column;
  margin-top:24px;
  row-gap:8px;
}
.list-number .list,.list-number .list-number{
  left:-8px;
  margin-top:8px;
  position:relative;
}

.list-number__item{
  column-gap:8px;
  display:flex;
  font-weight:var(--FONT_WEIGHT_MEDIUM);
}

.list-note{
  display:flex;
  flex-direction:column;
  margin-top:16px;
  row-gap:8px;
}
.list .list-note{
  margin-top:8px;
}
.list-number .list-note{
  left:-8px;
  margin-top:8px;
  position:relative;
}

.list-note__item{
  column-gap:8px;
  display:flex;
  font-size:1.2rem;
}

.list-description{
  display:flex;
  flex-direction:column;
  margin-top:24px;
  row-gap:24px;
}

.list-description__item{
  display:flex;
  flex-direction:column;
  row-gap:8px;
}

.list-description__dt{
  font-weight:var(--FONT_WEIGHT_BOLD);
}

.list-news{
  margin-top:56px;
}

.list-news__item+.list-news__item{
  border-top:1px solid var(--COLOR_BORDER_1);
}

.list-news__link{
  align-items:center;
  column-gap:16px;
  display:flex;
  justify-content:space-between;
  padding:24px 8px;
  width:100%;
}
.list-news__link:any-link:after{
  background-color:var(--COLOR_PRIMARY);
  content:"";
  display:block;
  flex-shrink:0;
  height:4px;
  mask:url(/common/img/icon/arrow.svg) no-repeat center/contain;
  transition:transform var(--TRANSITION);
  width:16px;
}

.list-news__link-inner{
  display:flex;
  flex-direction:column;
  row-gap:8px;
}

.list-news__date{
  color:var(--COLOR_INACTIVE);
  font-size:1.2rem;
}

.list-news__text{
  transition:color var(--TRANSITION);
}

.icon-blank{
  height:10px;
  margin-inline-start:8px;
  width:14px;
}
.button .icon-blank,.button--em .icon-blank,.footer-nav__link .icon-blank,.header-contact__link .icon-blank,.link .icon-blank,.link-text .icon-blank{
  fill:currentColor;
}
.header-contact__link .icon-blank{
  margin:0;
}
.link-text .icon-blank{
  margin-inline-end:4px;
  position:relative;
  top:-.4em;
}
.link-liner__item .icon-blank{
  fill:var(--COLOR_PRIMARY);
  margin-inline-start:10px;
}
.list-news__text .icon-blank{
  position:relative;
  top:-.5em;
  fill:var(--COLOR_PRIMARY);
}
.button .icon-blank{
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
}

.icon-pdf{
  height:15px;
  margin-inline-start:8px;
  width:12px;
}
.link-text .icon-pdf{
  margin-inline-end:4px;
  position:relative;
  top:-.35em;
}
.list-news__text .icon-pdf{
  position:relative;
  top:-.4em;
}
.button .icon-pdf{
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
}

.u-contents{
  display:contents !important;
}

.u-hidden{
  display:none !important;
}
.u-mt-0{
  margin-top:0 !important;
}

.u-mt-8{
  margin-top:8px !important;
}

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

.u-mt-24{
  margin-top:24px !important;
}

.u-mt-32{
  margin-top:32px !important;
}

.u-mt-40{
  margin-top:40px !important;
}

.u-mt-48{
  margin-top:48px !important;
}

.u-mt-56{
  margin-top:56px !important;
}

.u-mt-64{
  margin-top:64px !important;
}

.u-mt-72{
  margin-top:72px !important;
}

.u-mt-80{
  margin-top:80px !important;
}

.u-mt-88{
  margin-top:88px !important;
}

.u-mt-96{
  margin-top:96px !important;
}

.u-mt-104{
  margin-top:104px !important;
}

.u-mt-112{
  margin-top:112px !important;
}

.u-mt-120{
  margin-top:120px !important;
}

.u-mt-128{
  margin-top:128px !important;
}

.u-mt-136{
  margin-top:136px !important;
}

.u-mt-144{
  margin-top:144px !important;
}

.u-mt-152{
  margin-top:152px !important;
}

.u-mt-160{
  margin-top:160px !important;
}
.u-text-center{
  text-align:center !important;
}
.u-text-end{
  text-align:end !important;
}
.u-justify-center{
  justify-content:center !important;
}
.u-justify-end{
  justify-content:flex-end !important;
}
.u-w-1{
  width:1% !important;
}

.u-w-2{
  width:2% !important;
}

.u-w-3{
  width:3% !important;
}

.u-w-4{
  width:4% !important;
}

.u-w-5{
  width:5% !important;
}

.u-w-6{
  width:6% !important;
}

.u-w-7{
  width:7% !important;
}

.u-w-8{
  width:8% !important;
}

.u-w-9{
  width:9% !important;
}

.u-w-10{
  width:10% !important;
}

.u-w-11{
  width:11% !important;
}

.u-w-12{
  width:12% !important;
}

.u-w-13{
  width:13% !important;
}

.u-w-14{
  width:14% !important;
}

.u-w-15{
  width:15% !important;
}

.u-w-16{
  width:16% !important;
}

.u-w-17{
  width:17% !important;
}

.u-w-18{
  width:18% !important;
}

.u-w-19{
  width:19% !important;
}

.u-w-20{
  width:20% !important;
}

.u-w-21{
  width:21% !important;
}

.u-w-22{
  width:22% !important;
}

.u-w-23{
  width:23% !important;
}

.u-w-24{
  width:24% !important;
}

.u-w-25{
  width:25% !important;
}

.u-w-26{
  width:26% !important;
}

.u-w-27{
  width:27% !important;
}

.u-w-28{
  width:28% !important;
}

.u-w-29{
  width:29% !important;
}

.u-w-30{
  width:30% !important;
}

.u-w-31{
  width:31% !important;
}

.u-w-32{
  width:32% !important;
}

.u-w-33{
  width:33% !important;
}

.u-w-34{
  width:34% !important;
}

.u-w-35{
  width:35% !important;
}

.u-w-36{
  width:36% !important;
}

.u-w-37{
  width:37% !important;
}

.u-w-38{
  width:38% !important;
}

.u-w-39{
  width:39% !important;
}

.u-w-40{
  width:40% !important;
}

.u-w-41{
  width:41% !important;
}

.u-w-42{
  width:42% !important;
}

.u-w-43{
  width:43% !important;
}

.u-w-44{
  width:44% !important;
}

.u-w-45{
  width:45% !important;
}

.u-w-46{
  width:46% !important;
}

.u-w-47{
  width:47% !important;
}

.u-w-48{
  width:48% !important;
}

.u-w-49{
  width:49% !important;
}

.u-w-50{
  width:50% !important;
}

.u-w-51{
  width:51% !important;
}

.u-w-52{
  width:52% !important;
}

.u-w-53{
  width:53% !important;
}

.u-w-54{
  width:54% !important;
}

.u-w-55{
  width:55% !important;
}

.u-w-56{
  width:56% !important;
}

.u-w-57{
  width:57% !important;
}

.u-w-58{
  width:58% !important;
}

.u-w-59{
  width:59% !important;
}

.u-w-60{
  width:60% !important;
}

.u-w-61{
  width:61% !important;
}

.u-w-62{
  width:62% !important;
}

.u-w-63{
  width:63% !important;
}

.u-w-64{
  width:64% !important;
}

.u-w-65{
  width:65% !important;
}

.u-w-66{
  width:66% !important;
}

.u-w-67{
  width:67% !important;
}

.u-w-68{
  width:68% !important;
}

.u-w-69{
  width:69% !important;
}

.u-w-70{
  width:70% !important;
}

.u-w-71{
  width:71% !important;
}

.u-w-72{
  width:72% !important;
}

.u-w-73{
  width:73% !important;
}

.u-w-74{
  width:74% !important;
}

.u-w-75{
  width:75% !important;
}

.u-w-76{
  width:76% !important;
}

.u-w-77{
  width:77% !important;
}

.u-w-78{
  width:78% !important;
}

.u-w-79{
  width:79% !important;
}

.u-w-80{
  width:80% !important;
}

.u-w-81{
  width:81% !important;
}

.u-w-82{
  width:82% !important;
}

.u-w-83{
  width:83% !important;
}

.u-w-84{
  width:84% !important;
}

.u-w-85{
  width:85% !important;
}

.u-w-86{
  width:86% !important;
}

.u-w-87{
  width:87% !important;
}

.u-w-88{
  width:88% !important;
}

.u-w-89{
  width:89% !important;
}

.u-w-90{
  width:90% !important;
}

.u-w-91{
  width:91% !important;
}

.u-w-92{
  width:92% !important;
}

.u-w-93{
  width:93% !important;
}

.u-w-94{
  width:94% !important;
}

.u-w-95{
  width:95% !important;
}

.u-w-96{
  width:96% !important;
}

.u-w-97{
  width:97% !important;
}

.u-w-98{
  width:98% !important;
}

.u-w-99{
  width:99% !important;
}

.u-w-100{
  width:100% !important;
}
.js-carousel__slide:nth-child(n+2){
  display:none;
}

.js-carousel-initialized{
  overflow:hidden;
}
.js-carousel-initialized :is(.top-hero-carousel__track,.top-hero-carousel__control){
  display:flex;
}
.js-carousel-initialized .js-carousel__slide:nth-child(n+2){
  display:block;
}

.js-carousel__toggleText{
  height:1px;
  overflow:hidden;
  position:absolute;
  width:1px;
  clip:rect(1px, 1px, 1px, 1px);
}

@media (hover:hover) and (min-width:768px){
  .top-link:hover:before{
    transform:translateX(3px);
  }
  .top-link:hover:after{
    width:calc(100% + 3px);
  }
  .breadcrumb__link:hover{
    text-decoration:none;
  }
  .header-contact__link:hover,.header-nav__link:hover{
    opacity:var(--OPACITY);
  }
  .page-top__link:hover{
    opacity:.8;
  }
  .footer-nav__link:hover,.footer-utility__link:hover{
    opacity:var(--OPACITY);
  }
  .list-news__link:any-link:hover:after{
    transform:translateX(3px);
  }
  .list-news__link:any-link:hover .list-news__text{
    color:var(--COLOR_PRIMARY);
  }}

@media (min-width:768px){
  .top-content__outer{
    padding-block:160px;
  }
  .top-shareholder__content .top-section-content-wrapper{
    margin-top:88px;
    row-gap:72px;
  }
  .top-heading-lv2{
    margin-bottom:48px;
  }
  .top-heading-lv2__main{
    font-size:4.8rem;
  }
  .top-heading-lv2__sub{
    font-size:2rem;
  }
  .top-link{
    margin-top:56px;
  }
  .top-hero{
    --padding-hero-carousel:60px;
  }
  .top-hero-carousel__content{
    bottom:var(--padding-bottom-hero-carousel-control);
    min-height:56svh;
  }
  .top-hero-carousel__catch{
    max-width:592px;
  }
  .top-hero-carousel__scroll{
    font-size:2rem;
  }
  .top-hero-carousel__control{
    --size-hero-carousel-toggle:14px;
    column-gap:32px;
    padding-bottom:42px;
  }
  .top-hero-carousel__toggle.is-active:after,.top-hero-carousel__toggle.is-active:before{
    width:2px;
  }
  .top-hero-carousel__pagination{
    gap:16px;
  }
  .top-hero-carousel__pagination-item{
    width:20px;
  }
  .top-hero-carousel__pagination-item:before{
    height:2px;
  }
  .top-about__img{
    column-gap:32px;
    max-width:608px;
  }
  .top-about__img-item{
    height:576px;
  }
  .top-service{
    margin-top:calc(114px + var(--negative-margin-service));
  }
  .top-service__img-item{
    height:345px;
  }
  .top-contact{
    margin-top:128px;
  }
  .top-contact__img-item{
    height:312px;
  }
  .top-news{
    margin-top:128px;
  }
  .top-news__content{
    padding-block:112px;
  }
  .top-shareholder{
    margin-top:128px;
  }
  .top-shareholder__content{
    margin-inline:auto;
    max-width:var(--WIDTH_CONTENT);
  }
  :root{
    --WIDTH_CONTENT:1440px;
    --WIDTH_PAGE_TOP:56px;
    --HEIGHT_HEADER:80px;
    --OUTSIDE_GUTTER:60px;
    --FONT_SIZE:1.6rem;
  }
  .breadcrumb{
    --gap-breadcrumb:16px;
  }
  .breadcrumb__inner{
    margin-inline:auto;
    max-width:var(--WIDTH_CONTENT);
  }
  .header{
    --width-logo:230px;
    --height-logo:26px;
  }
  .header__inner{
    padding:23px calc(var(--width-contact) + 40px) 26px var(--OUTSIDE_GUTTER);
  }
  .header__content{
    flex:1;
  }
  .header-menu__button{
    display:none;
  }
  .header-menu__content{
    justify-content:flex-end;
  }
  .header-nav__list{
    column-gap:32px;
    flex-direction:row;
    flex-wrap:wrap;
  }
  .header-contact{
    height:100%;
    position:absolute;
    right:0;
    top:0;
  }
  .header-contact__link{
    font-size:1.4rem;
    padding:18px;
    width:var(--width-contact);
  }
  .page-top{
    --WIDTH_PAGE_TOP:56px;
  }
  .page-top__inner{
    margin-inline:auto;
    max-width:var(--WIDTH_CONTENT);
  }
  .page-top__text{
    letter-spacing:.18em;
    line-height:var(--LINE_HEIGHT_TIGHT);
  }
  .page-top__text:before{
    height:13px;
    width:24px;
  }
  .footer-nav__list{
    column-gap:var(--gap-footer-nav);
    display:flex;
    flex-wrap:wrap;
    margin-inline:auto;
    max-width:var(--WIDTH_CONTENT);
  }
  .footer-nav__item:not(:last-of-type){
    padding-inline-end:var(--gap-footer-nav);
  }
  .footer-nav__item:not(:last-of-type):after{
    --height-footer-nav-bar:22px;
    background-color:var(--COLOR_BASE);
    content:"";
    height:var(--height-footer-nav-bar);
    position:absolute;
    right:0;
    top:calc(50% - var(--height-footer-nav-bar)/2);
    width:1px;
  }
  .footer-utility__inner{
    flex-direction:row;
    justify-content:space-between;
    margin-inline:auto;
    max-width:var(--WIDTH_CONTENT);
    padding-block:28px;
  }
  .footer-utility__list{
    column-gap:64px;
  }
  .footer-utility__link{
    font-size:1.4rem;
  }
  .media,.media-layout{
    margin-top:56px;
  }
  .media-layout{
    flex-direction:row-reverse;
    gap:56px;
  }
  .media-layout--row-pc{
    flex-direction:row;
  }
  .media-map{
    margin-top:56px;
  }
  .media-map__iframe{
    aspect-ratio:11/4;
  }
  .list{
    margin-top:32px;
  }
  .list .list{
    padding-inline-start:12px;
  }
  .list__item{
    padding-inline-start:14px;
  }
  .list__item:before{
    height:6px;
    width:6px;
  }
  .list-number{
    margin-top:32px;
  }
  .list-note__item{
    font-size:1.4rem;
  }
  .list-description{
    margin-top:32px;
    row-gap:32px;
  }
  .list-news{
    margin-top:128px;
  }
  .top-news__content .list-news{
    margin-top:0;
    max-width:992px;
  }
  .list-news__link{
    column-gap:32px;
    padding-block:40px;
  }
  .list-news__link:any-link:after{
    height:9px;
    width:35px;
  }
  .list-news__link-inner{
    row-gap:24px;
  }
  .list-news__date{
    font-size:1.4rem;
  }
  .link-liner__item .icon-blank{
    margin-inline-start:24px;
  }
  .md\:u-contents{
    display:contents !important;
  }
  .md\:u-hidden{
    display:none !important;
  }
  .md\:u-mt-0{
    margin-top:0 !important;
  }
  .md\:u-mt-8{
    margin-top:8px !important;
  }
  .md\:u-mt-16{
    margin-top:16px !important;
  }
  .md\:u-mt-24{
    margin-top:24px !important;
  }
  .md\:u-mt-32{
    margin-top:32px !important;
  }
  .md\:u-mt-40{
    margin-top:40px !important;
  }
  .md\:u-mt-48{
    margin-top:48px !important;
  }
  .md\:u-mt-56{
    margin-top:56px !important;
  }
  .md\:u-mt-64{
    margin-top:64px !important;
  }
  .md\:u-mt-72{
    margin-top:72px !important;
  }
  .md\:u-mt-80{
    margin-top:80px !important;
  }
  .md\:u-mt-88{
    margin-top:88px !important;
  }
  .md\:u-mt-96{
    margin-top:96px !important;
  }
  .md\:u-mt-104{
    margin-top:104px !important;
  }
  .md\:u-mt-112{
    margin-top:112px !important;
  }
  .md\:u-mt-120{
    margin-top:120px !important;
  }
  .md\:u-mt-128{
    margin-top:128px !important;
  }
  .md\:u-mt-136{
    margin-top:136px !important;
  }
  .md\:u-mt-144{
    margin-top:144px !important;
  }
  .md\:u-mt-152{
    margin-top:152px !important;
  }
  .md\:u-mt-160{
    margin-top:160px !important;
  }
  .md\:u-text-center{
    text-align:center !important;
  }
  .md\:u-text-end{
    text-align:end !important;
  }
  .md\:u-justify-center{
    justify-content:center !important;
  }
  .md\:u-justify-end{
    justify-content:flex-end !important;
  }
  .md\:u-w-1{
    width:1% !important;
  }
  .md\:u-w-2{
    width:2% !important;
  }
  .md\:u-w-3{
    width:3% !important;
  }
  .md\:u-w-4{
    width:4% !important;
  }
  .md\:u-w-5{
    width:5% !important;
  }
  .md\:u-w-6{
    width:6% !important;
  }
  .md\:u-w-7{
    width:7% !important;
  }
  .md\:u-w-8{
    width:8% !important;
  }
  .md\:u-w-9{
    width:9% !important;
  }
  .md\:u-w-10{
    width:10% !important;
  }
  .md\:u-w-11{
    width:11% !important;
  }
  .md\:u-w-12{
    width:12% !important;
  }
  .md\:u-w-13{
    width:13% !important;
  }
  .md\:u-w-14{
    width:14% !important;
  }
  .md\:u-w-15{
    width:15% !important;
  }
  .md\:u-w-16{
    width:16% !important;
  }
  .md\:u-w-17{
    width:17% !important;
  }
  .md\:u-w-18{
    width:18% !important;
  }
  .md\:u-w-19{
    width:19% !important;
  }
  .md\:u-w-20{
    width:20% !important;
  }
  .md\:u-w-21{
    width:21% !important;
  }
  .md\:u-w-22{
    width:22% !important;
  }
  .md\:u-w-23{
    width:23% !important;
  }
  .md\:u-w-24{
    width:24% !important;
  }
  .md\:u-w-25{
    width:25% !important;
  }
  .md\:u-w-26{
    width:26% !important;
  }
  .md\:u-w-27{
    width:27% !important;
  }
  .md\:u-w-28{
    width:28% !important;
  }
  .md\:u-w-29{
    width:29% !important;
  }
  .md\:u-w-30{
    width:30% !important;
  }
  .md\:u-w-31{
    width:31% !important;
  }
  .md\:u-w-32{
    width:32% !important;
  }
  .md\:u-w-33{
    width:33% !important;
  }
  .md\:u-w-34{
    width:34% !important;
  }
  .md\:u-w-35{
    width:35% !important;
  }
  .md\:u-w-36{
    width:36% !important;
  }
  .md\:u-w-37{
    width:37% !important;
  }
  .md\:u-w-38{
    width:38% !important;
  }
  .md\:u-w-39{
    width:39% !important;
  }
  .md\:u-w-40{
    width:40% !important;
  }
  .md\:u-w-41{
    width:41% !important;
  }
  .md\:u-w-42{
    width:42% !important;
  }
  .md\:u-w-43{
    width:43% !important;
  }
  .md\:u-w-44{
    width:44% !important;
  }
  .md\:u-w-45{
    width:45% !important;
  }
  .md\:u-w-46{
    width:46% !important;
  }
  .md\:u-w-47{
    width:47% !important;
  }
  .md\:u-w-48{
    width:48% !important;
  }
  .md\:u-w-49{
    width:49% !important;
  }
  .md\:u-w-50{
    width:50% !important;
  }
  .md\:u-w-51{
    width:51% !important;
  }
  .md\:u-w-52{
    width:52% !important;
  }
  .md\:u-w-53{
    width:53% !important;
  }
  .md\:u-w-54{
    width:54% !important;
  }
  .md\:u-w-55{
    width:55% !important;
  }
  .md\:u-w-56{
    width:56% !important;
  }
  .md\:u-w-57{
    width:57% !important;
  }
  .md\:u-w-58{
    width:58% !important;
  }
  .md\:u-w-59{
    width:59% !important;
  }
  .md\:u-w-60{
    width:60% !important;
  }
  .md\:u-w-61{
    width:61% !important;
  }
  .md\:u-w-62{
    width:62% !important;
  }
  .md\:u-w-63{
    width:63% !important;
  }
  .md\:u-w-64{
    width:64% !important;
  }
  .md\:u-w-65{
    width:65% !important;
  }
  .md\:u-w-66{
    width:66% !important;
  }
  .md\:u-w-67{
    width:67% !important;
  }
  .md\:u-w-68{
    width:68% !important;
  }
  .md\:u-w-69{
    width:69% !important;
  }
  .md\:u-w-70{
    width:70% !important;
  }
  .md\:u-w-71{
    width:71% !important;
  }
  .md\:u-w-72{
    width:72% !important;
  }
  .md\:u-w-73{
    width:73% !important;
  }
  .md\:u-w-74{
    width:74% !important;
  }
  .md\:u-w-75{
    width:75% !important;
  }
  .md\:u-w-76{
    width:76% !important;
  }
  .md\:u-w-77{
    width:77% !important;
  }
  .md\:u-w-78{
    width:78% !important;
  }
  .md\:u-w-79{
    width:79% !important;
  }
  .md\:u-w-80{
    width:80% !important;
  }
  .md\:u-w-81{
    width:81% !important;
  }
  .md\:u-w-82{
    width:82% !important;
  }
  .md\:u-w-83{
    width:83% !important;
  }
  .md\:u-w-84{
    width:84% !important;
  }
  .md\:u-w-85{
    width:85% !important;
  }
  .md\:u-w-86{
    width:86% !important;
  }
  .md\:u-w-87{
    width:87% !important;
  }
  .md\:u-w-88{
    width:88% !important;
  }
  .md\:u-w-89{
    width:89% !important;
  }
  .md\:u-w-90{
    width:90% !important;
  }
  .md\:u-w-91{
    width:91% !important;
  }
  .md\:u-w-92{
    width:92% !important;
  }
  .md\:u-w-93{
    width:93% !important;
  }
  .md\:u-w-94{
    width:94% !important;
  }
  .md\:u-w-95{
    width:95% !important;
  }
  .md\:u-w-96{
    width:96% !important;
  }
  .md\:u-w-97{
    width:97% !important;
  }
  .md\:u-w-98{
    width:98% !important;
  }
  .md\:u-w-99{
    width:99% !important;
  }
  .md\:u-w-100{
    width:100% !important;
  }}

@media (min-width:1024px){
  .top-content__outer{
    padding-block:256px;
  }
  .top-shareholder__content .top-section-content-wrapper{
    margin-top:136px;
    row-gap:96px;
  }
  .top-media-layout{
    column-gap:72px;
    flex-direction:row-reverse;
  }
  .top-hero-carousel__catch{
    max-width:726px;
  }
  .top-about{
    grid-template-columns:auto 88px 1fr var(--OUTSIDE_GUTTER);
    margin-inline:auto;
    max-width:var(--WIDTH_CONTENT);
  }
  .top-about__content{
    grid-column:3 /  4;
    padding:104px 0;
  }
  .top-about__img{
    grid-column:1 /  2;
    max-width:none;
    width:clamp(354px, 101vw - 873px, 712px);
  }
  .top-about__img-item{
    height:687px;
  }
  .top-about__img-item--left{
    margin-top:140px;
  }
  .top-about__img-item--right{
    margin-top:0;
  }
  .top-service{
    --negative-margin-service:88px;
    --gap-service:88px;
    display:grid;
    grid-template-columns:1fr minmax(auto, var(--WIDTH_CONTENT)) 1fr;
    margin-top:calc(88px + var(--negative-margin-service));
  }
  .top-service__inner{
    flex-direction:row;
    grid-column:2 /  3;
    padding-inline:var(--OUTSIDE_GUTTER);
  }
  .top-service__content{
    padding:104px 0 88px;
    width:calc(100% - var(--width-service-content) - var(--gap-service));
  }
  .top-service__img{
    margin-bottom:88px;
    width:var(--width-service-content);
  }
  .top-service__img-item{
    height:600px;
  }
  .top-contact{
    column-gap:88px;
    flex-direction:row-reverse;
    margin:200px auto 0;
    max-width:var(--WIDTH_CONTENT);
  }
  .top-contact__content{
    padding:104px var(--OUTSIDE_GUTTER) 104px 0;
    width:calc(100% - var(--width-contact-img) - 88px);
  }
  .top-contact__img{
    width:var(--width-contact-img);
  }
  .top-contact__img-item{
    height:527px;
  }
  .top-news{
    margin-top:175px;
  }
  .top-news__content{
    align-items:flex-start;
    column-gap:200px;
    display:flex;
    margin-inline:auto;
    max-width:var(--WIDTH_CONTENT);
    padding-block:120px;
  }
  .top-shareholder{
    margin-top:176px;
  }
  .header{
    --width-contact:215px;
    --width-logo:305px;
    --height-logo:34px;
  }
  .header__inner{
    display:grid;
    grid-template-columns:calc((100% - var(--width-logo))/2) var(--width-logo) calc((100% - var(--width-logo))/2);
    padding:23px var(--OUTSIDE_GUTTER);
  }
  .header__content{
    grid-column:1;
  }
  .header-menu__content{
    justify-content:flex-start;
  }
  .header-nav__list{
    column-gap:40px;
  }
  .header-contact__link{
    font-size:1.8rem;
  }
  .header-contact__link:after{
    position:relative;
    top:2px;
  }}

@media (max-width:1023px){
  .top-media-layout{
    align-items:center;
  }
  .top-service__img{
    padding-inline:var(--OUTSIDE_GUTTER);
  }}

@media (max-width:767px){
  .header-menu__content{
    flex-direction:column;
    height:calc(100dvh - var(--HEIGHT_HEADER));
    left:0;
    opacity:0;
    padding-inline:var(--OUTSIDE_GUTTER);
    position:absolute;
    row-gap:32px;
    top:var(--HEIGHT_HEADER);
    transition:opacity var(--TRANSITION), visibility var(--TRANSITION);
    visibility:hidden;
    z-index:2000;
  }
  :where(.header-menu.is-open) .header-menu__content{
    opacity:1;
    visibility:visible;
  }
  .header-nav{
    margin-top:48px;
    overflow:auto;
  }
  .header-nav__link{
    border-bottom:1px solid var(--COLOR_BORDER_1);
    font-size:1.6rem;
    padding-block:24px;
  }
  .header-nav__link:after{
    background-color:var(--COLOR_SECONDARY);
    content:"";
    height:4px;
    mask:url(/common/img/icon/arrow.svg) no-repeat center/contain;
    width:16px;
  }
  .header-nav__link:focus-visible{
    outline-offset:-1px;
  }
  .header-nav__item:last-child .header-nav__link{
    border-bottom:none;
  }}
