@charset "UTF-8";
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
  -moz-tab-size: 2;
    -o-tab-size: 2;
       tab-size: 2;
  scrollbar-gutter: stable;
  interpolate-size: allow-keywords;
  line-height: 1.5;
}

:where(html:has(dialog:modal[open])) {
  overflow: clip;
}

@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}
:where(body) {
  line-height: inherit;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

:where(button) {
  all: unset;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  word-spacing: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  box-shadow: none;
}

:where(textarea) {
  resize: vertical;
  resize: block;
  box-shadow: none;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer;
  box-shadow: none;
}

:where(:disabled, label:has(> :disabled, + disabled)) {
  cursor: not-allowed;
}

:where(a) {
  color: inherit;
  text-underline-offset: 0.2ex;
}

:where(ul, ol) {
  list-style: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg, video) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem);
  text-wrap: balance;
}

:where(hr) {
  border: none;
  border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(dialog, [popover]) {
  border: none;
  background: none;
  color: inherit;
  inset: unset;
  max-width: unset;
  max-height: unset;
  overflow: unset;
}

:where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
  display: none !important;
}

:where(:focus-visible) {
  outline: 3px solid CanvasText;
  box-shadow: 0 0 0 5px Canvas;
  outline-offset: 1px;
}

:where(:focus-visible, :target) {
  scroll-margin-block: 8vh;
}

:where(.visually-hidden:not(:focus-within, :active)) {
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
          user-select: none !important;
}

/**
 * uaplus.css version 0.0.1
 */
/**
 * Different box model
 * 
 * We use the traditional box model, where the padding and border 
 * of the element is drawn inside and not outside the specified 
 * width and height. That makes combining relative and absolute 
 * units in properties like <code>inline-size</code> and 
 * <code>block-size</code> easier.
 * 
 * See https://en.wikipedia.org/wiki/CSS_box_model
 */
/**
 * Improve focus styles
 *
 * Add spacing between content and its focus outline.
 */
:focus-visible {
  outline-offset: 3px;
}

/**
 * Disable text size adjustment
 * 
 * To improve readability on non-mobile optimized websites, browsers
 * like mobile Safari increase the default font size when you switch
 * a website from portrait to landscape. We don't want that for our 
 * optimized sites.
 *
 * See https://kilianvalkhof.com/2022/css-html/your-css-reset-needs-text-size-adjust-probably/
 */
:where(html) {
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
          text-size-adjust: none;
}

/**
 * Increase line height
 *
 * Long paragraphs are easier to read if the line height is higher.
 */
/**
 * Add scrollbar gutter
 *
 * Prevent the page from “jumping” when switching from a long to a short page.
 *
 */
:where(html) {
  scrollbar-gutter: stable;
}

/**
 * Remove UA styles for h1s nested in sectioning content
 *
 * Nesting h1s in section, articles, etc., shouldn't influence the 
 * styling of the heading since nesting doesn't influence 
 * semantics either.
 * 
 * See https://github.com/whatwg/html/issues/7867#issuecomment-2632395167
 * See https://github.com/whatwg/html/pull/11102
 * See https://html.spec.whatwg.org/#sections-and-headings
 */
:where(h1) {
  font-size: 2em;
  margin-block: 0.67em;
}

/**
 * Improve abbreviations with titles
 * 
 * The abbr element with the title isn't helpful regarding 
 * accessibility because support is inconsistent, and it's only 
 * accessible to some users. Still, it's commonly used. 
 * This rule shows a dotted underline on abbreviations in all 
 * browsers (there's a bug in Safari) and changes the cursor.
 * 
 * See https://adrianroselli.com/2024/01/using-abbr-element-with-title-attribute.html
 */
:where(abbr[title]) {
  cursor: help;
  text-decoration-line: underline;
  text-decoration-style: dotted;
}

/**
 * Optimize mark element in Forced Colors Mode
 *
 * The colors of the mark element don't change in Forced Colors Mode,
 * which can be problematic. Use system colors instead.
 * 
 * See https://adrianroselli.com/2017/12/tweaking-text-level-styles.html#MarkWHCM
 */
@media (forced-colors: active) {
  mark {
    color: HighlightText;
    background-color: Highlight;
  }
}
/**
 * Announce del, ins, and s to screen readers
 * 
 * With the exception of NVDA (2024.4.2), which announces "deletion",
 * none of the common screen readers announces the <s> element.
 * Voice Over on macOS and iOS and Narrator don't announce 
 * <ins> and <del>. Usually, screen readers not announcing text-level
 * semantics is something we just accept, but devs using elements 
 * like <s> without knowing that they may not convey semantics is a 
 * common issue. We announce the start and end of stricken, inserted,
 * and deleted content with pseudo-elements. For languages other 
 * than English, you should provide translations, e.g. :lang(de) 
 * :where(s::before) { content: "Durchgestrichener Text Beginn "; }
 * 
 * See https://adrianroselli.com/2017/12/tweaking-text-level-styles.html
 */
:where(del, ins, s)::before,
:where(del, ins, s)::after {
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  content: "test";
}

:where(s)::before {
  content: "stricken text start ";
}

:where(s)::after {
  content: " stricken text end";
}

:where(del)::before {
  content: "deletion start ";
}

:where(del)::after {
  content: " deletion end";
}

:where(ins)::before {
  content: "insertion start ";
}

:where(ins)::after {
  content: " insertion end";
}

/**
 * Avoid overflow caused by embedded content
 * 
 * Ensure that embedded content (audio, video, images, etc.) 
 * doesn't overflow its container.
 */
:where(audio, iframe, img, svg, video) {
  max-block-size: 100%;
  max-inline-size: 100%;
}

/**
 * Prevent fieldsets from causing overflow
 *
 * Reset the default `min-inline-size: min-content` to prevent
 * children from stretching fieldsets
 *
 * See https://github.com/twbs/bootstrap/issues/12359
 * and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements
 */
:where(fieldset) {
  min-inline-size: 0;
}

/**
 * Turn labels into block elements
 * 
 * Labels for inputs, selects, and textarea should be block 
 * elements.
 */
:where(label):has(+ :where(textarea, input, select)) {
  display: block;
}

/**
 * Increase the block-size of textareas
 *
 * The default height of textareas is small. We increase it a bit.
 */
:where(textarea:not([rows])) {
  min-block-size: 6em;
}

/**
 * Inherit font styling in form elements
 * 
 * buttons, inputs, selects, and textarea should have the same font
 * family and size as the rest of the page.
 */
:where(button, input, select, textarea) {
  font-family: inherit;
  font-size: inherit;
}

/**
 * Normalize search input styles
 *  
 * Remove the rounded corners of search inputs on macOS and IOS 
 * and normalize the background color
 */
:where([type=search]) {
  -moz-appearance: textfield;
       appearance: textfield;
  -webkit-appearance: textfield;
}

/* iOS only */
@supports (-webkit-touch-callout: none) {
  :where([type=search]) {
    border: 1px solid -apple-system-secondary-label;
    background-color: canvas;
  }
}
/**
 * Maintain direction in some input types
 * 
 * Some input types should remain left-aligned in right-to-left
 * languages,but only if the value isn't empty because the 
 * placeholder should be right-aligned.
 *
 * See https://rtlstyling.com/posts/rtl-styling#form-inputs
 */
:where([type=tel], [type=url], [type=email], [type=number]):not(:-moz-placeholder-shown) {
  direction: ltr;
}
:where([type=tel], [type=url], [type=email], [type=number]):not(:placeholder-shown) {
  direction: ltr;
}

/**
 * Improve table styling
 *  
 * With the default styling, tables are hard to scan. These rules 
 * add padding and collapsed borders.
 */
:where(table) {
  border-collapse: collapse;
}

/**
 * Fading dialogs
 *  
 * Add fade in and fade out transitions for the dialog element
 * and backdrops
 */
:where(dialog)::backdrop {
  background: oklch(0% 0 0/0.3);
}

:where(dialog),
:where(dialog)::backdrop {
  opacity: 0;
  transition: opacity 300ms ease-out, display 300ms allow-discrete, overlay 300ms allow-discrete;
}

:where(dialog[open]),
:where(dialog[open])::backdrop {
  opacity: 1;
}

@starting-style {
  :where(dialog[open]),
  :where(dialog[open])::backdrop {
    opacity: 0;
  }
}
/**
 * Increase specificity of [hidden]
 *  
 * Make it harder to accidentally unhide elements with the 
 * [hidden] attribute while still maintaining the until-found 
 * functionality.
 */
[hidden]:not([hidden=until-found]) {
  display: none !important;
}

body.lamp-system header,
body.lamp-system section.headline,
body.lamp-system section.overview,
body.lamp-system section.components > div,
body.lamp-system section.ech-announces > div,
body.lamp-system section.benefits > div,
body.lamp-system section.maintenance > div,
body.lamp-system section.organization,
body.lamp-system footer {
  max-width: 1200px;
  margin: 0 auto;
}

body.lamp-system header nav > ol, body.lamp-system header nav > ol li, body.lamp-system section.components > div, body.lamp-system section.components > div article, body.lamp-system section.tech-announces > div article, body.lamp-system section.benefits > div h2, body.lamp-system section.maintenance > div h2, body.lamp-system section.organization .ho-service {
  display: flex;
  justify-content: center;
  align-items: center;
}

body.lamp-system section.organization a.link-round {
  display: inline-flex;
  align-items: center;
  color: #343434;
  background-color: #fff;
  font-weight: 600;
  border-radius: 2rem;
  text-decoration: none;
  padding: 1.5rem 4rem;
  font-size: clamp(1.125rem, 0.6786rem + 1.4286vw, 1.75rem);
}

body.lamp-system h1 {
  font-size: clamp(1.375rem, -0.1429rem + 4.8571vw, 3.5rem);
}

body.lamp-system h2, body.lamp-system section.components > div article h3, body.lamp-system section.maintenance > div h2 i.material-icons {
  font-size: clamp(1.25rem, 0.25rem + 3vw, 2.5rem);
}

body.lamp-system h3, body.lamp-system section.benefits > div dl dt, body.lamp-system section.maintenance > div dl dt, body.lamp-system section.maintenance > div p.description {
  font-size: clamp(1.125rem, 0.5rem + 2vw, 1.5rem);
  font-weight: 600;
}

body.lamp-system strong, body.lamp-system section.benefits > div dl dd strong, body.lamp-system section.maintenance > div dl dd strong, body.lamp-system section.organization > strong {
  font-size: clamp(1.125rem, 0.5rem + 1vw, 1.25rem);
  font-weight: bold;
}

a, p, li, h1, h2, h3, strong {
  line-height: 1;
}

:root {
  color-scheme: light;
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

img {
  vertical-align: bottom;
}

img.wave {
  width: 100vw;
}
img.wave.up {
  background: linear-gradient(to bottom, #0e6fc4 40%, #fff 40%);
}
img.wave.down {
  background: linear-gradient(to bottom, #fff 40%, #0e6fc4 40%);
}

body.lamp-system {
  background-color: #0e6fc4;
  color: #343434;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-size: clamp(1rem, 0.8214rem + 0.5714vw, 1.25rem);
  font-weight: 500;
  margin: 0;
  padding: 0;
  width: 100%;
  /* header パンくず */
  /* 大きい画像 */
  /* 概要 */
  /* アイコン並べる */
}
body.lamp-system main {
  width: 100%;
}
body.lamp-system header,
body.lamp-system section.headline,
body.lamp-system section.overview,
body.lamp-system section.components > div,
body.lamp-system section.ech-announces > div,
body.lamp-system section.benefits > div,
body.lamp-system section.maintenance > div,
body.lamp-system section.organization,
body.lamp-system footer {
  color: #343434;
}
body.lamp-system section.tech-announces,
body.lamp-system section.benefits,
body.lamp-system section.maintenance {
  background-color: #fff;
  padding: 0 2vw;
}
body.lamp-system header,
body.lamp-system section.headline,
body.lamp-system section.overview,
body.lamp-system section.components,
body.lamp-system section.organization,
body.lamp-system footer {
  padding: 0 2vw;
}
body.lamp-system header,
body.lamp-system section.headline,
body.lamp-system section.overview,
body.lamp-system section.components,
body.lamp-system section.organization,
body.lamp-system footer {
  color: #fff;
}
body.lamp-system header,
body.lamp-system section.headline,
body.lamp-system section.overview,
body.lamp-system section.components,
body.lamp-system section.tech-announces,
body.lamp-system section.benefits,
body.lamp-system section.maintenance,
body.lamp-system section.organization,
body.lamp-system footer {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
body.lamp-system header {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
body.lamp-system header nav > ol {
  flex-wrap: wrap;
  font-size: 90%;
  justify-content: flex-end;
}
body.lamp-system header nav > ol li {
  gap: 10px;
}
body.lamp-system header nav > ol li a {
  align-items: center;
  display: flex;
  text-decoration: none;
}
body.lamp-system header nav > ol li a:hover {
  text-decoration: underline;
}
body.lamp-system header nav > ol li i {
  font-size: 2rem;
  padding-bottom: 0.25rem;
}
body.lamp-system section.headline p {
  padding: 2rem 0;
}
body.lamp-system section.overview {
  text-align: center;
}
body.lamp-system section.overview p {
  padding-top: 1.6rem;
  line-height: 1.6;
}
body.lamp-system section.components > div {
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
  justify-content: space-between;
}
body.lamp-system section.components > div article {
  align-self: stretch;
  background-color: #fff;
  border-radius: 1rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  flex: 1 1 230px;
  flex-direction: column;
  padding: 2rem;
}
body.lamp-system section.components > div article h3 {
  margin: 0 0 0 0;
  padding-bottom: 1rem;
}
body.lamp-system section.components > div article p.reading {
  margin: 0 0 0 0;
}
body.lamp-system section.components > div article img {
  width: 100%;
  margin-top: auto;
}
body.lamp-system section.components p.summary {
  margin: 0;
  padding-top: 3rem;
  text-align: center;
  line-height: 1.6;
}
body.lamp-system section.tech-announces > div article {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem;
}
@media (max-width: 860px) {
  body.lamp-system section.tech-announces > div article {
    align-items: center;
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }
}
body.lamp-system section.tech-announces > div article div.icon {
  flex: 0 1 10%;
  text-align: center;
}
body.lamp-system section.tech-announces > div article div.icon img {
  height: auto;
  margin-bottom: 1rem;
  max-width: 320px;
  width: 100%;
}
body.lamp-system section.tech-announces > div article div.text {
  flex: 1 1 600px;
}
body.lamp-system section.tech-announces > div article div.text h3 {
  margin-bottom: 1rem;
}
body.lamp-system section.tech-announces > div article div.text p.sub {
  display: inline-block;
  margin-bottom: 1rem;
}
body.lamp-system section.tech-announces > div article div.text p {
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
body.lamp-system section.tech-announces > div article span.sign {
  color: #aaa;
  flex: 0 1 10%;
  font-size: clamp(3.75rem, 1.0714rem + 8.5714vw, 7.5rem);
  text-align: center;
}
body.lamp-system section.tech-announces > div img.joint {
  margin: 0 auto;
  width: 32px;
}
body.lamp-system section.benefits > div h2 {
  border-bottom: 2px solid #0e6fc4;
  color: #0e6fc4;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
}
body.lamp-system section.benefits > div h2 img {
  height: clamp(1.25rem, 0.25rem + 3vw, 2.5rem);
  margin-right: 1rem;
  width: auto;
}
body.lamp-system section.benefits > div > p {
  margin-bottom: 2rem;
  text-align: center;
}
body.lamp-system section.benefits > div dl dt {
  font-weight: 600;
  margin-bottom: 0.5rem;
  text-align: center;
}
body.lamp-system section.benefits > div dl dd {
  line-height: 1.6;
  padding-bottom: 3rem;
}
body.lamp-system section.benefits > div dl dd strong {
  color: #0e6fc4;
}
body.lamp-system section.maintenance > div h2 {
  border-bottom: 2px solid #c40e4b;
  color: #c40e4b;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
}
body.lamp-system section.maintenance > div h2 i.material-icons {
  color: #c40e4b !important;
  margin-right: 0.5rem;
}
body.lamp-system section.maintenance > div > p {
  margin-bottom: 2rem;
  text-align: center;
}
body.lamp-system section.maintenance > div dl dt {
  color: #c40e4b;
  font-weight: 600;
  margin-bottom: 0.5rem;
  text-align: center;
}
body.lamp-system section.maintenance > div dl dd {
  line-height: 1.6;
  padding-bottom: 3rem;
}
body.lamp-system section.maintenance > div dl dd strong {
  color: #c40e4b;
}
body.lamp-system section.maintenance > div p.description {
  background-color: #f8d7da;
  border-radius: 1rem;
  color: #c40e4b !important;
  display: block;
  line-height: 1.6;
  margin: 2rem auto 4rem auto;
  padding: 3rem 2rem;
  text-align: center;
  width: 100%;
}
body.lamp-system section.organization > h2 {
  line-height: 1.6;
  text-align: center;
}
body.lamp-system section.organization > p {
  padding: 2rem 0;
  line-height: 1.6;
  text-align: center;
}
body.lamp-system section.organization .ho-service {
  background-color: #fff;
  flex-wrap: wrap;
  justify-content: space-between;
}
body.lamp-system section.organization .ho-service img {
  padding: 1rem;
  width: calc(50% - 2rem);
}
body.lamp-system section.organization .ho-service img.catch {
  background-color: #0e6fc4;
}
body.lamp-system section.organization > strong {
  text-align: center;
  display: block;
  margin-top: 2rem;
}
body.lamp-system section.organization .greeting {
  color: #fff;
  font-weight: 400;
  font-size: clamp(1.125rem, 0.6786rem + 1.4286vw, 1.75rem);
  line-height: 1.45;
  margin: 2rem auto 4rem auto;
  text-align: center;
  text-align: justify;
}
body.lamp-system section.organization a.link-round {
  display: block;
  text-align: center;
  text-decoration: none;
}
body.lamp-system section.organization a.link-round i {
  font-size: 30px;
  margin-right: 0.5rem;
}
body.lamp-system section.organization a.link-round:hover,
body.lamp-system section.organization a.link-round :focus,
body.lamp-system section.organization a.link-round :active {
  color: #0e6fc4;
}
body.lamp-system footer {
  text-align: center;
}/*# sourceMappingURL=style.css.map */