@charset "UTF-8";
/* ======================================================

   common-Setting

========================================================= */
html {}
*, *:before, *:after {
  box-sizing: border-box;
}
body {
  color: #2E2E2E;
  -webkit-text-size-adjust: 100%;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.05em;
}
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, table, th, td, pre, address, ul, ol, li, dl, dt, dd {
  font-size: 16px;
  font-weight: normal;
  text-align: left;
  line-height: 2;
}
li {
  list-style: none;
}
th, td {
  vertical-align: middle;
}
select {
  visibility: visible !important;
}
img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
a {
  color: #89A376;
  text-decoration: none;
}
a:hover {
  color: #89A376;
  text-decoration: underline;
}
.mt_20 {
  margin-top: 20px !important;
}
.mb_5 {
  margin-bottom: 5px !important;
}
.mb_10 {
  margin-bottom: 10px !important;
}
.mb_20 {
  margin-bottom: 20px !important;
}
.mb_30 {
  margin-bottom: 30px !important;
}
.mb_40 {
  margin-bottom: 40px !important;
}
.mb_50 {
  margin-bottom: 50px !important;
}
.mb_60 {
  margin-bottom: 60px !important;
}
.mb_70 {
  margin-bottom: 70px !important;
}
.mb_80 {
  margin-bottom: 80px !important;
}
.mb_90 {
  margin-bottom: 90px !important;
}
.mb_100 {
  margin-bottom: 100px !important;
}
.mb_t {
  margin-bottom: 20px !important;
}
.mb_s {
  margin-bottom: 30px !important;
}
.mb_m {
  margin-bottom: 50px !important;
}
.mb_l {
  margin-bottom: 70px !important;
}
.f_b {
  font-weight: bold;
}
.f_10 {
  font-size: 10px !important;
}
.f_12 {
  font-size: 12px !important;
}
.f_14 {
  font-size: 14px !important;
}
.f_16 {
  font-size: 16px !important;
}
.f_18 {
  font-size: 18px !important;
}
.f_20 {
  font-size: 20px !important;
}
.f_22 {
  font-size: 22px !important;
}
.text {
  margin-bottom: 1em;
}
.txt-l {
  text-align: left !important;
}
.txt-c {
  text-align: center !important;
}
.txt-r {
  text-align: right !important;
}
.pc_area, .tab_area {
  display: none;
}
.wrapper {
  padding-top: 60px;
  overflow-x: hidden;
  position: relative;
  background: #fbfaf8;
}
.index_main {
  margin-bottom: 60px;
}
.sub_page_main {
  margin: 0 auto 60px;
}
.topicpath {
  margin-bottom: 20px;
}
.topicpath ul {
  width: 100%;
  margin: 0 auto;
}
.topicpath li {
  display: inline;
  line-height: 1.4;
  font-size: 12px;
  position: relative;
  padding-right: 25px;
  margin-right: 10px;
}
.topicpath li::before, .topicpath li::after {
  content: "";
}
.topicpath li::after {
  display: inline-block;
  width: 15px;
  height: 15px;
  background: #C0B18A;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 3px;
}
.topicpath li::before {
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  right: 6px;
  top: 8px;
  z-index: 2;
}
.topicpath li:last-child:before, .topicpath li:last-child:after {
  content: none;
}
@media screen and (min-width: 600px) {
  .sp_area {
    display: none;
  }
  .tab_area {
    display: block;
  }
}
@media screen and (min-width: 1180px) {
  .mb_t {
    margin-bottom: 30px !important;
  }
  .mb_s {
    margin-bottom: 50px !important;
  }
  .mb_m {
    margin-bottom: 80px !important;
  }
  .mb_l {
    margin-bottom: 100px !important;
  }
  .pc_area {
    display: block;
  }
  .hover_opacity {
    transition: 0.3s;
  }
  .hover_opacity:hover {
    transition: 0.3s;
    opacity: 0.8;
  }
  .wrapper {
    padding-top: 0;
    position: relative;
  }
  .sub_page_main {
    margin: 0 auto 120px;
  }
  .topicpath li {
    font-size: 14px;
  }
}
/* ======================================================

   header

========================================================= */
.outer_header {
  width: 100%;
  height: 70px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  background: #FFF;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}
.outer_header.open {
  box-shadow: none;
}
.header {
  width: 90%;
  margin: 0 auto;
  position: relative;
}
.header .logo {
  width: 200px;
  position: absolute;
  top: 18px;
  margin: auto;
  left: 0;
  z-index: 999;
}
h1, header_contact {
  display: none;
}
/* hamburger menu */
.hamburger_menu_cover {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 999;
  background: #637b59;
}
.hamburger_menu {
  display: flex;
  align-items: center;
  width: 70px;
  height: 70px;
  padding: 20px;
  cursor: pointer;
}
.hamburger_menu__line {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: relative;
  transition: all 0.5s;
}
.hamburger_menu__line::before, .hamburger_menu__line::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  transition: all 0.5s;
}
.hamburger_menu__line::before {
  transform: translateY(-4px);
}
.hamburger_menu__line::after {
  transform: translateY(4px);
}
.hamburger_menu.open .hamburger_menu__line {
  background-color: transparent;
}
.hamburger_menu.open .hamburger_menu__line::before {
  transform: rotate(25deg);
}
.hamburger_menu.open .hamburger_menu__line::after {
  transform: rotate(-25deg);
}
.nav_sp {
  box-sizing: border-box;
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100vh;
  padding: 80px 0 20px;
  background: #FFF;
  text-align: left;
  transition: right 0.5s;
  overflow: scroll;
  z-index: 998;
}
.nav_sp.open {
  right: 0;
}
.nav_sp_inner {}
.nav_sp p.sp_menu_btn a {
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-size: 18px;
  line-height: 1.2;
  position: relative;
  border-bottom: 2px solid #F0F0F0;
  padding: 20px 25px;
  color: #2E2E2E;
  text-decoration: none;
}
.nav_sp p.sp_menu_btn a:before, .nav_sp p.sp_menu_btn a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.nav_sp p.sp_menu_btn a:before {
  width: 30px;
  height: 22px;
  border: 1px solid #EBE9DE;
  right: 30px;
  border-radius: 30px;
}
.nav_sp p.sp_menu_btn a:after {
  width: 10px;
  height: 3px;
  background: url("../images/arrow_b.png") no-repeat;
  background-size: contain;
  right: 39px;
}
/* サブメニューのトグルボタン */
.submenu_toggle {
  display: block;
  position: relative;
  cursor: pointer;
  color: #2E2E2E;
  font-size: 18px;
  padding: 20px 25px;
  border-bottom: 2px solid #F0F0F0;
  line-height: 1.2;
}
/* プラスマーク（開閉アイコン） */
.submenu_toggle::after, .submenu_toggle::before {
  content: "";
  display: block;
  background-color: #707070;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
}
.submenu_toggle::after {
  width: 10px;
  height: 1px;
}
.submenu_toggle::before {
  width: 1px;
  height: 10px;
  right: 35px;
}
.has_submenu.open .submenu_toggle::before {
  display: none;
}
/* サブメニュー */
.submenu {
  display: none;
  padding: 25px 30px;
  background: #F7F7F7;
}
.submenu li {
  font-size: 14px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin-bottom: 10px;
}
.submenu li:last-child {
  margin-bottom: 0;
}
.submenu li a {
  display: block;
  width: 100%;
  color: #2E2E2E;
  text-decoration: none;
  position: relative;
}
.submenu li a:before, .submenu li a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.submenu li a:before {
  width: 30px;
  height: 22px;
  border: 1px solid #EBE9DE;
  right: 0px;
  border-radius: 30px;
}
.submenu li a:after {
  width: 10px;
  height: 3px;
  background: url("../images/arrow_b.png") no-repeat;
  background-size: contain;
  right: 9px;
}
.nav_sp_inner .sp_menu_logo {
  width: 80%;
  margin: 0 auto 10px;
}
.nav_sp_inner .sp_menu_info {
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}
.nav_sp_inner .sp_menu_contact {
  text-align: center;
  font-weight: 600;
  margin-bottom: 5px;
  margin-top: 20px;
}
.footer_contact_btn {
  width: 94%;
  display: flex;
  margin: 0 auto 20px;
}
.footer_contact_btn .block {
  width: 49%;
  border-radius: 5px;
  position: relative;
}
.footer_contact_btn .block a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  text-decoration: none;
}
.footer_contact_btn .block p {
  text-align: center;
  color: #fff;
  line-height: 1;
}
.footer_contact_btn .block.tel_b {
  background: #89A376;
  padding-bottom: 10px;
}
.footer_contact_btn .block.line_b {
  background: #06C755;
  padding-bottom: 10px;
}
.footer_contact_btn .block ul {
  display: flex;
  justify-content: center;
  border-radius: 5px 5px 0 0;
}
.footer_contact_btn .block.tel_b ul {
  background: #647B59;
}
.footer_contact_btn .block.line_b ul {
  background: #06B54E;
}
.footer_contact_btn .block ul li {
  color: #fff;
  font-size: 12px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin: 5px 5px;
  font-weight: 500;
}
.footer_contact_btn .block ul li span {
  padding-left: 25px;
  position: relative;
}
.footer_contact_btn .block ul li span:before, .footer_contact_btn .block ul li span:after {
  content: "";
  display: block;
  position: absolute;
}
.footer_contact_btn .block ul li span:before {
  width: 17px;
  height: 17px;
  border-radius: 50%;
  border: 1px solid #fff;
  top: 2px;
  left: 0;
}
.footer_contact_btn .block ul li span:after {
  width: 7px;
  height: 6px;
  background: url("../images/check.png") no-repeat;
  background-size: contain;
  top: 8px;
  left: 5px;
}
.footer_contact_btn .block.tel_b .tel_num {
  margin-bottom: 5px;
  padding-top: 10px;
}
.footer_contact_btn .block.tel_b .tel_num span {
  padding-left: 23px;
  position: relative;
  font-family: "Noto Serif Display", serif;
  font-size: 20px;
}
.footer_contact_btn .block.tel_b .tel_num span:before {
  content: "";
  display: block;
  width: 15px;
  height: 16px;
  background: url("../images/tel_icon.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 9px;
  left: 0;
}
.footer_contact_btn .block.tel_b p {
  font-size: 12px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.footer_contact_btn .block .line_icon {
  padding-top: 12px;
}
.footer_contact_btn .block .line_icon span {
  padding-left: 35px;
  position: relative;
  font-size: 20px;
  font-weight: 500;
}
.footer_contact_btn .block .line_icon span:before {
  content: "";
  display: block;
  width: 27px;
  height: 26px;
  background: url("../images/line_icon.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 3px;
  left: 0;
}
.submenu.open {
  display: block;
}
.header_contact {
  display: none;
}
@media screen and (min-width: 1180px) {
  .outer_header {
    width: 330px;
    height: auto;
    left: 15px;
    top: 15px;
    padding-top: 20px;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
    max-height: calc(100vh - 30px); /* 上下15pxの余白を考慮した最大高さ */
    overflow-y: auto; /* 縦スクロールを有効化 */
    overflow-x: hidden; /* 横スクロールは非表示 */
  }
  /* Webkit系（Chrome / Safari） */
  .outer_header::-webkit-scrollbar {
    width: 4px;
  }
  .outer_header::-webkit-scrollbar-track {
    background: #f1f1f1;
  }
  .outer_header::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 4px;
  }
  .outer_header::-webkit-scrollbar-thumb:hover {
    background: #999;
  }
  .header {
    width: 100%;
  }
  .hamburger_menu_cover {
    display: none;
  }
  .header .logo {
    width: 163px;
    position: static;
    margin: 0 auto 20px;
  }
  .header_contact {
    margin-bottom: 30px;
    display: block;
  }
  .header_contact .block {
    width: 100%;
    position: relative;
  }
  .header_contact .block a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
  .header_contact .block p {
    text-align: center;
    color: #fff;
    line-height: 1;
  }
  .header_contact .block.tel_b {
    background: #89A376;
    padding-bottom: 12px;
  }
  .header_contact .block.line_b {
    background: #06C755;
    padding-bottom: 15px;
  }
  .header_contact .block ul {
    display: flex;
    justify-content: center;
  }
  .header_contact .block.tel_b ul {
    background: #647B59;
  }
  .header_contact .block.line_b ul {
    background: #06B54E;
  }
  .header_contact .block ul li {
    color: #fff;
    font-size: 12px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    margin: 8px;
    font-weight: 500;
  }
  .header_contact .block ul li span {
    padding-left: 20px;
    position: relative;
  }
  .header_contact .block ul li span:before, .header_contact .block ul li span:after {
    content: "";
    display: block;
    position: absolute;
  }
  .header_contact .block ul li span:before {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    border: 1px solid #fff;
    top: 2px;
    left: 0;
  }
  .header_contact .block ul li span:after {
    width: 7px;
    height: 6px;
    background: url("../images/check.png") no-repeat;
    background-size: contain;
    top: 7px;
    left: 4px;
  }
  .header_contact .block.tel_b .tel_num {
    margin-bottom: 5px;
    padding-top: 10px;
  }
  .header_contact .block.tel_b .tel_num span {
    padding-left: 20px;
    position: relative;
    font-family: "Noto Serif Display", serif;
    font-size: 20px;
  }
  .header_contact .block.tel_b .tel_num span:before {
    content: "";
    display: block;
    width: 13px;
    height: 14px;
    background: url("../images/tel_icon.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: 7px;
    left: 0;
  }
  .header_contact .block.tel_b p {
    font-size: 12px;
    font-family: "Zen Kaku Gothic New", sans-serif;
  }
  .header_contact .block .line_icon {
    margin-bottom: 8px;
    padding-top: 20px;
  }
  .header_contact .block .line_icon span {
    padding-left: 36px;
    position: relative;
    font-size: 18px;
    font-weight: 500;
  }
  .header_contact .block .line_icon span:before {
    content: "";
    display: block;
    width: 26px;
    height: 24px;
    background: url("../images/line_icon.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: 2px;
    left: 0;
  }
  .nav_sp {
    position: static;
    width: 100%;
    height: auto;
    padding: 0;
    background: #FFF;
    text-align: left;
    transition: right 0.5s;
    overflow: auto;
  }
  .submenu_toggle {
    font-size: 16px;
  }
  .nav_sp p.sp_menu_btn a {
    font-size: 16px;
  }
  .submenu {
    padding: 30px 20px;
    background: #F7F7F7;
  }
  .submenu li {
    font-size: 14px;
    line-height: 1.5;
  }
  .submenu li a:before, .submenu li a:after {
    content: none;
  }
}
/* ======================================================

   footer

========================================================= */
.outer_footer {
  padding-top: 40px;
}
.footer {
  width: 90%;
  margin: 0 auto;
  padding-bottom: 90px;
}
.footer .footer_info .f_logo {
  width: 80%;
  max-width: 280px;
  margin: 0 auto 40px;
}
.footer .footer_info p {
  font-size: 11px;
  line-height: 1.6;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-align: center;
}
.copy {
  margin-top: 40px;
  font-size: 12px !important;
  font-family: "Sorts Mill Goudy", serif;
  text-align: center;
  letter-spacing: 0;
  /*    justify-content: center;
    flex-direction: column;
    margin-top: auto;*/
}
.footer_follow {
  display: none;
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 998;
}
.sp_btm_contact {
  display: flex;
  justify-content: space-between;
}
.sp_btm_contact .block {
  width: 50%;
  height: 80px;
  box-sizing: border-box;
  position: relative;
}
.sp_btm_contact .block a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.sp_btm_contact .block p {
  text-align: center;
  color: #fff;
  line-height: 1;
}
.sp_btm_contact .block.tel_b {
  background: #89A376;
  padding-bottom: 12px;
}
.sp_btm_contact .block.line_b {
  background: #06C755;
  padding-bottom: 15px;
}
.sp_btm_contact .block ul {
  display: flex;
  justify-content: center;
}
.sp_btm_contact .block.tel_b ul {
  background: #647B59;
}
.sp_btm_contact .block.line_b ul {
  background: #06B54E;
}
.sp_btm_contact .block ul li {
  color: #fff;
  font-size: 12px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin: 5px 8px;
  font-weight: 500;
}
.sp_btm_contact .block ul li span {
  padding-left: 20px;
  position: relative;
}
.sp_btm_contact .block ul li span:before, .sp_btm_contact .block ul li span:after {
  content: "";
  display: block;
  position: absolute;
}
.sp_btm_contact .block ul li span:before {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  border: 1px solid #fff;
  top: 2px;
  left: 0;
}
.sp_btm_contact .block ul li span:after {
  width: 7px;
  height: 6px;
  background: url("../images/check.png") no-repeat;
  background-size: contain;
  top: 7px;
  left: 4px;
}
.sp_btm_contact .block.tel_b .tel_num {
  margin-bottom: 5px;
  padding-top: 7px;
}
.sp_btm_contact .block.tel_b .tel_num span {
  padding-left: 16px;
  position: relative;
  font-family: "Noto Serif Display", serif;
  font-size: 16px;
}
.sp_btm_contact .block.tel_b .tel_num span:before {
  content: "";
  display: block;
  width: 12px;
  height: 13px;
  background: url("../images/tel_icon.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 5px;
  left: 0;
}
.sp_btm_contact .block.tel_b p {
  font-size: 11px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.sp_btm_contact .block .line_icon {
  margin-bottom: 8px;
  padding-top: 12px;
}
.sp_btm_contact .block .line_icon span {
  padding-left: 28px;
  position: relative;
  font-size: 15px;
  font-weight: 500;
}
.sp_btm_contact .block .line_icon span:before {
  content: "";
  display: block;
  width: 20px;
  height: 19px;
  background: url("../images/line_icon.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 2px;
  left: 0;
}
.foot_sitemap {
  display: none;
}
@media screen and (min-width: 1180px) {
  .outer_footer {
    margin-top: 60px;
    box-sizing: border-box;
    padding-left: 345px;
    padding-top: 60px;
    background: linear-gradient(90deg, #FBFAF8 0%, #FBFAF8 46.25%, #fff 46.25%, #fff 100%);
  }
  .footer {
    width: 100%;
    max-width: 1300px;
    padding-bottom: 100px;
    display: flex;
    justify-content: space-between;
  }
  .footer .footer_info .f_logo {
    max-width: 360px;
    margin: 0 0 60px;
  }
  .footer .footer_info p {
    font-size: 15px;
    text-align: left;
    line-height: 1.8;
  }
  .footer_info {
    width: 33%;
    display: flex;
    flex-direction: column;
  }
  .foot_sitemap {
    display: flex;
    justify-content: space-between;
    width: 51%;
  }
  .foot_sitemap .block {
    width: 45%;
  }
  .foot_sitemap .block p {
    font-size: 20px;
    color: #8C7D61;
    margin-bottom: 30px;
    line-height: 1.5;
  }
  .foot_sitemap .block p a {
    color: #8C7D61;
    text-decoration: none;
  }
  .foot_sitemap .block p.title {
    border-bottom: 1px solid #D9D9D9;
    margin-bottom: 20px !important;
    padding-bottom: 15px;
  }
  .foot_sitemap .block ul li {
    font-size: 14px;
    font-family: "Zen Kaku Gothic New", sans-serif;
  }
  .foot_sitemap .block ul li a {
    color: #4A4A4A;
    text-decoration: none;
  }
  .copy {
    display: flex;
    justify-content: center;
    flex-direction: column;
    margin-top: auto;
  }
  .footer_follow .sp_btm_contact {
    display: none;
  }
}
/* ======================================================

   footer contact

========================================================= */
.footer_contact {
  width: 100%;
  background: url("../images/f_contact_bg.jpg") no-repeat center top;
  background-size: cover;
  padding: 80px 0;
  box-sizing: border-box;
}
.footer_contact .main_sec {
  width: 81%;
  margin: 0 auto;
  text-align: center;
}
.footer_contact .sp_area {
  text-align: center;
  margin-bottom: 15px;
}
.footer_contact .main_sec .text01 {
  font-size: 18px;
  color: #615848;
  padding: 8px 10px;
  display: inline-block;
  background: rgba(255, 255, 255, 0.85);
  line-height: 1;
  border-radius: 5px;
  margin: 0 auto;
}
.footer_contact .main_sec .text01 span {
  color: #647B59;
  font-size: 21px;
}
.footer_contact .main_sec .footer_contact_btn {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin: 50px auto 20px;
}
.footer_contact .main_sec .footer_contact_btn .block {
  width: 100%;
  border-radius: 5px;
  position: relative;
}
.footer_contact .main_sec .footer_contact_btn .block a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  text-decoration: none;
}
.footer_contact .main_sec .footer_contact_btn .block p {
  text-align: center;
  color: #fff;
  line-height: 1;
}
.footer_contact .main_sec .footer_contact_btn .block.tel_b {
  background: #89A376;
  padding-bottom: 15px;
}
.footer_contact .main_sec .footer_contact_btn .block.line_b {
  background: #06C755;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
.footer_contact .main_sec .footer_contact_btn .block ul {
  display: flex;
  justify-content: center;
  border-radius: 5px 5px 0 0;
}
.footer_contact .main_sec .footer_contact_btn .block.tel_b ul {
  background: #647B59;
}
.footer_contact .main_sec .footer_contact_btn .block.line_b ul {
  background: #06B54E;
}
.footer_contact .main_sec .footer_contact_btn .block ul li {
  color: #fff;
  font-size: 14px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin: 5px 8px;
  font-weight: 500;
}
.footer_contact .main_sec .footer_contact_btn .block ul li span {
  padding-left: 25px;
  position: relative;
}
.footer_contact .main_sec .footer_contact_btn .block ul li span:before, .footer_contact .main_sec .footer_contact_btn .block ul li span:after {
  content: "";
  display: block;
  position: absolute;
}
.footer_contact .main_sec .footer_contact_btn .block ul li span:before {
  width: 17px;
  height: 17px;
  border-radius: 50%;
  border: 1px solid #fff;
  top: 2px;
  left: 0;
}
.footer_contact .main_sec .footer_contact_btn .block ul li span:after {
  width: 7px;
  height: 6px;
  background: url("../images/check.png") no-repeat;
  background-size: contain;
  top: 8px;
  left: 5px;
}
.footer_contact .main_sec .footer_contact_btn .block.tel_b .tel_num {
  margin-bottom: 5px;
  padding-top: 10px;
}
.footer_contact .main_sec .footer_contact_btn .block.tel_b .tel_num span {
  padding-left: 23px;
  position: relative;
  font-family: "Noto Serif Display", serif;
  font-size: 22px;
}
.footer_contact .main_sec .footer_contact_btn .block.tel_b .tel_num span:before {
  content: "";
  display: block;
  width: 15px;
  height: 16px;
  background: url("../images/tel_icon.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 9px;
  left: 0;
}
.footer_contact .main_sec .footer_contact_btn .block.tel_b p {
  font-size: 12px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.footer_contact .main_sec .footer_contact_btn .block .line_icon {
  padding-top: 12px;
}
.footer_contact .main_sec .footer_contact_btn .block .line_icon span {
  padding-left: 35px;
  position: relative;
  font-size: 20px;
  font-weight: 500;
}
.footer_contact .main_sec .footer_contact_btn .block .line_icon span:before {
  content: "";
  display: block;
  width: 27px;
  height: 26px;
  background: url("../images/line_icon.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 3px;
  left: 0;
}
.footer_contact .main_sec .footer_contant_form {
  text-align: center;
  font-size: 16px;
}
.footer_contact .main_sec .footer_contant_form a {
  color: #fff;
  text-decoration: none;
}
.footer_contact .main_sec .footer_contant_form span {
  padding-left: 47px;
  padding-top: 5px;
  position: relative;
}
.footer_contact .main_sec .footer_contant_form span:before, .footer_contact .main_sec .footer_contant_form span:after {
  content: "";
  display: block;
  position: absolute;
}
.footer_contact .main_sec .footer_contant_form span:after {
  width: 14px;
  height: 10px;
  background: url("../images/mail_icon.png") no-repeat;
  background-size: contain;
  top: 13px;
  left: 11px;
}
.footer_contact .main_sec .footer_contant_form span:before {
  width: 36px;
  height: 36px;
  background: #fff;
  border-radius: 50%;
  top: 0;
  left: 0;
}
@media screen and (min-width: 1180px) {
  .footer_contact {
    background: url("../images/f_contact_bg02.jpg") no-repeat center top;
    background-size: cover;
    padding: 120px 0 120px 345px;
  }
  .footer_contact .main_sec {
    max-width: 740px;
    text-align: center;
  }
  .footer_contact .pc_area {
    margin-bottom: 10px;
  }
  .footer_contact .main_sec .text01 {
    font-size: 26px;
    padding: 10px 16px;
    text-align: center;
  }
  .footer_contact .main_sec .text01 span {
    font-size: 30px;
  }
  .footer_contact .main_sec .footer_contact_btn {
    flex-direction: row;
    justify-content: space-between;
    margin: 40px auto 30px;
  }
  .footer_contact .main_sec .footer_contact_btn .block {
    width: 48.6%;
  }
  .footer_contact .main_sec .footer_contact_btn .block.line_b {
    padding-bottom: 30px;
    margin-bottom: 0;
  }
  .footer_contact .main_sec .footer_contact_btn .block.tel_b {
    padding-bottom: 20px;
  }
  .footer_contact .main_sec .footer_contact_btn .block.tel_b p {
    font-size: 14px;
  }
  .footer_contact .main_sec .footer_contant_form {
    font-size: 18px;
  }
  .footer_contact .main_sec .footer_contact_btn .block ul li {
    margin: 10px 8px;
  }
  .footer_contact .main_sec .footer_contact_btn .block .line_icon {
    padding-top: 30px;
  }
  .footer_contact .main_sec .footer_contact_btn .block.tel_b .tel_num {
    margin-bottom: 5px;
    padding-top: 20px;
  }
}
/* ======================================================

   contents

========================================================= */
.contents_block {
  width: 100%;
  border-bottom: 2px solid #e1e1df;
  padding: 30px 0;
  margin-bottom: 50px;
  background: #fbfaf8;
  position: static;
  box-sizing: border-box;
  z-index: 997;
}
.contents_block.fixed {
  position: fixed;
  top: 0;
}
.contents_block ul {
  width: 90%;
  margin: 0 auto;
}
.contents_block ul li {
  line-height: 1.4;
  font-size: 15px;
  margin-bottom: 15px;
  width: 100%;
}
.contents_block ul li:last-child {
  margin-bottom: 0;
}
.contents_block ul li a {
  display: block;
  width: 100%;
  text-decoration: none;
  color: #2E2E2E;
  position: relative;
  box-sizing: border-box;
  padding-right: 25px;
}
.contents_block ul li a:before, .contents_block ul li a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.contents_block ul li a:before {
  width: 18px;
  height: 18px;
  border: 1px solid rgba(97, 88, 72, 0.3);
  border-radius: 50%;
  right: 0;
}
.contents_block ul li a:after {
  right: 6px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #615848;
  border-right: 1px solid #615848;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  margin-top: -3px;
}
@media screen and (min-width: 1180px) {
  .contents_block {
    padding: 40px 0 40px 24%;
    box-sizing: border-box;
  }
  .contents_block ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .contents_block ul li {
    font-size: 16px;
    margin-bottom: 15px;
    width: auto;
    border-right: 1px solid #D9D9D9;
    padding: 0 35px;
  }
  .contents_block ul li:last-child {
    margin-bottom: 15px;
    border-right: none;
  }
  .contents_block ul li a {
    display: inline-block;
    width: auto;
    text-decoration: none;
    color: #2E2E2E;
    position: relative;
    box-sizing: border-box;
    padding-right: 25px;
  }
  .contents_block ul li a:before, .contents_block ul li a:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  .contents_block ul li a:before {
    width: 18px;
    height: 18px;
    border: 1px solid rgba(97, 88, 72, 0.3);
    border-radius: 50%;
    right: 0;
  }
  .contents_block ul li a:after {
    right: 6px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #615848;
    border-right: 1px solid #615848;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    margin-top: -3px;
  }
}
/* ======================================================

   block

========================================================= */
.main_sec {
  width: 90%;
  margin: 0 auto;
}
@media screen and (min-width: 1180px) {
  .main_sec {
    max-width: 1100px;
  }
  .main_sec_outer {
    padding-left: 345px;
  }
}
.row-content .block {
  margin-bottom: 30px;
}
.row-content .block:last-child {
  margin-bottom: 0;
}
.row-content .block .img {
  width: 80%;
  margin: 0 auto 20px;
}
@media screen and (min-width: 1180px) {
  .row-content {
    display: flex;
    flex-wrap: wrap;
  }
  .row-content .block {
    margin-top: 50px;
    margin-bottom: 0;
  }
  .row-content.row-2 .block:nth-child(-n+2) {
    margin-top: 0;
  }
  .row-content.row-3 .block:nth-child(-n+3) {
    margin-top: 0;
  }
  .row-content.row-4 .block:nth-child(-n+4) {
    margin-top: 0;
  }
  .row-content.row-2 .block {
    width: 48%;
  }
  .row-content.row-2 .block:nth-child(2n) {
    margin-left: auto;
  }
  .row-content.row-3 .block {
    width: 30%;
    margin-right: 5%;
  }
  .row-content.row-4 .block {
    width: 23.5%;
    margin-right: 2%;
  }
  .row-content.row-3 .block:nth-child(3n), .row-content.row-4 .block:nth-child(4n) {
    margin-right: 0;
  }
}
.anc_blc {
  margin-top: -70px;
  padding-top: 70px;
}
@media screen and (min-width: 1180px) {
  .anc_blc {
    margin-top: 0px;
    padding-top: 0px;
  }
}
.main_sec_bg {
  background: #fff;
  padding: 30px 0;
}
.image_l .img, .image_r .img {
  margin: 0 auto 20px;
}
.main_sec_bg_inner .image_l .txt, .main_sec_bg_inner .image_r .txt {
  width: 100%;
}
@media screen and (min-width: 1180px) {
  .image_l, .image_r {
    display: flex;
    align-items: center;
  }
  .image_r {
    justify-content: flex-end;
    flex-direction: row-reverse;
  }
  .image_l .img, .image_r .img {
    width: 40%;
    margin: 0;
  }
  .image_l .txt, .image_r .txt, .main_sec_bg_inner .image_l .txt, .main_sec_bg_inner .image_r .txt {
    width: 55%;
  }
  .image_l .txt {
    margin-left: auto;
  }
  .image_r .txt {
    margin-right: auto;
  }
}
.gmap {
  height: 250px;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
@media screen and (min-width: 600px) {
  /* 現在は何もないので削除するか、必要なスタイルを追加 */
}
@media screen and (min-width: 1180px) {
  .gmap {
    height: 350px;
  }
}
/* ======================================================

   title

========================================================= */
.page_title {
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.page_title .h2_block {
  position: relative;
  /*overflow: hidden;*/
}
.page_title .h2_block .watermark-text {
  position: absolute;
  top: 0;
  left: 0px;
  color: #fff;
  line-height: 1;
  font-weight: 500;
  /*transform: translateY(-50%);*/
  font-size: clamp(56px, 14vw, 110px);
}
.page_title .h2_block .h2_inner {
  width: 96%;
  margin: 0 auto 20px;
  position: relative;
  z-index: 1;
}
.page_title .h2_block .h2_inner .en-label {
  color: #C0B18A;
  font-size: 14px;
  padding-top: 35px;
  margin-bottom: 20px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.025em;
  /*      font-family: var(--font-en-display);

      */
}
.page_title .h2_block .h2_inner h2 {
  color: #615848;
  font-size: 26px;
  letter-spacing: 0.025em;
  line-height: 1.4;
  margin-bottom: 20px;
  /*
      font-weight: 400;
      font-size: clamp(22px, 5.5vw, 28px);
      margin-bottom: 20px;*/
}
.page_title .h2_image {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  flex-shrink: 0;
}
.page_title .h2_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.ttl_pt01 {
  font-size: 23px;
  line-height: 1.4;
  border-bottom: 1px solid #d9d9d7;
  padding-bottom: 0.8em;
  margin-bottom: 20px;
}
.ttlpt01_eng_txt {
  position: relative;
  padding-left: 18px;
  color: #615848;
  font-size: 12px;
  font-family: "Sorts Mill Goudy", serif;
}
.ttlpt01_eng_txt:before {
  content: "";
  display: block;
  width: 13px;
  height: 12px;
  background: url("../images/icon01.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 4px;
  left: 0;
}
.ttl_pt02 {
  font-size: 20px;
  color: #647B59;
  border-bottom: 1px solid #D9D9D9;
  padding: 0.8em 0;
  margin-bottom: 20px;
  line-height: 1.4;
}
.ttl_pt03 {
  font-size: 18px;
  border-top: 1px solid #615848;
  border-bottom: 1px solid #D9D9D9;
  margin-bottom: 20px;
  padding: 0.6em 0;
  line-height: 1.4;
}
.ttl_pt04 {
  padding-left: 1.2em;
  font-size: 17px;
  font-weight: 600;
  position: relative;
  line-height: 1.6;
  margin-bottom: 10px;
}
.ttl_pt04:before {
  content: "";
  display: block;
  width: 15px;
  height: 14px;
  background: url("../images/icon01.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 8px;
  left: 0;
}
@media screen and ( max-width:1400px) and ( min-width:1180px) {
  .page_title {
    width: 65%!important;
    margin-left: 35%!important;
    flex-direction: row;
    box-sizing: border-box;
  }
}
	@media screen and (min-width: 1180px) {
  .page_title {
    width: 76%;
    margin-left: 24%;
    flex-direction: row;
    box-sizing: border-box;
  }
  .page_title .h2_block {
    display: flex;
    min-height: unset;
    align-items: flex-end;
    flex: 0 0 55%;
    padding: 40px 60px 40px 0;
  }
  .page_title .h2_block .watermark-text {
    top: 7vw;
    left: -10%;
  }
  .page_title .h2_block .h2_inner {
    width: 96%;
    margin: 0 auto 20px;
    position: relative;
    z-index: 1;
  }
  .page_title .h2_block .h2_inner .en-label {
    font-size: 23px;
    padding-top: 0;
    margin-bottom: 20px;
  }
  .page_title .h2_block .h2_inner h2 {
    font-size: 49px;
    margin-bottom: 20px;
  }
  .page_title .h2_image {
    flex: 0 0 45%;
    aspect-ratio: unset;
    height: auto;
    max-height: 480px;
  }
  .ttl_pt01 {
    font-size: 34px;
    padding-bottom: 0.8em;
    margin-bottom: 30px;
  }
  .ttlpt01_eng_txt {
    padding-left: 1.8em;
    font-size: 20px;
  }
  .ttlpt01_eng_txt:before {
    width: 26px;
    height: 23px;
    top: 5px;
  }
  .ttl_pt02 {
    font-size: 28px;
    padding: 0.8em 0;
    margin-bottom: 35px;
    line-height: 1.7;
  }
  .ttl_pt03 {
    font-size: 22px;
    margin-bottom: 30px;
    padding: 0.6em 0;
    line-height: 1.7;
  }
  .ttl_pt04 {
    padding-left: 1.2em;
    font-size: 20px;
  }
  .ttl_pt04:before {
    width: 18px;
    height: 17px;
    top: 8px;
    left: 0;
  }
}
/* ======================================================

   list

========================================================= */
.list_pt01 li {
  position: relative;
  font-size: 16px;
  margin-bottom: 10px;
  padding-left: 20px;
  line-height: 1.4;
}
.list_pt01 li::before {
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 0;
  width: 16px;
  height: 15px;
  background: url("../images/icon01.png") no-repeat;
  background-size: contain;
}
.list_pt02 li {
  position: relative;
  font-size: 16px;
  margin-bottom: 5px;
  padding-left: 20px;
}
.list_pt02 li::before {
  display: block;
  content: '';
  position: absolute;
  top: 14px;
  left: 3px;
  width: 6px;
  height: 6px;
  background-color: #12145a;
  border-radius: 3px;
}
.list_pt01 li:last-child, .list_pt02 li:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 1180px) {
  /* 現在は何もないので削除するか、必要なスタイルを追加 */
}
/* ======================================================

   table

========================================================= */
.tbl_pt01 {
  width: 100%;
  table-layout: fixed;
  margin-bottom: 50px;
}
.tbl_pt02 {
  width: 100%;
  border-right: #d9d9d9 solid 1px;
  border-top: #d9d9d9 solid 1px;
  table-layout: fixed;
}
.tbl_pt01 th {
  padding: 15px 0 0px;
}
.tbl_pt01 th, .tbl_pt01 td {
  line-height: 1.4;
}
.tbl_pt01 td {
  padding: 5px 0 15px;
  border-bottom: #d9d9d9 solid 1px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.tbl_pt02 th, .tbl_pt02 td {
  padding: 10px 15px;
  border-left: #d9d9d9 solid 1px;
  border-bottom: #d9d9d9 solid 1px;
}
.tbl_pt01 tr, .tbl_pt01 th, .tbl_pt01 td {
  display: block;
  box-sizing: border-box;
}
.tbl_pt01 th, .tbl_pt02 th {
  color: #647B59;
  font-weight: 500;
}
.tbl_pt02 thead th {
  background: #637b59;
  color: #FFF;
  text-align: center;
  font-weight: 600;
}
.tbl_pt02 tbody th {
  /*background: #e4e7d6;*/
}
.wp15 {
  width: 15% !important;
}
.wp20 {
  width: 20% !important;
}
.wp25 {
  width: 25% !important;
}
.wp30 {
  width: 30% !important;
}
.wp35 {
  width: 35% !important;
}
.scroll {
  overflow-x: auto;
}
.scroll::-webkit-scrollbar {
  height: 5px;
}
.scroll::-webkit-scrollbar-track {
  background: #F1F1F1;
}
.scroll::-webkit-scrollbar-thumb {
  background: #BCBCBC;
}
.scroll table {
  min-width: 750px;
}
@media screen and (min-width: 600px) {
  .scroll table {
    min-width: unset;
  }
  .tbl_pt02 th, .tbl_pt02 td {
    padding: 25px 20px;
  }
  .tbl_pt01 tr {
    display: table-row;
  }
  .tbl_pt01 th {
    padding: 15px 0 0px;
    border-bottom: #d9d9d9 solid 1px;
  }
  .tbl_pt01 th, .tbl_pt01 td {
    padding: 25px 0;
    line-height: 1.6;
  }
  .tbl_pt01 th {
    width: 25%;
  }
  .tbl_pt01 th, .tbl_pt01 td {
    display: table-cell;
  }
  .scroll {
    overflow: hidden;
  }
}
@media screen and (min-width: 1180px) {
  /* 現在は何もないので削除するか、必要なスタイルを追加 */
}
/* ======================================================

   button

========================================================= */
.txt_btn {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
}
.txt_btn a {
  display: block;
  background: #2e2e2e;
  text-decoration: none;
  padding: 20px 35px 20px 15px;
  color: #FFF;
  border-radius: 10px;
  position: relative;
}
.txt_btn.green a {
  background: #647B59;
}
.txt_btn a:before, .txt_btn a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.txt_btn a:before {
  width: 50px;
  height: 30px;
  background: rgba(255, 255, 255, 0.2);
  right: 15px;
  border-radius: 30px;
}
.txt_btn a:after {
  width: 13px;
  height: 4px;
  background: url("../images/arrow.png") no-repeat;
  background-size: contain;
  right: 32px;
}
@media screen and (min-width: 1180px) {
  .txt_btn {
    transition: 0.3s;
  }
  .txt_btn:hover {
    transition: 0.3s;
    opacity: 0.8;
  }
  .txt_btn a {}
  .w200 {
    max-width: 200px;
  }
  .w250 {
    max-width: 250px;
  }
  .w300 {
    max-width: 300px;
  }
  .w350 {
    max-width: 350px;
  }
  .w400 {
    max-width: 400px;
  }
  .w450 {
    max-width: 450px;
  }
  .w500 {
    max-width: 500px;
  }
  .w200, .w250, .w300, .w350, .w400, .w450, .w500 {
    margin: 0 auto;
  }
}
/* ======================================================

   flow

========================================================= */
.stepbar {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.stepbar:before {
  content: "";
  display: block;
  width: 1px;
  height: 80%;
  position: absolute;
  left: 22.5px;
  top: 10px;
  background: #637b59;
}
.stepbar .stepbarwrap {
  position: relative;
  margin-bottom: 30px;
  z-index: 4;
}
.stepbar .stepbarwrap:last-child {
  margin-bottom: 0;
}
.stepbar .stepbarwrap .steptitle {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.stepbar .stepbarwrap .steptitle .stepcircle {
  display: block;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background-color: #637b59;
  color: #fff;
  text-align: center;
  box-sizing: border-box;
  padding-top: 10px;
  margin-right: 15px;
}
.stepbar .stepbarwrap .steptitle .stepcircle {
  font-weight: 600;
  font-size: 18px;
  line-height: 1;
}
.stepbar .stepbarwrap .steptitle .stepcircle span {
  font-size: 10px;
  display: block;
}
.stepbar .stepbarwrap .steptitle .title {
  font-weight: bold;
  font-weight: 600;
  line-height: 1.4;
  font-size: 17px;
  color: #637b59;
}
.stepbar .stepbarwrap .steptxt {
  padding-left: 60px;
}
.stepbar .stepbarwrap .steptxt p {
  line-height: 1.6;
}
.stepbar .stepbarwrap .stepline {
  width: 1px;
  height: calc(100% + 1em);
  background-color: #000;
  position: absolute;
  top: 1em;
  left: 1.5em;
  z-index: -1;
}
.stepbarwrap:last-of-type .stepline:last-of-type {
  display: none;
}
@media screen and (min-width: 1180px) {
  .stepbar .stepbarwrap .steptitle .title {
    font-size: 22px;
  }
}
.sub_image_outer {
  position: relative;
  z-index: 2;
  background: #fff;
}
.sub_image_outer .inner-block {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 0 40px;
  z-index: 9;
}
.sub_image_outer:after {
  content: "";
  width: 100%;
  height: 20px;
  position: absolute;
  bottom: -20px;
  left: 0;
  right: 0;
  margin: auto;
  background: #F1F1E7;
}
.sub_image_outer .img {
  width: 100%;
  margin: 0 auto 30px;
  position: relative;
  z-index: 2;
}
.sub_image_outer .img img {
  width: 100%;
  object-fit: cover;
}
.sub_image_outer .txt-area {
  width: 90%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1180px) {
  .sub_image_outer {
    padding: 60px 0;
    background: none;
  }
  .sub_image_outer:before {
    content: "";
    display: block;
    position: absolute;
    width: 92%;
    height: 100%;
    top: 0;
    left: 0;
    background: #fff;
    z-index: 3;
  }
  .sub_image_outer:after {
    width: 70%;
    height: 85%;
    left: auto;
    right: 0;
    bottom: -30px;
  }
  .sub_image_outer .inner-block {
    padding: 0;
  }
  .sub_image_outer .sub_image_l, .sub_image_outer .sub_image_r {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
  }
  .sub_image_outer .sub_image_l {
    margin-left: calc(50% - 50vw);
    width: 100vw;
  }
  .sub_image_outer .sub_image_r {
    margin-right: calc(50% - 68vw);
    flex-direction: row-reverse;
  }
  .sub_image_outer .img {
    width: auto;
    margin: 0;
  }
  .sub_image_outer .sub_image_l .img {
    flex: 0 1 54.17vw;
  }
  .sub_image_outer .sub_image_r .img {
    flex: 0 1 54.17vw;
  }
  .sub_image_outer .txt-area {
    width: 100%;
    flex: 0 1 33.33vw;
    margin: 0;
  }
  .sub_image_outer .sub_image_l .txt-area .txt-inner {
    padding: 0 0 0 90px;
  }
  .sub_image_outer .sub_image_l .txt-area .ttl_pt02 {
    box-sizing: border-box;
    padding-left: 90px;
  }
  .sub_image_outer .sub_image_r .txt-area .txt-inner {
    padding: 0 90px 0 0;
  }
  .sub_image_outer .sub_image_r .txt-area .ttl_pt02 {
    box-sizing: border-box;
    padding-right: 90px;
  }
}
.pickup_content {
  padding: 30px 0;
  background: #E5E7D6;
  position: relative;
}
.pickup_content:before {
  content: "Pick Up";
  color: rgba(255, 255, 255, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 80px;
  line-height: 1;
}
.pickup_content .main_sec {
  position: relative;
  z-index: 2;
}
.pickup_content .pickup_title {
  text-align: center;
  font-weight: 500;
  margin: 0 auto 20px;
  color: #615848;
  font-size: 20px;
  line-height: 1.6;
  position: relative;
}
.pickup_content .pickup_title span {
  display: block;
  font-weight: 400;
  font-size: 16px;
  margin-bottom: 5px;
  position: relative;
}
.pickup_content .pickup_title span:before {
  content: "";
  display: inline-block;
  width: 13px;
  height: 12px;
  background: url("../images/icon01.png") no-repeat;
  background-size: contain;
  margin-right: 5px;
}
@media screen and (min-width: 1180px) {
  .pickup_content {
    padding: 60px 0 80px;
  }
  .pickup_content:before {
    top: 10px;
    font-size: 140px;
  }
  .pickup_content .pickup_title {
    margin: 0 auto 30px;
    font-size: 28px;
  }
}
/* ======================================================

   contact

========================================================= */
.contact_tel {
  position: relative;
}
.contact_tel p {
  text-align: center;
  line-height: 1.6;
}
.contact_tel .tel_num {
  font-size: 34px;
}
.contact_tel .tel_num a {
  text-decoration: none;
}
.contact_flow {
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
}
.contact_flow li {
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  background: #C0B18A;
  color: #fff;
  padding: 8px 10px;
  position: relative;
  margin-bottom: 20px;
}
.contact_flow li.active {
  background: #89A376;
}
.contact_flow li:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  margin: auto;
  border-style: solid;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-top: 10px solid #C0B18A;
  border-bottom: 0;
}
.contact_flow li.active:after {
  border-top: 10px solid #89A376;
}
.contact_flow li:last-child {
  margin-bottom: 0;
}
.contact_flow li:last-child:after {
  content: none;
}
.txt_btn.line_btn a {
  background: #06C755;
}
@media screen and (min-width: 1180px) {
  .contact_tel .tel_num {
    font-size: 46px;
  }
  .contact_flow {
    flex-direction: row;
    justify-content: space-between;
  }
  .contact_flow li {
    width: 30%;
    padding: 10px 10px;
    margin-bottom: 0;
    font-size: 18px;
  }
  .contact_flow li:after {
    bottom: 50%;
    left: auto;
    right: -15px;
    margin: auto;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 15px solid #C0B18A;
    border-right: 0;
    transform: translateY(50%);
  }
  .contact_flow li.active:after {
    border-top: 15px solid transparent;
    border-left: 15px solid #89A376;
  }
}
/* ======================================================

   staff

========================================================= */
.staff_list {
  width: 90%;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin: 0 auto 50px;
}
.staff_list .staff_block {
  width: 100%;
  background: #fff;
  position: relative;
  margin-bottom: 20px;
}
.staff_list .staff_block:before, .staff_list .staff_block:after {
  content: "";
  display: block;
  position: absolute;
  transition: 0.3s;
}
.staff_list .staff_block:before {
  width: 45px;
  height: 30px;
  border: 1px solid #DDDABF;
  right: 20px;
  bottom: 20px;
  border-radius: 30px;
}
.staff_list .staff_block:after {
  width: 13px;
  height: 4px;
  background: url("../images/arrow_b.png") no-repeat;
  background-size: contain;
  right: 35px;
  bottom: 33px;
}
.staff_list .staff_block:last-child {
  margin-bottom: 0;
}
.staff_list .staff_block .staff_thum {
  width: 100%;
  height: 220px;
  margin-bottom: 10px;
}
.staff_list .staff_block .staff_thum img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}
.staff_list .staff_block .staff_txt {
  box-sizing: border-box;
  padding: 0 20px 50px;
}
.staff_list .staff_block .staff_txt .name_text {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 5px;
}
.staff_list .staff_block .staff_txt .name_text dt {
  font-size: 20px;
}
.staff_list .staff_block .staff_txt .name_text dt span {
  font-size: 15px;
  margin-right: 10px;
}
.staff_list .staff_block .staff_txt .name_text dd {
  font-size: 11px;
  color: #C0B18A;
}
.staff_list .staff_block .staff_txt p {
  line-height: 1.6;
  font-size: 15px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.staff_list .staff_block a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.staff_info {
  display: flex;
  flex-direction: column;
}
.staff_info .staff_img {
  width: 100%;
  margin: 0 auto 20px;
}
.staff_info .staff_img img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}
.staff_info .staff_info_text .staff_table {
  width: 100%;
  margin-bottom: 20px;
}
.staff_info .staff_info_text .staff_table tr th, .staff_info .staff_info_text .staff_table tr td {
  padding: 10px 0;
  border-bottom: 1px solid #D9D9D9;
}
.staff_info .staff_info_text .staff_table tr th {
  width: 20%;
  color: #647B59;
  font-weight: 600;
}
.staff_d_list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.staff_d_list li {
  width: 48%;
  margin: 0 1% 20px;
}
.staff_d_list li .thum_img {
  margin: 0 auto 10px;
  width: 150px;
}
.staff_d_list li .thum_img img {
  width: 150px;
  height: 150px;
  object-fit: cover;
  border-radius: 50%;
}
.staff_d_list li .staff_name {
  text-align: center;
  font-size: 18px;
  line-height: 1.2;
}
.staff_d_list li a {
  text-decoration: none;
}
@media screen and (min-width: 1180px) {
  .staff_list {
    width: 100%;
    flex-direction: row;
  }
  .staff_list .staff_block {
    width: 32%;
    margin-right: 2%;
    margin-bottom: 30px;
    transition: 0.3s;
  }
  .staff_list .staff_block:hover {
    opacity: 0.8;
  }
  .staff_list .staff_block:hover:before {
    background: #DDDABF;
  }
  .staff_list .staff_block:nth-child(3n) {
    margin-right: 0;
  }
  .staff_info {
    flex-direction: row;
    justify-content: space-between
  }
  .staff_info .staff_img {
    width: 44%;
    margin: 0;
  }
  .staff_info .staff_img img {
    height: 420px;
  }
  .staff_info .staff_info_text {
    width: 50%;
  }
  .staff_info .staff_info_text .staff_table {
    margin-bottom: 30px;
  }
  .staff_info .staff_info_text .staff_table tr th, .staff_info .staff_info_text .staff_table tr td {
    padding: 15px 0;
  }
  .staff_info .staff_info_text .staff_table tr th {
    width: 20%;
  }
  .staff_d_list {
    margin-bottom: 60px;
  }
  .staff_d_list li {
    width: 18%;
    margin: 0 1% 0px;
  }
}
/* ======================================================

   voice

========================================================= */

.google_voice{
	height:800px;
	overflow: auto;
}

.mt_m {
  margin-top: 30px !important;
}
.voice_list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
}
.voice_list li {
  width: 48%;
  margin: 0 1% 20px;
  position: relative;
}
.voice_list .g_icon {
  width: 40px;
  height: 40px;
  background: #647B59;
  position: absolute;
  bottom: 60px;
  right: 0;
  box-sizing: border-box;
  padding: 10px;
}
.voice_list .g_icon img {
  width: 100%;
  vertical-align: top;
}
.voice_list .voice_block {
  width: 48%;
  background: #FBFAF8;
  border-radius: 5px;
  position: relative;
  margin-bottom: 30px;
}
.voice_list .voice_block:nth-child(2n) {
  margin-left: 2%;
}
.voice_list .voice_block .voice_icon {
  width: 50px;
  height: 50px;
  margin: -15px auto 0;
}
.voice_list .voice_block .voice_name {
  font-size: 14px;
  color: #8C7D61;
  text-align: center;
  margin-bottom: 10px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.voice_list .voice_block .voice_text {
  box-sizing: border-box;
  padding: 0 15px;
}
.voice_list .voice_block .voice_text p {
  font-size: 14px;
  line-height: 1.6;
}
.voice_list .voice_block .more {
  margin-top: 15px;
  border-top: 1px solid #DDDABF;
  padding: 5px 15px 10px;
  font-size: 14px;
  color: #8C7D61;
  position: relative;
}
.voice_list .voice_block .more:before, .voice_list .voice_block .more:after {
  content: "";
  display: block;
  position: absolute;
}
.voice_list .voice_block .more:before {
  width: 35px;
  height: 20px;
  border: 1px solid #DDDABF;
  right: 15px;
  bottom: 14px;
  border-radius: 30px;
}
.voice_list .voice_block .more:after {
  width: 13px;
  height: 4px;
  background: url("../images/arrow_b.png") no-repeat;
  background-size: contain;
  right: 25px;
  bottom: 23px;
}
.voice_list .voice_block a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 1180px) {
  .mt_m {
    margin-top: 80px !important;
  }
  .voice_list {
    margin-top: 90px;
  }
  .voice_list li {
    width: 23%;
    margin: 0 1% 20px;
  }
  .voice_list .voice_block {
    width: 32%;
    margin-bottom: 60px;
    margin-right: 2%;
  }
  .voice_list .voice_block:nth-child(2n) {
    margin-left: 0;
  }
  .voice_list .voice_block:nth-child(3n) {
    margin-right: 0;
  }
  .voice_list .voice_block .voice_icon {
    width: 80px;
    height: 80px;
    margin: -40px auto 0;
  }
  .voice_list .voice_block .voice_name {
    margin-bottom: 25px;
  }
  .voice_list .voice_block .voice_text {
    padding: 0 40px;
  }
  .voice_list .voice_block .voice_text p {
    font-size: 17px;
    line-height: 1.6;
  }
  .voice_list .voice_block .more {
    margin-top: 30px;
    padding: 15px 30px 15px;
    font-size: 16px;
  }
  .voice_list .voice_block .more:before {
    width: 45px;
    height: 30px;
    right: 20px;
    bottom: 16px;
  }
  .voice_list .voice_block .more:after {
    right: 35px;
    bottom: 30px;
  }
}
/* ======================================================

   property / event

========================================================= */
.property_event-list {
  display: flex;
  flex-direction: column;
}
.property_event-list .list_block {
  width: 100%;
  margin-bottom: 30px;
  position: relative;
}
.property_event-list .list_block a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.property_event-list .list_block .thum_title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(165, 165, 165, 0.3);
  padding-bottom: 15px;
  margin-bottom: 10px;
}
.property_event-list .list_block .thum_title .title_txt {
  width: 50%;
  line-height: 1.6;
}
.property_event-list .list_block .thum_title .thum_img {
  width: 44%;
  height: 110px;
}
.property_event-list .list_block .thum_title .thum_img img {
  width: 100%;
  height: 110px;
  object-fit: cover;
}
.property_event-list .list_block .price_text {
  font-size: 12px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.property_event-list .list_block .inner_text p {
  font-size: 12px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.property_event-list .list_block .property_text {
  display: flex;
  flex-wrap: wrap;
}
.property_event-list .list_block .property_text li {
  width: 50%;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 12px;
}
.txt--result-count {
  font-size: 1.8rem;
  margin-top: 4rem;
  text-align: center;
  font-weight: 600;
}
.result-sort {
  max-width: 600px;
  border: 1px solid #ccc;
  padding: 1rem;
  margin: 0 auto 50px;
}
.result-sort__label {
  display: block;
  font-size: 20px;
  text-align: center;
  color: #637b59;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 10px;
}
.sort-list {
  display: flex;
  justify-content: center;
}
.sort-list__item:last-of-type {
  margin-right: 0;
}
.sort-list__item {
  margin-right: 10px;
}
.sort-list__link {
  display: block;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  padding-right: 15px;
  position: relative;
  color: #2E2E2E;
}
.sort-list__link:after, .sort-list__link:before {
  border-style: solid;
  content: "";
  height: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  width: 0;
}
.sort-list__link:before {
  border-color: transparent transparent #999;
  border-style: solid;
  border-width: 0 5px 5px;
  top: calc(50% - 3.5px);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.sort-list__link:after {
  border-color: #999 transparent transparent;
  border-width: 5px 5px 0;
  bottom: calc(50% - 3.5px);
  -webkit-transform: translateY(50%);
  transform: translateY(50%)
}
.sort-list__link--current-up:before {
  border-color: transparent transparent #637b59;
}
.sort-list__link--current-down:after {
  border-color: #637b59 transparent transparent;
}
.property__list {
  width: 100%;
  margin: 0 auto;
}
.property__list li.property__item {
  width: 100%;
  margin: 0 auto 30px;
}
.property__list li:last-child {
  margin-bottom: 0;
}
.property__list .prperty_image {
  margin-bottom: 20px;
}
.property__list .prperty_image img{max-height: 300px;width: auto;}
.property_name {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
}
.property_slide .slick-slide{height: 380px;}
.property_slide .slick-slide,.property_thumbnail .slick-slide{display: flex !important;justify-content: center;align-items: center;overflow: hidden;flex-direction: column;margin: 0 10px;}
.property_slide .slick-slide img{max-width: auto;width: auto;max-height: 350px;}
.property_thumbnail .slick-slide img{max-width: auto;width: auto;max-height: 80px;}
.property_thumbnail .slick-slide.slick-current{opacity: 0.7;}

.search-detail{padding: 15px;border-bottom: #d9d9d9 solid 1px;}
.search-detail dt{color: #647B59;}
.detail-wrapper,.select-horizontal,.room-type, .station-distance{display: flex;gap: 10px;align-items: center;flex-wrap: wrap;}
input[type="radio"], input[type="checkbox"]{margin-top: -2px;}
.primary-btn.primary-btn--search-submit{margin: 30px auto 0 auto;display: block;}

.serch_gakkoku > .cat-item:not(:last-child),
.serch_chomei > .cat-item:not(:last-child){margin-bottom: 10px;}
.serch_gakkoku > .cat-item ,
.serch_chomei > .cat-item { display: flex; background: #2e2e2e; text-decoration: none; padding: 20px 35px 20px 15px; color: #FFF; border-radius: 10px; position: relative; align-items: center;width: 330px;height: 55px;}
.serch_gakkoku > .cat-item a,
.serch_chomei > .cat-item a{text-decoration: none;}
.serch_gakkoku > .cat-item:before,
.serch_gakkoku > .cat-item:after ,
.serch_chomei > .cat-item:after,
.serch_chomei > .cat-item::before { content: ""; display: block; position: absolute; top: 50%; transform: translateY(-50%); }
.serch_gakkoku > .cat-item:before ,
.serch_chomei > .cat-item:before { width: 50px; height: 30px; background: rgba(255, 255, 255, 0.2); right: 15px; border-radius: 30px; }
.serch_gakkoku > .cat-item:after ,
.serch_chomei > .cat-item:after { width: 13px; height: 4px; background: url("../images/arrow.png") no-repeat; background-size: contain; right: 32px; }

.main_sec input[type="submit"]{margin:30px auto 0 auto;display: block;}
.widgettitle:not(:last-child){margin-bottom: 20px;}

@media screen and (min-width: 1180px) {
  .property_event-list {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .property_event-list .list_block {
    width: 32%;
    margin-bottom: 40px;
    margin-right: 2%;
  }
  .property_event-list .list_block:nth-child(3n) {
    margin-right: 0;
  }
  .property_event-list .list_block .thum_title {
    flex-direction: column;
    padding-bottom: 15px;
  }
  .property_event-list .list_block .thum_title .title_txt {
    font-size: 16px;
    width: calc(100% - 20px);
    line-height: 1.8;
    margin: 0 auto;
  }
  .property_event-list .list_block .thum_title .thum_img {
    width: 100%;
    height: 190px;
    margin-bottom: 20px;
  }
  .property_event-list .list_block .thum_title .thum_img img {
    height: 190px;
  }
  .property_event-list .list_block .price_text, .property_event-list .list_block .inner_text {
    padding: 0 10px;
  }
  .property_event-list .list_block .property_text li {
    font-size: 14px;
  }
  .property_event-list .list_block .inner_text p {
    font-size: 14px;
  }
  .property__list li.property__item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px;
  }
  .property__list li .prperty_image {
    width: 45%;
    max-width: 300px;margin: 0 auto;
  }
  .property__list li .property__item--right {
    width: 50%;
  }
  .property__list li .property__item--right table th, .property__list li .property__item--right table td {
    padding: 10px 0;
  }
  .property_name {
    font-size: 24px;
  }
  .property_price {
    font-weight: 600;
    font-size: 20px;
  }
  .slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus{background-color: #647B59 !important;opacity: 0.7;}
  .property_slide .slick-slide img{max-height: 560px;}
  .property_slide .slick-slide{height: 600px;}
  .property_thumbnail .slick-slide img{max-height: 186px;}
  .property_thumbnail .slick-slide:not(.slick-current):hover{opacity: 0.7;cursor: pointer;}
  .search-detail{display: flex;align-items: center;padding: 20px 15px;}
  .search-detail dt{flex-shrink: 0;width: 25%;}
  .serch_gakkoku > .cat-item,.serch_chomei > .cat-item { transition: 0.3s; cursor: pointer;}
  .serch_gakkoku > .cat-item:hover,.serch_chomei > .cat-item:hover,
  .property_event-list .list_block:hover{transition: 0.3s; opacity: 0.7;}
}
/* ======================================================

   event

========================================================= */
.event_img_blcok {
  margin-bottom: 30px;
}
.event_img_blcok .slick-prev, .event_img_blcok .slick-next {
  width: 30px;
  height: 30px;
  background: #647B59;
  border-radius: 50%;
  z-index: 2;
}
.event_img_blcok .slick-prev {
  left: 5px;
}
.event_img_blcok .slick-next {
  right: 5px;
}
.event_img_blcok .slick-prev:before, .event_img_blcok .slick-next:before {
  content: "";
  top: 11px;
  left: 7px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
}
.event_img_blcok .slick-prev:before {
  transform: rotate(220deg);
  left: 11px;
}
.p_gmap {
  height: 300px;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.p_gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.openhouse-memo p {
  text-align: center;
}
.openhouse-memo.emphasis {
  background: #fff;
  box-sizing: border-box;
  padding: 20px;
}
.event_p_info {
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
}
.event_p_info dt {
  width: 100%;
  background: #89A376;
  color: #fff;
  text-align: center;
  padding: 5px 0;
}
.event_p_info dd {
  width: 100%;
  padding: 5px 0;
  text-align: center;
}
@media screen and (min-width: 1180px) {
  .event_img_blcok {
    width: 900px;
    margin: 0 auto 30px;
  }
  .event_img_blcok .slick-prev, .event_img_blcok .slick-next {
    width: 60px;
    height: 60px;
  }
  .event_img_blcok .slick-prev {
    left: 20px;
  }
  .event_img_blcok .slick-next {
    right: 20px;
  }
  .event_img_blcok .slick-prev:before, .event_img_blcok .slick-next:before {
    top: 24px;
    left: 18px;
    width: 14px;
    height: 14px;
  }
  .event_img_blcok .slick-prev:before {
    transform: rotate(220deg);
    left: 25px;
  }
  .p_gmap {
    height: 400px;
  }
  .event_p_info {
    flex-direction: row;
    justify-content: center;
  }
  .event_p_info dt {
    width: auto;
    padding: 3px 15px;
    font-size: 18px;
  }
  .event_p_info dd {
    width: auto;
    padding: 3px 15px;
    text-align: center;
    font-size: 18px;
  }
}
.results_block {}
.results_block .result_list {}
.results_block .result_list {
  width: 100%;
  margin-bottom: 50px;
}
.results_block .result_list li {
  border-bottom: 1px solid #D9D9D9;
  font-size: 13px;
  display: block;
  width: 100%;
  color: #2E2E2E;
  text-decoration: none;
  padding: 20px 0;
  position: relative;
}
.results_block .result_list li a:before, .results_block .result_list li a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}
.results_block .result_list li a:before {
  width: 31px;
  height: 22px;
  right: 0;
  background: #fff;
  border-radius: 30px;
}
.results_block .result_list li a:after {
  width: 8px;
  height: 2px;
  background: url("../images/arrow_b.png") no-repeat;
  background-size: contain;
  right: 11px;
}
.results_block .result_list li span {
  font-size: 11px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  border-right: 1px solid #D9D9D9;
  padding-right: 15px;
  margin-right: 15px;
}
@media screen and (min-width: 1180px) {
  .results_block .result_list li {
    font-size: 18px;
    padding: 24px 0;
    transition: 0.3s;
  }
  .results_block .result_list li a:before {
    width: 44px;
    height: 31px;
  }
  .results_block .result_list li a:after {
    width: 12px;
    height: 3px;
    right: 15px;
  }
  .results_block .result_list li span {
    font-size: 13px;
    padding-right: 30px;
    margin-right: 30px;
  }
  .results_block .result_list li a:hover {
    color: #647B59;
  }
  .results_block .result_list li a:hover:before {
    background: #647B59;
  }
  .results_block .result_list li a:hover:after {
    background: url("../images/arrow.png") no-repeat;
    background-size: contain;
  }
}
.sub_news_list {}
.sub_news_list .news_a_list {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.sub_news_list .news_a_list .block {
  background: #fff;
  box-sizing: border-box;
  padding: 20px 25px 12px 25px;
  margin-bottom: 5px;
  position: relative;
}
.sub_news_list .news_a_list .block a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.sub_news_list .news_a_list .block .date {
  font-size: 11px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin-bottom: 5px;
}
.sub_news_list .news_a_list .block p {
  font-size: 14px;
  line-height: 1.7;
}
.sub_news_list .news_a_list .block .more {
  border-top: 1px solid #EDECE3;
  text-align: right;
  font-size: 14px;
  font-family: "Sorts Mill Goudy", serif;
  padding-top: 10px;
  margin-top: 15px;
}
@media screen and (min-width: 1180px) {
  .sub_news_list .news_a_list {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .sub_news_list .news_a_list .block {
    width: 32%;
    padding: 30px 30px 20px 30px;
    margin-right: 2%;
    margin-bottom: 30px;
    transition: 0.3s;
  }
  .sub_news_list .news_a_list .block:hover {
    opacity: 0.8;
  }
  .sub_news_list .news_a_list .block:nth-child(3n) {
    margin-right: 0;
  }
  .sub_news_list .news_a_list .block .date {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .sub_news_list .news_a_list .block p {
    font-size: 18px;
  }
  .sub_news_list .news_a_list .block .more {
    font-size: 16px;
    padding-top: 20px;
    margin-top: 30px;
  }
}
.line_b {
  background: #06C755;
  padding-bottom: 15px;
  max-width: 400px;
  margin: 0 auto;
  text-align: center;
  position: relative;
}
.line_b a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.line_b ul {
  display: flex;
  justify-content: center;
  background: #06B54E;
}
.line_b ul li {
  color: #fff;
  font-size: 12px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin: 5px 8px;
  font-weight: 500;
}
.line_b ul li span {
  padding-left: 20px;
  position: relative;
}
.line_b ul li span:before, .line_b ul li span:after {
  content: "";
  display: block;
  position: absolute;
}
.line_b ul li span:before {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  border: 1px solid #fff;
  top: 2px;
  left: 0;
}
.line_b ul li span:after {
  width: 7px;
  height: 6px;
  background: url("../images/check.png") no-repeat;
  background-size: contain;
  top: 7px;
  left: 4px;
}
.line_b p {
  color: #fff;
  text-align: center;
}
.line_b .line_icon {
  padding-top: 12px;
}
.line_b .line_icon span {
  padding-left: 28px;
  position: relative;
  font-size: 15px;
  font-weight: 500;
}
.line_b .line_icon span:before {
  content: "";
  display: block;
  width: 20px;
  height: 19px;
  background: url("../images/line_icon.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 2px;
  left: 0;
}
.contact_form th span {
  color: #fff;
  font-size: 12px;
  background: #b11f1f;
  padding: 5px 10px;
  margin-left: 10px;
}
.contact_submit_btn {
  display: flex;
  justify-content: center;
}
.contact_submit_btn li {
  margin: 0 5px;
}
@media screen and (min-width: 1180px) {
  .line_b ul li {
    font-size: 15px;
  }
  .line_b .line_icon span {
    font-size: 24px;
  }
  .line_b .line_icon span:before {
    width: 25px;
    height: 24px;
    top: 6px;
    left: 0;
  }
}
/* ======================================================

   pagination

========================================================= */
.page-list {
  display: flex;
  justify-content: center;
  margin: 50px auto
}
.page-list__item {
  flex-shrink: 0
}
.page-list__link, .page-list__dotted {
  background: #fff;
  border-width: 1px 1px 1px 0;
  border-style: solid;
  border-color: #ccc;
  font-size: 1.6rem;
  letter-spacing: 0.4px;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box
}
.page-list__link {
  line-height: 1
}
.page-list__link:hover, .page-list__link:focus {
  opacity: 1
}
.page-list__link--current {
  color: #fff;
  background: #666
}
.page-list__link--prev {
  border-left: solid 1px #ccc
}
.page-prev, .page-next {
  pointer-events: none;
  display: block;
  width: 12px;
  height: 12px;
  border-width: 0 1px 1px 0;
  border-style: solid;
  border-color: #333;
  position: relative
}
.page-prev {
  left: 3px;
  transform: rotate(135deg)
}
.page-next {
  right: 3px;
  transform: rotate(-45deg)
}
@media screen and (min-width: 1180px) {
  .page-list {
    display: flex;
    justify-content: center;
  }
  .page-list__item {
    flex-shrink: 0
  }
  .page-list__link, .page-list__dotted {
    background: #fff;
    border-width: 1px 1px 1px 0;
    border-style: solid;
    border-color: #ccc;
    font-size: 1.4rem;
    letter-spacing: 0.35px;
    font-weight: bold;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box
  }
  .page-list__link {
    line-height: 1;
    color: #333
  }
  .page-list__link:hover, .page-list__link:focus {
    opacity: 1
  }
  .page-list__link--current {
    color: #fff;
    background: #666
  }
  .page-list__link--prev {
    border-left: solid 1px #ccc
  }
  .page-prev, .page-next {
    pointer-events: none;
    display: block;
    width: 8px;
    height: 8px;
    border-width: 0 1px 1px 0;
    border-style: solid;
    border-color: #333;
    position: relative
  }
  .page-prev {
    left: 3px;
    transform: rotate(135deg)
  }
  .page-next {
    right: 3px;
    transform: rotate(-45deg)
  }
}
/* ======================================================

   single-footer

========================================================= */
/*
.single-footer {
  margin-top: 50px;
	position: relative;
  padding: 80px 1.5rem 180px
}
.single-footer::after {
  content: '';
  left: 50%;
  width: 100vw;
  height: 89px;
  transform: translateX(-50%);
  bottom: 50px;
  background: url("../img/page-heading-bg.svg");
  position: absolute
}
.single-footer__inner {
  background: #fff;
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
  width: 100%;
  padding: 60px 0
}
.single-footer__heading {
  margin-bottom: 50px;
  font-size: 3.4rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  letter-spacing: 5.1px;
  line-height: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center
}
.single-footer__heading__en {
  color: #0D50A5;
  margin-bottom: 22px;
  font-family: mrs-eaves, serif;
  font-weight: 700;
  font-style: italic;
  letter-spacing: 0;
  font-size: 7.2rem;
  line-height: 1.097
}
.single-inquiry {
  max-width: calc(1000px + 3rem);
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  margin: 0 auto
}
.single-inquiry__heading {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.6px;
  line-height: 1;
  padding-bottom: 20px;
  border-bottom: 2px solid #0D50A5;
  margin-bottom: 30px
}
.single-cta-item {
  display: flex;
  border-bottom: dashed 1px #999;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 1.8px;
  line-height: 1.722;
  padding: 24px 0
}
.single-cta-item:first-of-type {
  padding-top: 0
}
.single-cta-item:last-of-type {
  margin-bottom: 50px
}
.single-cta-item__title {
  flex-shrink: 0;
  width: 170px;
  color: #0D50A5;
  box-sizing: border-box;
  padding-left: 7px
}
.single-cta-item__content {
  flex-shrink: 0;
  width: calc(100% - 170px)
}
.single-form-item {
  display: flex;
  font-size: 1.8rem;
  font-weight: 600;
  border-width: 1px 0 0 1px;
  border-style: solid;
  border-color: #ccc
}
.single-form-item:last-of-type {
  border-bottom: solid 1px #ccc
}
.single-form-item__title {
  background: #FFF8BC;
  flex-shrink: 0;
  width: 228px;
  box-sizing: border-box;
  border-right: solid 1px #ccc;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center
}
.single-form-item__title--contact {
  width: 238px;
  justify-content: flex-start;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
  position: relative;
  flex-wrap: wrap
}
.single-form-item__title--assess-form {
  padding-top: 20px;
  padding-bottom: 20px;
  text-align: left
}
.single-form-item__title__require {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  background: #D71F27;
  font-size: 1.4rem;
  line-height: 1.42;
  padding: 4px 10px
}
.single-form-item__title__font-small {
  display: block;
  font-size: 1.6rem;
  line-height: 1.4375
}
.single-form-item__content {
  flex-shrink: 0;
  width: calc(100% - 228px);
  box-sizing: border-box;
  border-right: solid 1px #ccc;
  padding: 20px
}
.single-form-item__content--contact {
  width: calc(100% - 238px)
}
.single-form-input, .single-form-txtarea {
  border-radius: 2px;
  border: solid 1px #666;
  width: 100%;
  max-width: 670px;
  box-sizing: border-box;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.722;
  padding: 4px 15px;
  font-family: "Noto Serif JP", serif
}
.single-form-input--mw600, .single-form-txtarea--mw600 {
  max-width: 600px
}
.single-form-input--mw480, .single-form-txtarea--mw480 {
  max-width: 480px
}
.single-form-input--mw180, .single-form-txtarea--mw180 {
  max-width: 180px
}
.single-form-input--mw120, .single-form-txtarea--mw120 {
  max-width: 120px
}
.single-form-input--mt15, .single-form-txtarea--mt15 {
  margin-top: 15px
}
.single-form-txtarea {
  min-height: 148px;
  resize: none
}
.assess-check {
  display: inline-flex;
  margin-right: 40px;
  align-items: center;
  cursor: pointer
}
.assess-check:last-of-type {
  margin-right: 0
}
.assess-check__input {
  width: 16px;
  height: 16px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: solid 1px #666;
  border-radius: 2px;
  background: #fff;
  margin-right: 10px;
  position: relative
}
.assess-check__input:checked {
  background: #0075FF;
  border-color: #0075FF
}
.assess-check__input:checked::after {
  content: '';
  width: 10px;
  height: 8px;
  background: url("../img/icon/icon-form-check.svg") no-repeat center top;
  background-size: 100% auto;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%)
}
.assess-check__label {
  font-size: 1.8rem;
  line-height: 1.44
}
.assess-select {
  max-width: 220px;
  display: block;
  position: relative
}
.assess-select::after {
  content: '';
  position: absolute;
  right: 10px;
  top: calc(50% - 2px);
  transform: translateY(-50%) rotate(-45deg);
  width: 7px;
  height: 7px;
  border-style: solid;
  border-width: 0 0 2px 2px;
  border-color: #333
}
.assess-select__input {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  display: block;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.44;
  font-family: 'Noto Serif JP', serif;
  padding: 5px 20px 8px 15px;
  width: 100%;
  outline: none;
  background: #fff;
  border: solid 1px #666;
  border-radius: 2px
}
.assess-select--assess-address {
  flex-shrink: 0;
  min-width: 220px;
  width: 100%
}
.assess-address {
  display: flex;
  margin-bottom: 15px;
  align-items: center
}
.assess-address__city {
  flex-shrink: 0;
  margin-right: 10px
}
.form-detail-item {
  display: flex;
  align-items: center;
  margin-bottom: 15px
}
.form-detail-item:last-of-type {
  margin-bottom: 0
}
.form-detail-item__label {
  margin-right: 10px
}
.form-detail-item-oneline {
  display: flex;
  margin-bottom: 15px;
  flex-wrap: wrap
}
.form-detail-item-oneline--mt15 {
  margin-top: 15px
}
.form-detail-item-oneline > .form-detail-item:first-of-type {
  margin-bottom: 0;
  margin-right: 30px
}
@media screen and (max-width: 885px) {
  .form-detail-item-oneline > .form-detail-item:first-of-type {
    margin-bottom: 15px
  }
}




@media screen and (min-width: 1180px) {
.single-footer {
  position: relative;
  padding: 50px 10px 80px;
  margin: 40px -20px
}
}

@media screen and (max-width: 374px) {
  .single-footer {
    margin-right: -5.333vw;
    margin-left: -5.333vw;
    padding-left: 2.666vw;
    padding-right: 2.666vw
  }
}
@media screen and (min-width: 1180px) {
.single-footer::after {
  content: '';
  width: calc(100vw - 20px);
  height: 35px;
  background: url("../img/front-repeat-sp01.svg") repeat-x left top;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 22px
}
}
@media screen and (max-width: 374px) {
  .single-footer::after {
    width: calc(100vw - 5.333vw)
  }
}
@media screen and (min-width: 1180px) {
.single-footer__inner {
  background: #fff;
  box-sizing: border-box;
  padding: 25px 15px 40px
}
}
@media screen and (max-width: 374px) {
  .single-footer__inner {
    padding-left: 4vw;
    padding-right: 4vw
  }
}
@media screen and (min-width: 1180px) {
.single-footer__heading {
  margin-bottom: 30px;
  font-size: 2.2rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  letter-spacing: 3.3px;
  line-height: 1.3636;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center
}
.single-footer__heading__en {
  color: #0D50A5;
  margin-bottom: 8px;
  font-family: mrs-eaves, serif;
  font-weight: 700;
  font-style: italic;
  letter-spacing: 0;
  font-size: 4.2rem;
  line-height: 1.095
}
.single-inquiry__heading {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.45px;
  line-height: 1.44;
  padding-bottom: 18px;
  border-bottom: 2px solid #0D50A5;
  margin-bottom: 20px
}
	}*/
.page_404.page_title .h2_block .watermark-text{left: 0;}
.main_sec_404{padding-top: 100px;}
.main_sec_404 *{text-align: center;}
.main_sec_404 .txt_btn a{width: 250px;margin: 40px auto 0 auto;}


@media screen and (max-width: 1181px){
  .main_sec_404{padding-top:40px;}
}