html {
  font-size: 16px;
  font-family:
    'Helvetica Neue', 'Helvetica', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Arial', 'Yu Gothic', 'Meiryo',
    sans-serif;
}
.mincho {
  font-family: 'Times New Roman', 'YuMincho', 'Hiragino Mincho ProN', 'Yu Mincho', 'MS PMincho', serif;
}
.for-tab {
  display: none !important;
}
.for-pc {
  display: none !important;
}
.pc-container-s {
  max-width: 768px;
}
a,
a:hover {
  color: #727272;
}
.hvr,
.hvr-op,
.hvr-op img,
.g-hvr:before {
  -webkit-transition: 0.3s ease all;
  -moz-transition: 0.3s ease all;
  -o-transition: 0.3s ease all;
  transition: 0.3s ease all;
}
.hvr-op:hover,
.hvr-op:hover img {
  opacity: 0.7;
}
.g-hvr {
  position: relative;
  z-index: 0;
}
.g-hvr:before,
.g-hvr:after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
}
.g-hvr:after {
  z-index: -2;
}
.g-hvr:hover:before,
.g-hvr.active:before {
  opacity: 0;
}

/* ヘッダー */
header {
  background: linear-gradient(
    0deg,
    rgba(250, 220, 230, 1) 0%,
    rgba(250, 220, 230, 0.5) 40%,
    rgba(250, 220, 230, 0.2) 60%
  );
  border-bottom: 3px solid #15cc9c;
  margin-bottom: 1rem;
}
header h1 {
  margin: 0;
}
header h1 img {
  width: 255px;
}
.navbar-light .navbar-toggler {
  color: rgba(220, 15, 130, 0.5);
}
.nav-item {
  text-align: center;
}
.nav-pc {
  font-size: 0.95rem;
  margin: 1rem;
}
.nav-pc .col {
  padding: 0;
  margin: 0;
  border-left: #727272 1px solid;
}
.nav-pc .col:first-of-type {
  border-left: none;
}
.nav-pc .col a {
  text-decoration: none;
  display: block;
  padding: 0.5rem 0;
}
.nav-pc .col a:before {
  background: linear-gradient(
    0deg,
    rgba(250, 230, 230, 1) 0%,
    rgba(250, 230, 230, 0.5) 40%,
    rgba(250, 230, 230, 0.2) 60%
  );
  border-bottom: #f6d9b4 3px solid;
}
.nav-pc .col a:after {
  background: linear-gradient(
    0deg,
    rgba(246, 217, 180, 1) 0%,
    rgba(246, 217, 180, 0.5) 40%,
    rgba(246, 217, 180, 0.2) 60%
  );
  border-bottom: #fae6e6 3px solid;
}

h2 {
  font-size: 1.2rem;
  color: #dc0f82;
  text-align: center;
  position: relative;
  padding: 0.5rem;
  background-color: rgba(220, 15, 130, 0.1);
}
h2 span::before {
  position: absolute;
  content: '';
  top: 0;
  right: 0;
  width: 5px;
  height: 100%;
  border: 2px solid #dc0f82;
  border-left: none;
}
h2 span::after {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  border: 2px solid #dc0f82;
  border-right: none;
}

.gotopWrap {
  text-align: right;
}
a.gotop {
  padding-left: 17px;
  margin: 0 0 10px 0;
  background: url(img/common/top_mkr.png) left center no-repeat;
}

a.newwindow {
  padding-right: 1.2em;
  background: url(img/common/newwindow.png) right center no-repeat;
}

.text1 {
  color: #8cc31e;
}
.text2 {
  color: #e65096;
  font-weight: bold;
}
.text3 {
  font-weight: bold;
  font-size: 150%;
  text-align: center;
}

.bold {
  font-weight: bold;
}

.contents article .leftfloat {
  float: left;
  margin-left: 0.5rem;
}
.contents article .rightfloat {
  float: right;
  margin-left: 0.5rem;
}

.breadcrumbs * {
  display: inline-block;
}

/* trouble */
#trouble h2 {
  color: #eb6e82;
  background-color: rgba(235, 110, 130, 0.1);
}
#trouble h2 span:before,
#trouble h2 span:after {
  border-color: #eb6e82;
}
.trouble-list {
  margin: 0 -0.2rem 1rem;
}
.trouble-list .trouble-item {
  padding: 0.2rem;
  text-align: center;
}
.trouble-list .trouble-item a {
  display: block;
  font-weight: 500;
  padding: 0.6rem 1rem;
  text-decoration: none;
}
.trouble-list .trouble-item a:before {
  background: linear-gradient(
    0deg,
    rgba(250, 220, 230, 1) 0%,
    rgba(250, 220, 230, 0.5) 40%,
    rgba(250, 220, 230, 0.2) 60%
  );
  border: #eb6e82 1px solid;
  border-radius: 0.5rem;
}
.trouble-list .trouble-item a:after {
  background: linear-gradient(
    0deg,
    rgba(220, 150, 150, 0.8) 0%,
    rgba(220, 150, 150, 0.5) 40%,
    rgba(220, 150, 150, 0.2) 60%
  );
  border: #eb6e82 1px solid;
  border-radius: 0.5rem;
}
.trouble-list .trouble-item a .bi {
  position: absolute;
  top: 50%;
  right: 0.3rem;
  font-size: 0.5rem;
  transform: translateY(-50%);
}
/* .sidebar #trouble h2 {border-left: #DC0F82 5px solid; border-bottom: none; text-align: center;} */

/* tokushu */
#tokushu h2 {
  color: #eb6e32;
  background-color: rgba(235, 110, 50, 0.1);
}
#tokushu h2 span:before,
#tokushu h2 span:after {
  border-color: #eb6e32;
}
.tokushu-list .tokushu-item {
  padding: 0.3rem 0rem;
  border-bottom: #eb6e32 dotted 1px;
}
.tokushu-list .tokushu-item a {
  display: block;
  text-decoration: none;
  padding: 0.2rem 0.5rem;
  border-left: 3px #eb6e32 solid;
}
.tokushu-list .tokushu-item a:hover,
.tokushu-list .tokushu-item a.active {
  background-color: #eee;
}
.tokushu-list .tokushu-item a span {
  display: block;
}
/* .sidebar #tokushu h2 {border-left: #15CC9C 5px solid; border-bottom: none; text-align: center;} */

/* キービジュアル */
.kv {
  width: 100%;
  height: 100px;
  margin-bottom: 1rem;
}
.kv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* フッター */
footer {
  padding: 0.5rem 0;
  background: linear-gradient(
    0deg,
    rgba(250, 220, 230, 1) 0%,
    rgba(250, 220, 230, 0.5) 40%,
    rgba(250, 220, 230, 0.2) 60%
  );
  border-top: 3px solid #15cc9c;
}
footer copy {
  text-align: center;
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
  .for-tab {
    display: block !important;
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  .for-sp {
    display: none !important;
  }
  .for-pc {
    display: block !important;
  }
  .pc-container-m {
    max-width: 960px;
  }

  header h1 img {
    width: auto;
  }
  header .contact {
    margin-left: auto;
  }

  footer small {
    text-align: left;
  }
}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .pc-container-l {
    max-width: 1140px;
  }
}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
}

/* コンテンツ部 */
.contents section {
  margin-bottom: 2.3rem;
}
.contents article {
  margin-bottom: 1.8rem;
}
.contents article > div {
  margin-bottom: 1.3rem;
}
.contents h3 {
  overflow: hidden;
  font-size: 1.6rem;
  position: relative;
  padding: 0.5rem 1rem;
  background: repeating-linear-gradient(-45deg, #f8e1c3 0 3px, #e8d1b6 3px 6px);
  margin-bottom: 1rem;
}
.contents h4 {
  overflow: hidden;
  font-size: 1.4rem;
  position: relative;
  color: #eb6e82;
  padding: 0 1rem 1.2rem;
  margin-bottom: 1rem;
}
.contents h4:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #eb6e82, #eb6e82 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #eb6e82, #eb6e82 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.contents h5 {
  overflow: hidden;
  font-size: 1.2rem;
  position: relative;
  border: #f6d9b4 dashed 1px;
  border-left: #f6d9b4 solid 8px;
  padding: 0.3rem 0.3rem 0.3rem 1.3rem;
}

.contents h6 {
  overflow: hidden;
  font-size: 1rem;
  border-bottom: #f6d9b4 dotted 2px;
  padding-left: 1rem;
  padding-bottom: 0.3rem;
}

.contents .cols-2,
.contents .cols-3,
.contents .cols-4 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: start;
  margin: -0.3rem;
}
.contents .cols-2 > *,
.contents .cols-3 > *,
.contents .cols-4 > * {
  width: 100%;
  padding: 0.3rem;
}

.contents article p {
  padding-left: 1rem;
}
.contents article img {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}

#gmap img {
  width: auto;
}

.contents article .btn-detail {
  margin: 1rem auto;
  /* text-align: center; */
}
.contents article .btn-detail a {
  display: inline-block;
  min-width: 230px;
  padding: 0.7rem 1.2rem;
  margin: auto;
  text-align: center;
  text-decoration: none;
}
.contents article .btn-detail a:before {
  position: absolute;
  background: linear-gradient(
    0deg,
    rgba(250, 220, 230, 1) 0%,
    rgba(250, 220, 230, 0.5) 40%,
    rgba(250, 220, 230, 0.2) 60%
  );
  border: #eb6e82 1px solid;
  border-radius: 0.5rem;
}
.contents article .btn-detail a:after {
  background: linear-gradient(
    0deg,
    rgba(220, 150, 150, 0.8) 0%,
    rgba(220, 150, 150, 0.5) 40%,
    rgba(220, 150, 150, 0.2) 60%
  );
  border: #eb6e82 1px solid;
  border-radius: 0.5rem;
}

.contents .concept_full img {
  display: inline-block;
  text-align: left;
}

.contents #articleimg {
  width: 213px;
  margin-left: 0.5rem;
  background: none;
  float: right;
}

/* リスト共通スタイル */
.contents article p a.link {
  line-height: 20px;
  padding: 2px 0 2px 15px;
  overflow: hidden;
  background: url(img/common/link_mkr.png) left center no-repeat;
}

.contents article ul {
  margin-bottom: 1em;
}

.contents article ul li {
  font-size: 120%;
  line-height: 1.3em;
  margin-left: 1em;
  padding-left: 1em;
  display: list-item;
  position: relative;
}
.contents article ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '・';
  font-size: 2rem;
  color: lightseagreen;
}
.contents article ol li {
  font-size: 120%;
  line-height: 1.3em;
  margin-left: 2em;
  display: list-item;
  list-style: decimal;
}
.contents article dl {
  display: flex;
  flex-wrap: wrap;
}
.contents article dt {
  width: 100%;
  font-weight: bold;
  padding: 0.5rem 0;
}
.contents article dd {
  width: 100%;
  padding: 0 0 0.5rem;
  border-bottom: #777 1px dotted;
  margin: 0;
}
.contents article dd {
  display: flex;
  align-items: center;
}

/* テーブル共通スタイル */
/* common */
.tbl-simple,
.tbl-resp {
  width: auto;
  margin-bottom: 1rem;
}
.tbl-simple thead,
.tbl-resp thead {
  border: #ccc 1px solid;
}
.tbl-simple th,
.tbl-resp th {
  text-align: left;
}
.tbl-pconly {
  display: none !important;
}

/* レスポンシブタイプ */
.tbl-resp thead {
  display: none;
  text-align: center;
}
.tbl-resp tbody {
  width: 100%;
  border-right: #ccc 1px solid;
  border-bottom: #ccc 1px solid;
}
.tbl-resp tr {
  display: flex;
  flex-wrap: wrap;
}
.tbl-resp th {
  display: block;
  width: 100%;
  font-weight: normal;
  padding: 0.3rem 0.7rem;
  border-top: #ccc 1px solid;
  border-left: #ccc 1px solid;
  background-color: #fadce6;
}
.tbl-resp td {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0.3rem 0.7rem;
  border-top: #ccc 1px solid;
  border-left: #ccc 1px solid;
  background-color: #fff0f0;
  position: relative;
  clear: left;
}
.tbl-resp td:before {
  content: attr(data-label);
  width: 50%;
  /* position: absolute; */
  /* top: 0; */
  /* left: 0; */
  float: left;
  padding: 0.3rem 0.7rem 0.3rem 0;
  border-right: #ccc 1px solid;
  background-color: #fff0f0;
  text-align: start;
  margin: -0.3rem 0;
}

/* シンプルタイプ */
.tbl-simple {
  table-layout: fixed;
}
.tbl-simple th {
  font-weight: normal;
  padding: 0.3rem 0.7rem;
  border: #ccc 1px solid;
  background-color: #fadce6;
}
.tbl-simple td {
  padding: 0.3rem 0.7rem;
  border: #ccc 1px solid;
  background-color: #fff0f0;
}

@media (min-width: 576px) {
  .contents .cols-2 > * {
    width: 50%;
  }
  .contents .cols-3 > * {
    width: 33.333%;
  }
  .contents .cols-4 > * {
    width: 25%;
  }

  .contents article dt {
    width: calc(12rem);
    padding: 0.5rem;
    border-bottom: #777 1px dotted;
  }
  .contents article dd {
    width: calc(100% - 12rem);
    padding: 0.5rem;
  }

  .tbl-resp {
    table-layout: fixed;
    width: 100%;
  }
  .tbl-sponly {
    display: none !important;
  }
  .tbl-pconly {
    display: table-cell !important;
  }
  /* .tbl-tr {border: #ccc 1px solid;} */
  .tbl-resp thead {
    display: table-header-group;
  }
  .tbl-resp tbody {
    display: table-row-group;
  }
  .tbl-resp th {
    display: table-cell;
    width: auto;
  }
  .tbl-resp td {
    display: table-cell;
    width: auto;
  }
  .tbl-resp tr {
    display: table-row;
  }
  .tbl-resp td {
    width: auto;
  }
  .tbl-resp td::before {
    display: none;
  }
}
