@charset "UTF-8";
h1 {
  background: #4d4d4d;
  font-size: 1.2rem;
  box-sizing: border-box;
  padding: 5px 10px; }
  h1 a {
    color: #fff;
    text-decoration: none; }

section {
  padding: 30px 0 40px; }

#price-block {
  padding: 0; }

.inner {
  margin: 0 10px; }

h2 {
  font-family: 'Noto Serif JP', serif;
  text-align: center;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.15em;
  margin: 0 0 1.0em; }

.line-title {
  display: flex;
  align-items: center; }
  .line-title:before, .line-title:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #b3b3b3; }
  .line-title:before {
    margin-right: 0.5rem; }
  .line-title:after {
    margin-left: 0.5rem; }
  .line-title .gl {
    color: #62aa9f; }

.line-title01 {
  font-size: 2.0rem;
  display: flex;
  align-items: center; }
  .line-title01 span {
    font-size: 2.6rem;
    color: #62aa9f;
    padding: 0 0 0.2em;
    display: contents; }
    .line-title01 span span {
      font-size: 2.0rem; }
  .line-title01:before, .line-title01:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #b3b3b3; }
  .line-title01:before {
    margin-right: 0.5rem; }
  .line-title01:after {
    margin-left: 0.5rem; }

.deco-title {
  color: #62aa9f;
  line-height: 1.4; }
  .deco-title .mini {
    font-size: 1.6rem;
    display: block;
    margin: 0 0 0.5em; }
  .deco-title .deco {
    position: relative;
    display: inline-block; }
    .deco-title .deco:before, .deco-title .deco:after {
      bottom: 0;
      width: 23px;
      height: 63px; }
    .deco-title .deco:before {
      content: "";
      position: absolute;
      left: -30px;
      background: url(../img/deco01_l.svg) no-repeat;
      background-size: contain; }
    .deco-title .deco:after {
      content: "";
      position: absolute;
      right: -30px;
      background: url(../img/deco01_r.svg) no-repeat;
      background-size: contain; }

.deco-title01 {
  font-size: 2.0rem;
  margin: 0 auto 2.0em; }
  .deco-title01 .gl {
    color: #62aa9f;
    font-size: 2.6rem; }
  .deco-title01 .deco {
    position: relative;
    display: inline-block; }
    .deco-title01 .deco:before, .deco-title01 .deco:after {
      bottom: 0;
      width: 38px;
      height: 59px; }
    .deco-title01 .deco:before {
      content: "";
      position: absolute;
      left: -40px;
      background: url(../img/deco02_l.svg) no-repeat;
      background-size: contain; }
    .deco-title01 .deco:after {
      content: "";
      position: absolute;
      right: -40px;
      background: url(../img/deco02_r.svg) no-repeat;
      background-size: contain; }

.fukidashi-title {
  font-size: 2.2rem;
  margin: 0 0 1.5em; }
  .fukidashi-title .fukidashi {
    display: block;
    color: #fff;
    background: #62aa9f;
    font-size: 1.4rem;
    box-sizing: border-box;
    padding: 0.5em;
    position: relative;
    margin: 0 auto 1.0em;
    width: 80%; }
    .fukidashi-title .fukidashi:before {
      content: "";
      position: absolute;
      top: 100%;
      left: 50%;
      margin-left: -15px;
      border: 15px solid transparent;
      border-top: 15px solid #62aa9f; }
  .fukidashi-title .gl {
    color: #62aa9f;
    font-size: 2.6rem; }
    .fukidashi-title .gl span {
      font-size: 2.0rem; }
      .fukidashi-title .gl span.num {
        font-size: 3.0rem; }
  .fukidashi-title .mid {
    font-size: 2.6rem; }
    .fukidashi-title .mid span {
      font-size: 2.0rem; }
      .fukidashi-title .mid span.num {
        font-size: 3.0rem; }

.bg-title {
  background: #62aa9f;
  padding: 1.0em 0;
  color: #fff;
  font-size: 1.8rem; }
  .bg-title span {
    color: #ffff80;
    display: block;
    font-size: 2.6rem; }
    .bg-title span span {
      font-size: 2.2rem;
      display: inline-block; }
      .bg-title span span.big-font {
        font-size: 3.6rem;
        line-height: 1.0; }

.top-box {
  box-sizing: border-box;
  border: 1px solid #62aa9f;
  background: #fff;
  color: #62aa9f;
  padding: 20px 10px; }
  .top-box h2 {
    margin: 0 0 0.5em; }
    .top-box h2:before, .top-box h2:after {
      background-color: #62aa9f; }
  .top-box p {
    color: #62aa9f;
    margin: 0 0 15px; }

.bg01 {
  background: #fcfcfc; }

.bg02 {
  background: #fffffa; }

.bg03 {
  background: #f5f9ff; }

.trouble-box {
  box-sizing: border-box;
  padding: 20px;
  background: #fff;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
  margin: 0 0 64px;
  position: relative; }
  .trouble-box:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -50px;
    width: 250px;
    height: 38px;
    background: url(../img/arrow01.png) no-repeat;
    background-size: contain;
    margin: 0 auto; }
  .trouble-box ul li {
    position: relative;
    padding: 0 0 0 20px;
    margin: 0 0 1.0em;
    font-size: 1.6rem; }
    .trouble-box ul li:last-child {
      margin: 0; }
    .trouble-box ul li:before {
      content: "";
      position: absolute;
      left: 0;
      top: 5px;
      width: 15px;
      height: 10px;
      background: url(../img/check01.svg) no-repeat;
      background-size: contain; }
    .trouble-box ul li span {
      font-weight: bold;
      color: #62aa9f; }

.trouble-txt-box {
  box-sizing: border-box;
  padding: 30px 10px;
  background: url(../img/trouble_txt_bg.png) no-repeat;
  background-size: cover; }
  .trouble-txt-box p {
    display: block;
    max-width: 658px;
    margin: 0 auto; }

.recommend-box ul li {
  box-sizing: border-box;
  padding: 10px;
  background: #fff;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15); }
  .recommend-box ul li:last-child {
    margin: 20px 0 0; }
  .recommend-box ul li .recommend-img {
    margin: 0 0 20px; }
  .recommend-box ul li .shop-name,
  .recommend-box ul li .name {
    letter-spacing: .2em; }
  .recommend-box ul li .shop-name {
    font-size: 1.6rem;
    color: #62aa9f;
    text-indent: 1.0em; }
  .recommend-box ul li .name {
    text-align: right;
    font-size: 1.6rem;
    margin: 0 0 1.0em; }
    .recommend-box ul li .name span {
      font-size: 2.0rem; }
  .recommend-box ul li .recommend-txt {
    box-sizing: border-box;
    padding: 20px;
    background: #fcfcfc;
    line-height: 2.0; }

.book-list {
  box-sizing: border-box;
  padding: 30px; }

#really-block h2 {
  margin: 0 0 2.0em; }

.really-txt {
  width: 80%;
  margin: 0 auto 20px; }

.really-content-txt {
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  margin: 0 0 0.5em; }
  .really-content-txt span {
    color: #62aa9f;
    font-size: 2.0rem; }
    .really-content-txt span span {
      font-size: 2.4rem; }

.really-box {
  margin: 20px 0 0;
  background: #fff;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
  padding: 20px; }
  .really-box p {
    margin: 0 0 1.0em; }
    .really-box p:last-child {
      margin: 0; }
    .really-box p span {
      background: linear-gradient(transparent 50%, #FFFF80 50%);
      font-weight: bold; }

.characteristic-content {
  box-sizing: border-box;
  margin: 0 0 20px;
  padding: 20px;
  background: #fff;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15); }
  .characteristic-content:nth-child(2) .characteristic-item .characteristic-txt h3:before {
    background: url(../img/characteristic_num02.png) no-repeat;
    background-size: contain; }
  .characteristic-content:last-child {
    margin: 0; }
    .characteristic-content:last-child .characteristic-item .characteristic-txt h3:before {
      background: url(../img/characteristic_num03.png) no-repeat;
      background-size: contain; }

.characteristic-item .characteristic-img {
  margin: 0 0 15px; }
.characteristic-item .characteristic-txt h3 {
  font-family: 'Noto Serif JP', serif;
  color: #62aa9f;
  font-weight: bold;
  font-size: 1.8rem;
  margin: 0 0 0.5em;
  padding: 0 0 0.5em 35px;
  position: relative;
  border-bottom: 1px dotted #999999; }
  .characteristic-item .characteristic-txt h3:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 30px;
    height: 30px;
    background: url(../img/characteristic_num01.png) no-repeat;
    background-size: contain; }
.characteristic-item .characteristic-txt p {
  line-height: 1.8; }

.review-item {
  box-sizing: border-box;
  background: #fff;
  padding: 10px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
  margin: 0 0 20px; }
  .review-item:last-child {
    margin: 0; }
  .review-item .review-img {
    margin: 0 0 10px; }

.reason-box {
  margin: 0 auto 30px; }
  @media (min-width: 1000px) {
    .reason-box {
      margin: 0 auto 70px; } }

.reason-content {
  box-sizing: border-box;
  padding: 15px;
  background: #fffffa;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
  margin: 0 0 20px; }
  .reason-content:last-child {
    margin: 0; }
  .reason-content h3 {
    font-family: 'Noto Serif JP', serif;
    color: #62aa9f;
    font-weight: bold;
    font-size: 2.0rem;
    margin: 0 0 1.0em;
    padding: 0 0 0.5em 35px;
    position: relative;
    border-bottom: 1px dotted #ebe2af;
    letter-spacing: .1em; }
    .reason-content h3:before {
      content: "";
      position: absolute;
      left: 0;
      top: 2px;
      width: 30px;
      height: 30px;
      background: url(../img/reason_num01.png) no-repeat;
      background-size: contain; }
  .reason-content:nth-child(2) h3:before {
    background: url(../img/reason_num02.png) no-repeat;
    background-size: contain; }
  .reason-content:nth-child(3) h3:before {
    background: url(../img/reason_num03.png) no-repeat;
    background-size: contain; }
  .reason-content:nth-child(4) h3:before {
    background: url(../img/reason_num04.png) no-repeat;
    background-size: contain; }
  .reason-content:nth-child(5) h3:before {
    background: url(../img/reason_num05.png) no-repeat;
    background-size: contain; }

.shop-item:last-child {
  margin: 60px 0 0;
  background: #fafffe;
  position: relative; }
  .shop-item:last-child:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -50px;
    background: url(../img/arrow02.png) no-repeat;
    background-size: contain;
    width: 250px;
    height: 36px;
    margin: 0 auto; }
  .shop-item:last-child .shop-item-l {
    background: #62aa9f;
    font-weight: bold;
    font-size: 1.8rem;
    color: #fff; }
  .shop-item:last-child .shop-item-r {
    border: 1px solid #62aa9f;
    background: #fafffe; }
    .shop-item:last-child .shop-item-r ul li {
      color: #365e57;
      font-weight: bold;
      letter-spacing: .1em; }
      .shop-item:last-child .shop-item-r ul li:before {
        background: url(../img/check03.svg) no-repeat;
        background-size: contain; }
.shop-item .shop-item-l,
.shop-item .shop-item-r {
  box-sizing: border-box; }
.shop-item .shop-item-l {
  text-align: center;
  background: #b3b3b3;
  padding: 0.5em;
  color: #fff; }
.shop-item .shop-item-r {
  background: #f2f2f2;
  padding: 1.5em 1.0em; }
  .shop-item .shop-item-r ul li {
    margin: 0 0 1.5em;
    padding: 0 0 0 30px;
    position: relative;
    color: #666666; }
    .shop-item .shop-item-r ul li:before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      width: 26px;
      height: 22px;
      background: url(../img/check02.svg) no-repeat;
      background-size: contain; }
    .shop-item .shop-item-r ul li:last-child {
      margin: 0; }

.reason-arrow {
  margin: 40px auto 0;
  max-width: 540px; }

#receive-block {
  padding: 0 0 40px; }

.merit-box {
  box-sizing: border-box;
  padding: 25px 15px;
  background: #fffffa;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
  margin: 0 0 40px; }

.merit-content {
  margin: 0 0 30px;
  padding: 0 0 30px;
  border-bottom: 1px dotted #ebe2af; }
  .merit-content:nth-child(2) h3:before {
    background: url(../img/merit_num02.png) no-repeat;
    background-size: contain; }
  .merit-content:nth-child(3) h3:before {
    background: url(../img/merit_num03.png) no-repeat;
    background-size: contain; }
  .merit-content:nth-child(4) h3:before {
    background: url(../img/merit_num04.png) no-repeat;
    background-size: contain; }
  .merit-content:nth-child(5) h3:before {
    background: url(../img/merit_num05.png) no-repeat;
    background-size: contain; }
  .merit-content:last-child {
    margin: 0;
    padding: 0;
    border-bottom: 0; }
  .merit-content h3 {
    font-family: 'Noto Serif JP', serif;
    color: #62aa9f;
    font-weight: bold;
    font-size: 1.8rem;
    margin: 0 0 0.25em;
    padding: 0 0 0 35px;
    position: relative; }
    .merit-content h3:before {
      content: "";
      position: absolute;
      left: 0;
      top: 2px;
      width: 28px;
      height: 28px;
      background: url(../img/merit_num01.png) no-repeat;
      background-size: contain; }
  .merit-content .arrow-txt {
    margin: 0 0 20px 35px;
    padding: 0 0 0 23px;
    position: relative; }
    .merit-content .arrow-txt:before {
      content: "";
      position: absolute;
      left: 0;
      top: 8px;
      width: 18px;
      height: 6px;
      background: url(../img/check04.svg) no-repeat;
      background-size: contain; }

.merit-item .merit-item-content {
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15); }
  .merit-item .merit-item-content:last-child {
    margin: 20px 0 0;
    background: #fafffe; }
    .merit-item .merit-item-content:last-child p {
      background: #62aa9f;
      color: #fff; }
    .merit-item .merit-item-content:last-child ul li {
      font-weight: bold;
      color: #365e57; }
      .merit-item .merit-item-content:last-child ul li:before {
        background: url(../img/check03.svg) no-repeat;
        background-size: contain; }
  .merit-item .merit-item-content p {
    text-align: center;
    font-size: 1.8rem;
    font-family: 'Noto Serif JP', serif;
    color: #333;
    font-weight: bold;
    background: #e6e6e6;
    line-height: 1.6;
    padding: 0.5em 0; }
  .merit-item .merit-item-content ul {
    box-sizing: border-box;
    padding: 25px 20px; }
    .merit-item .merit-item-content ul li {
      position: relative;
      padding: 0 0 0 31px;
      margin: 0 0 1.0em;
      font-size: 1.6rem; }
      .merit-item .merit-item-content ul li:last-child {
        margin: 0; }
      .merit-item .merit-item-content ul li:before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 26px;
        height: 22px;
        background: url(../img/check02.svg) no-repeat;
        background-size: contain; }

.map-img {
  margin: 0 0 30px;
  display: block; }

.map-google {
  margin: 0 0 20px; }
  .map-google iframe {
    width: 100%;
    vertical-align: bottom;
    height: 300px; }

.map-list dl {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  box-sizing: border-box; }
  .map-list dl dt,
  .map-list dl dd {
    margin: 0;
    padding: 0;
    display: inline-block; }
  .map-list dl dt {
    box-sizing: border-box;
    padding: 4px 0;
    border: 1px solid #666;
    text-align: center;
    float: left;
    clear: left;
    width: 26%;
    margin: 0 0 20px; }
  .map-list dl dd {
    float: left;
    width: 70%;
    padding: 4px 0 4px 4%;
    margin: 0 0 20px; }
    .map-list dl dd .mini-font {
      display: block;
      font-size: 1.2rem; }
    .map-list dl dd .block-font {
      display: block;
      margin: 0.5em 0 0; }
    .map-list dl dd a {
      color: #666; }

.profile-box {
  box-sizing: border-box;
  padding: 20px;
  background: #fff;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15); }

.profile-item {
  margin: 0 0 30px; }
  .profile-item .profile-img {
    margin: 0 0 15px; }
  .profile-item .profile-txt .name {
    color: #62aa9f;
    font-weight: bold;
    font-size: 1.6rem;
    margin: 0 0 1.0em; }
    .profile-item .profile-txt .name span {
      font-weight: normal;
      font-size: 1.2rem; }

.profile-content-wrap .profile-content {
  margin: 0; }

.profile-content {
  margin: 0 0 3.0em; }
  .profile-content p {
    margin: 0 0 3.0em; }
    .profile-content p:last-child {
      margin: 0; }

.profile-box-inner p {
  line-height: 2.0; }

.profile-item-r-wrap .profile-item-r .profile-item-img {
  margin: 0 0 20px; }
.profile-item-r-wrap .profile-item-r .profile-item-txt {
  margin: 0; }

.profile-item-r {
  margin: 0 0 3.0em; }
  .profile-item-r .profile-item-txt {
    margin: 0 0 20px; }

.profile-item-l {
  margin: 0 0 3.0em; }
  .profile-item-l .profile-item-img {
    margin: 0 0 20px; }

.contact-note {
  margin: 0 0 40px;
  box-sizing: border-box;
  padding: 20px;
  border: 1px solid #666; }
  .contact-note ul li {
    font-weight: bold;
    padding: 0 0 0 1.25em;
    margin: 0 0 1.5em;
    color: #666;
    position: relative; }
    .contact-note ul li:before {
      content: "";
      position: absolute;
      left: 0;
      top: 5.5px;
      width: 10px;
      height: 10px;
      background: #666; }
    .contact-note ul li:last-child {
      margin: 0; }

.contact-btn {
  margin: 0 0 40px; }
  .contact-btn ul li span {
    margin: 0.5em 0 0;
    display: flex;
    align-items: center;
    text-align: center;
    color: #a48f3d; }
    .contact-btn ul li span:before, .contact-btn ul li span:after {
      content: "";
      height: 1px;
      flex-grow: 1;
      background-color: #a48f3d; }
    .contact-btn ul li span:before {
      margin-right: 0.5rem; }
    .contact-btn ul li span:after {
      margin-left: 0.5rem; }
  .contact-btn ul li:last-child {
    margin: 50px 0 0; }
  .contact-btn ul li a {
    display: block; }
    .contact-btn ul li a:hover {
      opacity: 0.6; }

#contact-block {
  padding: 30px 0 100px; }
  #contact-block .lead {
    font-family: 'Noto Serif JP', serif;
    text-align: center;
    font-weight: bold;
    font-size: 2.2rem;
    color: #62aa9f;
    border-bottom: 1px solid #b3b3b3;
    margin: 0 0 1.5em;
    padding: 0 0 1.0em; }
    #contact-block .lead .mini {
      font-size: 1.8rem; }
    #contact-block .lead .time {
      font-size: 1.4rem;
      margin: 0 auto;
      width: 60%;
      display: flex;
      align-items: center;
      text-align: center;
      color: #62aa9f;
      font-weight: normal; }
      #contact-block .lead .time:before, #contact-block .lead .time:after {
        content: "";
        height: 1px;
        flex-grow: 1;
        background-color: #62aa9f; }
      #contact-block .lead .time:before {
        margin-right: 0.5rem; }
      #contact-block .lead .time:after {
        margin-left: 0.5rem; }
  #contact-block .online-box .lead {
    color: #666; }
    #contact-block .online-box .lead .lead-inner {
      display: inline-block;
      position: relative; }
      #contact-block .online-box .lead .lead-inner:before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 80px;
        height: 80px;
        background: url(../img/icons_line.svg) no-repeat;
        background-size: contain; }
    #contact-block .online-box .lead .time {
      color: #009f00; }
      #contact-block .online-box .lead .time:before, #contact-block .online-box .lead .time:after {
        content: "";
        height: 1px;
        flex-grow: 1;
        background-color: #009f00; }
  #contact-block .bg-title {
    font-size: 2.6rem; }

.campaign-title {
  background: -moz-linear-gradient(bottom, #b20000, #cf1818);
  background: -webkit-linear-gradient(bottom, #b20000, #cf1818);
  background: linear-gradient(to top, #b20000, #cf1818);
  color: #fff;
  padding: 1.0em 0;
  position: relative; }
  .campaign-title:before, .campaign-title:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    left: 0;
    background-color: #ebe2af; }
  .campaign-title:before {
    top: 5px; }
  .campaign-title:after {
    bottom: 5px; }

.campaign-day-txt {
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  font-weight: bold;
  font-size: 2.4rem;
  color: #a48f3d;
  line-height: 1.4; }
  .campaign-day-txt span {
    font-size: 2.0rem;
    color: #666; }

.campaign-deco-txt,
.campaign-num {
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  font-weight: bold; }

.campaign-deco-txt {
  font-size: 1.6rem; }
  .campaign-deco-txt .deco {
    position: relative;
    display: inline-block; }
    .campaign-deco-txt .deco:before, .campaign-deco-txt .deco:after {
      bottom: 0;
      width: 17px;
      height: 32px; }
    .campaign-deco-txt .deco:before {
      content: "";
      position: absolute;
      left: -20px;
      background: url(../img/deco03_l.svg) no-repeat;
      background-size: contain; }
    .campaign-deco-txt .deco:after {
      content: "";
      position: absolute;
      right: -20px;
      background: url(../img/deco03_r.svg) no-repeat;
      background-size: contain; }
  .campaign-deco-txt .cl {
    color: #bea547; }
    .campaign-deco-txt .cl span {
      font-size: 2.4rem; }

.campaign-num {
  font-size: 1.8rem; }
  .campaign-num .m-font {
    color: #bea547; }
    .campaign-num .m-font span {
      font-size: 2.6rem;
      color: #cf1818;
      line-height: 1.2; }

.campaign-img {
  margin: 50px 0 30px;
  position: relative; }
  .campaign-img:before {
    content: "";
    position: absolute;
    left: 0;
    top: -30px;
    right: 0;
    margin: 0 auto;
    width: 125px;
    height: 19px;
    background: url(../img/arrow02.png) no-repeat;
    background-size: contain; }

.bf-card {
  margin: 0 0 20px; }
  .bf-card:last-child {
    margin: 0; }
  .bf-card .img .txt {
    display: block;
    text-align: center;
    line-height: 2.2; }
    .bf-card .img .txt .mini {
      font-size: 1.2rem; }

.online-box {
  margin: 0 0 40px;
  padding: 40px 0 0; }
  .online-box .lead {
    color: #666; }

/*media Queries PCサイズ（1000px以上）
----------------------------------------------------*/
@media only screen and (min-width: 1000px) {
  h1 span {
    display: block;
    width: 1000px;
    margin: 0 auto; }

  #main-visual {
    background: url(../img/main_bg.png) no-repeat bottom center;
    background-size: cover; }
    #main-visual span.pc {
      width: 1000px;
      margin: 0 auto; }

  .inner {
    width: 1000px;
    margin: 0 auto; }

  section {
    padding: 70px 0 100px; }

  h2 {
    font-size: 5.0rem; }

  .top-box {
    padding: 30px 20px; }
    .top-box p {
      text-align: center;
      font-size: 2.0rem;
      margin: 0 0 30px; }
    .top-box .icon-img {
      display: block;
      width: 802px;
      margin: 0 auto; }

  .deco-title .mini {
    font-size: 4.0rem;
    margin: 0; }
  .deco-title .deco:before, .deco-title .deco:after {
    width: 46px;
    height: 126px; }
  .deco-title .deco:before {
    left: -50px; }
  .deco-title .deco:after {
    right: -50px; }

  .deco-title01 {
    font-size: 4.0rem;
    line-height: 1.4; }
    .deco-title01 .gl {
      font-size: 5.0rem; }
    .deco-title01 .deco:before, .deco-title01 .deco:after {
      width: 76px;
      height: 118px; }
    .deco-title01 .deco:before {
      left: -90px; }
    .deco-title01 .deco:after {
      right: -90px; }

  .bg-title {
    font-size: 4.0rem;
    margin: 0 0 1.5em; }
    .bg-title span {
      font-size: 5.0rem; }
      .bg-title span span {
        font-size: 4.0rem; }
        .bg-title span span.big-font {
          font-size: 7.0rem; }

  #visit-block {
    width: 1200px;
    margin: 0 auto;
    padding: 100px 0; }

  .line-title01 {
    font-size: 4.0rem; }
    .line-title01 span {
      font-size: 5.0rem;
      padding: 0 0 0.1em; }
      .line-title01 span span {
        font-size: 4.0rem; }

  .trouble-box {
    padding: 50px 150px;
    margin: 0 0 130px; }
    .trouble-box:before {
      content: "";
      width: 500px;
      height: 76px;
      bottom: -106px; }
    .trouble-box ul li {
      font-size: 2.6rem;
      margin: 0 0 0.75em;
      padding: 0 0 0 40px; }
      .trouble-box ul li:before {
        width: 30px;
        height: 25px;
        top: 10px; }

  .trouble-txt-box {
    padding: 60px 0; }

  .fukidashi-title {
    font-size: 4.0rem; }
    .fukidashi-title .fukidashi {
      font-size: 3.0rem;
      padding: 0.25em; }
    .fukidashi-title .gl {
      font-size: 5.0rem; }
      .fukidashi-title .gl span {
        font-size: 4.0rem; }
        .fukidashi-title .gl span.num {
          font-size: 7.0rem; }
    .fukidashi-title .mid {
      font-size: 5.0rem; }
      .fukidashi-title .mid span {
        font-size: 4.0rem; }
        .fukidashi-title .mid span.num {
          font-size: 7.0rem; }

  #lean-block .fukidashi-title .fukidashi {
    width: 780px;
    margin: 0 auto 0.5em; }

  .recommend-box ul {
    letter-spacing: -.5em; }
    .recommend-box ul li {
      display: inline-block;
      vertical-align: top;
      letter-spacing: normal;
      width: 490px;
      padding: 20px; }
      .recommend-box ul li:last-child {
        margin: 0 0 0 20px; }
      .recommend-box ul li .shop-name {
        font-size: 2.2rem; }
      .recommend-box ul li .name {
        font-size: 1.8rem; }
        .recommend-box ul li .name span {
          font-size: 2.8rem; }
      .recommend-box ul li .recommend-txt {
        min-height: 440px; }
        .recommend-box ul li .recommend-txt p {
          font-size: 1.6rem; }

  #book-block .fukidashi-title .fukidashi {
    max-width: 480px;
    margin: 0 auto 0.5em; }
  #book-block .inner {
    width: 1200px;
    margin: 0 auto; }

  .book-img {
    width: 836px;
    margin: 0 auto 25px; }

  .book-list {
    padding: 0;
    letter-spacing: -.5em; }
    .book-list li {
      letter-spacing: normal;
      display: inline-block;
      vertical-align: top;
      width: 32%;
      margin: 0 2% 0 0;
      font-size: 0; }
      .book-list li:last-child {
        margin: 0; }

  .really-txt {
    width: 464px; }

  .really-content-txt {
    font-size: 3.0rem;
    margin: 0 0 1.5em; }
    .really-content-txt span {
      font-size: 3.0rem; }
      .really-content-txt span span {
        font-size: 4.0rem; }

  .really-icon {
    width: 700px;
    margin: 0 auto 30px; }

  .really-box {
    width: 900px;
    margin: 0 auto;
    padding: 2.0em 0; }
    .really-box p {
      font-size: 2.0rem;
      text-align: center;
      margin: 0;
      line-height: 2.0; }

  .characteristic-content {
    padding: 30px; }

  .characteristic-item {
    overflow: hidden; }
    .characteristic-item .characteristic-img {
      margin: 0;
      width: 320px;
      float: left; }
    .characteristic-item .characteristic-txt {
      float: right;
      width: 590px; }
      .characteristic-item .characteristic-txt h3 {
        font-size: 3.0rem;
        padding: 6px 0 1.0em 75px;
        line-height: 1.4; }
        .characteristic-item .characteristic-txt h3:before {
          content: "";
          width: 60px;
          height: 60px; }
      .characteristic-item .characteristic-txt p {
        font-size: 2.0rem; }

  .review-item {
    padding: 25px 30px;
    letter-spacing: -.5em; }
    .review-item .review-img,
    .review-item .review-txt {
      letter-spacing: normal;
      display: inline-block;
      vertical-align: middle; }
    .review-item .review-img {
      margin: 0 40px 0 0;
      width: 300px; }
    .review-item .review-txt {
      width: 600px; }

  #reason-block .fukidashi-title {
    line-height: 1.0; }
    #reason-block .fukidashi-title .fukidashi {
      max-width: 350px;
      margin: 0 auto 0.5em;
      line-height: 1.6; }

  .reason-content {
    padding: 40px 55px;
    margin: 0 0 30px; }
    .reason-content h3 {
      font-size: 3.6rem;
      padding: 0 0 0.5em 70px; }
      .reason-content h3:before {
        width: 58px;
        height: 58px; }

  .shop-item {
    display: table; }
    .shop-item:last-child {
      margin: 80px 0 0; }
      .shop-item:last-child:before {
        top: -60px; }
      .shop-item:last-child .shop-item-l {
        font-size: 2.4rem; }
    .shop-item .shop-item-l,
    .shop-item .shop-item-r {
      display: table-cell;
      vertical-align: middle; }
    .shop-item .shop-item-l {
      width: 240px;
      font-size: 2.0rem; }
    .shop-item .shop-item-r {
      width: 660px;
      padding: 1.5em; }
      .shop-item .shop-item-r ul li {
        font-size: 2.0rem;
        margin: 0 0 1.0em; }
        .shop-item .shop-item-r ul li:before {
          top: 5px; }

  .reason-arrow {
    margin: 80px auto 0; }

  #receive-block {
    padding: 0 0 100px; }
    #receive-block .bg-title span {
      display: inline-block; }

  .merit-box {
    padding: 80px 50px; }

  .merit-content {
    margin: 0 0 50px;
    padding: 0 0 50px; }
    .merit-content h3 {
      font-size: 3.0rem;
      padding: 0 0 0 70px; }
      .merit-content h3:before {
        width: 60px;
        height: 60px;
        top: -4px; }
    .merit-content .arrow-txt {
      margin: 0 0 30px 70px;
      font-size: 2.0rem; }
      .merit-content .arrow-txt:before {
        top: 14px; }

  .merit-item {
    margin: 50px 0 0;
    letter-spacing: -.5em; }
    .merit-item .merit-item-content {
      letter-spacing: normal;
      display: inline-block;
      vertical-align: top;
      width: 490px; }
      .merit-item .merit-item-content:last-child {
        margin: 0 0 0 20px; }
      .merit-item .merit-item-content p {
        font-size: 2.8rem; }
      .merit-item .merit-item-content ul {
        padding: 30px 40px;
        min-height: 366px; }
        .merit-item .merit-item-content ul li {
          font-size: 2.0rem; }
          .merit-item .merit-item-content ul li:before {
            top: 5px; }

  .map-img {
    margin: 0 0 80px; }

  .map-item {
    overflow: hidden; }
    .map-item .map-google {
      float: left;
      width: 400px; }
      .map-item .map-google iframe {
        height: 400px; }
    .map-item .map-list {
      float: right;
      width: 560px; }
      .map-item .map-list dl dt,
      .map-item .map-list dl dd {
        font-size: 2.0rem; }
      .map-item .map-list dl dd .mini-font {
        font-size: 1.6rem; }
      .map-item .map-list dl dd a {
        text-decoration: none; }

  .profile-box {
    padding: 50px; }

  .profile-item {
    letter-spacing: -.5em;
    margin: 0 0 80px; }
    .profile-item .profile-img,
    .profile-item .profile-txt {
      letter-spacing: normal;
      display: inline-block;
      vertical-align: middle;
      box-sizing: border-box; }
    .profile-item .profile-img {
      width: 400px;
      margin: 0; }
    .profile-item .profile-txt {
      width: 500px;
      padding: 0 0 0 50px; }
      .profile-item .profile-txt .name {
        font-size: 2.8rem;
        letter-spacing: .15em; }
        .profile-item .profile-txt .name span {
          font-size: 2.0rem; }
      .profile-item .profile-txt ul li {
        font-size: 2.2rem;
        letter-spacing: .15em; }

  .profile-box-inner p {
    font-size: 2.0rem; }

  .profile-item-r {
    letter-spacing: -.5em;
    margin: 0 0 6.0em; }
    .profile-item-r .profile-item-txt,
    .profile-item-r .profile-item-img {
      letter-spacing: normal;
      display: inline-block;
      vertical-align: middle; }
    .profile-item-r .profile-item-img {
      width: 250px; }
    .profile-item-r .profile-item-txt {
      width: 600px;
      margin: 0 50px 0 0; }

  .profile-content {
    margin: 0 0 6.0em; }

  .profile-item-l {
    letter-spacing: -.5em;
    margin: 0 0 6.0em; }
    .profile-item-l .profile-item-txt,
    .profile-item-l .profile-item-img {
      letter-spacing: normal;
      display: inline-block;
      vertical-align: middle; }
    .profile-item-l .profile-item-img {
      width: 250px;
      margin: 0 50px 0 0; }
    .profile-item-l .profile-item-txt {
      width: 600px;
      margin: 0; }

  .profile-item-r-wrap {
    margin: 0 0 6.0em;
    overflow: hidden; }
    .profile-item-r-wrap .profile-item-r {
      letter-spacing: normal; }
      .profile-item-r-wrap .profile-item-r .profile-item-img {
        float: right;
        margin: 0; }
      .profile-item-r-wrap .profile-item-r .profile-item-txt {
        float: left;
        margin: 0;
        padding: 3.0em 0 0; }

  #contact-block {
    padding: 70px 0 150px; }
    #contact-block .bg-title {
      font-size: 5.0rem; }

  .contact-note {
    padding: 45px;
    margin: 0 0 60px; }
    .contact-note ul li {
      font-size: 2.2rem;
      padding: 0 0 0 1.0em; }
      .contact-note ul li:before {
        top: 11px; }

  .contact-btn {
    margin: 0 0 80px; }
    .contact-btn ul {
      letter-spacing: -.5em; }
      .contact-btn ul li {
        letter-spacing: normal;
        display: inline-block;
        vertical-align: top;
        width: 490px; }
        .contact-btn ul li:last-child {
          margin: 0 0 0 20px; }
        .contact-btn ul li span {
          font-size: 1.8rem; }

  #contact-block .lead {
    font-size: 4.0rem; }
    #contact-block .lead .mini {
      font-size: 3.4rem; }
    #contact-block .lead .time {
      font-size: 1.8rem;
      width: 40%; }

  .campaign-title {
    font-size: 7.0rem;
    padding: 0.75em 0; }

  .campaign-day-txt {
    font-size: 4.0rem; }
    .campaign-day-txt span {
      font-size: 3.0rem; }

  .campaign-img {
    width: 948px;
    margin: 110px auto 90px; }
    .campaign-img:before {
      width: 250px;
      height: 38px;
      top: -80px; }

  .campaign-deco-txt {
    font-size: 3.0rem; }
    .campaign-deco-txt .deco:before, .campaign-deco-txt .deco:after {
      width: 34px;
      height: 64px; }
    .campaign-deco-txt .deco:before {
      left: -40px; }
    .campaign-deco-txt .deco:after {
      right: -40px; }
    .campaign-deco-txt .cl span {
      font-size: 4.0rem; }

  .campaign-num {
    line-height: 1.0;
    font-size: 4.0rem; }
    .campaign-num .m-font span {
      font-size: 6.0rem; }

  .online-box {
    margin: 0 0 60px; }
    .online-box .web-reserve {
      margin: 0 auto;
      width: 500px; }
      .online-box .web-reserve a {
        font-size: 2.6rem;
        border-radius: 80px;
        padding: 1.5em 1.5em 1.5em 2.5em; }
        .online-box .web-reserve a:before {
          top: 1.5em;
          left: 1.0em; } }
.bf-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.bf-card {
  margin: 0;
  width: 48%; }
  .bf-card:nth-child(1), .bf-card:nth-child(2) {
    margin: 0 0 30px; }

/*202210 追記*/
/*point*/
.new_section_point {
  padding: 40px 0; }

.new_section_point img {
  max-width: 100%;
  width: fit-content; }

.new_section_approach img.approach_head_SP {
  display: none; }

.new_section_point dl {
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
  padding: 40px;
  margin: 40px auto; }

.new_section_point dt {
  text-align: center;
  font-size: 32px;
  font-weight: bold;
  font-family: 'Noto Serif JP', serif;
  margin-bottom: 50px; }

.new_section_point dt span {
  color: #62aa9f; }

.new_section_point div dd {
  margin-left: 0; }

.new_section_point div:first-of-type dd,
.new_section_point div:nth-of-type(2) dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.new_section_point div:nth-of-type(2) dd {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse; }

.new_section_point div:first-of-type dd p {
  padding-right: 30px; }

.new_section_point div:nth-of-type(2) dd p {
  padding-left: 30px; }

.new_section_point div:last-of-type dd p {
  padding-top: 30px; }

.new_section_point div {
  position: relative;
  width: fit-content;
  margin: 0 auto; }

.new_section_point .point_label {
  position: absolute;
  top: -15px;
  left: 30px; }

/*approach*/
.new_section_approach img {
  max-width: 100%;
  width: fit-content;
  display: block;
  margin: 0 auto; }

.new_section_approach {
  margin: 150px 0;
  background-color: #f5f5f5; }

.new_section_approach h3 {
  font-size: 30px;
  text-align: center;
  margin-top: 40px;
  font-weight: bold;
  margin-bottom: 100px; }

.new_section_approach h3 span {
  font-size: 40px;
  background: linear-gradient(transparent 60%, #ffff80 0%); }

.approach_ba {
  text-align: center;
  background-color: #fff;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
  padding: 40px 70px;
  margin-top: 100px; }

.approach_ba p {
  margin-bottom: 40px;
  line-height: 2em; }

.approach_ba p span {
  font-size: 20px;
  font-weight: bold;
  color: #c62e2e; }

.new_section_approach h4 {
  font-size: 45px;
  font-weight: bold;
  font-family: 'Noto Serif JP', serif;
  color: #fff;
  text-align: center;
  background-image: url(../img/approach_bkg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 20px 0;
  margin-bottom: 0; }

.not_approach_inner {
  max-width: 90%;
  margin: 0 auto;
  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; }

.not_approach img {
  margin: 0;
  margin-left: 60px; }

.not_approach div div {
  max-width: 650px;
  text-align: center; }

.not_approach p:first-of-type {
  font-weight: bold;
  font-size: 55px;
  background: linear-gradient(transparent 60%, #ffff80 0%);
  line-height: 1em;
  width: fit-content;
  margin: 0 auto; }

.not_approach p:last-of-type {
  font-size: 18px;
  margin-top: 30px;
  line-height: 2.2em; }

.not_approach p:last-of-type span {
  font-weight: bold;
  font-size: 22px; }

.not_approach {
  background-color: #fff;
  width: 100%; }

@media screen and (max-width: 1040px) {
  .not_approach img {
    max-width: 35%; }

  .not_approach p:first-of-type {
    font-size: 40px; }

  .not_approach p:last-of-type {
    font-size: 16px;
    margin-top: 15px; } }
@media screen and (max-width: 980px) {
  .new_section_point .point_label {
    width: 100px; }

  .new_section_approach h3 {
    margin-bottom: 60px; }

  .new_section_point dt {
    font-size: 28px; }

  .not_approach_inner {
    display: block; }

  .not_approach img {
    max-width: 100%;
    margin: 20px auto 0 auto;
    height: 450px;
    object-fit: cover;
    object-position: 0 0;
    width: 100%; }

  .not_approach div div {
    max-width: 100%;
    padding-top: 30px; }

  .approach_ba p span {
    font-size: 18px; } }
@media screen and (max-width: 900px) {
  .new_section_point div:first-of-type dd img,
  .new_section_point div:nth-of-type(2) dd img {
    max-width: 50%; } }
@media screen and (max-width: 840px) {
  .new_section_point .point_label {
    width: 80px; }

  .new_section_point dt {
    font-size: 25px;
    margin-top: 75px;
    margin-bottom: 20px; }

  .new_section_point .point_label {
    right: 0;
    left: 0;
    margin: auto; }

  .new_section_approach h4 {
    font-size: 30px; } }
@media screen and (max-width: 680px) {
  .new_section_point div:first-of-type dd img,
  .new_section_point div:nth-of-type(2) dd img {
    max-width: 100%;
    width: 100%;
    height: 200px;
    object-fit: cover;
    object-position: 0 80%; }

  .new_section_point div:first-of-type dd,
  .new_section_point div:nth-of-type(2) dd {
    display: block; }

  .new_section_point div:first-of-type dd p,
  .new_section_point div:nth-of-type(2) dd p {
    padding: 0 0 20px 0; }

  .new_section_point {
    padding: 0; }

  .new_section_approach img.approach_head_PC {
    display: none; }

  .new_section_approach img.approach_head_SP {
    display: block; }

  .new_section_approach {
    margin: 50px 0; }

  .approach_ba {
    padding: 30px 20px; }

  .approach_ba p {
    text-align: left; }

  .new_section_approach h3 {
    font-size: 20px; }

  .new_section_approach h3 span {
    font-size: 25px; } }
@media screen and (max-width: 500px) {
  .new_section_approach h4 {
    font-size: 22px; }

  .not_approach p:last-of-type {
    text-align: left; }

  .not_approach p:first-of-type {
    font-size: 35px; }

  .not_approach img {
    height: 300px; }

  .approach_ba {
    margin-top: 50px; }

  .not_approach p:last-of-type span {
    font-size: 18px; }

  .new_section_point dt {
    font-size: 19px; }

  .new_section_point .point_label {
    width: 65px; } }
@media screen and (max-width: 400px) {
  .not_approach p:first-of-type {
    font-size: 30px; }

  .new_section_approach h4 {
    font-size: 20px; } }
.online-at {
  padding: 1.0em .25em 0; }

.line-lead {
  display: flex;
  align-items: center;
  justify-content: center; }
  .line-lead .icon {
    width: 90px;
    margin: 0 4px 0 0; }
    @media only screen and (min-width: 1000px) {
      .line-lead .icon {
        width: 140px; } }
  .line-lead .txt {
    font-family: 'Noto Serif JP', serif;
    text-align: center;
    font-weight: bold;
    font-size: 2.2rem; }
    @media only screen and (min-width: 1000px) {
      .line-lead .txt {
        font-size: 4.0rem; } }
  .line-lead .mini {
    font-size: 1.8rem; }
    @media only screen and (min-width: 1000px) {
      .line-lead .mini {
        font-size: 3.4rem; } }

.line-time {
  font-size: 1.4rem;
  margin: 0 auto;
  width: 100%;
  display: flex;
  align-items: center;
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  color: #009f00;
  font-weight: normal; }
  @media only screen and (min-width: 1000px) {
    .line-time {
      font-size: 1.8rem; } }
  .line-time:before, .line-time:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #009f00; }
  .line-time:before {
    margin-right: 0.5rem; }
  .line-time:after {
    margin-left: 0.5rem; }

.line-reservation-wrap {
  margin: 40px auto 60px; }

.line-content {
  display: flex;
  justify-content: space-between;
  margin: 0 0 80px;
  padding: 15px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
  position: relative; }
  @media only screen and (min-width: 1000px) {
    .line-content {
      margin: 0 0 100px;
      padding: 40px; } }
  .line-content:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -80px;
    width: 350px;
    height: 60px;
    background: url(../img/flow_arrow01.svg) no-repeat;
    background-size: contain;
    margin: 0 auto; }
    @media only screen and (min-width: 1000px) {
      .line-content:before {
        width: 540px; } }
  .line-content:nth-child(2):before {
    background: url(../img/flow_arrow04.svg) no-repeat; }
  .line-content:nth-child(4):before {
    background: url(../img/flow_arrow02.svg) no-repeat; }
  .line-content:nth-child(5):before {
    background: url(../img/flow_arrow03.svg) no-repeat; }
  .line-content:nth-child(6):before {
    background: url(../img/flow_arrow05.svg) no-repeat; }
  .line-content:last-child {
    margin: 0; }
    .line-content:last-child:before {
      display: none; }
  .line-content .left {
    width: 48%; }
    @media only screen and (min-width: 1000px) {
      .line-content .left {
        width: 30%; } }
  .line-content .right {
    width: 47%; }
    @media only screen and (min-width: 1000px) {
      .line-content .right {
        width: 66%;
        font-size: 2.0rem; } }
    .line-content .right p {
      margin: 0 0 2.0em; }
      .line-content .right p:last-child {
        margin: 0; }
      .line-content .right p.step {
        line-height: 1.0;
        margin: 0 0 .5em; }
        @media only screen and (min-width: 1000px) {
          .line-content .right p.step {
            font-size: 1.8rem; } }
        .line-content .right p.step span {
          display: inline-block;
          padding: .5em;
          border: 1px solid #666;
          border-radius: 4px; }
      .line-content .right p.at-txt {
        padding: 0 0 0 1.1em;
        text-indent: -1.1em; }
      .line-content .right p.red {
        color: #ff0000; }

.contact-note-txt {
  text-align: center;
  font-size: 2.1rem;
  margin: 0 0 1.0em;
  font-weight: bold; }
  @media only screen and (min-width: 1000px) {
    .contact-note-txt {
      font-size: 3.0rem;
      margin: 0 0 1.5em; } }
  .contact-note-txt span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 .25em; }
    .contact-note-txt span:before, .contact-note-txt span:after {
      content: "▼";
      font-size: 1.6rem; }
      @media only screen and (min-width: 1000px) {
        .contact-note-txt span:before, .contact-note-txt span:after {
          font-size: 2.4rem; } }

/*# sourceMappingURL=style.css.map */
