@charset "UTF-8";
/* placeholder */
:placeholder-shown {
  color: #b9adad;
}

::-webkit-input-placeholder {
  color: #b9adad;
}

::-moz-placeholder {
  color: #b9adad;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #b9adad;
}

/*========================================
  common
========================================*/
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

html {
  font-size: 62.5%;
  /* 10px */
}

body {
  background-color: #FFF;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  font-family: "Noto Sans JP", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.4rem;
  color: #7d6666;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}

/* anchor */
a {
  text-decoration: none;
  color: #00b7bf;
  -webkit-transition: all 0.4s ease-in-out 0s;
  transition: all 0.4s ease-in-out 0s;
}
a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  a {
    word-break: break-all;
  }
}
/* ul ol */
ul, ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*========================================
  block
========================================*/
main {
  background-color: #fbf9f7;
}
main > .contBlock:nth-of-type(odd) {
  background-color: #fbf9f7;
}
main > .contBlock:nth-of-type(even) {
  background-color: #FFF;
}

/* contBlock */
.contBlock .contHead {
  background-color: #00b7bf;
  padding: 16px 0;
  font-weight: bold;
  text-align: center;
  color: #FFF;
}
.contBlock .contHead h2 {
  line-height: 1;
  font-size: 3.2rem;
}
.contBlock .contHead p {
  margin-top: 10px;
  font-size: 1.6rem;
}
.contBlock .contBody {
  width: 1000px;
  margin: 0 auto;
  padding: 60px 0;
}

@media screen and (max-width: 768px) {
  .contBlock .contHead {
    padding: 10px 0;
  }
  .contBlock .contHead h2 {
    font-size: 2.2rem;
  }
  .contBlock .contHead p {
    font-size: 1.4rem;
  }
  .contBlock .contBody {
    width: 100%;
    margin: 0;
    padding: 30px 20px;
  }
}
@media screen and (max-width: 600px) {
  .contBlock .contBody {
    padding: 30px 10px;
  }
}
/* column frame */
.column-frame {
  overflow: hidden;
  width: 1000px;
  margin: 0 auto;
  padding: 0 0 60px;
}
.column-frame .column-main {
  float: left;
  width: 776px;
}
.column-frame .column-main > *:first-child {
  margin-top: 0;
}
.column-frame .column-main > *:last-child {
  margin-bottom: 0;
}
.column-frame .column-sub {
  float: right;
  width: 200px;
}
.column-frame .column-sub > *:first-child {
  margin-top: 0;
}
.column-frame .column-sub > *:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .column-frame {
    width: 100%;
    padding: 0 20px 40px;
  }
  .column-frame .column-main {
    float: none;
    width: 100%;
  }
  .column-frame .column-sub {
    float: none;
    width: 100%;
    margin-top: 20px;
  }
}
@media screen and (max-width: 600px) {
  .column-frame {
    padding: 0 10px 20px;
  }
}
/* print frame */
.print-frame {
  overflow: hidden;
  width: 670px;
  margin: 0 auto;
  padding: 20px 0;
}

/* column block */
.colBlock {
  margin: 40px 0;
}
.colBlock .colHead {
  overflow: hidden;
  padding: 0 0 10px 30px;
  background: url("/img_r/common/icon_star.svg#main") no-repeat left 0.125em;
  background-size: 22px 22px;
  border-bottom: 3px solid #d2caca;
  line-height: 1.25;
  font-size: 2.2rem;
}
.colBlock .colHead.noBullet {
  padding: 0 0 10px 0;
  background: none;
}
.colBlock .colHead small {
  float: right;
  margin-top: 8px;
  font-weight: normal;
  font-size: 1.4rem;
}
.colBlock .colBody {
  margin-top: 20px;
}

@media screen and (max-width: 600px) {
  .colBlock .colHead {
    padding: 0 0 10px 20px;
    background: url("/img_r/common/icon_star.svg#main") no-repeat left 0.125em;
    background-size: 16px 16px;
    font-size: 1.6rem;
  }
  .colBlock .colHead small {
    margin-top: 10px;
    font-size: 1.2rem;
  }
}
/* officeBox */
.officeBox {
  margin: 20px 0;
  background-color: #FFF;
  border: 3px solid #7d6666;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.officeBox .officeHead {
  padding: 4px 10px;
  background-color: #7d6666;
  font-weight: bold;
  font-size: 1.6rem;
  color: #FFF;
}
.officeBox .officeBody {
  padding: 20px;
}

@media screen and (max-width: 600px) {
  .officeBox {
    margin: 10px 0;
    -webkit-border-radius: 4px;
    border-radius: 4px;
  }
  .officeBox .officeHead {
    font-size: 1.4rem;
  }
  .officeBox .officeBody {
    padding: 10px;
  }
}
/* office_pr */
.officeFee .box-pr {
  border: 1px solid #efeceb;
  background: #faf9f9;
  padding: 12px 10px 10px;
  margin-top: 5px;
}
.officeFee .box-pr .icn-pr {
  background: #01b7bf;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  display: inline-block;
  padding: 3px;
  float: left;
  line-height: 1;
  margin-top: 3px;
}
.officeFee .box-pr .pr-txt {
  line-height: 1.7;
  padding-left: 40px;
}

/*========================================
  head
========================================*/
/*========================================
  button
========================================*/
/* button */
.btn, .btn-cy, .btn-rd, .btn-og, .btn-mail, .btn-tel {
  display: block;
  box-sizing: border-box;
  padding: 8px;
  text-align: center;
  letter-spacing: 1px;
  line-height: 1;
  font-weight: bold;
  font-size: 2.2rem;
  box-shadow: 0px 2px 0 rgba(0, 0, 0, 0.2);
  -webkit-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: all 0.2s ease-in-out 0s;
  transition: all 0.2s ease-in-out 0s;
}
.btn:hover, .btn-cy:hover, .btn-rd:hover, .btn-og:hover, .btn-mail:hover, .btn-tel:hover {
  opacity: 1;
  box-shadow: none;
  transform: translate3d(0, 2px, 0);
}

.btn-cy {
  background-color: #00b7bf;
  box-shadow: 0px 2px 0 #007176;
  color: #FFF;
}

.btn-rd {
  background-color: #FF0000;
  box-shadow: 0px 2px 0 #b2151b;
  color: #FFF;
}

.btn-og {
  background-color: #f7931e;
  box-shadow: 0px 2px 0 #b2151b;
  color: #FFF;
}

.btn-mail {
  position: relative;
  overflow: hidden;
  width: 286px;
  padding: 10px 64px 10px 10px;
  background-color: #f478af;
  box-shadow: 0px 3px 0 #974a6c;
  color: #FFF;
}
.btn-mail::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 57px;
  height: 100%;
  background: url("/img_r/common/icon_sendmail.svg") no-repeat center center rgba(0, 0, 0, 0.16);
  background-size: 45px 56px;
  pointer-events: none;
}
.btn-mail p {
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
  font-size: 2rem;
}
.btn-mail p span {
  display: block;
  font-size: 2.8rem;
}

.btn-tel {
  overflow: hidden;
  width: 200px;
  padding: 10px;
  background-color: #f7931e;
  box-shadow: 0px 3px 0 #974a6c;
  color: #FFF;
}
/* .btn-tel::before {
  content: "";
  display: block;
  position: absolute;
  left: 5px;
  bottom: 5px;
  z-index: 0;
  width: 54px;
  height: 45px;
  background: url("/img_r/common/icon_btn-tel.svg") no-repeat center center;
  background-size: 54px 45px;
  pointer-events: none;
} */
.btn-tel > * {
  position: relative;
  z-index: 10;
}
.btn-tel p {
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
  font-size: 1.4rem;
}
.btn-tel div {
  margin: 4px 0;
}
.btn-tel small {
  display: block;
  line-height: 1.25;
  font-size: 1rem;
}

@media screen and (max-width: 768px) {
  .btn-tel {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    width: 300px;
  }
  .btn-tel::before {
    display: none;
    background: url("/img_r/common/icon_btn-tel.svg") no-repeat center center;
    background-size: 54px 45px;
  }
  .btn-tel > * {
    position: static;
    text-align: left;
  }
  .btn-tel .freecall {
    width: 180px;
  }
  .btn-tel p {
    letter-spacing: 0.3em;
  }
  .btn-tel div {
    margin: 0;
  }
  .btn-tel small {
    width: 90px;
    line-height: 1.5;
  }
  .btn-tel small span.sp {
    display: inline-block;
  }
}
/*========================================
  form
========================================*/
input[type=text],
input[type=email],
input[type=password] {
  box-sizing: border-box;
  background-color: #FFF;
  border: 2px solid #d2caca;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  padding: 4px 12px;
  font-size: 1.6rem;
}

/* checkbox */
.checkbox {
  display: none;
}
.checkbox + label {
  white-space: nowrap;
  cursor: pointer;
}
.checkbox + label::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: #FFF;
  margin-right: 0.5em;
  border: 1px solid #d2caca;
  vertical-align: middle;
}
.checkbox + label span {
  font-size: 1rem;
}
.checkbox:checked + label::before {
  background: url("/img_r/common/icon_check.svg#main") no-repeat center center;
  background-size: contain;
  border: 1px solid #7d6666;
}

/*========================================
  table
========================================*/
/*area table  */
.areaTable th {
  padding-right: 10px;
  white-space: nowrap;
  text-align: left;
  vertical-align: top;
  font-weight: bold;
  font-size: 1.6rem;
  color: #7d6666;
}
.areaTable td {
  vertical-align: top;
  font-size: 1.43rem;
}

/* table wrapper */
.tableWrap {
  overflow-x: auto;
  margin: 40px 0;
  width: 100%;
}
.tableWrap table {
  table-layout: auto;
  min-width: 100%;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .tableWrap {
    margin: 16px 0;
  }
  .tableWrap table {
    width: 800px;
  }
}

/* list table */
.listTable {
  border-collapse: collapse;
}

/*========================================
  list
========================================*/
/* searchWordList */
.searchWordList {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}
.searchWordList > li:not(:first-child)::before {
  content: "|";
  display: inline-block;
  width: 8px;
  text-align: center;
  font-weight: normal;
  color: #d2caca;
}
.searchWordList a {
  padding: 0 5px;
  font-size: 1.6rem;
}
.searchWordList span {
  padding: 0 5px;
  font-size: 1.6rem;
}

/* checkItemList */
.checkItemList {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  margin-bottom: -10px;
}
.checkItemList li {
  width: 25%;
  margin-bottom: 10px;
  padding-right: 1em;
}

@media screen and (max-width: 768px) {
  .checkItemList li {
    width: 50%;
  }
}
@media screen and (max-width: 600px) {
  .checkItemList {
    margin-bottom: 0;
  }
  .checkItemList li {
    width: 100%;
    padding: 8px 0;
    margin: 0;
    border-bottom: 1px solid #e8e0d6;
  }
}
/* searchAreaBox */
.searchAreaBox {
  padding: 15px 20px;
}
.searchAreaBox li {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  padding: 5px 0;
}
.searchAreaBox li:not(:first-child) {
  border-top: 1px solid #e8e0d6;
}
.searchAreaBox li a {
  max-width: 140px;
}
.searchAreaBox li span {
  display: block;
  width: 444px;
}

/*========================================
  dl
========================================*/
/* searchType */
.searchType dt {
  font-weight: bold;
}
.searchType dd + dt {
  margin-top: 1em;
}

/* categorizedPage */
.categorizedPage dt {
  padding: 2px 4px;
  background-color: #d2caca;
  text-align: center;
  font-weight: bold;
  font-size: 1.2rem;
}
.categorizedPage dd ul li {
  padding: 8px;
  letter-spacing: 0;
  line-height: 1.25;
}
.categorizedPage dd ul li:not(:first-child) {
  border-top: 1px solid #e8e0d6;
}

@media screen and (max-width: 768px) {
  .categorizedPage dt {
    padding: 4px 8px;
    text-align: left;
    font-size: 1.4rem;
  }
}
/* currentSearchWord */
/* searchCondition */
.searchCondition dt {
  margin: 20px -20px 0;
  background-color: #d2caca;
  text-align: center;
  font-weight: bold;
  color: #7d6666;
}
.searchCondition dd {
  margin: 20px 0;
}
.searchCondition dd input {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .searchCondition dt {
    margin: 20px -10px 0;
    padding: 0 20px;
    text-align: left;
  }
}
@media screen and (max-width: 600px) {
  .searchCondition dt {
    margin: 20px -10px 0;
    padding: 0 20px;
    text-align: left;
  }
  .searchCondition dd {
    margin: 10px 0;
  }
}
/*========================================
  image
========================================*/
/* fit image */
.fitImg img {
  max-width: 100%;
  height: auto;
}

/*========================================
  text
========================================*/
/* require */
.require {
  display: inline-block;
  margin: 0 4px;
  color: #FF0014;
}

/* line wrap */
.lw,
.lw span {
  display: inline-block;
}

/* br */
.pc {
  display: block;
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }
}
/*========================================
  global header
========================================*/
.gHead {
  background-color: #fbf9f7;
}

.logoArea {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  width: 1000px;
  margin: 0 auto;
  padding: 12px 0;
}

.logoArea form {
  width: 100%;
}

.logoArea h1 {
  width: 204px;
  height: 32px;
}

.searchWord {
  flex: 1;
  margin-left: 20px;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: flex-start;
}
.searchWord input[type=text] {
  width: calc(100% - 100px);
  height: 40px;
  padding-left: 40px;
  background-color: #fff !important;
  background: url("/img_r/common/glass.png") left center no-repeat;
  background-size: contain;
}
.searchWord input[type=submit] {
  width: 90px;
}

@media screen and (max-width: 768px) {
  .logoArea {
    width: 100%;
    padding: 12px 20px;
  }
}
@media screen and (max-width: 600px) {
  .logoArea {
    display: block;
    padding: 0;
  }
  .logoArea h1 {
    width: 100%;
    height: auto;
    padding: 10px;
    font-size: 0;
  }
  .logoArea h1 img {
    width: 153px;
    height: 24px;
  }

  .searchWord {
    margin-left: 0;
    padding: 10px;
    background-color: #e4e4e3;
  }
  .searchWord input[type=text] {
    width: calc(100% - 80px);
    height: 40px;
  }
  .searchWord input[type=submit] {
    width: 70px;
  }
}
.gNav {
  background-color: #7d6666;
}
.gNav .menuBtn {
  display: none;
}
.gNav ul {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  width: 1000px;
  margin: 0 auto;
  padding: 10px 0;
  background-color: #7d6666;
}
.gNav ul li.navSep {
  width: 1px;
  height: 16px;
  background-color: #d2caca;
}
.gNav ul li a {
  font-size: 1.6rem;
  color: #FFF;
}

@media screen and (max-width: 768px) {
  .gNav ul {
    width: 100%;
    padding: 10px;
  }
  .gNav ul li.navSep {
    width: 1px;
    height: 14px;
  }
  .gNav ul li a {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 600px) {
  .gNav {
    position: relative;
  }
  .gNav .menuBtn {
    position: absolute;
    right: 10px;
    top: -98px;
    display: block;
    width: 32px;
    height: 32px;
    padding: 15px 7px;
    font-size: 0;
    cursor: pointer;
  }
  .gNav .menuBtn span {
    position: relative;
    display: block;
    width: 18px;
    height: 2px;
    background-color: #7d6666;
  }
  .gNav .menuBtn span::before {
    content: "";
    position: absolute;
    left: 0;
    top: -5px;
    display: block;
    width: 18px;
    height: 2px;
    background-color: #7d6666;
  }
  .gNav .menuBtn span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px;
    display: block;
    width: 12px;
    height: 2px;
    background-color: #7d6666;
  }
  .gNav .menuBtn.open span {
    background: #f7931e;
  }
  .gNav .menuBtn.open span::before {
    background-color: #f7931e;
  }
  .gNav .menuBtn.open span::after {
    background-color: #f7931e;
  }
  .gNav .menuBtn.open::after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    bottom: -6px;
    width: 0;
    height: 0;
    margin-left: -6px;
    border-width: 0 6px 6px 6px;
    border-style: solid;
    border-color: transparent transparent #7d6666 transparent;
  }
  .gNav ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: -60px;
    z-index: 100;
    width: 100%;
    height: 0;
    padding: 0;
    -webkit-transition: all 0.4s ease-in-out 0s;
    transition: all 0.4s ease-in-out 0s;
  }
  .gNav ul li {
    width: 50%;
    border-bottom: 1px solid #d2caca;
  }
  .gNav ul li:nth-child(odd) {
    border-left: 1px solid #d2caca;
  }
  .gNav ul li.navSep {
    display: none;
  }
  .gNav ul li a {
    display: block;
    padding: 10px;
    text-align: center;
    font-size: 1.6rem;
  }
}
/* headline */
.headline.frontpage {
  background: url("/img_r/common/splash_frontpage.jpg") no-repeat center top;
  background-size: cover;
}
.headline.area {
  background: url("/img_r/common/splash_area.jpg") no-repeat center top;
  background-size: cover;
}
.headline.area .inner {
  padding: 30px 0;
}
.headline.genre {
  background: url("/img_r/common/splash_genre.jpg") no-repeat center top;
  background-size: cover;
}
.headline.search {
  background: url("/img_r/common/splash_search.jpg") no-repeat center top;
  background-size: cover;
}
.headline .inner {
  position: relative;
  width: 1000px;
  min-height: auto;
  margin: 0 auto;
  padding: 60px 0 40px 0;
}
.headline .inner h2 {
  font-size: 2.4rem;
  color: #ff7c80;
}
.headline .inner h2 strong {
  display: block;
  font-size: 4rem;
}

@media screen and (max-width: 768px) {
  .headline .inner {
    width: 100%;
    padding: 30px 20px;
  }
  .headline .inner h2 {
    font-size: 1.8rem;
    text-shadow: 2px 1px 0 #FFF;
  }
  .headline .inner h2 strong {
    font-size: 3.2rem;
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .headline.frontpage {
    background: url("/img_r/common/splash_frontpage_sp.jpg") no-repeat right top;
    background-size: cover;
  }
  .headline.area {
    background: url("/img_r/common/splash_area_sp.jpg") no-repeat right top;
    background-size: cover;
  }
  .headline.genre {
    background: url("/img_r/common/splash_genre_sp.jpg") no-repeat right top;
    background-size: cover;
  }
  .headline.search {
    background: url("/img_r/common/splash_search_sp.jpg") no-repeat right top;
    background-size: cover;
  }
  .headline .inner {
    min-height: 230px;
    padding: 10px 10px 20px;
  }
  .headline .inner h2 {
    font-size: 1.2rem;
    line-height: 1.1;
  }
  .headline .inner h2 strong {
    margin-top: 10px;
    font-size: 2.4rem;
    width: 100%;
  }
}
.consultationResults {
  margin-top: 30px;
}
.consultationResults dl {
  float: left;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  background-color: #FFF;
  margin: 0 4px 8px 0;
  border: 1px solid #d2caca;
  line-height: 1;
  font-size: 1.6rem;
  -webkit-border-radius: 3px;
  border-radius: 3px;
}
.consultationResults dl dt {
  padding: 10px;
  color: #f7931e;
}
.consultationResults dl dd {
  padding: 10px;
  border-left: 1px solid #d2caca;
}
.consultationResults dl dd span {
  font-weight: bold;
  font-size: 1.8rem;
  color: #00b7bf;
}
.consultationResults p {
  clear: both;
  font-weight: bold;
  font-size: 2rem;
  color: #7d6666;
  text-shadow: 1px 1px 0 #FFF;
}

@media screen and (max-width: 768px) {
  .consultationResults {
    margin-top: 10px;
  }
  .consultationResults dl {
    clear: both;
    margin: 0 4px 4px 0;
    line-height: 1;
    font-size: 1.6rem;
    white-space: nowrap;
    -webkit-border-radius: 3px;
    border-radius: 3px;
  }
  .consultationResults dl dt {
    width: 110px;
    padding: 8px;
    line-height: 1.5;
    font-size: 1.2rem;
    color: #f7931e;
  }
  .consultationResults dl dd {
    width: 154px;
    padding: 8px;
    font-size: 1.2rem;
  }
  .consultationResults p {
    font-size: 1.4rem;
  }
}
.quickContact {
  display:flex;
  margin-top:30px;
}
.quickContact .btn-mail {
  width: 220px;
  margin-right: 10px;
  padding: 8px 45px 8px 8px;
  background-color: #f478af;
  color: #FFF;
}
.quickContact .btn-mail::after {
  width: 40px;
  background: url("/img_r/common/icon_sendmail.svg") no-repeat center center rgba(0, 0, 0, 0.16);
  background-size: 31px 39px;
}
.quickContact .btn-mail p {
  white-space: nowrap;
  line-height: 1.5;
  font-size: 1.4rem;
}
.quickContact .btn-mail p span {
  font-size: 2rem;
}
.quickContact .btn-tel {
  width: 300px;
  padding: 5px;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}
.quickContact .btn-tel small {
  margin: auto;
  padding-left: 10px;
  text-align: left;
  font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
  .quickContact {
    position: static;
    display: block;
  }
  .quickContact .btn-mail {
    width: 300px;
  }
  .quickContact .btn-mail p {
    line-height: 1.2;
  }
  .quickContact .btn-tel {
    margin-top: 10px;
  }
  .quickContact .btn-tel small {
    font-size: 1rem;
    padding-left: 0px;
  }
}
/*========================================
  global footer
========================================*/
.gFoot {
  width: 100%;
  min-width: 1000px;
  padding-bottom: 90px;
}
@media screen and (max-width: 768px) {
  .gFoot {
    min-width: auto;
    padding-bottom: 65px;
  }
}

/* termsArea */
.termsArea {
  padding: 60px 0;
  border-top: 1px solid #e8e0d6;
}
.termsArea .inner {
  width: 1000px;
  margin: 0 auto;
}
.termsArea .inner h2 {
  margin-bottom: 10px;
  font-weight: normal;
  font-size: 1.6rem;
}
.termsArea .inner p {
  font-size: 1.4rem;
}
.termsArea .inner .termsList {
  margin-top: 10px;
}
.termsArea .inner .termsList li {
  text-indent: -22px;
  padding-left: 22px;
  font-size: 1.4rem;
}
.termsArea .inner .termsList li:not(:first-child) {
  margin-top: 4px;
}
.termsArea .inner .termsList li span {
  display: inline-block;
  width: 22px;
  text-indent: 0;
}

@media screen and (max-width: 768px) {
  .termsArea {
    padding: 30px 0;
  }
  .termsArea .inner {
    width: 100%;
    padding: 0 20px;
  }
  .termsArea .inner h2 {
    font-size: 1.4rem;
  }
  .termsArea .inner p {
    font-size: 1.2rem;
  }
  .termsArea .inner .termsList {
    margin-top: 10px;
  }
  .termsArea .inner .termsList li {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .termsArea {
    padding: 20px 0;
  }
  .termsArea .inner {
    padding: 0 10px;
  }
}
/* footer navi */
.fNav {
  border-top: 1px solid #e8e0d6;
}
.fNav .inner {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: flex-end;
  padding: 30px 0;
  width: 1000px;
  margin: 0 auto;
}
.fNav .inner ul {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
}
.fNav .inner ul li:not(:first-child) {
  margin-left: 20px;
}
.fNav .inner ul li a {
  display: inline-block;
  white-space: nowrap;
  font-size: 1.4rem;
  color: #7d6666;
}
.fNav .inner ul li a.blank {
  background: url("/img_r/common/icon_blank.png") no-repeat right center;
  background-size: 11px 14px;
  padding-right: 16px;
}
.fNav .inner p {
  font-size: 1rem;
}

@media screen and (max-width: 768px) {
  .fNav .inner {
    display: block;
    width: 100%;
    padding: 0;
  }
  .fNav .inner ul {
    flex-flow: row wrap;
    justify-content: center;
    padding: 20px;
    background-color: #fbf9f7;
  }
  .fNav .inner p {
    padding: 10px;
    text-align: center;
    font-size: 1rem;
  }
}
@media screen and (max-width: 600px) {
  .fNav .inner ul {
    display: block;
    padding: 20px;
  }
  .fNav .inner ul li {
    text-align: center;
  }
  .fNav .inner ul li:not(:first-child) {
    margin-left: 0;
  }
  .fNav .inner ul li a {
    display: inline-block;
    white-space: nowrap;
  }
}
/* back to top */
.backToTop {
  min-width: 1000px;
}
.backToTop a {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  background-color: #00b7bf;
}
.backToTop a span {
  padding: 20px 0;
  line-height: 1;
  font-size: 1rem;
  color: #FFF;
}

@media screen and (max-width: 768px) {
  .backToTop {
    position: relative;
    min-width: auto;
  }
  .backToTop a {
    position: fixed;
    right: 10px;
    bottom: 75px;
    display: block;
    width: 40px;
    height: 40px;
    -webkit-border-radius: 20px;
    border-radius: 20px;
    background: url("/img_r/common/icon_arrow.svg#wh") no-repeat center center #00b7bf;
    background-size: 40px 40px;
  }
  .backToTop a span {
    display: none;
  }
}
/* bottom */
.bottomContact {
  left: 0;
  bottom: 0;
  z-index: 100;
  width: 100%;
  height: 90px;
  background-color: rgba(0, 0, 0, 0.54);
  opacity: 0;
  -webkit-transition: all 0.2s ease-in-out 0.4s;
  transition: all 0.2s ease-in-out 0.4s;
}
.bottomContact.fixed {
  position: fixed;
  opacity: 1;
}
.bottomContact .inner {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  position: relative;
  width: 1000px;
  height: 90px;
  margin: 0 auto;
  padding: 8px 0;
}
.bottomContact .inner::after {
  content: "";
  position: absolute;
  right: 100px;
  bottom: 0;
  display: block;
  width: 120px;
  height: 110px;
  background: url("/img_r/common/bnr_operator.png") no-repeat left bottom;
  background-size: contain;
  pointer-events: none;
}
.bottomContact .inner .btn-mail {
  width: 286px;
  padding: 4px 48px 4px 8px;
}
.bottomContact .inner .btn-mail::after {
  width: 40px;
  background: url("/img_r/common/icon_sendmail.svg") no-repeat center center rgba(0, 0, 0, 0.16);
  background-size: 31px 39px;
}
.bottomContact .inner .btn-mail p {
  font-size: 1.6rem;
}
.bottomContact .inner .btn-mail p span {
  font-size: 2.6rem;
}
.bottomContact .inner .phone {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-end;
  width: 480px;
  margin-left: 20px;
  color: #FFF;
}
.bottomContact .inner .phone p {
  width: 100%;
  margin-bottom: 8px;
  line-height: 1;
  letter-spacing: 0.05em;
  font-size: 1.8rem;
}
.bottomContact .inner .phone div img {
  display: block;
  width: 320px;
}
.bottomContact .inner .phone small {
  width: 160px;
  padding-left: 1em;
  font-size: 1rem;
}

@media screen and (max-width: 768px) {
  .bottomContact {
    display: none;
  }
}
/* bottom contact - sp */
.bottomContact-sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .bottomContact-sp {
    left: 0;
    bottom: 0;
    z-index: 100;
    display: block;
    width: 100%;
    height: 65px;
    padding: 10px;
    background-color: rgba(0, 0, 0, 0.8);
    opacity: 0;
    -webkit-transition: all 0.2s ease-in-out 0.4s;
    transition: all 0.2s ease-in-out 0.4s;
  }
  .bottomContact-sp.fixed {
    position: fixed;
    opacity: 1;
  }
  .bottomContact-sp ul {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
  }
  .bottomContact-sp ul li:not(:first-child) {
    margin-left: 10px;
  }
  .bottomContact-sp ul li p {
    margin-bottom: 3px;
    line-height: 1;
    letter-spacing: 0.1em;
    text-align: center;
    font-weight: bold;
    font-size: 1rem;
    color: #FFF;
  }
  .bottomContact-sp ul li div img {
    display: block;
  }
  .bottomContact-sp ul li div a:hover img {
    opacity: 0.7;
  }
}
/*========================================
  breadcrumb
========================================*/
/* breadcrumb */
.breadcrumb {
  width: 1000px;
  margin: 0 auto;
  padding: 20px 0;
}
.breadcrumb ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}
.breadcrumb ul li {
  margin-left: 8px;
}
.breadcrumb ul li:not(:first-child)::before {
  content: ">";
  display: inline-block;
  margin-right: 8px;
}

.breadcrumb + .guideBlock .inner {
  padding-top: 0;
}

@media screen and (max-width: 768px) {
  .breadcrumb {
    width: 100%;
    padding: 20px 10px;
  }
}
/*========================================
  banner
========================================*/
/* banner - contact */
.bnrContact, .bnrContact-column {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  position: relative;
  width: 1000px;
  margin: 60px auto 0;
  padding: 27px;
  background-color: #FFF;
  border: 3px solid #7d6666;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.bnrContact::after, .bnrContact-column::after {
  content: "";
  display: block;
  position: absolute;
  right: 20px;
  bottom: 0;
  width: 161px;
  height: 172px;
  background: url("/img_r/common/bnr_operator.png") no-repeat right bottom;
  background-size: 100%;
  pointer-events: none;
}
.bnrContact .phone, .bnrContact-column .phone {
  margin-left: 30px;
}
.bnrContact .phone p, .bnrContact-column .phone p {
  white-space: nowrap;
  letter-spacing: 0.15em;
  font-weight: bold;
  font-size: 1.6rem;
  color: #f7931e;
}
.bnrContact .phone p span, .bnrContact-column .phone p span {
  color: #FF0000;
}
.bnrContact .phone div img, .bnrContact-column .phone div img {
  display: block;
  line-height: 1;
}
.bnrContact .phone small, .bnrContact-column .phone small {
  display: block;
  text-align: right;
  font-size: 1rem;
  color: #808080;
}

@media screen and (max-width: 768px) {
  .bnrContact, .bnrContact-column {
    display: block;
    width: 100%;
    margin: 30px auto 0;
    background-color: transparent;
    padding: 0;
    border: none;
  }
  .bnrContact::after, .bnrContact-column::after {
    display: none;
  }
  .bnrContact .btn-mail, .bnrContact-column .btn-mail {
    margin: 0 auto;
  }
  .bnrContact .phone, .bnrContact-column .phone {
    display: none;
  }
}
@media screen and (max-width: 320px) {
  .bnrContact .btn-mail, .bnrContact-column .btn-mail {
    width: 100%;
  }
}
/* column */
.bnrContact-column {
  width: 100%;
  margin: 72px auto 0 !important;
  padding: 17px 161px 17px 17px;
}
.bnrContact-column::after {
  right: 0;
  bottom: 0;
}
.bnrContact-column .btn-mail {
  max-width: 240px;
  padding: 10px 48px 10px 10px;
}
.bnrContact-column .btn-mail p {
  font-size: 1.4rem;
}
.bnrContact-column .btn-mail p span {
  font-size: 1.8rem;
}
.bnrContact-column .btn-mail::after {
  width: 40px;
  background-size: 31px 39px;
}
.bnrContact-column .phone {
  flex: 1;
  margin-left: 20px;
}
.bnrContact-column .phone p {
  letter-spacing: 0;
  font-size: 1.2rem;
}
.bnrContact-column .phone div img {
  display: block;
  line-height: 1.2;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {
  .bnrContact-column {
    display: flex;
    margin: 0 !important;
    background-color: #FFF;
    padding: 10px;
    border: 3px solid #7d6666;
  }
  .bnrContact-column .btn-mail {
    max-width: 240px;
    padding: 10px 48px 10px 10px;
  }
  .bnrContact-column .btn-mail p {
    font-size: 1.4rem;
  }
  .bnrContact-column .btn-mail p span {
    font-size: 1.8rem;
  }
  .bnrContact-column .btn-mail::after {
    width: 40px;
    background-size: 31px 39px;
  }
  .bnrContact-column .phone {
    display: block;
    margin-left: 10px;
  }
}
@media screen and (max-width: 600px) {
  .bnrContact-column {
    background: none;
    padding: 0;
    border: none;
  }
  .bnrContact-column .btn-mail {
    max-width: 100%;
    padding: 10px 48px 10px 10px;
  }
  .bnrContact-column .btn-mail p {
    font-size: 1.4rem;
  }
  .bnrContact-column .btn-mail p span {
    font-size: 1.8rem;
  }
  .bnrContact-column .btn-mail::after {
    width: 40px;
    background-size: 31px 39px;
  }
  .bnrContact-column .phone {
    display: none;
  }
}
/*========================================
  contents module
========================================*/
/* searchWordBox */
.searchWordBox {
  position: relative;
  width: 776px;
  padding: 20px;
  background: url("/img_r/common/map.svg") no-repeat center center #FFF;
  background-size: contain;
  border: 3px solid #7d6666;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.searchWordBox h2 {
  margin-bottom: 20px;
  padding: 0 0 10px 30px;
  background: url("/img_r/common/icon_pin.svg#main") no-repeat left top;
  background-size: 22px 22px;
  border-bottom: 3px solid #d2caca;
  line-height: 1;
  font-size: 2.2rem;
}

@media screen and (max-width: 768px) {
  .searchWordBox {
    width: 100%;
    padding: 20px;
  }
}
/* selectItemBox */
.selectItemBox {
  width: 776px;
  margin-top: 24px;
  padding: 20px;
  background-color: #FFF;
  border: 3px solid #7d6666;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.selectItemBox h2 {
  margin-bottom: 20px;
  padding: 0 0 10px 30px;
  background: url("/img_r/common/icon_search.svg#main") no-repeat left top;
  background-size: 22px 22px;
  border-bottom: 3px solid #d2caca;
  line-height: 1;
  font-size: 2.2rem;
}
.selectItemBox .btnset {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .selectItemBox {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .selectItemBox {
    padding: 10px;
  }
}
/* aboutSiteBox */
.aboutSiteBox {
  width: 200px;
  background-color: #FFF;
  border: 3px solid #7d6666;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.aboutSiteBox h3 {
  padding: 8px 0 11px 28px;
  background: url("/img_r/common/icon_info.svg#wh") no-repeat 8px center #7d6666;
  background-size: 16px 16px;
  line-height: 1;
  font-weight: bold;
  font-size: 1.6rem;
  color: #FFF;
}
.aboutSiteBox p {
  padding: 16px;
}
.aboutSiteBox p strong {
  display: block;
  margin-bottom: 1em;
  font-weight: bold;
  font-size: 1.2rem;
  color: #f7931e;
}
.aboutSiteBox h4 {
  background-color: #d2caca;
  text-align: center;
  color: #7d6666;
}
.aboutSiteBox ol {
  list-style: decimal;
  padding: 16px;
  margin-left: 16px;
  font-weight: bold;
  font-size: 1.2rem;
}
.aboutSiteBox ol li:not(:first-child) {
  margin-top: 4px;
}

@media screen and (max-width: 768px) {
  .aboutSiteBox {
    width: 100%;
    margin-top: 10px;
  }
}
/* knowledgeBox */
.knowledgeBox {
  width: 100%;
  margin: 20px 0;
  background-color: #FFF;
  border: 3px solid #7d6666;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.knowledgeBox h3 {
  padding: 8px 0 11px 28px;
  background: url("/img_r/common/icon_baloon.svg#wh") no-repeat 8px center #7d6666;
  background-size: 16px 16px;
  line-height: 1;
  font-weight: bold;
  font-size: 1.6rem;
  color: #FFF;
}

/* otherSite */
.otherSite {
  margin: 20px 0;
}
.otherSite .categorizedPage a {
  line-height: 1.25;
  font-size: 1.2rem;
}

/* officeList */
.officeList {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  margin-bottom: -16px;
}
.officeList .officeBox {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  width: calc(50% - 8px);
  margin-bottom: 16px;
  background-color: #FFF;
  border: 1px solid #d2caca;
  padding: 15px;
}
.officeList .officeBox.pickup {
  background-color: #fefcd3;
}
.officeList .officeBox .officeStatus {
  width: 80px;
}
.officeList .officeBox .officeStatus img {
  display: block;
  height: auto;
}
.officeList .officeBox .officeStatus ul {
  margin-top: 10px;
}
.officeList .officeBox .officeStatus ul li {
  padding: 4px 0;
  background-color: #4d4d4d;
  text-align: center;
  font-weight: bold;
  font-size: 1rem;
  color: #FFF;
}
.officeList .officeBox .officeStatus ul li:not(:first-child) {
  margin-top: 1px;
}
.officeList .officeBox .officeStatus .StatusImg {
  width: 80px;
  height: 100px;
  overflow: hidden;
}
.officeList .officeBox .officeSummary {
  flex: 1;
  margin-left: 16px;
}
.officeList .officeBox .officeSummary h3 {
  font-weight: bold;
  font-size: 1.4rem;
}
.officeList .officeBox .officeSummary p {
  margin-top: 8px;
  font-size: 1.2rem;
}
.officeList .officeBox .officeSummary small {
  display: block;
  margin-top: 8px;
  font-weight: bold;
  font-size: 1.2rem;
}

@media screen and (max-width: 600px) {
  .officeList {
    display: block;
  }
  .officeList .officeBox {
    width: 100%;
  }
}
/* applicationBox */
.applicationBox {
  width: 100%;
  margin: 20px 0;
  background-color: #FFF;
  border: 3px solid #00b7bf;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.applicationBox h3 {
  padding: 8px 0 11px 28px;
  background: url("/img_r/common/icon_baloon.svg#wh") no-repeat 8px center #00b7bf;
  background-size: 16px 16px;
  line-height: 1;
  font-weight: bold;
  font-size: 1.6rem;
  color: #FFF;
}
.applicationBox dl dt {
  padding: 2px 4px;
  background-color: #ebf9fa;
  text-align: center;
  font-weight: bold;
  font-size: 1.2rem;
  color: #00b7bf;
}
.applicationBox dl dd {
  padding: 16px;
  font-size: 1.4rem;
}
.applicationBox dl dd .btnset {
  margin-top: 10px;
}
.applicationBox dl dd .application-tel {
  padding-top: 40px;
  background: url("/img_r/common/icon_call24.svg#rd") no-repeat center top;
  background-size: 32px 32px;
  text-align: center;
  color: #FF0000;
}
.applicationBox dl dd .application-tel p {
  font-weight: bold;
  font-size: 1.4rem;
}
.applicationBox dl dd .application-tel img {
  display: block;
  margin: 4px auto;
}
.applicationBox dl dd .application-tel small {
  display: inline-block;
  text-align: left;
  line-height: 1.25;
  font-size: 1rem;
}

/* suportDeskBox */
.suportDeskBox {
  width: 100%;
  margin: 20px 0;
  background-color: #FFF;
  border: 3px solid #f7931e;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.suportDeskBox h3 {
  padding: 8px 0 11px 28px;
  background: url("/img_r/common/icon_baloon.svg#wh") no-repeat 8px center #f7931e;
  background-size: 16px 16px;
  line-height: 1;
  font-weight: bold;
  font-size: 1.6rem;
  color: #FFF;
}
.suportDeskBox dl dt {
  padding: 2px 4px;
  background-color: #fde9d2;
  text-align: center;
  font-weight: bold;
  font-size: 1.2rem;
  color: #f7931e;
}
.suportDeskBox dl dd {
  padding: 16px;
  font-size: 1.4rem;
}
.suportDeskBox dl dd .btnset {
  margin-top: 10px;
}
.suportDeskBox dl dd .btnset .btn-rd {
  line-height: 1.25;
  font-size: 1.6rem;
}
.suportDeskBox dl dd .application-tel {
  margin-top: 20px;
  padding-top: 40px;
  background: url("/img_r/common/icon_call24.svg#rd") no-repeat center top;
  background-size: 32px 32px;
  text-align: center;
  color: #FF0000;
}
.suportDeskBox dl dd .application-tel p {
  font-weight: bold;
  font-size: 1.4rem;
}
.suportDeskBox dl dd .application-tel img {
  display: block;
  margin: 4px auto;
}
.suportDeskBox dl dd .application-tel small {
  display: inline-block;
  text-align: left;
  line-height: 1.25;
  font-size: 1rem;
}

/* banner list */
.bannerList {
  margin-top: 20px;
  padding: 19px;
  background-color: #FFF;
  border: 1px solid #d2caca;
}
.bannerList ul li:not(:first-child) {
  margin-top: 10px;
}
.bannerList ul li img {
  display: block;
  margin: 0 auto;
}

/* officeDetailBox */
.officeDetailBox {
  margin: 10px 0;
  padding: 20px;
  background-color: #FFF;
  border: 1px solid #d2caca;
}
.officeDetailBox .btnset {
  margin-top: 20px;
}

.officeDatasheet {
  overflow: hidden;
}
.officeDatasheet .datasheetTxt {
  float: left;
  width: calc(100% - 100px);
  margin-bottom: 10px;
}
.officeDatasheet .datasheetTxt h3 {
  margin-bottom: 8px;
  font-weight: bold;
  font-size: 1.6rem;
  color: #00b7bf;
}
.officeDatasheet .datasheetTxt p {
  font-size: 1.2rem;
}
.officeDatasheet .datasheetTxt p strong {
  font-weight: bold;
  font-size: 1.4rem;
}
.officeDatasheet .datasheetImg {
  float: right;
  width: 80px;
  height: 100px;
  overflow: hidden;
  margin-bottom: 10px;
}
.officeDatasheet .datasheetImg img {
  height: auto;
}
.officeDatasheet .datasheetLabel {
  clear: both;
}
.officeDatasheet .datasheetLabel ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}
.officeDatasheet .datasheetLabel ul li {
  margin: 4px 4px 0 0;
  padding: 0 8px;
  font-size: 1.2rem;
  color: #FFF;
}
.officeDatasheet .datasheetLabel ul.expertLabel li {
  background: #4d4d4d;
}
.officeDatasheet .datasheetLabel ul.serviceLabel li {
  background: #b3b3b3;
}

.datasheetTable {
  border-collapse: collapse;
  margin-top: 20px;
  font-size: 1.4rem;
}
.datasheetTable th {
  width: 100px;
  padding: 4px 0;
  border-bottom: 1px solid #e8e0d6;
  white-space: nowrap;
  vertical-align: top;
  font-weight: normal;
  text-align: left;
}
.datasheetTable td {
  padding: 4px 0;
  border-bottom: 1px solid #e8e0d6;
}
.datasheetTable td strong {
  font-weight: bold;
}

.specialistList {
  margin-top: 20px;
  padding: 20px;
  border: 1px solid #d2caca;
  background-color: #fbf9f7;
}
.specialistList dt {
  font-weight: bold;
  font-size: 1.2rem;
}
.specialistList dd ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}
.specialistList dd ul li {
  width: calc((100% - 60px) / 4);
  margin-left: 20px;
  margin-top: 10px;
  padding: 10px;
  background-color: #FFF;
  line-height: 1.25;
  font-size: 1.4rem;
  color: #00b7bf;
}
.specialistList dd ul li:nth-child(4n+1) {
  margin-left: 0;
}

@media screen and (max-width: 768px) {
  .officeDetailBox .btnset {
    margin-top: 10px;
  }

  .specialistList dd ul li {
    width: calc(50% - 10px);
  }
  .specialistList dd ul li:nth-child(2n+1) {
    margin-left: 0;
  }
}
@media screen and (max-width: 600px) {
  .officeDetailBox {
    padding: 10px;
  }

  .officeDatasheet {
    overflow: hidden;
  }
  .officeDatasheet .datasheetTxt {
    width: calc(100% - 90px);
  }

  .datasheetTable,
  .datasheetTable tr,
  .datasheetTable th,
  .datasheetTable td {
    display: block;
  }

  .datasheetTable th {
    width: 100%;
    padding: 4px 0 0;
    border-bottom: none;
    font-weight: bold;
    font-size: 1.2rem;
  }
  .datasheetTable td {
    padding: 4px 0;
    border-bottom: 1px solid #e8e0d6;
  }

  .specialistList {
    margin-top: 0;
    padding: 4px 0;
    border: none;
    background-color: transparent;
  }
  .specialistList dt {
    font-weight: bold;
    font-size: 1.2rem;
  }
  .specialistList dd ul {
    display: block;
    margin-top: 5px;
  }
  .specialistList dd ul li {
    width: 100%;
    margin: 0;
    padding: 10px;
    background-color: #fbf9f7;
    border: 1px solid #e8e0d6;
  }
  .specialistList dd ul li:not(:first-child) {
    margin-top: 1px;
  }
}
/* officeStatus */
.officeOverview {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  position: relative;
  padding: 20px 20px 60px;
  background-color: #FFF;
  border: 3px solid #7d6666;
  border-bottom: 3px solid #00b7bf;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}

@media screen and (max-width: 600px) {
  .officeOverview {
    display: block;
    padding: 90px 10px 10px;
    background-color: #FFF;
    border: none;
    -webkit-border-radius: 0;
    border-radius: 0;
  }
}
.officeOverviewInfo {
  width: calc(100% - 220px);
}
.officeOverviewInfo h2 {
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 3px solid #e8e0d6;
  font-size: 2.2rem;
}
.officeOverviewInfo ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}
.officeOverviewInfo ul li {
  min-width: 90px;
  margin: 2px 8px 0 0;
  padding: 2px;
  text-align: center;
  font-size: 1rem;
  color: #FFF;
}
.officeOverviewInfo ul li.pr-001 {
  background-color: #949100;
}
.officeOverviewInfo ul li.op-001 {
  background-color: #f77969;
}
.officeOverviewInfo ul li.op-002 {
  background-color: #046a47;
}
.officeOverviewInfo p {
  margin-top: 1em;
  font-size: 1.4rem;
}

@media screen and (max-width: 600px) {
  .officeOverviewInfo {
    width: 100%;
  }
  .officeOverviewInfo h2 {
    font-size: 1.8rem;
  }
}
.officeContact {
  width: 200px;
}
.officeContact .officeContact-tel {
  border: 1px solid #f7931e;
  padding: 10px;
  color: #f7931e;
}
.officeContact .officeContact-tel p.telNum {
  margin-bottom: 4px;
  padding-left: 50px;
  background: url("/img_r/common/icon_btn-tel.svg") no-repeat left center;
  background-size: 40px 40px;
  border-bottom: 1px solid #f7931e;
  font-weight: bold;
  font-size: 1rem;
}
.officeContact .officeContact-tel p.telNum strong {
  display: block;
  letter-spacing: -0.015em;
  font-size: 1.8rem;
}
.officeContact .officeContact-tel p.telBtn {
  display: none;
}
.officeContact .officeContact-tel small {
  display: block;
  text-align: center;
  line-height: 1.25;
  font-size: 1.2rem;
}
.officeContact .officeContact-btn {
  display: none;
}
.officeContact .officeContact-actions {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
.officeContact .officeContact-actions li {
  width: calc(50% - 5px);
  margin-top: 5px;
}
.officeContact .officeContact-actions li.full {
  width: 100%;
}
.officeContact .officeContact-actions li .btn-rd {
  font-size: 1.4rem;
}

@media screen and (max-width: 600px) {
  .officeContact {
    width: 100%;
  }
  .officeContact .officeContact-tel {
    margin-top: 10px;
  }
  .officeContact .officeContact-tel p.telNum {
    display: none;
  }
  .officeContact .officeContact-tel p.telBtn {
    display: block;
    margin-bottom: 10px;
  }
  .officeContact .officeContact-tel small {
    font-size: 1rem;
  }
  .officeContact .officeContact-actions {
    display: none;
  }
}
/* officeTab */
.officeTab {
  position: absolute;
  left: 20px;
  bottom: 0;
}
.officeTab .pageback {
  display: none;
}
.officeTab ul {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
}
.officeTab ul li {
  margin-right: 4px;
}
.officeTab ul li a {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 120px;
  height: 40px;
  background-color: #ccf1f2;
  -webkit-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0;
  font-weight: bold;
  font-size: 1.6rem;
  color: #00b7bf;
}
.officeTab ul li a:hover, .officeTab ul li.current a {
  opacity: 1;
  background-color: #00b7bf;
  color: #FFF;
}

@media screen and (max-width: 600px) {
  .officeTab {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    bottom: auto;
    border-bottom: 2px solid #00b7bf;
  }
  .officeTab .pageback {
    display: block;
    padding: 4px 10px;
    background-color: #7d6666;
  }
  .officeTab .pageback a {
    display: inline-block;
    font-size: 1.2rem;
    color: #FFF;
  }
  .officeTab .pageback a::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    background: url("/img_r/common/icon_arrow.svg#wh") no-repeat left top;
    background-size: 16px 16px;
    vertical-align: bottom;
    -webkit-transform: scale(1) rotate(-90deg) translateX(0) translateY(0) skewX(0) skewY(0);
    transform: scale(1) rotate(-90deg) translateX(0) translateY(0) skewX(0) skewY(0);
  }
  .officeTab ul li {
    margin-right: 0;
    width: 33.4%;
  }
  .officeTab ul li:not(:first-child) {
    border-left: 1px solid #00b7bf;
  }
  .officeTab ul li a {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 40px;
    background-color: #ccf1f2;
    -webkit-border-radius: 0;
    border-radius: 0;
    font-size: 1rem;
  }
}
/* specialistOverview */
.specialistOverview {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  padding: 20px;
  background-color: #FFF;
  border: 3px solid #7d6666;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.specialistOverview .specialistInfo {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: flex-start;
  width: calc(100% - 200px);
  padding-right: 10px;
}
.specialistOverview .specialistInfo img {
  width: 160px;
  height: auto;
}
.specialistOverview .specialistInfo .specialistName {
  width: calc(100% - 160px);
  padding-left: 20px;
}
.specialistOverview .specialistInfo .specialistName h2 {
  padding: 0 0 10px 0;
  border-bottom: 3px solid #cac0c0;
  font-size: 2.2rem;
}
.specialistOverview .specialistInfo .specialistName h2 span {
  font-size: 1.6rem;
}
.specialistOverview .specialistInfo .specialistName p {
  margin-top: 10px;
}
.specialistOverview .officeContact .officeContact-tel {
  border: 1px solid #00b7bf;
}
.specialistOverview .officeContact .officeContact-tel .telNum {
  background: url(/img_r/common/icon_btn-tel-cy.svg) no-repeat left center;
  background-size: 40px 40px;
  border-bottom: 1px solid #00b7bf;
  color: #00b7bf;
}
.specialistOverview .officeContact .officeContact-tel small {
  color: #00b7bf;
}
.specialistOverview .specialistMessage {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .specialistOverview .specialistInfo {
    order: 1;
    width: 100%;
  }
  .specialistOverview .specialistInfo img {
    width: 80px;
  }
  .specialistOverview .specialistInfo .specialistName {
    width: calc(100% - 80px);
    padding-left: 10px;
  }
  .specialistOverview .specialistInfo .specialistName h2 {
    padding: 0 0 5px 0;
    font-size: 1.6rem;
  }
  .specialistOverview .specialistInfo .specialistName h2 span {
    font-size: 1.2rem;
  }
  .specialistOverview .specialistInfo .specialistName p {
    margin-top: 5px;
    font-size: 1.4rem;
  }
  .specialistOverview .officeContact {
    order: 3;
    width: 100%;
  }
  .specialistOverview .officeContact .officeContact-tel {
    margin-top: 10px;
  }
  .specialistOverview .officeContact .officeContact-tel p.telNum {
    display: none;
  }
  .specialistOverview .officeContact .officeContact-tel p.telBtn {
    display: block;
    margin-bottom: 10px;
  }
  .specialistOverview .officeContact .officeContact-tel small {
    font-size: 1rem;
  }
  .specialistOverview .officeContact .officeContact-btn {
    display: block;
    margin-top: 10px;
  }
  .specialistOverview .officeContact .officeContact-actions {
    display: none;
  }
  .specialistOverview .specialistMessage {
    order: 2;
    margin-top: 10px;
  }
}
@media screen and (max-width: 600px) {
  .specialistOverview {
    padding: 10px;
  }
}
/* specialistSelflJudgment */
.specialistSelflJudgment .officeHead {
  padding-left: 30px;
  background: url("/img_r/common/icn-tit-rating.png") no-repeat 8px 6px #7d6666;
  background-size: 16px;
}
.specialistSelflJudgment .list-expert-rating > li {
  display: table;
  width: 100%;
  border: 1px solid #efeceb;
  background: #faf9f9;
}
.specialistSelflJudgment .list-expert-rating > li:not(:first-child) {
  border-top: none;
}
.specialistSelflJudgment .list-expert-rating .rating-tit {
  font-size: 12px;
  font-weight: bold;
  border-right: 1px solid #efeceb;
  display: table-cell;
  width: 148px;
  text-align: center;
  vertical-align: middle;
  box-sizing: border-box;
}
.specialistSelflJudgment .list-expert-rating .rating-graph {
  display: table-cell;
  text-align: center;
}
.specialistSelflJudgment .list-expert-rating .rating-graph ol {
  display: table;
  table-layout: fixed;
  width: 100%;
  padding: 9px 0;
}
.specialistSelflJudgment .list-expert-rating .rating-graph li {
  display: table-cell;
  vertical-align: middle;
  padding: 7px;
  background: #e5e0e0;
  color: #cbc2c2;
  font-weight: bold;
  font-size: 14px;
}
.specialistSelflJudgment .rating-graph.rate-1 li:nth-child(-n+1),
.specialistSelflJudgment .rating-graph.rate-2 li:nth-child(-n+2),
.specialistSelflJudgment .rating-graph.rate-3 li:nth-child(-n+3),
.specialistSelflJudgment .rating-graph.rate-4 li:nth-child(-n+4),
.specialistSelflJudgment .rating-graph.rate-5 li:nth-child(-n+5) {
  background: #01b7bf;
  color: #fff;
}
.specialistSelflJudgment .rate-notice {
  font-size: 14px;
  text-align: center;
  margin-top: 20px;
}
.specialistSelflJudgment .specialistMessage {
  margin-top: 20px;
  font-size: 1.6rem;
}
.specialistSelflJudgment .ratingInfo {
  margin-top: 1em;
  text-align: center;
}

@media screen and (max-width: 600px) {
  .specialistSelflJudgment .ratingInfo {
    text-align: left;
  }
}
/* specialistProfile */
.specialistProfile .officeHead {
  padding-left: 30px;
  background: url("/img_r/common/icn-tit-profile.png") no-repeat 8px 6px #7d6666;
  background-size: 16px;
}
.specialistProfile .datasheet {
  border-collapse: collapse;
  width: 100%;
}
.specialistProfile .datasheet th {
  width: 10%;
  padding: 8px 20px 8px 0;
  border-top: 1px solid #eae6e6;
  text-align: left;
  white-space: nowrap;
  vertical-align: top;
  font-weight: normal;
}
.specialistProfile .datasheet td {
  padding: 8px 0;
  border-top: 1px solid #eae6e6;
}
.specialistProfile .datasheet tr:first-child th, .specialistProfile .datasheet tr:first-child td {
  padding-top: 0;
  border-top: none;
}
.specialistProfile .datasheet tr:last-child th, .specialistProfile .datasheet tr:last-child td {
  padding-bottom: 0;
}

/* specialistAffiliation */
.specialistAffiliation .officeHead {
  padding-left: 30px;
  background: url("/img_r/common/icn-tit-affiliation.png") no-repeat 8px 6px #7d6666;
  background-size: 16px;
}
.specialistAffiliation .specialistAffiliationInfo {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}
.specialistAffiliation .specialistAffiliationInfo img {
  display: block;
  width: 160px;
  height: auto;
}
.specialistAffiliation .specialistAffiliationInfo .datasheet {
  width: calc(100% - 180px);
  border-collapse: collapse;
}
.specialistAffiliation .specialistAffiliationInfo .datasheet th {
  width: 10%;
  padding: 8px 20px 8px 0;
  border-top: 1px solid #eae6e6;
  text-align: left;
  white-space: nowrap;
  vertical-align: top;
  font-weight: normal;
}
.specialistAffiliation .specialistAffiliationInfo .datasheet td {
  padding: 8px 0;
  border-top: 1px solid #eae6e6;
}
.specialistAffiliation .specialistAffiliationInfo .datasheet tr:first-child th, .specialistAffiliation .specialistAffiliationInfo .datasheet tr:first-child td {
  padding-top: 0;
  border-top: none;
}
.specialistAffiliation .specialistAffiliationInfo .datasheet tr:last-child th, .specialistAffiliation .specialistAffiliationInfo .datasheet tr:last-child td {
  padding-bottom: 0;
}

@media screen and (max-width: 600px) {
  .specialistAffiliation .specialistAffiliationInfo {
    display: block;
  }
  .specialistAffiliation .specialistAffiliationInfo img {
    display: block;
    width: 240px;
    margin: 0 auto;
  }
  .specialistAffiliation .specialistAffiliationInfo .datasheet {
    margin-top: 20px;
    width: 100%;
  }
}
/* officeSummary */
.officeSummary .officeHead {
  padding-left: 30px;
  background: url("/img_r/common/icn-tit-office-detail.png") no-repeat 8px 6px #7d6666;
  background-size: 16px;
}
.officeSummary .officeBody {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}
.officeSummary .officeImg {
  width: 200px;
}
.officeSummary .officeImg ul li:not(:first-child) {
  margin-top: 4px;
}
.officeSummary .officeImg ul li img {
  display: block;
  width: auto;
  height: auto;
  max-width: 200px;
}
.officeSummary .officeTxt {
  width: calc(100% - 220px);
}
.officeSummary .officeTxt h4 {
  font-weight: bold;
  font-size: 1.6rem;
}
.officeSummary .officeTxt p {
  font-size: 1.6rem;
}
.officeSummary .officeTxt p:nth-child(2) {
  padding-bottom: 20px;
}
.officeSummary .officeTxt .officeSpec {
  margin-top: 1em;
  font-size: 1.6rem;
}
.officeSummary .officeTxt .officeSpec dt {
  font-weight: bold;
}

@media screen and (max-width: 600px) {
  .officeSummary .officeBody {
    display: block;
  }
  .officeSummary .officeImg {
    width: 100%;
  }
  .officeSummary .officeImg ul li:not(:first-child) {
    margin-top: 4px;
  }
  .officeSummary .officeImg ul li img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: 100%;
  }
  .officeSummary .officeTxt {
    width: 100%;
    margin-top: 10px;
  }
  .officeSummary .officeTxt h4 {
    font-weight: bold;
    font-size: 1.4rem;
  }
  .officeSummary .officeTxt p {
    font-size: 1.4rem;
  }
  .officeSummary .officeTxt .officeSpec {
    margin-top: 1em;
    font-size: 1.4rem;
  }
}
/* officeSpecialist */
.officeSpecialist .officeHead {
  padding-left: 30px;
  background: url("/img_r/common/icn-tit-pickup-white.png") no-repeat 8px 6px #7d6666;
  background-size: 16px;
}
.officeSpecialist .agentList li {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  padding: 10px;
  border: 1px solid #e8e0d6;
}
.officeSpecialist .agentList li:hover {
  background-color: #e9feff;
}
.officeSpecialist .agentList li:not(:first-child) {
  margin-top: 4px;
}
.officeSpecialist .agentList li .officeThumb {
  width: 80px;
}
.officeSpecialist .agentList li .officeThumb img {
  display: block;
  width: auto;
  height: auto;
  max-width: 80px;
  max-height: 60px;
}
.officeSpecialist .agentList li .agentItem {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  width: calc(100% - 100px);
}

@media screen and (max-width: 600px) {
  .officeSpecialist .agentList li {
    padding: 0;
    border: none;
  }
  .officeSpecialist .agentList li:hover {
    background-color: #e9feff;
  }
  .officeSpecialist .agentList li:not(:first-child) {
    margin-top: 8px;
  }
  .officeSpecialist .agentList li .officeThumb {
    width: 56px;
  }
  .officeSpecialist .agentList li .officeThumb img {
    display: block;
    width: auto;
    height: auto;
    max-width: 56px;
    max-height: 48px;
  }
  .officeSpecialist .agentList li .agentItem {
    width: calc(100% - 64px);
  }
}
/* officeDatasheet */
.officeDatasheet .officeHead {
  padding-left: 30px;
  background: url("/img_r/common/icn-tit-info.png") no-repeat 8px 6px #7d6666;
  background-size: 16px;
}
.officeDatasheet .datasheet {
  border-collapse: collapse;
  width: 100%;
}
.officeDatasheet .datasheet th {
  width: 10%;
  padding: 8px 20px 8px 0;
  border-top: 1px solid #eae6e6;
  text-align: left;
  white-space: nowrap;
  vertical-align: top;
  font-weight: normal;
}
.officeDatasheet .datasheet td {
  padding: 8px 0;
  border-top: 1px solid #eae6e6;
}
.officeDatasheet .datasheet tr:first-child th, .officeDatasheet .datasheet tr:first-child td {
  padding-top: 0;
  border-top: none;
}
.officeDatasheet .datasheet tr:last-child th, .officeDatasheet .datasheet tr:last-child td {
  padding-bottom: 0;
}

/* officeHistory */
.officeHistory .officeHead {
  padding-left: 30px;
  background: url("/img_r/common/icn-tit-history.png") no-repeat 8px 6px #7d6666;
  background-size: 16px;
}

/* officeMembership */
.officeMembership .officeHead {
  padding-left: 30px;
  background: url("/img_r/common/icn-tit-membership.png") no-repeat 8px 6px #7d6666;
  background-size: 16px;
}

/* officeFeature */
.officeFeature .officeHead {
  padding-left: 30px;
  background: url("/img_r/common/icn-tit-feature.png") no-repeat 8px 6px #7d6666;
  background-size: 16px;
}

/* officeFee */
.officeFee .officeHead {
  padding-left: 30px;
  background: url("/img_r/common/icn-tit-fee.png") no-repeat 8px 6px #7d6666;
  background-size: 16px;
}

/* officeVoice */
.officeVoice .officeHead {
  padding-left: 30px;
  background: url("/img_r/common/icn-tit-voice.png") no-repeat 8px 6px #7d6666;
  background-size: 16px;
}

/* officeFacebook */
.officeFacebook .officeHead {
  padding-left: 30px;
  background: url("/img_r/common/icn-tit-fb.png") no-repeat 8px 6px #7d6666;
  background-size: 10px;
}

/* officePlan */
.list-tit-underline {
  font-weight: bold;
  padding-bottom: 5px;
  margin-bottom: 5px;
  border-bottom: 3px solid #cac0c0;
}
.officePlan .officeHead {
  padding-left: 30px;
  background: url("/img_r/common/icn-tit-plan.png") no-repeat 8px 6px #7d6666;
  background-size: 16px;
}
.officePlan .officeBody .list-office-plan li:not(:first-child){
  margin-top: 30px;
}
.officePlan .officeBody .list-office-plan .box-lead {
    display: table;
    margin-top: 15px;
}
.officePlan .officeBody .list-office-plan .box-lead .left-cont {
    display: table-cell;
    padding: 0 10px 0 0;
}
.officePlan .officeBody .list-office-plan .box-lead .right-cont {
    display: table-cell;
    vertical-align: top;
}
.officePlan .officeBody .list-office-plan .box-lead .left-cont img{
    width: 200px;
}
.officePlan .officeBody .list-office-plan .box-fee{
  display: table;
  width: 100%;
  border: 1px solid #efeceb;
  background: #faf9f9;
  margin-top: 20px;
}
.officePlan .officeBody .list-office-plan .box-fee .left-cont {
    display: table-cell;
    vertical-align: middle;
    padding: 20px;
    width: 110px;
    font-size: 11px;
    text-align: center;
    border-right: 1px solid #efeceb;
}
.officePlan .officeBody .list-office-plan .box-fee .right-cont {
    display: table-cell;
    vertical-align: middle;
    padding: 20px;
}

@media screen and (max-width: 600px) {
  .officePlan .officeBody .list-office-plan .box-lead {
    margin-top: 15px;
    line-height: 1.45;
  }
  .officePlan .officeBody .list-office-plan .box-lead .left-cont img {
    width: 100px;
  }
  .officePlan .officeBody .list-office-plan .box-lead .left-cont {
    display: inline-block;
    padding: 0 10px 10px 0;
    float: left;
  }
  .officePlan .officeBody .list-office-plan .box-lead .right-cont {
    display: inline;
  }
  .officePlan .officeBody .list-office-plan .box-fee {
    display: block;
    margin-top: 10px;
  }
  .officePlan .officeBody .list-office-plan .box-fee .left-cont {
    display: block;
    padding: 8px 10px;
    width: auto;
    font-size: 12px;
    text-align: left;
    line-height: 1;
    border-right: none;
  }
  .officePlan .officeBody .list-office-plan .box-fee .right-cont {
    display: block;
    padding: 0 10px 10px;
    font-size: 14px;
  }
  .officePlan .officeBody .list-office-plan li:not(:first-child) {
    margin-top: 15px;
  }
}

/* officeSupportSite */
.officeSupportSite .officeHead {
  padding-left: 30px;
  background: url("/img_r/common/icn-tit-site.png") no-repeat 8px 6px #7d6666;
  background-size: 16px;
}
.officeSupportSite .supportSiteList {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  margin: -10px 0 0;
}
.officeSupportSite .supportSiteList li {
  margin: 10px 0 0;
  width: calc(50% - 10px);
}
.officeSupportSite .supportSiteList li a {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  border: 1px solid #eae6e6;
  padding: 10px;
  color: #7d6666;
}
.officeSupportSite .supportSiteList li a img {
  display: block;
}
.officeSupportSite .supportSiteList li a p {
  padding-left: 10px;
}

@media screen and (max-width: 600px) {
  .officeSupportSite .supportSiteList li {
    width: 100%;
  }
}
/* officeInfo */
.officeInfo {
  border: 3px solid #7d6666;
  padding: 20px;
  background-color: #FFF;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.officeInfo h3 {
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 3px solid #e8e0d6;
  font-size: 2.2rem;
}
.officeInfo .officeAddress {
  font-size: 1.6rem;
}
.officeInfo .officeInfo-tel {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  margin-top: 8px;
}
.officeInfo .officeInfo-tel .telNum {
  padding-left: 50px;
  background: url("/img_r/common/icon_btn-tel.svg") no-repeat left center;
  background-size: 40px 40px;
  align-items: center;
  color: #f7931e;
}
.officeInfo .officeInfo-tel .telNum strong {
  line-height: 1;
  font-weight: bold;
  font-size: 3rem;
}
.officeInfo .officeInfo-tel .telBtn {
  display: none;
}
.officeInfo .officeInfo-tel small {
  margin-left: 10px;
  color: #f7931e;
}
.officeInfo .officeInfo-tel small span.lw {
  display: block;
}

@media screen and (max-width: 600px) {
  .officeInfo {
    border: none;
    padding: 10px;
    -webkit-border-radius: 0;
    border-radius: 0;
  }
  .officeInfo h3 {
    margin-bottom: 10px;
    font-size: 1.8rem;
  }
  .officeInfo .officeAddress {
    font-size: 1.4rem;
  }
  .officeInfo .officeInfo-tel {
    display: block;
    margin-top: 8px;
  }
  .officeInfo .officeInfo-tel .telNum {
    display: none;
  }
  .officeInfo .officeInfo-tel .telBtn {
    display: block;
  }
  .officeInfo .officeInfo-tel small {
    display: block;
    margin: 10px 0 0;
    text-align: center;
  }
  .officeInfo .officeInfo-tel small span.lw {
    display: inline-block;
  }
}
/* officeAccessmap */
@media screen and (max-width: 768px) {
  .officeAccessmap .gmap iframe {
    height: 300px;
  }
}
/* relatedOffice */
.relatedOffice {
  border-color: #d2caca;
}
.relatedOffice .officeHead {
  padding-left: 30px;
  background: url("/img_r/common/icon_pin.svg#wh") no-repeat 8px 8px #d2caca;
  background-size: 16px 16px;
}
.relatedOffice .officeBody ul li {
  padding: 5px 0;
}
.relatedOffice .officeBody ul li:not(:first-child) {
  border-top: 1px solid #e8e0d6;
}
.relatedOffice .officeBody ul li:first-child {
  padding-top: 0;
}
.relatedOffice .officeBody ul li:last-child {
  padding-bottom: 0;
}

/* officeNotfind */
.officeNotfind {
  border: 3px solid #7d6666;
  margin: 20px 0;
  padding: 20px;
  background-color: #FFF;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.officeNotfind h3 {
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 3px solid #e8e0d6;
  font-size: 2.2rem;
  color: #00b7bf;
}
.officeNotfind .officeInfo-tel {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  margin-top: 8px;
}
.officeNotfind .officeInfo-tel .telNum {
  padding-left: 50px;
  background: url("/img_r/common/icon_btn-tel.svg") no-repeat left center;
  background-size: 40px 40px;
  align-items: center;
  color: #f7931e;
}
.officeNotfind .officeInfo-tel .telNum strong {
  line-height: 1;
  font-weight: bold;
  font-size: 3rem;
}
.officeNotfind .officeInfo-tel .telBtn {
  display: none;
}
.officeNotfind .officeInfo-tel small {
  margin-left: 10px;
  color: #f7931e;
}
.officeNotfind .officeInfo-tel small span.lw {
  display: block;
}
@media screen and (max-width: 600px) {
  .officeNotfind {
    border: none;
    padding: 10px;
    -webkit-border-radius: 0;
    border-radius: 0;
  }
  .officeNotfind h3 {
    margin-bottom: 10px;
    font-size: 1.8rem;
  }
  .officeNotfind .officeInfo-tel {
    display: block;
    margin-top: 8px;
  }
  .officeNotfind .officeInfo-tel .telNum {
    display: none;
  }
  .officeNotfind .officeInfo-tel .telBtn {
    display: block;
  }
  .officeNotfind .officeInfo-tel small {
    display: block;
    margin: 10px 0 0;
    text-align: center;
  }
  .officeNotfind .officeInfo-tel small span.lw {
    display: inline-block;
  }
}

/* print */
.printOverview {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  position: relative;
  padding: 20px;
  background-color: #FFF;
  border: 3px solid #7d6666;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}

.printOverviewInfo {
  width: calc(100% - 220px);
}
.printOverviewInfo h2 {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 3px solid #e8e0d6;
  font-size: 2.2rem;
}
.printOverviewInfo p {
  margin: 10px 0;
  font-size: 1.4rem;
}
.printOverviewInfo ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}
.printOverviewInfo ul li {
  min-width: 90px;
  margin: 2px 8px 0 0;
  padding: 2px;
  text-align: center;
  font-size: 1rem;
  color: #FFF;
}
.printOverviewInfo ul li.pr-001 {
  background-color: #949100;
}
.printOverviewInfo ul li.op-001 {
  background-color: #f77969;
}
.printOverviewInfo ul li.op-002 {
  background-color: #046a47;
}
.printOverviewInfo > *:last-child {
  margin-bottom: 0;
}

.printContact {
  width: 200px;
}
.printContact .printContact-tel {
  border: 1px solid #f7931e;
  padding: 10px;
  color: #f7931e;
}
.printContact .printContact-tel p.telNum {
  margin-bottom: 4px;
  padding-left: 50px;
  background: url("/img_r/common/icon_btn-tel.svg") no-repeat left center;
  background-size: 40px 40px;
  border-bottom: 1px solid #f7931e;
  font-weight: bold;
  font-size: 1rem;
}
.printContact .printContact-tel p.telNum strong {
  display: block;
  letter-spacing: -0.015em;
  font-size: 1.8rem;
}
.printContact .printContact-tel p.telBtn {
  display: none;
}
.printContact .printContact-tel small {
  display: block;
  text-align: center;
  line-height: 1.25;
  font-size: 1.2rem;
}
.printContact .printContact-btn {
  display: none;
}
.printContact .printContact-actions {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
.printContact .printContact-actions li {
  width: calc(50% - 5px);
  margin-top: 5px;
}
.printContact .printContact-actions li.full {
  width: 100%;
}
.printContact .printContact-actions li .btn-rd {
  font-size: 1.4rem;
}

.printOfficeSummary {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}
.printOfficeSummary .officeImg {
  width: 200px;
}
.printOfficeSummary .officeImg img {
  display: block;
  width: 100%;
  height: auto;
}
.printOfficeSummary .officeImg div.btnSet {
  margin-top: 40px;
}
.printOfficeSummary .officeTxt {
  width: 450px;
}
.printOfficeSummary .officeTxt dl dt {
  font-weight: bold;
}
.printOfficeSummary .officeTxt dl dd {
  margin-bottom: 1em;
}
.printOfficeSummary .officeTxt .datasheet {
  border-collapse: collapse;
  width: 100%;
}
.printOfficeSummary .officeTxt .datasheet th {
  width: 10%;
  padding: 8px 20px 8px 0;
  border-top: 1px solid #eae6e6;
  text-align: left;
  white-space: nowrap;
  vertical-align: top;
  font-weight: normal;
}
.printOfficeSummary .officeTxt .datasheet td {
  padding: 8px 0;
  border-bottom: 1px solid #eae6e6;
}
.printOfficeSummary .officeTxt .datasheet tr:first-child th, .printOfficeSummary .officeTxt .datasheet tr:first-child td {
  padding-top: 0;
  border-top: 1px solid #eae6e6;
}

/* officePhoto */
.officePhoto .officeHead {
  padding-left: 30px;
  background: url("/img_r/common/icn-tit-photo.png") no-repeat 8px 6px #7d6666;
  background-size: 16px;
}
.officePhoto .PhotoList {
  display: flex;
  flex-flow: row wrap;
}
.officePhoto .PhotoList li {
  margin: 10px 0 0;
  padding: 0 10px 0 10px;
}
.officePhoto .PhotoList li a img {
  width: 180px;
  height: auto;
}
@media screen and (max-width: 600px) {
  .officePhoto .PhotoList {
    display: block;
  }
  .officePhoto .PhotoList li {
    width: 100%;
  }
  .officePhoto .PhotoList li a img {
    width: 100%;
  }
}
/*========================================
  contents
========================================*/
/* guide (top)  */
.guideBlock-frontpage {
  background-color: #fbf9f7;
}
.guideBlock-frontpage .inner {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  width: 1000px;
  margin: 0 auto;
  padding: 24px 0;
}

@media screen and (max-width: 768px) {
  .guideBlock-frontpage .inner {
    display: block;
    width: 100%;
    padding: 24px 20px;
  }
}
@media screen and (max-width: 600px) {
  .guideBlock-frontpage {
    display: none;
  }
}
/* guide */
.guideBlock {
  background-color: #fbf9f7;
}
.guideBlock .inner {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  width: 1000px;
  margin: 0 auto;
  padding: 24px 0;
}

@media screen and (max-width: 768px) {
  .guideBlock .inner {
    display: block;
    width: 100%;
    padding: 24px 20px;
  }
}
@media screen and (max-width: 600px) {
  .guideBlock .inner {
    padding: 24px 10px;
  }
}
/* search area */
.searchArea {
  display: none;
}

@media screen and (max-width: 600px) {
  .searchArea {
    display: block;
    padding: 20px 10px;
  }
  .searchItemSet .openedItems a {
    padding: 0 5px;
    font-size: 16px;
  }
  .searchItemSet .openedItems span {
    padding: 0 5px;
    font-size: 16px;
  }
}
.searchBtn {
  padding: 6px 10px;
  background-color: #e8e0d6;
}
.searchBtn + .searchBtn {
  margin-top: 5px;
}
.searchBtn a[id$="SearchBtn"] {
  position: relative;
  display: block;
  margin-bottom: 2px;
  padding: 6px 30px;
  background-color: #00b7bf;
  box-shadow: 0px 2px 0 #007176;
  font-weight: bold;
  font-size: 1.6rem;
  color: #FFF;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.searchBtn a[id$="SearchBtn"]::after {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  width: 16px;
  height: 16px;
  background: url("/img_r/common/icon_arrowbox.svg#wh") no-repeat center center;
  background-size: 16px 16px;
  pointer-events: none;
  -webkit-transform: scale(1) rotate(0deg) translateX(0) translateY(-50%) skewX(0) skewY(0);
  transform: scale(1) rotate(0deg) translateX(0) translateY(-50%) skewX(0) skewY(0);
}
.searchBtn #areaSearchBtn {
  background: url("/img_r/common/icon_pin.svg#wh") no-repeat 10px center #00b7bf;
  background-size: 16px 16px;
}
.searchBtn #genreSearchBtn {
  background: url("/img_r/common/icon_piece.svg#wh") no-repeat 10px center #00b7bf;
  background-size: 16px 16px;
}

span.modalBtn {
  color: #00b7bf;
  cursor: pointer;
}

.modal {
  display: none;
  position: fixed;
  left: 10px;
  top: 50%;
  z-index: 200;
  width: calc(100% - 20px);
  max-height: 100vh;
  overflow-y: auto;
  -webkit-transform: scale(1) rotate(0deg) translateX(0) translateY(-50%) skewX(0) skewY(0);
  transform: scale(1) rotate(0deg) translateX(0) translateY(-50%) skewX(0) skewY(0);
}
.modal.pc {
  position: absolute;
  left: 50%;
  width: 640px;
  -webkit-transform: scale(1) rotate(0deg) translateX(-50%) translateY(-50%) skewX(0) skewY(0);
  transform: scale(1) rotate(0deg) translateX(-50%) translateY(-50%) skewX(0) skewY(0);
}
.modal.pc .modalBox {
  border: 3px solid #f7931e;
}
.modal.pc .modalBox > dt {
  padding: 3px 33px 6px 8px;
  background-color: #f7931e;
}

.modalBox {
  background-color: #FFF;
  border: 3px solid #7d6666;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.modalBox > dt {
  position: relative;
  padding: 3px 33px 6px 26px;
  background-color: #7d6666;
  font-weight: bold;
  font-size: 1.6rem;
  color: #FFF;
}
.modalBox > dt .modalClose {
  position: absolute;
  right: 7px;
  top: 50%;
  overflow: hidden;
  width: 16px;
  height: 0;
  padding-top: 16px;
  background: url("/img_r/common/icon_closebox.svg#wh") no-repeat center center;
  background-size: 16px 16px;
  cursor: pointer;
  -webkit-transform: scale(1) rotate(0deg) translateX(0) translateY(-50%) skewX(0) skewY(0);
  transform: scale(1) rotate(0deg) translateX(0) translateY(-50%) skewX(0) skewY(0);
}
.modalBox > dd {
  background-color: #FFF;
}

#areaSearchModal .modalBox > dt {
  background: url("/img_r/common/icon_pin.svg#wh") no-repeat 7px center #7d6666;
  background-size: 16px 16px;
}

dt.blt-areaSearch {
  background: url("/img_r/common/icon_pin.svg#wh") no-repeat 7px center #7d6666;
  background-size: 16px 16px;
}

.searchItemSet {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
.searchItemSet.bg-map {
  background: url("/img_r/common/map.svg") no-repeat center center;
  background-size: contain;
}
.searchItemSet .itemBox {
  position: relative;
  width: 50%;
  padding: 10px;
  border-bottom: 1px solid #d2caca;
  border-right: 1px solid #d2caca;
  cursor: pointer;
}
.searchItemSet .itemBox::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  display: block;
  width: 16px;
  height: 16px;
  background: url("/img_r/common/icon_arrowbox.svg#cy") no-repeat center center;
  background-size: 16px 16px;
  -webkit-transform: scale(1) rotate(0deg) translateX(0) translateY(-50%) skewX(0) skewY(0);
  transform: scale(1) rotate(0deg) translateX(0) translateY(-50%) skewX(0) skewY(0);
  pointer-events: none;
}
.searchItemSet .itemBox:hover::after {
  background: url("/img_r/common/icon_arrowbox.svg#og") no-repeat center center;
  background-size: 16px 16px;
}
.searchItemSet .itemBox.open {
  border-bottom: 1px solid transparent;
}
.searchItemSet .itemBox.open::after {
  background: url("/img_r/common/icon_arrowbox.svg#og") no-repeat center center;
  background-size: 16px 16px;
  -webkit-transform: scale(1) rotate(180deg) translateX(0) translateY(50%) skewX(0) skewY(0);
  transform: scale(1) rotate(180deg) translateX(0) translateY(50%) skewX(0) skewY(0);
}
.searchItemSet .openedItems {
  display: none;
  width: 100%;
  padding: 10px;
  border-bottom: 1px solid #e8e0d6;
}
.searchItemSet .openedItems .areaList {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}
.searchItemSet .openedItems .areaList li:not(:first-child)::before {
  content: "|";
  display: inline-block;
  width: 8px;
  text-align: center;
  font-weight: normal;
  color: #d2caca;
}
.searchItemSet .openedItems .areaList .openSubBtn {
  color: #00b7bf;
  cursor: pointer;
}
.searchItemSet .openedItems .areaSubList {
  display: none;
}
.searchItemSet .openedItems .areaSubList dt {
  padding: 4px;
  background-color: #fbf9f7;
}
.searchItemSet .openedItems .areaSubList dt .areaBackBtn {
  cursor: pointer;
}
.searchItemSet .openedItems .areaSubList dt .areaBackBtn::before {
  display: inline-block;
  content: "←";
}
.searchItemSet .openedItems .areaSubList .searchAreaBox {
  padding: 0;
}
.searchItemSet .openedItems .areaSubList .searchAreaBox li {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  padding: 5px 0;
}
.searchItemSet .openedItems .areaSubList .searchAreaBox li:not(:first-child) {
  border-top: 1px solid #e8e0d6;
}
.searchItemSet .openedItems .areaSubList .searchAreaBox li a {
  width: 120px;
}
.searchItemSet .openedItems .areaSubList .searchAreaBox li span {
  flex: 1;
  display: block;
  width: calc(100% - 120px);
}

/*========================================
  contact flow
========================================*/
/* contact flow */
.contactFlow {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}
.contactFlow .flowBox {
  width: calc(50% - 12px);
  padding: 17px;
  background-color: #FFF;
  border: 3px solid #7d6666;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.contactFlow .flowBox h3 {
  padding-bottom: 17px;
  border-bottom: 3px solid #d2caca;
  text-align: center;
  font-weight: bold;
  font-size: 2.2rem;
}
.contactFlow .flowBox ul li {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  position: relative;
  padding: 20px 0;
}
.contactFlow .flowBox ul li:not(:first-child) {
  border-top: 1px solid #d2caca;
}
.contactFlow .flowBox ul li:not(:first-child)::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: -7px;
  width: 0;
  height: 0;
  margin-left: -14px;
  border-width: 14px 14px 0 14px;
  border-style: solid;
}
.contactFlow .flowBox ul li:last-child {
  padding-bottom: 0;
}
.contactFlow .flowBox ul li small {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 22px;
  font-weight: bold;
  font-size: 1.4rem;
  color: #FFF;
}
.contactFlow .flowBox ul li p {
  flex: 1;
  padding-left: 100px;
  font-size: 1.54rem;
}
.contactFlow .flowMail h3 {
  color: #f478af;
}
.contactFlow .flowMail ul li:not(:first-child)::before {
  border-color: #f478af transparent transparent transparent;
}
.contactFlow .flowMail ul li:nth-child(1) p {
  background: url("/img_r/common/icon_flow_mail.svg") no-repeat 20px center;
  background-size: 60px 50px;
}
.contactFlow .flowMail ul li:nth-child(2) p {
  background: url("/img_r/common/icon_flow_contact.svg") no-repeat 20px center;
  background-size: 60px 50px;
}
.contactFlow .flowMail ul li:nth-child(3) p {
  background: url("/img_r/common/icon_flow_consultation.svg") no-repeat 20px center;
  background-size: 60px 50px;
}
.contactFlow .flowMail ul li small {
  background-color: #f478af;
}
.contactFlow .flowTel h3 {
  color: #f7931e;
}
.contactFlow .flowTel ul li:not(:first-child)::before {
  border-color: #f7931e transparent transparent transparent;
}
.contactFlow .flowTel ul li:nth-child(1) p {
  background: url("/img_r/common/icon_flow_tel.svg") no-repeat 20px center;
  background-size: 60px 50px;
}
.contactFlow .flowTel ul li:nth-child(2) p {
  background: url("/img_r/common/icon_flow_contact.svg") no-repeat 20px center;
  background-size: 60px 50px;
}
.contactFlow .flowTel ul li:nth-child(3) p {
  background: url("/img_r/common/icon_flow_consultation.svg") no-repeat 20px center;
  background-size: 60px 50px;
}
.contactFlow .flowTel ul li small {
  background-color: #f7931e;
}

@media screen and (max-width: 768px) {
  .contactFlow {
    display: block;
  }
  .contactFlow .flowBox {
    width: 100%;
  }
  .contactFlow .flowBox + .flowBox {
    margin-top: 30px;
  }
  .contactFlow .flowBox h3 {
    padding-bottom: 10px;
    font-size: 2rem;
  }
  .contactFlow .flowBox ul li p {
    min-height: 50px;
  }
}
@media screen and (max-width: 600px) {
  .contactFlow .flowBox {
    padding: 7px;
  }
  .contactFlow .flowBox + .flowBox {
    margin-top: 10px;
  }
  .contactFlow .flowBox h3 {
    padding-bottom: 7px;
    font-size: 1.8rem;
  }
  .contactFlow .flowBox ul li {
    display: block;
    padding: 8px 0;
  }
  .contactFlow .flowBox ul li:not(:first-child) {
    border-top: none;
  }
  .contactFlow .flowBox ul li:not(:first-child)::before {
    display: none;
  }
  .contactFlow .flowBox ul li:last-child {
    padding-bottom: 0;
  }
  .contactFlow .flowBox ul li small {
    width: 100%;
  }
  .contactFlow .flowBox ul li p {
    margin-top: 8px;
    padding-left: 100px;
    font-size: 1.3rem;
  }
}
/*========================================
  caseList
========================================*/
/* caseList */
.caseList ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  margin-bottom: -40px;
}
.caseList ul li {
  position: relative;
  width: calc(50% - 20px);
  min-height: 149px;
  margin-bottom: 40px;
  padding-left: 140px;
}
.caseList ul li h3 {
  position: relative;
  margin-bottom: 30px;
  padding-left: 10px;
  border-left: 4px solid #00b7bf;
  line-height: 1;
  font-size: 2.2rem;
}
.caseList ul li h3::after {
  content: "";
  position: absolute;
  left: -4px;
  bottom: -10px;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #d2caca;
}
.caseList ul li div {
  position: absolute;
  left: 0;
  top: 0;
}
.caseList ul li p {
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .caseList ul {
    display: block;
  }
  .caseList ul li {
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .caseList ul {
    margin-bottom: 0;
  }
  .caseList ul li {
    margin-bottom: 20px;
  }
  .caseList ul li h3 {
    margin-bottom: 20px;
    font-size: 1.8rem;
  }
  .caseList ul li div {
    position: absolute;
    left: 0;
    top: 0;
  }
  .caseList ul li p {
    font-size: 1.2rem;
  }
}
/*========================================
  Q&A
========================================*/
/* qaList */
.qaList dl dt {
  position: relative;
  margin-bottom: 30px;
  padding-left: 2em;
  border-left: 4px solid #00b7bf;
  text-indent: -1.5em;
  line-height: 1.5;
  font-weight: bold;
  font-size: 2.2rem;
  color: #00b7bf;
}
.qaList dl dt::before {
  content: "Q.";
  display: inline-block;
  width: 1.5em;
  font-family: "MS Serif", "New York", "serif";
  text-indent: 0;
}
.qaList dl dt::after {
  content: "";
  position: absolute;
  left: -4px;
  bottom: -10px;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #d2caca;
}
.qaList dl dd {
  position: relative;
  padding-left: 2em;
  line-height: 1.8;
  font-size: 1.6rem;
}
.qaList dl dd::before {
  content: "A.";
  position: absolute;
  left: 0;
  top: 0;
  line-height: 1;
  font-family: "MS Serif", "New York", "serif";
  font-size: 2.2rem;
}
.qaList dl dd + dt {
  margin-top: 40px;
}

@media screen and (max-width: 600px) {
  .qaList dl dt {
    margin-bottom: 20px;
    font-weight: normal;
    font-size: 1.8rem;
    color: #00b7bf;
  }
  .qaList dl dd {
    font-size: 1.4rem;
  }
  .qaList dl dd::before {
    font-size: 1.8rem;
  }
  .qaList dl dd + dt {
    margin-top: 20px;
  }
}
/*========================================
  voice list
========================================*/
/* voiceList */
.voiceList .voiceBox {
  position: relative;
  width: 830px;
  padding: 27px;
  background-color: #FFF;
  border: 3px solid #7d6666;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.voiceList .voiceBox::before {
  content: "";
  display: block;
  position: absolute;
  right: -23px;
  top: 50%;
  width: 0;
  height: 0;
  border-width: 10px 0 10px 20px;
  border-style: solid;
  border-color: transparent transparent transparent #7d6666;
  margin-top: -10px;
}
.voiceList .voiceBox::after {
  content: "";
  display: block;
  position: absolute;
  right: -173px;
  top: 50%;
  width: 128px;
  height: 166px;
  margin-top: -83px;
}
.voiceList .voiceBox:nth-child(odd) {
  margin-right: 170px;
}
.voiceList .voiceBox:nth-child(even) {
  margin-left: 170px;
}
.voiceList .voiceBox:nth-child(even)::before {
  right: auto;
  left: -23px;
  -webkit-transform: scale(1) rotate(-180deg) translateX(0) translateY(0) skewX(0) skewY(0);
  transform: scale(1) rotate(-180deg) translateX(0) translateY(0) skewX(0) skewY(0);
}
.voiceList .voiceBox:nth-child(even)::after {
  right: auto;
  left: -173px;
}
.voiceList .voiceBox:nth-child(3n+1)::after {
  background: url("/img_r/common/voice_img01.png") no-repeat center center;
  background-size: contain;
}
.voiceList .voiceBox:nth-child(3n+2)::after {
  background: url("/img_r/common/voice_img02.png") no-repeat center center;
  background-size: contain;
}
.voiceList .voiceBox:nth-child(3n)::after {
  background: url("/img_r/common/voice_img03.png") no-repeat center center;
  background-size: contain;
}
.voiceList .voiceBox dt {
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #d2caca;
  font-weight: bold;
  font-size: 2.2rem;
  color: #00b7bf;
}
.voiceList .voiceBox dd {
  font-size: 1.6rem;
}
.voiceList .voiceBox + .voiceBox {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .voiceList .voiceBox {
    width: calc(100% - 170px);
  }
}
@media screen and (max-width: 600px) {
  .voiceList .voiceBox {
    width: 100%;
    padding: 10px;
  }
  .voiceList .voiceBox::before {
    display: none;
  }
  .voiceList .voiceBox::after {
    display: none;
  }
  .voiceList .voiceBox:nth-child(odd) {
    margin-right: 0;
  }
  .voiceList .voiceBox:nth-child(even) {
    margin-left: 0;
  }
  .voiceList .voiceBox dt {
    margin-bottom: 10px;
    font-weight: normal;
    font-size: 1.8rem;
  }
  .voiceList .voiceBox dd {
    font-size: 1.4rem;
  }
  .voiceList .voiceBox + .voiceBox {
    margin-top: 10px;
  }
}
/*========================================
  media list
========================================*/
/* mediaList */
.mediaList ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
.mediaList ul::after {
  content: "";
  display: block;
  width: 306px;
}
.mediaList ul li {
  width: 306px;
  margin-bottom: 40px;
  background-color: #FFF;
  border: 3px solid #7d6666;
}
.mediaList ul li h3 {
  padding: 1px 4px 4px;
  background-color: #7d6666;
  text-align: center;
  font-weight: normal;
  font-size: 1.6rem;
  color: #FFF;
}
.mediaList ul li p {
  text-align: center;
  padding: 16px 8px;
  font-size: 1.6rem;
}
.mediaList h4 {
  text-align: center;
  font-size: 3.2rem;
  color: #00b7bf;
}

@media screen and (max-width: 768px) {
  .mediaList ul::after {
    content: "";
    display: block;
    width: calc(50% - 12px);
  }
  .mediaList ul li {
    width: calc(50% - 12px);
    margin-bottom: 24px;
  }
  .mediaList h4 {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 600px) {
  .mediaList ul::after {
    display: none;
  }
  .mediaList ul li {
    width: 100%;
    margin-bottom: 10px;
  }
  .mediaList ul li h3 {
    font-size: 1.4rem;
  }
  .mediaList ul li p {
    font-size: 1.4rem;
  }
  .mediaList ul li p .lw {
    display: block;
  }
  .mediaList h4 {
    font-size: 2rem;
  }
}
/*========================================
  genre list
========================================*/
/* genreList */
.genreList {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  padding: 27px;
  background-color: #FFF;
  border: 3px solid #7d6666;
}
.genreList .genreBox {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  width: 50%;
  padding: 16px 16px 16px 0;
  border-bottom: 1px solid #d2caca;
  border-right: 1px solid #d2caca;
}
.genreList .genreBox:nth-child(even) {
  padding: 16px 0 16px 16px;
  border-right: none;
}
.genreList .genreBox:nth-child(-n+2) {
  padding-top: 0;
}
.genreList .genreBox:nth-last-child(-n+2) {
  padding-bottom: 0;
  border-bottom: none;
}
.genreList .genreBox .genreImg {
  width: 80px;
}
.genreList .genreBox .genreItems {
  flex: 1;
  min-height: 80px;
  margin-left: 20px;
}

.genreCategory {
  margin-top: 3px;
  line-height: 1.5;
}
.genreCategory li {
  display: inline;
  font-size: 16px;
}
.genreCategory li:not(:last-child):after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  background: #cac0c0;
  width: 1px;
  height: 15px;
  margin: 0 4px 0 8px;
}

@media screen and (max-width: 768px) {
  .genreList {
    display: block;
  }
  .genreList .genreBox {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 16px 0;
    border-bottom: 1px solid #d2caca;
    border-right: none;
  }
  .genreList .genreBox:nth-child(even) {
    padding: 16px 0;
    border-right: none;
  }
  .genreList .genreBox:nth-child(-n+2) {
    padding: 16px 0;
  }
  .genreList .genreBox:nth-last-child(-n+2) {
    padding: 16px 0;
    border-bottom: 1px solid #d2caca;
  }
  .genreList .genreBox:first-child {
    padding-top: 0;
  }
  .genreList .genreBox:last-child {
    padding-bottom: 0;
    border-bottom: none;
  }
  .genreList .genreBox .genreImg {
    width: 80px;
  }
  .genreList .genreBox .genreItems {
    flex: 1;
    margin-left: 20px;
  }
}
/* specialBlock */
.specialBlock {
  margin-top: 40px;
  padding: 20px;
  background-color: #fff;
  line-height: 1.8;
  font-size: 1.6rem;
}
.specialBlock .box-tit {
  font-size: 2.4rem;
  color: #fff;
  background: #7d6666;
  padding: 20px;
  border-radius: 5px;
  word-break: break-all;
  word-wrap: break-word;
}
.specialBlock .box-tit.multi {
  padding: 10px 20px 10px;
}
.specialBlock .box-tit.multi span {
  font-size: 1.4rem;
}
.specialBlock .special-img {
  margin-top: 10px;
}
.specialBlock .special-img img {
  width: 100%;
  height: auto;
}
.specialBlock .txt-lead {
  margin-top: 10px;
  line-height: 1.7;
}
.specialBlock .special-mid-tit {
  font-size: 1.6rem;
  color: #fff;
  background: #7d6666;
  padding: 6px 10px;
  border-radius: 5px;
  margin: 45px 0 10px;
  word-break: break-all;
  word-wrap: break-word;
}
.specialBlock .special-line-tit {
  font-size: 1.6rem;
  border-bottom: 3px solid #cac0c0;
  padding: 6px 0;
  margin: 25px 0 8px;
  font-weight: bold;
  word-break: break-all;
  word-wrap: break-word;
}
.specialBlock .list-special-item {
  list-style-type: disc;
  margin: 0em 0;
  padding-left: 20px;
  line-height: 1.7;
}
.specialBlock .list-special-item li {
  list-style-type: disc;
  word-break: break-all;
  word-wrap: break-word;
}
.specialBlock .list-special-num {
  list-style-type: decimal;
  margin: 0em 0;
  padding-left: 1.5em;
  line-height: 1.7;
}
.specialBlock .list-special-num li {
  list-style-type: decimal;
  word-break: break-all;
  word-wrap: break-word;
}
.specialBlock .l-box-special p {
  line-height: 1.7;
  word-break: break-all;
  word-wrap: break-word;
}
.specialBlock .relatedLink {
  margin-top: 40px;
  border: solid 2px #7d6666;
  border-radius: 5px;
  padding: 20px;
  font-weight: bold;
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3);
}
.specialBlock .relatedLink a {
  display: inline-block;
  text-decoration: underline;
  font-weight: bold;
  font-size: 1.8rem;
}
.specialBlock .relatedLink a:hover {
  text-decoration: none;
}
.specialBlock .relatedLink a::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  background: url("/img_r/common/icon_arrow.svg#cy") no-repeat center center;
  background-size: 24px 24px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  vertical-align: middle;
}
.specialBlock h2 {
  margin-bottom: 20px;
  padding: 0.25em;
  font-size: 1.5em;
  border-left: solid 5px #7d6666;
}
.specialBlock h3 {
  margin: 20px 0;
  padding: 5px;
  font-size: 1.3em;
  background: #eae6e6;
}
.specialBlock h4 {
  margin-top: 10px;
  font-size: 1.2em;
  text-decoration: underline;
}

/* wrap-attention */
.wrap-attention {
  margin: auto;
  padding: 10px;
}
.wrap-attention .tit-atttention {
  padding: 10px;
  font-size: 1.8rem;
  text-align: center;
  color: red;
}
.wrap-attention .box-attention {
  text-align: center;
}
.wrap-attention a {
  display: block;
  margin-top: 10px;
  text-align: center;
  font-size: 2rem;
}

/* モーダル */
.l-modal{
  width: 580px;
  border: 3px solid #01b7bf;
  border-radius: 5px;
  background: #fff;
  margin: 0 auto;
}
.l-modal .modal-header{
  position: relative;
  background: #01b7bf;
  color: #fff;
  padding: 8px;
  font-size: 16px;
}
.l-modal .modal-header .modal-header-txt:before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    background: url(/img_r/common/icn-mail.png) no-repeat center center;
    background-size: 17px 13px;
    width: 17px;
    height: 13px;
    margin-right: 5px;
}
.l-modal .modal-btn-close{
  position: absolute;
  top: 8px;
  right: 8px;
  text-indent: -9999px;
  background: url(/img_r/common/btn-close.png) no-repeat center center;
  background-size: 17px 17px;
  width: 17px;
  height: 17px;
}
.l-modal .modal-cont{
  padding: 20px;
}
.box-input-mail{
  border: 2px solid #f4f2f2;
  background: #faf9f9;
  padding: 20px 20px;
  text-align: center;
  margin-top: 15px;
}
.box-input-mail .left-cont {
  width: 230px;
  display: inline-block;
  vertical-align: middle;
}
.box-input-mail .right-cont{
  width: 230px;
  display: inline-block;
  vertical-align: middle;
}
.box-input-mail .txt-at{
  display: inline-block;
  vertical-align: middle;
  margin: 0;
}
.box-input-mail + .btn-send-mail{
  margin: 15px auto 0;
  padding: 7px 20px;
}
.box-input-mail input[type="text"] {
  border: 1px solid #ccc;
  border-radius: 3px;
  width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  font-size: 1.6rem;
}
.m-wrap-select {
  position: relative;
}
.m-wrap-select select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #ccc;
  background-color: #fff;
  border-radius: 3px;
  height: 38px;
  width: 100%;
  box-sizing: border-box;
  padding: 5px;
}

.m-wrap-select:after {
  pointer-events: none;
  content: '';
  position: absolute;
  background: #fff url(/img_r/common/icn-select-arrow.png) no-repeat center center;
  top: 0;
  right: 0;
  width: 40px;
  height: 38px;
  border: 1px solid #ccc;
  border-radius: 0px 3px 3px 0;
}

.m-wrap-select {
  position: relative;
}


.box-input-mail + .btn-send-mail {
  margin: 15px auto 0;
  padding: 7px 20px;
}