@charset "UTF-8";
html {
  font-size: 16px;
}

/* ========================================================================== */
/* 全体の設定
/* ========================================================================== */
body {
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  color: #222;
  -webkit-font-feature-settings: "pkna";
          font-feature-settings: "pkna";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  opacity: 0;
}

html, body {
  margin: 0;
  padding: 0;
}

*, *:before, *:after {
  padding: 0;
  margin: 0;
  outline: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  border: none;
  max-width: 100%;
  height: auto;
}

a {
  color: #8A503E;
  text-decoration: none;
  -webkit-transition: all 0.25s ease-out 0s;
  transition: all 0.25s ease-out 0s;
}
a:hover {
  opacity: 0.8;
  text-decoration: none;
}
a img {
  border: 0;
}

#wrap {
  position: relative;
}

@media screen and (max-width:767px) {
  #wrap {
    width: 100%;
    padding-top: 60px;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  #wrap {
    width: 100%;
    padding-top: 60px;
  }
}
@media screen and (min-width:960px) {
  a[href^="tel:"] {
    pointer-events: none;
    text-decoration: none;
  }
  #wrap {
    min-width: 960px;
    overflow: hidden;
  }
}
/* ========================================================================== */
/* ヘッダー
/* ========================================================================== */
#g-header {
  z-index: 9998;
  width: 100%;
}
#g-header .g-header_inner {
  margin: 0 auto;
}
#g-header #g-nav li {
  list-style-type: none;
}

@media screen and (min-width:960px) {
  #g-header {
    background-color: #fff;
    width: 100%;
  }
  .g-header_inner {
    width: 960px;
    margin: 0 auto;
    zoom: 1;
    position: relative;
  }
  .g-header_inner:before, .g-header_inner:after {
    content: "";
    display: table;
  }
  .g-header_inner:after {
    clear: both;
  }
  #site-title {
    margin: 43px 0 0 0;
    width: 248px;
  }
  .description {
    color: #333;
    letter-spacing: 0.05em;
    font-size: 13px;
    font-size: 0.8125rem;
    position: absolute;
    top: 8px;
    left: 0;
  }
  #g-nav {
    margin: 0;
  }
  #g-nav ul {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 16px;
    height: 40px;
  }
  #g-nav li {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: 15px;
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    height: 30px;
    border-left: 1px solid #F2E6DF;
    position: relative;
  }
  #g-nav li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 100%;
    color: #293C2F;
    padding: 1em 0;
  }
  #g-nav li a:hover {
    color: #5A895A;
    opacity: 1;
  }
  #g-nav li.current a {
    color: #5A895A;
  }
  #g-nav li.current .g-nav_sub a {
    color: #fff;
  }
  #g-nav li:hover .g-nav_sub {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #g-nav .g-nav_sub {
    position: absolute;
    top: 32px;
    left: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    display: none;
    -webkit-transition: all 0.25s ease-out 0s;
    transition: all 0.25s ease-out 0s;
    z-index: 50;
    margin: 0;
  }
  #g-nav .g-nav_sub li {
    border-left: none;
    font-size: 13px;
    font-size: 0.8125rem;
    padding: 0;
    width: 100%;
    height: 40px;
  }
  #g-nav .g-nav_sub li:not(:last-child) {
    border-bottom: 1px solid #EAE1E1;
  }
  #g-nav .g-nav_sub a {
    background-color: #3D5846;
    color: #fff;
    padding: 20px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    text-align: center;
    height: 44px;
  }
  #g-nav .g-nav_sub a:hover {
    background-color: #5A895A;
    color: #fff;
  }
  #g-nav .nav-btn_reserve {
    font-size: 14px;
    font-size: 0.875rem;
    width: 192px;
    border-left: none;
    height: 40px;
  }
  #g-nav li.nav-btn_tel {
    display: none;
  }
  .sub-nav {
    position: absolute;
    top: 12px;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .sub-nav li {
    font-size: 13px;
    font-size: 0.8125rem;
    list-style-type: none;
    line-height: 1;
  }
  .sub-nav li:before {
    color: #333;
  }
  .sub-nav li:not(:last-child):after {
    background: #333;
    content: "";
    display: inline-block;
    width: 1px;
    height: 13px;
    margin: 0 1em;
  }
  .sub-nav a {
    color: #454A44;
  }
  .sub-nav .tel {
    letter-spacing: 0.05em;
  }
  .sub-nav .tel:before {
    content: "\f10b";
    font-family: "fontello";
    padding-right: 7px;
  }
  #g-header,
  #g-header * {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  #g-header.fixed {
    border-bottom: 1px solid #e4e4e4;
    position: fixed;
    height: 90px;
  }
  #g-header.fixed .g-header_inner {
    background-color: #fff;
    position: relative;
  }
  #g-header.fixed .nav-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 15px 0 0 0;
  }
  #g-header.fixed #site-title {
    margin: 24px 0 0 0;
    width: 148px;
    height: 19px;
    line-height: 1;
  }
  #g-header.fixed .description {
    font-size: 11px;
    font-size: 0.6875rem;
    top: 6px;
  }
  #g-header.fixed #g-nav {
    margin: 24px 0 0 0;
    float: right;
    width: 780px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #g-header.fixed #g-nav ul {
    margin: 0;
  }
  #g-header.fixed #g-nav li {
    font-size: 14px;
    font-size: 0.875rem;
  }
  #g-header.fixed #g-nav li a {
    height: 100%;
    padding: 5px 0;
  }
  #g-header.fixed #g-nav li .g-nav_sub {
    top: 30px;
  }
  #g-header.fixed #g-nav li .g-nav_sub a {
    padding: 6px 0;
  }
  #g-header.fixed #g-nav li.nav-btn_reserve {
    height: 34px;
  }
  #g-header.fixed #g-nav li.nav-btn_reserve a {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .menu-icon-container {
    display: none;
  }
}
@media screen and (max-width:959px) {
  .nav-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .description {
    display: none;
  }
  #site-title {
    line-height: 1;
  }
  #site-title a, #site-title img {
    display: block;
  }
  .menu-icon {
    display: block;
    cursor: pointer;
    -webkit-transition: all 0.2s ease-in;
    transition: all 0.2s ease-in;
    z-index: 9999;
    width: 30px;
    height: 28px;
  }
  .menu-icon span {
    display: block;
    width: 30px;
    height: 3px;
    background: #5A895A;
    margin-bottom: 6px;
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
  }
  .menu-icon span .bar1 {
    margin-top: 2px;
  }
  .menu-icon span .bar2 {
    margin-bottom: 4px;
  }
  .menu-icon span .bar3 {
    margin-top: 0px;
  }
  .menu-icon.active .bar1 {
    background: #5A895A;
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
  }
  .menu-icon.active .bar2 {
    opacity: 0;
  }
  .menu-icon.active .bar3 {
    background: #5A895A;
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
  }
  .sp-nav {
    display: none;
    position: fixed;
    top: 60px;
    width: 100%;
    height: 0;
  }
  .nav-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 60px;
  }
  #g-nav li {
    width: 100%;
    position: relative;
    font-weight: 600;
  }
  #g-nav li:nth-child(-n+3) {
    border-bottom: 1px solid #293C2F;
  }
  #g-nav li:after {
    content: "\f105";
    color: #fff;
    font-family: "fontello";
    position: absolute;
    right: 15px;
    top: 16px;
    bottom: 0;
  }
  #g-nav li a {
    background: #5A895A;
    color: #fff;
    display: block;
    padding: 12px 15px;
  }
  #g-nav li a:hover {
    opacity: 1;
  }
  #g-nav .g-nav_sub {
    background: #5A895A;
    padding-left: 32px;
    display: none;
  }
  #g-nav .g-nav_sub li {
    font-size: 14px;
    font-size: 0.875rem;
    border-bottom: none;
  }
  #g-nav .g-nav_sub li a {
    padding: 12px;
  }
  #g-nav .g-nav_sub li:first-child a {
    border-top: 1px dotted #055903;
  }
  #g-nav .g-nav_sub li:not(:last-child) a {
    border-bottom: 1px dotted #055903;
  }
  #g-nav .nav-btn_reserve {
    border-bottom: 1px solid #8A503E !important;
  }
  #g-nav .nav-btn_reserve a {
    border-radius: 0;
    background-image: none;
    background-color: #A45F29;
    color: #fff;
  }
  #g-nav .nav-btn_reserve a:before {
    font-family: "fontello";
    content: "\e800";
    padding-right: 15px;
  }
  #g-nav .nav-btn_reserve:after {
    content: "\f105";
    color: #fff;
  }
  #g-nav .nav-btn_tel {
    border-bottom: 1px solid #8A503E !important;
  }
  #g-nav .nav-btn_tel a {
    background-color: #A45F29;
    color: #fff;
  }
  #g-nav .nav-btn_tel a:before {
    font-family: "fontello";
    content: "\f10b";
    padding-right: 17px;
    padding-left: 4px;
    font-size: 24px;
    font-size: 1.5rem;
  }
  #g-nav .nav-btn_tel:after {
    content: "";
  }
  .sub-nav {
    background-color: #fff;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .sub-nav li {
    font-size: 13px;
    font-size: 0.8125rem;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    list-style-type: none;
    text-align: center;
  }
  .sub-nav li.tel, .sub-nav li.fb, .sub-nav li.insta {
    display: none;
  }
  .sub-nav li:first-child {
    border-right: 1px solid #EAE1E1;
  }
  .sub-nav li a {
    background-color: #293C2F;
    color: #fff;
    display: block;
    padding: 12px 15px;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  #g-header {
    position: fixed;
    border-bottom: 1px solid #EAE1E1;
    height: 60px;
    top: 0;
  }
  #g-header,
  .g-header_inner {
    background-color: #fff;
    width: 100%;
  }
  .sp-nav {
    display: none;
  }
  .nav-wrap {
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #site-title {
    padding-left: 15px;
  }
  #site-title img {
    width: auto;
    height: 28px;
  }
  #g-nav {
    top: 60px;
  }
  .menu-icon-container {
    position: fixed;
    top: 20px;
    right: 15px;
    z-index: 9999;
  }
}
@media screen and (max-width:767px) {
  #g-header {
    position: fixed;
    border-bottom: 1px solid #EAE1E1;
    height: 60px;
    top: 0;
  }
  #g-header,
  .g-header_inner {
    background-color: #fff;
    width: 100%;
  }
  .sp-nav {
    display: none;
  }
  #site-title {
    margin: 0 0 0 15px;
  }
  #site-title img {
    width: auto;
    height: 24px;
  }
  #g-nav {
    top: 50px;
  }
  .menu-icon-container {
    position: fixed;
    top: 20px;
    right: 15px;
    z-index: 9999;
  }
}
/* ========================================================================== */
/* メインビジュアル
/* ========================================================================== */
#main-visual {
  width: 100%;
}

@media screen and (max-width:767px) {
  #main-visual {
    width: 100%;
    z-index: 9997;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  #main-visual {
    width: 100%;
  }
}
@media screen and (min-width:960px) {
  #main-visual {
    width: 100%;
  }
}
/* ========================================================================== */
/* 空室検索
/* ========================================================================== */
.plan-search-banner {
  background: #5A895A;
  color: #fff;
}
.plan-search-banner .search-title {
  color: #222;
  font-size: 18px;
  font-size: 1.125rem;
  margin: 0;
}
.plan-search-banner select {
  background: url(../img/select-arrow.svg) #fff no-repeat right 8px center;
  background-size: 8.69px 14.51px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 6px;
  border: 0;
}
.plan-search-banner select::-ms-expand {
  display: none;
}
.plan-search-banner fieldset .cs-title {
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-bottom: 6px;
}
.plan-search-banner .serach-btn input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  border-radius: 6px;
  background-color: #293C2F;
  color: #fff;
  cursor: pointer;
  font-family: "fontello";
  font-weight: 600;
  display: inline-block;
  -webkit-transition: all 0.25s ease-out 0s;
  transition: all 0.25s ease-out 0s;
  letter-spacing: 0.12em;
}
.plan-search-banner .serach-btn input[type=submit]:hover {
  background-color: #3D5846;
}
.plan-search-banner .plan-guide .btn-plan {
  background: #fff;
  border-radius: 6px;
}
.plan-search-banner .plan-guide .btn-plan a:before {
  content: "\e800";
  font-family: "fontello";
  padding-right: 10px;
}
.plan-search-banner .cs-change {
  color: #6F7366;
  font-weight: 400;
}
.plan-search-banner .cs-change a {
  color: #fff;
}
.plan-search-banner .cs-change li:before {
  font-family: "fontello";
  color: #fff;
  content: "\f105";
}

@media screen and (max-width:767px) {
  .plan-search-banner .plan-search_inner {
    padding: 15px 0;
  }
  .plan-search-banner select {
    margin-right: 8px;
    padding: 8px 20px 8px 15px;
    width: 60%;
  }
  .plan-search-banner .cs-checkin {
    padding: 15px;
  }
  .plan-search-banner .form-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .plan-search-banner .form-row.cio {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 0;
  }
  .plan-search-banner .form-row.cio fieldset {
    margin-bottom: 20px;
  }
  .plan-search-banner .cs-title {
    font-size: 14px;
    font-size: 0.875rem;
    margin-bottom: 5px;
  }
  .plan-search-banner .form-row {
    margin-bottom: 20px;
  }
  .plan-search-banner fieldset {
    border: none;
    font-size: 14px;
    font-size: 0.875rem;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .plan-search-banner span.col {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .plan-search-banner #month, .plan-search-banner #day {
    margin-right: 5px;
  }
  .plan-search-banner .serach-btn input[type=submit] {
    padding: 12px 0;
    font-size: 15px;
    font-size: 0.9375rem;
    width: 100%;
  }
  .plan-search-banner .plan-guide {
    margin: 0 15px 0 15px;
    padding-top: 16px;
    border-top: 1px solid #89A487;
  }
  .plan-search-banner .plan-guide .btn-plan {
    font-size: 14px;
    font-size: 0.875rem;
    width: 100%;
    height: 44px;
    margin-bottom: 12px;
  }
  .plan-search-banner .plan-guide .btn-plan a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
  }
  .plan-search-banner .plan-guide .btn-plan a:after {
    width: 150%;
    height: 400%;
  }
  .plan-search-banner .plan-guide .cs-change {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 20px;
  }
  .plan-search-banner .plan-guide .cs-change li {
    font-size: 14px;
    font-size: 0.875rem;
    list-style-type: none;
  }
  .plan-search-banner .plan-guide .cs-change li:before {
    padding-right: 7px;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .plan-search-banner .plan-search_inner {
    padding: 14px 0;
  }
  .plan-search-banner select {
    font-size: 16px;
    font-size: 1rem;
    margin-right: 8px;
    padding: 10px 25px 10px 15px;
    width: calc(100% - 3em);
  }
  .plan-search-banner .cs-checkin {
    padding: 15px 15px;
  }
  .plan-search-banner .form-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .plan-search-banner .cs-title {
    font-size: 14px;
    font-size: 0.875rem;
    margin-bottom: 5px;
  }
  .plan-search-banner .form-row {
    margin-bottom: 20px;
  }
  .plan-search-banner fieldset {
    border: none;
    font-size: 14px;
    font-size: 0.875rem;
    width: 100%;
  }
  .plan-search-banner .col {
    float: left;
    display: block;
    width: 33.3%;
  }
  .plan-search-banner #month, .plan-search-banner #day {
    margin-right: 5px;
  }
  .plan-search-banner .serach-btn input[type=submit] {
    padding: 15px 0;
    font-size: 16px;
    font-size: 1rem;
    width: 100%;
  }
  .plan-search-banner .plan-guide {
    border-top: 1px solid #89A487;
    margin: 18px 15px;
    padding-top: 36px;
  }
  .plan-search-banner .plan-guide .btn-plan {
    font-size: 14px;
    font-size: 0.875rem;
    width: 100%;
    height: 48px;
    margin-bottom: 16px;
  }
  .plan-search-banner .plan-guide .btn-plan a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
  }
  .plan-search-banner .plan-guide .cs-change {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .plan-search-banner .plan-guide .cs-change li {
    font-size: 15px;
    font-size: 0.9375rem;
    list-style-type: none;
  }
  .plan-search-banner .plan-guide .cs-change li:before {
    padding-right: 7px;
  }
}
@media screen and (min-width:960px) {
  .plan-search-banner {
    padding: 18px 0;
  }
  .plan-search-banner .plan-search_inner {
    width: 960px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 15px 0;
    margin: 0 auto;
  }
  .plan-search-banner select {
    font-size: 15px;
    font-size: 0.9375rem;
    margin-right: 6px;
    padding: 9px 24px 9px 12px;
  }
  .plan-search-banner .cs-checkin {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 720px;
  }
  .plan-search-banner .cs-title {
    font-size: 14px;
    font-size: 0.875rem;
    margin-bottom: 5px;
  }
  .plan-search-banner fieldset {
    display: inline-block;
    border: none;
    padding: 0;
    width: auto;
  }
  .plan-search-banner fieldset:not(:last-child) {
    margin-right: 8px;
  }
  .plan-search-banner fieldset .date {
    margin-right: 10px;
    font-size: 14px;
    font-size: 0.875rem;
  }
  .plan-search-banner .serach-btn input[type=submit] {
    padding: 5px 30px 5 25px;
    font-size: 15px;
    font-size: 0.9375rem;
    height: 60px;
    width: 90px;
  }
  .plan-search-banner .plan-guide {
    width: 192px;
  }
  .plan-search-banner .plan-guide .btn-plan {
    font-size: 14px;
    font-size: 0.875rem;
    width: 192px;
    height: 34px;
    margin-bottom: 12px;
  }
  .plan-search-banner .plan-guide .btn-plan a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
  }
  .plan-search-banner .plan-guide .cs-change li {
    font-size: 13px;
    font-size: 0.8125rem;
    list-style-type: none;
    text-align: center;
  }
  .plan-search-banner .plan-guide .cs-change li:before {
    margin-right: 8px;
  }
}
@-moz-document url-prefix() {
  .plan-search-banner select {
    padding: 9px 16px 9px 6px;
  }
}
/* ========================================================================== */
/* コンテンツ
/* ========================================================================== */
@media screen and (max-width:959px) {
  #content {
    width: 100%;
  }
}
@media screen and (min-width:960px) {
  #content {
    margin: 0 auto;
  }
}
/* ========================================================================== */
/* パンくずリスト
/* ========================================================================== */
#topicpath {
  background-color: #FDFAFA;
  width: 100%;
}
#topicpath ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
#topicpath li {
  list-style-type: none;
}
#topicpath a {
  color: #222;
  text-decoration: none;
}

@media screen and (max-width:959px) {
  #topicpath {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0 auto 40px auto;
    width: 100%;
    padding: 0 10px;
  }
  #topicpath ol {
    line-height: 30px;
  }
  #topicpath li {
    list-style-type: none;
    font-size: 12px;
    font-size: 0.75rem;
  }
  #topicpath li:not(:last-child):after {
    content: " > ";
    padding: 0 5px;
  }
  #topicpath li:last-child {
    max-width: 10em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}
@media screen and (min-width:960px) {
  #topicpath {
    margin: 0 auto 60px auto;
  }
  #topicpath ol {
    margin: 0 auto;
    width: 960px;
    line-height: 40px;
  }
  #topicpath li {
    list-style-type: none;
    font-size: 13px;
    font-size: 0.8125rem;
    display: inline-block;
  }
  #topicpath li:not(:last-child):after {
    content: " > ";
    padding: 0 5px;
  }
  #topicpath li:last-child {
    max-width: 50em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}
/* ========================================================================== */
/* フッターバナーエリア
/* ========================================================================== */
.footer-bnr {
  background-color: #FDFAFA;
}
.footer-bnr li {
  list-style-type: none;
  float: left;
}
.footer-bnr li img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  width: 100%;
  height: auto;
}

.slick-prev:before,
.slick-next:before {
  color: #bbb;
  font-size: 30px;
  font-size: 1.875rem;
}

@media screen and (max-width:767px) {
  .footer-bnr {
    padding: 30px 0;
    width: 100%;
  }
  .footer-bnr .bnrlist {
    padding: 0 30px;
  }
  .footer-bnr .slick-slide {
    margin: 0 20px;
  }
  .footer-bnr .slick-prev {
    left: 15px;
  }
  .footer-bnr .slick-next {
    right: 15px;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .footer-bnr {
    padding: 40px 0;
    width: 100%;
  }
  .footer-bnr .bnrlist {
    padding: 0 30px;
  }
  .footer-bnr .slick-slide {
    margin: 0 20px;
  }
  .footer-bnr .slick-prev {
    left: 15px;
  }
  .footer-bnr .slick-next {
    right: 15px;
  }
}
@media screen and (min-width:960px) {
  .footer-bnr {
    padding: 40px 0;
    width: 100%;
  }
  .footer-bnr .bnrlist {
    width: 960px;
    margin: 0 auto;
  }
  .footer-bnr .slick-slide {
    margin: 0 30px;
  }
  .footer-bnr .slick-prev {
    left: 0;
  }
  .footer-bnr .slick-next {
    right: 0;
  }
}
/* ========================================================================== */
/* フッターマップ
/* ========================================================================== */
#footer-map {
  position: relative;
  padding-bottom: 34.58%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
#footer-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ========================================================================== */
/* フッター
/* ========================================================================== */
#g-footer {
  background-color: #5A895A;
  color: #fff;
}

.f-address {
  font-weight: 400;
  line-height: 1.85;
}
.f-address .f-address_title {
  margin: 0 0 10px 0;
  letter-spacing: 0.05em;
}
.f-address .f-address_adress {
  color: #fff;
  margin-bottom: 15px;
  letter-spacing: 0.05em;
  line-height: 1.857;
}

.copyright {
  font-size: 12px;
  font-size: 0.75rem;
  color: #fff;
  padding-left: 15px;
  padding-right: 15px;
}

.f-link_list li {
  background-size: 12px 12px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.f-link_list li:before {
  font-weight: bold;
  content: "\f105";
  font-family: "fontello";
  padding-right: 8px;
}
.f-link_list li a {
  color: #fff;
}
.f-link_list__privacy a {
  background: url(../img/icon-ex-link.svg) no-repeat center right;
  background-size: 14px 14px;
  padding-right: 1.75em;
}

.f-address_social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.f-address_social li {
  list-style-type: none;
  font-size: 28px;
  font-size: 1.75rem;
  margin-right: 20px;
}

#pageTop {
  background-color: #5A895A;
  border-radius: 6px 6px 0 0;
  z-index: 10;
  width: 40px;
  height: 40px;
}
#pageTop a {
  color: #fff;
  display: block;
  text-align: center;
}

@media screen and (max-width:959px) {
  #g-footer {
    position: relative;
  }
  .g-footer__inner {
    padding: 40px 15px;
    margin: 0 auto;
    width: 100%;
  }
  .g-footer__col:first-child {
    margin-bottom: 40px;
  }
  .f-address_title {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .f-address_adress {
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .copyright {
    font-size: 11px;
    font-size: 0.6875rem;
    text-align: center;
  }
  .f-link {
    border-top: 1px solid #789E78;
    padding-top: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .f-link_list {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .f-link_list li {
    list-style-type: none;
    font-size: 13px;
    font-size: 0.8125rem;
    line-height: 1.75;
    margin-bottom: 1.5em;
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
  }
  #pageTopSp {
    background-color: #5A895A;
    margin: 0 auto;
    padding: 20px 0 40px 0;
  }
  #pageTopSp a {
    color: #fff;
    font-size: 42px;
    font-size: 2.625rem;
    line-height: 46px;
    display: block;
    width: 100%;
    height: 46px;
    margin: 0 auto;
    text-align: center;
  }
  #pageTop {
    display: none !important;
  }
}
@media screen and (min-width:960px) {
  .g-footer__inner {
    padding: 60px 0 0 0;
    width: 960px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .g-footer__col {
    margin: 0 auto;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .g-footer__col:first-child {
    border-right: 1px solid #789E78;
    padding-right: 30px;
  }
  .g-footer__col:nth-child(2) {
    padding-left: 65px;
  }
  .f-address_title {
    font-size: 22px;
    font-size: 1.375rem;
  }
  .f-address_adress {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .copyright {
    font-size: 12px;
    font-size: 0.75rem;
    margin-top: 40px;
    width: 960px;
    text-align: left;
    padding: 30px 0;
    margin: 0 auto;
  }
  .f-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .f-link_list {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .f-link_list li {
    list-style-type: none;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.5;
    margin-bottom: 1em;
  }
  #pageTop a {
    font-size: 30px;
    font-size: 1.875rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 40px;
    height: 40px;
  }
  #pageTop i:before {
    padding-bottom: 12px;
  }
  #pageTopSp {
    display: none;
  }
}
@font-face {
  font-family: "fontello";
  src: url("../font/fontello.eot?32662471");
  src: url("../font/fontello.eot?32662471#iefix") format("embedded-opentype"), url("../font/fontello.woff2?32662471") format("woff2"), url("../font/fontello.woff?32662471") format("woff"), url("../font/fontello.ttf?32662471") format("truetype"), url("../font/fontello.svg?32662471#fontello") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../font/fontello.svg?32662471#fontello') format('svg');
  }
}
*/
[class^=icon-]:before, [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: 0.2em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: 0.2em;
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-calendar:before {
  content: "\e800";
} /* '' */
.icon-search:before {
  content: "\e801";
} /* '' */
.icon-right-dir:before {
  content: "\e802";
} /* '' */
.icon-left-open:before {
  content: "\e803";
} /* '' */
.icon-left-dir:before {
  content: "\e804";
} /* '' */
.icon-right-open:before {
  content: "\e805";
} /* '' */
.icon-up-open:before {
  content: "\e806";
} /* '' */
.icon-up-dir:before {
  content: "\e807";
} /* '' */
.icon-down-dir:before {
  content: "\e808";
} /* '' */
.icon-down-open:before {
  content: "\e809";
} /* '' */
.icon-location:before {
  content: "\e80a";
} /* '' */
.icon-phone:before {
  content: "\e80b";
} /* '' */
.icon-twitter:before {
  content: "\f099";
} /* '' */
.icon-mail-alt:before {
  content: "\f0e0";
} /* '' */
.icon-sitemap:before {
  content: "\f0e8";
} /* '' */
.icon-angle-left:before {
  content: "\f104";
} /* '' */
.icon-angle-right:before {
  content: "\f105";
} /* '' */
.icon-angle-up:before {
  content: "\f106";
} /* '' */
.icon-angle-down:before {
  content: "\f107";
} /* '' */
.icon-mobile:before {
  content: "\f10b";
} /* '' */
.icon-instagram:before {
  content: "\f16d";
} /* '' */
.icon-google:before {
  content: "\f1a0";
} /* '' */
.icon-newspaper:before {
  content: "\f1ea";
} /* '' */
.icon-calendar-check-o:before {
  content: "\f274";
} /* '' */
.icon-facebook-squared:before {
  content: "\f308";
} /* '' */
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
.slick-loading .slick-list {
  background: url(../img/ajax-loader.gif) #fff no-repeat center center;
}

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
  z-index: 50;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "fontello";
  font-size: 20px;
  line-height: 1;
  color: #bbb;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev:before {
  content: "\e803";
}

.slick-next:before {
  content: "\e805";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

/* ========================================================================== */
/* 各ページ共通
/* ========================================================================== */
.btn a {
  border-radius: 6px;
  -webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.2);
  color: #fff;
  background: #3D5846;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  letter-spacing: 0.05em;
  font-weight: 500;
  position: relative;
}
.btn a svg {
  position: absolute;
  right: 24px;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn a:hover {
  opacity: 1;
  background: #5A895A;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn a:hover svg {
  right: 16px;
}

.btn-reserve a {
  border-radius: 6px;
  background-image: url(../img/btn-bg.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  -webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.2);
  color: #fff !important;
  font-weight: 600;
  letter-spacing: 0.08em !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
}
.btn-reserve a:before {
  content: "\e800";
  font-family: "fontello";
  padding-right: 10px;
}
.btn-reserve a:hover {
  opacity: 0.8 !important;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.content-footer {
  text-align: center;
}

.content-footer_btn a {
  display: inline-block;
  text-decoration: none !important;
}
.content-footer_btn a:before {
  font-family: "fontello";
  content: "\e800";
  padding-right: 10px;
}
.content-footer_btn a:hover {
  color: #fff !important;
  opacity: 1 !important;
}

@media screen and (max-width:959px) {
  .content-footer {
    margin: 60px auto;
    padding: 0 15px;
  }
  .content-footer a {
    padding: 10px 30px;
  }
  .content-footer a:before {
    right: 24px;
    top: 12px;
  }
}
@media screen and (min-width:960px) {
  .content-footer {
    margin: 80px auto;
    width: 960px;
  }
  .content-footer .content-footer_btn {
    display: inline-block;
  }
  .content-footer a {
    padding: 10px 30px;
  }
  .content-footer a:before {
    right: 24px;
    top: 12px;
  }
}
/* ========================================================================== */
/* ページ内コンテンツ
/* ========================================================================== */
/* ページヘッダー
========================================================================== */
.page-header {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}

.page-title {
  color: #fff;
  text-align: center;
  letter-spacing: 0.08em;
  font-weight: 600;
  text-shadow: 1px 1px 1px #444;
}

.page-room .page-header {
  background-image: url(../img/pagetitle-room.jpg);
}

.page-facility .page-header {
  background-image: url(../img/pagetitle-facility.jpg);
}

.page-cuisine .page-header {
  background-image: url(../img/pagetitle-cuisine.jpg);
}

.page-access .page-header {
  background-image: url(../img/pagetitle-access.jpg);
}

.page-news .page-header,
.single-post .page-header,
.category .page-header,
.archive .page-header {
  background-image: url(../img/pagetitle-contact.jpg);
}

.page-contact .page-header,
.page-privacy .page-header {
  background-image: url(../img/pagetitle-contact.jpg);
}

.page-site-map .page-header {
  background-image: url(../img/pagetitle-map.jpg);
}

.page-sample-page .page-header {
  background-image: url(../img/pagetitle-sample-page.jpg);
}

@media screen and (max-width:767px) {
  .page-header {
    height: 160px;
  }
  .page-title {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .page-header {
    height: 220px;
  }
  .page-title {
    font-size: 28px;
    font-size: 1.75rem;
  }
}
@media screen and (min-width:960px) {
  .page-header {
    height: 250px;
  }
  .page-title {
    font-size: 32px;
    font-size: 2rem;
  }
}
/* セクションのタイトル
========================================================================== */
#content .sectiontitle {
  color: #3D5846;
  font-weight: 600;
  text-align: center;
}

@media screen and (max-width:767px) {
  #content .sectiontitle {
    font-size: 22px;
    font-size: 1.375rem;
    margin: 0 15px 36px 15px;
    padding-bottom: 24px;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  #content .sectiontitle {
    font-size: 28px;
    font-size: 1.75rem;
    margin: 0 15px 48px 15px;
    padding-bottom: 24px;
  }
}
@media screen and (min-width:960px) {
  #content .sectiontitle {
    font-size: 32px;
    font-size: 2rem;
    margin: 0 auto 56px auto;
    max-width: 960px;
  }
}
/* カラムレイアウト
========================================================================== */
.col3 .plantitle {
  line-height: 1.25;
  margin-bottom: 15px;
}
.col3 p {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5;
  margin-bottom: 20px;
}

@media screen and (max-width:767px) {
  .col3 {
    margin: 0 auto 40px auto;
    width: 100%;
  }
  .col3 .box {
    margin-bottom: 15px;
    width: 100%;
  }
  .col3 .box img {
    width: 100%;
    height: auto;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .col3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0 auto 40px auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .col3 .box {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin: 0 0 15px 0;
  }
  .col3 .box:not(:nth-child(3n)) {
    margin-right: 15px;
  }
}
@media screen and (min-width:960px) {
  .col3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 960px;
    margin: 0 auto 50px auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .col3 .box {
    width: 300px;
    margin: 0 0 15px 0;
  }
  .col3 .box img {
    width: 100%;
    height: auto;
  }
  .col3 .box:not(:nth-child(3n)) {
    margin-right: 30px;
  }
}
@media screen and (max-width:767px) {
  .col1 {
    margin: 0 auto 30px auto;
  }
  .col2 .box {
    margin-bottom: 30px;
  }
  .col2 .box img {
    width: 100%;
    height: auto;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .col1 {
    margin: 0 auto 40px auto;
  }
  .col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .col2 .box {
    width: calc((100% - 20px) / 2);
    margin-bottom: 20px;
  }
  .col2 .box img {
    width: 100%;
    height: auto;
  }
  .col2 .box:nth-child(odd) {
    margin-right: 20px;
  }
  .col2 .box *:last-child {
    margin-bottom: 0;
  }
}
@media screen and (min-width:960px) {
  .col1 {
    margin: 0 auto 40px auto;
  }
  .col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 960px;
    margin: 0 auto 40px auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .col2 .box {
    width: 460px;
  }
  .col2 .box img {
    width: 100%;
    height: auto;
  }
  .col2 .box:not(:nth-child(2n)) {
    margin-right: 40px;
  }
  .col2 .box *:last-child {
    margin-bottom: 0;
  }
  .col1-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 auto 40px auto;
  }
  .col1-2 .box:first-child {
    width: 300px;
    margin-right: 40px;
  }
  .col1-2 .box:nth-child(2) {
    width: 640px;
  }
  .col1-3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 auto 40px auto;
  }
  .col1-3 .box:first-child {
    width: 210px;
    margin-right: 40px;
  }
  .col1-3 .box:nth-child(2) {
    width: 710px;
  }
  .col1-3 .box *:last-child {
    margin-bottom: 0;
  }
}
/* HTML要素のスタイル
========================================================================== */
.post-content {
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.post-content a {
  color: #5A895A;
  text-decoration: underline;
}
.post-content a:hover {
  opacity: 0.7;
  -webkit-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
.post-content h2, .post-content h3, .post-content h4, .post-content h5, .post-content h6 {
  font-weight: 600;
  text-align: center;
}
.post-content h2, .post-content .hl2 {
  color: #3D5846;
  font-weight: 600;
  line-height: 1.4;
}
.post-content h3, .post-content .hl3 {
  color: #333;
  font-weight: 600;
  line-height: 1.4;
}
.post-content h3:after, .post-content .hl3:after {
  background: #5A895A;
  content: "";
  display: block;
  width: 36px;
  height: 4px;
  margin-left: auto;
  margin-right: auto;
}
.post-content h4, .post-content .hl4 {
  color: #293c2f;
  line-height: 1.5;
}
.post-content h5, .post-content .hl5 {
  color: #222;
  line-height: 1.65;
}
.post-content h6, .post-content .hl6 {
  color: #222;
  margin: 0 0 1em 0;
  padding: 0;
}
.post-content h6 span, .post-content .hl6 span {
  border: none;
  padding-bottom: 0;
}
.post-content p {
  text-align: justify;
}
.post-content .text-normal {
  font-weight: normal;
}
.post-content ul {
  padding: 0;
}
.post-content ul > li {
  list-style-type: none;
  line-height: 1.65;
  position: relative;
  padding-left: 1em;
}
.post-content ul > li:before {
  content: "";
  border-radius: 50%;
  background: #5A895A;
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 6px;
  height: 6px;
}
.post-content ul {
  margin: 0 0 1.5em 0;
}
.post-content ul li {
  margin-bottom: 4px;
}
.post-content ul ul {
  margin: 0.5em 0;
}
.post-content ul ol {
  margin: 0.5em 0 0.5em 1.25em;
}
.post-content ol {
  margin: 0 0 1.5em 1em;
}
.post-content ol li {
  margin-bottom: 4px;
}
.post-content ol ul {
  margin: 0.5em 0;
}
.post-content ol ol {
  margin: 0.5em 0 0.5em 1.25em;
}
.post-content dl dt {
  font-weight: bold;
}
.post-content ul.list-notice li {
  padding-left: 1.5em;
}
.post-content ul.list-notice li:before {
  content: "※";
  background: transparent;
  width: auto;
  height: auto;
  top: 0;
}
.post-content table {
  border-top: 1px solid #EAE1E1;
  border-collapse: collapse;
}
.post-content table th, .post-content table td {
  border-bottom: 1px solid #EAE1E1;
  line-height: 1.65;
  vertical-align: top;
}
.post-content table th {
  background-color: #FDFAFA;
  text-align: left;
}
.post-content table th.right {
  text-align: right;
}
.post-content table td.center,
.post-content table th.center {
  text-align: center;
}
.post-content .unit1, .post-content .unit2 {
  border-radius: 4px;
}
.post-content .unit1 *:last-child, .post-content .unit2 *:last-child {
  margin-bottom: 0;
}
.post-content .unit1 {
  border: 2px solid #5A895A;
}
.post-content .unit2 {
  background-color: #FDFAFA;
}
.post-content img {
  max-width: 100%;
  height: auto;
}
.post-content .wp-caption {
  background-color: #FDFAFA;
  padding: 10px;
  text-align: center;
  margin-bottom: 20px;
  max-width: 100%;
}
.post-content .wp-caption .wp-caption-text {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.3;
  margin-bottom: 0;
  padding: 0;
  text-align: left;
}
.post-content .text-left {
  text-align: left;
}
.post-content .text-right {
  text-align: right;
}
.post-content .text-center {
  text-align: center;
}
.post-content .bold, .post-content strong, .post-content .text-bold {
  font-weight: 600;
}
.post-content .text-red {
  color: #A44129;
}
.post-content .bg-white {
  background-color: #fff !important;
}
.post-content .alignleft {
  float: left;
  margin: 0 15px 15px 0;
}
.post-content .alignright {
  float: right;
  margin: 0 0 15px 15px;
}
.post-content .aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.post-content hr {
  max-width: 960px;
  position: relative;
  height: 6px;
  border-width: 0;
  background-color: transparent;
  border-top: 1px dashed #f2e6df;
  border-bottom: 1px dashed #f2e6df;
}

.wp-block-column h2, .wp-block-column h3, .wp-block-column h4, .wp-block-column h5, .wp-block-column h6, .box h2, .box h3, .box h4, .box h5, .box h6 {
  text-align: left;
}
.wp-block-column p, .box p {
  line-height: 1.75;
}

@media screen and (max-width:767px) {
  .post-content {
    margin: 0 auto;
  }
  .post-content .section {
    margin: 0 auto 40px auto;
    padding: 0 15px;
  }
  .post-content h2, .post-content .hl2 {
    font-size: 24px;
    font-size: 1.5rem;
    margin: 0 0 56px 0;
  }
  .post-content h3, .post-content .hl3 {
    font-size: 22px;
    font-size: 1.375rem;
    margin: 0 0 48px 0;
  }
  .post-content h3:after, .post-content .hl3:after {
    margin-top: 16px;
  }
  .post-content h4, .post-content .hl4 {
    font-size: 18px;
    font-size: 1.125rem;
    margin: 0 0 36px 0;
  }
  .post-content h5, .post-content .hl5 {
    font-size: 16px;
    font-size: 1rem;
    margin: 0 0 15px 0;
  }
  .post-content h6, .post-content .hl6 {
    font-size: 14px;
    font-size: 0.875rem;
    margin: 0 0 10px 0;
  }
  .post-content p {
    font-size: 14px;
    font-size: 0.875rem;
    margin-bottom: 1.5em;
  }
  .post-content ul li, .post-content ol li {
    font-size: 14px;
    font-size: 0.875rem;
    margin-bottom: 4px;
  }
  .post-content dl {
    margin-bottom: 1.5em;
    font-size: 14px;
    font-size: 0.875rem;
  }
  .post-content dl dt {
    margin-bottom: 5px;
  }
  .post-content dl dt:not(:first-child) {
    margin-top: 1em;
  }
  .post-content dl dd {
    margin-left: 1em;
  }
  .post-content table {
    margin-bottom: 30px;
    width: 100%;
  }
  .post-content table th, .post-content table td {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.65;
    padding: 5px;
    display: block;
  }
  .post-content .unit1, .post-content .unit2 {
    padding: 15px;
    margin: 0 0 30px 0;
  }
  .post-content .unit1 .box_thum, .post-content .unit2 .box_thum {
    margin-bottom: 20px;
    text-align: center;
  }
  .post-content .content-footer_btn {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .post-content hr {
    margin: 40px 15px;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .post-content {
    margin: 0 auto;
  }
  .post-content .section {
    margin: 0 auto 60px auto;
    padding: 0 15px;
  }
  .post-content h2, .post-content .hl2 {
    font-size: 28px;
    font-size: 1.75rem;
    margin: 0 0 60px 0;
  }
  .post-content h3, .post-content .hl3 {
    font-size: 26px;
    font-size: 1.625rem;
    margin: 0 0 40px 0;
  }
  .post-content h3:after, .post-content .hl3:after {
    margin-top: 16px;
  }
  .post-content h4, .post-content .hl4 {
    font-size: 24px;
    font-size: 1.5rem;
    margin: 0 0 30px 0;
  }
  .post-content h5, .post-content .hl5 {
    font-size: 20px;
    font-size: 1.25rem;
    margin: 0 0 15px 0;
  }
  .post-content h6, .post-content .hl6 {
    font-size: 16px;
    font-size: 1rem;
    margin: 0 0 10px 0;
  }
  .post-content p {
    font-size: 15px;
    font-size: 0.9375rem;
    margin-bottom: 1.5em;
  }
  .post-content .lt {
    text-align: center;
  }
  .post-content ul li, .post-content ol li {
    font-size: 15px;
    font-size: 0.9375rem;
    margin-bottom: 4px;
  }
  .post-content dl {
    margin-bottom: 1.5em;
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .post-content dl dt {
    margin-bottom: 5px;
  }
  .post-content dl dt:not(:first-child) {
    margin-top: 1em;
  }
  .post-content dl dd {
    margin-left: 35px;
  }
  .post-content table {
    margin-bottom: 40px;
  }
  .post-content table th, .post-content table td {
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.75;
    padding: 8px 16px;
  }
  .post-content table th.w20, .post-content table td.w20 {
    width: 20%;
  }
  .post-content table th.w25, .post-content table td.w25 {
    width: 25%;
  }
  .post-content table th.w50, .post-content table td.w50 {
    width: 50%;
  }
  .post-content table th.w75, .post-content table td.w75 {
    width: 75%;
  }
  .post-content table.w100 {
    width: 100%;
  }
  .post-content .unit1, .post-content .unit2 {
    padding: 15px;
    margin: 0 0 30px 0;
  }
  .post-content .unit1 .inner-flex, .post-content .unit2 .inner-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .post-content .unit1 .box_thum, .post-content .unit2 .box_thum {
    width: 90px;
  }
  .post-content .unit1 .box_text, .post-content .unit2 .box_text {
    width: calc(100% - 130px);
    text-align: left !important;
  }
  .post-content .content-footer_btn {
    font-size: 16px;
    font-size: 1rem;
  }
  .post-content hr {
    margin: 60px 15px;
  }
}
@media screen and (min-width:960px) {
  .post-content {
    margin: 0 auto;
  }
  .post-content .section {
    margin: 0 auto 80px auto;
    width: 960px;
  }
  .post-content .sub {
    width: 800px;
    margin-left: auto;
    margin-right: auto;
  }
  .post-content h2, .post-content .hl2 {
    font-size: 32px;
    font-size: 2rem;
    margin: 0 0 60px 0;
  }
  .post-content h3, .post-content .hl3 {
    font-size: 26px;
    font-size: 1.625rem;
    margin: 0 0 40px 0;
  }
  .post-content h3:after, .post-content .hl3:after {
    margin-top: 16px;
  }
  .post-content h4, .post-content .hl4 {
    font-size: 22px;
    font-size: 1.375rem;
    margin: 0 0 30px 0;
  }
  .post-content h5, .post-content .hl5 {
    font-size: 20px;
    font-size: 1.25rem;
    margin: 0 0 15px 0;
  }
  .post-content h6, .post-content .hl6 {
    font-size: 18px;
    font-size: 1.125rem;
    margin: 0 0 10px 0;
  }
  .post-content p {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 1.5em;
  }
  .post-content .lt {
    text-align: center;
  }
  .post-content ul, .post-content ol {
    font-size: 16px;
    font-size: 1rem;
  }
  .post-content dl {
    margin-bottom: 1.5em;
    font-size: 16px;
    font-size: 1rem;
  }
  .post-content dl dt {
    margin-bottom: 5px;
  }
  .post-content dl dt:not(:first-child) {
    margin-top: 1em;
  }
  .post-content dl dd {
    margin-left: 35px;
  }
  .post-content table {
    margin-bottom: 40px;
  }
  .post-content table th, .post-content table td {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.75;
    padding: 10px 15px;
  }
  .post-content table th.w20, .post-content table td.w20 {
    width: 20%;
  }
  .post-content table th.w25, .post-content table td.w25 {
    width: 25%;
  }
  .post-content table th.w50, .post-content table td.w50 {
    width: 50%;
  }
  .post-content table th.w75, .post-content table td.w75 {
    width: 75%;
  }
  .post-content table.w100 {
    width: 100%;
  }
  .post-content .unit1, .post-content .unit2 {
    padding: 20px;
    margin: 0 0 30px 0;
  }
  .post-content .unit1 .inner-flex, .post-content .unit2 .inner-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .post-content .unit1 .box_thum, .post-content .unit2 .box_thum {
    width: 120px;
  }
  .post-content .unit1 .box_text, .post-content .unit2 .box_text {
    width: calc(100% - 160px);
    text-align: left !important;
  }
  .post-content .content-footer_btn {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .post-content hr {
    margin: 80px auto;
  }
}
/* Pagenavi
========================================================================== */
.wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.wp-pagenavi span, .wp-pagenavi a {
  color: #A44129;
  margin: 0 5px;
  padding: 5px;
  line-height: 1.25;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.wp-pagenavi .current {
  background-color: #A44129;
  color: #fff;
  border-radius: 4px;
}

@media screen and (max-width:767px) {
  .wp-pagenavi {
    font-size: 13px;
    font-size: 0.8125rem;
    margin: 60px 15px;
  }
  .wp-pagenavi span, .wp-pagenavi a {
    width: 24px;
    height: 24px;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .wp-pagenavi {
    font-size: 14px;
    font-size: 0.875rem;
    margin: 70px 15px;
  }
  .wp-pagenavi span, .wp-pagenavi a {
    width: 26px;
    height: 26px;
  }
}
@media screen and (min-width:960px) {
  .wp-pagenavi {
    font-size: 16px;
    font-size: 1rem;
    width: 960px;
    margin: 80px auto;
  }
  .wp-pagenavi span, .wp-pagenavi a {
    width: 30px;
    height: 30px;
  }
}
/* ページ内ナビ
========================================================================== */
.post-content .content-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.post-content .content-nav li {
  list-style-type: none;
  letter-spacing: 0.08em;
  font-weight: 500;
  text-align: center;
  padding: 0;
}
.post-content .content-nav li:before {
  display: none;
}
.post-content .content-nav li a {
  background: #fff;
  border: 2px solid #5A895A;
  color: #5A895A;
  text-decoration: none;
  display: block;
  padding: 0.25em 0;
}
.post-content .content-nav li a:hover {
  background: #5A895A;
  opacity: 1;
  color: #fff;
}
.post-content .content-nav li:first-child a {
  border-radius: 4px 0 0 4px;
}
.post-content .content-nav li:last-child a {
  border-radius: 0 4px 4px 0;
}

@media screen and (max-width:767px) {
  .content-nav {
    margin: 30px auto 60px auto !important;
    padding: 0 15px !important;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 14px;
    font-size: 0.875rem;
  }
  .content-nav li {
    width: calc(50% - 5px);
    margin-bottom: 5px;
  }
  .content-nav li:nth-child(odd) {
    margin-right: 5px;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .content-nav {
    margin: 40px auto 80px auto !important;
    padding: 0 15px !important;
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .content-nav li {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin: 0;
  }
  .content-nav li:not(:last-child) {
    margin-right: 5px;
  }
}
@media screen and (min-width:960px) {
  .content-nav {
    margin: 40px auto 80px auto !important;
    width: 960px;
    font-size: 16px;
    font-size: 1rem;
  }
  .content-nav li {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin: 0;
  }
  .content-nav li:not(:last-child) {
    margin-right: 5px;
  }
}
/* その他
========================================================================== */
.text-center {
  text-align: center !important;
}

.text-small {
  font-size: 90% !important;
}

.text-large {
  font-size: 120% !important;
}

.text-exlarge {
  font-size: 150% !important;
}

.text-underline {
  text-decoration: underline;
}

.mb0 {
  margin-bottom: 0 !important;
}

.border-right {
  border-right: 1px solid #EAE1E1;
}

.text-red {
  color: #bf1212;
}

@media screen and (max-width:959px) {
  .show-pc {
    display: none;
  }
  .text-mb-left {
    text-align: left !important;
  }
  .text-mb-right {
    text-align: right !important;
  }
  .tet-mb-center {
    text-align: center !important;
  }
}
@media screen and (min-width:960px) {
  .border-pc-right {
    border-right: 1px solid #EAE1E1;
  }
  .show-sp {
    display: none;
  }
  .text-pc-left {
    text-align: left !important;
  }
  .text-pc-right {
    text-align: right !important;
  }
  .text-pc-center {
    text-align: center !important;
  }
  a[href^="tel:"] {
    pointer-events: none;
    text-decoration: none;
  }
}
/* ========================================================================== */
/* トップページ
/* ========================================================================== */
/*メインビジュアル
========================================================================== */
#main-visual {
  display: none;
  width: 100%;
  height: auto;
  position: relative;
  display: none;
  aspect-ratio: 12/5;
}

.top-copy {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: 100%;
  z-index: 5;
}
.top-copy__wrap {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1.5;
}
.top-copy__line {
  color: #fff;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.35);
  line-height: 2;
}

@media screen and (max-width:767px) {
  .top-copy__line {
    font-size: 16px;
    font-size: 1rem;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .top-copy__line {
    font-size: 26px;
    font-size: 1.625rem;
  }
}
@media screen and (min-width:960px) {
  .top-copy__line {
    font-size: 30px;
    font-size: 1.875rem;
  }
}
@-moz-document url-prefix() {
  .top-copy__line {
    letter-spacing: 0.12em;
  }
  .top-copy__line img {
    margin-top: 6px;
  }
}
/*臨時お知らせ
========================================================================== */
.top-info {
  background-color: #FDFAFA;
}
.top-info .wp-block-group {
  border-radius: 6px;
  border: 2px solid #5a895a;
  background: #fff;
  padding: 1.5em;
}
.top-info .wp-block-group *:last-child {
  margin-bottom: 0;
}

@media screen and (max-width:959px) {
  .top-info {
    padding: 0 15px;
    padding: 48px 15px;
  }
  .top-info .post-content {
    padding: 16px 0;
    margin: 0 auto;
  }
}
@media screen and (min-width:960px) {
  .top-info {
    padding: 60px 0;
  }
  .top-info .post-content {
    width: 960px;
    margin: 0 auto;
    padding: 24px 0;
  }
}
/*菓子バナー
========================================================================== */
.top-banner img {
  margin: 0 auto;
}

@media screen and (max-width:959px) {
  .top-banner {
    padding: 0 15px;
    margin: 60px auto;
  }
}
@media screen and (min-width:960px) {
  .top-banner {
    width: 960px;
    margin: 80px auto;
  }
}
/*おすすめプラン
========================================================================== */
.top-plan {
  background: #fff;
}
.top-plan .top-plan_box {
  position: relative;
}
.top-plan .top-plan_box a {
  color: #8A503E;
  text-decoration: none;
}
.top-plan .top-plan_box .thum a {
  display: block;
  line-height: 0;
  overflow: hidden;
  position: relative;
}
.top-plan .top-plan_box .thum a img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.top-plan .top-plan_box .thum a:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  opacity: 1;
}
.top-plan .top-plan_box .plantitle {
  font-weight: 600;
  line-height: 1.625;
  letter-spacing: 0.025em;
}
.top-plan .top-plan_box .plantitle a {
  color: #8A503E;
}
.top-plan .top-plan_box .plantitle a:hover {
  color: #a45f29;
  opacity: 1;
}
.top-plan .top-plan_box .plan-text {
  line-height: 1.866;
  text-align: justify;
  letter-spacing: 0.05em;
}
.top-plan .plan-more {
  font-size: 14px;
  font-size: 0.875rem;
  height: 34px;
  margin: 0;
}
.top-plan .plan-more a {
  border-top: 1px solid #EAE1E1;
  border-bottom: 1px solid #EAE1E1;
  color: #8A503E;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 500;
  letter-spacing: 0.05em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  position: relative;
}
.top-plan .plan-more a svg {
  position: absolute;
  right: 24px;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.top-plan .plan-more a:hover {
  color: #A45F29;
}
.top-plan .plan-more a:hover svg {
  right: 16px;
}
.top-plan .plan-list {
  text-align: center;
  font-weight: 600;
  width: 340px;
  height: 54px;
}
.top-plan .plan-list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}

@media screen and (max-width:767px) {
  .top-plan {
    padding: 40px 15px;
  }
  .top-plan .top-plan_box .thum {
    overflow: hidden;
    position: relative;
    margin: 0;
    width: 100%;
  }
  .top-plan .top-plan_box .thum img {
    width: 100%;
    height: auto;
  }
  .top-plan .plantitle {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .top-plan .plan-detail {
    padding: 15px 0;
  }
  .top-plan .plan-text {
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .top-plan .plan-more {
    width: 100%;
  }
  .top-plan .plan-more a {
    height: 38px;
  }
  .top-plan .plan-list {
    margin: 40px auto 0 auto;
    font-size: 14px;
    font-size: 0.875rem;
    width: 240px;
    height: 44px;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .top-plan {
    padding: 60px 15px;
  }
  .top-plan .top-plan_box {
    position: relative;
    padding-right: 15px;
  }
  .top-plan .top-plan_box:not(:last-child) {
    border-right: 1px solid #EAE1E1;
  }
  .top-plan .top-plan_box .thum {
    overflow: hidden;
    position: relative;
    margin: 0;
  }
  .top-plan .plantitle {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .top-plan .plan-detail {
    padding: 15px 0 45px 0;
  }
  .top-plan .plan-text {
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .top-plan .plan-more {
    position: absolute;
    bottom: 0;
    right: 15px;
    left: 0;
  }
  .top-plan .plan-more a {
    height: 40px;
    padding-right: 24px;
  }
  .top-plan .plan-list {
    margin: 40px auto 0 auto;
    font-size: 16px;
    font-size: 1rem;
    width: 340px;
    height: 50px;
  }
}
@media screen and (min-width:960px) {
  .top-plan {
    padding: 80px 0;
  }
  .top-plan .top-plan_box:not(:last-child) {
    padding-right: 15px;
    border-right: 1px solid #EAE1E1;
    margin-right: 15px;
    width: 315px;
  }
  .top-plan .top-plan_box .thum {
    width: 300px;
    height: 200px;
    overflow: hidden;
    position: relative;
    margin: 0;
  }
  .top-plan .plantitle {
    font-size: 16px;
    font-size: 1rem;
    margin-bottom: 20px;
  }
  .top-plan .plan-detail {
    padding: 15px 15px 60px 15px;
    height: calc(100% - 200px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: relative;
  }
  .top-plan .plan-text {
    margin-bottom: 30px;
  }
  .top-plan .plan-more {
    position: absolute;
    left: 15px;
    bottom: 15px;
    width: 269px;
  }
  .top-plan .plan-more a {
    height: 42px;
  }
  .top-plan .plan-list {
    margin: 40px auto 0 auto;
    font-size: 18px;
    font-size: 1.125rem;
  }
}
/*おすすめポイント
========================================================================== */
.top-recommend {
  background-color: #FDFAFA;
  width: 100%;
  margin: 0 auto;
}
.top-recommend .top-rcm_photo {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
.top-recommend .top-rcm_photo.visible:after, .top-recommend .top-rcm_photo.visible:before {
  right: -100%;
}
.top-recommend .top-rcm_detail h3 {
  color: #333;
  font-weight: 700;
  line-height: 1.545;
  letter-spacing: 0.05em;
}
.top-recommend .top-rcm_detail h3:after {
  background: #5A895A;
  content: "";
  display: block;
  width: 36px;
  height: 4px;
}
.top-recommend .top-rcm_detail p {
  margin-bottom: 0;
  line-height: 1.933;
  text-align: justify;
}
.top-recommend .top-recommend__more {
  margin-top: 30px;
  display: block;
}
.top-recommend .top-recommend__more a {
  border-top: 1px solid #EAE1E1;
  border-bottom: 1px solid #EAE1E1;
  color: #8A503E;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 500;
  letter-spacing: 0.05em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  position: relative;
  padding: 0 48px 0 24px;
}
.top-recommend .top-recommend__more a svg {
  position: absolute;
  right: 24px;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.top-recommend .top-recommend__more a:hover {
  color: #A45F29;
}
.top-recommend .top-recommend__more a:hover svg {
  right: 16px;
}

@media screen and (max-width:767px) {
  .top-recommend {
    padding: 40px 0;
  }
  .top-rcm_photo {
    border-top: 6px solid #F2E6DF;
    border-bottom: 6px solid #F2E6DF;
    width: 100%;
    height: 220px;
  }
  .top-rcm_detail {
    padding: 30px 15px;
  }
  .top-rcm_detail h3 {
    font-size: 16px;
    font-size: 1rem;
    margin-bottom: 16px;
  }
  .top-rcm_detail h3:after {
    margin-top: 16px;
  }
  .top-rcm_detail p {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .top-rcm_detail .top-recommend__more {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .top-rcm_detail .top-recommend__more a {
    width: 200px;
    margin-right: 0;
    margin-left: auto;
    height: 36px;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .top-recommend {
    padding: 60px 0;
  }
  .top-rcm_photo {
    border-top: 6px solid #F2E6DF;
    border-bottom: 6px solid #F2E6DF;
    width: 100%;
    height: 360px;
  }
  .top-rcm_detail {
    padding: 40px 15px;
  }
  .top-rcm_detail h3 {
    font-size: 18px;
    font-size: 1.125rem;
    margin-bottom: 24px;
  }
  .top-rcm_detail h3:after {
    margin-top: 24px;
  }
  .top-rcm_detail p {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .top-rcm_detail .top-recommend__more {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .top-rcm_detail .top-recommend__more a {
    width: 240px;
    margin-right: 0;
    margin-left: auto;
    height: 40px;
  }
}
@media screen and (min-width:960px) {
  .top-recommend {
    padding: 80px 0;
  }
  .top-recommend-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 338px;
    margin-bottom: 64px;
  }
  .top-recommend-box:nth-child(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .top-recommend-box:nth-child(odd) .top-rcm_photo {
    border-radius: 0 6px 6px 0;
  }
  .top-recommend-box:nth-child(odd) .top-rcm_detail {
    padding-left: 46px;
  }
  .top-recommend-box:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .top-recommend-box:nth-child(even) .top-rcm_photo {
    border-radius: 6px 0 0 6px;
  }
  .top-recommend-box:nth-child(even) .top-rcm_detail {
    padding-right: 46px;
  }
  .top-recommend-box:nth-child(even) .top-recommend__more a {
    width: 60%;
    margin-right: 0;
    margin-left: auto;
  }
  .top-recommend-box {
    position: relative;
    z-index: 2;
  }
  .top-recommend-box:not(:last-child) {
    padding-bottom: 44px;
    margin-bottom: 40px;
  }
  .top-rcm_photo {
    width: 56.333%;
    height: 338px;
    position: relative;
  }
  .top-rcm_photo:after {
    background: #F2E6DF;
    border-radius: 6px;
    content: "";
    display: block;
    width: calc(100% + 16px);
    height: 100%;
    position: absolute;
    bottom: -10px;
    z-index: -1;
  }
  .top-recommend-box:nth-child(odd) .top-rcm_photo:after {
    right: -10px;
  }
  .top-recommend-box:nth-child(even) .top-rcm_photo:after {
    left: -10px;
  }
  .top-rcm_detail {
    width: 404px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .top-rcm_detail h3 {
    font-size: 22px;
    font-size: 1.375rem;
    margin-bottom: 24px;
  }
  .top-rcm_detail h3:after {
    margin-top: 24px;
  }
  .top-rcm_detail p {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .top-rcm_detail .top-recommend__more {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .top-rcm_detail .top-recommend__more a {
    height: 36px;
  }
}
/*バナー
========================================================================== */
.top-bnr {
  background: url(../img/top-bnr-line.png) repeat-x center top;
}

@media screen and (max-width:767px) {
  .top-bnr {
    padding: 40px 15px 40px 15px;
    text-align: center;
  }
  .top-bnr__item {
    max-width: 100%;
  }
  .top-bnr__item:first-child {
    margin-bottom: 15px;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .top-bnr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto 60px auto;
    padding: 60px 15px 60px 15px;
  }
  .top-bnr__item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .top-bnr__item:first-child {
    margin-right: 20px;
  }
}
@media screen and (min-width:960px) {
  .top-bnr {
    width: 960px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 auto 70px auto;
    padding: 70px 0 0 0;
  }
}
/*お知らせ（新フォーマット）
========================================================================== */
.top-update {
  background: #fff;
}
.top-update .more-news a {
  font-weight: 700;
}

.list-update__item {
  letter-spacing: 0.05em;
}
.list-update__item a {
  color: inherit;
}
.list-update__date {
  color: #666;
}
.list-update__cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.list-update__cat a {
  border-radius: 4px;
  background-color: #497ba2;
  display: inline-block;
  font-weight: 400;
  color: #fff;
  padding: 1px 5px 2px 5px;
  line-height: 1.5;
}
.list-update__cat a[href*="/category/info/"] {
  background-color: #8a503e;
}
.list-update__cat a[href*="/category/important/"] {
  background-color: #A44129;
}
.list-update__title {
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.list-update__title a {
  display: block;
  width: 100%;
}
.list-update__title a:hover {
  color: #A44129;
}

@media screen and (max-width:767px) {
  .top-update {
    padding: 40px 15px;
  }
  .top-update .more-news .btn {
    width: 260px;
    height: 40px;
  }
  .top-update .more-news .btn a {
    border-radius: 20px;
    font-size: 14px;
    font-size: 0.875rem;
  }
  .list-update {
    margin: 0 auto 48px auto;
    padding: 0 15px;
  }
  .list-update__item {
    border-bottom: 1px solid #EAE1E1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-bottom: 12px;
    margin-bottom: 12px;
  }
  .list-update__date {
    width: 94px;
    font-size: 12px;
    font-size: 0.75rem;
  }
  .list-update__cat {
    font-size: 12px;
    font-size: 0.75rem;
    min-width: 140px;
    max-width: 240px;
  }
  .list-update__cat a:not(:last-child) {
    margin-right: 6px;
  }
  .list-update__title {
    font-size: 14px;
    font-size: 0.875rem;
    width: 100%;
    padding-top: 12px;
  }
  .more-news {
    font-size: 13px;
    font-size: 0.8125rem;
    width: 240px;
    height: 40px;
    margin: 0 auto;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .top-update {
    padding: 60px 15px;
  }
  .top-update .more-news .btn {
    width: 280px;
    height: 44px;
  }
  .top-update .more-news .btn a {
    border-radius: 22px;
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .list-update {
    margin: 0 auto 56px auto;
  }
  .list-update__item {
    border-bottom: 1px solid #EAE1E1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-bottom: 16px;
    margin-bottom: 16px;
  }
  .list-update__date {
    width: 94px;
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .list-update__cat {
    font-size: 13px;
    font-size: 0.8125rem;
    min-width: 140px;
    max-width: 240px;
  }
  .list-update__cat a:not(:last-child) {
    margin-right: 6px;
  }
  .list-update__title {
    font-size: 15px;
    font-size: 0.9375rem;
    width: calc(100% - 334px);
  }
  .more-news {
    font-size: 14px;
    font-size: 0.875rem;
    width: 260px;
    height: 44px;
    margin: 0 auto;
  }
}
@media screen and (min-width:960px) {
  .top-update {
    padding: 80px 0;
  }
  .top-update .more-news .btn {
    font-size: 18px;
    font-size: 1.125rem;
    width: 280px;
    height: 48px;
  }
  .top-update .more-news .btn a {
    border-radius: 24px;
  }
  .list-update {
    width: 960px;
    margin: 0 auto 56px auto;
  }
  .list-update__item {
    border-bottom: 1px solid #EAE1E1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-bottom: 16px;
  }
  .list-update__item:not(:last-child) {
    margin-bottom: 16px;
  }
  .list-update__date {
    width: 94px;
    font-size: 14px;
    font-size: 0.875rem;
  }
  .list-update__cat {
    font-size: 13px;
    font-size: 0.8125rem;
    min-width: 140px;
    max-width: 240px;
  }
  .list-update__cat a:not(:last-child) {
    margin-right: 6px;
  }
  .list-update__title {
    font-size: 15px;
    font-size: 0.9375rem;
    max-width: 726px;
  }
  .more-news {
    font-size: 16px;
    font-size: 1rem;
    width: 260px;
    height: 48px;
    margin: 0 auto;
  }
}
/* ========================================================================== */
/* お知らせ
/* ========================================================================== */
/* 一覧
========================================================================== */
.single-article {
  border-top: 1px dotted #EAE1E1;
}
.single-article:last-child {
  border-bottom: 1px dotted #EAE1E1;
}
.single-article a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #5A895A;
}
.single-article .thum {
  float: left;
  overflow: hidden;
  position: relative;
  width: 100px;
  height: 100px;
}
.single-article .thum img {
  width: 100px;
  height: 100px;
  -o-object-fit: cover;
     object-fit: cover;
}
.single-article .detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.single-article .detail span {
  display: block;
}
.single-article .date {
  color: #666;
}
.single-article .posttitle {
  font-weight: 600;
}
.single-article .cat {
  font-size: 12px;
  font-size: 0.75rem;
  padding: 0 5px;
  margin-left: 10px;
}
.single-article .cat a {
  background-color: #aaa;
  color: #fff;
  display: inline-block;
  padding: 0 5px;
  text-decoration: none;
}

.post-nav {
  border-top: 1px solid #EAE1E1;
}
.post-nav .postnav-title {
  background-color: transparent;
}
.post-nav ul {
  margin: 0;
}
.post-nav ul a {
  color: #333;
}
.post-nav ul a:hover {
  opacity: 1;
  color: #A44129;
}
.post-nav ul li {
  font-size: 14px;
  font-size: 0.875rem;
  list-style-type: none;
}
.post-nav ul li:before {
  color: #5A895A;
  font-family: "fontello";
  content: "\f105";
  padding-right: 8px;
}
.post-nav ul ul {
  margin: 5px 20px;
}
.post-nav ul ul li {
  margin-bottom: 5px;
}
.post-nav select {
  background: url(../img/select-arrow.svg) #fff no-repeat right 8px center;
  background-size: 8.69px 14.51px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
  border: 1px solid #EAE1E1;
  width: 100%;
  font-family: inherit;
}

@media screen and (max-width:767px) {
  .post-list {
    margin: 0 auto 60px auto;
    padding: 0 15px;
  }
  .post-list .thum {
    margin-right: 20px;
  }
  .post-list .date {
    font-size: 12px;
    font-size: 0.75rem;
    margin-bottom: 8px;
  }
  .post-list .posttitle {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.4;
  }
  .single-article a {
    padding: 10px 0;
  }
  .single-article .detail {
    width: calc(100% - 120px);
  }
  .post-nav {
    margin: 0 15px 30px 15px;
    padding: 30px 0 0 0;
  }
  .post-nav .menu:first-child {
    margin-bottom: 50px;
  }
  .post-nav .postnav-title {
    font-size: 15px;
    font-size: 0.9375rem;
    margin-bottom: 30px;
    text-align: left;
  }
  .post-nav li {
    margin-bottom: 10px;
  }
  .post-nav select {
    padding: 10px 20px 10px 16px;
    font-size: 14px;
    font-size: 0.875rem;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .post-list {
    margin: 0 auto 60px auto;
    padding: 0 15px;
  }
  .post-list .thum {
    margin-right: 30px;
  }
  .post-list .date {
    font-size: 13px;
    font-size: 0.8125rem;
    margin-bottom: 10px;
  }
  .post-list .posttitle {
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.5;
  }
  .single-article a {
    padding: 20px 0;
  }
  .single-article .detail {
    width: calc(100% - 130px);
  }
  .post-nav {
    margin: 0 15px 30px 15px;
    padding: 30px 0 0 0;
  }
  .post-nav .menu:first-child {
    margin-bottom: 50px;
  }
  .post-nav .postnav-title {
    font-size: 15px;
    font-size: 0.9375rem;
    margin-bottom: 30px;
    text-align: left;
  }
  .post-nav li {
    margin-bottom: 10px;
  }
  .post-nav select {
    padding: 12px 26px 12px 16px;
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
@media screen and (min-width:960px) {
  .post-list {
    width: 960px;
    margin: 0 auto 60px auto;
  }
  .post-list .thum {
    margin-right: 30px;
  }
  .post-list .date {
    font-size: 14px;
    font-size: 0.875rem;
    margin-bottom: 15px;
  }
  .post-list .posttitle {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
  .single-article a {
    padding: 20px 0;
  }
  .single-article .detail {
    width: 830px;
  }
  .post-nav {
    width: 960px;
    margin: 0 auto 40px auto;
    padding-top: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .post-nav .menu {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .post-nav .postnav-title {
    font-size: 16px;
    font-size: 1rem;
    margin-bottom: 30px;
    text-align: left;
  }
  .post-nav li {
    margin-bottom: 10px;
  }
  .post-nav select {
    padding: 9px 26px 9px 14px;
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
/* 個別
========================================================================== */
.post-title {
  border-bottom: 1px solid #EAE1E1;
}
.post-title .title {
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 0;
  text-align: left;
}
.post-title .meta {
  color: #666;
  margin-bottom: 0.5em;
}
.post-title .cat {
  background-color: #aaa;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  font-size: 0.75rem;
  padding: 0 5px;
  margin-left: 10px;
  text-decoration: none;
}

.postlink ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.postlink li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  list-style-type: none;
  margin: 0;
}
.postlink a {
  color: #222;
}
.postlink .next {
  text-align: right;
}
.postlink .next a:after {
  content: "\f105";
  font-family: "fontello";
  padding-left: 8px;
}
.postlink .prev a:before {
  content: "\f104";
  font-family: "fontello";
  padding-right: 8px;
}
.postlink .list {
  text-align: center;
}

@media screen and (max-width:767px) {
  .post-body {
    padding: 0 15px;
  }
  .post-title {
    margin-bottom: 20px;
    padding-bottom: 10px;
  }
  .post-title .title {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .post-title .title span {
    padding: 0;
  }
  .post-title .meta {
    color: #666;
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .postlink {
    margin: 60px auto 30px auto;
    padding: 0 15px;
  }
  .postlink li {
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .postlink a {
    padding: 5px;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .post-body {
    padding: 0 15px;
  }
  .post-title {
    margin-bottom: 30px;
    padding-bottom: 15px;
  }
  .post-title .title {
    font-size: 26px;
    font-size: 1.625rem;
  }
  .post-title .title span {
    padding: 0;
  }
  .post-title .meta {
    color: #666;
    font-size: 14px;
    font-size: 0.875rem;
  }
  .postlink {
    margin: 60px auto 30px auto;
    padding: 0 15px;
  }
  .postlink li {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .postlink a {
    padding: 5px;
  }
}
@media screen and (min-width:960px) {
  .post-body {
    width: 960px;
    margin: 0 auto;
  }
  .post-title {
    margin-bottom: 40px;
    padding-bottom: 15px;
  }
  .post-title .title {
    font-size: 26px;
    font-size: 1.625rem;
  }
  .post-title .title span {
    padding: 0;
  }
  .post-title .meta {
    color: #666;
    font-size: 14px;
    font-size: 0.875rem;
  }
  .postlink {
    margin: 80px auto 40px auto;
    width: 960px;
  }
  .postlink li {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
/* ========================================================================== */
/* 客室モジュール
/* ========================================================================== */
/* 特長
========================================================================== */
.room-feature {
  background-color: #FDFAFA;
  width: 100%;
}

.room-feature_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.room-feature_box .pic {
  position: relative;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}
.room-feature_box .pic .point {
  background-color: #5A895A;
  color: #fff;
  position: absolute;
  top: -25px;
  left: -25px;
  width: 50px;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.25;
  letter-spacing: 0.05em;
  text-align: center;
  border-radius: 6px;
}
.room-feature_box .pic .point span {
  display: block;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
}
.room-feature_box .pic img {
  width: 100%;
  height: auto;
}
.room-feature_box .text h4 {
  color: #5A895A;
  font-weight: bold;
  text-align: left;
  margin-bottom: 15px;
}
.room-feature_box .text h4 span {
  border: none;
}
.room-feature_box .text h4 .point {
  background-color: #5A895A;
  color: #fff;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  display: block;
  padding: 1px 5px;
  width: 4em;
  text-align: center;
}
.room-feature_box .text p {
  margin-bottom: 0;
}

@media screen and (max-width:767px) {
  .room-feature {
    width: 100%;
    margin: 60px 0;
    padding: 40px 15px 40px 40px;
  }
  .room-feature_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .room-feature_box:not(:last-child) {
    margin-bottom: 40px;
  }
  .room-feature_box .pic {
    width: 100px;
  }
  .room-feature_box .text {
    padding-left: 20px;
    width: calc(100% - 100px);
  }
  .room-feature_box h4 {
    font-size: 16px;
    font-size: 1rem;
  }
  .room-feature_box p {
    font-size: 13px;
    font-size: 0.8125rem;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .room-feature {
    width: 100%;
    margin: 60px 0;
    padding: 40px 15px 40px 40px;
  }
  .room-feature_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .room-feature_box:not(:last-child) {
    margin-bottom: 40px;
  }
  .room-feature_box .pic {
    width: 180px;
  }
  .room-feature_box .text {
    padding-left: 20px;
    width: calc(100% - 200px);
  }
  .room-feature_box h4 {
    font-size: 16px;
    font-size: 1rem;
  }
  .room-feature_box p {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
@media screen and (min-width:960px) {
  .room-feature {
    width: 100%;
    margin: 60px 0;
    padding: 40px 0;
  }
  .feature-title {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .room-feature_inner {
    width: 960px;
    margin: 30px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .room-feature_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .room-feature_box .pic {
    width: 180px;
  }
  .room-feature_box .text {
    padding-left: 20px;
    width: 260px;
  }
  .room-feature_box h4 {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .room-feature_box p {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .room-feature_box:nth-child(odd) {
    margin-right: 40px;
  }
}
/* 客室タイプ
========================================================================== */
.post-content .room-detail h4 {
  text-align: left;
}

.post-content table.room-spec {
  width: 100%;
}
.post-content table.room-spec th, .post-content table.room-spec td {
  font-size: 13px;
  font-size: 0.8125rem;
  display: table-cell;
}
.post-content table.room-spec th {
  width: 25%;
  text-align: right;
  padding-right: 15px;
}
.post-content table.room-spec td {
  width: 75%;
  padding-left: 15px;
}

.post-content ul.itemlist {
  margin-left: 0;
  margin-bottom: 0;
}
.post-content ul.itemlist li {
  list-style-type: none;
  display: inline-block;
  margin-bottom: 0;
}
.post-content ul.itemlist li:before {
  background: transparent;
  content: "・";
  margin-right: 0.5em;
  top: 0;
}

.sp-thumbnail {
  margin-top: 0 !important;
}

.post-content .table-camp {
  width: 100%;
}
.post-content .table-camp th.table-camp__hl {
  background-color: #d9526b !important;
  color: #fff;
}
.post-content .table-camp th.table-camp__stay {
  background-color: #6f7366;
  color: #fff;
}
.post-content .table-camp .table-camp__price {
  font-weight: 600;
  text-align: center;
  color: #5A895A;
}

.post-content .list-sport-facility {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: 0;
}
.post-content .list-sport-facility li {
  list-style-type: none;
}
.post-content .list-sport-facility li:not(:last-child):after {
  content: " / ";
  padding: 0 0.75em 0 0.5em;
}

.camp-tel {
  color: #5A895A;
  font-weight: 600;
  text-align: center;
  padding-left: 28px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.camp-tel img {
  margin-right: 8px;
}

@media screen and (max-width:767px) {
  .sp-thumbnails {
    width: 48%;
  }
  table.amenity li {
    width: 48%;
    font-size: 13px;
    font-size: 0.8125rem;
  }
  table.room-spec th {
    width: 40%;
  }
  .list-association {
    margin-left: 0;
  }
  .list-association li {
    width: 100%;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .roomtype-box.annex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .roomtype-box.annex .inner table {
    width: 100%;
    font-size: 13px;
    font-size: 0.8125rem;
  }
  table.amenity th {
    width: 200px;
  }
  table.amenity li {
    width: 30%;
  }
  table.room-spec th {
    width: 40%;
  }
}
@media screen and (max-width:959px) {
  .roomtype-box {
    margin: 60px auto;
  }
  .room-slide {
    width: 100%;
    padding: 0 15px;
    margin: 0 auto 30px auto;
  }
  .room-slide img {
    width: 100%;
    height: auto;
  }
  .room-spec {
    margin-bottom: 20px;
    width: 100%;
  }
  .room-spec th, .room-spec td {
    font-size: 13px;
    font-size: 0.8125rem;
    width: 100%;
  }
  ul.itemlist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  ul.itemlist li {
    width: 50%;
  }
}
@media screen and (min-width:960px) {
  .roomtype-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 960px;
    margin: 80px auto;
  }
  .room-slide {
    width: 460px;
  }
  .room-detail {
    padding-left: 40px;
    width: 540px;
  }
  .room-spec {
    margin-top: 40px;
    margin-bottom: 0 !important;
  }
  .room-spec th, .room-spec td {
    font-size: 13px;
    font-size: 0.8125rem;
  }
  table.amenity th {
    width: 25%;
    text-align: right;
  }
  table.amenity td {
    width: 75%;
  }
  ul.itemlist li {
    margin-right: 0.5em;
  }
  .camp-tel {
    font-size: 28px;
    font-size: 1.75rem;
  }
}
/* ========================================================================== */
/* 天然温泉
/* ========================================================================== */
.post-content .hs-title {
  margin-bottom: 1em;
}
.post-content .hs-title span {
  background: rgba(90, 137, 90, 0.1);
  color: #00766d;
  font-weight: 700;
  display: inline-block;
  padding: 0.25em 3em;
  width: 100%;
}
.post-content .box-centered {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.post-content .box-centered {
  margin-bottom: 30px;
}
.post-content .table-list {
  width: 100%;
}
.post-content .table-list .lemon {
  color: #c99406;
}
.post-content .table-list .lavender {
  color: #9406c9;
}
.post-content .table-list .plant {
  color: #5A895A;
}
.post-content .table-list .rose {
  color: #c90674;
}
.post-content .table-list .yuzu {
  color: #c98b06;
}
.post-content .table-list .jasmine {
  color: #958c02;
}
.post-content .price-table {
  width: 100%;
}
.post-content .price-table th, .post-content .price-table td {
  vertical-align: middle;
  padding-right: 0;
}
.post-content .price-table .price-title {
  color: #000;
  font-weight: bold;
}
.post-content .price-table .price-hl {
  color: #573b02;
  font-weight: bold;
}
.post-content .price-table .price-num {
  color: #952f02;
  font-weight: bold;
  text-align: right;
}
.post-content .price-table .price-text {
  color: #444;
}

@media screen and (max-width:767px) {
  .post-content .hs-title {
    margin-bottom: 30px;
  }
  .post-content .hs-title span {
    border-radius: 18px;
    font-size: 18px;
    font-size: 1.125rem;
  }
  .post-content .box-centered {
    margin-bottom: 40px;
  }
  .post-content .price-table {
    margin-bottom: 40px;
  }
  .post-content .price-table .price-num {
    font-size: 16px;
    font-size: 1rem;
  }
  .post-content .price-table tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .post-content .price-table th,
  .post-content .price-table .price-text,
  .post-content .price-table .price-title {
    width: 100%;
  }
  .post-content .price-table .price-title {
    border-bottom: 1px dashed #ddd;
  }
  .post-content .price-table .price-hl {
    border-bottom: none;
    width: 60%;
  }
  .post-content .price-table .price-num {
    border-bottom: none;
    width: 40%;
  }
  .post-content .table-list {
    margin-bottom: 40px;
  }
  .post-content .table-list td:not(:last-child) {
    border-bottom: 0;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  .post-content .hs-title {
    margin-bottom: 40px;
  }
  .post-content .hs-title span {
    border-radius: 20px;
    font-size: 20px;
    font-size: 1.25rem;
  }
  .post-content .box-centered {
    margin-bottom: 40px;
  }
  .post-content .price-table {
    margin-bottom: 60px;
  }
  .post-content .price-table th {
    width: 20%;
  }
  .post-content .price-table .price-num {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .post-content .price-table.price-list {
    margin-bottom: 20px;
  }
  .post-content .table-list {
    margin-bottom: 60px;
  }
  .post-content .table-list th {
    width: 20%;
    vertical-align: middle;
  }
}
@media screen and (min-width:960px) {
  .post-content .hs-title {
    margin-bottom: 40px;
  }
  .post-content .hs-title span {
    border-radius: 20px;
    font-size: 20px;
    font-size: 1.25rem;
  }
  .post-content .box-centered {
    margin-bottom: 40px;
  }
  .post-content .price-table {
    margin-bottom: 60px;
  }
  .post-content .price-table th {
    width: 15%;
  }
  .post-content .price-table .price-hl {
    width: 25%;
  }
  .post-content .price-table .price-num {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .post-content .price-table.price-list {
    margin-bottom: 20px;
  }
  .post-content .price-table.price-list .price-title {
    width: 15%;
  }
  .post-content .price-table.price-list .price-hl {
    width: 25%;
  }
  .post-content .price-table.price-list .price-num {
    width: 10%;
  }
  .post-content .table-list {
    margin-bottom: 60px;
  }
  .post-content .table-list th {
    width: 20%;
    vertical-align: middle;
  }
}
/* ========================================================================== */
/* お食事
/* ========================================================================== */
.post-content .menu-detail {
  background: #FDFAFA;
  border-radius: 6px;
  padding: 1.25em;
}
.post-content .menu-detail dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 0;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.post-content .menu-detail dt, .post-content .menu-detail dd {
  margin-left: 0 !important;
  margin-bottom: 0.5em !important;
  margin-top: 0 !important;
  line-height: 1.8;
}
.post-content .menu-detail__second dl {
  display: block;
}
.post-content .menu-detail__second dl dt, .post-content .menu-detail__second dl dd {
  width: 100%;
}
.post-content .restaurant-menu {
  width: 100%;
}
.post-content .restaurant-menu th {
  background: transparent;
  font-weight: 400;
}
.post-content .restaurant-menu .price {
  font-weight: 700;
  color: #A44129;
  text-align: right;
}
.post-content .bq-plan {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
  margin-bottom: 12px !important;
}
.post-content .bq-plan.plan1 dd {
  color: #3D5846;
}
.post-content .bq-plan.plan2 dd {
  color: #5A895A;
}
.post-content .bq-plan.plan3 dd {
  color: #8a503e;
}
.post-content .bq-plan.plan4 dd {
  color: #5F0C8B;
}
.post-content .bq-plan dt, .post-content .bq-plan dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.post-content .bq-plan dt {
  font-weight: 400;
  margin-bottom: 0;
}
.post-content .bq-plan dt:after {
  height: 1em;
  content: "";
  background: url(../img/product-line.png) repeat-x left center;
  -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;
  margin-left: 1em;
  margin-right: 1em;
}
.post-content .bq-plan dd {
  font-weight: 700;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-left: 0;
}
.post-content .banquet-price {
  font-weight: 700;
  text-align: center;
  margin: 3.6em 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.post-content .banquet-price__hl {
  position: relative;
  font-size: 15px;
  font-size: 0.9375rem;
  margin-right: 1.5em;
}
.post-content .banquet-price__price {
  font-size: 18px;
  font-size: 1.125rem;
}
.post-content .table-footer {
  text-align: right;
}

@media screen and (max-width:959px) {
  .post-content .menu-detail {
    margin-top: 24px;
  }
  .post-content .menu-detail dt, .post-content .menu-detail dd {
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .post-content .menu-detail dt {
    width: 80px;
  }
  .post-content .menu-detail dd {
    width: calc(100% - 80px);
  }
  .post-content .restaurant-menu tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .post-content .restaurant-menu th {
    width: 75%;
  }
  .post-content .restaurant-menu .price {
    width: 25%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .post-content .bq-plan dt {
    width: calc(100% - 120px);
    font-size: 14px;
    font-size: 0.875rem;
  }
  .post-content .bq-plan dd {
    width: 120px;
    text-align: right;
  }
  .post-content .bq-plan__price {
    font-size: 18px;
    font-size: 1.125rem;
    padding-left: 8px;
  }
  .post-content .table-footer {
    margin-top: -24px;
    font-size: 12px;
    font-size: 0.75rem;
    margin-bottom: 30px;
  }
}
@media screen and (min-width:960px) {
  .post-content .menu-detail {
    margin-top: 36px;
  }
  .post-content .menu-detail dt, .post-content .menu-detail dd {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .post-content .menu-detail dt {
    width: 80px;
  }
  .post-content .menu-detail dd {
    width: calc(100% - 80px);
  }
  .post-content .restaurant-menu {
    width: 100%;
    margin: 0 auto 40px auto;
  }
  .post-content .restaurant-menu th {
    width: 360px;
  }
  .post-content .restaurant-menu .price {
    width: 120px;
    vertical-align: middle;
  }
  .post-content .bq-plan dt {
    width: 320px;
    font-size: 16px;
    font-size: 1rem;
  }
  .post-content .bq-plan dd {
    width: 140px;
    text-align: right;
  }
  .post-content .bq-plan__price {
    font-size: 18px;
    font-size: 1.125rem;
    padding-left: 12px;
  }
  .post-content .table-footer {
    margin-top: -36px;
    font-size: 14px;
    font-size: 0.875rem;
    margin-bottom: 40px;
  }
}
/* ========================================================================== */
/* 館内
/* ========================================================================== */
.facility-section {
  border-bottom: 1px solid #EAE1E1;
}

.post-content .facility-menu,
.post-content .sandwich-price {
  width: 100%;
}
.post-content .facility-menu caption,
.post-content .sandwich-price caption {
  font-weight: 700;
  color: #8a503e;
  margin-bottom: 1em;
}
.post-content .facility-menu th,
.post-content .sandwich-price th {
  background: transparent;
  font-weight: 400;
}
.post-content .facility-menu .price,
.post-content .sandwich-price .price {
  color: #a45f29;
  text-align: right;
  font-weight: 700;
}
.post-content .facility-time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 1em 0;
}
.post-content .facility-time dt, .post-content .facility-time dd {
  margin: 0 !important;
}

@media screen and (max-width:959px) {
  .facility-section {
    margin-bottom: 48px;
    padding-bottom: 48px;
  }
  .post-content .spa-price tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .post-content .spa-price th {
    width: 100%;
  }
  .post-content .spa-price .spa-price-cell {
    width: 50%;
  }
  .post-content .facility-menu,
  .post-content .sandwich-price {
    margin-top: 24px;
  }
  .post-content .facility-menu caption,
  .post-content .sandwich-price caption {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .post-content .facility-menu tr,
  .post-content .sandwich-price tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
  .post-content .facility-menu th, .post-content .facility-menu td,
  .post-content .sandwich-price th,
  .post-content .sandwich-price td {
    font-size: 13px;
    font-size: 0.8125rem;
    padding: 6px 0;
  }
  .post-content .facility-menu th,
  .post-content .sandwich-price th {
    width: calc(100% - 148px);
  }
  .post-content .facility-menu td,
  .post-content .sandwich-price td {
    width: 148px;
  }
  .post-content .facility-menu td.flex-center,
  .post-content .sandwich-price td.flex-center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .post-content .facility-time dt, .post-content .facility-time dd {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .post-content .facility-time.type1 dt {
    width: 140px;
  }
  .post-content .facility-time.type1 dd {
    width: calc(100% - 140px);
  }
  .post-content .facility-time.type2 dt {
    width: 100px;
  }
  .post-content .facility-time.type2 dd {
    width: calc(100% - 100px);
  }
}
@media screen and (min-width:960px) {
  .facility-section {
    margin-bottom: 48px;
    padding-bottom: 48px;
  }
  .post-content .facility-menu,
  .post-content .sandwich-price {
    margin-top: 24px;
  }
  .post-content .facility-menu caption,
  .post-content .sandwich-price caption {
    font-size: 16px;
    font-size: 1rem;
  }
  .post-content .facility-menu th, .post-content .facility-menu td,
  .post-content .sandwich-price th,
  .post-content .sandwich-price td {
    font-size: 15px;
    font-size: 0.9375rem;
    padding: 8px 0;
    vertical-align: middle;
  }
  .post-content .facility-time dt, .post-content .facility-time dd {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .post-content .facility-time.type1 dt {
    width: 150px;
  }
  .post-content .facility-time.type1 dd {
    width: calc(100% - 150px);
  }
  .post-content .facility-time.type2 dt {
    width: 100px;
  }
  .post-content .facility-time.type2 dd {
    width: calc(100% - 100px);
  }
}
/* ========================================================================== */
/* アクセス
/* ========================================================================== */
#gmap {
  position: relative;
  padding-bottom: 40%;
  height: 0;
  overflow: hidden;
}
#gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.access-box h4 {
  font-weight: 600;
  margin: 0 0 20px 0;
  line-height: 1.5;
}
.access-box h4 .sub {
  font-weight: 400;
}
.access-box h4 span {
  border: none;
  padding: 0;
}

.access-box .map-address {
  margin-bottom: 0;
  width: 100%;
}
.access-box .map-address th {
  background-color: transparent;
}

table.direction {
  width: 100%;
}
table.direction .loc {
  color: #fff;
  background-color: #444;
  font-weight: 500;
  display: inline-block;
  padding: 0 0.5em;
  margin-left: 1em;
}

@media screen and (max-width:767px) {
  #gmap {
    height: 400px;
    margin: 0 auto 10px auto;
  }
  .access-box {
    padding: 0 15px;
    margin-bottom: 40px;
  }
  .access-box h4 {
    font-size: 16px;
    font-size: 1rem;
    margin-bottom: 30px;
  }
  .access-box h4 span {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .access-box .box img {
    width: 100%;
    height: auto;
  }
  .access-box .map-address th, .access-box .map-address td {
    border-bottom: 1px solid #EAE1E1;
    font-size: 13px;
    font-size: 0.8125rem;
    vertical-align: top;
    padding-left: 0;
  }
  .parking-notice01,
  .parking-notice02 {
    padding-left: 38px;
    background-size: 28px auto;
  }
  .parking-notice01 .line-sub,
  .parking-notice02 .line-sub {
    display: block;
    font-size: 12px;
    font-size: 0.75rem;
  }
  .post-content table.areainfo th {
    border-bottom: none !important;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  #gmap {
    height: 400px;
    margin: 0 auto 20px auto;
  }
  .access-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 15px;
    margin-bottom: 60px;
  }
  .access-box h4 {
    font-size: 18px;
    font-size: 1.125rem;
    margin-bottom: 30px;
  }
  .access-box h4 span {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .access-box .box {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .access-box .box img {
    width: 100%;
    height: auto;
  }
  .access-box .box:first-child {
    margin-right: 20px;
  }
  .access-box .map-address th, .access-box .map-address td {
    border-bottom: 1px solid #EAE1E1;
    font-size: 13px;
    font-size: 0.8125rem;
    vertical-align: top;
  }
  table.direction th {
    width: 35%;
  }
  .parking-notice01,
  .parking-notice02 {
    padding-left: 40px;
  }
  .parking-notice01 .line-sub,
  .parking-notice02 .line-sub {
    width: 500px;
  }
  .parking-notice01 .line-sub:before,
  .parking-notice02 .line-sub:before {
    content: "……";
    padding: 0 15px;
    display: inline-block;
  }
  .post-content table.areainfo th, .post-content table.areainfo td {
    vertical-align: middle !important;
  }
}
@media screen and (min-width:960px) {
  #gmap {
    width: 960px;
    height: 400px;
    margin: 0 auto 30px auto;
  }
  .access-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 960px;
    margin: 0 auto 60px auto;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .access-box h4 {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .access-box h4 span {
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .access-box .box:first-child {
    width: 350px;
  }
  .access-box .box:nth-child(2) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 570px;
  }
  .access-box .map-address th, .access-box .map-address td {
    border-bottom: 1px solid #EAE1E1;
    font-size: 13px;
    font-size: 0.8125rem;
    vertical-align: top;
  }
  table.direction th {
    width: 35%;
  }
  table.direction th .loc {
    font-size: 14px;
    font-size: 0.875rem;
    display: inline-block;
  }
  .parking-notice01,
  .parking-notice02 {
    padding-left: 40px;
  }
  .parking-notice01 .line-sub,
  .parking-notice02 .line-sub {
    width: 500px;
  }
  .parking-notice01 .line-sub:before,
  .parking-notice02 .line-sub:before {
    content: "……";
    padding: 0 15px;
    display: inline-block;
  }
  .post-content table.areainfo th, .post-content table.areainfo td {
    vertical-align: middle !important;
  }
}
/* ========================================================================== */
/* お問い合わせ
/* ========================================================================== */
body:not(.page-contact) .grecaptcha-badge {
  display: none;
}

#mailform th {
  background-color: transparent;
  vertical-align: top;
}
#mailform .rq {
  border-radius: 4px;
  background-color: #A44129;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  font-size: 0.75rem;
  padding: 0 1px;
  width: 3em;
  text-align: center;
}
#mailform textarea,
#mailform input[type=text],
#mailform input[type=email],
#mailform input[type=tel] {
  background-color: transparent;
  border: 1px solid #EAE1E1;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.65;
  padding: 4px 10px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 4px;
}
#mailform textarea {
  width: 100%;
}
#mailform .support {
  color: #444;
  display: inline-block;
  line-height: 1.4;
  padding: 8px 0 0 0;
}

.btn-send {
  position: relative;
  margin-bottom: 50px;
}
.btn-send input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #3D5846;
  -webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.2);
  color: #fff;
  cursor: pointer;
  display: block;
  font-size: 15px;
  font-size: 0.9375rem;
  font-family: inherit;
  font-weight: 600;
  letter-spacing: 0.08em;
  border-radius: 6px;
  padding: 16px 36px;
  margin: 0 auto;
  text-align: center;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn-send input:hover {
  background: #5A895A;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn-send .wpcf7c-btn-confirm {
  border: none;
  background-color: #5A895A;
}
.btn-send .wpcf7c-btn-back {
  border: none;
  background-color: #444;
}
.btn-send .wpcf7-submit {
  border: none;
}
.btn-send input.wpcf7c-btn-reset,
.btn-send input.wpcf7c-btn-back {
  margin-right: 15px;
}
.btn-send input.wpcf7c-btn-reset,
.btn-send input.wpcf7c-btn-back {
  background-color: #bebebe;
}

@media screen and (max-width:767px) {
  .section.center {
    text-align: left;
  }
  #mailform {
    margin: 0 auto 40px auto;
    width: 100%;
  }
  #mailform th, #mailform td {
    display: block;
    padding: 14px 0;
  }
  #mailform th {
    border-bottom: none;
    padding-bottom: 0;
  }
  #mailform textarea,
  #mailform input[type=text],
  #mailform input[type=email],
  #mailform input[type=tel] {
    width: 100%;
  }
  #mailform .rq {
    margin-left: 10px;
  }
  .support {
    font-size: 13px;
    font-size: 0.8125rem;
  }
}
@media screen and (min-width:768px) and (max-width:959px) {
  #mailform {
    margin: 0 auto 40px auto;
    width: 100%;
  }
  #mailform th, #mailform td {
    padding: 14px 0;
    display: block;
  }
  #mailform th {
    border-bottom: none;
    padding-bottom: 0;
  }
  #mailform .rq {
    margin-left: 15px;
  }
  .support {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
@media screen and (min-width:960px) {
  .wpcf7-response-output {
    width: 780px;
    margin: 0 auto !important;
  }
  #mailform {
    width: 780px;
    margin: 0 auto 40px auto;
  }
  #mailform th, #mailform td {
    padding: 16px 0;
  }
  #mailform th {
    width: 200px;
  }
  #mailform td {
    padding-left: 20px;
  }
  #mailform .rq {
    float: right;
  }
  .support {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .btn-send {
    margin-bottom: 80px;
  }
}
/* ========================================================================== */
/* サイトマップ
/* ========================================================================== */
.page-site-map dl.sitemap {
  margin: 0 0 0 10px;
  padding: 0;
}
.page-site-map dl.sitemap dt {
  color: #444;
  font-weight: bold;
  font-size: 14px;
  font-size: 0.875rem;
}
.page-site-map dl.sitemap dd {
  margin-bottom: 20px;
  font-size: 14px;
  font-size: 0.875rem;
  padding-left: 0;
  margin-left: 20px;
}
.page-site-map dl.sitemap dd ul {
  margin-left: 0;
}
.page-site-map .sitemap-list li {
  font-size: 14px;
  font-size: 0.875rem;
  list-style-type: none;
  background: url(../img/sitemap-middle.png) no-repeat 0 50%;
  padding: 2px 0 2px 32px;
  margin: 0;
  line-height: 1.75;
}
.page-site-map .sitemap-list li:before {
  display: none;
}
.page-site-map .sitemap-list li.first-child {
  background: url(../img/sitemap-top.png) no-repeat 0 50%;
}
.page-site-map .sitemap-list li:last-child {
  background: url(../img/sitemap-bottom.png) no-repeat 0 50%;
}
.page-site-map .sitemap-list li:last-child a {
  background: url(../img/icon-ex-link-g.svg) no-repeat center right;
  background-size: 14px 14px;
  padding-right: 1.75em;
}

/* ========================================================================== */
/* 404ページ
/* ========================================================================== */
.exlink {
  border-top: 1px solid #EAE1E1;
  border-bottom: 1px solid #EAE1E1;
}
.exlink ul {
  margin: 0 !important;
}
.exlink li {
  list-style-type: none;
  font-weight: 600;
  padding: 0;
}
.exlink li:before {
  display: none;
}
.exlink li a {
  text-decoration: none;
}
.exlink li a:before {
  font-family: "fontello";
  content: "\f105";
  padding-right: 8px;
}

@media screen and (max-width:959px) {
  .error404 .post-content {
    padding: 40px 0 80px 0;
  }
  .error404 .exlink {
    margin: 60px auto 0 auto;
    padding: 20px 0;
  }
  .error404 .exlink li {
    font-size: 14px;
    font-size: 0.875rem;
    margin: 0.5em 0;
  }
}
@media screen and (min-width:960px) {
  .error404 #cotent {
    border-top: 1px solid #EAE1E1;
  }
  .error404 .post-content {
    padding: 100px 0 200px 0;
  }
  .error404 .post-content p {
    text-align: center;
  }
  .error404 .exlink {
    margin: 100px auto 0 auto;
    width: 960px;
    padding: 20px 0;
  }
  .error404 .exlink ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .error404 .exlink li {
    font-size: 16px;
    font-size: 1rem;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    text-align: center;
  }
}
/*# sourceMappingURL=style.css.map */