.blue {
  color: #005bac;
}

.orange {
  color: #f3630c;
}

.marker {
  background-image: linear-gradient(transparent 60%, #f8ec6a 0%);
}

.marker_blue {
  background-image: linear-gradient(transparent 60%, #b9e5fd 0%);
}

.r {
  text-align: right;
}

.line {
  text-decoration: underline;
}

.indent {
  text-indent: -1em;
  padding-left: 1em;
}

.center {
  text-align: center;
}

.alert {
  border: 2px dashed #f3630c;
  padding: 15px 0 0;
  margin-top: 10px;
  border-radius: 5px;
  font-weight: bold;
}

.bg_A {
  background-color: #008cd6 !important;
}

.bg_B {
  background-color: #a17104 !important;
}

.bg_C {
  background-color: #1d6b60 !important;
}

.bg_D {
  background-color: #57356a !important;
}

.bg_E {
  background-color: #a05234 !important;
}

.bg_F {
  background-color: #9a3706 !important;
}

.bg_G {
  background-color: #c94d97 !important;
}

.price {
  font-size: 1.2em;
}
.price strong {
  font-size: 1.4em;
}
.price span {
  font-size: 0.8em;
}
.price .tax {
  font-size: 0.6em;
}

.loading {
  width: 150px;
  margin: 60px auto;
}

.flex {
  display: flex;
  justify-content: space-between;
}
.flex.start {
  justify-content: start;
  gap: 30px;
  align-items: center;
}
.flex.start li {
  width: 30%;
}

section {
  margin-bottom: 40px;
}

.table {
  display: table;
}
.table dl {
  display: table-row;
}
.table dl dt {
  padding: 0.4em 1em;
  display: table-cell;
  width: 20%;
}
.table dl dd {
  display: table-cell;
  width: 80%;
}
.table.type_boader {
  border-collapse: collapse;
}
.table.type_boader dt,
.table.type_boader dd {
  vertical-align: middle;
  padding: 10px;
  border: 1px solid #000;
}
.table.type_boader dt {
  background-color: #f1f1f1;
  text-align: center;
}
.table.boader {
  width: 100%;
}
.table.boader dl {
  width: 100%;
}
.table.boader dl dt,
.table.boader dl dd {
  vertical-align: middle;
  border-bottom: 1px solid #ccc;
  padding: 5px 0;
}
.table.boader dl dt {
  text-align: center;
  font-weight: 500;
}
.table.boader.padd dt,
.table.boader.padd dd {
  padding: 15px 0;
}

table.table th,
table.table td {
  border: 1px solid #ccc;
  box-sizing: border-box;
}

.table.type02 td,
.table.type02 th {
  border: 1px solid #000;
}

.table_list {
  display: table;
  width: 100%;
}
.table_list dl.hover {
  cursor: pointer;
}
.table_list dl.hover:hover {
  background-color: #f4fafd;
}
.table_list dl.head dt,
.table_list dl.head dd {
  background-color: #f1f1f1;
  text-align: center;
  font-weight: 500;
}
.table_list dl.complete {
  opacity: 0.4;
}
.table_list dl.new {
  background-color: rgb(243, 252, 225);
}
.table_list dl {
  display: table-row;
}
.table_list dl dt {
  display: table-cell;
}
.table_list dl dd {
  display: table-cell;
}
.table_list dl dt,
.table_list dl dd {
  border-bottom: 1px solid #999;
  padding: 10px 0;
}

.ttl {
  font-size: 1.4rem;
  margin-bottom: 10px;
}

.ttl2 {
  font-size: 1.2rem;
  margin-bottom: 10px;
}

.ttl3 {
  font-size: 1.1rem;
  margin-bottom: 10px;
}

.sub_ttl {
  display: inline-block;
  padding: 0 10px;
  margin-bottom: 20px;
  font-size: 1.3em;
  background-image: linear-gradient(transparent 60%, rgb(172, 231, 251) 0%);
}

.sub_ttl.y {
  background-image: linear-gradient(transparent 60%, rgb(252, 235, 160) 0%);
}

.page_ttl {
  position: relative;
}
.page_ttl h2 {
  font-size: 2em;
  line-height: 1.5;
  margin-bottom: 10px;
  font-weight: bold;
  color: #005bac;
  width: 80%;
}
.page_ttl p {
  font-size: 0.9em;
}
.page_ttl .back_btn {
  position: absolute;
  right: 0;
  top: 0;
}

.cont_ttl {
  font-size: 1.1em;
  font-weight: bold;
  color: #005bac;
}

.icon {
  position: relative;
  padding-left: 35px;
}
.icon::before {
  content: "";
  background-size: contain;
  width: 30px;
  height: 30px;
  left: 0;
  top: 4px;
  position: absolute;
}
.icon.first::before {
  background: url("/images/common/page_ttl_icon_001.jpg") no-repeat left center;
  background-size: contain;
}
.icon.guide::before {
  background: url("/images/common/page_ttl_icon_002.jpg") no-repeat left center;
  background-size: contain;
}
.icon.print::before {
  background: url("/images/common/page_ttl_icon_003.jpg") no-repeat left center;
  background-size: contain;
}
.icon.data::before {
  background: url("/images/common/page_ttl_icon_004.jpg") no-repeat left center;
  background-size: contain;
}
.icon.note_icon::before {
  width: 25px;
  top: -2px;
  background: url("/images/common/icon_note.png") no-repeat left center;
  background-size: contain;
}
.icon.note_blue_icon::before {
  width: 25px;
  top: -2px;
  background: url("/images/common/icon_note_blue.png") no-repeat left center;
  background-size: contain;
}
.icon.comment_icon::before {
  width: 25px;
  top: -2px;
  background: url("/images/common/icon_comment.png") no-repeat left center;
  background-size: contain;
}
.icon.icon_search::before {
  width: 25px;
  height: 25px;
  left: 20px;
  top: 8px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22currentColor%22%20class%3D%22w-6%20h-6%22%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M10.5%203.75a6.75%206.75%200%20100%2013.5%206.75%206.75%200%20000-13.5zM2.25%2010.5a8.25%208.25%200%201114.59%205.28l4.69%204.69a.75.75%200%2011-1.06%201.06l-4.69-4.69A8.25%208.25%200%20012.25%2010.5zm8.25-3.75a.75.75%200%2001.75.75v2.25h2.25a.75.75%200%20010%201.5h-2.25v2.25a.75.75%200%2001-1.5%200v-2.25H7.5a.75.75%200%20010-1.5h2.25V7.5a.75.75%200%2001.75-.75z%22%20clip-rule%3D%22evenodd%22%20%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
}

.arrow_icon {
  position: relative;
  padding-left: 15px;
}
.arrow_icon::before {
  content: "";
  background-size: contain;
  width: 10px;
  height: 10px;
  left: 0;
  top: 8px;
  position: absolute;
}
.arrow_icon.icon_r::before {
  background: url("/images/common/icon_allow_r.png") no-repeat left center;
  background-size: contain;
}

.bottom_allow {
  position: relative;
}
.bottom_allow::after {
  width: 0px;
  height: 0px;
  border: 10px solid;
  position: absolute;
  bottom: -20px;
  margin: 0 auto;
  left: 0;
  right: 0;
  content: "";
  border-color: #005bac transparent transparent transparent;
}

.btn a {
  display: block;
  background-color: #efefef;
  border-radius: 3px;
  padding: 10px 30px;
  max-width: 300px;
  text-align: center;
  margin: 0 auto;
  font-weight: 500;
  cursor: pointer;
}
.btn a:hover {
  opacity: 0.9;
}
.btn.type02 a {
  padding: 5px 0px;
}
.btn.b_line a {
  box-shadow: 0 3px 0 #aaa;
}
.btn.orange.b_line a {
  box-shadow: 0 3px 0 #8d3a06;
}
.btn.orange a {
  background-color: #f3630c;
  color: #fff;
}
.btn.blue.b_line a {
  box-shadow: 0 3px 0 #05325b;
}
.btn.blue a {
  background-color: #005bac;
  color: #fff;
}
.btn.green.b_line a {
  box-shadow: 0 3px 0 #043823;
}
.btn.green a {
  background-color: #0b7a32;
  color: #fff;
}
.btn.pink.b_line a {
  box-shadow: 0 3px 0 #7c1c51;
}
.btn.pink a {
  background-color: rgb(153, 65, 106);
  color: #fff;
}

button.type01 {
  display: block;
  background-color: #efefef;
  border-radius: 3px;
  padding: 10px 30px;
  max-width: 300px;
  min-width: 300px;
  text-align: center;
  margin: 0 auto;
  font-weight: 500;
  cursor: pointer;
}
button.type01:hover {
  opacity: 0.9;
}
button.type01.blue {
  background-color: #005bac;
  color: #fff;
  box-shadow: 0 3px 0 #05325b;
}
button.type01.orange {
  background-color: #f3630c;
  color: #fff;
  box-shadow: 0 3px 0 #8d3a06;
}

ul.pager {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  gap: 10px;
}
ul.pager li.active {
  pointer-events: none;
}
ul.pager li.active a {
  background-color: #005bac;
  color: #fff;
}
ul.pager li a {
  background-color: #f1f1f1;
  display: block;
  padding: 10px 15px;
  border-radius: 3px;
  line-height: 1.4;
}
ul.pager li a:hover {
  background-color: #005bac;
  color: #fff;
}

ul.btn_type {
  justify-content: space-around;
  gap: 10px;
}
ul.btn_type li {
  width: 20%;
  text-align: center;
}
ul.btn_type li a {
  cursor: pointer;
  border-radius: 3px;
  padding: 10px;
  background-color: #f1f1f1;
  display: block;
  color: #005bac;
}
ul.btn_type li a:hover {
  background-color: #005bac;
  color: #fff;
}
ul.btn_type li a.sales {
  background-color: rgb(255, 111, 0);
  color: #fff;
}
ul.btn_type li a.sales:hover {
  background-color: #005bac;
  color: #fff;
}

.progress_sec {
  text-align: center;
}
.progress_sec progress {
  margin: 0 auto;
  width: 200px;
  height: 20px;
  -webkit-appearance: none;
}
.progress_sec progress::-webkit-progress-bar {
  background-color: #f1f1f1;
  border-radius: 15px;
}
.progress_sec progress::-webkit-progress-value {
  background-color: #005bac;
  border-radius: 15px;
}
.progress_sec p {
  font-size: 11px;
}

.box_shadow {
  box-shadow: 0 0 2px #999;
  padding: 20px 20px 30px 20px;
}

.round_box {
  background-color: #f1f1f1;
  padding: 8px 15px;
  display: block;
  border-radius: 5px;
}
.round_box .arrow_icon::before {
  top: 5px;
  width: 7px;
}
.round_box:hover {
  background-color: #e2f2f6;
}

.state_modal,
.modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  z-index: 200;
  padding: 50px 50px;
  border-radius: 5px;
  width: 80%;
}
.state_modal .close_btn,
.modal .close_btn {
  border-radius: 9999px;
  box-shadow: 0 0 2px #444;
  width: 40px;
  line-height: 3;
  text-align: center;
  font-weight: bold;
  position: absolute;
  right: 20px;
  top: 0px;
  cursor: pointer;
}
.state_modal .loading,
.modal .loading {
  width: 150px;
}

.overlay,
#state_overlay,
#overlay,
#modal_overlay {
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: 110;
  top: 0;
  left: 0;
  background-color: rgba(6, 61, 110, 0.7);
}

body.active {
  position: fixed;
  width: 100vw;
  height: 100vh;
}

.note {
  padding: 10px;
  border: 2px solid #f3630c;
  border-radius: 3px;
}

.note_graly {
  padding: 10px;
  border: 2px solid #005bac;
  border-radius: 3px;
}

.sp {
  display: none;
}

.pc {
  display: block;
}

@media screen and (max-width: 780px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .ttl {
    font-size: 1.2rem;
  }
  .sub_ttl {
    display: inline-block;
    padding: 0 10px;
    margin-bottom: 20px;
    font-size: 1.2em;
    background-image: linear-gradient(transparent 60%, rgb(172, 231, 251) 0%);
  }
  .page_ttl h2 {
    font-size: 1.5em;
    width: 100%;
  }
  .page_ttl p {
    font-size: 0.8em;
  }
  .page_ttl .back_btn.btn {
    position: relative;
    text-align: right;
    margin-top: 20px;
  }
  .page_ttl .back_btn.btn a {
    display: inline;
    background: none;
    padding: 10px;
    font-weight: 400;
    text-decoration: underline;
  }
}