@charset "utf-8";
/*************************************************************
 *
 * Copyright (c) 2025 ysrock Co., Ltd.	<info@ysrock.co.jp>
 * Copyright (c) 2025 Yasuo Sugano	<sugano@ysrock.co.jp>
 *
 * Version	: 1.0.3
 * Update	  : 2025.10.30
 *
 *************************************************************/


body [class*="noScrollY"] {
  overflow-y: hidden;
}



/**
 * 見出し
 */
h1 {
  line-height: 1.5em;
}
h2 {
  line-height: 1.5em;
}
h3 {
  line-height: 1.5em;
}
h1.leftBorder,
h2.leftBorder,
h3.leftBorder {
  background-color: #f0f0f0;
  border-left-width: .3em;
  border-left-style: solid;
  border-left-color: #aaf;
  margin-top: .5em;
  padding-top: .1em;
  padding-left: .5em;
  font-weight: normal;
}
@media print, screen and (min-width: 1025px) {
  h1 {
    font-size: 24px;
  }
  h2 {
    font-size: 20px;
  }
  h3 {
    font-size: 18px;
  }
}
@media screen and (min-width: 641px) and (max-width: 1024px) {
	/* px/8.5 */

  h1 {
    font-size: 2.8103vw;
  }
  h2 {
    font-size: 2.3419vw;
  }
  h3 {
    font-size: 2.1077vw;
  }
}
@media screen and (max-width: 640px) {
	/* px/4 */

  h1 {
    font-size: 6vw;
  }
  h2 {
    font-size: 5vw;
  }
  h3 {
    font-size: 4.5vw;
  }
}


/**
 * ボタン：背景色
 *
 *    .blue: 青色
 *    .red: 赤色
 *    .large: 大
 *    .small: 小
 */
button.background {
  max-width: 100%;
  background-color: #f0f0f0;
  border-width: 0 1px 1px 0;
  border-style: solid;
  border-color: #858E97;
  border-radius: .2em;
  padding: .9em 1em;
  line-height: 1em;
  color: #555d65;
  cursor: pointer;
  word-break: keep-all;
  white-space: nowrap;
  outline: none;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background-color .2s, color .2s;
}
button.background:not(:disabled):hover {
  background-color: #D6D6D6;
  border-color: #6A727A;
  color: #3C4247;
}
button.background:not(:disabled):active {
  background-color: #BCBCBC;
  border-width: 1px 0 0 1px;
  border-color: #53595F;
  color: #25282C;
}

button.background.blue {
  background-color: #005bac;
  border-color: #004a8b;
  color: #f8f8f8;
}
button.background.blue:not(:disabled):hover {
  background-color: #003E75;
  border-color: #002E56;
  color: #ddd;
}
button.background.blue:not(:disabled):active {
  background-color: #002342;
  border-width: 1px 0 0 1px;
  border-color: #001323;
  color: #C4C4C4;
}

button.background.red {
  background-color: #ac005b;
  border-color: #8f024d;
  color: #f8f8f8;
}
button.background.red:not(:disabled):hover {
  background-color: #75003E;
  border-color: #5A0130;
  color: #ddd;
}
button.background.red:not(:disabled):active {
  background-color: #420023;
  border-width: 1px 0 0 1px;
  border-color: #280015;
  color: #C4C4C4;
}

button.background.large {
  padding: 1em;
}
button.background.small {
  padding: .6em .7em .5em;
}

button.background:disabled {
  cursor: default;
  filter: contrast(50%);
}
@media print, screen and (min-width: 1025px) {
  /* px */

  button.background {
    font-size: 14px;
  }
  button.background.large {
    font-size: 18px;
  }
  button.background.small {
    font-size: 12px;
  }
}
@media screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

  button.background {
    font-size: 1.6393vw;
  }
  button.background.large {
    font-size: 2.1077vw;
  }
  button.background.small {
    font-size: 1.4051vw;
  }
}
@media screen and (max-width: 640px){
	/* px/4 */

  button.background {
    font-size: 3.5vw;
  }
  button.background.large {
    font-size: 4.5vw;
  }
  button.background.small {
    font-size: 3vw;
  }
}




/**
 * ボタン：枠線
 *
 *    .blue: 青色
 *    .red: 赤色
 *    .large: 大
 *    .small: 小
 */
button.border {
  max-width: 100%;
  background-color: #fdfdfd;
  border-width: 1px;
  border-style: solid;
  border-color: #b5b5b5;
  border-radius: .2em;
  padding: 0 1em;
  line-height: 1em;
  color: #555d65;
  cursor: pointer;
  word-break: keep-all;
  white-space: nowrap;
  outline: none;
  vertical-align: super;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background-color .2s, color .2s;
}
button.border:not(:disabled):hover {
  background-color: #f8f8f8;
  border-color: #999;
  color: #3C4247;
}
button.border:not(:disabled):active {
  background-color: #ddd;
  border-color: #7F7F7F;
  color: #25282C;
}

button.border.blue {
  background-color: #fdfdff;
  border-color: #004f95;
  color: #004a8b;
}
button.border.blue:not(:disabled):hover {
  background-color: #f8f8ff;
  border-color: #00213d;
  color: #002E56;
}
button.border.blue:not(:disabled):active {
  background-color: #e8e8ee;
  border-color: #00213d;
  color: #001323;
}

button.border.red {
  background-color: #fffdfd;
  border-color: #d10000;
  color: #9d0404;
}
button.border.red:not(:disabled):hover {
  background-color: #fff8f8;
  border-color: #900;
  color: #680202;
}
button.border.red:not(:disabled):active {
  background-color: #eee6e6;
  border-color: #600;
  color: #360101;
}

button.border:disabled {
  cursor: default;
  filter: contrast(50%);
}
@media print, screen and (min-width: 1025px) {
  /* px */

  button.border {
    height: 36px;
    font-size: 14px;
  }
  button.border.large {
    height: 44px;
    font-size: 18px;
  }
  button.border.small {
    height: 28px;
    font-size: 12px;
  }
}
@media screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

  button.border {
    height: 4.2154vw;
    font-size: 1.6393vw;
  }
  button.border.large {
    height: 5.1522vw;
    font-size: 2.1077vw;
  }
  button.border.small {
    height: 3.2786vw;
    font-size: 1.4051vw;
  }
}
@media screen and (max-width: 640px){
	/* px/4 */

  button.border {
    height: 9vw;
    font-size: 3.5vw;
  }
  button.border.large {
    height: 11vw;
    font-size: 4.5vw;
  }
  button.border.small {
    height: 7vw;
    font-size: 3vw;
  }
}



/**
 * ボタン：アイコン
 *
 *    .blue: 青色
 *    .red: 赤色
 *    .large: 大
 *    .small: 小
 */
button.border[class^="icon-"],
button.border[class*=" icon-"] {
  position: relative;
  padding-left: 2.9em;
}
button.border[class^="icon-"]::before,
button.border[class*=" icon-"]::before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 2em;
  color: #fff;
  text-align: center;
}
button.border[class^="icon-"]:not(:disabled):hover::before,
button.border[class*=" icon-"]:not(:disabled):hover::before {
  color: #ddd;
}
button.border[class^="icon-"]::after,
button.border[class*=" icon-"]::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 2em;
  height: 100%;
  background-color: #b5b5b5;
  transition: background-color .2s;
}
button.border[class^="icon-"]:not(:disabled):hover::after,
button.border[class*=" icon-"]:not(:disabled):hover::after {
  background-color: #858585;
}

button.border[class^="icon-"].blue::after,
button.border[class*=" icon-"].blue::after {
  background-color: #005bac;
}
button.border[class^="icon-"].blue:not(:disabled):hover::after,
button.border[class*=" icon-"].blue:not(:disabled):hover::after {
  background-color: #003E75;
}
button.border[class^="icon-"].blue:not(:disabled):active::after,
button.border[class*=" icon-"].blue:not(:disabled):active::after {
  background-color: #002342;
}

button.border[class^="icon-"].red::after,
button.border[class*=" icon-"].red::after {
  background-color: #ac005b;
}
button.border[class^="icon-"].red:not(:disabled):hover::after,
button.border[class*=" icon-"].red:not(:disabled):hover::after {
  background-color: #75003E;
}
button.border[class^="icon-"].red:not(:disabled):active::after,
button.border[class*=" icon-"].red:not(:disabled):active::after {
  background-color: #420023;
}


/**
 * テキストボックス
 */
input:not([type=checkbox]):not([type=radio]):not([type=file]) {
  border-style: solid;
  border-color: #c8cfd7;
  color: #162533;
  transition: border-color .2s;
}
input:not([type=checkbox]):not([type=radio]):not([type=file]):focus {
  border-color: #005bac;
  outline: none;
}
input:not([type=checkbox]):not([type=radio]):not([type=file])::placeholder {
  color: rgba( 22, 37, 51, .2);
}
@media print, screen and (min-width: 1025px) {
  /* px */
  
  input:not([type=checkbox]):not([type=radio]):not([type=file]) {
    height: 36px;
    padding: 0 12px;
    border-width: 1px;
    border-radius: 4px;
    box-shadow:inset 0 1px 1px rgb( 0 0 0 / 8% );
    font-size: 14px;
    line-height: 34px;
  }
}
@media screen and (min-width: 641px) and (max-width: 1024px) {
	/* px/8.5 */

  input:not([type=checkbox]):not([type=radio]):not([type=file]) {
    height: 4.2154vw;
    padding: 0 1.4051vw;
    border-width: 0.117vw;
    border-radius: 0.4683vw;
    box-shadow:inset 0 0.117vw 0.117vw rgb( 0 0 0 / 8% );
    font-size: 1.6393vw;
    line-height: 3.9812vw;
  }
}
@media screen and (max-width: 640px) {
	/* px/4 */

  input:not([type=checkbox]):not([type=radio]):not([type=file]) {
    height: 9vw;
    padding: 0 3vw;
    border-width: 0.25vw;
    border-radius: 1vw;
    box-shadow:inset 0 0.25vw 0.25vw rgb( 0 0 0 / 8% );
    font-size: 3.5vw;
    line-height: 8.5vw;
  }
}


/**
 * テキストエリア
 */
textarea {
  border-style: solid;
  border-color: #c8cfd7;
  color: #162533;
  transition: border-color .2s;
  resize: vertical;
}
textarea:focus {
  border-color: #005bac;
  outline: none;
}
textarea::placeholder {
  color: rgba( 22, 37, 51, .2);
}
@media print, screen and (min-width: 1025px) {
  /* px */

  textarea {
    min-height: 77px;
    padding: 6px;
    border-width: 1px;
    border-radius: 4px;
    box-shadow:inset 0 1px 1px rgb( 0 0 0 / 8% );
    font-size: 14px;
    line-height: 21px;
  }
}
@media screen and (min-width: 641px) and (max-width: 1024px) {
	/* px/8.5 */

  textarea {
    min-height: 9.0163vw;
    padding: 0.7025vw;
    border-width: 0.117vw;
    border-radius: 0.4683vw;
    box-shadow:inset 0 0.117vw 0.117vw rgb( 0 0 0 / 8% );
    font-size: 1.6393vw;
    line-height: 2.459vw;
  }
}
@media screen and (max-width: 640px) {
	/* px/4 */

  textarea {
    min-height: 19.25vw;
    padding: 1.5vw;
    border-width: 0.25vw;
    border-radius: 1vw;
    box-shadow:inset 0 0.25vw 0.25vw rgb( 0 0 0 / 8% );
    font-size: 3.5vw;
    line-height: 5.25vw;
  }
}


/**
 * チェックボックス
 */
input[type=checkbox] {
  appearance: none;
  margin-right: .2em;
  border-style: solid;
  border-color: #c8cfd7;
  vertical-align: middle;
  cursor: pointer;
  position: relative;
}
input[type=checkbox]:checked {
  background-color: #005bac;
  border-color: #005bac;
}
input[type=checkbox]:checked::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: inline-block;
  border-left-style: solid;
  border-left-color: #fff;
  border-bottom-style: solid;
  border-bottom-color: #fff;
  transform: rotate(-45deg);
}
input[type=checkbox]:disabled {
  opacity: .3;
  cursor: default;
}
@media print, screen and (min-width: 1025px) {
  /* px */
  
  input[type=checkbox] {
    width: 18px;
    height: 18px;
    border-width: 2px;
    border-radius: 2px;
  }
  input[type=checkbox]:checked::before {
    bottom: 3px;
    width: 8px;
    height: 3px;
    border-left-width: 2px;
    border-bottom-width: 2px;
  }
}
@media screen and (min-width: 641px) and (max-width: 1024px) {
	/* px/8.5 */

  input[type=checkbox]{
    width: 2.1077vw;
    height: 2.1077vw;
    border-width: 0.2341vw;
    border-radius: 0.2341vw;
  }
  input[type=checkbox]:checked::before{
    bottom: 0.3512vw;
    width: 0.9367vw;
    height: 0.3512vw;
    border-left-width: 0.2341vw;
    border-bottom-width: 0.2341vw;
  }
}
@media screen and (max-width: 640px){
	/* px/4 */

  input[type=checkbox]{
    width: 4.5vw;
    height: 4.5vw;
    border-width: 0.5vw;
    border-radius: 0.5vw;
  }
  input[type=checkbox]:checked::before{
    bottom: 0.75vw;
    width: 2vw;
    height: 0.75vw;
    border-left-width: 0.5vw;
    border-bottom-width: 0.5vw;
  }
}



/**
 * セレクトボックス
 */
select {
  appearance: none;
  border-style: solid;
  border-color: #c8cfd7;
  background-color: #fff;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyMiAyMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE2LjM1NSA3TDExIDEyLjM0MzNMNS42NDUgN0w0IDguNjQ1TDExIDE1LjY0NUwxOCA4LjY0NUwxNi4zNTUgN1oiIGZpbGw9IiM4NThDOTAiLz4KPC9zdmc+Cg==');
  background-repeat: no-repeat;
  cursor: pointer;
  vertical-align: middle;
  transition: border .2s;
  outline: none;
}
select:focus {
  border-color: #005bac;
}
 @media print, screen and (min-width: 1025px) {
  select{
    height: 36px;
    padding: 0 24px 0 12px;
    border-width: 1px;
    border-radius: 4px;
    background-position: top 9px right 6px;
    background-size: 18px;
    font-size: 14px;
  }
}
@media screen and (min-width: 641px) and (max-width: 1024px) {
	/* px/8.5 */

  select{
    height: 4.2154vw;
    padding: 0 2.8103vw 0 1.4051vw;
    border-width: 0.117vw;
    border-radius: 0.4683vw;
    background-position: top 1.0538vw right 0.7025vw;
    background-size: 2.1077vw;
    font-size: 1.6393vw;
  }
}
@media screen and (max-width: 640px) {
	/* px/4 */

  select{
    height: 9vw;
    padding: 0 6vw 0 3vw;
    border-width: 0.25vw;
    border-radius: 1vw;
    background-position: top 2.25vw right 1.5vw;
    background-size: 4.5vw;
    font-size: 3.5vw;
  }
}



/**
 * テーブル
 */
div.tableWrap.hasScroll {
  max-width: 100vw;
  overflow-x: auto;
  overflow-y: hidden;
}
div.tableWrap > table {
  border-collapse: collapse;
  border-style: solid;
  border-color: #d5d5d5;
  border-spacing: 0;
  background-color: #fff;
  position:relative;
}
div.tableWrap > table > thead > tr > th,
div.tableWrap > table > tbody > tr > th {
  border-style: solid;
  border-color: #d5d5d5;
  background-color: #f7f7f7;
  line-height: 1.2em;
  color: #333;
}
div.tableWrap > table > tbody > tr > td {
  border-style: solid;
  border-color: #d5d5d5;
  background-color: #fff;
  line-height: 1.4em;
  color: #333;
}
@media print, screen and (min-width: 1025px) {
   /* px */

  div.tableWrap > table {
    border-width: 3px;
  }
  div.tableWrap > table > thead > tr > th,
  div.tableWrap > table > tbody > tr > th {
    border-width: 1px;
    padding: 10px;
    font-size: 14px;
  }
  div.tableWrap > table > tbody > tr > td {
    border-width: 1px;
    padding: 10px;
    font-size: 14px;
  }
}
@media screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

  div.tableWrap > table {
    border-width: 0.3512vw;
  }
  div.tableWrap > table > thead > tr > th,
  div.tableWrap > table > tbody > tr > th {
    border-width: 0.117vw;
    padding: 1.1709vw;
    font-size: 1.6393vw;
  }
  div.tableWrap > table > tbody > tr > td {
    border-width: 0.117vw;
    padding: 1.1709vw;
    font-size: 1.6393vw;
  }
}
@media screen and (max-width: 640px){
	/* px/4 */

  div.tableWrap > table {
    border-width: 0.75vw;
  }
  div.tableWrap > table > thead > tr > th,
  div.tableWrap > table > tbody > tr > th {
    border-width: 0.25vw;
    padding: 2.5vw;
    font-size: 3.5vw;
  }
  div.tableWrap > table > tbody > tr > td {
    border-width: 0.25vw;
    padding: 2.5vw;
    font-size: 3.5vw;
  }
}

/**
 * テーブル：スクロール機能付き
 */
div.scrollable {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}

/**
 * テーブル：ヘッダーが上部で固定
 */
table.sticky > thead {
  position: sticky;
  top: 0; /* 上部に隙間が出来る場合は、tableのborder-width分だけマイナスする */
}



/**
 * 説明
 */
div.description {
  background-color: #f8f8f8;
  border-style: solid;
  border-color: #e8e8e8;
  padding: .5em;
}
@media print, screen and (min-width: 1025px) {
  div.description {
    border-width: 1px;
  }
}
@media screen and (min-width: 641px) and (max-width: 1024px) {
  code {
    border-width: .117vw;
  }
}
@media screen and (max-width: 640px) {
  code {
    border-width: .25vw;
  }
}




/**
 * コード
 */
code {
  display: block;
  background-color: #fcfcfc;
  border-width: .1em;
  border-style: solid;
  border-color: #ccc;
  padding: .5em;
  font-family: monospace;
}
@media print, screen and (min-width: 1025px) {
  code {
    font-size: 14px;
  }
}
@media screen and (min-width: 641px) and (max-width: 1024px) {
	/* px/8.5 */

  code {
    font-size: 1.6393vw;
  }
}
@media screen and (max-width: 640px) {
	/* px/4 */

  code {
    font-size: 3.5vw;
  }
}


/**
 * コマンド
 */
header > div.commandWrap {
  background-color: #fff;
}
header > div.commandWrap > ul.command > li:first-of-type {
  flex: 1;
}
@media print, screen and (min-width: 1025px) {
  /* px */

  header > div.commandWrap {
    padding: 20px 20px 0;
  }
}
@media screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

  header > div.commandWrap {
    padding: 2.3419vw 2.3419vw 0;
  }
}
@media screen and (max-width: 640px){
	/* px/4 */

  header > div.commandWrap {
    padding: 5vw 5vw 0;
  }
}
