@charset "UTF-8";
/*====================================================================
  Foundation
====================================================================*/
/*--------------------------------------------------------------------
  Reset
--------------------------------------------------------------------*/
html, body, div, span, h1, h2, h3, h4, h5, h6, p, a, img, small, strong, b, dl, dt, dd, ol, ul, li, form, label, table, caption, tbody, tfoot, thead, tr, th, td, article, figure, figcaption, footer, header, nav, section {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;

  list-style: none;
  font-weight: normal;
  font-size: 100%;
  vertical-align: top;
  text-decoration: none;

  border: 0;
  border: none;

  -webkit-text-size-adjust: 100%;
}

article, figcaption, figure, footer, header, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

button, select, input {
  padding: 0;

  background: none;
  border: none;
  border-radius: 0;
  outline: none;

  -webkit-appearance: none;

  -moz-appearance: none;

  appearance: none;
}

sup {
  font-size: 75%;
  vertical-align: super;
}

select::-ms-expand {
  display: none;
}

/*--------------------------------------------------------------------
  Base
--------------------------------------------------------------------*/
html {
  font-size: 62.5%;
  font-family: -apple-system, Hiragino Kaku Gothic ProN, Meiryo, "メイリオ", sans-serif;
}

body {
  overflow-y: scroll;

  font-size: 1.4rem;
  line-height: 1.75;
  font-family: inherit;
  color: #333333;
  word-wrap: break-word;

  background-color: #ffffff;

  counter-reset: ranking;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*::before, *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.l-main a {
  color: #0066cc;

  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.l-main a:hover {
  opacity: .6;
}

.l-main a:hover {
  text-decoration: inherit;
}

button, select, input, label, textarea {
  display: block;

  font-family: inherit;

  outline: none;
  cursor: pointer;

  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

button:disabled, select:disabled, input:disabled, label:disabled, textarea:disabled {
  cursor: default;
}

input[type="checkbox"] {
  display: none;
}

textarea {
  resize: none;
}

th, td, a {
  word-break: break-all;
}

p {
  font-size: 1.4rem;
  line-height: 1.6;
}

p + p {
  margin-top: 20px;
}

p + .c-grid {
  margin-top: 50px;
}

p + .p-table_03 {
  margin-top: 30px;
}

@-ms-viewport {
  width: auto !important;

  initial-scale: 1 !important;
}

/*====================================================================
  Layout
====================================================================*/
/*--------------------------------------------------------------------
  Header
--------------------------------------------------------------------*/
.l-header {
  position: relative;
}

.l-header__top-wrapper {
  padding-bottom: 6px;
  border-bottom: 1px solid #ededed;
}

.l-header__top {
  position: relative;

  width: 980px;
  margin: 0 auto;
}

.l-header__top::after {
  content: "";

  display: block;
  clear: both;
}

.l-header__logo {
  display: block;
  float: left;
  width: 230px;
  margin-top: 1px;

  background-image: url("../img/function_separator.gif");
  background-repeat: no-repeat;
  background-position: left 136px bottom 3px;
  background-size: 1px 37px;
}

.l-header__logo::after {
  content: "";

  display: block;
  clear: both;
}

.l-header__logo img {
  display: block;
  float: left;
}

.l-header__logo-eng {
  width: 136px;
  height: 55px;
}

.l-header__logo-jp {
  width: 62px;
  height: 16px;
  margin: 29px 16px 0;
}

.l-header__global {
  position: relative;
  display: block;
  height: 10px;

  padding-left: 12px !important;

  font-size: 10px;
  font-weight: bold;
  line-height: 10px;

  color: #666666 !important;
  cursor: pointer !important;
}

.l-header__global::before {
  content: "";

  display: block;
  position: absolute;
  width: 10px;
  height: 10px;
  top: 0;
  left: 0;

  background-image: url("../img/icon_newwindow.png");
  background-repeat: no-repeat;
}

.l-header-menu {
  position: relative;
  right: 0;
  bottom: 0;
  z-index: 10;

  padding: 6px;
  min-height:24px;
  display: table-cell;
  content: '';
}

.l-header-menu__user {
  display: inline-block;

  vertical-align: middle;
  margin-left: 10px;

  font-weight: bold;
  text-align: right;
}

.l-header-menu input {
  display: none;
}

.l-header-menu__btn {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;

  width: 20px;
  height: 20px;

  background-image: url("../img/icon_arrow_down_red.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-position: center;
  background-size: 13px 13px;
  border: 2px solid #e54646;
  border-radius: 15px;
  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.l-header-menu__btn:hover {
  opacity: .6;
}

.l-header-menu__content {
  position: absolute;
  top: 27px;
  right: 8px;
  z-index: 1;

  background-color: #ffffff;
  border-radius: 10px;
  -webkit-box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
  opacity: 0;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;

  pointer-events: none;
  width: 144px;
}

.l-header-menu__content li a {
  display: block;
  padding: 8px 30px;

  text-align: center;
}

.l-header-menu__content li ~ li {
  border-top: 1px solid #ededed;
}

.l-header-menu__content a {
  color: inherit;
  text-decoration: none;
}

.l-header-menu input:checked ~ .l-header-menu__btn {
  background-image: url("../img/icon_arrow_up_red.svg");
  background-position: left 2px top 1px;
}

.l-header-menu input:checked ~ .l-header-menu__content {
  opacity: 1;

  pointer-events: all;
}

.l-header-menu-login {
  display: flex;
  flex-direction: row-reverse;
}
.l-header-menu-login > a {
  font-weight: bold;
  color: #666666 !important;
  cursor: pointer !important;
}
.l-header-menu-login > div {
  font-size: 90%;
  font-weight: bold;
  color: #9a967e!important;
  margin-right: 30px;
}

/* sub header
---------------------------------*/
.l-header__bottom {
  width: 980px;
  margin: 0 auto;

  background-color: #ffffff;
}

.l-header__bottom::after {
  content: "";

  display: block;
  clear: both;
}

.l-header__title {
  float: left;
  width: 562px;
  padding: 6px 0;
}

.l-header__title_top {
  width: 980px;
}

.l-header__close {
  position: absolute;
  right: 10px;
  bottom: 8px;

  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.l-header__close:hover {
  opacity: .6;
}

.l-header__tabs {
  display: table;
  margin-left: auto;
  white-space: nowrap;
}

.l-header__tab {
  display: table-cell;
  width: 146px;
  padding: 6px;

  font-size: 1.6rem;
  text-align: center;
  color: #ffffff !important;
  text-decoration: none;

  background-color: #a8a8a8;
}
.l-header__tab_top {
  width: 292px;
}

.l-header__tab.is-current {
  position: relative;

  background-color: #535353;
}

.l-header__tab.is-current::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: -5px;
  left: 0;
  z-index: 1;

  width: 14px;
  height: 14px;
  margin: auto;

  background-color: #535353;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.l-header__login {
  position: relative;

  float: left;
  width: 110px;
  margin: 4px;
  padding: 4px 5px 2px 36px;

  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1;
  text-align: left;
  color: #333333;

  background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#e6e6e6));

  background: linear-gradient(to bottom, #ffffff, #e6e6e6);
  border: 1px solid #999999;
  border-radius: 5px;
  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.l-header__login:hover {
  opacity: .6;
}

.l-header__login::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 7px;

  display: block;
  width: 20px;
  height: 20px;
  margin: auto;

  background-image: url("../img/icon_login.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 20px 20px;
}

/*--------------------------------------------------------------------
  Main
--------------------------------------------------------------------*/
.l-main__cnt {
  width: 980px;
  margin: 0 auto;
  padding: 20px;
}

.l-main__inner {
  width: 940px;
  padding: 30px 30px 40px;
  padding-bottom: 40px;

  background-color: #ffffff;
  border-radius: 10px;
  -webkit-box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
}

.l-main__inner > section {
  margin: 0 15px;
}

.l-main__inner > section + section {
  margin-top: 30px;
}

.p-mainHeading:not(.p-mainHeading--blue) + .l-main__cnt {
  padding-top: 0;
}

/*--------------------------------------------------------------------
  Footer
--------------------------------------------------------------------*/
.l-footer {
  width: 980px;
  margin: 0 auto;
  padding: 13px 0;
}

.l-footer small {
  font-weight: 300;
  font-size: .9rem;
  font-family: Roboto;
  color: #666666;
}

/*====================================================================
  Object
====================================================================*/
/*--------------------------------------------------------------------
  Components
--------------------------------------------------------------------*/
.c-rect-btn {
  min-width: 70px;
  padding: 9px 10px 10px;

  text-align: center;

  background-color: #ffffff;
  border-radius: 5px;
  -webkit-box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.c-rect-btn:hover {
  opacity: .6;
}

.c-rect-btn__content {
  font-weight: bold;
  font-size: 1.4rem;
}

.c-rect-btn:disabled {
  opacity: .3;

  -webkit-transition: none;

  transition: none;
}

.c-round-btn {
  padding: 6px 20px 7px;

  border: 1px solid #e54646;
  border-radius: 18px;
  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.c-round-btn:hover {
  opacity: .6;
}

.c-round-btn__content {
  position: relative;

  padding-left: 30px;

  font-size: 1.4rem;
  color: #e54646;
  white-space: nowrap;
}

.c-round-btn__content::before {
  content: "";
  position: absolute;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;

  display: block;
  width: 20px;
  height: 20px;
  margin: auto;

  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.c-square-btn {
  width: 40px;
  height: 40px;

  background-color: #a8a8a8;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 20px 20px;
  cursor: pointer;

  -webkit-transition: background-color .2s ease;

  transition: background-color .2s ease;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

.c-square-btn:hover {
  opacity: .6;
}

.c-square-btn.is-current {
  background-color: #e54646;
  opacity: 1;
}

.c-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;

  cursor: pointer;
}

.c-btn + .c-btn {
  margin-left: 5px;
}

.c-btn:hover {
  opacity: .8;
}

.c-btn--min {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 30px;
  padding: 5px 15px;

  font-size: 1.4rem;

  border-radius: 5px;
}

.c-btn--small {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 110px;
  padding: 6px 20px;

  background: red;
  border-radius: 5px;
}

.c-btn--large {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 110px;
  height: 60px;
  padding: 5px;

  background: red;
  border-radius: 5px;
}

.c-btn--overall {
  width: 100%;
}

.c-btn--solid {
  border-radius: 0;
}

.c-btn--blue {
  font-size: 1.4rem;
  color: white !important;

  background: #468cc8;
}

.c-btn--white {
  font-size: 1.4rem;

  background: white;
  border: 1px solid #d9d9d9;
}

.c-btn--print {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 25px;
  padding: 5px 10px;

  font-size: 1.2rem;
  color: #fc0d1b;
  white-space: nowrap;

  border: 1px solid #fc0d1b;
  border-radius: 1000px;
}

.c-btn--print::before {
  content: "";

  display: inline-block;
  width: 15px;
  height: 15px;
  margin-right: 5px;

  background-image: url(/assets/img/icon_printer.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.c-selectbox {
  width: 100%;

  font-size: 1.4rem;
  color: #333333;

  background-image: url("../img/icon_arrow_down_black.svg");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 20px 20px;
  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.c-selectbox:hover {
  opacity: .6;
}

.c-checkbox {
  position: relative;

  width: 20px;
  height: 20px;

  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.c-checkbox:hover {
  opacity: .6;
}

.c-checkbox__box {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  display: block;
  margin: auto;

  border: 2px solid #cccccc;
}

.c-checkbox > input[type="checkbox"]:checked + .c-checkbox__box {
  background-image: url("../img/icon_check_red.svg");
  background-size: cover;
  border-color: #e54646;
}

.c-checkbox-label {
  position: relative;
}

.c-checkbox-label__box {
  position: absolute;
  left: 0;

  display: block;
  margin: auto;
}

.c-checkbox-label__label {
  display: block;
}

.c-checkbox-label__label span:first-child {
  padding-right: 10px;
}

.c-search::after {
  content: "";

  display: block;
  clear: both;
}

.c-search__input {
  float: left;
  margin: 5px 10px 5px 0;

  background-color: #ffffff;
}

.c-search__textbox {
  float: left;
  padding: 9px 20px 10px;

  font-size: 1.4rem;
}

.c-search__btn {
  background-color: #e54646;
  background-image: url("../img/icon_search.svg");
}

.c-search__keywords {
  float: left;
  width: 370px;
  height: 50px;
  margin-left: 10px;
  overflow: hidden;

  color: #ffffff;
}

.c-search__keywords .c-search__keyword {
  display: inline-block;

  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.c-search__keywords .c-search__keyword:hover {
  opacity: .6;
}

.c-search__keywords-head {
  padding-top: 3px;

  font-size: 1.2rem;
}

.c-search__keyword {
  text-decoration: underline;

  cursor: pointer;
}

input.c-inputText_01 {
  width: 100%;
  height: 30px;
  padding: 5px;

  font-size: 1.4rem;

  background: white;
  border: 1px solid #cccccc;
  border-radius: 5px;
}

input.c-checkbox_01 {
  position: relative;

  display: inline-block;
  width: 15px;
  height: 15px;
  margin: 0 5px;

  background: white;
  border: 1px solid #cccccc;
}

input.c-checkbox_01:checked::before {
  content: "";
  position: absolute;
  top: 1px;
  left: 1px;

  display: block;
  width: 10px;
  height: 5px;

  border-bottom: 2px solid #535353;
  border-left: 2px solid #535353;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

input.c-radio_01 {
  position: relative;

  display: inline-block;
  width: 15px;
  height: 15px;
  margin: 0 5px;

  background: white;
  border: 1px solid #cccccc;
  border-radius: 15px;
}

input.c-radio_01:checked::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;

  display: block;
  width: 7px;
  height: 7px;

  background: #468cc8;
  border-radius: 100px;
}

input.c-input--solid {
  border-radius: 0;
}

textarea.c-textarea_01 {
  width: 100%;
  padding: 5px;

  font-size: 1.4rem;

  border: 1px solid #cccccc;
  border-radius: 5px;
}

.c-select_01 {
  display: block;
  width: 100%;
  height: 30px;
  padding: 0 5px;

  font-size: 1.4rem;

  background-color: white;
  background-image: url("../img/icon_arrow_down_black.svg");
  background-repeat: no-repeat;
  background-position: calc(100% - 5px);
  background-size: 20px 20px;
  border: 1px solid #cccccc;
  border-radius: 5px;

  -webkit-appearance: none;

  -moz-appearance: none;

  appearance: none;
}

.c-select_01::-ms-expand {
  display: none;
}

.c-label {
  font-size: 1.4rem;
  white-space: nowrap;
}

.c-label > i {
  margin-left: 5px;

  font-size: 2rem;
  line-height: 0;
}

.c-label--v {
  display: block;
  margin-bottom: 5px;
}

.c-label--v br + input {
  margin-top: 10px;
}

.c-label--v.c-label--required::after {
  content: "*";

  color: #fc0d1b;
}

.c-label--h {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 30px;
  margin-right: 15px;
}

.c-label--h:last-child {
  margin-right: 0;
}

.c-label--h > .c-select_01 {
  margin: 0 10px;
  padding: 0 40px 0 5px;
}

.c-label--h.c-label--required::after {
  content: "*";

  color: #fc0d1b;
}

.c-confirm {
  padding: 0 10px 0 30px;

  font-size: 1.4rem;
  line-height: 1.4;
}

.c-confirm + .c-label {
  margin-top: 20px;
}

.c-infoPanel {
  position: relative;
}

.c-infoPanel i {
  margin-left: 5px;

  font-size: 2rem;
  line-height: 0;
}

.c-infoPanel i.icon_two-users {
  display: inline-block;
  width: 24px;
  height: 20px;

  vertical-align: top;

  background-image: url("../img/icon_users.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px;
}

.c-infoPanel i.fa-info-circle {
  position: relative;
  top: .3rem;

  font-size: 2.3rem;
  line-height: 0;
  color: #468cc8;
}
.c-infoPanel i.fa-question-circle {
  position: relative;
  top: .3rem;

  font-size: 2.3rem;
  line-height: 0;
  color: #468cc8;
}
.c-infoPanel:hover > .c-infoPanel__desc {
  display: block;
}

.c-infoPanel__desc {
  position: absolute;
  z-index: 2;

  display: none;
  padding: 10px;

  font-size: 1.2rem;
  line-height: 1.2;
  white-space: nowrap;

  background: white;
  border: 1px solid #cccccc;
}

.c-infoPanel__desc.show {
  display: block;
}

.c-status .c-status__txt {
  display: none;
}

.c-status.c-status--error {
  color: #fc0d1b;
}

.c-status.c-status--error .c-status__txt {
  display: block;
  width: 100%;
  margin-top: 2px;
  overflow: visible;

  font-size: 1.2rem;
}

.c-status.c-status--error .c-status__txt:first-child {
  margin-bottom: 10px;
}

.c-status.c-status--error input[type=text], .c-status.c-status--error input[type=checkbox], .c-status.c-status--error input[type=search], .c-status.c-status--error input[type=password], .c-status.c-status--error input[type=email], .c-status.c-status--error textarea {
  color: #fc0d1b;

  border-color: #fc0d1b;
}

.c-status.c-status--error i.icon_two-users {
  background-image: url("../img/icon_users_error.svg");
}

.c-status.c-status--error .c-infoPanel__desc {
  color: #333333;
}

.c-status img {
  max-width: 180px;
  max-height: 75px;
  margin-bottom: 10px;
}

.c-status--msg {
  position: relative;

  margin-bottom: 30px;
  padding: 13px 15px;

  background: #f2dede;
  border-radius: 5px;
  -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, .05) inset;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .05) inset;
}

.c-status--msg__txt {
  font-weight: bold;
  font-size: 1.4rem;
  color: #b74b4b;
}

.c-status--msg__close {
  position: absolute;
  top: 5px;
  right: 5px;
  bottom: 5px;

  width: 30px;
  height: 30px;
  margin: auto;

  cursor: pointer;
}

.c-status--msg__close:hover {
  opacity: .7;
}

.c-status--msg__close::before, .c-status--msg__close::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  width: 15px;
  height: 2px;
  margin: auto;

  background: #535353;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.c-status--msg__close::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.c-formGroup {
  padding: 0 5px;

  background: whiteSmoke;
  border: 5px solid #cccccc;
}

.c-postfix {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 34px;

  font-size: 1.4rem;
}

.c-result-number__number {
  padding-right: 5px;

  font-weight: 700;
  font-size: 2.4rem;
  font-family: Roboto;
  vertical-align: baseline;
  color: #e54646;
}

.c-tag {
  display: inline-block;
  margin-bottom: 5px;
  padding: 6px 10px;

  color: #ffffff;

  background-color: #e54646;
}

.c-icon-blank {
  display: inline-block;
}

.c-icon-blank[target="_blank"] {
  position: relative;

  padding-left: 30px;
}

.c-icon-blank[target="_blank"]::before {
  content: "";
  position: absolute;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;

  display: block;
  width: 20px;
  height: 20px;
  margin: auto;

  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.c-icon-blank[target="_blank"]::before {
  background-image: url("../img/icon_blank.svg");
}

.c-icon-blank[target="_blank"]::before {
  top: 2px;
  bottom: auto;
}

.c-service {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  border-top: 1px solid #ededed;
}

.c-service__desc {
  width: 550px;
}

.c-service__desc section {
  padding: 26px 10px;
}

.c-service__desc section ~ section {
  border-top: 1px solid #ededed;
}

.c-service__desc h3 {
  margin-top: 20px;

  font-weight: bold;
}

.c-service__images {
  margin-left: 10px;
}

.c-service__images section {
  padding: 0 10px 26px;
}

.c-service__images section:first-of-type {
  padding-top: 26px;
}

.c-service section {
  word-break: break-all;
}

.c-service section .c-label {
  font-size: 1.2rem;
}

.c-service__category-name {
  margin-bottom: 8px;

  font-weight: bold;
  font-size: 1.8rem;
}

.c-service__list {
  margin-top: 10px;
}

.c-service__category-name + .c-service__list {
  margin-top: 0;
}

.c-service__list-body {
  position: relative;

  padding-left: 15px;
}

.c-service__list-body::before {
  content: ":";
  position: absolute;
  left: 0;
}

.c-service__image {
  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.c-service__image:hover {
  opacity: .6;
}

.c-service__image-frame {
  width: 300px;
  padding: 20px;

  border: 1px solid #cccccc;
}

.c-service__image-frame img {
  max-width: 260px;
}

.c-service__image-zoom {
  height: 36px;
  margin: 10px auto 0;
}

.c-service__image ~ .c-service__image {
  margin-top: 20px;
}

.c-heading--lv2 {
  font-size: 2rem;
  line-height: 1.2;
}

.c-heading--lv2 + * {
  margin-top: 20px;
}

.c-link {
  color: #468cc8 !important;
  text-decoration: underline;
}

.c-link:hover {
  text-decoration: underline;
}

.c-link[target="_blank"] {
  position: relative;

  padding-left: 20px;
}

.c-link[target="_blank"]::before {
  content: "";
  position: absolute;
  top: .1rem;
  left: 0;

  display: inline-block;
  width: 13px;
  height: 13px;

  background-image: url(/assets/img/icon_blank.svg);
}

.c-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.c-grid--range .c-col--2__1 {
  width: calc(50% - 25px);
}

.c-grid--range .c-col--2__1:nth-child(odd) {
  position: relative;
}

.c-grid--range .c-col--2__1:nth-child(odd)::after {
  content: "〜";
  position: absolute;
  top: 26px;
  bottom: 0;
  left: calc(100% + 10px);

  display: -webkit-inline-box;

  display: -ms-inline-flexbox;

  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 30px;
  height: 30px;

  font-size: 20px;
}

.c-grid--jcc {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c-grid--border {
  padding: 15px;

  border: 5px solid #cccccc;
}

.c-grid.o-narrow .c-col.c-col--3__1 {
  width: calc(33.3333% - 1px);
}

.c-grid.o-narrow .c-col.c-col--3__2 {
  width: calc(66.6666% - 1px);
}

.c-col {
  margin-bottom: 20px;
}

.c-col.c-grid {
  margin-bottom: 0;
}

.c-col--border {
  border: 1px solid #d9d9d9;
}

.c-col--silver {
  background: whiteSmoke;
}

.c-col--1 {
  width: 100%;
}

.c-col--2__1 {
  width: calc(50% - 10px);
}

.c-col--3__1 {
  width: calc(33.3333% - 10px);
}

.c-col--3__2 {
  width: calc(66.6666% - 10px);
}

.c-col--4__1 {
  width: calc(25% - 10px);
}

.c-col--4__3 {
  width: calc(75% - 10px);
}

.c-col--5__1 {
  width: calc(20% - 10px);
}

.c-col--5__2 {
  width: calc(40% - 10px);
}

.c-col--5__3 {
  width: calc(60% - 10px);
}

.c-col--5__4 {
  width: calc(80% - 10px);
}

.c-grid--split > .c-col--5__1 {
  width: calc(20% - 30px);
}

.c-grid--split > .c-col--5__2 {
  width: calc(40% - 30px);
}

.c-grid--split > .c-col--5__3 {
  width: calc(60% - 30px);
}

.c-grid--split > .c-col--5__4 {
  width: calc(80% - 30px);
}

.c-grid__caption {
  width: 100%;
  margin-bottom: 15px;

  font-weight: bold;
  font-size: 16px;
}

.c-col__txt {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 30px;

  font-size: 1.4rem;
  white-space: nowrap;
}

.c-neighbor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.c-neighbor.c-neighbor-left-justified {
  justify-content: flex-start;
}
.c-neighbor.c-neighbor-left-justified * + * {
  margin-left: 10px;
}
.c-neighbor.c-neighbor-vertical-center {
	align-items: center;
}
.c-neighbor .c-inputText_01, .c-neighbor .c-textarea_01, .c-neighbor input[type="file"],  .c-neighbor .c-neighbor-lm4b {
  width: calc(100% - 85px);
}

.c-neighbor .c-btn.c-btn--min {
  width: 80px;
}

.c-neighbor .c-neighbor--3__1 {
  width: 33% !important;
}

.c-neighbor + .c-neighbor {
  margin-top: 20px;
}

.p-table_01 {
  font-size: 1.2rem;
}

.p-table_01 th, .p-table_01 td {
  line-height: 1.6;
}

.p-table_02 {
  width: 100%;

  border-top: #535353 1px solid;
}

.p-table_02.is_table-layout-fixed {
  table-layout: fixed;
}

.p-table_02 caption {
  padding-bottom: 20px;

  font-weight: bold;
  font-size: 14px;
  line-height: 1.4;
  text-align: left;
}

.p-table_02 tr {
  border-bottom: #535353 1px solid;
}

.p-table_02 th, .p-table_02 td {
  padding: 5px 0;

  line-height: 1.6;
  text-align: left;
}

.p-table_02 th a, .p-table_02 td a {
  color: #333333;
}

.p-table_02 th a:hover, .p-table_02 td a:hover {
  text-decoration: underline;
}

.p-table_02 th a[target="_blank"], .p-table_02 td a[target="_blank"] {
  padding-left: 15px;

  background-image: url(/assets/img/icon_external_link.svg);
  background-repeat: no-repeat;
  background-size: 10px;
}

.p-table_03 {
  width: 100%;
}

.p-table_03.is_table-layout-fixed {
  table-layout: fixed;
}

.p-table_03 caption {
  padding-bottom: 20px;

  font-weight: bold;
  font-size: 14px;
  line-height: 1.4;
  text-align: left;
}

.p-table_03 thead th, .p-table_03 thead td {
  font-weight: bold;
}

.p-table_03 tr {
  border-bottom: #cccccc 1px solid;
}

.p-table_03 th, .p-table_03 td {
  padding: 10px 5px;

  font-size: 1.4rem;
  line-height: 1.6;
  text-align: left;
}

.p-table_03 th a, .p-table_03 td a {
  color: #333333;
}

.p-table_03 th a:hover, .p-table_03 td a:hover {
  text-decoration: underline;
}

.p-table_03 th a[target="_blank"], .p-table_03 td a[target="_blank"] {
  padding-left: 15px;

  background-image: url(/assets/img/icon_external_link.svg);
  background-repeat: no-repeat;
  background-size: 10px;
}

.p-table_04 {
  width: 100%;

  border: 1px solid #cccccc;
}

.p-table_04 + p {
  margin-top: 30px;
}

.p-table_04 thead th, .p-table_04 thead td {
  font-weight: bold;
  text-align: left;
}

.p-table_04 th, .p-table_04 td {
  padding: 10px;

  font-size: 1.4rem;

  border: 1px solid #cccccc;
}

.c-annotation {
  font-size: 1.2rem;
}

/*--------------------------------------------------------------------
  Projects
--------------------------------------------------------------------*/
.p-pdf-rect-btn .c-rect-btn__content::before {
  background-image: url("../img/icon_pdf.svg");
}

.p-compare-btn .c-rect-btn__content::before {
  background-image: url("../img/icon_compare.svg");
}

.p-check-btn .c-rect-btn__content::before {
  background-image: url("../img/icon_checkall.svg");
}

.p-uncheck-btn .c-rect-btn__content::before {
  background-image: url("../img/icon_uncheck.svg");
}

.p-pdf-round-btn {
  width: 140px;
}

.p-pdf-round-btn .c-round-btn__content::before {
  background-image: url("../img/icon_pdf.svg");
}

.p-zoom-btn {
  width: 100px;
}

.p-zoom-btn .c-round-btn__content::before {
  background-image: url("../img/icon_zoom.svg");
}

/*--------------------------------------------------------------------
  ログイン画面
--------------------------------------------------------------------*/
.p-loginid-label {
  position: relative;
  left: -80px;
}

/*--------------------------------------------------------------------
  検索画面
--------------------------------------------------------------------*/
.p-search-close-area_parent {
  position:relative;
}

.p-search-close-area {
  position:absolute;
  z-index:0;
  width:200%;
  left:-50%;
  height:calc(100% + 180px) ;
  top:-60px;
    opacity: 0.5;
}

.p-search-close-outside  > * {
  position:relative;
  }

.p-search-header__search-wrapper {
  background-color: #535353;
}

.p-search-header__search {
  width: 980px;
  margin: 0 auto;
}

.p-search-header__input {
  width: 552px;
  margin-left: 10px;
}

.p-search-header__textbox {
  width: 512px;
}

.p-search-header__keywords {
  width: 398px;
}

.p-search-header__tabs-wrapper {
  padding-top: 10px;

  background: -webkit-gradient(linear, left top, left bottom, from(#666666), color-stop(20%, #808080), to(#b3b3b3));

  background: linear-gradient(to bottom, #666666 0%, #808080 20%, #b3b3b3 100%);
}

.p-search-header__tabs {
  width: 980px;
  margin: 0 auto;
  padding: 0 10px;
}

.p-search-header__tabs::after {
  content: "";

  display: block;
  clear: both;
}

.p-search-header__tab {
  display: block;
  float: left;
  width: 480px;
  padding: 6px 0;

  text-align: center;
  text-decoration: none;

  background-color: #a8a8a8;

  -webkit-transition: background-color .2s;

  transition: background-color .2s;
}

.p-search-header__tab:hover {
  background-color: #bebebe;
  cursor: pointer;
  opacity: 1;
}

.p-search-header__tab span {
  position: relative;

  padding-left: 30px;

  font-weight: bold;
  font-size: 1.6rem;
  color: #ffffff;
}

.p-search-header__tab span::before {
  content: "";
  position: absolute;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;

  display: block;
  width: 20px;
  height: 20px;
  margin: auto;

  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.p-search-header__tab:first-child span::before {
  background-image: url("../img/icon_partners.svg");
}

.p-search-header__tab:last-child span::before {
  background-image: url("../img/icon_solutions.svg");
}

.p-search-header__tab.is-current {
  position: relative;

  background-color: #e54646;
}

.p-search-header__tab.is-current::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: -5px;
  left: 0;
  z-index: 1;

  width: 14px;
  height: 14px;
  margin: auto;

  background-color: #e54646;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.p-search-body {
  width: 980px;
  margin: 0 auto;
  padding: 20px 10px 10px;
}

.p-search-body::after {
  content: "";

  display: block;
  clear: both;
}

.p-search-body__filter {
  position: relative;
   float: left;
  width: 260px;
}

.p-search-body__result {
  margin-left: 280px;
}

.p-search-result__menu {
  position: relative;
}

.p-search-filter {
  overflow: hidden;

  color: #000000;

  background-color: #ffffff;
  border-radius: 10px;
  -webkit-box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
}

.p-search-filter__category-input {
  display: none;
}

.p-search-filter__category {
  -webkit-transition: background-color .4s ease;
  transition: background-color .4s ease;
}

.p-search-filter__category-label {
  position: relative;

  padding: 8px 40px 7px 20px;
  padding-left: 30px;

  font-weight: bold;
  font-size: 1.4rem;

  border-bottom: 1px solid rgba(0, 0, 0, .1);
  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.p-search-filter__category-label::before {
  content: "";
  position: absolute;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;

  display: block;
  width: 20px;
  height: 20px;
  margin: auto;

  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.p-search-filter__category-label::before {
  background-image: url("../img/icon_arrow_down_black.svg");
}

.p-search-filter__category-label:hover {
  opacity: .6;
}

.p-search-filter__category-label::before {
  right: 12px;
  left: auto;
}

.p-search-filter__items {
  padding: 0 20px;

  opacity: 0;

  -webkit-transition: padding .4s ease, opacity .1s ease-out;

  transition: padding .4s ease, opacity .1s ease-out;
}

.p-search-filter__item {
  margin-bottom: 0;

  line-height: 0;

  opacity: 0;

  -webkit-transition: line-height .4s ease, margin-bottom .4s ease, opacity .1s ease-out;

  transition: line-height .4s ease, margin-bottom .4s ease, opacity .1s ease-out;
}

.p-search-filter__item--prices {
  height: 0;
}

.p-search-filter__item--prices input {
  display: inline-block;
  width: 78px;
  height: 0;
  padding: 0 5px;

  background-color: #ffffff;
}

.p-search-filter__item-label {
  height: 0;

  opacity: 0;

  -webkit-transition: opacity .4s ease-out;

  transition: opacity .4s ease-out;
}

.p-search-filter__item-checkbox {
  width: 24px;
  height: 24px;

  border: 2px solid #ffffff;
  opacity: .3;
}

.p-search-filter__item-name {
  padding-left: 40px;
}

.p-search-filter__item-name span {
  pointer-events: none;
}

.p-search-filter__category-input:checked + .p-search-filter__category {
  color: #ffffff;

  background-color: #535353;
}

.p-search-filter__category-input:checked + .p-search-filter__category .p-search-filter__category-label::before {
  background-image: url("../img/icon_arrow_up_white.svg");
}

.p-search-filter__category-input:checked + .p-search-filter__category .p-search-filter__category-label::before {
  right: 12px;
  left: auto;
}

.p-search-filter__category-input:checked + .p-search-filter__category .p-search-filter__items {
  padding: 20px;

  opacity: 1;
}

.p-search-filter__category-input:checked + .p-search-filter__category .p-search-filter__item {
  margin-bottom: 10px;

  line-height: inherit;

  cursor: pointer;
  opacity: 1;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.p-search-filter__category-input:checked + .p-search-filter__category .p-search-filter__item:hover {
  opacity: .6;
}

.p-search-filter__category-input:checked + .p-search-filter__category .p-search-filter__item--prices {
  height: auto;
}

.p-search-filter__category-input:checked + .p-search-filter__category .p-search-filter__item--prices:hover {
  opacity: 1;
}

.p-search-filter__category-input:checked + .p-search-filter__category .p-search-filter__item--prices input {
  height: 24px;
  padding: 1px 5px;
}

.p-search-filter__category-input:checked + .p-search-filter__category .p-search-filter__item-label {
  height: auto;

  opacity: 1;
}

.p-search-filter__category-input:checked + .p-search-filter__category .p-search-filter__item-name span {
  pointer-events: all;
}

.p-search-filter__item-input:checked ~ .p-search-filter__item-checkbox {
  opacity: 1;
}

.p-search-filter__item-input:checked ~ .p-search-filter__item-checkbox::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  margin: auto;

  background-image: url("../img/icon_check_white.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.p-search-filter__advanced-search-btn {
  position: relative;

  width: 260px;
  margin-top: 10px;
  padding: 8px 20px;
  padding-left: 30px;

  font-weight: bold;
  text-align: center;
  color: #ffffff;

  background-color: #808080;
  border-radius: 20px;
  -webkit-box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
  cursor: pointer;
  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.p-search-filter__advanced-search-btn::before {
  content: "";
  position: absolute;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;

  display: block;
  width: 20px;
  height: 20px;
  margin: auto;

  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.p-search-filter__advanced-search-btn::before {
  background-image: url("../img/icon_plus.svg");
}

.p-search-filter__advanced-search-btn:hover {
  opacity: .6;
}

.p-search-filter__advanced-search-btn::before {
  right: 10px;
  left: auto;
}

.p-search-filter__search-btn {
  position: relative;

  margin-top: 10px;
  padding-left: 28px;
  padding-left: 0;
  overflow: hidden;

  font-weight: bold;
  text-align: center;

  cursor: pointer;
  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.p-search-filter__search-btn::before {
  content: "";
  position: absolute;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;

  display: block;
  width: 18px;
  height: 18px;
  margin: auto;

  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.p-search-filter__search-btn::before {
  background-image: url("../img/icon_search.svg");
}

.p-search-filter__search-btn:hover {
  opacity: .6;
}

.p-search-filter__search-btn::before {
  right: 12px;
  left: auto;
}

.p-search-filter__search-btn input {
  width: 260px;
  padding: 8px 20px;

  font-weight: bold;
  font-size: 1.4rem;
  color: #ffffff;

  background-color: #e54646;
  border-radius: 20px;
  -webkit-box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
}

.p-search-filter__back-to-top-btn {
  position: relative;
  display: block;

  width: 260px;
  margin-top: 10px;
  padding: 8px 0;

  font-weight: bold;
  text-align: center;
  color: #ffffff !important;

  background-color: #808080;
  border-radius: 20px;
  -webkit-box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
  cursor: pointer;
  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.p-search-filter__back-to-top-btn:hover {
  opacity: .6;
}

.p-search_01 {
  margin-right: auto;
  margin-left: auto;
  padding: 10px;

  background: whiteSmoke;
  border: 1px solid #cccccc;
  border-radius: 5px;
}

.p-search_01__fieldset {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-search_01__fieldset + p {
  margin-top: 5px;
}

.p-search_01 .c-inputText_01 {
  margin-right: 10px;
}

.p-search-result__menu {
  height: 50px;
}

.p-search-result__menu::after {
  content: "";

  display: block;
  clear: both;
}

.p-search-result__total {
  float: left;
}

.p-search-result__tools {
  float: right;
}

.p-search-result__tools::after {
  content: "";

  display: block;
  clear: both;
}

.p-search-result__actions {
  float: left;
  margin-right: 6px;
}

.p-search-result__actions::after {
  content: "";

  display: block;
  clear: both;
}

.p-search-result__actions button {
  float: left;
  margin-right: 4px;
}

.p-search-result__sorts {
  float: left;
  width: 198px;
}

.p-search-result__sorts::after {
  content: "";

  display: block;
  clear: both;
}

.p-search-result__sorts select {
  float: left;
  margin-right: 4px;
}

.p-search-result__sort-order {
  width: 100px;
  padding: 8px 30px 9px 10px;

  background-color: #ffffff;
  border: 1px solid #cccccc;
}

.p-search-result__sort-amount {
  width: 90px;
  padding: 8px 30px 9px 10px;

  background-color: #ffffff;
  border: 1px solid #cccccc;
}

.p-search-result__display {
  float: left;
  width: 80px;
}

.p-search-result__display::after {
  content: "";

  display: block;
  clear: both;
}

.p-search-result__display button {
  float: left;
}

.p-search-result__list-btn {
  background-image: url("../img/icon_list.svg");
}

.p-search-result__tile-btn {
  background-image: url("../img/icon_tile.svg");
}

.p-search-result__message {
  margin-bottom: 10px;

  font-size: 12px;
  text-align: center;
}

.p-search-result__message .error {
  display: none;

  color: #e54646;
}

.p-search-result__message.is-error .normal {
  display: none;
}

.p-search-result__message.is-error .error {
  display: block;
}

.p-search-result__item {
  position: relative;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  background-color: #ffffff;
  border: 2px solid #ffffff;
  border-radius: 10px;
  -webkit-box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);

  -webkit-transition: border-color .2s ease;

  transition: border-color .2s ease;
}

.p-search-result__item.is-current {
  border: 2px solid #e54646;
}

.p-search-result__thumbnail {
  position: relative;

  width: 80px;
  height: 80px;
}

.p-search-result__thumbnail img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  max-width: 80px;
  max-height: 80px;
  margin: auto;
}

.p-search-result__name {
  color: inherit;
  text-decoration: none;
}

.p-search-result__main.is-list {
  padding-right: 2px;
}

.p-search-result__main.is-list .p-search-result__item {
  height: 100px;
}

.p-search-result__main.is-list .p-search-result__item::after {
  content: "";

  display: block;
  clear: both;
}

.p-search-result__main.is-list .p-search-result__item ~ .p-search-result__item {
  margin-top: 7px;
}

.p-search-result__main.is-list .p-search-result__checkbox {
  float: left;
  margin: 38px 20px;
}

.p-search-result__main.is-list .p-search-result__thumbnail {
  float: left;
  margin: 8px 0;
}

.p-search-result__main.is-list .p-search-result__details {
  position: relative;

  margin: 15px 0 15px 160px;
  padding-right: 40px;
}

.p-search-result__main.is-list .p-search-result__name {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;

  font-weight: bold;
  vertical-align: top;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.p-search-result__main.is-list .p-search-result__name::after {
  content: "";
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;

  width: 20px;
  height: 20px;
  margin: auto;

  background-image: url("../img/icon_arrow_right_black.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.p-search-result__main.is-list .p-search-result__desc {
  height: 46px;
  overflow: hidden;
}

.p-search-result__main.is-list .p-search-result__desc span {
  display: -webkit-box;

  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.p-search-result__main.is-tile::after {
  content: "";

  display: block;
  clear: both;
}

.p-search-result__main.is-tile .p-search-result__item {
  float: left;
  width: 130px;
  height: 130px;
  margin: 0 7px 7px 0;
}

.p-search-result__main.is-tile .p-search-result__item:nth-of-type(5n) {
  margin-right: 0;
}

.p-search-result__main.is-tile .p-search-result__checkbox {
  position: absolute;
  right: 3px;
  bottom: 3px;
}

.p-search-result__main.is-tile .p-search-result__thumbnail {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  bottom: 20px;
  left: 0;

  margin: auto;
}

.p-search-result__main.is-tile .p-search-result__name {
  position: absolute;
  bottom: 5px;
  left: 8px;

  width: 90px;
  overflow: hidden;

  font-size: 1rem;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.p-search-result__main.is-tile .p-search-result__desc {
  display: none;
}

.p-search-pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 20px;
}

.p-search-pager__item {
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 1px;

  font-weight: 700;
  line-height: 40px;
  font-family: Roboto;
  text-align: center;
  color: #ffffff;
  text-decoration: none;

  background-color: #a8a8a8;
}

.p-search-pager__item-prev {
  background-image: url("../img/icon_arrow_left_white.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
}

.p-search-pager__item-next {
  background-image: url("../img/icon_arrow_right_white.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
}

.p-search-pager__item.is-current {
  background-color: #e54646;
}

.p-search-pager__skip {
  width: 32px;
  height: 40px;

  line-height: 40px;
  text-align: center;
}

.p-search-advanced {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;

  margin: auto;

  background-color: rgba(0, 0, 0, .8);
  opacity: 0;

  pointer-events: none;
}

.p-search-advanced__content {
  position: fixed;
  top: 0;
  right: 20px;
  bottom: 0;
  left: 20px;
  z-index: 100;

  width: 940px;
  height: 80%;
  margin: auto;

  background-color: #ffffff;
  opacity: 0;
}

.p-search-advanced__head {
  position: relative;

  height: 50px;

  font-weight: bold;
  font-size: 1.6rem;
  line-height: 50px;
  text-align: center;
  color: #ffffff;

  background-color: #a8a8a8;
}

.p-search-advanced__close {
  position: absolute;
  top: 0;
  right: 0;

  width: 50px;
  height: 50px;

  background-image: url("../img/icon_close_thin.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px;
  cursor: pointer;
  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.p-search-advanced__close:hover {
  opacity: .6;
}

.p-search-advanced__body {
  height: calc(100% - 110px);
  margin-left: 20px;
  padding-bottom: 20px;
  overflow-y: scroll;
}

.p-search-advanced__category-label {
  float: left;
  width: 148px;

  font-weight: bold;
}

.p-search-advanced__items {
  float: left;
  width: 752px;
}

.p-search-advanced__items::after {
  content: "";

  display: block;
  clear: both;
}

.p-search-advanced__items--prices li {
  margin-left: 20px;
}

.p-search-advanced__items--prices li input {
  display: inline-block;
  width: 80px;
  height: 30px;
  padding: 0 5px;

  border: 2px solid #cccccc;
  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.p-search-advanced__items--prices li input:hover {
  opacity: .6;
}

.p-search-advanced__item {
  float: left;
  width: 224px;
  margin-left: 20px;
}

.p-search-advanced__item-input:checked + .c-checkbox-label__box {
  background-image: url("../img/icon_check_red.svg");
  background-size: cover;
  border-color: #e54646;
}

.p-search-advanced__item-checkbox {
  top: 2px;

  width: 20px;
  height: 20px;

  border: 2px solid #cccccc;
  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.p-search-advanced__item-checkbox:hover {
  opacity: .6;
}

.p-search-advanced__item-name {
  padding-left: 30px;

  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.p-search-advanced__item-name:hover {
  opacity: .6;
}

.p-search-advanced__category {
  padding: 10px 0;
}

.p-search-advanced__category::after {
  content: "";

  display: block;
  clear: both;
}

.p-search-advanced__category ~ .p-search-advanced__category {
  border-top: 1px solid #ededed;
}

.p-search-advanced__footer {
  position: absolute;
  bottom: 0;

  width: 100%;

  background-color: #ffffff;
  -webkit-box-shadow: 0 -20px 40px 0 rgba(0, 0, 0, .2);
  box-shadow: 0 -20px 40px 0 rgba(0, 0, 0, .2);
}

.p-search-advanced__total {
  position: absolute;
  left: 15px;

  padding: 9px 0;
}

.p-search-advanced__btns {
  width: 404px;
  margin: 0 auto;
}

.p-search-advanced__btns::after {
  content: "";

  display: block;
  clear: both;
}

.p-search-advanced__btn {
  float: left;
  width: 200px;
  margin: 5px 1px;
  padding: 15px 15px 14px;

  font-weight: bold;
  font-size: inherit;
  text-align: center;
  color: #ffffff;

  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.p-search-advanced__btn:hover {
  opacity: .6;
}

.p-search-advanced__btn--reset {
  background-color: #a8a8a8;
}

.p-search-advanced__btn--search {
  background-color: #e54646;
}

.p-search-advanced__btn--search span {
  position: relative;

  padding-left: 30px;
  padding-left: 40px;
}

.p-search-advanced__btn--search span::before {
  content: "";
  position: absolute;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;

  display: block;
  width: 20px;
  height: 20px;
  margin: auto;

  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.p-search-advanced__btn--search span::before {
  background-image: url("../img/icon_search.svg");
}

/*--------------------------------------------------------------------
  詳細画面
--------------------------------------------------------------------*/
.p-details {
  width: 980px;
  margin: 0 auto;
  padding: 20px;
}

.p-details a {
  text-decoration: underline;
}

.p-details__main {
  width: 940px;
  padding: 30px 30px 40px;
  padding-bottom: 40px;

  background-color: #ffffff;
  border-radius: 10px;
  -webkit-box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
}

.p-details__main::after {
  content: "";

  display: block;
  clear: both;
}

.p-details-header {
  position: relative;
}

.p-details-header::after {
  content: "";

  display: block;
  clear: both;
}

.p-details-header__thumbnail {
  position: relative;

  float: left;
  width: 100px;
  height: 100px;
  margin-right: 20px;

  border: 1px solid #ededed;
}

.p-details-header__thumbnail img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  max-width: 80px;
  max-height: 80px;
  margin: auto;
}

.p-details-header__main {
  float: left;
  width: 600px;
}

.p-details-header__title {
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 1.5;
}

.p-details-header__link {
  display: inline-block;
  max-width: 100%;
  margin: 14px 0 20px;
  padding: 5px 16px 5px 10px;
  overflow: hidden;

  color: #e54646;
  text-decoration: none;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.p-details-header__link .c-round-btn__content {
  position: relative;

  padding-left: 30px;
}

.p-details-header__link .c-round-btn__content::before {
  content: "";
  position: absolute;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;

  display: block;
  width: 20px;
  height: 20px;
  margin: auto;

  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.p-details-header__link .c-round-btn__content::before {
  background-image: url("../img/icon_arrow_right_red.svg");
}

.p-details-header__update {
  position: absolute;
  top: 0;
  right: -10px;

  width: 140px;
  padding: 9px 0;

  font-size: 1.2rem;
  text-align: center;
}

.p-details-header__pdf {
  position: absolute;
  top: 40px;
  right: -10px;

  height: 36px;
}

.p-details-company__category {
  margin: 30px 0;
}

.p-details-company__category h2 {
  font-size:1.6rem;
  font-weight:bold;
  margin:8px 0 4px 0;
}

.p-details-company__summary {
  font-size: 1.6rem;
}

.p-details-company__profile {
  width: 100%;
  margin: 25px 0 35px;

  table-layout: fixed;
  text-align: left;
}

.p-details-company__profile th {
  width: 76px;
}

.p-details-services {
  border: 2px solid #a8a8a8;
  border-radius: 5px;
}

.p-details-services__head {
  padding: 4px 20px 6px;

  font-size: 1.6rem;
  color: #ffffff;

  background-color: #a8a8a8;
}

.p-details-service__head {
  position: relative;

  padding: 20px 220px 20px 20px;
}

.p-details-service__name {
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.5;
}

.p-details-service__update {
  position: absolute;
  top: 0;
  right: 70px;
  bottom: 0;

  height: 21px;
  margin: auto;

  font-size: 1.2rem;
}

.p-details-service__toggle {
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;

  width: 30px;
  height: 30px;
  margin: auto;

  background-image: url("../img/icon_arrow_down_red.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
  border: 2px solid #e54646;
  border-radius: 15px;
  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.p-details-service__toggle:hover {
  opacity: .6;
}

.p-details-service__toggle.is-current {
  background-image: url("../img/icon_arrow_up_red.svg");
}

.p-details-service__body {
  padding: 0 20px;

  -webkit-transition: .6s;

  transition: .6s;
}

.p-details-service__body .c-service {
  display: none;
  overflow: hidden;

  border-top: 2px solid #ededed;
  opacity: 0;
}

.p-details-service__body .c-service.is-current {
  opacity: 1;

  -webkit-transition: opacity .6s;

  transition: opacity .6s;
}

.p-details-service__body .c-service__desc {
  width: 506px;
}

.p-details-service ~ .p-details-service {
  border-top: 2px solid #a8a8a8;
}

.p-details-zoom {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;

  margin: auto;

  background-color: rgba(0, 0, 0, .8);
  opacity: 0;

  pointer-events: none;
}

.p-details-zoom__content {
  position: fixed;
  top: 0;
  right: 20px;
  bottom: 0;
  left: 20px;

  margin: auto;
  padding-top: 40px;

  opacity: 0;
}

.p-details-zoom__close {
  position: absolute;
  top: 0;
  right: 0;

  width: 30px;
  height: 30px;

  background-image: url("../img/icon_close_thin.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px;
  border: 1px solid #ffffff;
  cursor: pointer;
  cursor: pointer;

  -webkit-transition: opacity .3s;

  transition: opacity .3s;
}

.p-details-zoom__close:hover {
  opacity: .6;
}

.p-details-zoom img {
  z-index: 100;

  max-width: 100%;
  max-height: 100%;

  background-color: #ffffff;
}

/*--------------------------------------------------------------------
  比較画面
--------------------------------------------------------------------*/
.p-comparison {
  width: 980px;
  margin: 0 auto;
  padding: 20px;
}

.p-comparison a {
  text-decoration: underline;
}

.p-comparison-menu {
  position: relative;

  margin-bottom: 10px;
}

.p-comparison-menu__total {
  position: absolute;
  left: 0;
}

.p-comparison-menu__actions {
  width: 244px;
  margin: 0 auto;
}

.p-comparison-menu__actions::after {
  content: "";

  display: block;
  clear: both;
}

.p-comparison-menu__actions button {
  float: left;
}

.p-comparison-menu__actions button ~ button {
  margin-left: 4px;
}

.p-comparison-main {
  overflow: hidden;

  font-size: 1.2rem;

  border-radius: 10px;
  -webkit-box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
}

.p-comparison-main__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  background-color: #ffffff;
}

.p-comparison-main__row:first-of-type .p-comparison-main__item {
  padding: 0;
}

.p-comparison-main__row:first-of-type .p-comparison-main__item:last-of-type {
  border-radius: 0 10px 0 0;
}

.p-comparison-main__row:last-of-type .p-comparison-main__item:last-of-type {
  border-radius: 0 0 10px 0;
}

.p-comparison-main__row ~ .p-comparison-main__row .p-comparison-main__head {
  border-top: 1px solid #999999;
}

.p-comparison-main__row ~ .p-comparison-main__row .p-comparison-main__item {
  border-top: 1px solid #ededed;
}

.p-comparison-main__head {
  width: 130px;
  padding: 10px;

  color: #ffffff;

  background-color: #a8a8a8;
}

.p-comparison-main__item {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 10px;

  border-right: 1px solid #a8a8a8;
}

.p-comparison-main__item:last-of-type {
  border-right: 0;
}

.p-comparison-main__item--checkbox::after {
  content: "";

  display: block;
  clear: both;
}

.p-comparison-main__item.empty {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-comparison-main__checkbox {
  float: left;
  margin: 10px;
}

.p-comparison-main__name {
  display: block;
  margin: 10px 10px 10px 30px;
}

.p-comparison-main ul li {
  padding-left: 1rem;

  text-indent: -1rem;
}

.p-comparison-main ul li::before {
  content: "・";
}

.p-comparison-main {
  position: relative;
}

.p-comparison-main .p-comparison-main__item--checkbox::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;

  display: block;
  width: 269px;
  margin: auto;

  border: 2px solid #e54646;
  opacity: 0;

  -webkit-transition: opacity .2s ease;

  transition: opacity .2s ease;

  pointer-events: none;
}

.p-comparison-main .p-comparison-main__item--checkbox:nth-of-type(3)::before {
  width: 270px;
}

.p-comparison-main .p-comparison-main__item--checkbox.is-current::before {
  opacity: 1;
}

.p-comparison-main .p-comparison-main__item--checkbox:last-of-type::before {
  border-radius: 0 10px 10px 0;
}

.p-accordion_01 + .p-accordion_01 {
  margin-top: 20px;
}

.p-accordion_01__heading {
  position: relative;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 -15px;
  padding: 10px 15px;

  font-size: 1.5rem;

  background: #d9d9d9;
  cursor: pointer;
}

.p-accordion_01_1__heading {
  position: relative;

  display: flex;
  align-items: center;
  padding: 10px 15px;

  font-size: 1.5rem;
  background: #d9d9d9;
}

.p-accordion_01__heading > .c-infoPanel {
  margin-left: 10px;
}

.p-accordion_01__heading > i {
  margin-left: 10px;

  font-size: 2.3rem;
  line-height: 0;
}

.p-accordion_01__heading > i.icon_two-users {
  display: inline-block;
  width: 28px;
  height: 26px;

  vertical-align: top;

  background-image: url("../img/icon_users.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px;
}

.p-accordion_01__heading:hover {
  opacity: .9;
}

.p-accordion_01__heading::after {
  content: "\f067";

  margin-left: auto;

  font-weight: bold;
  font-family: "Font Awesome 5 Free";

  -webkit-font-smoothing: antialiased;
}

.p-accordion_01__heading.is_open + .p-accordion_01__body {
  max-height: 100%;
  padding: 20px 0;

  -webkit-transition: max-height .1s;

  transition: max-height .1s;
}

.p-accordion_01_1__heading + .p-accordion_01__body {
  max-height: 100%;
  padding: 20px 0;

  -webkit-transition: max-height .1s;

  transition: max-height .1s;
}

.p-accordion_01__heading.is_open::after {
  content: "\f068";
}
.p-accordion_01__heading.is_none::after {
  content: "";
}
.p-accordion_01__body {
  max-height: 0;
  padding: 0;
  overflow: hidden;

  -webkit-transition: max-height .05s;

  transition: max-height .05s;
}

.p-accordion_02 {
  width: 100%;
}

.p-accordion_02 + .p-accordion_02 {
  margin-top: 20px;
}

.p-accordion_02__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;

  font-weight: bold;
  font-size: 1.4rem;
}

.p-accordion_02__heading::before, .p-accordion_02__heading::after {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 15px;
  height: 15px;

  font-family: "Font Awesome 5 Free";

  background: #d4d0c8;
  border-width: 1px;
  -webkit-box-shadow: 0 0 0 1px #000000;
  box-shadow: 0 0 0 1px #000000;
  cursor: pointer;

  -webkit-font-smoothing: antialiased;
}

.p-accordion_02__heading::before {
  content: "\f0d8";

  -webkit-box-ordinal-group: 3;

  -ms-flex-order: 2;

  order: 2;
  margin-left: 10px;

  border-style: outset;
}

.p-accordion_02__heading::after {
  content: "\f0d7";

  -webkit-box-ordinal-group: 4;

  -ms-flex-order: 3;

  order: 3;
  margin-left: 1px;

  border-style: inset;
}

.p-accordion_02__heading.is_open + .p-accordion_02__body {
  max-height: 100%;
  margin: 20px 20px 50px;
  padding: 30px;

  border: 1px solid #cccccc;

  -webkit-transition: max-height .1s;

  transition: max-height .1s;
}

.p-accordion_02__heading.is_open::before {
  border-style: inset;
}

.p-accordion_02__heading.is_open::after {
  border-style: outset;
}

.p-accordion_02__body {
  max-height: 0;
  margin: 0 20px;
  padding: 0 30px;
  overflow: hidden;

  border: none;

  -webkit-transition: max-height .05s;

  transition: max-height .05s;
}

.p-breadcrumbs {
  padding: 10px 0;

  background: #535353;
}

.p-breadcrumbs__inner {
  width: 980px;
  margin: auto;
  padding: 0 10px;
}

.p-breadcrumbs__inner::after {
  content: "";

  display: block;
  clear: both;
}

.p-breadcrumbs__item {
  float: left;

  font-size: 1.4rem;
  color: white;
}

.p-breadcrumbs__item a {
  position: relative;

  color: inherit;
}

.p-breadcrumbs__item a::after {
  content: "＞";

  margin: 0 20px;
}

.p-mainHeading--blue {
  color: white;

  background: #303e57;
}

.p-mainHeading__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 980px;
  margin: 0 auto;
  padding: 10px;
}

.p-mainHeading__item {
  font-size: 1.6rem;
}

.p-mainHeading__icn {
  display: inline-block;
  margin-left: 15px;
}

.p-mainHeading__icn:hover {
  opacity: .7;
}

.p-mainHeading__icn img {
  width: 30px;
  height: 30px;
}

.p-mainHeading__left {
  width: 360px;
}

.p-mainHeading__left.p-mainHeading__save {
  position: relative;

  width: calc(100% - 360px);
}

.p-mainHeading__left.p-mainHeading__save > span {
  display: inline-block;

  font-size: 1.2rem;
  line-height: 28px;
}

.p-mainHeading__left.p-mainHeading__save .p-mainHeading__save-name {
  display: inline-block;
  width: 130px;
  overflow: hidden;

  white-space: nowrap;
  text-overflow: ellipsis;
}

.p-mainHeading__center {
  width: 240px;

  text-align: center;
}

.p-mainHeading__right {
  width: 360px;

  text-align: right;
}

.p-login-modal {
  position: absolute;
  z-index: 1;

  opacity: 0;

  pointer-events: none;
}

section.p-modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: auto;
  overflow: auto;

  background: rgba(0, 0, 0, .4);
}

.p-modal__inner {
  width: 820px;
  padding: 30px;
}

.p-modal__cont {
  background: white;
}

.p-modal__body {
  padding: 20px 30px 30px;
}

.p-modal__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 16px 20px;

  background: whiteSmoke;
}

.p-modal__heading h2 {
  font-weight: bold;
  font-size: 16px;
}

.p-modal--login .p-modal__inner {
  width: 500px;
}

.p-modal__close {
  position: relative;

  width: 30px;
  height: 30px;

  cursor: pointer;
}

.p-modal__close::before, .p-modal__close::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  width: 30px;
  height: 2px;
  margin: auto;

  background: #333333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.p-modal__close::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.p-modal__close:hover::before, .p-modal__close:hover::after {
  opacity: .7;
}

.p-paging_01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 50px 0;

  text-align: center;
}

.p-paging_01__inner {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 auto;
  overflow: hidden;

  border: 1px solid #cccccc;
  border-radius: 5px;
}

.p-paging_01__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  border-right: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
}

.p-paging_01__list > .p-paging_01__item + .p-paging_01__item {
  border-left: 1px solid #cccccc;
}

.p-paging_01__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 4rem;
  height: 4rem;

  font-size: 16px;
}

.p-paging_01__item a:hover {
  opacity: .7;
}

.p-paging_01__item a.is_current {
  background: whiteSmoke;
}

.p-checkbox_switch {
  position: relative;

  display: -webkit-inline-box;

  display: -ms-inline-flexbox;

  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: 20px;

  font-size: 1.4rem;
}

.p-checkbox_switch input[type=checkbox] {
  display: none;
}

.p-checkbox_switch input[type=checkbox]:checked + .p-checkbox_switch__label:before {
  right: 37px;
}

.p-checkbox_switch input[type=checkbox]:checked + .p-checkbox_switch__label::after {
  content: "OFF";

  -webkit-box-pack: end;

  -ms-flex-pack: end;

  justify-content: flex-end;
}

.p-checkbox_switch__label {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.p-checkbox_switch__label:before {
  content: "";
  position: absolute;
  top: 3px;
  right: 3px;
  z-index: 2;

  display: inline-block;
  width: 20px;
  height: 20px;

  background: white;
  border-radius: 1000px;

  -webkit-transition: all .3s ease;
          transition: all .3s ease;
}

.p-checkbox_switch__label::after {
  content: "ON";

  display: -webkit-inline-box;

  display: -ms-inline-flexbox;

  display: inline-flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 60px;
  height: 26px;
  margin-left: 5px;
  padding: 0 8px;

  font-size: 1.2rem;
  color: white;

  background: #333333;
  border: 3px;
  border-radius: 1000px;

  -webkit-transition: all .3s ease;
          transition: all .3s ease;
}

.p-sortableLink_01 {
  margin-top: 50px;

  border: 1px solid #535353;
}

.p-sortableLink_01 a {
  color: inherit;
  text-decoration: none;
}

.p-sortableLink_01__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 10px;

  font-size: 1.6rem;

  counter-increment: table-ol;
}

.p-sortableLink_01__item + .p-sortableLink_01__item {
  border-top: 1px solid #535353;
}

.p-sortableLink_01__item::before {
  content: counter(table-ol) ".";

  margin-right: 5px;
}

.p-sortableLink_01__text {
  margin-right: auto;
}

.p-sortableLink_01__cont {
  padding: 0 5px;

  font-size: 25px;

  cursor: pointer;
}

.p-sortableLink_01__cont:hover {
  opacity: .7;
}

.p-sortableLink_01__cont--up, .p-sortableLink_01__cont--down {
  color: #535353;
}

.p-sortableLink_01__cont--disabled {
  color: #cccccc;

  cursor: default;
}

.p-sortableLink_01__cont--disabled:hover {
  opacity: 1;
}

.p-tab_01 {
  margin-right: auto;
  margin-left: auto;
  padding: 10px 11px;

  background: whiteSmoke;
  border: 1px solid #cccccc;
  border-radius: 5px;
}

.p-tab_01 + .c-status__txt {
  margin-top: 10px !important;
}

.p-tab_01__inner {
  display: inline-block;
  overflow: hidden;

  border: 1px solid #cccccc;
  border-radius: 5px;
}

.p-tab_01__inner::after {
  content: "";

  display: block;
  clear: both;
}

.p-tab_01__item {
  float: left;
}

.p-tab_01__item ~ .p-tab_01__item {
  border-left: 1px solid #cccccc;
}

.p-tab_01__item a {
  display: inline-block;
  padding: 7px 14px;

  font-size: 1.4rem;
  color: #333333;
  text-decoration: none;

  background: white;
}

.p-tab_01__item a:hover {
  opacity: .6;
}

.p-partnerBasicInfo__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.p-partnerBasicInfo__heading + p {
  margin-top: 20px;
}

.p-partnerBasicInfo__heading h2 {
  margin-right: 10px;

  font-weight: bold;
  font-size: 2rem;
}

.p-partnerBasicInfo__date {
  margin-left: auto;
  padding: 6px 0;

  font-size: 1.2rem;
  white-space: nowrap;
}

.p-partnerBasicInfo__date + .p-partnerBasicInfo__print {
  margin-left: 15px;
}

.p-partnerBasicInfo__category {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;

  font-size: 1rem;
  color: white;

  background: #fc0d1b;
}

.p-partnerBasicInfo__list {
  margin-top: 30px;

  border: 2px solid #a8a8a8;
  border-radius: 3px 3px 0 0;
}

.p-partnerBasicInfo__list__heading {
  padding: 10px;

  font-size: 1.4rem;
  color: white;

  background: #a8a8a8;
}

.p-partnerBasicInfo__list__item + .p-partnerBasicInfo__list__item {
  border-top: 2px solid #a8a8a8;
}

.p-partnerBasicInfo__list__item a {
  position: relative;

  display: block;
  padding: 30px 60px 30px 30px;

  color: #333333;
}

.p-partnerBasicInfo__list__item a::after {
  content: "";
  position: absolute;
  top: 0;
  right: 30px;
  bottom: 0;

  display: block;
  width: 25px;
  height: 25px;
  margin: auto;

  background-image: url(/assets/img/icon_circle_arrow_down.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.p-partnerBasicInfo__tle {
  display: block;

  font-weight: bold;
  font-size: 1.6rem;
}

.p-partnerBasicInfo__tle + .p-partnerBasicInfo__desc {
  margin-top: 15px;
}

.p-partnerBasicInfo__desc {
  display: block;

  font-size: 1.4rem;
}

.p-commentList {
  position: relative;
}

.p-commentList__status {
  position: absolute;
  top: 20px;
  right: 20px;
}

.p-world-map {
  position: relative;

  text-align: center;
}

.p-world-map__pin {
  position: absolute;

  display: block;
}

.p-world-map__pin:hover {
  opacity: 1;
}

.p-world-map__pin_image {
  height: 32px;
}

.p-world-map .c-infoPanel__desc {
  top: 45px;
  left: -50px;
  width: 250px;
  color: inherit;
  white-space: normal;
  text-align: left;
}

.p-world-map-legend {
  margin: 15px auto 0 auto;
  border-collapse: separate;
  border-spacing: 10px 10px;
}

.p-world-map-legend th, .p-world-map-legend td {
  vertical-align: middle;
}

/*--------------------------------------------------------------------
  Utilities
--------------------------------------------------------------------*/
.u-shadow {
  -webkit-box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, .15);
}

.u-text-small {
  font-size: 1.2rem;
}

.u-align-right {
  text-align: right;
}

.u-ar {
  text-align: right !important;
}

.u-al {
  text-align: left !important;
}

.u-ac {
  text-align: center !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-mr50 {
  margin-right: 50px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-p20 {
  padding: 20px !important;
}

.u-mlAuto {
  margin-left: auto !important;
}

.u-mrAuto {
  margin-right: auto !important;
}

.u-dib {
  display: inline-block !important;

  vertical-align: middle;
}

.u-hAuto {
  height: auto !important;
}

.c-highlighted-link {
  background: #cc0f0f;
  text-decoration: none !important;
  height: 42px;
  border-radius: 10px;
  display: flex;
  align-items: center;
}
.c-highlighted-link  + .c-highlighted-link {
  margin-top: 5px;
}
.c-highlighted-box {
  display: flex;
  align-items: center;
}
.c-highlighted-link-text {
  font-size: large;
  color: white;
  width: 210px;
  margin: auto 0 auto 10px;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.c-highlighted-link-type {
  width: 60px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  margin: auto 10px auto 10px;
  border-radius: 15px;
  border: solid 1px white;
  color: white;
  flex-shrink: 0;
}
.c-super-emphasis {
animation: c-super-emphasis-key 3s 3;
}
@keyframes c-super-emphasis-key {
  15% {
    color: black;
  }
  40% {
    color: white;
  }
  50% {
    color: black;
  }
}
.c-menu-dl {
  display: flex;
  justify-content: flex-end;
}
.c-menu-dl a{
  text-decoration: underline !important;
}

.c-consetnt-back {
  background:gainsboro;
}
.c-consent-header {
  padding:20px;
}
.c-consent-text {
  background:white;
  overflow-y:scroll;
  min-height:300px;
  max-height:500px;
  margin:0 40px;
}
.c-disabled-gray:disabled {
  background:gray;
}
.c-flex-nowrap {
  display:flex;
  flex-wrap:nowrap;
  white-space:nowrap;
  overflow:visible;
}
.c-flex-nowrap * {
  align-self :center
}

.wrap_nav {
  position:absolute;
  top:20px;
  right:20px;
  z-index: 9999;
  height:50px
}
