@charset "UTF-8";
@import url("global.css");
/* ------------------------------
 Index
------------------------------ */
.sec_intro {
  position: relative;
  margin-bottom: 80px; }
  .sec_intro .img_area {
    width: 35%;
    height: 460px;
    position: absolute;
    top: 0;
    left: 10vw; }
  .sec_intro .wrapper {
    height: 460px;
    display: flex;
    align-items: center;
    justify-content: flex-start; }
  .sec_intro .text_area {
    width: 53%;
    margin-left: auto; }
    .sec_intro .text_area .lead {
      margin-bottom: 30px;
      font-size: clamp(18px, 2.8vw, 24px);
      font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

.sec_point {
  background: #FBF7F3;
  padding: 40px 0;
  margin-bottom: 50px; }
  .sec_point .sec_title {
    text-align: center;
    margin-bottom: 40px;
    line-height: 1.3;
    font-size: clamp(14px, 2.4vw, 20px);
    font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
    .sec_point .sec_title span {
      display: block;
      font-size: clamp(20px, 3.1vw, 26px); }
      .sec_point .sec_title span i {
        line-height: 1.0;
        font-size: 35px;
        font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
        font-style: normal; }
  .sec_point .list_point {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 -15px; }
    .sec_point .list_point li {
      width: calc(100% / 3);
      padding: 0 15px;
      box-sizing: border-box; }
      .sec_point .list_point li .inner {
        height: 100%;
        background: #fff;
        padding: 30px;
        box-sizing: border-box; }
        .sec_point .list_point li .inner .lead {
          line-height: 1.45;
          margin-bottom: 20px;
          position: relative;
          font-size: clamp(16px, 2.3vw, 22px);
          font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
          .sec_point .list_point li .inner .lead::after {
            content: "";
            width: 40px;
            height: 2px;
            background: #DADDD8;
            position: absolute;
            left: 0;
            bottom: -10px; }

.sec_cv {
  margin-bottom: 100px; }
  .sec_cv p {
    text-align: center;
    margin-bottom: 30px; }
  .sec_cv .btn_cv {
    width: 60%;
    margin: 0 auto; }
    .sec_cv .btn_cv a {
      display: block;
      padding: 30px;
      text-align: left;
      color: #fff;
      background: #77846E;
      border-radius: 3px;
      position: relative; }
      .sec_cv .btn_cv a .btnarrow {
        z-index: 5;
        right: 45px;
        top: 50%;
        width: 40px;
        transform: translateY(-50%); }
        .sec_cv .btn_cv a .btnarrow::before {
          bottom: 0;
          right: 1px; }
        .sec_cv .btn_cv a .btnarrow::after {
          bottom: 0; }

.map_area {
  width: 100%;
  height: 0;
  padding-top: 38%;
  position: relative;
  overflow: hidden;
  margin-bottom: 70px; }
  .map_area #map {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0; }
  .map_area .fukidashi {
    font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Meiryo", "メイリオ", Helvetica, sans-serif;
    line-height: 1.4;
    text-align: center; }
    .map_area .fukidashi a {
      display: block; }
    .map_area .fukidashi img {
      width: 150px;
      display: block;
      margin: 0 auto 5px; }

.list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 0 -25px 80px; }
  .list li {
    width: calc(100% / 3);
    padding: 0 25px;
    box-sizing: border-box;
    margin-bottom: 50px; }
    .list li a {
      display: block; }
    .list li .img_area {
      width: 100%;
      margin-bottom: 10px; }
      .list li .img_area .img {
        width: 100%;
        height: 0;
        padding-top: 66%;
        position: relative;
        overflow: hidden; }
        .list li .img_area .img img {
          width: 100%;
          position: absolute;
          left: 0;
          top: 0; }
    .list li .text_area {
      padding: 0 10px; }
      .list li .text_area .post_cat {
        margin-bottom: 6px; }
        .list li .text_area .post_cat span {
          display: inline-block;
          padding: 2px 10px;
          margin-right: 10px;
          background: #FBF7F3;
          font-size: clamp(11px, 1.4vw, 12px); }
          .list li .text_area .post_cat span.end {
            background: #CCC; }
      .list li .text_area .catch {
        font-size: clamp(13px, 2.3vw, 14px); }
      .list li .text_area .post_title {
        line-height: 1.45;
        font-size: 18px;
        font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
      .list li .text_area .data_wrap {
        border-top: 1px solid #CCC;
        padding-top: 10px;
        margin-top: 10px;
        display: flex;
        align-items: center;
        justify-content: space-between; }
        .list li .text_area .data_wrap .data_inner {
          flex: 1;
          padding-right: 20px; }
          .list li .text_area .data_wrap .data_inner dl {
            display: flex;
            justify-content: flex-start;
            font-size: clamp(13px, 2.3vw, 14px); }
            .list li .text_area .data_wrap .data_inner dl dt {
              width: 80px; }
        .list li .text_area .data_wrap .img_author {
          width: 40px;
          height: 40px;
          border-radius: 50%;
          overflow: hidden; }

/* ------------------------------
 Entry
------------------------------ */
.post .sec_title {
  text-align: center;
  margin-bottom: 50px; }
  .post .sec_title .jp {
    display: block;
    font-size: clamp(18px, 3.1vw, 26px);
    font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
  .post .sec_title .en {
    line-height: 1.2;
    display: block;
    font-size: clamp(18xp, 2.6vw, 24px);
    font-family: "Lateef", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
.post .intro_area {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin-bottom: 80px; }
  .post .intro_area .text_area {
    flex: 1;
    padding-left: 80px; }
    .post .intro_area .text_area .post_title {
      line-height: 1.45;
      margin-bottom: 20px;
      font-size: clamp(20px, 3.3vw, 28px);
      font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
    .post .intro_area .text_area .data_area {
      background: #F3F3F3;
      padding: 20px; }
      .post .intro_area .text_area .data_area dl {
        display: flex;
        align-items: stretch;
        justify-content: flex-start;
        line-height: 1.45;
        margin-bottom: 6px; }
        .post .intro_area .text_area .data_area dl:last-of-type {
          margin-bottom: 0; }
        .post .intro_area .text_area .data_area dl dt {
          width: 90px;
          text-align: center; }
        .post .intro_area .text_area .data_area dl dd {
          flex: 1;
          padding-left: 15px; }
    .post .intro_area .text_area .comment {
      margin-top: 30px; }
  .post .intro_area .fotorama_area {
    width: 45%; }
.post .kukaku_area {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 80px; }
  .post .kukaku_area .kukaku_text {
    width: 50%;
    margin-right: 80px; }
    .post .kukaku_area .kukaku_text table {
      width: 100%;
      border-collapse: collapse;
      border-top: 1px solid #707070; }
      .post .kukaku_area .kukaku_text table tr {
        border-bottom: 1px solid #707070; }
        .post .kukaku_area .kukaku_text table tr th {
          padding: 10px;
          text-align: center; }
        .post .kukaku_area .kukaku_text table tr td {
          padding: 10px;
          text-align: center; }
  .post .kukaku_area .kukaku_img {
    flex: 1;
    background: #F3F3F3;
    padding: 30px 10px 10px;
    box-sizing: border-box; }
    .post .kukaku_area .kukaku_img .img {
      max-width: 800px;
      margin: 0 auto 10px; }
      .post .kukaku_area .kukaku_img .img a {
        display: block; }
    .post .kukaku_area .kukaku_img p {
      text-align: center;
      font-size: 14px; }
.post .sec_free {
  margin-bottom: 80px; }
.post .sec_env {
  margin-bottom: 80px; }
  .post .sec_env .location_map {
    width: 100%;
    height: 0;
    padding-top: 45%;
    position: relative;
    overflow: hidden; }
    .post .sec_env .location_map iframe {
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0; }
  .post .sec_env .location_list {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 40px -10px 0; }
    .post .sec_env .location_list li {
      width: calc(100% / 6);
      padding: 0 10px;
      box-sizing: border-box;
      margin-bottom: 30px; }
      .post .sec_env .location_list li figure {
        margin-bottom: 10px; }
      .post .sec_env .location_list li .name {
        line-height: 1.45;
        font-size: 13px; }
.post .sec_overview {
  margin-bottom: 80px; }
  .post .sec_overview .overviewtable {
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid #C1C1C1; }
    .post .sec_overview .overviewtable tr {
      border-bottom: 1px solid #C1C1C1;
      line-height: 1.45;
      font-size: 15px; }
      .post .sec_overview .overviewtable tr th {
        padding: 15px;
        width: 250px;
        box-sizing: border-box;
        position: relative;
        text-align: center; }
        .post .sec_overview .overviewtable tr th::before {
          content: "";
          width: 1px;
          height: calc(100% - 20px);
          background: #DADDD8;
          position: absolute;
          right: 0;
          top: 10px; }
      .post .sec_overview .overviewtable tr td {
        padding: 15px 50px; }
.post .sec_form {
  background: #F3F3F3;
  padding: 80px 0; }
  .post .sec_form .tel_area {
    background: #fff;
    border: none;
    margin-bottom: 80px; }
    .post .sec_form .tel_area p {
      background: #DADDD8; }

.single #breadcrumbs {
  padding-top: 20px; }

.mfp_element_text, .mfp_element_number, .mfp_element_select-one, .mfp_element_email, .mfp_element_tel, .mfp_element_textarea, .mfp_element_file {
  border: 1px solid #fff;
  background-color: #fff; }

table.inputform input[type="text"],
table.inputform input[type="tel"],
table.inputform input[type="email"],
table.inputform textarea {
  border: 1px solid #fff;
  background-color: #fff; }
table.inputform select {
  border: 1px solid #fff;
  background-color: #fff; }

form#mailformpro label::before,
form#mailformpro label.mfp_not_checked::before {
  border: #fff 1px solid;
  background-color: #fff; }

/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-1 (1400px)

------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1400px) {
  /* ------------------------------
   Index
  ------------------------------ */
  .sec_intro {
    position: relative;
    margin-bottom: 80px; }
    .sec_intro .img_area {
      width: 40%;
      height: 460px;
      left: 50px; }
    .sec_intro .wrapper {
      height: 460px; }
    .sec_intro .text_area {
      width: 50%; } }
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-2 ( 1300px )

------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-3 ( 960px )

------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 959px) {
  /* ------------------------------
   Index
  ------------------------------ */
  .sec_intro .img_area {
    width: 100%;
    height: 300px;
    position: relative;
    top: auto;
    left: auto;
    margin-bottom: 40px; }
  .sec_intro .wrapper {
    height: auto;
    display: block; }
  .sec_intro .text_area {
    width: 100%; }

  .sec_point {
    margin-bottom: 50px; }
    .sec_point .list_point {
      margin: 0 -10px; }
      .sec_point .list_point li {
        padding: 0 10px; }
        .sec_point .list_point li .inner {
          padding: 20px; }
          .sec_point .list_point li .inner .lead br {
            display: none; }
          .sec_point .list_point li .inner p {
            font-size: 14px; }

  .sec_cv .btn_cv a .btnarrow {
    right: 20px; }

  .map_area {
    padding-top: 50%;
    margin-bottom: 50px; }

  .list {
    margin: 0 -15px 60px; }
    .list li {
      width: calc(100% / 2);
      padding: 0 15px; }

  /* ------------------------------
   Entry
  ------------------------------ */
  .post .intro_area {
    display: block;
    margin-bottom: 70px; }
    .post .intro_area .text_area {
      padding-left: 0;
      margin-bottom: 40px; }
    .post .intro_area .fotorama_area {
      width: 100%; }
  .post .kukaku_area {
    display: block;
    margin-bottom: 70px; }
    .post .kukaku_area .kukaku_text {
      width: 100%;
      margin-right: 0;
      margin-bottom: 40px; }
    .post .kukaku_area .kukaku_img {
      width: 100%;
      padding: 20px 20px 10px; }
      .post .kukaku_area .kukaku_img .img {
        max-width: 100%; }
  .post .sec_env {
    margin-bottom: 70px; }
    .post .sec_env .location_map {
      padding-top: 55%;
      margin-bottom: 30px; }
    .post .sec_env .location_list li {
      width: 25%; }
  .post .sec_overview {
    margin-bottom: 70px; }
    .post .sec_overview .overviewtable tr {
      font-size: 14px; }
      .post .sec_overview .overviewtable tr th {
        width: 200px; }
      .post .sec_overview .overviewtable tr td {
        padding: 15px 30px; }
  .post .sec_form {
    margin-top: 80px; }
    .post .sec_form .tel_area {
      margin-bottom: 50px; } }
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-4 ( 644px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 644px) {
  /* ------------------------------
   Index
  ------------------------------ */
  .sec_intro {
    margin-bottom: 40px; }
    .sec_intro .img_area {
      height: 200px;
      margin-bottom: 30px; }
    .sec_intro .text_area .lead {
      margin-bottom: 20px; }

  .sec_point {
    margin-bottom: 40px; }
    .sec_point .list_point {
      margin: 0;
      display: block; }
      .sec_point .list_point li {
        width: 100%;
        padding: 0;
        margin-bottom: 15px; }
        .sec_point .list_point li:last-of-type {
          margin-bottom: 0; }
        .sec_point .list_point li .inner .lead br {
          display: block; }

  .sec_cv {
    margin-bottom: 50px; }
    .sec_cv .btn_cv {
      width: 100%; }
      .sec_cv .btn_cv a .btnarrow {
        right: 20px;
        width: 25px; }

  .map_area {
    padding-top: 75%;
    margin-bottom: 40px; }

  .list {
    margin: 0 0 40px; }
    .list li {
      width: 100%;
      padding: 0; }

  /* ------------------------------
   Entry
  ------------------------------ */
  .entry #bodyarea {
    display: block; }

  .post .sec_title {
    margin-bottom: 30px; }
  .post .intro_area {
    margin-bottom: 50px; }
    .post .intro_area .text_area {
      margin-bottom: 20px; }
      .post .intro_area .text_area .data_area {
        padding: 10px; }
      .post .intro_area .text_area .comment {
        margin-top: 20px; }
  .post .kukaku_area {
    margin-bottom: 50px; }
    .post .kukaku_area .kukaku_text {
      margin-bottom: 20px; }
  .post .sec_free {
    margin-bottom: 50px; }
  .post .sec_env {
    margin-bottom: 50px; }
    .post .sec_env .location_map {
      padding-top: 60%;
      margin-bottom: 30px; }
    .post .sec_env .location_list {
      margin: 0 -6px; }
      .post .sec_env .location_list li {
        width: calc(100% / 3);
        margin-bottom: 20px;
        padding: 0 6px; }
        .post .sec_env .location_list li .name {
          font-size: 11px; }
  .post .sec_overview {
    margin-bottom: 50px; }
    .post .sec_overview .overviewtable tr {
      border-bottom: none; }
      .post .sec_overview .overviewtable tr th {
        display: block;
        padding: 10px 10px 0;
        width: 100%;
        text-align: left;
        font-size: 12px;
        font-weight: 600; }
        .post .sec_overview .overviewtable tr th::before {
          width: 0;
          height: 0; }
      .post .sec_overview .overviewtable tr td {
        display: block;
        padding: 5px 10px 10px;
        width: 100%;
        box-sizing: border-box;
        border-bottom: 1px solid #C1C1C1;
        font-size: 14px; }
  .post .sec_form {
    margin-top: 60px;
    padding: 40px 0; }
    .post .sec_form .tel_area {
      margin-bottom: 30px; }

  .single #breadcrumbs {
    padding-top: 15px; } }
