@charset "utf-8";

/*
---------------------------------------
  common-component
---------------------------------------
*/

/* ベースの文字色 */

body {
  color: #333;
}

a:link {
  outline: none;
  color: #333;
  text-decoration: none;
  cursor: pointer;
}

a:hover {
  opacity: 0.6;
}

.mincho {
  font-family: "Sawarabi Mincho", serif;
}

.mincho2 {
  font-family: "ＭＳ Ｐ明朝", "ＭＳ 明朝", "ヒラギノ明朝 ProN W3",
  "Hiragino Mincho ProN", "HG明朝E", "游明朝", YuMincho, serif;
}

.mincho3 {
  font-family: "Noto Serif JP", serif;
}

.no-scroll {
  overflow-y: hidden;
}

.sp-acco-cont {
  display: none;
}

.page-inner {
  width: 100%;
}

.pc-none {
  display: block !important;
}

.sp-none {
  display: none !important;
}

/* 文字・画像中央揃え */

.img-center,
.txt-center {
  text-align: center;
}

/*
---------------------------------------
  common-header
---------------------------------------
*/

/* ヘッダー全体 */

#page-header {
  padding: 10px;
  /* height: 40px; */
  height:auto;
  position: relative;
  z-index: 9999;
  width: 100%;
  background: #fff;
  /* top: 0;
  right: 0;
  left: 0; */
}

/* ヘッダーロゴ */

.page-header-logo img {
  vertical-align: middle;
  height: 6vw;
}

.sp-page-header-sub-menu,
.sp-header-middle-txt {
  font-size: 3vw;
}

.sp-page-header-sub-menu > a,
.sp-header-middle-txt > a {
  color: #333;
  text-decoration: none;
}

.sp-header-middle-txt {
  padding: 0 7vw;
}

.sp-page-header-sub-menu {
  right: 10px;
}

@media screen and (max-width: 800px) {
  .page-header-ttl2 {
    padding: 2vw 0 0;
    font-size: 2vw;
    line-height: 1.3;
  }
  .sp-header-outer {
    display: flex;
  }
  .sp-header-inner {
    padding: 2vw 0 0;
    display: grid;
    grid-auto-flow: column;
    grid-column-gap: 10px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
    /* margin-left: 60vw; */
  }
}


/*
---------------------------------------
  global-navigation
---------------------------------------
*/

.newGNav {
  border-top: #999 1px solid;
  width: 100%;
}

.newGNavInner {
  border-top: #fff 0px solid;
}

.newGNav ul {
  display: table;
  width: 100%;
}

.newGNav .newGNavInner li {
  display: table-cell;
  width: 25%;
  min-height: 40px;
  text-align: center;
  vertical-align: middle;
  /*
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #fff), color-stop(1.00, #cecece));
  background: -webkit-linear-gradient(#fff, #cecece);
  background: -moz-linear-gradient(#fff, #cecece);
  background: -o-linear-gradient(#fff, #cecece);
  background: -ms-linear-gradient(#fff, #cecece);
  background: linear-gradient(#fff, #cecece);
  */
  background-color: #fff;
  border-bottom: #999999 1px solid;
  padding-top: 2px;
}

.newGNav .newGNavInner li + li {
  border-left: #e6e6e6 1px solid;
  box-shadow: -1px 0 #999;
}

.newGNav .newGNavInner li a {
  display: block;
  height: 100%;
  text-decoration: none;
  line-height: 18px;
  text-shadow: 1px 0 1px #fff;
  font-size: 12px;
  border-bottom: #e6e6e6 1px solid;
  color: #000;
  padding-top: 2px;
}

.newGNav .newGNavInner li:last-child a {
  text-shadow: none;
}

.newGNav .newGNavInner li a img {
  display: block;
  width: 100%;
  margin: 0 auto;
}

/*
---------------------------------------
  breadcrum
---------------------------------------
*/

.breadcrumb {
  padding: 10px;
  margin-bottom: 10px;
}

.breadcrumb li {
  display: inline-block;
  vertical-align: middle;
  font-size: 11px;
  line-height: 1.8em;
}

.breadcrumb li a {
  color: #333;
}

.bcCurrent {
  color: #41a731;
}

/*
---------------------------------------
sp-page-bottom-banner
---------------------------------------
*/

#sp-page-bottom-cont {
  display: none;
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 120px;
  right: 0;
  height: 78px;
  z-index: 99999;
}

#sp-page-bottom-banner {
  display: none;
  position: fixed;
  min-width: 320px;
  width: 100%;
  bottom: -2px;
  left: 0;
  right: 0;
  z-index: 99999;
   background: #ECECEC;
  -webkit-backface-visibility: hidden;
  transition: all 0.3s;
}

.boxContact01 {
  position: fixed;
  width: 100%;
  height: 78px;
  z-index: 99999;
  background: rgba(228, 228, 228, 0.7);
}

.btnContact01 {
  width: 100%;
  display: table;
  border-collapse: separate;
  margin-top: 8px;
}

.btnContact01 li {
  width: 100%;
}

.btnContact01 li + li {
  margin-left: 4%;
}

.btn02 {
  border-radius: 4px;
  box-shadow: 3px 3px 0px 0px rgba(157, 154, 153, 0.7);
}

/*
.btnInner02 {
  background: #418ad5;
  background: -webkit-gradient(linear, left top, left bottom, from(#418ad5), to(#2765bd));
  background: -webkit-linear-gradient(top, #418ad5, #2765bd);
  background: linear-gradient(to bottom, #418ad5, #2765bd);
  border-radius: 4px;
  border: #9dc2e9 1px solid;
  color: white;
  text-align: center;
}
*/

.btn03 {
  border-radius: 4px;
  box-shadow: 3px 3px 0px 0px rgba(157, 154, 153, 0.7);
}

/*
.btnInner03 {
  background: #ffa200;
  background: -webkit-gradient(linear, left top, left bottom, from(#ffa200), to(#fc7100));
  background: -webkit-linear-gradient(top, #ffa200, #ff7800, #fc7100);
  background: linear-gradient(to bottom, #ffa200, #ff7800, #fc7100);
  border-radius: 4px;
  border: #ffb77b 1px solid;
  color: white;
  text-align: center;
}
*/

/*
.btnInner02 {
  background: #429c37;
  border-radius: 4px;
  border: 1px solid #429c37;
  color: #fff;
  text-shadow: 1px 0 1px #0a5497
}
*/

.btnInner02 {
  background: #ba5080;
  border-radius: 4px;
  color: #fff;
}

.btnInner03 {
  background: #429c37;
  border-radius: 4px;
  color: #fff;
}

.btnCall02 p,
.btnMail02 p {
  padding: 8px 0;
  font-size: 13px;
  text-align: center;
}

.btnCall02 p {
  padding: 10px 0;
  font-size: 13px;
}

.tel-bottom{
  font-size: .72rem;
  display: block;
}

@media screen and (max-width: 480px) {
  .btnCall02 p,
  .btnMail02 p {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 64px;
  }
}

.btnCall02 span.tel {
  background: url(../../img/sp/img/common/ico_tel04.png) no-repeat 0 3px;
  background-size: 35px 35px;
  padding-left: 45px;
  display: inline-block;
  line-height: 28px;
  font-size: 18px;
  background-position: left;
}

@media screen and (max-width: 480px) {
  .btnCall02 span.tel {
    font-size: 22px;
  }
}

.btnMail02 span.mail {
  /* background: url(../../img/common/footer/mail.svg) no-repeat 0 3px;
  background-size: 22px 22px;
  padding-left: 28px; */
  background: url(../../img/sp/img/common/ico_mail04.png) no-repeat 0 3px;
  background-size: 25px 21px;
  padding-left: 35px;
  background-position: top 45% left 3px;
  line-height: 28px;
  display: inline-block;
  font-size: 18px;
}

@media screen and (max-width: 480px) {
  .btnMail02 span.mail {
    line-height: 24px;
  }
}

.txtContact01 {
  background: rgba(81, 81, 81, 0.8);
  color: white;
  text-align: center;
  font-size: 14px;
  line-height: 24px;
}

/* SP版TELボタン（フッター付近） */

.wrapBtn01.footer-tel-btn {
  margin-top: 30px;
}

.wrapBtn01.footer-tel-btn > a {
  display: block;
}

.btn01.btnCall03 {
  position: relative;
}

.btnCall03:after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  right: 0;
  width: 90%;
  margin: 0 5%;
  border: #c7c7c7 10px solid;
  z-index: -100;
  border-radius: 3px;
}

.btnInner01 {
  background: -webkit-gradient(
          linear,
          left top,
          left bottom,
          from(#418ad5),
          to(#2765bd)
  );
  background: -webkit-linear-gradient(top, #418ad5, #2765bd);
  background: linear-gradient(to bottom, #418ad5, #2765bd);
  border-radius: 6px;
  border: #9dc2e9 1px solid;
  color: white;
  text-shadow: 1px 0 1px #0a5497;
  padding: 3%;
}

/*
---------------------------------------
  footer-faq_voice-wrapper
---------------------------------------
*/

.footer-faq_voice-wrapper .recommend_text {
  font-size: 18px;
  margin-bottom: 0.8em;
}

.footer-faq-list > li,
.footer-voice-list > li {
  font-size: 14px;
  padding: 1px 0 25px 45px;
  background: transparent url(../../img/top/top_voice.svg) no-repeat left 0.1em;
  line-height: 1.6em;
  background-size: 36px 25px;
}

.footer-faq-list > li {
  padding: 1px 0 14px 45px;
  background: transparent url(../../img/top/top_faq.svg) no-repeat left 0.2em;
  background-size: 28px 27px;
}

.footer-faq-list > li > a,
.footer-voice-list > li > a {
  text-decoration: none;
  color: #333;
}

p.top_recommend_more {
  position: relative;
  float: right;
  padding: 0 5px 0 22px;
  font-size: 14px;
  line-height: 1.6em;
}

p.top_recommend_more:before {
  display: block;
  position: absolute;
  content: "";
  top: 0.5em;
  left: 0;
  width: 0.6em;
  height: 0.6em;
  border-right: 2px solid #333;
  border-top: 2px solid #333;
  transform: rotate(45deg);
  transform-origin: center;
}

.footer-faq-list > li,
p.top_recommend_more > a {
  text-decoration: none;
  color: #333;
}

/*
---------------------------------------
footer-link-lists-wrapper
---------------------------------------
*/

.footer-menu-ttl {
  font-size: 16px;
  color: #fff;
  background: #006400;
  background: #84a784;
  padding: 5px 10px;
  line-height: 1.6em;
}

.footer-link-lists-wrapper {
  width: 100%;
}

.footer-link-lists-wrapper a,
.footer-sp-link dt {
  text-decoration: none;
  color: #333;
}

.footer-sp-link dt,
.footer-sp-link a {
  display: block;
  position: relative;
  padding: 10px 30px 10px 10px;
  line-height: 1.6em;
  background: #fff;
  font-size: 15px;
  background: #e4f1e4;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  display: block;
}

.footer-sp-link li a {
  padding: 0.8em 2em 0.8em 1.8em;
}

.footer-sp-link dt,
.footer-sp-link .parent-link {
  font-weight: 700;
}

.footer-sp-link a:after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #4e504e;
  border-right: 2px solid #4e504e;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  right: 1.2em;
  top: 50%;
  margin-top: -4px;
}

.footer-sp-link dt:after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #4e504e;
  border-right: 2px solid #4e504e;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  right: 1em;
  top: 50%;
  margin-top: -8px;
}

.footer-sp-link dt.active:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  margin-top: -4px;
}

.footer-sp-link dt {
  border-bottom: 1px solid #ccc;
}

.footer-sp-link + .footer-link-lists,
.footer-link-lists li {
  border-top: 1px solid #ccc;
}

.footer-link-lists h3 a,
.footer-link-lists li a {
  box-shadow: 1px 0 0 1px white inset;
  background: -webkit-gradient(
          linear,
          left top,
          left bottom,
          color-stop(0%, #ffffff),
          color-stop(50%, #f9f9f9),
          color-stop(100%, #ebebeb)
  );
  background: -webkit-linear-gradient(
          top,
          #ffffff 0%,
          #f9f9f9 50%,
          #ebebeb 100%
  );
  background: linear-gradient(to bottom, #ffffff 0%, #f9f9f9 50%, #ebebeb 100%);
}

.footer-sp-link + .footer-sp-link,
.footer-link-lists ul > li:last-child {
  border-bottom: 1px solid #ccc;
}

.page-footer-top {
  padding: 0 0 1em;
  border-top: 0;
}

/*
---------------------------------------
sp-footer-bottom
---------------------------------------
*/

.help {
  background-color: #e2eefb;
  padding: 15px 10px;
}

.help_txt {
  color: #0a62d0;
  font-weight: 700;
  font-size: 15px;
  padding: 0.3em;
  border-bottom: solid 1px #0169ae;
  margin-bottom: 0.5em;
}

.talk {
  background-color: #fff4eb;
  padding: 15px 10px;
  margin-bottom: 1em;
}

.talk_txt {
  color: #f16e03;
  font-weight: 700;
  font-size: 14px;
  padding: 0.3em;
  border-bottom: solid 1px #e14500;
  margin-bottom: 0.5em;
}

.talk ul,
.help ul {
  margin-bottom: 1em;
}

.talk li,
.help li {
  font-size: 14px;
  line-height: 1.6em;
}

.btn_up_txt {
  text-align: center;
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 0.3em;
}

.talk .btnContact01,
.help .btnContact01 {
  margin-bottom: 0;
}

/* クレジットカード */

.img_card {
  width: 100%;
  border-top: 1px solid #ececec;
  background: #f6fbfe;
  padding: 1em 0;
  text-align: center;
  margin-top: 30px;
}

.img_card img {
  max-width: 300px;
}

/*
---------------------------------------
フッター説明文
---------------------------------------
*/

.footer_wrap_text {
  padding: 10px;
  width: 100%;
  border-top: 1px solid #ececec;
  border-bottom: 15px solid #e7e7e7;
  background: #f9f9f9;
}

.footer_text {
  width: 100%;
  padding: 0;
  float: none;
  margin-bottom: 1em;
  font-size: 13px;
  line-height: 1.6em;
}

.footer_icon {
  width: 100%;
  min-height: auto;
  float: none;
  text-align: center;
}

.footer_icon img {
  position: relative;
}

/*
---------------------------------------
フッター質問・お客様の声
---------------------------------------
*/

.footer-faq_voice-wrapper {
  padding: 0 10px;
}

.footer-faq-list > li,
p.top_recommend_more {
  font-size: 14px;
  line-height: 1.6em;
}

.footer-faq_voice-wrapper .recommend_text {
  font-size: 20px;
}

.footer-faq_voice-wrapper .recommend_text a:-webkit-any-link {
  color: #000;
  text-decoration: none;
}

.footer-faq_voice-box {
  width: 100%;
  float: none;
  overflow: hidden;
}

.footer-faq_voice-box + .footer-faq_voice-box {
  margin-top: 30px;
}

.footer-faq_voice-box:first-child {
  padding-right: 0;
}

.footer-faq_voice-box + .footer-faq_voice-box {
  padding-left: 0;
}

p.top_recommend_more {
  float: right;
  padding: 0 5px 0 22px;
}

.topMainPh {
  margin-bottom: 3em;
  position: relative;
}

.topMainPh img {
  width: 100%;
}

.topMainCom {
  width: 250px;
  margin-top: -45px;
  margin-left: 1em;
  margin-left: 1rem;
  margin-right: 5%;
  padding: 10px 20px;
  border: 2px solid #ccc;
  position: absolute;
  background: #fff;
}

.topComContent {
  line-height: 1.4em;
  font-size: 2.6rem;
}

.topMainText {
  width: 100%;
  padding: 0 1rem;
  font-size: 1.6rem;
  line-height: 1.6em;
  color: #666;
  position: relative;
  margin: 6.8rem auto 0;
}

.pagetop a {
  color: #5e5656;
  font-size: 12px;
  text-align: right;
  margin: 20px 2% 10px 0;
  padding-right: 15px;
  display: block;
  position: relative;
  text-decoration: none;
}

.pagetop a:after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-top: 1px solid #289000;
  border-right: 1px solid #289000;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -2px;
}

.talk + .txt-center {
  display: block;
  text-align: center;
  font-size: 13px;
  margin-bottom: 0.5em;
}

.talk + .txt-center a {
  color: #333;
  text-decoration: none;
}

/*
---------------------------------------
TOPページ - 3列バナー
---------------------------------------
*/

.top02 {
  margin-bottom: 3rem;
}

.top_bn02 {
  width: 100%;
  margin-bottom: 3rem;
}

.top_bn02 .page-inner {
  width: 100%;
}

.top_bn02-plan-list-wrap {
  width: 100%;
  padding: 3rem 1rem;
  background: #f2f2f2;
}

.top_bn02-plan-list-wrap p {
  font-size: 1.4rem;
  line-height: 1.6em;
}

.top_bn02-plan-list-wrap p.top_bn02-link-more {
  font-size: 120%;
}

.top3txt {
  font-size: 1.5rem;
  margin-bottom: 0.8rem;
}

.top_bn02-plan-list {
  margin-bottom: 1rem;
}

.top_bn02-plan-list > a {
  display: block;
  padding: 1rem 2rem 1rem 1rem;
  background: #fff;
  border: 2px solid #ccc;
  font-size: 1.8rem;
  color: #6d8cd9;
  position: relative;
}

.top_bn02-plan-list > a:after {
  content: "";
  background: url(../img/common/sp_img_link.png) no-repeat;
  background-size: 100% auto;
  display: block;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 50%;
  right: 1rem;
  margin-top: -11px;
}

.top_bn02-plan-list > a i img {
  vertical-align: middle;
  height: 18px;
  margin-left: 1rem;
}

.top_bn02-plan-list > a + a {
  margin-top: 0.5rem;
}

.top_bn02 li + li {
  margin-top: 3rem;
}

.top_bn02 li h2 {
  font-size: 2rem;
  margin-bottom: 0.8rem;
}

.top_bn02-choice-list-wrap {
  width: 100%;
  background: #fff;
}

.top_bn02-choice-list-wrap-inner {
  padding: 0 1rem;
}

.top_bn02-choice-list {
  width: 100%;
  border-top: 2px solid #abaea4;
}

.top_bn02-choice-list-inner {
  width: 100%;
  overflow: hidden;
}

.top_bn02-choice-list-inner > a {
  width: 50%;
  display: block;
  float: right;
  border-bottom: 1px solid #a8ada5;
  height: 65px;
  text-align: center;
  font-size: 1.8rem;
  background: -webkit-gradient(
          linear,
          left top,
          left bottom,
          from(#f7f7f7),
          to(#ebebeb)
  );
  background: -webkit-linear-gradient(top, #f7f7f7, #f9f9f9, #ebebeb);
  background: linear-gradient(to bottom, #f7f7f7, #f9f9f9, #ebebeb);
  box-shadow: 1px 0 0 1px white inset;
}

.top_bn02-link-more {
  font-size: 2rem;
  text-align: right;
  margin-bottom: 0.5rem;
}

.top_bn02-link-more > a {
  color: #6d8cd9;
}

.top_bn02-choice-list-inner > a span {
  text-shadow: 1px 1px 1px #fff;
  line-height: 65px;
}

.top_bn02-choice-list-inner > a i {
  line-height: 65px;
}

.top_bn02-choice-list-inner > a i img {
  height: 48px;
  margin-left: 0.5rem;
  vertical-align: middle;
}

.top_bn02-choice-list-inner > a + a {
  border-right: 1px solid #a8ada5;
}

.wide-img {
  width: 100%;
}

.top02_left_wrap {
  width: 100%;
  margin-bottom: 3rem;
}

.top02_left_wrap > p,
.top02_right > p {
  font-size: 2rem;
  font-weight: 700;
  padding: 0 1rem;
  margin-bottom: 0.8rem;
}

.top_bn_plan_read {
  padding: 0 1rem;
  font-size: 1.4rem;
  line-height: 1.6em;
  margin-bottom: 0.8rem;
}

/*
---------------------------------------
葬儀プランを調べる
---------------------------------------
*/

#top_bn_plan {
  padding: 3rem 1rem;
  background: #dde7dc;
}

#top_bn_plan .top_title_text {
  font-size: 2rem;
  margin-bottom: 0.8rem;
}

#top_bn_plan .top_bn_plan_read {
  padding: 0;
}

.topPlanBoxOuter {
  overflow: hidden;
}

.topPlanBoxOuter > a {
  display: block;
  width: 50%;
  float: left;
}

.topPlanBoxOuter > a.kazokuso-block {
  width: 100%;
  padding-left: 0 !important;
}

.topPlanBoxOuter > a + a {
  margin-top: 1rem;
}

.kazokusou,
.topPlanBox {
  width: 100%;
  display: table;
  background: #fff;
  border: 2px solid #ccc;
}

.topPlanBox {
  width: 100%;
}

.topPlanBoxOuter > a:nth-child(odd) {
  padding-left: 0.5rem;
}

.topPlanBoxOuter > a:nth-child(even) {
  padding-right: 0.5rem;
}

.kazokusouPic,
.kazokusouTxt,
.topPlanPic,
.topPlanTxt {
  display: table-cell;
  vertical-align: middle;
}

.kazokusouPic,
.kazokusouPic img {
  width: 140px;
}

.topPlanPic,
.topPlanPic img {
  width: 45px;
}

.kazokusouTxt,
.topPlanTxt {
  text-align: center;
}

.kazokusouTxt h3,
.topPlanTxt h3 {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 0.2rem;
}

.topPlanTxt h3 {
  font-size: 1.4rem;
}

.planPrice {
  font-size: 1.3rem;
  color: #41a731;
}

.planInfo {
  display: none;
}

/*
---------------------------------------
  お客様インタビュー
---------------------------------------
*/

#top_bn_int {
  background-color: #f5f2eb;
  padding: 3rem 0;
}

#top_bn_int h2 {
  font-size: 2rem;
  margin-bottom: 0.8rem;
  padding: 0 1rem;
}

#top_bn_int p {
  font-size: 1.4rem;
  line-height: 1.6em;
  padding: 0 1rem;
}

#top_bn_int p + p {
  margin-top: 1rem;
}

.top_bn_int_fll02 {
  margin-bottom: 1rem;
}

.top_bn_int_fll02 img {
  width: 100%;
}

.intervew_rink,
.top_bn_int_flr_rink {
  font-size: 120%;
  font-weight: 700;
  text-align: right;
  padding: 0 1rem;
}

.intervew_rink a,
.top_bn_int_flr_rink a {
  font-weight: 700;
  color: #006600;
}

.intervew_rink {
  margin-bottom: 1rem;
}

.top_bn05_wrap {
  padding: 3rem 1rem;
}

.top_bn05_wrap h2 {
  font-size: 2rem;
  margin-bottom: 0.8rem;
  padding: 0 1rem;
}

.top_bn05_wd {
  width: 100%;
}

.top_bn05_wd > a {
  display: block;
}

.top_bn05_wd > a img {
  width: 100%;
}

.top04 {
  margin-bottom: 3rem;
}

.bottom-banners-list {
  width: 100%;
  display: table;
  border-top: 1px solid #ccc;
}

.bottom-banners-list + .bottom-banners-list {
  border-bottom: 1px solid #ccc;
}

.bottom-banners-list > li {
  width: 50%;
  display: table-cell;
  vertical-align: top;
  background: #fafafa;
  padding-bottom: 1rem;
}

.bottom-banners-list > li p {
  padding: 0 2.5rem;
  margin-top: -1rem;
  font-size: 1.4rem;
  line-height: 1.6em;
}

.bottom-banners-list > li img {
  width: 100%;
}

.bottom-banners-list > li {
  border-right: 5px;
}

.bottom-banners-list > li + li {
  border-right: 0;
  border-left: 1px solid #ccc;
}

.telCta {
  width: 100%;
  padding: 0 10px;
  margin-bottom: 20px;
}

.telCta > a {
  display: block;
  padding: 10px 0;
  /*border: 1px solid #9c8035;*/
  text-align: center;
}

.telCta > a img {
  height: 70px;
}

/* SP版の電話番号エリア */

.hurryWrap {
  width: 100%;
  background: #f2f2f2;
  padding: 3rem 1rem;
}

.hurry h2 {
  color: red;
  font-size: 2rem;
  margin-bottom: 1rem;
}

.hurry p {
  font-size: 13px;
  line-height: 1.6em;
}

.hurry p + p {
  margin-top: 15px;
}

.red01 {
  color: #e53000;
}

.telCta02 {
  margin-top: 20px;
}

.telCta02 img {
  width: 100%;
}

.copyright {
  display: block;
  text-align: center;
  font-size: 12px;
}

/* sp-end */

.sp-fixed-btn-list {
  width: 100%;
  display: table;
  padding: 10px;
}

.sp-fixed-btn-list > li {
  width: auto;
  display: table-cell;
  vertical-align: middle;
  padding-right: 5px;
}

.sp-fixed-btn-list > li:first-of-type {
  min-width: 55vw;
}

.sp-fixed-btn-list > li + li {
  padding-left: 5px;
  padding-right: 0;
  width: auto;
}

@media screen and (max-width: 480px) {
  .sp-fixed-btn-list > li + li {
    width: 35vw;
  }
}

.sp-fixed-btn-list > li .sp-fixed-btn-phone-s,
.sp-fixed-btn-list > li .sp-fixed-btn-phone-xs {
  font-size: 16px;
}

@media screen and (max-width: 480px) {
  .sp-fixed-btn-list > li .sp-fixed-btn-phone-s {
    display: none;
  }
}

@media screen and (max-width: 440px) {
  .sp-fixed-btn-list > li .sp-fixed-btn-phone-xs {
    display: none;
  }
}

@media screen and (min-width: 481px) {
  .sp-fixed-btn-list > li .sp-fixed-btn-mail-br {
    display: none;
  }
}

@media screen and (max-width: 480px) {
  .sp-fixed-btn-list > li .sp-fixed-btn-mail-s {
    display: none;
  }
}

/* recommend-saijo-list */

.recommend-saijo-list {
  width: 100%;
  margin: 30px 0;
  padding: 0 10px;
}

.recommend-saijo-list h2 {
  font-size: 20px;
  margin-bottom: 15px;
  background: #c6daae;
  padding: 15px;
}

.recommend-saijo-list .near_saijo {
  border: 1px solid #cccccc;
  background-color: #eeeeee;
  width: 100%;
  margin: 0 10px 10px 0;
}

.recommend-saijo-list .near_saijo a {
  display: block;
  text-decoration: none;
  color: #333;
  padding: 10px;
  overflow: hidden;
}

.recommend-saijo-list .near_saijo_image {
  float: left;
}

.recommend-saijo-list .near_saijo_image,
.recommend-saijo-list .near_saijo_caption,
.recommend-saijo-list .near_saijo_ad {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-bottom: 0;
  line-height: 1.5;
  font-size: 12px;
}

.recommend-saijo-list .near_saijo_caption,
.recommend-saijo-list .near_saijo_ad {
  margin-left: 135px;
  margin-bottom: 5px;
}

.recommend-saijo-list .near_saijo_caption {
  font-size: 16px;
}

.recommend-saijo-list .near_saijo_image img {
  height: auto;
  width: 120px;
}

/*問合せバナー 20171229修正+20191212修正+20191212修正*/
.contactInfo2 {
  border: 3px solid #429c37;
  width: 90%;
  margin: 30px auto;
  display: block;
  padding-bottom: 20px;
  overflow: hidden;
  text-align: center;
  line-height: 1.6em;
}

.contactInfo2 h2 {
  font-size: 1.2em;
  color: #fff;
  display: block;
  padding: 10px 3px;
  margin: auto;
  text-align: center;
  background: #429c37;
  font-weight: bold;
  line-height: 1.5;
}

.contactInfo2 p {
  font-size: 22px;
  margin-top: 20px;
}

.contactInfo2 p.info {
  font-weight: bolder;
  text-align: center;
  color: #429c37;
}

.contactInfo2-staff,
.contactInfo2-num,
.contactInfo2-estimate {
  font-family: Meiryo, Hiragino Kaku Gothic ProN, sans-serif;
  text-align: center;
}

.contactInfo2-staff {
  width: calc(100% - 20px);
  margin: 10px;
  text-align: center;
}

.contactInfo2-staff-1,
.contactInfo2-staff-2 {
  width: 50%;
  float: left;
  text-align: center;
}

.contactInfo2-staff-1 img,
.contactInfo2-staff-2 img {
  width: 100%;
  padding: 10px;
}

.contactInfo2-staff-1 p,
.contactInfo2-staff-2 p {
  font-size: 13px;
  line-height: 1.4em;
  margin-top: 0;
}

.contactInfo2-staff-1 a,
.contactInfo2-staff-2 a {
  display: block;
}

.contactInfo2-num,
.contactInfo2-estimate,
.contactInfo2-tel {
  max-width: 420px;
  margin: 0 auto;
}

/* .contactInfo2-num {
  margin-top: 40px;
} */

.contactInfo2-num > a {
  display: block;
  width: 100%;
  padding-left: 100px;
  height: 80px;

  color: #4b3304;
  text-align: center;

  background: url(../../img/common/footer/24-365.svg) no-repeat 0 0;
  background-size: contain;
}

.contactInfo2-num > a > address {
  font-family: serif;
  font-size: 45px;
  line-height: 55px;
  padding-top: 5px;
  margin-bottom: 5px;
  display: flex;
  justify-content: space-between;
}

.contactInfo2-num > a > address > span {
  font-family: serif;
}

.contactInfo2-num > a > p {
  font-size: 15px;
  font-family: Meiryo, Hiragino Kaku Gothic ProN, sans-serif;
  line-height: 20px;
  margin-top: auto;
  text-align-last: justify;
}

.contactInfo2-tel-note {
  font-size: 20px;
  width: calc(100% - 40px);
  margin: 10px auto;
  line-height: 1.2;
}

.contactInfo2-tel-note span {
  color: #0a62d0;
}

.contactInfo2-tel {
  background-color: #ba5080;
  color: #fff;
  line-height: 28px;
  padding: 20px;
  border-radius: 5px;
  box-shadow: #ccc 0 5px 0;
  display: block;
}

.contactInfo2-tel p {
  color: #fff;
  display: inline-block;
  /* background: url(../../img/sp/img/common/ico_tel03.png) no-repeat 0 3px;
  background-size: 22px 22px;
  padding-left: 28px; */
  background: url(../../img/sp/img/common/ico_tel03.png) no-repeat 0 5px;
  background-size: 20px 19px;
  padding-left: 25px;
  font-size: 20px;
  font-weight: 700;
  line-height: 28px;
  margin: 0;
}

.contactInfo2-tel span {
  font-weight: 500;
}

.contactInfo2-estimate {
  background-color: #429c37;
  color: #fff;
  line-height: 28px;
  padding: 20px;
  border-radius: 5px;
  box-shadow: #ccc 0 5px 0;
  display: block;
  margin-top: 20px;
}

.contactInfo2-estimate p {
  color: #fff;
  display: inline-block;
  background: url(../../img/sp/img/common/ico_mail03.png) no-repeat 0 3px;
  background-size: 25px 21px;
  padding-left: 35px;
  font-size: 20px;
  line-height: 28px;
  border-radius: 5px;
  margin: 0;
}

.contactInfo2-estimate a span {
  font-weight: 500;
}

@media screen and (max-width: 480px) {
  .contactInfo2-num > a {
    width: calc(100% - 40px);
    max-width: 350px;
    padding-left: 80px;
    height: 60px;
    margin: 0 auto;
  }

  .contactInfo2-num > a > address {
    font-size: 35px;
    line-height: 45px;
    padding-top: 4px;
    margin-bottom: 4px;
  }

  .contactInfo2-num > a > p {
    font-size: 11px;
    font-family: Meiryo, Hiragino Kaku Gothic ProN, sans-serif;
    line-height: 15px;
    margin-top: auto;
    text-align-last: justify;
  }

  .contactInfo2-estimate,
  .contactInfo2-tel {
    width: calc(100% - 40px);
    max-width: 350px;
  }

  .contactInfo2-estimate {
    margin-top: 20px;
  }

  .contactInfo2-estimate a span {
    display: none;
  }

  .contactInfo2-tel {
    margin: 0 auto;
  }

  .contactInfo2-tel span {
    font-size: 16px;
  }

  .contactInfo2-tel .contactInfo2-tel-s-hidden {
    display: none;
  }
}

/*700px以下*/
@media screen and (max-width: 700px) {
  .contactInfo2 {
    width: 95%;
  }
  .contactInfo2-staff {
    width: 100%;
    margin: 0 auto;
    display: flex;
  }
}

.contactInfo2-staff-1,
.contactInfo2-staff-2 {
  margin-top: 5px;
  padding: 0 10px;
  text-align: center;
}

.contactInfo2-staff-1 a,
.contactInfo2-staff-2 a {
  text-decoration: none;
  color: #000;
}

.contactInfo2-staff-1 a:hover {
  opacity: 0.9;
}

.contactInfo2-estimate a {
  display: block;
  color: #fff;
}

/* 20190109 SP　プランページ　顔入りバナー*/

.secSp-bN3 {
  background-image: url(../../img/sp/img/common/formbk.png);
  background-size: 97%;
  background-repeat: no-repeat;
  background-position: top;
  padding-top: 7px;
  margin-top: 20px;
  overflow: hidden;
}

.secSp-bN3 p.cmt {
  background-image: url(../../img/sp/img/common/cmtbn.png);
  background-size: 80%;
  background-repeat: no-repeat;
  background-position: center;
  height: 50px;
  font-size: 90%;
  text-align: center;
  padding-top: 17px;
}

.secSp-bN3 .staffbox {
  padding: 0 0.5em;
  text-align: center;
}

.secSp-bN3 .staffbn {
  display: inline-block;
  font-size: 75%;
  margin-bottom: 6%;
}

.secSp-bN3 .staffbn img {
  width: 70%;
}

.secSp-bN3 .staffbn p {
  padding: 2px;
  line-height: 1.1;
}

.secSp-bN3 .staffbn a {
  text-decoration: none;
}

.secSp-bN3 .staffbn a:link {
  color: #000;
}

.secSp-bN3 .staffbn1 a:visited {
  color: #000;
}

.secSp-bN3 .formbox {
  width: 90%;
  margin: 0 auto;
  padding-top: 22%;
  margin-bottom: 10%;
}

.secSp-bN3 li.telbn {
  vertical-align: middle;
  width: 100%;
  height: 80px;
  font-size: 55px;
  line-height: 80px;
  letter-spacing: 0.1em;
  text-align: right;

  background: url(../../img/common/footer/24-365.svg) no-repeat 0 0;
  background-size: contain;
}

.secSp-bN3 li.telbn a:hover {
  opacity: 0.8;
}

.secSp-bN3 li.formbn {
  margin-top: 5px;
}

.secSp-bN3 li.formbn a:hover {
  opacity: 0.8;
}

/*20191212　spヘッダー変更*/

.sp-page-header-sub-menu {
  /* border: 1px;
  width: 85px;
  height: 27px;
  border-radius: 50px 50px 50px 50px;
  text-align: center; */
}

@media screen and (max-width: 700px) {
  .newGNavInner img {
    width: 100%;
    margin: 0;
  }
}

.newGNav .newGNavInner li:last-of-type {
  background: #ba5080;
/* color: #fff; */
  border: 1px solid #ba5080;
}

.newGNav .newGNavInner li:last-of-type a {
  border: 1px solid #ba5080;
}

/*201912 sp フッター追尾バナー修正*/

p.btnInner03.btnInner03-s span {
  background-position: top 5px left 98px;
  background-size: 35px;
}

p.btnInner02.btnInner02-s span {
  background-position: top 5px left 46px;
  background-size: 40px;
  margin-top: 8px;
  margin-bottom: 8px;
}

span.mincho3.text {
  margin-left: -30px;
  padding-top: 35px;
}

nav.newGNav.spfixed {
  position: fixed;
  top: 0;
  z-index: 9999;
}
