/*------------------------------------------------
fonts
------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&family=Noto+Sans+JP:wght@100..900&display=swap');
/*------------------------------------------------
Reset
------------------------------------------------*/
*,*::before,*::after{box-sizing:border-box;}
html{line-height:1.5;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{margin:0;min-height:100vh;}
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
a{color:inherit;text-decoration:none;}
img,svg,video,canvas,audio,iframe,embed,object{display:block;max-width:100%;}
img,video{height:auto;}
picture,source{display:block;}
table{border-collapse:collapse;border-spacing:0;width:100%;}
th,td{padding:0;}
fieldset{border:0;margin:0;padding:0;}
legend{padding:0;}
hr{height:0;border:0;border-top:1px solid;color:inherit;}
b,strong{font-weight:700;}
small{font-size:80%;}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}
sub{bottom:-.25em;}
sup{top:-.5em;}
code,kbd,samp,pre{font-family: "Noto Sans JP", sans-serif;font-size:1em;}
pre{white-space:pre-wrap;}
abbr[title]{text-decoration:underline dotted;}
button,input,select,textarea{font:inherit;color:inherit;background:transparent;border:0;margin:0;padding:0;-webkit-appearance:none;appearance:none;}
button{cursor:pointer;}
:disabled{cursor:not-allowed;}
input::placeholder,textarea::placeholder{opacity:1;}
textarea{resize:vertical;overflow:auto;}
input{border-radius:0;}
select::-ms-expand{display:none;}
summary{cursor:pointer;list-style:none;}
summary::-webkit-details-marker{display:none;}
dialog{border:none;padding:0;}
dialog::backdrop{background:rgba(0,0,0,.4);}
svg{fill:currentColor;}
:focus,:focus-visible{outline: none !important;box-shadow: none !important;}
[tabindex],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}
img,input,svg,a,a:hover,a img,a input,*::before,*::after{backface-visibility:hidden;-webkit-backface-visibility:hidden}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}
button:focus,button:focus-visible{outline:0!important;box-shadow:none;}
button::-moz-focus-inner{border:0;}
/*------------------------------------------------
Normalize
------------------------------------------------*/
html,body{font-family: "Noto Sans JP", sans-serif;text-align:justify;text-justify:inter-ideograph;text-transform:none;font-variant:normal;word-spacing:auto;word-break:normal;font-feature-settings:"palt";-webkit-text-size-adjust:100%;color-scheme:light;-webkit-tap-highlight-color:transparent;}
html:lang(en),body:lang(en),:lang(en){font-family: "IBM Plex Sans", sans-serif;text-align: left;letter-spacing: 0;}
html{width:100%;font-size:62.5%;height:-webkit-fill-available;}
body{background-color:#fefefe;color:#333333;letter-spacing:.06em;line-height:1.5;font-weight: 400;width:100%;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-font-feature-settings:'palt' 1;-webkit-overflow-scrolling:touch;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.5rem;}
::selection{background-color:rgb(215 215 215 / 35%);}
p{margin:0;font-size:1.5rem;}
a {transition: all .6s ease 0s;outline: 0;display: inline;}
a:hover{opacity:.5;}
a img{border-style:none;outline:0;}
a:active,a img:active{border-style:none;outline:0;}
[class^="icon-"],[class*="icon-"]{font-family:'icomoon';color:#ffffff;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
video{max-width:100%;width:100%;height:auto;vertical-align:bottom;}
img{image-rendering:-webkit-optimize-contrast;display:block;max-width:100%;height:auto;}
img[src$=".svg"]{width:100%;}
.u-userSelectNone{user-select:none;-webkit-user-select:none;}
.u-imgNoDrag img{pointer-events:none;-webkit-user-drag:none;}
img,input,svg,*::before,*::after,a,a:hover img,a:hover input,a:hover,input:hover{backface-visibility:hidden;-webkit-backface-visibility:hidden;}
br{line-height:1;}
input[type="text"], input[type="password"], textarea, select, input[type="url"], input[type="date"], input[type=submit], input[type=file], input[type=checkbox] {outline: none;}

::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    background: #fff;
    border: none;
    border-radius: 0;
    box-shadow: inset 0 0 1px #777;
}
::-webkit-scrollbar-thumb {
    background: #d0d0d0;
    border-radius: 100px;
    box-shadow: none;
}
body:not(.home){opacity: 0;-webkit-transition: opacity .3s ease 0s;transition: opacity .3s ease 0s;}
body.Open_Changed{opacity: 1;}
body.fixed {
  overflow: hidden;
}
/*--
.font-en {
  font-family: "IBM Plex Sans", sans-serif;
}
--*/
.AnimeB {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    transition: opacity .6s,transform .6s;
    will-change: opacity transform;
}

.AnimeB.is-show {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    transition: opacity 1.4s,transform 1.4s;
}



.site-header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
  pointer-events: none;
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin: 0 auto;
  padding-block: 30px;
  padding-inline: 80px;
}

.site-header__logo {
  flex: 0 0 auto;
  pointer-events: auto;
}

.site-header__logo img {
  display: block;
  height: auto;
  max-width: 180px;
}

.site-header__nav-area {
  display: flex;
  align-items: center;
  gap: 32px;
  background: #000000;
  border-radius: 15px;
  padding-inline: 30px;
  pointer-events: auto;
}

.site-header__nav-list {
  display: flex;
  align-items: center;
  gap: 28px;
  list-style: none;
  margin: 0;
  padding: 0;
}

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

a.site-header__contact-link {
  background: #fff;
  color: #D32600;
  font-weight: 600;
  padding-inline: 20px;
  border-radius: 10px;
  padding-block: 6px 9px;
  line-height: 1;
  letter-spacing: 0;
  height: 32px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin-block: 2px 0;
  position: relative;
  z-index: 0;
  overflow: hidden;
  opacity: 1;
}

a.site-header__contact-link:hover {
  color: #fff;
}

a.site-header__contact-link:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background: #D32600;
  width: 100%;
  height: 0;
  transition: height .3s ease;
  z-index: -1;
}

a.site-header__contact-link:hover:before {
  height: 100%;
}

a.site-header__contact-link span.site-header__nav-arrow {
  width: 11px;
  margin-left: 5px;
  transition: filter .3s ease;
  will-change: filter;
  -webkit-filter: brightness(0) saturate(100%) invert(23%) sepia(36%) saturate(5529%) hue-rotate(359deg) brightness(91%) contrast(107%);
  filter: brightness(0) saturate(100%) invert(23%) sepia(36%) saturate(5529%) hue-rotate(359deg) brightness(91%) contrast(107%);
}

a.site-header__contact-link:hover span.site-header__nav-arrow {
  -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(7%) saturate(7500%) hue-rotate(279deg) brightness(123%) contrast(101%);
  filter: brightness(0) saturate(100%) invert(100%) sepia(7%) saturate(7500%) hue-rotate(279deg) brightness(123%) contrast(101%);
}

.site-header__nav-item {
  position: relative;
}

.site-header__nav-head {
  display: flex;
  align-items: center;
  gap: 8px;
}

a.site-header__nav-link {
  color: #fff;
  font-size: 1.4rem;
  letter-spacing: 0;
  font-weight: 500;
  display: block;
  line-height: 1;
  padding-block: 18px;
}

.site-header__nav-link,
.site-header__submenu-link,
.site-header__contact-link,
.site-header__lang-link {
  text-decoration: none;
  color: #111;
}

a.site-header__submenu-link {
  text-align: left;
  white-space: nowrap;
  display: block;
  padding: 2px 0;
}

.site-header__nav-link {
  display: inline-block;
  padding: 10px 0;
  white-space: nowrap;
}

.site-header__submenu {
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  min-width: 220px;
  padding: 16px;
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .25s, visibility .25s, transform .25s;
  border-radius: 15px;
}

.site-header__submenu::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 100%;
  width: 100%;
  height: 12px;
  background: transparent;
}

.site-header__submenu-item + .site-header__submenu-item {
  margin-top: 10px;
}

.site-header__toggle {
  display: none;
  position: relative;
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  flex: 0 0 auto;
}

.site-header__toggle::before,
.site-header__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 1.5px;
  background: #111;
  transform: translate(-50%, -50%);
  transition: transform .25s;
}

.site-header__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.site-header__nav-item.is-open .site-header__toggle::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.site-header__lang, .site-header__lang a {
    color: #fff;
    word-break: keep-all;
    white-space: nowrap;
    font-size: 1.25rem;
}
.site-header__lang a.is-current {
    color: #D32600;
}
a.site-header__logo-link {
  display: block;
  max-width: 180px;
  width: 100%;
}

/* =========================
   mobile menu button
========================= */
.site-header__menu-button {
  display: none;
}

/* =========================
   SP / Tablet
========================= */
@media screen and (max-width: 1023px) {
  .site-header {
    pointer-events: auto;
    z-index: 9999;
  }

  .site-header__inner {
    padding-block: 20px;
    padding-inline: 20px;
    gap: 16px;
  }

  .site-header__logo {
    position: relative;
    z-index: 10020;
  }

  a.site-header__logo-link {
    max-width: 140px;
  }

  .site-header__menu-button {
    display: block;
    position: relative;
    z-index: 10020;
    width: 48px;
    height: 48px;
    margin-left: auto;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    pointer-events: auto;
    flex: 0 0 auto;
  }

  .site-header__menu-button span {
      position: absolute;
      left: 50%;
      width: 24px;
      height: 2px;
      background: #444;
      transform: translateX(-50%);
      transition: top .3s ease, transform .3s ease, opacity .3s ease;
  }

  .site-header__menu-button span:nth-child(1) {
    top: 15px;
  }

  .site-header__menu-button span:nth-child(2) {
    top: 23px;
  }

  .site-header__menu-button span:nth-child(3) {
    top: 31px;
  }
  .site-header.is-open .site-header__menu-button span {
        background: #ffffff;
  }
  .site-header.is-open .site-header__menu-button span:nth-child(1) {
    top: 23px;
    transform: translateX(-50%) rotate(45deg);
  }

  .site-header.is-open .site-header__menu-button span:nth-child(2) {
    opacity: 0;
  }

  .site-header.is-open .site-header__menu-button span:nth-child(3) {
    top: 23px;
    transform: translateX(-50%) rotate(-45deg);
  }

  .site-header::before {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .45);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .35s ease, visibility .35s ease;
    z-index: 10000;
  }

  .site-header.is-open::before {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .site-header__nav-area {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: min(100%, 420px);
    height: 100vh;
    padding: 88px 24px 32px;
    background: #000;
    border-radius: 0;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    z-index: 10010;

    transform: translateX(100%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform 0s ease, opacity .25s ease, visibility .25s ease;
  }
  .site-header__nav-area::-webkit-scrollbar {
    display: none;
  }
  .site-header.is-open .site-header__nav-area {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: transform .35s ease, opacity .25s ease, visibility .25s ease;
  }


  .site-header__nav {
    width: 100%;
  }

  .site-header__nav-list {
    display: block;
    gap: 0;
  }

  .site-header__nav-item {
    border-bottom: 1px solid rgba(255, 255, 255, .15);
  }

  .site-header__nav-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  a.site-header__nav-link,
  .site-header__nav-link {
    display: block;
    flex: 1 1 auto;
    width: 100%;
    padding: 20px 0;
    color: #fff;
    font-size: 1.5rem;
    line-height: 1.4;
    white-space: normal;
  }

  .site-header__toggle {
    display: block;
    position: relative;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
  }

  .site-header__toggle::before,
  .site-header__toggle::after {
    width: 14px;
    height: 2px;
    background: #fff;
  }

  .site-header__submenu {
    position: static;
    top: auto;
    left: auto;
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    pointer-events: none;
    overflow: hidden;

    max-height: 0;
    opacity: 0;
    transform: translateY(-8px);
    visibility: hidden;
    transition:
      max-height .35s ease,
      opacity .25s ease,
      transform .35s ease,
      visibility .35s ease;
  }

  .site-header__nav-item.is-open .site-header__submenu {
    max-height: 500px;
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
  }
  .site-header__submenu::before {
    display: none;
  }
  .site-header__submenu-item + .site-header__submenu-item {
    margin-top: 0;
  }

  .site-header__submenu-item {
    border-top: 1px solid rgba(255, 255, 255, .08);
  }

  a.site-header__submenu-link {
    display: block;
    padding: 14px 0 14px 12px;
    color: rgba(255, 255, 255, .85);
    white-space: normal;
  }

  .site-header__contact {
    margin-top: 24px;
    display: block;
  }

  a.site-header__contact-link {
    width: 100%;
    height: auto;
    padding: 18px 18px 18px;
    margin: 0;
    justify-content: center;
    align-items: center;
    border-radius: 12px;
  }

  .site-header__lang {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-top: 20px;
      padding-top: 20px;
      justify-content: center;
  }
  .site-header__lang, .site-header__lang a {
      font-size: 1.5rem;
  }
  .site-header__lang-link,
  .site-header__lang-separator {
    color: #fff;
  }

  /* PC hoverを無効化 */
  .site-header__nav-item:hover .site-header__submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }
}

@media screen and (max-width: 767px) {
  .site-header__inner {
    padding-inline: 16px;
  }

  .site-header__nav-area {
    width: 100%;
    padding: 88px 20px 24px;
  }
}
@media screen and (min-width: 1024px) {
  .site-header__nav-item.has-children:hover .site-header__submenu,
  .site-header__nav-item.has-children:focus-within .site-header__submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
}

.p-topMv {
    position: relative;
    z-index: 1;
}
.p-topMv__content {
    position: absolute;
    z-index: 2;
    height: 100%;
    width: 100%;
    display: flex;
    flex-flow: column;
    top: -80px;
    left: 0;
    right: 0;
    bottom: 0;
    justify-content: center;
    padding-inline: 100px;
}
.p-topMv__video {
    object-fit: cover;
    height: 100%;
    width: 100%;
    display: block;
    position: relative;
    top: -50%;
    left: -50%;
    transform: translate(50%, 50%);
}
.p-topMv__news {
    position: absolute;
    bottom: 220px;
    width: 100%;
    left: 0;
    right: 0;
    padding-inline: 100px;
    z-index: 2;
}
.p-topMv__scroll {
    position: absolute;
    bottom: 60px;
    width: 100%;
    left: 0;
    right: 0;
    padding-inline: 100px;
    pointer-events: none;
    margin: auto;
    z-index: 2;
}
.p-topMv__videoWrap {
    max-height: 1026px;
    height: 103vh;
    min-height: 770px;
    width: 100%;
    position: relative;
    z-index: 0;
    translate: none;
    rotate: none;
    scale: none;
    clip-path: ellipse(80vw 100% at 50% 0%);
    opacity: 1;
    transform: translate3d(0px, 0px, 0px);
    will-change: auto;
}
.p-topMv__videoWrap:after {
    content: "";
    position: absolute;
    z-index: 1;
    background: rgb(255 255 255 / 65%);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
.p-topMv__scroll_Bar {
    position: relative;
    width: 2px;
    height: 90px;
    overflow: hidden;
    transform: scaleX(.65);
    display: block;
    margin: auto;
}
.p-topMv__scroll_Bar_Body {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #D32600;
    animation: induction 2s ease infinite;
}
@keyframes induction {
    0% {
        transform: translateY(-101%)
    }

    70% {
        transform: translateY(101%)
    }

    to {
        transform: translateY(101%)
    }
}
.p-topMv__scrollText {
    color: #D32600;
    text-align: center;
    font-size: 1.35rem;
    margin-block: 10px 0;
    letter-spacing: 0;
}








.p-topMv__heading {
    font-size: clamp(4rem, 5.8vw, 7.5rem);
    font-weight: 600;
    color: #000000;
    line-height: 1.2;
}
.p-topMv__heading-small{
    display: block;
    letter-spacing: 0;
    font-size: clamp(2.29rem, 3.3vw, 4.25rem);
}
.p-topMv__subheading {
    font-size: clamp(1.04rem, 1.51vw, 1.98rem);
    font-weight: 600;
    color: #000000;
    line-height: 1.2;
    letter-spacing: 0;
    margin-block: 20px;
}
.p-topMv__newsInner {
    border-top: solid 1px #fff;
    display: flex;
    gap: 20px;
    padding-block: 15px 15px;
}
a.p-topMv__newsItem {
    display: flex;
    gap: 20px;
    padding-block: 5px;
    font-weight: 600;
    font-size: 1.25rem;
    width: 100%;
}
.p-topMv__newsTitle {
    background: #D32600;
    color: #fff;
    font-size: 1.2rem;
    padding-inline: 10px;
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    border-radius: 100px;
    padding-block: 8px;
    min-height: 28px;
    max-height: 28px;
    min-width: 95px;
    width: 95px;
    max-width: 95px;
    letter-spacing: 0;
}
.p-topMv__newsText {
    margin-left: auto;
}
.p-topMv__newsIcon {
    width: 10px;
    padding-block: 4px 0;
}
.p-topAbout {
    position: relative;
    z-index: 0;
    margin-block: -220px -100px;
    padding-block: 220px 100px;
}
.p-topAbout:after{
    content: "";
    background: url(/nanocms/wp-content/themes/original_20260322/img/common/Bg_type01.jpg);
    background-position: center;
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    right: 0;
    background-size: cover;
}
.p-topAbout__inner {
    padding-inline: 100px;
    padding-block: 160px 220px;
}
.c-sectionHeading__title {
    font-size: 1.45rem;
    letter-spacing: 0;
    background: #fff;
    border: solid 1px #D32600;
    border-radius: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
    width: 150px;
    height: 150px;
    color: #D32600;
    font-weight: 600;
    min-width: 150px;
    min-height: 150px;
    word-break: keep-all;
    white-space: nowrap;
    text-align: center;
}
.c-sectionHeading {
    display: flex;
    align-items: center;
    position: relative;
}
.c-sectionHeading__line {
    width: 100%;
    height: 1px;
    background: #D32600;
}
.p-topAbout__container {
    display: flex;
    gap: 50px;
    width: 100%;
    max-width: 1100px;
    margin-inline: auto;
}
.p-topAbout__logo {
    max-width: 370px;
    margin-block: 80px 50px;
    margin-inline: 50px 0;
}
.p-topAbout .c-section__head {
    width: 50%;
}
.p-topAbout__body {
    width: 50%;
}
.p-topAbout__lead {
    font-size: 4.5rem;
    line-height: 1.3;
    font-weight: 700;
    margin-block: 20px 30px;
}
.p-topAbout__text{
    line-height: 2;
    font-weight: 500;
    font-size: 1.5rem;
    letter-spacing: 0;
    margin-block: 0 60px;
}
a.c-linkButton {
    border: solid 1px #D32600;
    background: #fff;
    color: #D32600;
    letter-spacing: 0;
    font-size: 1.5rem;
    font-weight: 600;
    padding-inline: 15px;
    padding-block: 12px;
    border-radius: 10px;
    display: inline-flex;
    gap: 15px;
    align-items: center;
    min-width: 180px;
    justify-content: center;
    opacity: 1;
    position: relative;
    height: 50px;
    z-index: 0;
    overflow: hidden;
}
a.c-linkButton:hover {
    color: #fff;
}
a.c-linkButton:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    background: #D32600;
    width: 100%;
    height: 0;
    transition: height .3s ease;
    z-index: -1;
}
a.c-linkButton:hover:before {
    height: 100%;
}
span.c-linkButton__label{
    letter-spacing: 0;
    font-size: 1.5rem;
    font-weight: 500;
}
span.c-linkButton__icon {
    background: #D32600;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    min-width: 30px;
    min-height: 30px;
}
span.c-linkButton__icon img{
    width: 14px;
}
a.c-linkButton.is-narrow {
  padding-right: 40px;
}

a.c-linkButton.is-narrow .c-linkButton__icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}
.p-topBoard,.p-pageBoard {
    background: #000000;
    border-top-left-radius: 100px;
    border-top-right-radius: 100px;
    position: relative;
    z-index: 0;
    overflow: clip;
}
.p-topBoard:after, .p-pageBoard:after {
    content: "";
    background: url(/nanocms/wp-content/themes/original_20260322/img/common/Bg_type02.jpg);
    background-position: bottom;
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    right: 0;
    background-size: 100%;
    background-repeat: no-repeat;
}
.p-topBoard__inner, .p-pageBoard__inner {
    padding-inline: 100px;
    padding-block: 150px;
    max-width: 1640px;
    margin-inline: auto;
}
.c-section__head {
    width: 100%;
    position: relative;
}
.c-sectionButton {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    display: flex;
    align-items: center;
    gap: 20px;
}
.p-topBoard .c-sectionHeading__title,.p-pageBoard .c-sectionHeading__title{
    background: #000000;
    border: solid 1px #ffffff;
    color: #ffffff;
}
.p-topBoard .c-sectionHeading__line,.p-pageBoard .c-sectionHeading__line{
    background: #ffffff;
}
.p-topBoard a.c-linkButton,.p-pageBoard a.c-linkButton{
    border: solid 1px #ffffff;
    background: #000000;
    color: #fff;
}
.p-topBoard__list {
    margin-block: 100px 20px;
    margin-inline: auto;
    padding-inline: 60px;
    max-width: 1240px;
}
.p-topBoard__item {
    display: flex;
    gap: 60px;
    margin-block: 0 120px;
    align-items: center;
}
.p-topBoard__item:last-of-type {
    margin-block: 0;
}
.p-topBoard__item > div {
    width: 50%;
}
.p-topBoard__item:nth-of-type(even) .p-topBoard__content {
    order: 2;
}
.p-topBoard__item:nth-of-type(even) .p-topBoard__imageWrap {
    order: 1;
}
.p-topBoard__item:nth-of-type(2) .p-topBoard__image {
    max-width: 460px;
}
.p-topBoard__item:nth-of-type(3) .p-topBoard__image {
    max-width: 450px;
    margin-left: auto;
}

.p-topBoard__image img {
    object-fit: cover;
    width: 100%;
}
.p-topBoard__title {
    font-size: 3.2rem;
    letter-spacing: 0;
    color: #fff;
    font-weight: 400;
    margin-block: 0 30px;
}
.p-topBoard__text {
    color: #fff;
    line-height: 2;
    font-weight: 400;
    letter-spacing: 0;
}
.p-topBusiness__inner,.p-pageBusiness__inner{
    padding-inline: 100px;
    padding-block: 150px 100px;
    max-width: 1640px;
    margin-inline: auto;
}
.p-topBusiness__content {
    display: flex;
    gap: 50px;
    padding-block: 100px 0;
}
.p-topBusiness__lead {
    font-size: 3.5rem;
    line-height: 1.4;
    font-weight: 700;
    margin-block: 0 50px;
}
.p-topBusiness__text {
    line-height: 2;
    font-weight: 500;
    font-size: 1.5rem;
    letter-spacing: 0;
    margin-block: 0 60px;
}
.p-topBusiness__body {
    width: 50%;
}
.p-topBusiness__image {
    width: 50%;
    flex: 1;
}

.p-topGroup__inner, .p-pageGroup__inner {
    padding-inline: 100px;
    padding-block: 100px 30%;
    max-width: 1640px;
    margin-inline: auto;
}
.p-topGroup__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    padding-block: 100px 0;
    max-width: 1240px;
    margin-inline: auto;
}
.p-topBusiness a.c-linkButton{
    border: solid 1px #fff;
    background: #D32600;
    color: #ffffff;
}
.p-topBusiness a.c-linkButton:hover {
    color: #D32600;
    background: transparent;
    border: solid 1px #D32600;
}
.p-topBusiness a.c-linkButton:before {
    background: #ffffff;
}
.p-topBusiness span.c-linkButton__icon {
    background: #ffffff;
}
.p-topBusiness span.c-linkButton__icon img {
  -webkit-filter: brightness(0) saturate(100%) invert(19%) sepia(88%) saturate(2875%) hue-rotate(10deg) brightness(96%) contrast(112%);
  filter: brightness(0) saturate(100%) invert(19%) sepia(88%) saturate(2875%) hue-rotate(10deg) brightness(96%) contrast(112%);
}
.p-topGroup__item {
    box-shadow: rgba(99, 99, 99, 0.3) 0px 2px 8px 0px;
    border-radius: 20px;
    background: #F5F5F5;
    overflow: hidden;
    display: flex;
    flex-flow: column;
}
.p-topGroup__image {
    padding-block: 60px;
    padding-inline: 20px;
    background: #fff;
}
.p-topGroup__image img {
    height: 95px;
    margin-inline: auto;
    width: auto;
}
.p-topGroup__content {
    padding-block: 20px;
    padding-inline: 30px;
}
.p-topGroup__name {
    color: #ADADAD;
    font-size: 2.1rem;
    font-weight: 600;
    letter-spacing: 0;
    border-bottom: solid 1px #D32600;
    margin-block: 0 15px;
    padding-block: 0 5px;
    text-align: left;
}
.p-topGroup__lead {
    font-size: 2.0rem;
    font-weight: 600;
    letter-spacing: 0;
    margin-block: 0 15px;
}
.p-topGroup__text {
    font-size: 1.5rem;
    line-height: 1.8;
    font-weight: 500;
    letter-spacing: -0.06rem;
}
.p-topGroup__button {
    padding-inline: 30px;
    text-align: center;
    padding-block: 20px 30px;
    margin-top: auto;
}
.p-topGroup__button a.c-linkButton {
    min-width: 300px;
}
.p-topGroup__button span.c-linkButton__icon.Fix {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
}
.p-topGroup{
    position: relative;
    z-index: 0;
}
.p-topGroup:after {
    content: "";
    background: url(/nanocms/wp-content/themes/original_20260322/img/common/Bg_type03.jpg);
    background-position: bottom;
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    right: 0;
    background-size: 100%;
    background-repeat: no-repeat;
}
.p-topTopics__inner,.p-pageTopics__inner {
    padding-inline: 100px;
    padding-block: 150px 100px;
    max-width: 1640px;
    margin-inline: auto;
}



.p-topMovie__inner,.p-pageMovie__inner {
    padding-inline: 100px;
    padding-block: 50px 150px;
    max-width: 1640px;
    margin-inline: auto;
}
.p-topTopics {
    background: #EFEFEF;
}
.p-topMovie {
    background: #EFEFEF;
}




.p-topTopics__tab {
    margin-top: 100px;
    display: flex;
    gap: 100px;
    margin-inline: auto;
    max-width: 1240px;
}
.p-topTopics__tab-head {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
    flex-flow: column;
    min-width: 135px;
}
.p-topTopics__tab-button {
    position: relative;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.4;
    color: #D32600;
    cursor: pointer;
    transition: color .25s ease;
    background: #fff;
    border: solid 1px #D32600;
    border-radius: 10px;
    padding-block: 12px;
}
.p-topTopics__tab-button.is-active {
    color: #fff;
    background: #D32600;
}
.p-topTopics__tab-panel[hidden] {
  display: none;
}
.p-topTopics .c-buttonWraps {
    display: none;
}


.p-topTopics__newsList {
  display: grid;
  gap: 20px;
}

.p-topTopics__newsItem {
  padding: 20px 0;
  border-bottom: 1px solid #e5e5e5;
}

.p-topTopics__newsMeta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.p-topTopics__newsCategory {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 4px 10px;
  border: 1px solid #111;
  border-radius: 999px;
  font-size: 1.2rem;
  line-height: 1.3;
}

.p-topTopics__newsContent {
  display: grid;
  gap: 8px;
}
.p-topTopics__newsText {
  font-size: 1.5rem;
  line-height: 1.6;
  color: #444;
    font-weight: 500;
    text-align: left;
}
.newsbox {
    border-bottom: 1px solid #ccc;
    padding-block: 15px;
}
.newsbox .ir_data span.tag, .newsbox .nw_data span {
    width: 100px;
    text-align: center;
    font-size: 1.3rem;
    background: #169c93;
    color: #fff;
    padding: 3px;
    border-radius: 10px;
    display: block;
    margin: 0 0 0 10px;
}
.newsbox .data {
    display: flex;
    align-items: center;
    margin-block: 0 10px;
    font-weight: 500;
    flex-wrap: wrap;
    gap: 5px;
}
.newsbox .data span.tag, .newsbox .data span {
    width: auto;
    text-align: center;
    font-size: 1.3rem;
    background: #169c93;
    color: #fff;
    padding: 3px;
    border-radius: 10px;
    display: block;
    margin: 0 0 0 10px;
    padding-inline: 12px;
}
.newsbox .ir_data span.irtag{
background:#2e479b;
}
.newsbox .ir_data span.tanshintag{
background:#41bbc7;
}
.newsbox .ir_data span.yuhotag{
background:#D82425;
}
.newsbox .ir_data span.releasetag{
background: #5ab87d;
}
.newsbox .ir_data span.infotag{
background: #D82425;
}
.newsbox .ir_data span.prtag{
background: #a73b8f;
}

.newsbox .data span.c_1{
background:#D82425;
}
.newsbox .data span.syuten{
background:#566CB9;
}
.newsbox .data span.kikou{
background:#6c4698;
}
.newsbox .data span.hapihyo{
background:#e85a89;
}
.newsbox .data span.kouen{
background:#7ab54a;
}
.newsbox .data span.shipitu{
background:#A55900;
}
.ir_data {
    display: flex;
    align-items: center;
    margin-block: 0 10px;
    font-weight: 500;
}
.p-topTopics__tab-body {
    width: 100%;
}
.ir_con a{
    display: block;
    font-weight: 500;
    font-size: 1.5rem;
}
.newsbox .ir_con .fa-file-pdf {
    margin: 0 5px;
    transform: translate(0, 4px);
    display: inline-block;
}
.newsbox .ir_con .fa-file-pdf::before {
    font-family: 'Material Symbols Sharp';
    content: "\e415";
    font-style: normal;
    font-size: 2.1rem;
    color: #AE2502;
}
.p-topTopics__newsLink, .p-topTopics__newsTitle {
    font-size: 1.5rem;
    line-height: 1.6;
    display: block;
    font-weight: 600;
}
.p-topTopics__newsLink, .p-topTopics__newsTitle a{
    font-size: 1.5rem;
    line-height: 1.6;
    color: #D82425;
    text-decoration: underline;
    display: block;
    font-weight: 600;
}
.p-topTopics__newsDate {
    font-weight: 500;
}
.p-topMovie__slider {
    margin-top: 100px;
    margin-inline: auto;
    max-width: 1240px;
    overflow: hidden;
  position: relative;
  padding-bottom: 56px;
}

.p-topMovie__slide {
  height: auto;
}

.p-topMovie__movie {
  position: relative;
  overflow: hidden;
  background: #000;
  aspect-ratio: 16 / 9;
}

.p-topMovie__movie iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}


.top .site-footer {
    background: #efefef;
}
.site-footer__inner {
    background: #D32600;
    border-top-left-radius: 100px;
    border-top-right-radius: 100px;
    position: relative;
    z-index: 0;
    margin-inline: auto;
    padding-inline: 100px;
}
.site-footer__nav {
    padding-block: 100px;
    max-width: 1240px;
    margin-inline: auto;
}
.site-footer__nav {
    display: flex;
    gap: 30px;
    justify-content: space-between;
}
.site-footer__bottom {
    display: flex;
    gap: 50px;
    justify-content: space-between;
    align-items: flex-end;
    padding-block:0 100px;
    max-width: 1240px;
    margin-inline: auto;
}
.site-footer__nav-title {
    margin-block: 0 30px;
}
.is-accordion .site-footer__nav-title {
    margin-block: 0 10px;
}
a.site-footer__nav-mainLink{
    font-size: 1.5rem;
    font-weight: 600;
    color: #fff;
    display: block;
    letter-spacing: 0;
}
.site-footer__nav-subItem {
    margin-block: 0 10px;
}
.site-footer__nav-subItem:last-of-type {
    margin-block: 0;
}
a.site-footer__nav-subLink{
    font-size: 1.4rem;
    font-weight: 500;
    color: #fff;
    display: block;
    letter-spacing: 0;
}
a.site-footer__logo {
    display: block;
    width: 385px;
}
a.site-footer__logo img{
    -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(248deg) brightness(106%) contrast(106%);
    filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(248deg) brightness(106%) contrast(106%);
}
.site-footer__sns {
    display: flex;
    gap: 20px;
}
a.site-footer__sns-link {
    display: block;
}
a.site-footer__sns-link img{
    height: 65px;
    max-width: fit-content;
}
.site-footer__copyright {
    text-align: center;
    color: #fff;
    letter-spacing: 0;
    font-size: 1.3rem;
    padding-block: 30px;
    border-top: solid 1px rgb(255 255 255 / 35%);
}

.footer-fixed {
    width: 80px;
    position: fixed;
    z-index: 99;
    bottom: 30px;
    right: 20px;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    -webkit-transform: translate3d(0px,10%,0px);
    transform: translate3d(0px,10%,0px);
    -webkit-transition: all .2s cubic-bezier(.43,.05,.17,1) 0s;
    transition: all .2s cubic-bezier(.43,.05,.17,1) 0s
}
.footer-fixed.Show {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translateZ(0px);
    transform: translateZ(0px);
    -webkit-transition: all 1.2s cubic-bezier(.43,.05,.17,1) 0s;
    transition: all 1.2s cubic-bezier(.43,.05,.17,1) 0s
}
.footer-fixed.Show.Hiden {
    visibility: hidden;
    opacity: 0;
    -webkit-transform: translate3d(0px,10%,0px);
    transform: translate3d(0px,10%,0px);
    -webkit-transition: all .2s cubic-bezier(.43,.05,.17,1) 0s;
    transition: all .2s cubic-bezier(.43,.05,.17,1) 0s
}
a.footer-fixed__linkedin {
    display: block;
    width: 48px;
    margin-inline: auto;
    margin-block: 0 15px;
    transform: translate(5px, 0);
}
a.footer-fixed__pagetop {
    background: #fff;
    text-align: center;
    letter-spacing: 0;
    font-size: 1.2rem;
    height: 80px;
    width: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    color: #ca2200;
    font-weight: 600;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.06);
    margin-block: 0 10px;
}

.img-modal {
    display: none;
}

.PageWrap {
    padding-block: 50px;
}

.PageWrap .p-pageGroup__inner {
    padding-block: 50px 100px;
}
.c-sectionHeading__Jp {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 40px;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.4rem;
    color: #ADADAD;
    font-weight: 500;
    letter-spacing: 0;
}


.p-page__inner {
    padding-inline: 100px;
    padding-block: 150px 100px;
    max-width: 1640px;
    margin-inline: auto;
}
.p-irCalendar {
    padding: 100px 0;
    max-width: 1040px;
    margin-inline: auto;
}
.p-irCalendar__image {
    margin-bottom: 60px;
    max-width: 860px;
    margin-left: auto;
}
.p-irCalendar__image img {
  display: block;
  max-width: 100%;
  height: auto;
}
.p-irCalendar__image img.Sp {
    display: none;
}
.p-irCalendar__layout {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 60px;
  align-items: start;
}

.p-irCalendar__nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.p-irCalendar__navViewport {
  overflow: hidden;
  width: 100%;
  height: 304px;
  padding-top: 6px;
  box-sizing: border-box;
}

.p-irCalendar__navList {
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: transform 0.3s ease;
  will-change: transform;
}

.p-irCalendar__yearTab {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 16px;
  border: 1px solid #db2f14;
  border-radius: 12px;
  background: #fff;
  color: #db2f14;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.25s ease;
}

.p-irCalendar__yearTab:hover,
.p-irCalendar__yearTab.is-active {
  background: #db2f14;
  color: #fff;
}

.p-irCalendar__navArrow {
  border: none;
  background: transparent;
  color: #db2f14;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  padding: 4px;
  transition: opacity 0.25s ease;
}

.p-irCalendar__navArrow:disabled {
  opacity: 0.3;
  cursor: default;
}

.p-irCalendar__content {
  min-width: 0;
}

.p-irCalendar__panel {
  display: none;
}

.p-irCalendar__panel.is-active {
  display: block;
}

.p-irCalendar__panelTitle {
  margin: 0 0 20px;
  padding-left: 12px;
  border-left: 2px solid #db2f14;
  font-size: 2.4rem;
  font-weight: 700;
}

.p-irCalendar__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.p-irCalendar__row th,
.p-irCalendar__row td {
  padding: 14px 12px;
  border-top: 1px solid #d8d8d8;
  vertical-align: top;
  text-align: left;
}

.p-irCalendar__row:last-child th,
.p-irCalendar__row:last-child td {
  border-bottom: 1px solid #d8d8d8;
}

.p-irCalendar__date {
  width: 140px;
  font-weight: 700;
  white-space: nowrap;
}

.p-irCalendar__title a {
  color: inherit;
  text-decoration: none;
}

.p-irCalendar__title a:hover {
  text-decoration: underline;
}




.irChartTabs {
    width: 100%;
    margin-block: 100px 0;
}
.irChartTabs__inner {
  display: flex;
  align-items: flex-start;
  gap: 60px;
}

.irChartTabs__nav {
  width: 220px;
  flex-shrink: 0;
}

.irChartTabs__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.irChartTabs__button {
  width: 100%;
  min-height: 60px;
  padding: 14px 20px;
  border: 1px solid #d63b16;
  border-radius: 10px;
  background: #fff;
  color: #d63b16;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  cursor: pointer;
  transition: background .25s, color .25s, border-color .25s, opacity .25s;
}

.irChartTabs__button:hover {
  opacity: 0.8;
}

.irChartTabs__button.is-active {
  background: #d63b16;
  color: #fff;
}

.irChartTabs__content {
  flex: 1;
  min-width: 0;
}

.irChartTabs__panel {
  display: none;
}

.irChartTabs__panel.is-active {
  display: block;
}

/* 既存レイアウト調整 */
.flow_con {
  overflow: hidden;
}

.box-two {
  width: calc(50% - 15px);
}
.box-two h4 {
    position: relative;
    padding-inline: 15px 0;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    color: #222;
    margin-block: 0 30px;
    padding-block: 3px;
}
.box-two h4::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    height: 100%;
    background: #d63b16;
}
.float_l {
  float: left;
}

.float_r {
  float: right;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb50 {
  margin-bottom: 50px;
}
.mb60 {
  margin-bottom: 60px;
}
.mb70 {
  margin-bottom: 70px;
}
.mb80 {
  margin-bottom: 80px;
}
.irChartTabs__panel::after,
.flow_con::after {
  content: "";
  display: block;
  clear: both;
}






html.is-loading,
body.is-loading {
  overflow: hidden;
  height: 100%;
}
.p-topMv {
  position: relative;
}

.p-topMv__inner {
  position: relative;
  min-height: 100vh;
}
.p-topMv__videoWrap {
  --mv-overlay-opacity: 0;
}
.p-topMv__videoWrap::after {
  content: "";
  opacity: var(--mv-overlay-opacity);
}
.p-topMv__content{
  opacity: 0;
  transform: translateY(40px);
  will-change: transform, opacity;

}
.p-topMv__news {
  opacity: 0;
  transform: translateY(40px);
  will-change: transform, opacity;
}
.p-topAbout {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  --about-parallax-y: -120px;
}

.p-topAbout::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url(/nanocms/wp-content/themes/original_20260322/img/common/Bg_type01.jpg) center center / cover no-repeat;
  width: 100%;
  height: 145%;
  top: -22.5%;
  left: 0;
  transform: translate3d(0, var(--about-parallax-y), 0);
  will-change: transform;
  pointer-events: none;

  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.2) 15%, rgba(0,0,0,0.6) 35%, #000 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.2) 15%, rgba(0,0,0,0.6) 35%, #000 100%);
}

.p-topAbout__inner {
    position: relative;
    z-index: 1;
}
.ripple-bg {
    width: 100%;
    height: 100vh;
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    opacity: 0.05;
}
.ripple-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 140px;
  aspect-ratio: 1 / 1;
  border: 1px solid #ff4d00;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0);
  opacity: 0;
  animation: rippleExpand 7s linear infinite;
  will-change: transform, opacity;
}

.ripple-circle--1 { animation-delay: 0s; }
.ripple-circle--2 { animation-delay: 1.75s; }
.ripple-circle--3 { animation-delay: 3.5s; }
.ripple-circle--4 { animation-delay: 5.25s; }

@keyframes rippleExpand {
  0% {
    transform: translate(-50%, -50%) scale(0);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  75% {
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(10);
    opacity: 0;
  }
}

.p-pageAbout__inner {
    padding-inline: 100px;
    padding-block: 150px 150px;
    max-width: 1640px;
    margin-inline: auto;
}
.p-pageTeam__inner {
    padding-inline: 100px;
    padding-block: 120px 120px;
    max-width: 1640px;
    margin-inline: auto;
}
.p-pageCompany__inner {
    padding-inline: 100px;
    padding-block: 150px 100px;
    max-width: 1640px;
    margin-inline: auto;
}

.p-pageAbout__content {
    padding-block: 120px 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
    max-width: 1100px;
    margin-inline: auto;
}
.p-pageAbout__catch {
    font-size: 6.7rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0;
}
.p-pageAbout__catch-small {
    display: flex;
    font-size: 3.8rem;
    letter-spacing: 0;
}
.p-pageAbout__catchEn {
    font-size: 1.75rem;
    display: block;
    margin-block: 20px 0;
    letter-spacing: 0;
}
.p-pageAbout__lead {
    font-size: 4.5rem;
    line-height: 1.3;
    font-weight: 700;
    margin-block: 0 30px;
}
.p-pageAbout__text {
    line-height: 2;
    font-weight: 500;
    font-size: 1.5rem;
    letter-spacing: 0;
    margin-block: 0 60px;
}
.PageWrap.Company::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background: url(/nanocms/wp-content/themes/original_20260322/img/common/Bg_type01.jpg) center center / cover no-repeat;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
}
.p-pageAbout {
    position: relative;
    z-index: 0;
}
.p-pageAbout__rippleBg {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: -1;
    top: 0;
    left: -35%;
    margin: auto;
    opacity: 0.03;
    pointer-events: none;
}
.p-pageAbout__rippleCircle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 140px;
  aspect-ratio: 1 / 1;
  border: 1px solid #ff4d00;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0);
  opacity: 0;
  animation: rippleExpand 7s linear infinite;
  will-change: transform, opacity;
}

.p-pageAbout__rippleCircle--1 { animation-delay: 0s; }
.p-pageAbout__rippleCircle--2 { animation-delay: 1.75s; }
.p-pageAbout__rippleCircle--3 { animation-delay: 3.5s; }
.p-pageAbout__rippleCircle--4 { animation-delay: 5.25s; }
.p-pageTeam {
    background: #000000;
    border-top-left-radius: 100px;
    border-top-right-radius: 100px;
    position: relative;
    z-index: 1;
}
.p-pageTeam .c-sectionHeading__title{
    background: #000000;
    border: solid 1px #ffffff;
    color: #ffffff;
}
.p-pageTeam .c-sectionHeading__line {
    background: #ffffff;
}
.p-pageTeam__content {
    padding-block: 100px 0;
}
.p-pageTeam__lead {
    font-size: 2.8rem;
    letter-spacing: 0;
    color: #fff;
    margin-block: 0 100px;
}
.p-pageTeam__sectionTitle {
    font-weight: 600;
    color: #fff;
    font-size: 2.65rem;
    position: relative;
    margin-block: 0 50px;
    max-width: 1240px;
    margin-inline: auto;
}
.p-pageTeam__sectionTitle:before {
    content: "●";
    color: #D32600;
    margin-inline: 0 20px;
}
.p-pageTeam__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    max-width: 1240px;
    margin-inline: auto;
}
.p-pageTeam__card {
    background: #fff;
    position: relative;
}
.p-pageTeam__info {
    padding-block: 25px 45px;
    padding-inline: 20px;
}
.p-pageTeam__name {
    font-size: 1.8rem;
    font-weight: 600;
    margin-block: 0 1px;
}
.p-pageTeam__position {
    font-size: 1.3rem;
    font-weight: 500;
    color: #979797;
    min-height: 20px;
    text-align: left;
}
.p-pageTeam__desc {
    font-size: 1.5rem;
    line-height: 1.6;
    padding-block: 15px 0;
    letter-spacing: 0;
    margin-top: auto;
    width: calc(100% - 45px);
}


.p-pageTeam__popupBtn {
    color: #D32600;
    position: absolute;
    bottom: 10px;
    right: 20px;
    font-size: 1.8rem;
    opacity: 1;
    transition: all .6s ease 0s;
    will-change: transform;
    cursor: pointer;
    width: 30px;
}
.p-pageTeam__popupBtn:hover {
    transform: scale(1.3);
}
.p-pageTeam__popupBody {
    position: absolute;
    top: calc(100% + 10px);
    right: -20px;
    width: 280px;
    padding: 20px 20px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
    font-size: 1.4rem;
    line-height: 1.7;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: 0.25s ease;
    z-index: 10;
    word-break: break-all;
}
.p-pageTeam__popupBody::before {
    content: "";
    position: absolute;
    top: -7px;
    right: 47px;
    width: 14px;
    height: 14px;
    background: #fff;
    transform: rotate(45deg);
}

.p-pageTeam__popup.is-open .p-pageTeam__popupBody {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.p-pageTeam__section {
    margin-block: 0 100px;
}
.p-pageTeam__section:last-of-type {
    margin-block: 0 0;
}
.p-pageTeam:after {
    content: "";
    background: url(/nanocms/wp-content/themes/original_20260322/img/common/Bg_type02.jpg);
    background-position: bottom;
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    right: 0;
    background-size: 100%;
    background-repeat: no-repeat;
}
.p-pageHistory{
    position: relative;
    z-index: 0;
}
.p-pageHistory:after {
    content: "";
    position: absolute;
    z-index: -1;
    background: #fff;
    width: 100%;
    height: 100%;
    top: 0;
}
.p-pageHistory__inner {
    padding-inline: 100px;
    padding-block: 150px 0;
    max-width: 1640px;
    margin-inline: auto;
}


.p-pageProfile{
    position: relative;
    z-index: 0;
}
.p-pageProfile:after {
    content: "";
    position: absolute;
    z-index: -1;
    background: #fff;
    width: 100%;
    height: 100%;
    bottom: -200px;
}
.p-pageProfile__inner {
    padding-inline: 100px;
    padding-block: 150px 100px;
    max-width: 1640px;
    margin-inline: auto;
}

.p-pageProfile {
    background: #fff;
}
.p-pageProfile__content {
    display: flex;
    gap: 60px;
    padding-block: 100px 0;
    max-width: 1100px;
    margin-inline: auto;
}
.p-pageProfile__logo {
    min-width: 320px;
}
.p-pageProfile__tableWrap {
    width: 100%;
}
.p-pageProfile__head,.p-pageProfile__data {
    border-top: solid 1px #cdcdcd;
    border-bottom: solid 1px #cdcdcd;
    padding-block: 12px;
    padding-inline: 10px;
}
.p-pageProfile__head {
    width: 200px;
    vertical-align: text-top;
}
.p-pageProfile__data {
    text-align: right;
}
a.p-pagepLink {
    background: #fff;
    color: #D32600;
    font-weight: 600;
    padding-inline: 20px;
    border-radius: 10px;
    padding-block: 6px 9px;
    line-height: 1;
    letter-spacing: 0;
    height: 32px;
    display: inline-flex;
    justify-content: center;
    align-items: flex-end;
    margin-block: 10px 0;
    position: relative;
    z-index: 0;
    overflow: hidden;
    opacity: 1;
    border: solid 1px #D32600;
    font-size: 1.4rem;
}
a.p-pagepLink span.site-arrow {
    width: 11px;
    margin-left: 5px;
    transition: filter .3s ease;
    will-change: filter;
    -webkit-filter: brightness(0) saturate(100%) invert(23%) sepia(36%) saturate(5529%) hue-rotate(359deg) brightness(91%) contrast(107%);
    filter: brightness(0) saturate(100%) invert(23%) sepia(36%) saturate(5529%) hue-rotate(359deg) brightness(91%) contrast(107%);
}
.p-pageProfile__link {
    color: #D32600;
    text-decoration: underline;
}
.p-pageProfile__officers {
    display: inline-flex;
    flex-flow: column;
}
.p-pageProfile__officer {
    display: inline-flex;
    flex-flow: column;
    margin-block: 0 10px;
    border: solid 1px #cacaca;
    padding-block: 10px;
    padding-inline: 15px 30px;
    min-width: 240px;
    border-radius: 6px;
    text-align: left;
    letter-spacing: 0;
    position: relative;
}
.p-pageProfile__officerRole {
    font-size: 1.2rem;
    color: #7d7d7d;
    text-align: left;
}
.p-pageProfile__officerName {
    font-size: 1.6rem;
    font-weight: 500;
}


.p-pageProfile__officerToggle {
  color: #D32600;
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 21px;
  font-size: 1.8rem;
  opacity: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform-origin: center;
  will-change: transform;
  transition: transform .6s ease;
}

.p-pageProfile__officerToggle:hover {
  transform: scale(1.3);
}

.p-pageProfile__officerToggle[aria-expanded="true"] {
  transform: rotate(180deg);
}

.p-pageProfile__officerToggle[aria-expanded="true"]:hover {
  transform: rotate(180deg) scale(1.3);
}
.p-pageProfile__officerDetail {
  height: 0;
  overflow: hidden;
  transition: height .35s ease;
}

.p-pageProfile__officerCareer {
  padding-top: 20px;
}
.p-pageProfile__officerCareer_image {
    max-width: 220px;
    margin-block: 0 20px;
}

.p-pageProfile__officerTable {
    width: 100%;
    border-top: 1px solid #ddd;
    font-size: 1.25rem;
}
.p-pageProfile__officerTable tr {
  border-bottom: 1px solid #ddd;
}
.p-pageProfile__officerTable th, .p-pageProfile__officerTable td {
    padding: 0;
    text-align: left;
    vertical-align: top;
}
.p-pageProfile__officerTable th {
    font-weight: 600;
    white-space: nowrap;
    display: block;
    width: 100%;
    padding-block: 10px 5px;
}
.p-pageProfile__officerTable td {
    display: block;
    width: 100%;
    padding-block: 0 10px;
}



.p-pageMovie__list {
    padding-block: 100px 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
    max-width: 1240px;
    margin-inline: auto;
}
.p-pageMovie__item {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.p-pageMovie__video iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  display: block;
  border: 0;
}

.p-pageMovie__content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.p-pageMovie__title {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    background: #D32600;
    color: #fff;
    padding-block: 10px;
    padding-inline: 15px;
}

.p-pageMovie__text {
  font-size: 1.5rem;
  line-height: 1.8;
}

.p-pageIrBook__list {
    padding-block: 100px 0;
    max-width: 1240px;
    margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.p-pageIrBook__item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    border-bottom: solid 1px #cacaca;
}
.p-pageIrBook__link {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.p-pageIrBook__image {
  margin: 0;
}

.p-pageIrBook__image img {
  width: 100%;
  height: auto;
  display: block;
}
.p-pageIrBook__title {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    background: #D32600;
    color: #fff;
    padding-block: 10px;
    padding-inline: 15px;
}
.p-pageIrBook__text {
    font-size: 1.4rem;
    line-height: 1.6;
    text-align: center;
    padding-block: 10px;
    display: inline-flex;
    gap: 15px;
    justify-content: center;
    align-items: center;
}
.p-pageIrBook__text img{
    width: 32px;
    min-width: 32px;
}

.history__list--scroll {
    overflow: auto;
    width: 100%;
    padding-block: 0 6px;
}
.history__list {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0px;
    margin-block: 100px 0;
    width: 1250px;
    margin-inline: auto;
}
.history__list::before {
    content: "";
    position: absolute;
    left: 80px;
    right: 0;
    top: 50%;
    height: 2px;
    background: #d91c00;
    transform: translateY(-50%);
    width: 100%;
}
.history__item {
    position: relative;
    z-index: 1;
    width: 180px;
    min-width: 180px;
    display: flex;
    flex-direction: column;
}
.history__content, .history__empty {
    width: calc(100% + 165px);
    height: 190px;
    border-left: 1px dashed #888;
    padding-inline: 20px 0;
    position: relative;
    left: 44px;
}
.history__content.no_boder, .history__empty.no_boder {
    border-left: none;
}
.history__content {
  position: relative;
}

.history__content--top {
    padding-bottom: 20px;
    display: flex;
    align-items: flex-start;
}

.history__content--bottom {
  padding-top: 20px;
    display: flex;
    align-items: flex-end;
}
.history__year {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #d9d9d9;
    color: #d91c00;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
}
.history__item--bottom .history__year,
.history__item:nth-child(odd) .history__year {
  background: #e22a00;
  color: #fff;
}

.p-history__events {
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-history__events li {
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.8;
    color: #222;
    display: flex;
    letter-spacing: 0;
}

.p-history__events li + li {
  margin-top: 3px;
}
.p-history__events li span {
    display: inline-block;
    min-width: 2.4em;
    margin-right: 6px;
}



.p-pagePolicy_Area{

}

.p-pagePolicy__inner {
    width: min(100%, 960px);
    margin-inline: auto;
    padding-block: 100px 0;
}

.p-pagePolicy__lead {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #333;
  padding-bottom: 40px;
  margin-bottom: 40px;
  border-bottom: 1px solid #d9d9d9;
}
.p-pagePolicy__lead02 {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #333;
  margin-bottom: 20px;
}
.p-pagePolicy__section + .p-pagePolicy__section {
  margin-top: 48px;
}

.p-pagePolicy__title {
  position: relative;
  margin: 0 0 20px;
  padding-left: 18px;
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 1.5;
  color: #222;
}
.p-pagePolicy__title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 6px;
    height: 1.2em;
    background: #ea2200;
    border-radius: 999px;
}
.p-pagePolicy__text p {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #333;
}

.p-pagePolicy__text p + p {
  margin-top: 10px;
}
.p-pagePolicy__date {
    margin-bottom: 48px;
    text-align: right;
}
.p-pagePolicy__date p {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.8;
  color: #333;
}

.p-pagePolicy__date p + p {
  margin-top: 4px;
}

.p-pagePolicy__subTitle {
  margin: 28px 0 12px;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.6;
  color: #222;
}

.p-pagePolicy__list,
.p-pagePolicy__numberList {
  margin: 12px 0 0;
  padding-left: 1.2em;
}
.p-pagePolicy__list li, .p-pagePolicy__numberList li {
    font-size: 1.6rem;
    line-height: 1.6;
    color: #333;
    display: flex;
}

.p-pagePolicy__list li + li,
.p-pagePolicy__numberList li + li {
  margin-top: 6px;
}

.p-pagePolicy__numberList .p-pagePolicy__list {
  margin-top: 8px;
}

.p-pagePolicy__address,
.p-pagePolicy__contact {
  margin-top: 10px;
  padding: 20px 24px;
  background: #f7f7f7;
  border: 1px solid #d9d9d9;
}

.p-pagePolicy__address p,
.p-pagePolicy__contact p {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #333;
}

.p-pagePolicy__address p + p,
.p-pagePolicy__contact p + p {
  margin-top: 6px;
}
.IRLibrary_Area {
    padding-block: 100px 50px;
    max-width: 1200px;
    margin-inline: auto;
}
.newscon .newsInner .tabs{
width:100%;
margin:0 auto;
position:relative;
}
.newscon .newsInner .tab-buttons span{
cursor:pointer;
border-bottom:5px solid #DADADA;
display:block;
width:20%;
float:left;
text-align:center;
height:48px;
line-height:48px;
font-size: 1.4rem;
background: #e7e7e7;
color:#000;
}
.newscon .newsInner .tab-buttons span.tab01, .newscon .newsInner .tab-buttons span.tab02, .newscon .newsInner .tab-buttons span.tab03, .newscon .newsInner .tab-buttons span.tab04, .newscon .newsInner .tab-buttons span.tab05 {
    border-bottom: none;
    width: 100%;
    float: none;
    border-right: 1px solid #a6a6a6;
}
.newscon .newsInner .tab-content{
display:inline-block;
color:#333;
width: 100%;
padding:30px 0;
}
.newscon .newsInner .tablist01,
.newscon .newsInner .tablist02,
.newscon .newsInner .tablist03,
.newscon .newsInner .tablist04,
.newscon .newsInner .tablist05{
width: 100%;
}
#lamp{
width:20%;
height:2px;
display:block;
position:absolute;
top:50px;
transition: all .3s ease-in;
-o-transition: all .3s ease-in;
-webkit-transition: all .3s ease-in;
-moz-transition: all .3s ease-in;
background: #D82425;
}
#lamp.tablist01{
left:0;
}
#lamp.tablist02{
left:20%;
}
#lamp.tablist03{
left:40%;
}
#lamp.tablist04{
left:60%;
}
#lamp.tablist05{
left:80%;
}

.irconlinkarea{
margin-bottom:20px;
}

.irconlinkarea ul{
display:-webkit-box;
display:-moz-box;
display:-ms-flexbox;
display:-webkit-flex;
display:-moz-flex;
display:flex;
flex-wrap: wrap;
border-top:1px solid #ccc;
border-left:1px solid #ccc;
}

.irconlinkarea ul li {
    width: 10%;
}
.irconlinkarea ul li a{
display: block;
text-align: center;
padding: 15px 8px;
font-size: 1.4rem;
border-bottom:1px solid #ccc;
border-right:1px solid #ccc;
text-decoration: none;
color:#161616;
}

.irconlinkarea ul li a:hover{
color:#fff;
background: #D82425;
}

.irconlinkarea ul li a.active{
color:#fff;
background: #D82425;
}
.IRLibrary_Area .Link_Bt {
    margin-block: 50px 0;
}



.Topics_Area {
    margin-block: 100px 0;
    max-width: 980px;
    margin-inline: auto;
}
h3.h3_Title {
    font-size: 2.5rem;
    color: #a4a4a4;
    margin-block: 0 30px;
    font-weight: 600;
}
.p-pageInformation .Link_Bt {
    margin-block: 50px 0;
    text-align: right;
}

/* Contact area
-----------------------------------------*/
#info_hyo{
width: 100%;
border-top: 1px solid #bdbdbd;
}

#info_hyo th,
#info_hyo td{
border-bottom: 1px solid #bdbdbd;
padding: 10px;
text-align: left;
vertical-align: middle;
line-height: 1.8;
font-size: 1.4rem;/*14px*/
}

#info_hyo th{
background: #EFEFEF;
color: #888;
text-align: center;
}

.info_sendbox{
background: #fafafa;
padding: 20px;
}

.formarea{
padding: 30px;
margin-bottom: 30px;
background: #f4f4f4;
box-shadow: 0 3px 10px -6px rgba(0, 0, 0, 0.8);
border-radius: 30px;
}

.formarea .point-info{
font-size: 0.813em;/*13px*/
margin-bottom: 10px;
}

.formarea .form_contents{
width: 100%;
margin: 0px 10px;
}

.formarea .formbox{
margin-bottom: 20px;
clear: both;
clear: both;
max-width: 700px;
margin: 0 auto 40px;
}

.formarea .formbox .mb0{margin-bottom:0;}
.formarea .formbox h5 {
    color: #4f4f4f;
    margin-bottom: 10px;
    font-size: 1.5rem;
    font-weight: 600;
}
.formarea span.point{
color: #b21919;
}

.formarea span.required{
color: #b21919;
font-size: 1.3em;
margin-left: 5px;
}

.formarea .setsumei{
color: #161616;
font-size: 1.4rem;
display: block;
margin-bottom: 5px;
line-height: 1.6;
}

.formarea span.error{
color: #b21919;
font-size: 1.4rem;
display: block;
margin-bottom:10px;
}

.formarea .formbox input{
border:1px solid #bdbdbd;
background:#fff;
padding: 15px 10px;
border-radius: 5px;
width: 100%;
font-size: 1.6rem;
}

.formarea .formbox input#nensyu-id{width:100px;}
.formarea .formbox input#age-id{width:80px;}
.formarea .formbox input#zip{width:150px;}

.formarea .formbox .filenotes{
text-indent:-1em;
margin-left:1em;
}

.formarea .formbox select{
background: #FFF;
border: 1px solid #bdbdbd;
border-radius: 5px;
height: 40px;
line-height: 40px;
text-align: left;
text-indent: 5px;
vertical-align: middle;
margin-bottom: 10px;
width: 100%;
font-size: 1.6rem;
}

.formarea .formbox textarea{
background: #FFF;
border: 1px solid #bdbdbd;
border-radius: 5px;
padding: 15px 10px;
width: 100%;
font-size: 1.6rem;
margin-bottom: 10px;
font-weight: normal;
line-height: 1.6;
}

.mw-wp-form_file a{
display: block;
padding:10px;
border-radius:10px;
color: #D82425;
border:1px solid #D82425;
margin-bottom:10px;
}

.mw-wp-form_file a:hover{
text-decoration: underline;
}

.formarea .formBtn{
max-width:350px;
margin:0 auto;
}

.formarea .formBtn input {
width: 100%;
background:#D82425;
color:#fff;
border-radius:60px;
font-size:1.6rem;
box-shadow: 0 3px 10px -6px rgba(0, 0, 0, 0.8);
position: relative;
padding: 2.0rem;
display: block;
font-weight:600;
text-align: center;
}

.formarea .formBtn input:hover {
background:#EFEFEF;
color:#161616;
-webkit-transition: all .3s;
transition: all .3s;
}

.formarea .formBtn input[type="submit"] {
/* -webkit-appearance: none; */
border-radius: 50px;
}

.formarea input,
.formarea select,
.formarea textarea{
border: none;
outline: none;
box-sizing: border-box;
}

.formarea span.mwform-tel-field{display: flex;align-items: center;gap: 10px;}


/* 確認用レイアウト */
.mw_wp_form_preview .required,
.mw_wp_form_preview .rei,
.mw_wp_form_preview .mojinone,
.mw_wp_form_preview .point{
display: none;
}

.mw_wp_form_preview .formbox{
margin-bottom: 30px;
line-height: 1.6;
background:#fff;
padding:10px;
font-size:1.6rem;
}

.mw_wp_form_preview .formBtn input {margin: 20px auto 20px auto;}
.mw_wp_form_preview .formBtn:last-of-type input {margin: 0px auto 0 auto;}
.mw_wp_form_complete{display: none;}
.zipField {
    position: relative;
    z-index: 0;
    margin-block: 0 15px;
}
.zipField__note {
    display: none;
    margin-top: 8px;
    font-size: 1.1rem;
    line-height: 1.6;
    color: #fff;
    background: #2460d8;
    padding-block: 3px;
    padding-inline: 15px;
    border-radius: 100px;
    position: absolute;
    bottom: -12px;
    left: 25px;
}

.zipField.is-show-note .zipField__note {
    display: inline-flex;
}
.p-contactForm {
    margin-block: 100px 0;
    max-width: 860px;
    margin-inline: auto;
}
.add-class.address {
    margin-block: 5px 10px;
}
.address02 {
    margin-block: 5px 0;
}
.formarea .formBtn input[type="submit"][name="submitConfirm"] {
    cursor: pointer;
}
.p-contactForm__lead {
    margin-block: 0 40px;
}




.p-faq__area {
    padding: 100px 0;
    max-width: 940px;
    margin-inline: auto;
}
.p-faq__box {
    margin-block: 0 120px;
}
.p-faq__box:last-of-type {
    margin-block: 0 0;
}
.p-faq__head {
    line-height: 1.4;
    font-size: 3.0rem;
    color: #2B2B2B;
    margin-block: 0 80px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}
.p-faq__head:before {
    font-family: 'Material Symbols Sharp';
    font-size: 3.6rem;
    margin-right: 5px;
    content: "\e887";
    color: #D82425;
    font-weight: 400;
    line-height: 1;
    padding-block: 5px 0;
}
.p-faq__item {
  border-top: 1px solid #d9d9d9;
}

.p-faq__item:last-child {
  border-bottom: 1px solid #d9d9d9;
}
.p-faq__question {
    position: relative;
    width: 100%;
    padding: 24px 56px 24px 0;
    display: flex;
    gap: 12px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-size: 1.6rem;
    align-items: center;
    font-weight: 500;
}

.p-faq__q,
.p-faq__a {
  flex: 0 0 auto;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}

.p-faq__questionText,
.p-faq__answerText {
  flex: 1 1 auto;
  font-size: 1.6rem;
  line-height: 1.9;
}

.p-faq__icon {
  position: absolute;
  top: 32px;
  right: 0;
  width: 18px;
  height: 18px;
}

.p-faq__icon::before,
.p-faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 1px;
  background: #222;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
}
.js-faq-content {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
.p-faq__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.p-faq__question[aria-expanded="true"] .p-faq__icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.p-faq__answerInner {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding-right: 56px;
    padding-bottom: 24px;
}
.p-faq__answerText {
    text-align: left;
}
.p-faq__answer .p-faq__label {
    margin-block: 4px 0;
}
.p-faq__question .p-faq__label {
    margin-block: 0 2px;
    color: #d32600;
}

.p-pageIRStock__tableWrap {
    width: 100%;
    margin-top: 100px;
    max-width: 1040px;
    margin-inline: auto;
}
.p-pageIRStock__table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    border: 1px solid #d9d9d9;
}
.p-pageIRStock__table tr {
  border-bottom: 1px solid #d9d9d9;
}
.p-pageIRStock__table th, .p-pageIRStock__table td {
    padding: 10px 20px;
    font-size: 1.5rem;
    line-height: 1.9;
    text-align: left;
    vertical-align: top;
}
.p-pageIRStock__table th {
  width: 28%;
  font-weight: 700;
  color: #222;
  background: #f7f7f7;
}

.p-pageIRStock__table td {
  width: 72%;
  color: #333;
}

.p-pageIRStock__table td a {
    color: #d32600;
    text-decoration: underline;
    text-underline-offset: 0.15em;
    word-break: break-all;
}
.p-pageIRAnalyst .p-page__inner{
    padding-block: 50px 0;
}



.p-pageIR__reports {
    margin-block: 100px 0;
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
    align-items: flex-end;
    max-width: 1000px;
    margin-left: auto;
}

.p-pageIR__reportsList {
    display: grid;
    gap: 32px;
    margin-bottom: 100px;
}
.p-pageIR__reportsItem {
    display: flex;
    align-items: center;
    gap: 50px;
}
.p-pageIR__reportsImage {
    max-width: 200px;
}
.p-pageIR__reportsImage a {
  display: block;
}

.p-pageIR__reportsImage img {
  display: block;
  width: 100%;
  height: auto;
}

.p-pageIR__reportsText {
  line-height: 2;
}
.c-section__head_s {
    position: relative;
    z-index: 0;
}
.c-sectionHeading_s {
    display: flex;
    align-items: center;
}
.c-sectionHeading__title_s {
    width: 30px;
    height: 30px;
    background: #fff;
    border: solid 1px #cf221c;
    border-radius: 100px;
}
.c-sectionHeading__line_s {
    width: 100%;
    height: 1px;
    background: #D32600;
}
.c-sectionHeading__Jp_s {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 30px;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.1rem;
    color: #ADADAD;
    font-weight: 500;
    letter-spacing: 0;
    transform: translate(0, -2px);
}

.p-pageIRAccount {
}
.p-pageIRAccount__blocks {
    margin-block: 100px 0;
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
    align-items: flex-end;
    max-width: 1000px;
    margin-left: auto;
}
.p-pageIRAccount__block + .p-pageIRAccount__block {
  margin-top: 64px;
}

.p-pageIR__coverageBody {
    margin-top: 60px;
}

.p-pageIRAccount__lead {
  margin-bottom: 20px;
  line-height: 2;
  color: #333;
}

.p-pageIRAccount__table {
  width: 100%;
  border-top: 1px solid #d9d9d9;
  border-left: 1px solid #d9d9d9;
  border-collapse: collapse;
  table-layout: fixed;
}
.p-pageIRAccount__block:first-of-type {
    margin-block: 0 20px;
}
.p-pageIRAccount__date, .p-pageIRAccount__content {
    padding-block: 10px;
    padding-inline: 20px;
    border: 1px solid #ccc;
}
.p-pageIRAccount__date {
  width: 220px;
  background: #f7f7f7;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}
.p-pageIRAccount__body {
    padding-block: 40px 0;
}
.p-pageIRAccount__content {
  background: #fff;
}
a.p-pageIRAccount__link {
    display: inline-block;
    color: #ca2200;
    text-decoration: underline;
  transition: opacity 0.3s ease;
}
a.p-pageIRAccount__link .fa-file-pdf::before {
    font-family: 'Material Symbols Sharp';
    content: "\e415";
    font-style: normal;
    font-size: 2.1rem;
    color: #AE2502;
}
.p-pageIRAccount__link:hover {
  opacity: 0.7;
  text-decoration: underline;
}

.p-pageIRAccount__icon {
  margin-left: 10px;
  font-size: 1.6rem;
}

.p-pageIRAccount__size {
  margin-left: 4px;
  font-size: 1.3rem;
  color: #666;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .p-pageIRAccount__block + .p-pageIRAccount__block {
    margin-top: 48px;
  }

  .p-pageIRAccount__body {
    margin-top: 24px;
  }

  .p-pageIRAccount__table,
  .p-pageIRAccount__table tbody,
  .p-pageIRAccount__table tr,
  .p-pageIRAccount__table th,
  .p-pageIRAccount__table td {
    display: block;
    width: 100%;
  }

  .p-pageIRAccount__table {
    border-left: none;
    border-top: none;
  }

  .p-pageIRAccount__table tr {
    border: 1px solid #d9d9d9;
    margin-bottom: 12px;
  }

  .p-pageIRAccount__table th,
  .p-pageIRAccount__table td {
    padding: 14px 16px;
    border: none;
    font-size: 1.3rem;
  }

  .p-pageIRAccount__date {
    width: 100%;
    border-bottom: 1px solid #d9d9d9;
  }

  .p-pageIRAccount__content {
    background: #fff;
  }

  .p-pageIRAccount__icon {
    margin-left: 8px;
  }

  .p-pageIRAccount__size {
    display: inline-block;
    margin-left: 4px;
  }
}


@media screen and (max-width: 767px) {
  .p-pageIR__reportsList {
    gap: 24px;
    margin-bottom: 48px;
  }

  .p-pageIR__reportsImage {
    margin-bottom: 12px;
  }
}
.p-pageIR__coverage {
}

.p-pageIR__coverageBody {
  margin-top: 32px;
}

.p-pageIR__coverageLead {
  margin-bottom: 24px;
  line-height: 2;
}

.p-pageIR__coverageTable {
  width: 100%;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-collapse: collapse;
}

.p-pageIR__coverageTable th, .p-pageIR__coverageTable td {
    padding-block: 10px;
    padding-inline: 15px;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    font-size: 1.5rem;
    line-height: 1.8;
}

.p-pageIR__coverageTable th {
    width: 30%;
    background: #c83830;
    color: #fff;
    font-weight: 600;
    text-align: left;
}
.p-pageIR__coverageTable td {
  background: #fff;
}

.p-pageIR__coverageTableHead {
  text-align: center;
}

.p-pageIR__coverageNotes {
  margin-top: 24px;
}
.p-pageIR__coverageNote {
    display: flex;
    align-items: flex-start;
    gap: 0.4em;
    line-height: 2;
    letter-spacing: 0;
}
.p-pageIR__coverageNote + .p-pageIR__coverageNote {
  margin-top: 8px;
}

.p-pageIR__coverageBullet {
  flex-shrink: 0;
}



.ir-nes-block {
    padding-block: 100px 0;
    max-width: 1200px;
    margin-inline: auto;
}
.irp-press {
    margin-block: 0 50px;
}
.ir-nes_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    row-gap: 100px;
    max-width: 1000px;
    margin-inline: auto;
}
.ir-nes_box {
    text-align: center;
}
.ir-nes_box .c-sectionHeading {
    justify-content: center;
    margin-block: 0 40px;
}
.ir-nes-block .Link_Bt {
    text-align: right;
}
.ir-attentions {
    padding-block: 50px;
    padding-inline: 20px;
    background: #f5f5f5;
    border-radius: 10px;
    margin-block: 100px 0;
}
.ir-attentions-box {
    max-width: 860px;
    margin-inline: auto;
    padding-block: 30px;
}
.ir-attentions-box-h {
    font-weight: 600;
    font-size: 1.5rem;
    margin-block: 0 15px;
}
.btn_2.v3 a {
    background: #f5f5f5;
    border: solid 1px #d7d7d7;
    border-radius: 6px;
    padding-block: 15px;
    min-height: 75px;
    padding-inline: 38px;
    position: relative;
    margin-block: 0 20px;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
}
.btn_2.v3:last-of-type a {
    margin-block: 0 0;
}
.btn_2.v3 a .Jp{
    display: block;
    font-size: 1.3rem;
    font-weight: 500;
}
.btn_2.v3 a .En{
    font-size: 1.55rem;
    font-weight: 600;
    letter-spacing: 0;
    color: #d32600;
}
.btn_2.v3 a .icon {
    background: #D32600;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 28px;
    height: 28px;
    min-width: 28px;
    min-height: 28px;
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto;
}
.btn_2.v3 a .icon img{
    width: 12px;
}









@media screen and (max-width: 767px) {
  .p-pageIR__coverageBody {
    margin-top: 24px;
  }

  .p-pageIR__coverageLead {
    margin-bottom: 20px;
  }

  .p-pageIR__coverageTable th,
  .p-pageIR__coverageTable td {
    padding: 14px 12px;
    font-size: 1.3rem;
  }

  .p-pageIR__coverageTable th {
    width: 38%;
  }
}






@media screen and (max-width: 767px) {
  .p-pageIRStock__table,
  .p-pageIRStock__table tbody,
  .p-pageIRStock__table tr,
  .p-pageIRStock__table th,
  .p-pageIRStock__table td {
    display: block;
    width: 100%;
  }

  .p-pageIRStock__table th,
  .p-pageIRStock__table td {
    padding: 14px 16px;
  }

  .p-pageIRStock__table th {
      border-bottom: none;
      padding-block: 10px;
  }

  .p-pageIRStock__table td {
      padding-top: 0;
      padding-block: 10px;
  }

}

@media screen and (max-width: 767px) {
  .p-pagePolicy {
    padding-block: 64px;
  }

  .p-pagePolicy__lead {
    font-size: 1.4rem;
    line-height: 1.9;
    padding-bottom: 28px;
    margin-bottom: 28px;
  }

  .p-pagePolicy__section + .p-pagePolicy__section {
    margin-top: 36px;
  }

  .p-pagePolicy__title {
    margin-bottom: 14px;
    padding-left: 14px;
    font-size: 1.8rem;
  }

  .p-pagePolicy__title::before {
    width: 4px;
    height: 1.1em;
  }

  .p-pagePolicy__text p {
    font-size: 1.4rem;
    line-height: 1.9;
  }

  .p-pagePolicy__text p + p {
    margin-top: 8px;
  }
}




@media screen and (max-width: 767px) {
  .irChartTabs__inner {
    flex-direction: column;
    gap: 24px;
  }

  .irChartTabs__nav {
    width: 100%;
  }

  .irChartTabs__list {
    gap: 10px;
  }

  .irChartTabs__button {
    min-height: 52px;
    font-size: 1.3rem;
  }

  .box-two,
  .float_l,
  .float_r {
    float: none;
    width: 100%;
  }
  .irChartTabs__content {
      width: 100%;
  }

}



.PageWrap.NanoMedia {
    background: #f7f7f7;
}
.NanoMedia .c-sectionHeading__title {
    border: solid 1px #000000;
    color: #000000;
}
.NanoMedia .c-sectionHeading__line {
    background: #000000;
}
.NanoMedia .p-media {
    padding-block: 100px 0;
    max-width: 1240px;
    margin-inline: auto;
}
.NanoMedia .p-media__logo {
    max-width: 320px;
    margin-block: 0 150px;
}
.NanoMedia .p-media__heading {
  position: relative;
  display: inline-block;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1;
  padding-block: 12px;
  padding-inline: 14px;
  margin-block: 0 50px;
  justify-self: start;
}
.NanoMedia .p-media__heading::before,
.NanoMedia .p-media__heading::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  pointer-events: none;
}
.NanoMedia .p-media__heading::before {
    top: 0;
    left: 0;
    border-top: 2px solid #a8a8a8;
    border-left: 2px solid #a8a8a8;
}
.NanoMedia .p-media__heading::after {
  right: 0;
  bottom: 0;
  border-right: 2px solid #a8a8a8;
  border-bottom: 2px solid #a8a8a8;
}

.NanoMedia .p-media__heading span::before,
.NanoMedia .p-media__heading span::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  pointer-events: none;
}

.NanoMedia .p-media__heading span::before {
  top: 0;
  right: 0;
  border-top: 2px solid #a8a8a8;
  border-right: 2px solid #a8a8a8;
}

.NanoMedia .p-media__heading span::after {
  left: 0;
  bottom: 0;
  border-left: 2px solid #a8a8a8;
  border-bottom: 2px solid #a8a8a8;
}
.NanoMedia .p-media__text {
    font-size: 1.6rem;
    line-height: 1.9;
}
.NanoMedia .p-media__about {
    display: flex;
    gap: 50px;
    justify-content: space-between;
    align-items: flex-end;
    padding-block: 0 100px;
    border-bottom: solid 1px #333333;
    position: relative;
    z-index: 0;
    margin-top: -150px;
}
.NanoMedia .p-media__aboutImage {
    max-width: 460px;
}
.NanoMedia .p-media__section--business, .NanoMedia .p-media__section--company {
  display: grid;
  grid-template-columns: 1fr 1fr;
    gap: 50px;
    justify-content: space-between;
    align-items: flex-start;
    padding-block: 100px;
    border-bottom: solid 1px #333333;
}
.NanoMedia .p-media__businessItem {
    margin-block: 0 40px;
}
.NanoMedia span.p-media__businessTitle {
    font-weight: 600;
    margin-block: 0 15px;
    display: block;
}
.NanoMedia .p-media__table th {
    padding-block: 6px;
    padding-inline: 0 6px;
    vertical-align: top;
}
.NanoMedia .p-media__table td {
    padding-block: 6px;
    padding-inline: 6px;
}

.p-pageAbout__hero,
.p-pageAbout__body {
  opacity: 0;
  filter: blur(14px);
  transform: translateY(16px);
  clip-path: inset(0 100% 0 0);
  will-change: clip-path, filter, opacity, transform;
}

.p-topMovie__slider {
  position: relative;
  overflow: hidden;
  padding-bottom: 56px;
}

.p-topMovie__slide {
  height: auto;
}

.p-topMovie__movie {
  position: relative;
  overflow: hidden;
  background: #000;
  aspect-ratio: 16 / 9;
}

.p-topMovie__movie iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ナビ */
.p-topMovie__navigation {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 4px;
}

/* 矢印 */
.p-topMovie__arrow {
    position: relative;
    width: 40px;
    height: 24px;
    border: 1px solid #cfcfcf;
    border-radius: 4px;
    background: #f7f7f7;
    cursor: pointer;
    transition: opacity .3s ease, background .3s ease;
}
.p-topMovie__arrow:hover {
  background: #ececec;
}
.p-topMovie__arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    border-top: 1px solid #8a8a8a;
    border-right: 1px solid #8a8a8a;
}
.p-topMovie__arrow--prev::before {
  transform: translate(-35%, -50%) rotate(-135deg);
}

.p-topMovie__arrow--next::before {
  transform: translate(-65%, -50%) rotate(45deg);
}

.p-topMovie__arrow.swiper-button-disabled {
  opacity: 0.4;
  pointer-events: none;
  cursor: default;
}

/* ===== progressbar 上書き ===== */
.p-topMovie__pagination.swiper-pagination-progressbar {
    position: absolute;
    left: 100px!important;
    right: 0!important;
    bottom: 8px;
    top: auto!important;
    width: auto;
    height: 6px;
    background: #bfbfbf;
    z-index: 5;
    border-radius: 100px;
}
.p-topMovie__pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #222;
    height: 5px;
    top: 0;
    left: 0;
    border-radius: 100px;
    overflow: hidden;
}


@media screen and (max-width: 1369px) {
  .p-topGroup__button a.c-linkButton {
      min-width: 240px;
      justify-content: flex-start;
  }
  span.c-linkButton__label {
      font-size: 1.4rem;
  }
}
@media screen and (max-width: 1239px) {
  .site-header__inner,.p-topTopics__inner, .p-pageTopics__inner,.p-topMovie__inner, .p-pageMovie__inner,.p-topGroup__inner, .p-pageGroup__inner,.p-topBusiness__inner, .p-pageBusiness__inner,.p-topBoard__inner, .p-pageBoard__inner,.p-pageAbout__inner,.p-topMv__content,.p-topMv__content,.site-footer__inner,.p-pageTeam__inner,.p-pageHistory__inner,.p-pageProfile__inner,.p-page__inner {
      padding-inline: 60px;
  }
  .site-header__nav-list {
      gap: 18px;
  }
  .site-header__nav-area {
      gap: 18px;
  }
  a.site-footer__logo {
      max-width: 385px;
      min-width: 260px;
      width: auto;
  }
  .site-header__inner {
      gap: 20px;
  }
}
@media screen and (max-width: 1089px) {
    .site-header__inner, .p-topTopics__inner, .p-pageTopics__inner, .p-topMovie__inner, .p-pageMovie__inner, .p-topGroup__inner, .p-pageGroup__inner, .p-topBusiness__inner, .p-pageBusiness__inner, .p-topBoard__inner, .p-pageBoard__inner, .p-pageAbout__inner, .p-topMv__content, .p-topMv__content,.site-footer__inner,.p-pageTeam__inner,.p-pageHistory__inner,.p-pageProfile__inner,.p-page__inner {
        padding-inline: 40px;
    }
    .site-header__nav-list {
        gap: 13px;
    }
    .site-header__nav-area {
        gap: 13px;
        padding-inline: 18px;
    }

}
@media screen and (max-width: 1023px) {
.NanoMedia .p-media__text {
    font-size: 1.5rem;
    line-height: 1.8;
}
.NanoMedia .p-media {
    padding-block: 80px 0;
}
.NanoMedia .p-media__about {
    margin-top: 0;
}
  .site-footer__bottom {
      align-items: flex-start;
      flex-flow: column;
  }
  .p-topTopics__inner, .p-pageTopics__inner {
      padding-block: 100px 100px;
  }
  .p-pageAbout__content {
      gap: 30px;
      max-width: 700px;
  }
  .p-pageAbout__catch-small {
      font-size: 2.8rem;
  }
  .p-pageAbout__catch {
      font-size: 5rem;
  }
  .p-pageAbout__catchEn {
      font-size: 1.35rem;
  }
  .p-pageAbout__lead {
      font-size: 3.5rem;
  }
  .p-pageAbout__inner{
      padding-block: 120px 120px;
  }
  .p-pageAbout__content {
      padding-block: 80px 0;
  }
  .p-pageAbout__text {
      margin-block: 0;
  }
  .p-pageTeam__inner {
      padding-block: 80px 80px;
  }
  .p-pageTeam__content {
      padding-block: 60px 0;
  }
  .p-pageTeam__lead {
      font-size: 2.1rem;
      margin-block: 0 60px;
  }
  .p-pageTeam__sectionTitle:before {
      margin-inline: 0 10px;
  }
  .p-pageTeam__sectionTitle {
      font-size: 2.1rem;
      margin-block: 0 30px;
  }
  .p-pageTeam__list {
      gap: 20px;
  }
  .p-pageTeam__section {
      margin-block: 0 80px;
  }
  .p-pageHistory__inner {
      padding-block: 80px 0;
  }
  .history__list {
      margin-block: 60px 0;
  }
  .p-pageProfile__inner {
      padding-block: 80px 80px;
  }
  .p-pageProfile__content {
      gap: 40px;
      padding-block: 60px 0;
  }
  .p-topBusiness__content {
      gap: 30px;
      padding-block: 60px 0;
  }
  .p-topBusiness__lead {
      font-size: 2.8rem;
      margin-block: 0 30px;
  }
  .p-topBusiness__inner, .p-pageBusiness__inner {
      padding-block: 120px 50px;
  }
  .PageWrap .p-pageGroup__inner {
      padding-block: 10px 60px;
  }
  .p-topGroup__list {
      grid-template-columns: repeat(1, 1fr);
      gap: 30px;
      padding-block: 60px 0;
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
  }
  .p-topGroup__item {
      display: flex;
      width: 100%;
      flex-flow: wrap;
      position: relative;
  }
  .p-topGroup__content {
      width: 60%;
      padding-block: 20px 100px;
  }
  .p-topGroup__image {
      width: 40%;
      padding-block: 40px;
      padding-inline: 20px;
      display: flex;
      justify-content: center;
      align-items: center;
  }
  .p-topGroup__button {
      position: absolute;
      right: 0;
      bottom: 0;
  }
  .c-sectionHeading__Jp {
      font-size: 2.2rem;
  }
  .ir-nes-block {
      padding-block: 60px 0;
  }
  .ir-nes_list {
      gap: 20px;
      row-gap: 60px;
  }
  .p-page__inner {
      padding-block: 120px 60px;
  }
  .irChartTabs {
      margin-block: 60px 0;
  }
  .irChartTabs__inner {
      gap: 50px;
      flex-flow: column;
  }
  .irChartTabs__nav {
      width: 100%;
  }
  .irChartTabs__list {
      flex-direction: row;
      justify-content: center;
      align-items: center;
  }
  .IRLibrary_Area {
      padding-block: 60px 50px;
  }
  .p-pageMovie__list {
      padding-block: 60px 0;
      gap: 20px;
      row-gap: 40px;
  }
  .p-pageIrBook__list {
      padding-block: 60px 0;
      gap: 20px;
  }
  .p-pageIRStock__tableWrap,.p-pageIR__reports,.p-pageIRAccount__blocks,.Topics_Area {
      margin-top: 60px;
  }
  .c-sectionHeading__Jp_s {
      font-size: 1.8rem;
  }
}
@media screen and (max-width: 981px) {
  .p-topMv__videoWrap {
      clip-path: ellipse(120vw 100% at 50% 0%);
  }
  .p-topBoard__list {
      padding-inline: 0px;
  }
  .p-topAbout__container {
      flex-flow: column;
  }
  .p-topAbout .c-section__head {
      width: 100%;
  }
  .p-topAbout__logo {
      margin-block: 60px 50px;
      margin-inline: auto;
  }
  .p-topAbout__lead {
      font-size: 3.8rem;
      text-align: left;
  }
  .p-topAbout__lead br{
      display: none;
  }
  .p-topAbout__body {
      width: 100%;
  }
  .p-topAbout__text br{
      display: none;
  }
  .p-topAbout .c-buttonWrap.p-topAbout__button {
      text-align: center;
  }
  .p-topBoard__text br{
      display: none;
  }
  .p-topTopics__tab {
      margin-top: 60px;
      gap: 40px;
  }
  .p-topMovie__slider {
      margin-top: 60px;
  }
  .p-topMv__heading {
      font-size: 8.5vw;
  }
  .p-topMv__heading-small {
      font-size: 4.85vw;
  }
  .p-topMv__subheading {
      font-size: 2.2vw;
  }
}
@media screen and (max-width: 931px) {
  .p-pageProfile__logo {
      display: none;
  }
  .p-irCalendar__image img.Sp {
      display: block;
  }
  .p-irCalendar__image img.Pc {
      display: none;
  }
  .p-irCalendar__image {
      max-width: 550px;
      margin-inline: auto;
  }
  .p-irCalendar__layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .p-irCalendar__nav {
    width: 100%;
  }

  .p-irCalendar__navViewport {
    height: auto;
    overflow: visible;
  }

  .p-irCalendar__navList {
    flex-direction: row;
    flex-wrap: wrap;
    transform: none !important;
    gap: 10px;
    justify-content: flex-start;
  }

  .p-irCalendar__navArrow {
    display: none;
  }

  .p-irCalendar__yearTab {
    min-height: 44px;
    padding: 10px 14px;
  }

  .p-irCalendar__date {
    width: 100px;
  }
  .p-topBoard__title {
      font-size: 2.6rem;
  }
  .p-topAbout__logo {
      max-width: 300px;
  }
/* =========================
   Footer Nav PC
========================= */
.site-footer__nav {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 32px 24px;
}

.site-footer__nav-title {
  position: relative;
}

.site-footer__nav-mainLink {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.site-footer__nav-subList {
  margin-top: 16px;
}

.site-footer__nav-subItem + .site-footer__nav-subItem {
  margin-top: 10px;
}


/* =========================
   Footer Nav SP / Tablet
========================= */

  .site-footer__nav {
    display: block;
  }

  .site-footer__nav-col {
    border-top: 1px solid rgba(255, 255, 255, 0.16);
  }

  .site-footer__nav-col:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }

  .site-footer__nav-title {
    position: relative;
    margin: 0;
  }

  .site-footer__nav-mainLink {
    display: flex;
    align-items: center;
    min-height: 64px;
    padding: 20px 48px 20px 0;
    width: 100%;
  }

  /* アコーディオン開閉ボタン */
  .site-footer__nav-toggle {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 0;
  }

  .site-footer__nav-toggle::before,
  .site-footer__nav-toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 1px;
    background: #fff;
    transform: translate(-50%, -50%);
    transition: transform 0.3s ease, opacity 0.3s ease;
  }

  .site-footer__nav-toggle::after {
    transform: translate(-50%, -50%) rotate(90deg);
  }

  .site-footer__nav-col.is-open .site-footer__nav-toggle::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
  }

  /* アコーディオン本体 */
  .site-footer__nav-subList {
    margin-top: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition:
      max-height 0.4s ease,
      opacity 0.3s ease,
      transform 0.3s ease,
      visibility 0.3s ease;
  }

  .site-footer__nav-col.is-open .site-footer__nav-subList {
    max-height: 500px;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    padding: 0 0 20px;
  }

  .site-footer__nav-subItem + .site-footer__nav-subItem {
    margin-top: 12px;
  }

  .site-footer__nav-subLink {
    display: block;
    padding: 2px 0;
  }

  /* サブメニューがないものは矢印ボタン不要 */
  .site-footer__nav-col:not(.is-accordion) .site-footer__nav-mainLink {
    padding-right: 0;
  }

  .site-footer__nav-col:not(.is-accordion) .site-footer__nav-toggle {
    display: none;
  }
  
  .is-accordion .site-footer__nav-title {
    margin-block: 0;
  }
  .site-footer__nav-title.Boder{
        border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }
    .NanoMedia .p-media__about {
        flex-flow: column;
        align-items: center;
        padding-block: 0 60px;
    }
    .NanoMedia .p-media__business {
        flex-flow: column;
        align-items: center;
    }
    .NanoMedia .p-media__text br{
    display: none;
    }
    .NanoMedia .p-media__logo {
    max-width: 280px;
    margin-block: 0 100px;
    margin-inline: auto;
    }
    .NanoMedia .p-media__section--business, .NanoMedia .p-media__section--company {
        grid-template-columns: 1fr;
        gap: 30px;
        padding-block: 60px;
    }
    .NanoMedia .p-media__heading {
    font-size: 2.1rem;
    margin-block: 0 25px;
    }

    .NanoMedia .p-media__table th {
    padding-block: 6px 0;
    padding-inline: 0;
    vertical-align: top;
    width: 100%;
    display: block;
    }
    .NanoMedia .p-media__table td {
    padding-block: 6px;
    padding-inline: 0 6px;
    width: 100%;
    display: block;
    }
    .NanoMedia .p-media__businessItem:last-of-type {
    margin-block: 0 0;
    }
}
@media screen and (max-width: 681px) {
    .site-header__inner, .p-topTopics__inner, .p-pageTopics__inner, .p-topMovie__inner, .p-pageMovie__inner, .p-topGroup__inner, .p-pageGroup__inner, .p-topBusiness__inner, .p-pageBusiness__inner, .p-topBoard__inner, .p-pageBoard__inner, .p-pageAbout__inner, .p-topMv__content, .p-topMv__content, .site-footer__inner, .p-pageTeam__inner, .p-pageHistory__inner, .p-pageProfile__inner, .p-page__inner {
        padding-inline: 20px;
    }
    .site-footer__sns {
        display: flex;
        gap: 20px;
        flex-wrap: wrap;
    }
    .site-footer__bottom {
        align-items: center;
        flex-flow: column;
    }
    a.site-footer__logo {
        max-width: 220px;
        min-width: 220px;
        margin-inline: auto;
    }
    .site-footer__bottom {
        padding-block: 0 60px;
    }
    .site-footer__copyright {
        font-size: 1.15rem;
        padding-block: 20px;
    }
    .site-footer__nav {
        padding-block: 80px 60px;
    }
    .p-topMovie__inner, .p-pageMovie__inner {
        padding-block: 60px 60px;
    }
    .ir-nes_list {
        grid-template-columns: repeat(1, 1fr);
    }

    .c-sectionHeading__title {
    font-size: 1.2rem;
    width: 120px;
    height: 120px;
    min-width: 120px;
    min-height: 120px;
    }
    .p-topMv__videoWrap {
        clip-path: ellipse(200vw 100% at 50% 0%);
    }
    .p-topBoard, .p-pageBoard {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    }
    .p-topBoard__inner, .p-pageBoard__inner {
    padding-block: 100px;
    }
    .p-topBoard__item {
    gap: 30px;
    flex-flow: column;
    }
    .p-topBoard__item > div {
    width: 100%;
    }
    .p-topBoard__item:nth-of-type(even) .p-topBoard__imageWrap {
        order: 2;
    }
    .p-topBoard__item:nth-of-type(even) .p-topBoard__content {
        order: 1;
    }
    .p-topBoard__title {
      font-size: 2.2rem;
      margin-block: 0 15px;
    }
    .p-topBoard__item {
        margin-block: 0 80px;
    }
    .p-topBusiness__content {
            flex-flow: column;
    }
    .p-topBusiness__body {
        width: 100%;
        order: 2;
    }
    .p-topBusiness__lead {
        font-size: 2.4rem;
    }
  .p-topBusiness__lead br{
      display: none;
  }
  .p-topBusiness__text br{
        display: none;
  }
  .p-topBusiness__text {
      margin-block: 0 40px;
  }
  .p-topBusiness__button.c-buttonWrap {
      text-align: center;
  }
  .p-topBusiness__image {
      width: 100%;
      order: 1;
  }
  .p-topGroup__item {

      flex-flow: column;
  }
  .p-topGroup__image {
      width: 100%;
  }
  .p-topGroup__content {
      width: 100%;
      padding-block: 20px 10px;
  }
  .p-topGroup__button {
      position: relative;
      right: 0;
      bottom: 0;
  }
  .p-topTopics .c-sectionButton {
      display: none;
  }
    .p-topTopics .c-buttonWraps {
        display: flex;
        flex-flow: column;
        gap: 15px;
        align-items: center;
        margin-block: 30px 0;
    }
 .p-topTopics__tab {
      flex-flow: column;
  } 
  .p-topTopics__tab-head {
      display: flex;
      gap: 10px;
      margin-bottom: 0;
      flex-flow: nowrap;
      min-width: 1px;
  }
  .p-topTopics__tab-button {
      font-size: 1.4rem;
      border-radius: 10px;
      padding-block: 12px;
      padding-inline: 10px;
  }
  .site-footer__inner {
      border-top-left-radius: 0;
      border-top-right-radius: 0;
  }
  .p-topTopics__inner, .p-pageTopics__inner {
      padding-block: 80px 10px;
  }
  .p-topGroup__inner, .p-pageGroup__inner {
      padding-block: 60px 110px;
  }
  .p-topBusiness__inner, .p-pageBusiness__inner {
      padding-block: 80px 30px;
  } 
  .p-topBoard__inner, .p-pageBoard__inner {
      padding-block: 80px 100px;
  }
  .p-pageAbout__inner {
      padding-block: 80px 80px;
  }
    .p-topMv__videoWrap {
        max-height: 100%;
        height: 100vh;
        height: 100svh;
        min-height: 1px;
        width: 100%;
    }
  .p-pageAbout__content {
      grid-template-columns: repeat(1, 1fr);
  } 
    .p-pageAbout__content {
        padding-block: 60px 0;
    }
.p-pageAbout__catch-small {
        font-size: 2.4rem;
    }
    .p-pageAbout__catch {
        font-size: 4.31rem;
    }
    .p-pageAbout__catchEn {
        font-size: 1.15rem;
    }
.p-pageAbout__hero {
    margin-block: 0 50px;
}
    .p-pageAbout__lead {
        font-size: 2.6rem;
    }
    .p-pageAbout__text br{
display: none;
    }
.p-pageTeam {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.p-pageTeam__lead {
        font-size: 1.8rem;
        margin-block: 0 40px;
    }
    .p-pageTeam__lead br{
display: none;
    }
.p-pageTeam__list {
    grid-template-columns: repeat(1, 1fr);
}
.p-pageTeam__sectionTitle {
        font-size: 1.7rem;
        margin-block: 0 30px;
    }
    .p-pageTeam__sectionTitle:before {
        margin-inline: 0 5px;
    }
    .p-pageTeam__list {
        gap: 30px;
    }
main {
    overflow: hidden;
}
table {
  border-collapse: collapse;
  width: 100%;
}
    .p-pageProfile__head {
        width: 100%;
        vertical-align: middle;
        display: block;
        border-bottom: none;
        padding-block: 12px 3px;
        border-top: none;
    }
    .p-pageProfile__head:first-child {
            border-top: solid 1px #cdcdcd;
    }
    
    .p-pageProfile__data {
        text-align: left;
        display: block;
        width: 100%;
        padding-block: 0 12px;
        border-top: none;
    }
.p-pageProfile__officers {

    padding-block: 5px 0;
}
    .p-pageProfile__inner {
        padding-block: 80px 20px;
    }
    .PageWrap .p-pageGroup__inner {
        padding-block: 10px 20px;
    }
    .p-topGroup__button a.c-linkButton {
        justify-content: center;
    }
.ir-nes-block .Link_Bt {
    text-align: center;
}
    .ir-nes-block {
        padding-block: 60px 30px;
    }  
    .irChartTabs__list {
        flex-flow: column;
        width: 100%;
    }
.irChartTabs__item {
    width: 100%;
    max-width: 220px;
}
.p-pageFinancialData .p-page__inner{
    padding-bottom: 0;
}
.irconlinkarea ul li {
    width: 25%;
}
    .newscon .newsInner .tab-buttons span {
        width: calc(50% - 6px);
        margin: 3px;
    }
.newscon .newsInner .tab-buttons span.tab01, .newscon .newsInner .tab-buttons span.tab02, .newscon .newsInner .tab-buttons span.tab03, .newscon .newsInner .tab-buttons span.tab04, .newscon .newsInner .tab-buttons span.tab05 {
    border-right: none;
}
#lamp {
    width: calc(100% / 2 - 2px);
}
#lamp.tablist01 {
    left: 2px;
}
#lamp.tablist02 {
    left: calc(50% + 2px);
}
#lamp.tablist03 {
    left: 2px;
    top: 20%;
}
        #lamp.tablist04 {
            left: calc(50% + 2px);
            top: 1.0%;
        }
#lamp.tablist05 {
    left: 2px;
    top: 49%;
}   
.p-pageMovie__list {
    grid-template-columns: repeat(1, 1fr);
}
    .p-pageIrBook__list {
        grid-template-columns: repeat(1, 1fr);
        gap: 30px;
    }
.p-irCalendar {
    padding: 60px 0;
}
.p-irCalendar {
    padding-bottom: 0;
}
    .p-pageIRCalender .p-page__inner {
    padding-bottom: 20px;
    }
.p-irCalendar__yearTab {
        padding: 10px 10px;
        width: calc(25% - 8px);
    }
.p-pageIR__reportsItem {
    gap: 10px;
    flex-flow: column;
}
    .p-pageIR__reportsList {
        gap: 50px;
        margin-bottom: 60px;
    }
    .p-pageIRAccount__block + .p-pageIRAccount__block {
        width: 100%;
    }
    .p-pageIRAccount__body {
        margin-top: 0;
        padding-block: 20px 0;
    }
.p-pageIRAccount .p-page__inner{
    padding-bottom: 0;
}
h3.h3_Title {
    font-size: 2.2rem;
}  
.p-pageInformation .Link_Bt {
    text-align: center;
}
.p-pageInformation .p-page__inner {
    padding-bottom: 20px;
    }
    .p-page__inner {
    padding-top: 80px;
    }
.p-faq__area {
    padding: 60px 0;
}
.p-faq__head {
    font-size: 2.2rem;
    margin-block: 0 40px;;
}
.p-faq__answerInner {
    padding-right: 0;
}
.p-faq__box {
    margin-block: 0 60px;
}
.p-faq__area {
padding-bottom: 0;
    }
.p-pageContact .p-page__inner {
    padding-bottom: 20px;
    }
.p-pagePolicy {
        padding-block: 0;
    }
.p-pagePolicy__inner {
    padding-block: 60px 0;
}
.p-pageTerms .p-page__inner {
        padding-block: 120px 20px;
    }
.p-topMv__heading-small {
        font-size: 6.4vw;
    }
    .p-topMv__heading {
        font-size: 11.3vw;
    }
    .p-topMv__subheading {
        font-size: 3.1vw;
    }
    .p-topAbout__lead br {
        display: block;
    }
    .p-topAbout__lead {
        font-size: 8.5vw;
        text-align: left;
        letter-spacing: 0;
        margin-top: 0;
    }
    a.c-linkButton.spw260 {
        min-width: 260px;
        position: relative;
    }
    a.c-linkButton.spw260 span.c-linkButton__icon {
        position: absolute;
        right: 10px;
    }
    .p-topAbout__container {
        gap: 30px;
    }
    .NanoMedia .p-media__logo {
        max-width: 220px;
        margin-block: 0 80px;
        margin-inline: auto;
    }
    .NanoMedia .p-page__inner {
        padding-bottom: 20px;
    }
.p-contactForm {
    margin-block: 60px 0;
}
.p-contactForm__lead {
    line-height: 1.8;
}

.formarea {
    border-radius: 10px;
    padding-inline: 20px;
}
.formarea .formbox {
    margin-bottom: 20px;
}
  .p-pageProfile__officerCareer_image {
      max-width: 180px;
  }
}



.p-topMv__video--sp {
  display: none;
}

@media screen and (max-width: 681px) {
  .p-topMv__video--pc {
    display: none;
  }

  .p-topMv__video--sp {
    display: block;
  }

}


