@charset "UTF-8";

/* Reset CSS
============================================================================= */
*,
*::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;
}

@supports not (min-block-size: 100dvb) {
	:where(html) {
		block-size: 100%;
	}
}

@media (prefers-reduced-motion: no-preference) {
	:where(html:focus-within) {
	}
}

:where(body) {
	block-size: 100%;
	block-size: 100dvb;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

:where(input, button, textarea, select) {
	font: inherit;
	color: inherit;
}

:where(textarea) {
	resize: vertical;
	resize: block;
}

:where(button, label, select, summary, [role='button'], [role='option']) {
	cursor: pointer;
}

:where(:disabled) {
	cursor: not-allowed;
}

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

:where(button) {
	border-style: solid;
}

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

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

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

:where(img, picture, svg) {
	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);
}

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

:where(:focus-visible) {
	outline: 2px solid var(--focus-color, Highlight);
	outline-offset: 2px;
}

:where(table) {
  border-spacing: 0;
}

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

:where(input,select,button,optgroup,textarea) {
	font-family: inherit;
    appearance: none;
	background: none;
	border:none;
	outline: 0;
	margin:0;
	padding:0;
}
:where(button,input) {
	overflow: visible;
}
:where(button::-moz-focus-inner,input::-moz-focus-inner) {
	border:0;
	padding:0;
}
:where(button:-moz-focusring,input:-moz-focusring) {
	outline:1px dotted ButtonText;
}
:where(button,select) {
	cursor:pointer;
	text-transform:none;
}
:where([type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner) {
	border:none;
}
/* Custom Properties
============================================================================= */
:root {
  --heading-color-A:#000;
  --text-color-A:#222;

  --main-color-blue:#3261dd;
  --main-color-blue-rgb:50, 97, 221;
  --sub-color-red:#d90000;
  --sub-color-red-rgb:217, 0, 0;

  --other-color-blue-A:#B0C5FC;
  --other-color-blue-A-rgb:176, 197, 252;
  --other-color-blue-B:rgba(var(--other-color-blue-A-rgb), .2);
  --other-color-blue-C:#0E629F;

  --bg-color-gray-A:#F2F4F8;

  --border-color-gray-A:#ccc;

  --visited-color-purple-A:#6F53A3;

  /* カテゴリ色 */
  --category-color-A:#3261DD; /* IR：決算短信 , news：全て */
  --category-color-B:#2BA2D6; /* IR：決算説明資料 , news：お知らせ  */
  --category-color-C:#1AB474; /* IR：有価証券報告書・四半期報告書 , news：イベント情報 */
  --category-color-D:#90C42D; /* IR：適時開示 , news：プレスリリース */
  --category-color-E:#7643D6; /* IR：株主総会 , news：メディア掲載 */
  --category-color-F:#D65870; /* IR：その他IR資料 , news：更新情報 */
  --category-color-G:#DEA628; /* IR：PR情報 , news：グループ会社情報 */
  --category-color-H:#DB6E35; /* IR：English materials */

  --fs-text-A:.18rem;

  --fs-caution-A:.14rem;

  --fs-h1_en:.75rem;
  --fs-h1_ja:.20rem;
  --fs-h2:.32rem;
  --fs-h3:.24rem;
  --fs-h4:.20rem;
  --fs-h5:.18rem;

  --lh-heading-A:1.5;
  --lh-test-A:2;

  --ff-noto:'Noto Sans JP', "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif;
  --ff-sen:'Sen', sans-serif;

  --header-height:1.10rem;

  --hover-duration-A:.5s;

  --variable-length:1366 * 100vw;

  /* Margin Block */
  --margin-block-A:2.00rem;
  --margin-block-B:1.12rem;
  --margin-block-C:.48rem;
  --margin-block-D:.24rem;
  --margin-block-E:.16rem;

  --margin-block-F:1.70rem;
  --margin-block-G:.90rem;
  --margin-block-H:.80rem;
  --margin-block-I:.68rem;

  --margin-inline-A:1.00rem;
}

::selection {
  color:#fff;
  background-color:var(--main-color-blue);
}

@media (max-width: 1023px) {
  :root {
    --fs-text-A:.16rem;

    --fs-caution-A:.14rem;

    --fs-h1_en:.48rem;
    --fs-h1_ja:.16rem;
    --fs-h2:.28rem;
    --fs-h3:.22rem;
    --fs-h4:.20rem;
    --fs-h5:.16rem;

    --header-height:.70rem;

    --variable-length:375 * 100vw;

    --pd-sp-20:.20rem;
    --pd-sp-40:.40rem;

    /* Margin Block */
    --margin-block-A:1.20rem;
    --margin-block-B:.60rem;
    --margin-block-C:.32rem;
    --margin-block-D:.20rem;
    --margin-block-E:.12rem;

    --margin-block-F:1.35rem;
    --margin-block-G:.60rem;
    --margin-block-H:.60rem;
    --margin-block-I:.48rem;

    --margin-inline-A:var(--pd-sp-20);
  }
}


/* Base CSS
============================================================================= */
html {
  font-family: var(--ff-noto);
  font-size: 100px;
  font-feature-settings: "palt";
  -webkit-font-smoothing:subpixel-antialiased;
  font-size: clamp(74px,100 / var(--variable-length),100px);
}
@media (max-width: 1023px) {
  html {
    -webkit-text-size-adjust: 100%;
    font-size: clamp(85px,100 / var(--variable-length),114px);
  }
}
@media (orientation: landscape) {
  html.orientation90 {
/*    margin-left: calc(env(safe-area-inset-left) - 0.8rem);*/
    margin-left: env(safe-area-inset-left);
  }
  html.orientation-90 {
/*    margin-right: calc(env(safe-area-inset-left) - 0.8rem);*/
    margin-right: env(safe-area-inset-right);
  }
}

body {
  padding-top:var(--header-height);
  font-size: var(--fs-text-A);
  font-weight:400;
  line-height:var(--lh-test-A);
  letter-spacing:0;
  color:var(--text-color-A);
  overflow-x:hidden;
  background-color:#fff;
}
@media (max-width: 1023px) {
}

/* Scroll Margin
----------------------------------------------------------------------------- */
*[id]:target {
	scroll-margin-top:var(--header-height);
}

.touchevents * {
  -webkit-tap-highlight-color: transparent;
  /* -webkit-tap-highlight-color: var(--text-color-A); */
}

.chrome body {
  image-rendering: -webkit-optimize-contrast;
}

/* プリント対応 */
[data-hidePrintMessageArea] {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  pointer-events: none;
  opacity: 0;
}

@media print {
  body {
    position: relative;
    top: 100px;
  }

  body:before {
    content: "ページを印刷する際は一番下までスクロールして下さい。";
    display: none;
    white-space: pre;
    font-size: 20px;
    padding: 10px 10px;
    border: 3px solid #000;
    background-color: #FFF;
    color: #000;
    position: absolute;
    top: -100px;
    left: 0px;
    right: 0px;
    text-align: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }

  .chrome body:before {
    content: "ページを印刷する際は一番下までスクロールして下さい。\a画像を表示させる場合は、「基本設定」→「背景のグラフィック」を有効にして下さい。";
  }

  .ie body:before {
    content: "ページを印刷する際は一番下までスクロールして下さい。\a画像を表示させる場合は、「印刷プレビュー」→「ページ設定」→「背景の色とイメージを印刷する」を有効にして下さい。";
  }

  .safari body:before {
    content: "ページを印刷する際は一番下までスクロールして下さい。\a画像を表示させる場合は、「詳細を表示」→「背景をプリント」を有効にして下さい。";
  }

  .edge body:before {
    content: "※Microsoft Edgeは背景や画像を印刷できません。";
  }

  .addPrintMessage body:before {
    display: block;
  }

  * {
    background-attachment: scroll !important;
  }
}

.mod_main {
  overflow: hidden;
}

/* 自動高さ調整 */
[data-autoheight],
[data-pc-autoheight],
[data-sp-autoheight] {
  -webkit-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

/* 遅延読み込み */
[data-lf] {
  opacity: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  -webkit-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s;
}

[data-lf][src],
[data-lf][style*=background-image],
[data-lf].load_view {
  opacity: 1;
}


