@charset "UTF-8";
a, p, span, strong,
mark, del, ins, strike, blockquote, cite, pre,
ol, ul, li, dl, dt, dd, section, article,
main, nav,
header, footer,
img, figure, figcaption,
address, time,
audio, video, iframe, summary, form, label, legend,
table, caption,
tbody, tfoot, thead,
tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
}

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

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* デフォルトマージン削除*/
body, h1, h2, h3, h4, h5, h6, p,
figure, blockquote, dl, dd {
  margin-block-end: 0;
}

body, h1, h2, h3, h4, h5, h6 {
  margin-block-start: 0;
}

/* Set core body defaults */
body {
  margin: 0;
  min-height: 100vh;
}

/* リスト・ロールのリストスタイル削除 */
ul[role=list],
ol[role=list] {
  list-style: none;
}

nav, ul, ol, li {
  list-style: none;
}

img, picture, video {
  max-width: 100%;
}

dt {
  font-weight: normal;
}

address {
  font-style: normal;
}

/* pc tel link off */
@media screen and (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
body {
  color: #2d2a26;
  font-size: 1.4rem;
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", YuGothic, "小塚ゴシック Pro", "Kozuka Gothic Pro", kozGothic, "Meiryo", sans-serif;
  line-height: 1.8;
  letter-spacing: 0.08em;
  min-width: 100rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  body {
    min-width: 0;
  }
}

a, a:link, a:visited {
  color: inherit;
  text-decoration: none;
  transition: 0.3s all;
}

a:hover,
a:active,
a:focus {
  text-decoration: none;
  opacity: 0.8;
}

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

caption, td, th {
  text-align: left;
  vertical-align: middle;
}

button {
  cursor: pointer;
}

/* フォームのリセット */
input, button, textarea, select, option {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  font-family: inherit;
  outline: none;
  appearance: none;
}

/* デフォルトスタイルの時はコメントアウト */
input[type=radio],
input[type=checkbox] {
  display: none;
}

textarea {
  resize: none;
}

dt {
  font-weight: normal;
}

/* pc tel link off */
@media screen and (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
.object-fit-img {
  object-fit: cover;
  object-position: center;
}

.c_btn01 {
  color: #fff;
  letter-spacing: 0.2em;
  text-align: center;
  margin: 0 auto;
}
.c_btn01 .btn_txt {
  background: url("../img/arrow_05.png") no-repeat 92% center #7f725c;
  border-radius: 5em;
  display: inline-block;
  padding: 2rem 8rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c_btn01 .btn_txt {
    padding: 2rem 5rem;
  }
}

.more_btn01 {
  color: #fff;
  text-align: right;
}
.more_btn01 a {
  background: url("../img/arrow_05.png") no-repeat 92% center #7f725c;
  background-size: 4px;
  display: inline-block;
  padding: 1.5rem 3.5rem;
  margin: 3.5rem 0 0;
}
@media screen and (max-width: 767px) {
  .more_btn01 a {
    display: block;
    padding: 5%;
    margin: 20px 0 0;
    text-align: center;
  }
}

.more_btn01.ver2 a {
  background: url("../img/arrow_06.png") no-repeat 8% center #f8f6f2;
  background-size: 4px;
  color: #444;
}

.more_btn02 {
  text-align: center;
}
.more_btn02 a {
  background: url("../img/arrow_07.png") no-repeat 92% center #fff;
  background-size: 4px;
  border-radius: 2px;
  border: 1px solid #c6c6c6;
  color: #c0ae8c;
  display: inline-block;
  padding: 1.5rem 2rem;
}
@media screen and (max-width: 767px) {
  .more_btn02 a {
    display: block;
    padding: 5%;
  }
}

.more_btn03 {
  text-align: center;
}
.more_btn03 a {
  background: url("../img/arrow_05.png") no-repeat 92% center #7f725c;
  background-size: 4px;
  border-radius: 2px;
  color: #fff;
  display: inline-block;
  padding: 1.5rem 2rem;
}
@media screen and (max-width: 767px) {
  .more_btn03 a {
    display: block;
    padding: 5%;
  }
}

.top_return {
  color: #fff;
  margin: 12rem auto 0;
  width: 26rem;
  text-align: center;
}
.top_return a {
  background: #7f725c;
  border-radius: 4px;
  display: block;
  padding: 20px 0;
  text-align: center;
  letter-spacing: 0.2em;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .top_return a {
    padding: 14px 0;
  }
}
@media screen and (max-width: 767px) {
  .top_return {
    margin: 6rem auto 0;
    width: 24rem;
  }
}

.top_return.margin_mid {
  margin: 4rem auto 0;
}

.link_btn {
  cursor: pointer;
  color: #fff;
  display: inline-block;
  vertical-align: middle;
  margin: 0 2px 5px 2px;
}
.link_btn .txt {
  border-radius: 1px;
  display: block;
  background: #c0ae8c;
  font-size: 1.2rem;
  padding: 4px 8px;
}

.link_btn.w100 {
  width: 100%;
  text-align: center;
}

.txt_bold {
  font-weight: 700;
}

.d-block {
  display: block;
}

a.link_underline {
  text-decoration: underline;
}
a.link_underline:hover {
  text-decoration: none;
}

/*-------------------------------------------
    page_parts_ttl
-------------------------------------------*/
.common_ttl01 {
  border-left: 4px solid #c0ae8c;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-size: 2rem;
  margin: 0 0 4rem;
  padding-left: 2rem;
}
@media screen and (max-width: 767px) {
  .common_ttl01 {
    font-size: 1.6rem;
    line-height: 1.4;
    margin: 0 0 2rem;
  }
}
.common_ttl01 .text_sm {
  color: #c0ae8c;
  display: block;
  font-family: "Oswald", sans-serif;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  margin: 4px 0 0;
}
@media screen and (max-width: 767px) {
  .common_ttl01 .text_sm {
    font-size: 1.2rem;
  }
}

.common_ttl02 {
  border-bottom: solid 1px #eee;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  margin: 0 0 2.5rem;
  padding: 0 0 1rem;
}
@media screen and (max-width: 767px) {
  .common_ttl02 {
    letter-spacing: 0.08em;
    padding: 0 0 1.5rem;
  }
}

.common_ttl03 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.5;
  text-align: center;
}
.common_ttl03::after {
  content: "";
  display: block;
  width: 6rem;
  height: 2px;
  background: #c0ae8c;
  margin: 3rem auto 5.5rem;
}

.page_ttl01, .page_ttl02 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 1.4;
  margin: 0 0 3rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .page_ttl01, .page_ttl02 {
    font-size: 1.6rem;
  }
}
.page_ttl01:before, .page_ttl02:before {
  content: "";
  position: absolute;
  width: 0.9em;
  height: 0.9em;
  border: 3px solid #c0ae8c;
  border-radius: 3em;
  left: 0;
}

.page_ttl01 {
  padding: 0 0 1px 2.5rem;
}
.page_ttl01:before {
  top: 4px;
}

.page_ttl02 {
  padding: 0 0 1.5rem 2.5rem;
  border-bottom: solid 1px #eee;
}
.page_ttl02:before {
  top: 5px;
}

.highly_rated .page_ttl02 {
  margin: 6rem 0 3rem;
}

.page_ttl03 {
  border-bottom: solid 3px #c0ae8c;
  border-left: solid 6px #c0ae8c;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-size: 1.8rem;
  margin: 0 0 2.5rem;
  padding: 0 0 0.6rem 1rem;
}

.form_wrap {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .form_wrap {
    margin-top: 3rem;
  }
}
.form_wrap input[type=text], .form_wrap textarea, .form_wrap select {
  font-size: 1.6rem;
  background-color: #fafafa;
  border-radius: 3px;
  letter-spacing: 0.05em;
  height: 50px;
  padding: 0 1.6rem;
  border: none;
  outline: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .form_wrap input[type=text], .form_wrap textarea, .form_wrap select {
    font-size: 1.4rem;
  }
}
.form_wrap .list_name {
  display: inline-block;
  vertical-align: middle;
}
.form_wrap .required {
  background: #F15E5E;
  color: #fff;
  display: inline-block;
  font-size: 1rem;
  padding: 1px 6px;
  margin-left: 8px;
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
}

#page_inquiry .txt {
  font-size: 1.4rem;
}
#page_inquiry .txt .icon_requred {
  margin-left: 0;
  margin-bottom: 1px;
}
#page_inquiry .table_row {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #ddd;
  padding: 2rem 0;
}
#page_inquiry .table_row:first-of-type {
  border-top: 1px solid #ddd;
}
@media screen and (max-width: 767px) {
  #page_inquiry .table_row {
    display: block;
  }
}
#page_inquiry .form_list {
  width: 28%;
  font-weight: 700;
  text-align: left;
}
@media screen and (max-width: 767px) {
  #page_inquiry .form_list {
    width: 100%;
  }
}
#page_inquiry .form_enter {
  width: 70%;
  margin-left: 2%;
}
@media screen and (max-width: 767px) {
  #page_inquiry .form_enter {
    width: 100%;
    margin-left: 0;
    padding-top: 1rem;
  }
}
#page_inquiry .btn_area {
  margin-top: 3rem;
  text-align: center;
  position: relative;
}
#page_inquiry .btn_area .btn {
  padding: 2.8rem;
  width: 36rem;
}
@media screen and (max-width: 767px) {
  #page_inquiry .btn_area .btn {
    letter-spacing: 0.1em;
    width: 100%;
  }
}
#page_inquiry textarea {
  padding: 1.6rem;
  height: 14rem;
}
#page_inquiry .btn_submit {
  background: #7f725c;
  border-radius: 0.5rem;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  padding: 2rem 0;
  width: 26rem;
  text-align: center;
  margin: 0 auto;
}
#page_inquiry .btn_submit:hover {
  cursor: pointer;
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  #page_inquiry .btn_submit {
    width: 20rem;
  }
}

#page_inquiry.contact_confirm .btn_back_wrap .txt {
  position: absolute;
  top: 38%;
  left: 0;
}
@media screen and (max-width: 767px) {
  #page_inquiry.contact_confirm .btn_back_wrap .txt {
    position: relative;
    padding-left: 1em;
  }
}
#page_inquiry.contact_confirm .btn_back_wrap .txt::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 1rem;
  height: 1rem;
  top: 45%;
  left: 0;
  border-top: 2px solid #ccc;
  border-left: 2px solid #ccc;
  transform: rotate(-45deg) translateY(-50%);
}
@media screen and (max-width: 767px) {
  #page_inquiry.contact_confirm .btn_back_wrap .txt::before {
    top: 50%;
  }
}
#page_inquiry.contact_confirm .btn_back_wrap .btn_back {
  color: #ddd;
  font-size: 1.4rem;
  margin-top: 0;
  padding-left: 1rem;
}
#page_inquiry.contact_confirm .btn_back_wrap .btn_back:hover {
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  #page_inquiry.contact_confirm .btn_back_wrap .btn_back {
    margin-top: 2rem;
  }
}

#page_inquiry.contact_thanks {
  padding: 6.4rem 0;
  text-align: center;
}
#page_inquiry.contact_thanks .thanks_msg {
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #page_inquiry.contact_thanks .thanks_msg {
    font-size: 1.6rem;
  }
}
#page_inquiry.contact_thanks .txt {
  margin-top: 5rem;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #page_inquiry.contact_thanks .txt {
    margin-top: 2.5rem;
    text-align: left;
  }
}

.thanks_top .top_return {
  margin: 4rem auto 0;
}
@media screen and (max-width: 767px) {
  .thanks_top .top_return {
    margin: 3rem auto 0;
  }
}

.header_upper {
  background: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 120rem;
  margin: 0 auto;
  padding: 2rem;
  position: relative;
  z-index: 100;
}
.header_upper .logo {
  display: block;
  width: 11rem;
}
.header_upper .logo img {
  vertical-align: bottom;
}

.header_menu_wrap {
  background-color: rgba(127, 114, 92, 0.8);
  padding: 1rem 2rem 2rem;
}
@media screen and (max-width: 767px) {
  .header_menu_wrap {
    display: none;
  }
}

.header_nav_pc {
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 120rem;
  margin: 0 auto;
}
.header_nav_pc li {
  margin: 1rem 0 0;
}
.header_nav_pc li:not(:last-of-type) {
  margin-right: 3rem;
}

.header_nav_has_child {
  position: relative;
}
.header_nav_has_child .child_list {
  position: absolute;
  background-color: rgb(127, 114, 92);
  opacity: 0;
  height: 0;
  transform: scaleY(0);
  transform-origin: center top;
  transition: all 0.3s;
  padding: 4px 1rem 1rem;
  z-index: 1;
  top: 3rem;
  width: 13em;
}

.header_nav_has_child.active .child_list {
  opacity: 1;
  height: auto;
  transform: scaleY(1);
}

.top_header {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .top_header {
    opacity: 0;
    transition: opacity 0.2s ease-out;
    height: 0;
  }
  .top_header.act {
    opacity: 1;
    height: auto;
  }
}
@media screen and (min-width: 768px) {
  .top_header .header_upper {
    display: none;
  }
}

/*  sp_header
-------------------------------------------*/
@media screen and (max-width: 767px) {
  .header {
    position: sticky;
    top: 0;
    z-index: 100;
    width: 100%;
  }
}
#sp-menu {
  display: none;
  width: 3rem;
  height: 1.6rem;
  position: absolute;
  right: 5%;
  top: 2rem;
  margin: 0;
  transition: 0.3s all;
}

#sp_nav {
  display: none;
  background: #fff;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: scroll;
  overflow: hidden;
}

.hamb_border {
  background: #7f725c;
  border-radius: 1rem;
  background-size: 100% 100%;
  position: absolute;
  width: 100%;
  height: 3px;
  transition: 0.3s ease-in-out;
  left: 0;
}
.hamb_border:first-of-type {
  top: 0;
}
.hamb_border:last-of-type {
  top: 9px;
}

#sp-menu.clicked .hamb_border:first-of-type {
  transform: rotate(-45deg);
}
#sp-menu.clicked .hamb_border:last-of-type {
  transform: rotate(45deg);
  top: 0;
}

@media screen and (max-width: 767px) {
  #sp-menu {
    display: block;
    z-index: 999999;
  }
  #sp-menu.clicked {
    top: 2.5rem;
  }
  #sp-menu::after {
    content: "MENU";
    display: block;
    font-family: "Zen Old Mincho", serif;
    font-weight: 500;
    font-style: normal;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: 0.06em;
  }
  #sp-menu.clicked::after {
    content: "CLOSE";
    letter-spacing: 0;
  }
}
.sp_nav_wrap {
  background: #fff;
}
.sp_nav_wrap .nav_inner {
  width: 90%;
  max-width: 36rem;
  margin: 0 auto;
}
.sp_nav_wrap .c_btn01 {
  margin-top: 3rem;
}

@media screen and (max-width: 767px) {
  #sp_nav {
    display: block;
    height: 0;
    padding: 0 0;
    z-index: 50;
    opacity: 0;
    transition: all 0.4s ease 0s;
  }
  #sp_nav.clicked {
    overflow: scroll;
    height: 100%;
    padding: 10rem 0;
    opacity: 1;
  }
}
.header_nav_sp {
  color: #7f725c;
  padding: 2rem;
}
.header_nav_sp .item {
  border-bottom: 1px solid #7f725c;
  font-weight: 700;
  font-size: 1.5rem;
}
.header_nav_sp .item a {
  display: block;
  width: 100%;
}
.header_nav_sp .child_list {
  display: none;
  font-weight: 400;
  padding-bottom: 2rem;
}
.header_nav_sp .child_list .child_item {
  background: #f8f6f2;
  border: 1px solid #fff;
  padding: 1rem;
}
.header_nav_sp .link_btn .txt {
  background: #f8f6f2;
  color: #7f725c;
  font-weight: 400;
}

.header_sp_parent {
  position: relative;
  padding: 2rem 0;
}
.header_sp_parent::after {
  content: "";
  display: inline-block;
  width: 0.6em;
  height: 1em;
  background: url("../img/arrow_07.png") no-repeat;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: 0.3s ease-out;
}

.header_sp_parent.child_open::after {
  transform: translateY(-50%) rotate(90deg);
  transform-origin: left center;
  transition: 0.3s ease-out;
}

footer {
  margin: 12rem 0 0;
}
@media screen and (max-width: 767px) {
  footer {
    margin: 8rem 0 0;
  }
}

#exp_area {
  background: url("../img/experience_bg.png") no-repeat center;
  background-size: cover;
  padding: 6rem 2rem 8rem;
}
@media screen and (max-width: 767px) {
  #exp_area {
    background: url("../img/experience_bg.png") no-repeat left -170px bottom;
    background-size: cover;
    padding: 6rem 2rem;
  }
}
#exp_area .amazon_logo {
  display: block;
  margin: 4rem auto 0;
}
@media screen and (max-width: 767px) {
  #exp_area .amazon_logo {
    max-width: 90%;
  }
}
#exp_area .c_btn01 {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  #exp_area .c_btn01 {
    font-size: 1.4rem;
  }
}

.exp_area_ttl {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-size: 2.6rem;
  text-align: center;
  line-height: 1.8;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .exp_area_ttl {
    font-size: 2rem;
  }
}

.exp_area_info {
  text-align: center;
  line-height: 2;
  margin: 4rem 0 5rem;
}
@media screen and (max-width: 767px) {
  .exp_area_info {
    margin: 3rem 4%;
  }
}

.footer_nav {
  background: #f8f6f2;
  color: #7f725c;
  padding: 5rem 2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .footer_nav {
    border: solid 1px #eee;
    border-bottom: none;
    padding: 0;
  }
  .footer_nav::after {
    content: "";
    display: block;
    clear: both;
  }
}

.ft_nav_item {
  display: inline-block;
  font-size: 1.2rem;
  letter-spacing: 0.2em;
}
@media screen and (min-width: 768px) {
  .ft_nav_item {
    border-right: solid 1px #7f725c;
    margin: 1rem 0;
  }
  .ft_nav_item:last-child {
    border-right: none;
  }
}
@media screen and (max-width: 767px) {
  .ft_nav_item {
    display: block;
    letter-spacing: 0;
    height: 6rem;
    width: 50%;
    float: left;
    border-bottom: solid 1px #eee;
    text-align: left;
  }
  .ft_nav_item:nth-of-type(odd) {
    border-right: solid 1px #eee;
  }
}
.ft_nav_item a {
  display: inline-block;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  padding: 4px 2.5rem;
}
@media screen and (max-width: 767px) {
  .ft_nav_item a {
    padding: 4px 1.5rem;
  }
}
.ft_nav_item a:hover {
  text-decoration: underline;
}

.footer_bottom {
  color: #7f725c;
  letter-spacing: 0.13em;
  text-align: center;
  padding: 7rem 2rem 5rem;
}
@media screen and (max-width: 767px) {
  .footer_bottom {
    padding: 6rem 2rem 4rem;
  }
}

.footer_bottom_intro {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.8rem;
}

.footer_bottom_logo {
  margin-top: 1rem;
}

.catch_copy {
  font-family: "Zen Old Mincho", serif;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .catch_copy {
    font-size: 1.3rem;
  }
}
.catch_copy .catch_icon {
  width: 5rem;
  height: 5rem;
  margin-right: 6px;
}
@media screen and (max-width: 767px) {
  .catch_copy .catch_icon {
    width: 4rem;
    height: 4rem;
  }
}

.copyright {
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .copyright {
    font-size: 1rem;
    margin-top: 4rem;
  }
}

footer + .page_top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 5rem;
  height: 5rem;
}
@media screen and (max-width: 767px) {
  footer + .page_top {
    width: 4rem;
    height: 4rem;
    bottom: 0;
    right: 0;
  }
}
footer + .page_top .btn_top {
  width: 100%;
  height: 100%;
}
footer + .page_top .btn_top img {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

#sidebar {
  width: 26%;
}
@media screen and (max-width: 767px) {
  #sidebar {
    width: 100%;
    display: block;
    margin-top: 4rem;
  }
}

@media screen and (max-width: 767px) {
  #sidebar.sp_none {
    display: none;
  }
}

.side_ttl {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-size: 1.6rem;
  margin-bottom: 1rem;
}

.side_area_search .area_child_list li {
  background: url("../img/arrow_07.png") no-repeat left center;
  background-size: 4px;
  display: inline-block;
  vertical-align: middle;
  padding: 0 0.8rem 0 1rem;
  font-size: 1.2rem;
}
.side_area_search .area_child_list li a.txt {
  background: none;
  color: #2d2a26;
}

.side_ttl_cat {
  background: #c0ae8c;
  color: #fff;
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  font-size: 1.6rem;
  padding: 1.2rem 1rem;
  text-align: center;
}

.side_cat_area {
  background: #f8f6f2;
  margin-bottom: 4rem;
}

.side_cat_list {
  line-height: 2.6;
  padding: 1.2rem 3rem;
}
.side_cat_list .arrow_left {
  display: block;
  position: relative;
  padding-left: 1.5em;
}
.side_cat_list .arrow_left:hover {
  color: #c0ae8c;
  cursor: pointer;
}
.side_cat_list .arrow_left::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  width: 0.6em;
  height: 0.6em;
  background: url("../img/arrow_07.png") no-repeat center;
  background-size: contain;
  transform: translateY(-50%);
}

.side_area_sns .img_wrap {
  display: block;
  text-align: center;
}
.side_area_sns .desc {
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  margin: 2rem 0;
}
.side_area_sns .btn_link {
  font-size: 0;
  margin-bottom: 6px;
}

@media screen and (max-width: 767px) {
  .page_wrap .side_area_search,
  .page_wrap .side_commit_search {
    display: none;
  }
}
/*目次---------------------------------------
common_wrap
common_kaisya_list_box
rank_box01
star
common_search_wrap
pagination
Breadcrumb
-------------------------------------------*/
.sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}
/*-------------------------------------------
  common_wrap
-------------------------------------------*/
.c_wrap {
  padding: 0 2rem;
}
@media screen and (max-width: 767px) {
  .c_wrap {
    padding: 0 4%;
  }
}

.c_wrap-p_top {
  padding: 0 2rem;
}
@media screen and (max-width: 767px) {
  .c_wrap-p_top {
    padding: 4rem 4% 0;
  }
}

#wrap {
  padding: 0 2rem;
}
@media screen and (max-width: 767px) {
  #wrap {
    padding: 0 4%;
  }
  #wrap.page_wrap {
    padding: 10rem 4% 0;
  }
}

.wrap_inner {
  display: flex;
  justify-content: space-between;
  max-width: 120rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .wrap_inner {
    display: block;
  }
}

#main_content,
.main_content {
  width: 70%;
}
@media screen and (max-width: 767px) {
  #main_content,
  .main_content {
    width: 100%;
  }
}

.inner {
  max-width: 120rem;
  margin: 0 auto;
}

.inner02 {
  max-width: 100rem;
  margin: 0 auto;
}

.inner03 {
  width: 80rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .inner03 {
    width: 92%;
  }
}

.c_box {
  background: #f8f6f2;
  margin: 1rem 0 0;
  padding: 1.5rem;
}

.c_lead {
  text-align: center;
  margin: 5rem auto;
}

/*  common_kaisya_list_box
-------------------------------------------*/
.kaisya_list_box figure {
  margin: 0 0 1.5rem;
  overflow: hidden;
}
.kaisya_list_box figure img {
  width: 100%;
  height: 16rem;
  transition: 0.4s all;
}
.kaisya_list_box .name {
  font-size: 1.4rem;
  font-weight: bold;
  border-bottom: dashed 1px #eee;
  padding: 0 1rem 1rem;
  margin: 0 0 1rem;
}
@media screen and (max-width: 767px) {
  .kaisya_list_box .name {
    font-size: 1.3rem;
    padding: 0 0 3%;
    margin: 0 5% 3%;
  }
}
.kaisya_list_box .name span {
  display: block;
  font-size: 1.2rem;
  margin: 5px 0 0;
}
.kaisya_list_box:hover figure img {
  transform: scale(1.1);
}
.kaisya_list_box .rank_detail {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .kaisya_list_box .rank_detail {
    margin: 0 5% 4%;
  }
}
.kaisya_list_box .rank_detail dt {
  padding: 0 0 0 1rem;
}
@media screen and (max-width: 767px) {
  .kaisya_list_box .rank_detail dt {
    padding: 0 0 0;
  }
}
.kaisya_list_box .rank_detail dt img {
  display: inline-block;
  vertical-align: middle;
}
.kaisya_list_box .rank_detail dt .eval {
  font-weight: bold;
  font-size: 1.2rem;
  margin: 0 5.8rem 0 0;
  display: inline-block;
}
.kaisya_list_box .rank_detail dt .value {
  font-family: "Oswald", sans-serif;
  font-weight: bold;
  font-size: 2.2rem;
  margin: 0 0 0 8px;
  color: #bd0a0a;
}
.kaisya_list_box .rank_detail dd {
  text-align: center;
  padding: 0 1rem 0 0;
}
.kaisya_list_box .rank_detail dd .val01, .kaisya_list_box .rank_detail dd .val02 {
  font-size: 1.2rem;
  font-weight: bold;
}
.kaisya_list_box .rank_detail dd .val01 span, .kaisya_list_box .rank_detail dd .val02 span {
  font-size: 1.8rem;
  font-family: "Oswald", sans-serif;
  font-weight: bold;
  margin: 0 0.5rem;
  display: inline-block;
  color: #bd0a0a;
}
.kaisya_list_box .rank_detail dd .val01 {
  border-bottom: solid 2px #c0ae8c;
  padding: 0 0 3px;
  margin: 0 0 5px;
}

/*  rank_box01
-------------------------------------------*/
.rank_box01 {
  display: flex;
  justify-content: flex-start;
  margin: 0 0 5rem;
}
@media screen and (max-width: 767px) {
  .rank_box01 {
    display: block;
    margin: 0 0 5%;
  }
}
@media screen and (max-width: 767px) {
  .rank_box01 .kaisya_list_box:nth-of-type(2) figure img, .rank_box01 .kaisya_list_box:nth-of-type(3) figure img {
    display: none;
  }
  .rank_box01 .kaisya_list_box:nth-of-type(2) .name, .rank_box01 .kaisya_list_box:nth-of-type(3) .name {
    padding: 0 0 3% 4.5rem;
  }
}

/*  star
-------------------------------------------*/
.star_wrap .rev_num {
  font-family: "Oswald", sans-serif;
  font-weight: normal;
  font-size: 2.9rem;
  color: #bd0a0a;
  letter-spacing: 0;
  display: inline-block;
  vertical-align: baseline;
  margin: 0 0 0 1rem;
}
@media screen and (max-width: 767px) {
  .star_wrap .rev_num {
    font-size: 2.7rem;
    margin: 0 0 0 5px;
  }
}

@media screen and (max-width: 767px) {
  .star img {
    max-width: 55px;
  }
}
.star_wrap {
  --star-size: 1.4rem;
  --star-color: #ddd;
  --star-background: #f0c015;
}

.star_wrap.small {
  --star-size: 1.2rem;
}

.star_wrap.large {
  --star-size: 2rem;
}
@media screen and (max-width: 767px) {
  .star_wrap.large {
    --star-size: 1.4rem;
  }
}

.stars {
  --percent: calc(var(--rating) / 5 * 100%);
  display: inline-block;
  font-size: var(--star-size);
  line-height: 1;
}
.stars::before {
  content: "★★★★★";
  letter-spacing: 0.2rem;
  background: linear-gradient(90deg, var(--star-background) var(--percent), var(--star-color) var(--percent));
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  .stars::before {
    letter-spacing: 0.1rem;
  }
}

.common_search_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.common_search_wrap li {
  cursor: pointer;
  margin: 0 0.5% 1%;
  position: relative;
  width: 32%;
}
@media screen and (max-width: 767px) {
  .common_search_wrap li {
    margin: 0 0 2%;
    width: 49%;
    transition: all 0.4s ease 0s;
  }
}
.common_search_wrap li img {
  width: 100%;
}
.common_search_wrap a {
  display: block;
  position: relative;
}
.common_search_wrap figure {
  position: relative;
}
.common_search_wrap .num_post {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: #fff;
}
.common_search_wrap .num_post .area_name {
  font-weight: bold;
  font-size: 1.6rem;
  margin: 0 0 5px;
}
@media screen and (max-width: 767px) {
  .common_search_wrap .num_post .area_name {
    font-size: 1.4rem;
    margin: 0 0 8px;
  }
}
.common_search_wrap .num_post .val {
  font-family: "Oswald", sans-serif;
  font-size: 2.6rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .common_search_wrap .num_post .val {
    font-size: 2rem;
  }
}
.common_search_wrap .num_post .val span {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .common_search_wrap .num_post .val span {
    font-size: 1.3rem;
    margin: 0 0 0 3px;
  }
}

/*  area_search01
-------------------------------------------*/
.area_search01 {
  margin: 0 0 0;
}
.area_search01 li {
  width: 24%;
}
@media screen and (max-width: 767px) {
  .area_search01 li {
    width: 49%;
  }
}
.area_search01 .active figure::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border: solid 3px #f0c015;
}

/*  area_search02
-------------------------------------------*/
.area_search02 {
  margin: 2rem 0 8rem;
}
@media screen and (max-width: 767px) {
  .area_search02 {
    margin: 2rem 0 6rem;
  }
}

.area_search02 .area_list {
  border: solid 1px #eee;
  display: none;
  padding: 2.5rem;
}
.area_search02 .area_list .prefectures a {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  margin: 0 0 1rem;
  padding: 0 4px 5px;
  display: inline-block;
  color: #444;
  border-bottom: solid 2px #c0ae8c;
}
.area_search02 .area_list li {
  background: url("../img/arrow_07.png") no-repeat left center;
  background-size: 4px;
  display: inline-block;
  vertical-align: middle;
  padding: 0 0.8rem 0 1rem;
  font-size: 1.2rem;
}
.area_search02 .area_list li a.txt {
  color: #444;
  background: none;
}

.areatype_wrap {
  margin: 10rem 0 0;
}
@media screen and (max-width: 767px) {
  .areatype_wrap {
    margin: 10rem 0 5rem;
  }
}
.areatype_wrap .common_ttl01 {
  margin: 6rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .areatype_wrap .common_ttl01 {
    font-size: 1.8rem;
  }
}
.areatype_wrap .common_search_wrap li {
  width: 32%;
}
@media screen and (max-width: 767px) {
  .areatype_wrap .common_search_wrap li {
    width: 49%;
  }
}
.areatype_wrap .child_list .link_btn .txt {
  color: #444;
  background: none;
}

/*  all_prefecture
-------------------------------------------*/
.all_prefecture {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-betweenl;
}
.all_prefecture .item_wrap {
  width: 48%;
}
@media screen and (max-width: 767px) {
  .all_prefecture .item_wrap {
    width: 100%;
  }
}
.all_prefecture .item_wrap ul {
  display: flex;
  flex-wrap: wrap;
}
.all_prefecture .item_wrap ul li {
  line-height: 1.6;
  margin: 1rem 1rem 0 0;
}
.all_prefecture .item_wrap ul li a {
  color: #1b86ff;
}
.all_prefecture .region {
  font-weight: 700;
  margin: 2rem 0 0;
}

/*  .area_parea
-------------------------------------------*/
.area_parea {
  position: relative;
  width: 100%;
  opacity: 1;
  transition: 0.3s;
  transition-delay: 0.1s;
}

.area_parea.is_change {
  opacity: 0;
  height: 0;
  transition-delay: 0s;
  transform: translateX(-30px);
  pointer-events: none;
}

.area_swiche_btn {
  cursor: pointer;
  visibility: hidden;
  font-size: 2rem;
  font-weight: 700;
  margin: 0 1rem 2rem;
}
.area_swiche_btn.active {
  visibility: visible;
}

.desc_term {
  font-size: 1.5rem;
  margin: 0 0 4rem;
}

/*  pagination
-------------------------------------------*/
.m-pagenation__body {
  display: flex;
  justify-content: center;
  margin: 4rem 0;
}
.m-pagenation__body li {
  line-height: 2;
  width: 2.8rem;
  margin: 0 0.5rem;
  text-align: center;
}
.m-pagenation__body li.-current {
  background: #c0ae8c;
  border-radius: 0.5rem;
  color: #fff;
}

.intro_pr_text {
  background: #f8f6f2;
  font-size: 1.4rem;
  padding: 1rem 6px;
  margin: 1rem 0;
}

/*  Page - Breadcrumb - List
-------------------------------------------*/
.breadcrumb_list {
  background: #f8f6f2;
  color: #c0ae8c;
  font-size: 1.2rem;
  margin-bottom: 6rem;
  padding: 1.4rem 2rem;
}
@media screen and (max-width: 767px) {
  .breadcrumb_list {
    margin: 0 0 4rem;
    display: none;
  }
}
.breadcrumb_list.sp_breadcrumb {
  display: none;
}
@media screen and (max-width: 767px) {
  .breadcrumb_list.sp_breadcrumb {
    font-size: 1rem;
    display: block;
    margin: 6rem 0 0;
  }
}
.breadcrumb_list ol {
  max-width: 120rem;
  margin: 0 auto;
  line-height: 1.4;
}
.breadcrumb_list ol li {
  display: inline-block;
  vertical-align: middle;
  margin: 0 10px 0 0;
  padding: 0 10px 0 0;
  position: relative;
}
.breadcrumb_list ol li::after {
  content: "";
  display: block;
  position: absolute;
  right: -5px;
  top: 50%;
  width: 8px;
  height: 8px;
  background: url("../img/arrow_07.png") no-repeat center;
  background-size: contain;
  translate: 0 -50%;
}
@media screen and (max-width: 767px) {
  .breadcrumb_list ol li::after {
    width: 6px;
    height: 6px;
  }
}
.breadcrumb_list ol li:last-child::after {
  display: none;
}
.breadcrumb_list ol li:first-child a {
  color: #7f725c;
  font-weight: bold;
}/*# sourceMappingURL=main.css.map */