/* Sakura.css v1.4.1
 * ================
 * Minimal css theme.
 * Project: https://github.com/oxalorg/sakura/
 */
/* Body */


/*本CSSは2022年12月1日時点のクラスレスCSSフレームワークであるsakura.cssを大幅に改変している。色設定の変更は順次実施中で完全ではない。*/
/*2022年12月3日*/

/*　改変：フォント設定にUDフォントを優先表示させるため、"BIZ UDPゴシック", "BIZ UDP明朝","UD デジタル 教科書体 NK-R"を追加*/
html {
  font-size: 62.5%;
  font-family: "BIZ UDPゴシック", "BIZ UDP明朝", "UD デジタル 教科書体 NK-R", -apple-system, BlinkMacSystemFont, "Noto Sans", sans-serif, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

/*　改変：フォント設定にUDフォントを優先表示させるため、"BIZ UDPゴシック", "BIZ UDP明朝","UD デジタル 教科書体 NK-R"を追加終了*/

body {
  font-size: 1.375rem;
  line-height: 1.618;
  max-width: 90em;
  margin: auto;
  color: #4a4a4a;
  background-color: #f9f9f9;
  text-indent: 1.375em;
  padding: 13px;
}

@media (max-width: 2256px) {
  body {
    font-size: 1.375rem;
    text-indent: 1.375em;
  }
}


@media (max-width: 1368px) {
  body {
    font-size: 1.25rem;
    text-indent: 1.25em;
  }
}

@media (max-width: 960px) {
  body {
    font-size: 1.125rem;
    text-indent: 1.125em;
  }
}

@media (max-width: 520px) {
  body {
    font-size: 1rem;
    text-indent: 1em;
  }
}



/* 改変：パンくずリスト開始* ここのみヤムを得ずクラス使用/　*/
.breadcrumb {
  margin: 0;
  padding: 1.1em 1em;
  list-style: none;
  background: #E8E8EB;
  overflow: hidden;
}

.breadcrumb li {
  display: inline;
  /*横に並ぶように*/
  list-style: none;
}

.breadcrumb li:after {
  /* >を表示*/
  content: '>';
  padding: 0 0.2em;
}

.breadcrumb li:last-child:after {
  content: '';
}

.breadcrumb li a {
  text-decoration: none;
  color: #003EE5;
}

.breadcrumb li:first-child a:before {
  /*○に*/
  content: '○';
  font-weight: normal;
  font-size: 1.1em;
}

.breadcrumb li a:hover {
  text-decoration: underline;
}

/* 改変：パンくずリスト終了　*/

/*　改変：アコーディオン表示デザイン部分*/
summary {
  position: relative;
  display: block;
  text-align: center;
  box-shadow: 3px 3px 4px #1A1A1C;
  /* 矢印を消す */
  padding: 0.5em;
  margin: 0.5em 2em;
  /* アイコンの余白を開ける */
  cursor: pointer;
  color: #003EE5;
  text-decoration: underline;
  /* カーソルをポインターに */
  font-weight: bold;
  background-color: #E8E8EB;
  transition: 0.2s;
}

summary:hover {
  background-color: #FFA2BB;
}

summary::-webkit-details-marker {
  display: none;
  /* 矢印を消す */
}

/* 疑似要素でアイコンを表示 */
summary:before,
summary:after {
  content: "";
  margin: auto 0 auto 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

summary:before {
  width: 16px;
  height: 16px;
  border-radius: 4px;
}

summary:after {
  left: 6px;
  width: 5px;
  height: 5px;
  border: 4px solid transparent;
  border-left: 5px solid #fff;
  box-sizing: border-box;
  transition: .1s;
}

/* オープン時のスタイル */
details[open] summary {
  background-color: #F8F1FE;
  animation: fadeIn 0.5s ease;
}

details[open] summary:after {
  transform: rotate(90deg);
  /* アイコンを回転 */
  left: 4px;
  /* 位置を調整 */
  top: 5px;
  /* 位置を調整 */
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    /* 透明 */
    transform: translateY(-10px);
    /* 上から表示 */
  }

  100% {
    opacity: 1;
    transform: none;
  }
}

/*　改変：アコーディオン表示デザイン部分終了*/

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.1;
  font-weight: 700;
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-word;
}

/*　改変：見出しフォントサイズをデジタル庁ガイドラインのサイズに変更し、色についてもデジタル庁デザインガイドにあわせて設定。見出しデザインを付加
*/
h1 {

  font-size: 2.625em;
  margin: 1rem 24px 1rem 1rem; /*デジタル庁基準の上マージンは64pxであるが、庁内システムのトップのシステム表示としては無意味なので1remに*/
  padding: 1rem 2rem;
  color: #fff;
  border-radius: 12px;
  vertical-align: middle;
  background-image: -webkit-gradient(linear, left top, right top, from(#003EE5), to(#9DB7F9));
  background-image: -webkit-linear-gradient(left, #003EE5 0%, #9DB7F9 100%);
  background-image: linear-gradient(to right, #003EE5 0%, #9DB7F9 100%);

}

h1 img {
  vertical-align: middle;
}


h2 {
  /*
  font-size: 2em;
  margin: 64px 24px 1rem 1rem;
  padding: 1rem 2rem;
  color: #fff;
  border-radius: 8px;
  background-image: -webkit-gradient(linear, left top, right top, from(#003EE5), to(#9DB7F9));
  background-image: -webkit-linear-gradient(left, #003EE5 0%, #9DB7F9 100%);
  background-image: linear-gradient(to right, #003EE5 0%, #9DB7F9 100%);
*/

  position: relative; /* 表示位置指定 */
  font-size: 2em; /* 文字の大きさ */
  margin: 64px 24px 1rem 0.5rem;
  color: #1a1a1c; /* 文字色 */
  border: solid 1px #003ee5; /* 全体の線 */
  border-left: solid 20px #003EE5; /* 左のみの線 */
  background: #C5D7FB;/* 背景色 */
  border-radius: 4px; /* 角の丸み */
  padding: 1rem 1rem; /* 要素内の余白 */ 
  box-shadow: 3px 3px 4px #1A1A1C;

}


h3 {

  position: relative; /* 表示位置指定 */
  font-size: 1.625em; /* 文字の大きさ */
  margin: 40px 24px 1rem 1rem;
  color: #1a1a1c; /* 文字色 */
  border: solid 1px #003ee5; /* 全体の線 */
  border-bottom: solid 5px #003EE5; /* 下のみの線 */
  background: #E8F1FE;/* 背景色 */
  border-radius: 4px; /* 角の丸み */
  padding: 1rem 1.5rem; /* 要素内の余白 */ 
  box-shadow: 2px 2px 3px #1A1A1C;

}


h4 {
  font-size: 1.375em;
  margin: 40px 16px 1rem 1.5rem;
  padding: .5em 1em;
  /*独自*/
  position: relative;
  padding: 1rem 1rem;
  background-color: #e8f1fe;
  border-top: 3px double #003EE5;
  border-bottom: 3px double #003EE5;
}

h5 {
  font-size: 1.25em;
  margin: 40px 16px 1rem 1rem;
  padding: .5em .7em;
  background-color: #e8f1fe;
  border-top: 1px dashed #003EE5;
  border-bottom: 1px dashed #003EE5;
}

h6 {
  font-size: 1.125em;
  margin: 24px 16px 1rem 1rem;
  padding: .5em .7em;
  background-color: #e8f1fe;
}

/*改変：見出しここまで*/

p {
  margin-top: 0px;
  margin-bottom: 2.5rem;
  margin-left: 1rem;
}

small,
sub,
sup {
  font-size: 75%;
}

hr {
  border-color: #1d7484;
}

/*　改変：色設定をデジタル庁デザインガイドにあわせる*/
a {
  text-decoration: none;
  color: #003EE5;
}

/*　改変：色設定をデジタル庁デザインガイドにあわせる終了*/

a:visited {
  color: #144f5a;
}

a:hover {
  color: #FFA2BB;
  border-bottom: 2px solid #4a4a4a;
}

ul {
  padding-left: 0.5em;
  margin-top: 0px;
  margin-bottom: 2.5rem;
  margin-left: 1rem;
}

li {
  margin-bottom: 0.4em;
}

dl {
  padding-left: 0.5em;
  margin-top: 0px;
  margin-bottom: 2.5rem;
  margin-left: 1rem;
}

/*　改変：dtを太字指定*/
dt {
  font-weight: bold;
}

/*　改変：dtを太字指定終了*/

blockquote {
  margin-left: 0px;
  margin-right: 0px;
  padding-left: 1em;
  padding-top: 0.8em;
  padding-bottom: 0.8em;
  padding-right: 0.8em;
  border-left: 5px solid #1d7484;
  margin-bottom: 2.5rem;
  background-color: #f1f1f1;
}

blockquote p {
  margin-bottom: 0;
}

img,
video {
  height: auto;
  max-width: 100%;
  margin-top: 0px;
  margin-bottom: 2.5rem;
}

/* Pre and Code */
pre {
  background-color: #f1f1f1;
  display: block;
  padding: 1em;
  overflow-x: auto;
  margin-top: 0px;
  margin-bottom: 2.5rem;
  font-size: 0.9em;
}

code,
kbd,
samp {
  font-size: 0.9em;
  padding: 0 0.5em;
  background-color: #f1f1f1;
  white-space: pre-wrap;
}

pre>code {
  padding: 0;
  background-color: transparent;
  white-space: pre;
  font-size: 1em;
}

/* 独自テーブル*/
table {
  width: 100%;
  left: 2rem;
  text-align: center;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 1em 0em;
}

caption {
  font-size: 1.375em;
  text-align: center;
  border: solid 1px #1A1A1C;
  background: #C5D7FB;
  font-weight: bold;
}


thead th {
  padding: 10px;
  background: #E8F1FE;
  border: solid 1px #1A1A1C;
}

tbody tr:nth-child(2n) {
  background: #E8F1FE;
}


tbody th {
  padding: 10px;
  border: solid 1px #1A1A1C;
  text-align: left;
}

th {  white-space: nowrap; }

td {
  padding: 10px;
  border: solid 1px #1A1A1C;
  text-align: left;
  word-break: break-all;
}

/* 独自テーブル終了*/

label {
  vertical-align: middle;
}

/*　改変：色設定をデジタル庁デザインガイドにあわせ、border-radiusを1PXから4PXに*/
.button,
button,
input[type=submit],
input[type=reset],
input[type=button] {
  display: inline-block;
  font-size: 1.25em;
  padding: .4em .7em;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  background-color: #003EE5;
  color: #FFFFFF;
  border-radius: 4px;
  border: 1px solid #003ee5;
  cursor: pointer;
  box-sizing: border-box;
}

/*　改変：色設定をデジタル庁デザインガイドにあわせ、、border-radiusを1PXから4PXに終了*/

.button[disabled],
button[disabled],
input[type=submit][disabled],
input[type=reset][disabled],
input[type=button][disabled] {
  cursor: default;
  opacity: 0.5;
  background-color: #626264;
  border-color: #626264;
  color: #FFFFFF;
}

.button:active:enabled,
.button:hover:enabled,
button:active:enabled,
button:hover:enabled,
input[type=submit]:active:enabled,
input[type=submit]:hover:enabled,
input[type=reset]:active:enabled,
input[type=reset]:hover:enabled,
input[type=button]:active:enabled,
input[type=button]:hover:enabled {
  background-color: #0000BE;
  border-color: #0000BE;
  color: #FFFFFF;
  outline: 0;
}


.button:focus:enabled,
button:focus:enabled,
input[type=submit]:focus:enabled,
input[type=reset]:focus:enabled,
input[type=button]:focus:enabled {
  background-color: #003ee5;
  border-color: #FFD300;
  color:#FFFFFF;
  outline:0;
}


/*セカンダリボタン　既定で選択しないボタン*/

/*　改変：色設定をデジタル庁デザインガイドにあわせ、border-radiusを1PXから4PXに*/
.button.secondary,
button.secondary,
input.secondary[type=submit],
input.secondary[type=reset],
input.secondary[type=button] {
  display: inline-block;
  font-size: 1.25em;
  padding: .4em .7em;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  background-color: #FFFFFF;
  color: #003EE5;
  border-radius: 4px;
  border: 1px solid #003ee5;
  cursor: pointer;
  box-sizing: border-box;
}

/*　改変：色設定をデジタル庁デザインガイドにあわせ、、border-radiusを1PXから4PXに終了*/


.button.secondary[disabled],
button.secondary[disabled],
input.secondary[type=submit][disabled],
input.secondary[type=reset][disabled],
input.secondary[type=button][disabled] {
  cursor: default;
  opacity: 0.5;
  background-color: #FFFFFF;
  border-color: #626264;
  color: #626264;
}

.button.secondary:active:enabled,
.button.secondary:hover:enabled,
button.secondary:active:enabled,
button.secondary:hover:enabled,
input.secondary[type=submit]:active:enabled,
input.secondary[type=submit]:hover:enabled,
input.secondary[type=reset]:active:enabled,
input.secondary[type=reset]:hover:enabled,
input.secondary[type=button]:active:enabled,
input.secondary[type=button]:hover:enabled {
  background-color: #C5D7FB;
  color: #0000BE;
  border-color: #0000BE;
  outline: 0;
}

.button.secondary:focus:enabled,
button.secondary:focus:enabled,
input.secondary[type=submit]:focus:enabled,
input.secondary[type=reset]:focus:enabled,
input.secondary[type=button]:focus:enabled {
  background-color: #EFDBB1;
  border-color: #FFD300;
  color:#003EE5;
  outline: 0;
}

textarea,
select,
input {
  color: #1a1a1c;
  padding: 6px 10px;
  /* The 6px vertically centers text on FF, ignored by Webkit */
  margin-bottom: 10px;
  background-color: #f8f8fb;
  border: 1px solid #1A1A1C;
  border-radius: 4px;
  box-shadow: none;
  box-sizing: border-box;
}

textarea:focus,
select:focus,
input:focus {
  border: 2px solid #dcac4d;
  outline: 0;
}

input:invalid select:invalid,
input:invalid {
  border: solid 2px #ec0000;
}

/* inputのすぐ隣に配置するメッセージ要素 */
.error-message {
  font-size: 1em;
  color: #EC0000;
  display: none;
  /* 非表示に */
}

/* :invalid時だけ隣の要素を表示 */
input:invalid+.error-message {
  display: block;
}

input[type=checkbox]:focus {
  outline: 1px dotted #EFD8B1;
}

label,
legend,
fieldset {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
}

fieldset {
 background-color: #F1F1F4;
}

form {
  margin: 1em;
}

mark {
  margin-left: 1em;
  background-color: #FFFFFF;
  color: #EC0000;
}


.pagetop {
  bottom: 40px;
  position: fixed;
  right: 40px
}

.pagetop {
  align-items: center;
  background-color: #fff;
  border: 1px solid #0028b5;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 56px;
  vertical-align: middle; /*追加*/
  justify-content: center;
  transition: background-color .3s cubic-bezier(.4, .4, 0, 1);
  width: 56px;
  z-index: 10
}

.pagetop:active,
.pagetop:hover {
  background-color: #e7eefd;
  border-color: #0f41af
}

.pagetop:focus {
  outline: 2px solid #ffd300
}


a.pagetop::before {
  content: '';
  width: 24px;
  height: 24px;
  color:#1A1A1C;
  border: 2px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(-45deg);
  transform-origin: top right;
  position: absolute;
  top: 15px;
  right: 50%;
  box-sizing: border-box;
}
