@charset "UTF-8";
/*
$eGov-blue:       #1042A4;
$eGov-gray:       #F5F6F8;
*/
@import url(https://fonts.googleapis.com/css?family=EB+Garamond:400,500,500i,700&display=swap);
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&display=swap&subset=japanese);
* {
  box-sizing: border-box; }

html {
  height: 100%;
  font-size: 100%;
  /*
   参考URL
   http://www.nda.co.jp/memo/pxpt.html
   */ }

body {
  height: 100%;
  color: #2a2a2a;
  font-size: 1rem;
  line-height: 1.5rem;
  font-family: "游ゴシック", "游ゴシック体", YuGothic, "Yu Gothic", "Helvetica Neue", "メイリオ", sans-serif; }

#mainImg {
  width: 1100px;
  height: 500px;
  margin: 0 auto 25px auto;
  background: #e9e3e1; }
  #mainImg #copy {
    padding-top: 225px;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.5; }
    #mainImg #copy.landing {
      padding-top: 170px; }

main {
  width: 1100px;
  margin: 0 auto 50px auto; }

#top3Contents {
  margin-bottom: 50px; }
  #top3Contents a {
    color: #000;
    text-decoration: none; }
    #top3Contents a:hover {
      text-decoration: underline; }

.topSection a {
  padding: 12px;
  color: #000;
  text-decoration: none;
  display: block; }
  .topSection a:hover {
    background: #dff0fa; }

.mockWrap {
  width: 1100px;
  margin: 0 auto; }

.actionModules {
  width: 600px;
  margin: 0 auto;
  padding: 12px;
  background: #fff;
  border: 1px solid #000; }

#bottomAction {
  padding: 25px 0;
  background: #f8f9fb; }

#bottomNavi {
  padding: 25px 0;
  border-top: 1px solid #bebebe; }
  #bottomNavi .mockWrap {
    width: 1024px;
    padding: 12px;
    border: 1px solid #bebebe;
    border-radius: 5px; }
  #bottomNavi ul {
    margin-bottom: 12px; }
    #bottomNavi ul:last-child {
      margin-bottom: 0; }
    #bottomNavi ul li {
      margin-right: 12px; }
      #bottomNavi ul li.active {
        font-weight: 600; }
      #bottomNavi ul li::after {
        margin-left: 12px;
        content: '|'; }
      #bottomNavi ul li:last-child::after {
        content: ''; }
      #bottomNavi ul li a {
        color: #000;
        text-decoration: none; }
        #bottomNavi ul li a:hover {
          text-decoration: underline; }

@media screen and (max-width: 812px) {
  #mainImg {
    width: auto; }
    #mainImg #copy {
      font-size: 1.375rem; }
      #mainImg #copy.landing {
        padding-top: 170px; }
  main {
    width: auto; }
  .mockWrap {
    width: auto; }
  .actionModules {
    width: auto;
    margin: 0 12px; }
  #top3Contents p {
    padding: 5px; }
  section {
    margin: 0 5px; }
  #bottomNavi .mockWrap {
    width: auto;
    margin: 0 12px; }
  #bottomNavi ul {
    margin-bottom: 0; }
    #bottomNavi ul li {
      margin-right: 0; }
      #bottomNavi ul li::after {
        margin-left: 0;
        content: ''; }
      #bottomNavi ul li a {
        padding: 12px;
        display: block; } }

header {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #000; }
  header h1 a {
    width: 180px;
    height: 45px;
    padding-left: 45px;
    background: #f8f9fb;
    text-decoration: none;
    color: #000;
    display: block;
    border-radius: 5px;
    position: relative;
    box-sizing: border-box;
    font-size: 1.125rem;
    line-height: 40px; }
    header h1 a::before {
      width: 30px;
      height: 30px;
      content: '';
      background-color: #bbc7d1;
      border: 1px solid #000;
      border-radius: 50%;
      position: absolute;
      top: 7px;
      left: 5px; }

nav#gNav ul {
  display: flex; }
  nav#gNav ul li {
    padding: 0 25px;
    position: relative; }
    nav#gNav ul li.active {
      border-bottom: 1px solid #0b2c47;
      color: #0b2c47;
      font-weight: 550; }
    nav#gNav ul li::after {
      content: '|';
      position: absolute;
      top: 0;
      right: 0; }
    nav#gNav ul li:last-child::after {
      content: ''; }
    nav#gNav ul li span,
    nav#gNav ul li a {
      margin-right: 5px;
      font-size: 0.875rem;
      text-decoration: none;
      text-align: center;
      display: block;
      color: #000; }
      nav#gNav ul li span:hover,
      nav#gNav ul li a:hover {
        text-decoration: underline; }
    nav#gNav ul li span:hover {
      text-decoration: none; }
    nav#gNav ul li.subMenuWrap:hover .subMenu {
      display: block; }
    nav#gNav ul li.subMenuWrap:hover span,
    nav#gNav ul li.subMenuWrap:hover a {
      background: #0b2c47;
      color: #fff;
      text-decoration: none;
      font-weight: 600; }
    nav#gNav ul li.subMenuWrap .subMenu {
      width: 240px;
      padding: 5px;
      background: #0b2c47;
      position: absolute;
      top: 50;
      left: 0;
      z-index: 1000;
      box-sizing: border-box;
      box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.3);
      display: none; }
      nav#gNav ul li.subMenuWrap .subMenu li {
        width: auto;
        padding: 5px 0;
        border-bottom: 1px solid #bbc7d1; }
        nav#gNav ul li.subMenuWrap .subMenu li:last-child {
          border-bottom: none; }
        nav#gNav ul li.subMenuWrap .subMenu li::after {
          content: '';
          margin: 0; }
        nav#gNav ul li.subMenuWrap .subMenu li span,
        nav#gNav ul li.subMenuWrap .subMenu li a {
          padding: 0 5px;
          color: #fff;
          text-align: left;
          text-decoration: none;
          font-weight: 500; }
          nav#gNav ul li.subMenuWrap .subMenu li span:hover,
          nav#gNav ul li.subMenuWrap .subMenu li a:hover {
            text-decoration: underline; }
        nav#gNav ul li.subMenuWrap .subMenu li span:hover {
          text-decoration: none; }
  nav#gNav ul.subNav {
    margin-right: 25px;
    justify-content: flex-end; }
    nav#gNav ul.subNav li {
      width: auto;
      height: auto;
      padding: 0 5px;
      position: relative; }
      nav#gNav ul.subNav li::after {
        content: ''; }
      nav#gNav ul.subNav li span,
      nav#gNav ul.subNav li a {
        margin-right: 0;
        font-size: 0.75rem; }

.hBtn {
  display: none; }

@media screen and (max-width: 812px) {
  nav#gNav {
    display: none; }
  .hBtn {
    display: block; } }

#bread {
  padding: 2px 12px; }
  #bread ul {
    display: flex; }
    #bread ul li {
      margin-right: 5px;
      font-size: 0.75rem; }
      #bread ul li::after {
        margin-left: 5px;
        content: '|'; }
      #bread ul li:last-child::after {
        margin-left: 5px;
        content: ''; }
      #bread ul li a {
        color: #000; }
      #bread ul li span {
        font-weight: 600; }

@media screen and (max-width: 812px) {
  #bread {
    display: none; } }

footer {
  border-top: 1px solid #000; }
  footer #footer {
    width: 1100px;
    margin: 0 auto;
    padding: 12px;
    box-sizing: border-box;
    font-size: 0.875rem; }
    footer #footer p {
      margin-bottom: 12px; }
    footer #footer .strong {
      text-decoration: none; }
      footer #footer .strong:hover {
        text-decoration: underline; }
    footer #footer a {
      color: #000; }
    footer #footer .flexTable li {
      padding-right: 5px; }
      footer #footer .flexTable li::after {
        content: '|';
        margin-left: 5px; }
      footer #footer .flexTable li a {
        text-decoration: none; }
        footer #footer .flexTable li a:hover {
          text-decoration: underline; }
  footer address {
    padding: 3px 0;
    background: #f8f9fb;
    font-size: 0.75rem;
    text-align: center; }

@media screen and (max-width: 812px) {
  footer #footer {
    width: auto;
    padding: 12px 0; }
    footer #footer .boxLine3 {
      padding: 12px; }
    footer #footer p {
      margin-bottom: 12px; }
  footer li {
    padding-right: 0 !important; }
    footer li::after {
      content: '' !important;
      margin-left: 0 !important; }
    footer li li {
      text-indent: 1rem; }
    footer li a {
      padding: 12px;
      display: block;
      border-bottom: 1px solid #bebebe; } }

.boxSet {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12px; }
  .boxSet .innerBox {
    padding: 12px; }

.boxLine4 {
  width: calc( 25% - 10px); }

.boxLine4b {
  width: calc( 75% - 2px); }

.boxLine3 {
  width: calc( 33% - 7px); }

.boxLine3b {
  width: calc( 67% - 5px); }

.boxLine2 {
  width: calc( 50% - 6px); }

.boxLine1 {
  width: 100%; }

@media screen and (max-width: 812px) {
  .boxLine1,
  .boxLine2 {
    width: 100%;
    margin-bottom: 25px; }
  .boxLine4,
  .boxLine4b {
    width: calc( 50% - 6px); }
  .boxSet {
    margin-bottom: 25px; }
    .boxSet.sP100 {
      display: block; }
      .boxSet.sP100 .boxLine3,
      .boxSet.sP100 .boxLine3b,
      .boxSet.sP100 .boxLine4,
      .boxSet.sP100 .boxLine4b {
        width: 100%;
        margin-bottom: 25px; } }

.inputList.tableInput dl {
  width: 100%;
  display: flex; }
  .inputList.tableInput dl dt {
    width: 120px;
    padding-top: 3px;
    text-align: right; }
  .inputList.tableInput dl dd {
    width: calc( 100% - 120px); }

.inputList.tableInput.minTitle dl {
  display: flex !important; }
  .inputList.tableInput.minTitle dl dt {
    width: 80px !important; }
  .inputList.tableInput.minTitle dl dd {
    width: calc( 100% - 80px) !important; }

.inputList.tableInput.wideTitle dl dt {
  width: 200px; }

.inputList.tableInput.wideTitle dl dd {
  width: calc( 100% - 200px); }

.inputList.tableInput .minTitle dl dt {
  width: 80px; }

.inputList.tableInput .minTitle dl dd {
  width: calc( 100% - 80px); }

.inputList.tableInput .middleTitle dl dt {
  width: 120px; }

.inputList.tableInput .middleTitle dl dd {
  width: calc( 100% - 120px); }

.inputList.tableInput .wideTitle dl dt {
  width: 200px; }

.inputList.tableInput .wideTitle dl dd {
  width: calc( 100% - 200px); }

.inputList dl {
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #bebebe; }
  .inputList dl.noLine {
    padding-bottom: 0;
    border-bottom: none; }
  .inputList dl dt {
    padding: 0 5px;
    margin-bottom: 3px; }
  .inputList dl dd {
    padding: 0 5px; }

@media screen and (max-width: 812px) {
  .inputList.tableInput dl {
    width: 100%;
    display: block; }
    .inputList.tableInput dl dt {
      width: 100%;
      text-align: left; }
    .inputList.tableInput dl dd {
      width: 100% !important; }
  .inputList.tableInput .middleTitle dl,
  .inputList.tableInput .wideTitle dl {
    width: 100%;
    display: block; }
    .inputList.tableInput .middleTitle dl dt,
    .inputList.tableInput .wideTitle dl dt {
      width: 100%;
      text-align: left; }
    .inputList.tableInput .middleTitle dl dd,
    .inputList.tableInput .wideTitle dl dd {
      width: 100%; }
  .inputList dl {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #bebebe; }
    .inputList dl.noLine {
      padding-bottom: 0;
      border-bottom: none; }
    .inputList dl dt {
      padding: 0 5px;
      margin-bottom: 3px; }
    .inputList dl dd {
      padding: 0 5px; } }

dl.typeA {
  display: flex; }
  dl.typeA dt {
    width: 120px; }
  dl.typeA dd {
    width: calc( 100% - 120px); }

@media screen and (max-width: 812px) {
  dl.typeA {
    display: block; }
    dl.typeA dt {
      width: auto; }
    dl.typeA dd {
      width: auto; } }

ol.typeA {
  margin-left: 25px; }
  ol.typeA li {
    margin-bottom: 5px; }
    ol.typeA li::before {
      content: '・'; }

ul.boxList li a, ul.matomeList li a, ul.baseList li a {
  padding: 12px 5px;
  text-decoration: none;
  color: #000;
  display: block;
  border-bottom: 1px solid #bebebe; }
  ul.boxList li a:hover, ul.matomeList li a:hover, ul.baseList li a:hover {
    background: #dff0fa; }
  ul.boxList li a .listTitle, ul.matomeList li a .listTitle, ul.baseList li a .listTitle {
    font-size: 1.125rem;
    display: block; }
  ul.boxList li a .listMeta, ul.matomeList li a .listMeta, ul.baseList li a .listMeta {
    font-size: 0.875rem;
    display: block; }

ul.matomeList li {
  display: flex; }
  ul.matomeList li .checkBoxCell {
    width: 30px;
    padding-top: 12px;
    background: url(../images/tate_line.gif) 15px top repeat-y; }
  ul.matomeList li:last-child .checkBoxCell {
    background: url(../images/tate_line.gif) 15px top no-repeat; }
  ul.matomeList li .matomeCell {
    width: calc( 100% - 30px); }

ul.boxList li a {
  padding: 12px;
  border: 1px solid #bebebe;
  border-radius: 5px;
  box-sizing: border-box;
  text-decoration: none; }
  ul.boxList li a .listTitle {
    font-size: 1.125rem;
    display: block; }
  ul.boxList li a .listMeta {
    font-size: 0.875rem;
    display: block; }

ul.lineList li {
  padding: 12px 0;
  border-bottom: 1px solid #bebebe; }
  ul.lineList li:first-child {
    padding-top: 0; }
  ul.lineList li:last-child {
    padding-bottom: 0;
    border-bottom: none; }

ul.listPaging {
  display: flex;
  justify-content: center;
  gap: 0 5px; }
  ul.listPaging li {
    width: 30px;
    height: 30px;
    line-height: 28px;
    border: 1px solid #bebebe;
    border-radius: 5px; }
    ul.listPaging li.lt, ul.listPaging li.gt {
      width: 20px;
      border: none; }
      ul.listPaging li.lt a:hover, ul.listPaging li.gt a:hover {
        background: none;
        text-decoration: underline; }
    ul.listPaging li.active a {
      background: #bbc7d1;
      font-weight: 600; }
      ul.listPaging li.active a:hover {
        background: #bbc7d1; }
    ul.listPaging li a {
      font-size: 0.875rem;
      text-align: center;
      color: #000;
      display: block;
      text-decoration: none;
      display: block; }
      ul.listPaging li a:hover {
        background: #dff0fa; }

ul.pictList {
  display: flex;
  flex-wrap: wrap; }
  ul.pictList li {
    width: calc( 25% - 15px);
    margin-right: 12px;
    margin-bottom: 25px;
    border: 1px solid #bebebe;
    border-radius: 5px; }
    ul.pictList li .pictBox {
      margin-bottom: 5px;
      display: block; }
    ul.pictList li .pictBoxWrap {
      width: 100%;
      padding: 12px;
      display: block;
      box-sizing: border-box;
      color: #7f7f7f;
      text-decoration: none;
      position: relative; }
      ul.pictList li .pictBoxWrap img#thisImg {
        width: 250px; }
      ul.pictList li .pictBoxWrap img#imgDelBtn, ul.pictList li .pictBoxWrap img.imgDelBtn {
        width: 40px;
        height: 40px;
        position: absolute;
        z-index: 50;
        top: 15px;
        right: 15px;
        cursor: pointer; }
    ul.pictList li .pictEnptyBox {
      width: 100%;
      padding: 0 12px;
      position: absolute;
      bottom: 75px;
      text-align: center; }
      ul.pictList li .pictEnptyBox #progressBarWrap {
        width: 100%;
        height: 8px;
        border-radius: 4px;
        background: #7f7f7f;
        overflow: hidden; }
      ul.pictList li .pictEnptyBox #progressBar {
        height: 8px;
        background: #881b00; }
    ul.pictList li.uploadBox, ul.pictList li#uploadBtn {
      min-height: 200px;
      background: #dcdcdc;
      border: 1px solid #7f7f7f;
      position: relative; }
      ul.pictList li.uploadBox .fileUploadCircle, ul.pictList li#uploadBtn .fileUploadCircle {
        position: absolute;
        left: 25px;
        bottom: 25px; }

nav.treeList.nonCheckBox ul li {
  padding-left: 30px; }

nav.treeList ul {
  margin-bottom: 12px; }
  nav.treeList ul:last-child {
    margin-bottom: 0; }
  nav.treeList ul li {
    min-height: 30px;
    margin-bottom: 5px;
    padding-left: 25px;
    position: relative; }

.fileUploadCircle {
  width: 40px;
  height: 40px;
  background: #fff url(../images/svg/icon/plus.svg) center center no-repeat;
  background-size: 25px auto;
  overflow: hidden;
  border: 1px solid #0b2c47;
  border-radius: 50%; }
  .fileUploadCircle span {
    text-indent: -9999px;
    display: block; }
    .fileUploadCircle span input[type=file] {
      display: none; }

.uploadArea {
  width: 250px;
  height: 150px;
  background: #dcdcdc;
  border: 1px solid #7f7f7f;
  border-radius: 5px; }
  .uploadArea.hover {
    background: #f8f9fb;
    border: 3px dotted #7f7f7f; }
  .uploadArea p {
    padding-top: 50px; }
  .uploadArea input[type=file] {
    display: none; }

#insertImg {
  display: flex;
  gap: 12px; }
  #insertImg li {
    width: 200px;
    position: relative; }
    #insertImg li img.delBtn {
      width: 40px;
      height: 40px;
      position: absolute;
      z-index: 50;
      top: 15px;
      right: 15px;
      cursor: pointer; }

/*
*/
.fukidashi {
  width: 200px;
  padding: 5px;
  text-align: center;
  border: 1px solid #bebebe;
  background: #fff;
  position: absolute;
  top: -40px;
  right: -5px;
  border-radius: 5px;
  display: none;
  z-index: 1000; }
  .fukidashi::before {
    content: "";
    position: absolute;
    top: 100%;
    right: 8px;
    border: 12px solid transparent;
    border-top: 12px solid #bebebe; }
  .fukidashi::after {
    content: "";
    position: absolute;
    top: 100%;
    right: 10px;
    border: 10px solid transparent;
    border-top: 10px solid #fff; }

.btnWrap {
  position: relative; }
  .btnWrap:hover .fukidashi {
    display: block; }

.iconBtns {
  display: flex; }

.matomeSelect {
  padding-bottom: 5px;
  padding-left: 30px;
  background: url(../images/l_line.gif) 15px 15px no-repeat; }

.accordion.typeA dl, .accordion.typeB dl, .accordion.typeC dl {
  margin-bottom: 25px; }
  .accordion.typeA dl.closed dd, .accordion.typeB dl.closed dd, .accordion.typeC dl.closed dd {
    display: none; }
  .accordion.typeA dl dt, .accordion.typeB dl dt, .accordion.typeC dl dt {
    padding: 0 12px 5px 12px;
    color: #000;
    border-bottom: 1px solid #d9e0e4; }
  .accordion.typeA dl dd, .accordion.typeB dl dd, .accordion.typeC dl dd {
    padding: 5px 12px;
    background: #e5ecf0;
    border-radius: 0 0 5px 5px; }
    .accordion.typeA dl dd li, .accordion.typeB dl dd li, .accordion.typeC dl dd li {
      margin-bottom: 5px;
      font-size: 0.875rem; }
      .accordion.typeA dl dd li.active button, .accordion.typeB dl dd li.active button, .accordion.typeC dl dd li.active button {
        font-weight: 600; }
      .accordion.typeA dl dd li button, .accordion.typeB dl dd li button, .accordion.typeC dl dd li button {
        width: 100%; }

.closed .opnerBtn {
  background-image: url(../images/svg/arrow/bottom_gray.svg);
  background-position: right 5px top 7px;
  background-repeat: no-repeat;
  background-size: 12px auto; }

.opnerBtn {
  width: 100%;
  background-image: url(../images/svg/arrow/top_gray.svg);
  background-position: right 5px top 7px;
  background-repeat: no-repeat;
  background-size: 12px auto;
  line-height: 1.1;
  box-sizing: border-box;
  display: block; }
  .opnerBtn.disabled {
    text-decoration: none;
    pointer-events: none;
    color: #7f7f7f; }
  .opnerBtn span {
    margin-right: 20px;
    display: inline-block; }

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem; }
  table.equality {
    table-layout: fixed; }
  table th.middle {
    width: 250px;
    max-width: 250px; }
  table th.min {
    width: 120px;
    max-width: 120px; }
  table th.tLeft {
    text-align: left; }
  table th,
  table td {
    padding: 5px; }
    table th.checkBox,
    table td.checkBox {
      width: 40px !important; }
  table tbody.hover tr:hover {
    background: #dff0fa; }
  table tr.active {
    background: #bbc7d1; }
  table tr th {
    text-align: left;
    font-weight: normal; }
  table.typeA {
    border-left: 1px solid #bebebe;
    border-bottom: 1px solid #bebebe; }
    table.typeA tr th {
      background: #e9e3e1;
      border-right: 1px solid #7f7f7f;
      border-top: 1px solid #7f7f7f;
      font-weight: 600; }
    table.typeA tr td {
      border-right: 1px solid #bebebe;
      border-top: 1px solid #bebebe; }
  table.typeB tfoot {
    font-weight: 500; }
  table.typeB tr.darkLine th,
  table.typeB tr.darkLine td {
    border-bottom: 1px solid #7f7f7f; }
  table.typeB tr.active th,
  table.typeB tr.active td {
    background: #bbc7d1; }
  table.typeB tr.hiligh th,
  table.typeB tr.hiligh td {
    background: #dff0fa; }
  table.typeB tr:last-child td {
    border-bottom: 1px solid #7f7f7f; }
  table.typeB tr td,
  table.typeB tr th {
    border-bottom: 1px solid #dcdcdc; }
  table.typeB tr th {
    padding: 5px;
    color: #0b2c47;
    box-sizing: border-box;
    text-align: center;
    border-bottom: 2px solid #0b2c47; }
  table.typeB tr td {
    padding: 5px;
    box-sizing: border-box; }
    table.typeB tr td.department {
      border-right: 1px solid #0b2c47; }
    table.typeB tr td.data {
      text-align: right;
      border-right: 1px solid #0b2c47; }
      table.typeB tr td.data:last-child {
        border-right: none; }
  table.typeC {
    border-top: 1px solid #bebebe; }
    table.typeC tr th,
    table.typeC tr td {
      border-bottom: 1px solid #bebebe; }
    table.typeC tr th {
      width: 120px;
      background: #e5ecf0; }
      table.typeC tr th.long {
        width: 200px; }
  table.typeD thead th {
    width: 20%;
    background: #f8f9fb;
    border-right: 1px solid #e5ecf0;
    border-bottom: 2px solid #0b2c47;
    font-weight: 600; }
    table.typeD thead th:last-child {
      border-right: none; }
  table.typeD tbody th,
  table.typeD tbody td {
    border-bottom: 1px solid #bebebe; }
  table.typeD tbody th {
    font-weight: 600;
    border-right: 1px solid #f8f9fb; }
  table.typeD tbody td {
    border-right: 1px solid #e5ecf0; }
    table.typeD tbody td:last-child {
      border-right: none; }

.tabTypeA,
.tabTypeB,
.tabTypeC {
  min-height: 40px;
  text-align: left;
  box-sizing: border-box; }
  .tabTypeA ul,
  .tabTypeB ul,
  .tabTypeC ul {
    min-height: 40px;
    font-size: 0;
    display: inline-block;
    vertical-align: top;
    white-space: nowrap; }
    .tabTypeA ul li,
    .tabTypeB ul li,
    .tabTypeC ul li {
      min-width: 110px;
      height: 40px;
      display: inline-block;
      box-sizing: border-box; }
      .tabTypeA ul li.fullTab,
      .tabTypeB ul li.fullTab,
      .tabTypeC ul li.fullTab {
        width: 50%;
        min-width: auto; }
      .tabTypeA ul li a,
      .tabTypeA ul li button,
      .tabTypeB ul li a,
      .tabTypeB ul li button,
      .tabTypeC ul li a,
      .tabTypeC ul li button {
        width: 100%;
        margin-top: 4px;
        font-size: 1rem;
        text-align: center;
        text-decoration: none;
        display: block;
        box-sizing: border-box; }
        .tabTypeA ul li a:hover,
        .tabTypeA ul li button:hover,
        .tabTypeB ul li a:hover,
        .tabTypeB ul li button:hover,
        .tabTypeC ul li a:hover,
        .tabTypeC ul li button:hover {
          text-decoration: underline; }

.tabTypeA li,
.tabTypeB li,
.tabTypeC li {
  background: #fff;
  border-bottom: 1px solid #0b2c47; }
  .tabTypeA li.active,
  .tabTypeB li.active,
  .tabTypeC li.active {
    font-weight: 600;
    border-bottom: 5px solid #0b2c47; }
  .tabTypeA li:last-child a,
  .tabTypeA li:last-child button,
  .tabTypeB li:last-child a,
  .tabTypeB li:last-child button,
  .tabTypeC li:last-child a,
  .tabTypeC li:last-child button {
    border-right: none; }
  .tabTypeA li a,
  .tabTypeA li button,
  .tabTypeB li a,
  .tabTypeB li button,
  .tabTypeC li a,
  .tabTypeC li button {
    min-width: 110px;
    padding: 3px 12px 2px 12px;
    border-right: 1px solid #bebebe; }
    .tabTypeA li a:hover,
    .tabTypeA li button:hover,
    .tabTypeB li a:hover,
    .tabTypeB li button:hover,
    .tabTypeC li a:hover,
    .tabTypeC li button:hover {
      color: #0b2c47; }

.tabGraoupWrap .tabGraoup {
  display: none; }
  .tabGraoupWrap .tabGraoup.active {
    display: block; }

nav.switchNavi {
  display: inline-block; }
  nav.switchNavi ul {
    display: flex;
    flex-wrap: nowrap;
    border: 1px solid #0b2c47;
    border-radius: 5px;
    overflow: hidden; }
    nav.switchNavi ul.min li button {
      width: auto;
      padding: 0 12px;
      white-space: nowrap;
      font-size: 0.875rem; }
    nav.switchNavi ul li {
      border-left: 1px solid #0b2c47; }
      nav.switchNavi ul li:first-child {
        border-left: none; }
      nav.switchNavi ul li.active button {
        background: #0b2c47;
        color: #fff;
        pointer-events: none; }
      nav.switchNavi ul li button {
        width: 110px;
        height: 30px;
        padding: 0 5px;
        background: #fff;
        line-height: 30px;
        font-size: 1rem;
        color: #0b2c47;
        text-align: center;
        box-sizing: border-box; }
        nav.switchNavi ul li button.disabled {
          pointer-events: none; }

.popUpBtnsWrap {
  display: inline-block;
  position: relative; }
  .popUpBtnsWrap .popUpBtns {
    width: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-block;
    position: absolute;
    top: 0;
    right: -40px; }
    .popUpBtnsWrap .popUpBtns.disabled {
      pointer-events: none; }
      .popUpBtnsWrap .popUpBtns.disabled li .moreSelectBox {
        background: #dcdcdc !important;
        border: 1px solid #bebebe; }
    .popUpBtnsWrap .popUpBtns li:hover .moreSelectBox {
      display: block; }
    .popUpBtnsWrap .popUpBtns li .moreSelectBox {
      width: 330px;
      padding: 12px;
      background: #fff;
      text-align: left;
      border: 1px solid #d9e0e4;
      position: absolute;
      z-index: 1000;
      display: none; }

.datepickerVal {
  width: auto;
  display: flex;
  align-items: center; }
  .datepickerVal p {
    margin-bottom: 0;
    display: none;
    vertical-align: middle; }
    .datepickerVal p.active {
      display: inline-block; }
  .datepickerVal ul {
    margin: 0 5px 0 0 !important;
    display: flex;
    align-items: center; }
    .datepickerVal ul.active {
      display: inline-block !important; }
    .datepickerVal ul li {
      margin: 0 0 0 12px;
      display: inline-block; }
      .datepickerVal ul li:first-child {
        margin-left: 0; }
      .datepickerVal ul li input {
        margin-right: 5px; }
  .datepickerVal img {
    width: 24px;
    height: 25px;
    margin-left: 5px;
    cursor: pointer; }
  .datepickerVal #dayNum {
    display: none; }
    .datepickerVal #dayNum.active {
      display: inline-block; }
    .datepickerVal #dayNum li {
      display: inline-block; }

.fileSet {
  position: relative; }
  .fileSet p.attention {
    display: inline-block;
    margin-top: 3px; }
  .fileSet .fileLabel {
    margin-top: 0;
    display: inline-block;
    font-size: 0.875rem;
    font-weight: 600; }
  .fileSet ul.uploadFiles {
    margin-left: 20px;
    display: flex; }
    .fileSet ul.uploadFiles li {
      margin-right: 12px;
      padding-left: 25px;
      background-image: url(../images/svg/document/document1.svg);
      background-position: left center;
      background-repeat: no-repeat;
      background-size: auto 22px;
      display: flex;
      align-items: center; }

.fileUploadWrap {
  text-align: center;
  overflow: hidden; }
  .fileUploadWrap span {
    margin: 0 5px 0 0;
    padding-left: 20px;
    background-image: url(../images/svg/icon/temp.svg);
    background-position: left 3px;
    background-repeat: no-repeat;
    background-size: 20px auto;
    display: inline-block;
    font-size: 0.875rem;
    font-weight: 600; }
    .fileUploadWrap span:hover {
      text-decoration: underline; }
    .fileUploadWrap span input[type=file] {
      display: none; }

.scroll {
  padding-right: 12px;
  overflow-y: scroll;
  overflow-x: hidden;
  box-sizing: border-box;
  /*スクロールバーの背景色・角丸指定*/
  /*スクロールバーの色・角丸指定*/ }
  .scroll.scrollX {
    overflow-y: hidden;
    overflow-x: scroll; }
  .scroll.scrollALL {
    overflow-y: scroll;
    overflow-x: scroll; }
  .scroll::-webkit-scrollbar {
    width: 8px;
    height: 8px; }
  .scroll::-webkit-scrollbar-track {
    border-radius: 10px;
    background: #e5ecf0; }
  .scroll::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: #bebebe;
    border-radius: 4px; }
    .scroll::-webkit-scrollbar-thumb:hover {
      background: #7f7f7f; }

.alertWrap {
  width: 500px;
  padding: 40px 12px 25px 12px;
  background-color: #fff;
  border-radius: 5px;
  box-sizing: border-box;
  position: fixed;
  z-index: 1100;
  display: none;
  position: fixed; }
  .alertWrap.attention {
    background: #f6d8d0; }
    .alertWrap.attention #alertContents {
      margin-left: 15px;
      padding-left: 55px;
      background: url(../images/icon/icon_attention_red.png) 5px 5px no-repeat;
      background-size: 40px auto;
      color: #000; }
  .alertWrap .iconClosed {
    position: absolute;
    top: 5px;
    right: 5px; }
  .alertWrap.active {
    display: block; }
  .alertWrap.wide {
    width: 1024px; }
  .alertWrap.middle {
    width: 750px; }

@media screen and (max-width: 812px) {
  .alertWrap {
    width: 320px; }
    .alertWrap.middle, .alertWrap.wide {
      width: calc( 100% - 24px); } }

.makeWrapClosed,
.iconClosed {
  width: 26px;
  height: 26px;
  background-image: url(../images/svg/icon/closed.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 16px auto;
  text-indent: -9999px;
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 100; }

.makeWrapClosed {
  right: 25px;
  background-size: 24px auto; }

#bgPop {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  display: none;
  cursor: pointer; }
  #bgPop.active {
    display: block; }

.hMenu {
  width: 0;
  padding: 25px 12px;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1500;
  display: none; }
  .hMenu.active {
    display: block; }
  .hMenu .iconClosed {
    display: block; }
  .hMenu .scroll {
    margin-top: 12px;
    padding: 12px; }
  .hMenu ul li a,
  .hMenu ul li button {
    padding: 12px;
    border-bottom: 1px solid #bebebe;
    text-decoration: none;
    display: block; }

.cf:before,
.cf:after {
  content: '';
  display: table; }

.cf:after {
  clear: both; }

.cf {
  zoom: 1;
  /* for IE6/7 */ }

.attention {
  color: #b32605; }

.strong {
  font-weight: 600; }

.block {
  display: block; }

.inlineBlock {
  display: inline-block; }

.inline {
  display: inline; }

.mDbBottom {
  margin-bottom: 50px !important; }

.mBottom {
  margin-bottom: 25px !important; }

.mHfBottom {
  margin-bottom: 12px !important; }

.mMinBottom {
  margin-bottom: 5px !important; }

.mLeft {
  margin-left: 25px !important; }

.mHfLeft {
  margin-left: 12px !important; }

.mMinLeft {
  margin-left: 5px !important; }

.mRight {
  margin-right: 25px !important; }

.mHfRight {
  margin-right: 12px !important; }

.mMinRight {
  margin-right: 5px !important; }

.pBase {
  padding: 25px !important; }

.pHfBase {
  padding: 12px !important; }

.pMinBase {
  padding: 5px !important; }

.pBottom {
  padding-bottom: 25px !important; }

.pHfBottom {
  padding-bottom: 12px !important; }

.pMinBottom {
  padding-bottom: 5px !important; }

.nonPdnTop {
  padding-top: 0 !important; }

/* align */
.tCenter {
  text-align: center; }

.tRight {
  text-align: right; }

.tLeft {
  text-align: left; }

.fRight {
  float: right; }

.fLeft {
  float: left; }

.fCenter {
  margin-left: auto;
  margin-right: auto; }

.pcNone,
.pcInNone,
.hidden {
  display: none !important; }

@media screen and (max-width: 812px) {
  .fRight {
    float: none; }
  .fLeft {
    float: none; }
  .pcNone {
    display: block !important; }
  .pcInNone {
    display: inline-block !important; }
  .spNone {
    display: none !important; } }

.flexTable {
  display: flex; }
  .flexTable.flexTr {
    flex-wrap: wrap; }
  .flexTable.justifyCcontent {
    justify-content: space-between; }

.flexTr {
  flex-wrap: wrap; }

.jCenter {
  justify-content: center; }

.jBetween {
  justify-content: space-between; }

.iStart {
  align-items: flex-start; }

.iCenter {
  align-items: center; }

.iEnd {
  align-items: flex-end; }

@media screen and (max-width: 812px) {
  .flexTable {
    display: block; } }

.bgFill {
  padding: 12px;
  background: #f8f9fb; }
  .bgFill.dark {
    background: #e5ecf0; }

.bgLine {
  padding: 12px;
  background: #fff;
  border: 1px solid #bebebe; }

.rBg {
  border-radius: 5px; }

.label {
  width: 110px;
  margin-right: 5px;
  padding: 0 5px;
  font-size: 0.875rem;
  color: #fff;
  display: inline-block !important;
  font-weight: 500;
  text-align: center; }
  .label:last-child {
    margin-right: 0; }
  .label.white {
    background: #fff;
    border: 1px solid #bebebe;
    color: #2a2a2a; }
  .label.key {
    background: #0b2c47; }
    .label.key:hover {
      background: #0b2c47; }
  .label.sub {
    background: #e9e3e1; }
    .label.sub:hover {
      background: #e9e3e1; }
  .label.point {
    background: #881b00; }
    .label.point:hover {
      background: #881b00; }
  .label.gray {
    background: #bebebe;
    color: #2a2a2a; }
    .label.gray:hover {
      background: #bebebe; }
  .label.auto {
    width: auto; }
  .label.min {
    width: 60px;
    padding: 0;
    font-size: 0.75rem; }

.captionImgWrap {
  border: 1px solid #bebebe;
  position: relative; }
  .captionImgWrap .caption {
    padding: 3px;
    background-color: rgba(255, 255, 255, 0.9);
    position: absolute;
    right: 5px;
    bottom: 5px;
    font-size: 0.875rem;
    line-height: 1; }

h1, h2, h3, h4, h5, h6 {
  color: #000;
  font-family: "Noto Sans JP", sans-serif; }

h3.strong {
  font-weight: 500; }

section {
  margin-bottom: 50px; }
  section:last-child {
    margin-bottom: 0; }
  section section {
    margin-bottom: 25px; }
    section section:last-child {
      margin-bottom: 0; }

p {
  margin-bottom: 25px; }
  p:last-child {
    margin-bottom: 0; }

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: top; }
  img.fixedImg {
    width: auto !important;
    max-width: auto; }

svg.autoImg {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: top; }

input[type=date],
input[type=text],
input[type=number],
input[type=mail],
input[type=tel],
input[type=url],
input[type=email],
select,
textarea {
  width: 100%;
  max-width: 200px;
  height: 30px;
  padding: 0 5px;
  background: #fff;
  font-size: 1rem;
  line-height: normal;
  border: 1px solid #7f7f7f;
  text-align: left;
  vertical-align: middle;
  outline: none;
  color: #2a2a2a;
  border-radius: 5px;
  box-sizing: border-box; }
  input[type=date]:focus, input[type=date].focus,
  input[type=text]:focus,
  input[type=text].focus,
  input[type=number]:focus,
  input[type=number].focus,
  input[type=mail]:focus,
  input[type=mail].focus,
  input[type=tel]:focus,
  input[type=tel].focus,
  input[type=url]:focus,
  input[type=url].focus,
  input[type=email]:focus,
  input[type=email].focus,
  select:focus,
  select.focus,
  textarea:focus,
  textarea.focus {
    border: 2px solid #0b2c47; }
  input[type=date].error,
  input[type=text].error,
  input[type=number].error,
  input[type=mail].error,
  input[type=tel].error,
  input[type=url].error,
  input[type=email].error,
  select.error,
  textarea.error {
    background: #f6d8d0;
    border: 1px solid #b32605; }
    input[type=date].error.focus, input[type=date].error:focus,
    input[type=text].error.focus,
    input[type=text].error:focus,
    input[type=number].error.focus,
    input[type=number].error:focus,
    input[type=mail].error.focus,
    input[type=mail].error:focus,
    input[type=tel].error.focus,
    input[type=tel].error:focus,
    input[type=url].error.focus,
    input[type=url].error:focus,
    input[type=email].error.focus,
    input[type=email].error:focus,
    select.error.focus,
    select.error:focus,
    textarea.error.focus,
    textarea.error:focus {
      border: 2px solid #b32605; }
  input[type=date].disabled,
  input[type=text].disabled,
  input[type=number].disabled,
  input[type=mail].disabled,
  input[type=tel].disabled,
  input[type=url].disabled,
  input[type=email].disabled,
  select.disabled,
  textarea.disabled {
    background: #dcdcdc;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
     -ms-user-select: none;
         user-select: none; }
  input[type=date].long,
  input[type=text].long,
  input[type=number].long,
  input[type=mail].long,
  input[type=tel].long,
  input[type=url].long,
  input[type=email].long,
  select.long,
  textarea.long {
    width: 400px;
    max-width: 400px; }
  input[type=date].middle,
  input[type=text].middle,
  input[type=number].middle,
  input[type=mail].middle,
  input[type=tel].middle,
  input[type=url].middle,
  input[type=email].middle,
  select.middle,
  textarea.middle {
    width: 250px;
    max-width: 250px; }
  input[type=date].min,
  input[type=text].min,
  input[type=number].min,
  input[type=mail].min,
  input[type=tel].min,
  input[type=url].min,
  input[type=email].min,
  select.min,
  textarea.min {
    width: 60px;
    max-width: 120px; }
  input[type=date].auto,
  input[type=text].auto,
  input[type=number].auto,
  input[type=mail].auto,
  input[type=tel].auto,
  input[type=url].auto,
  input[type=email].auto,
  select.auto,
  textarea.auto {
    width: auto;
    padding: 0 12px; }
  input[type=date].w100,
  input[type=text].w100,
  input[type=number].w100,
  input[type=mail].w100,
  input[type=tel].w100,
  input[type=url].w100,
  input[type=email].w100,
  select.w100,
  textarea.w100 {
    width: 100%;
    max-width: 100%; }
  input[type=date].w75,
  input[type=text].w75,
  input[type=number].w75,
  input[type=mail].w75,
  input[type=tel].w75,
  input[type=url].w75,
  input[type=email].w75,
  select.w75,
  textarea.w75 {
    width: 75%;
    max-width: 75%; }

textarea {
  min-height: 30px;
  padding: 5px;
  font-size: 1rem;
  line-height: 1.5rem;
  font-family: "游ゴシック", "游ゴシック体", YuGothic, "Yu Gothic", "Helvetica Neue", "メイリオ", sans-serif; }
  textarea.line3 {
    height: 90px; }
  textarea.line5 {
    height: 150px; }
  textarea.line10 {
    height: 300px; }

input[type=date],
input[type=submit],
input[dojoType=ComboBox],
select,
label,
option {
  cursor: pointer; }

select {
  padding-right: 25px !important;
  background-image: url(../images/svg/arrow/bottom_key.svg);
  background-position: right 5px top 10px;
  background-repeat: no-repeat;
  background-size: 14px auto;
  box-sizing: border-box; }
  select.error {
    background-color: #f6d8d0;
    background-image: url(../images/svg/arrow/bottom_caution.svg);
    background-position: right 5px top 10px;
    background-repeat: no-repeat;
    background-size: 14px auto; }
  select.disabled {
    cursor: default; }

label {
  vertical-align: middle;
  display: inline-block; }
  label.disabled {
    cursor: auto;
    pointer-events: none; }
    label.disabled .inputCheck {
      background: #dcdcdc;
      border: 1px solid #7f7f7f;
      pointer-events: none; }

input[type="checkbox"],
input[type="radio"] {
  /* 透明度0 */
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  /* ブラウザのデフォルトのスタイルを削除 */
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  /* レイアウトから無視 */
  position: absolute; }

.inputCheck {
  width: 18px;
  height: 18px;
  margin: -2px 5px 0 5px;
  background: #fff;
  vertical-align: middle;
  line-height: 1;
  border: 1px solid #0b2c47;
  display: inline-block;
  position: relative; }

input.focus + .inputCheck,
input:focus + .inputCheck {
  border: 2px solid #0b2c47; }

input[type="checkbox"]:checked + .inputCheck::after {
  width: 18px;
  height: 18px;
  content: '';
  background-image: url(../images/svg/function/checkbox.svg);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 14px auto;
  display: block;
  position: absolute;
  top: 1px;
  left: 1px; }

input[type="checkbox"]:checked.semiCheck + .inputCheck::after {
  background-image: url(../images/svg/function/checkbox_inc.svg);
  background-position: 0.5px 6px;
  background-size: 12px auto; }

input[type="checkbox"]:checked.focus + .inputCheck::after,
input[type="checkbox"]:checked:focus + .inputCheck::after {
  top: 0;
  left: 0; }

input[type="checkbox"].error + .inputCheck {
  background-color: #f6d8d0;
  border: 1px solid #b32605; }

input[type="checkbox"].error.focus + .inputCheck,
input[type="checkbox"].error:focus + .inputCheck {
  border: 2px solid #b32605; }

input[type="checkbox"].error:checked + .inputCheck::after {
  background-image: url(../images/svg/function/checkbox_red.svg); }

input[type="radio"] + .inputCheck {
  border-radius: 50%; }

input[type="radio"]:checked + .inputCheck::after {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  content: '';
  background: #0b2c47;
  position: absolute;
  top: 4px;
  left: 4px; }

input[type="radio"]:checked.focus + .inputCheck::after,
input[type="radio"]:checked:focus + .inputCheck::after {
  top: 3px;
  left: 3px; }

input[type="radio"].error + .inputCheck {
  background-color: #f6d8d0;
  border: 1px solid #b32605; }

input[type="radio"].error:focus + .inputCheck {
  border: 2px solid #b32605; }

input[type="radio"].error:checked + .inputCheck::after {
  background: #b32605; }

input[type=button].openerBtn {
  width: 30px;
  height: 30px;
  background-color: transparent;
  background-image: url(../images/svg/arrow/right_gray.svg);
  background-position: 15px 5px;
  background-repeat: no-repeat;
  background-size: auto 14px;
  border: none;
  display: inline-block;
  vertical-align: top;
  cursor: pointer;
  outline-width: 0;
  position: absolute;
  top: 0;
  left: 0; }
  input[type=button].openerBtn.active {
    background-image: url(../images/svg/arrow/bottom_gray.svg);
    background-position: 12px 8px;
    background-size: 14px auto; }

.longSelect.long,
.editInput.long {
  width: 100%;
  max-width: 400px; }

.longSelect.middle,
.editInput.middle {
  width: 100%;
  max-width: 250px; }

.longSelect.min,
.editInput.min {
  width: 60px;
  max-width: 120px; }

.longSelect.auto,
.editInput.auto {
  width: auto;
  padding: 0 12px; }

.longSelect.w100,
.editInput.w100 {
  width: 100%;
  max-width: 100%; }

.longSelect.w75,
.editInput.w75 {
  width: 75%;
  max-width: 75%; }

.longSelect.disable,
.editInput.disable {
  pointer-events: none;
  border: 1px solid #bebebe !important;
  color: #bebebe; }

.editInput {
  width: 100%;
  max-width: 200px;
  min-height: 30px;
  background: #fff;
  font-size: 1rem;
  line-height: 1.5rem;
  border: 1px solid #7f7f7f;
  vertical-align: middle;
  text-align: left;
  border-radius: 5px;
  outline: none; }
  .editInput:focus {
    border: 2px solid #0b2c47; }
  .editInput.line1 {
    min-height: 30px; }
  .editInput.line3 {
    min-height: 90px; }
  .editInput.line5 {
    min-height: 150px; }

.longSelect {
  width: 100%;
  margin: 0 0 5px 0;
  border: 1px solid #7f7f7f;
  border-radius: 5px;
  display: inline-block;
  position: relative; }
  .longSelect.w100 {
    width: 100%; }
  .longSelect.disable {
    border: 1px solid #bebebe; }
    .longSelect.disable button {
      pointer-events: none;
      color: #bebebe; }
      .longSelect.disable button.selectBtn {
        background: none; }
  .longSelect button {
    width: 100%;
    text-align: left;
    text-decoration: none !important; }
    .longSelect button:hover {
      text-decoration: none !important; }
    .longSelect button.selectBtn {
      min-height: 30px;
      padding: 0 25px 0 5px;
      background-image: url(../images/svg/arrow/bottom_gray.svg);
      background-position: right 5px top 10px;
      background-repeat: no-repeat;
      background-size: 16px auto;
      font-size: 1rem;
      line-height: 1.5rem;
      vertical-align: middle; }
  .longSelect ul {
    display: none; }
  .longSelect.active {
    border-radius: 5px 5px 0 0; }
    .longSelect.active button.selectBtn {
      background-image: url(../images/svg/arrow/top_gray.svg);
      background-position: right 5px top 10px;
      background-repeat: no-repeat;
      background-size: 16px auto; }
    .longSelect.active ul {
      width: 100%;
      margin: 0;
      padding: 0 25px 25px 25px !important;
      background: #fff;
      position: absolute;
      display: block;
      text-align: left;
      border: 1px solid #7f7f7f;
      border-top: none;
      border-radius: 0 0 5px 5px;
      z-index: 100;
      top: -1px;
      left: -1px; }
      .longSelect.active ul li {
        width: 100%;
        padding: 12px;
        font-size: 1rem;
        line-height: 1.5rem;
        border-bottom: 1px solid #bebebe;
        display: block; }

a {
  color: #1042a4;
  text-decoration: none;
  outline: none;
  text-decoration: underline; }
  a.textBlack {
    color: #000; }
  a:focus, a:hover {
    text-decoration: none; }
  a.disabled {
    text-decoration: none;
    pointer-events: none;
    color: #7f7f7f; }
    a.disabled.textBlack {
      color: #7f7f7f; }

.linkDisable {
  color: #7f7f7f; }

@media screen and (min-width: 813px) {
  a[href^="tel:"] {
    pointer-events: none; } }

a.blockLink,
button.blockLink {
  padding: 12px 0;
  text-decoration: none;
  display: block; }
  a.blockLink:hover,
  button.blockLink:hover {
    background: #dff0fa; }

button:focus, button:hover {
  cursor: pointer;
  text-decoration: underline; }
  button:focus span, button:hover span {
    text-decoration: underline; }

button.textBlack {
  color: #000; }

button.textBlue {
  color: #1042a4; }

button.textBlack, button.textBlue {
  font-weight: 600;
  text-decoration: underline; }
  button.textBlack:hover, button.textBlue:hover {
    text-decoration: none; }
    button.textBlack:hover span, button.textBlue:hover span {
      text-decoration: none; }
  button.textBlack.disabled, button.textBlue.disabled {
    text-decoration: none !important;
    pointer-events: none !important;
    color: #7f7f7f !important; }
    button.textBlack.disabled span, button.textBlue.disabled span {
      text-decoration: none !important;
      pointer-events: none !important;
      color: #7f7f7f !important; }

button.iconBtn {
  width: 40px;
  min-height: 40px;
  box-sizing: border-box; }
  button.iconBtn span {
    width: 39px;
    min-height: 39px;
    text-indent: -9999px;
    display: inline-block; }
  button.iconBtn.withText {
    padding-top: 30px; }
    button.iconBtn.withText span {
      width: 40px;
      line-height: 1;
      text-align: center;
      font-size: 0.75rem;
      color: #000;
      display: inline-block;
      text-indent: 0; }
    button.iconBtn.withText:hover span {
      text-decoration: underline; }
  button.iconBtn.middle {
    width: 30px;
    min-height: 30px;
    padding-top: 24px; }
    button.iconBtn.middle span {
      width: 30px; }
  button.iconBtn.small {
    width: 26px;
    padding-top: 18px; }
    button.iconBtn.small span {
      width: 26px; }
  button.iconBtn.noText {
    padding-top: 0; }
    button.iconBtn.noText span {
      text-indent: -9999px; }
  button.iconBtn.del {
    background-image: url(../images/svg/icon/del.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: auto 28px; }
  button.iconBtn.copyPlus {
    background-image: url(../images/svg/icon/copy_plus.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: auto 30px; }
  button.iconBtn.add {
    background-image: url(../images/svg/icon/add.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 28px auto; }
  button.iconBtn.addPlus {
    background-image: url(../images/svg/icon/add_plus.svg);
    background-position: 1px center;
    background-repeat: no-repeat;
    background-size: 24px auto; }
  button.iconBtn.edit {
    background-image: url(../images/svg/icon/edit_pen.svg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 24px auto; }
  button.iconBtn.editDay {
    background-image: url(../images/svg/icon/calendar.svg);
    background-position: center 5px;
    background-repeat: no-repeat;
    background-size: auto 24px; }
  button.iconBtn.upload {
    background-image: url(../images/svg/icon/upload.svg);
    background-position: center 3px;
    background-repeat: no-repeat;
    background-size: 28px auto; }
  button.iconBtn.hamburger span {
    background-image: url(../images/svg/icon/hamburger.svg);
    background-position: 4px center;
    background-repeat: no-repeat;
    background-size: 26px auto; }
  button.iconBtn.hamburger.disabled span {
    background-image: url(../images/svg/icon/hamburger_gray.svg);
    background-position: 4px center;
    background-repeat: no-repeat;
    background-size: 26px auto; }
  button.iconBtn.del_x {
    width: 26px;
    height: 26px;
    min-height: auto;
    background-image: url(../images/svg/icon/closed.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 22px auto;
    text-indent: -9999px; }

button.circleType {
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: 50%;
  margin: 0; }
  button.circleType span {
    width: 39px;
    height: 39px;
    text-indent: -9999px;
    display: inline-block;
    border-radius: 50%; }
  button.circleType.label {
    border: 1px solid #0b2c47; }
    button.circleType.label.disabled {
      border: 1px solid #bebebe;
      pointer-events: none; }
  button.circleType.small {
    width: 30px;
    height: 30px; }
    button.circleType.small span {
      width: 30px;
      height: 30px; }
  button.circleType.dotte span {
    background-image: url(../images/svg/icon/dotte.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 24px auto; }
  button.circleType.dotte.disabled span {
    background-image: url(../images/svg/icon/dotte_gray.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 24px auto; }
  button.circleType.hamburger span {
    background-image: url(../images/svg/icon/hamburger.svg); }
  button.circleType.hamburger.disabled span {
    background-image: url(../images/svg/icon/hamburger_gray.svg); }
  button.circleType.hamburger span {
    background-position: 2px center;
    background-repeat: no-repeat;
    background-size: 22px auto; }

button.iconType span {
  display: inline-block !important; }

button.iconType.large span {
  width: auto;
  padding-left: 40px !important; }

button.iconType.middle span {
  padding-left: 30px !important; }

button.iconType.small span {
  padding-left: 26px !important; }

button.labelType {
  width: 100%;
  max-width: 110px;
  min-height: 40px;
  padding: 0 5px;
  vertical-align: bottom;
  text-align: center;
  box-sizing: border-box;
  display: inline-block;
  border-radius: 5px; }
  button.labelType span {
    margin: 0;
    padding: 0;
    display: inline-block; }
  button.labelType.long {
    width: 100%;
    max-width: 330px; }
  button.labelType.middle {
    width: 100%;
    max-width: 250px; }
  button.labelType.min {
    width: 100%;
    max-width: 40px; }
  button.labelType.auto {
    width: auto;
    padding: 0 12px !important; }
  button.labelType.w100 {
    width: 100%;
    max-width: 100%; }
  button.labelType.smallHeight {
    height: 30px;
    min-height: auto;
    line-height: 1;
    vertical-align: bottom; }
  button.labelType.main {
    background: #0b2c47;
    border: 1px solid #0b2c47;
    color: #fff; }
  button.labelType.sub {
    background: #fff;
    border: 1px solid #0b2c47;
    color: #0b2c47; }
  button.labelType.base {
    background: #e9e3e1;
    border: 1px solid #e9e3e1;
    color: #fff; }
  button.labelType.negative {
    background: #7f7f7f;
    border: 1px solid #7f7f7f;
    color: #fff; }
  button.labelType.disabled {
    background: #dcdcdc;
    border: 1px solid #bebebe;
    color: #7f7f7f;
    text-decoration: none;
    pointer-events: none; }
    button.labelType.disabled:hover {
      text-decoration: none; }
      button.labelType.disabled:hover span {
        text-decoration: none !important; }
  button.labelType.del {
    background: #000;
    color: #fff; }
  button.labelType.mail span {
    background-image: url(../images/svg/icon/mail.svg); }
  button.labelType.mail.white span {
    background-image: url(../images/svg/icon/mail_white.svg); }
  button.labelType.mail span {
    background-position: 2px center;
    background-repeat: no-repeat;
    background-size: 22px auto; }

h2#pageTitle {
  margin-left: 12px;
  display: flex;
  align-items: flex-end;
  align-items: baseline;
  gap: 0 12px;
  line-height: 1.2; }
  h2#pageTitle span.mainTitle {
    font-size: 1.5rem; }
  h2#pageTitle span.subitle {
    font-size: 1.125rem; }

.pointTitle {
  color: #e9e3e1 !important;
  font-weight: 500; }

.titleBig {
  font-size: 1.5rem !important;
  line-height: 1.25rem;
  letter-spacing: 0.3;
  font-family: "Noto Sans JP", sans-serif;
  color: #000; }

.titleBase {
  font-size: 1.25rem !important;
  line-height: 1.25rem;
  letter-spacing: 0.3;
  font-family: "Noto Sans JP", sans-serif;
  color: #000; }

.titleSmall {
  letter-spacing: 0.1;
  font-family: "Noto Sans JP", sans-serif;
  color: #000; }

.titleSmall,
.fontBig {
  font-size: 1.125rem !important;
  line-height: 1.25rem; }

.fontBase {
  font-size: 1rem !important; }

.fontSmall {
  font-size: 0.875rem !important; }

.fontMinimam {
  font-size: 0.75rem !important; }

@media screen and (max-width: 812px) {
  .titleBase {
    line-height: 1.5rem;
    letter-spacing: 0.2rem; } }
