@charset "UTF-8";
/*
data-sc-sp
data-sc-pc
data-sc-onlyPc
data-sc-tab
data-sc-pcMin
*/
/*
	@include hover() {
		opacity: 0.6;
	}
*/
/*
	$line:イラレの行の値
	$size:イラレの文字の値

	@include lh(38, 15);
*/
/*
	$size:object-fitの値

	@include objectfit();
	@include objectfit('contain');
*/
/*
	@include taJ();
*/
/*
	@extend %rightarr;
*/
/*
	$weight:フォントの太さ
	@include f_min();
	@include f_min(400);Reguler
	@include f_min(600);SemiBold
*/
/*
* "はんなり明朝" licensed under the IPA Font License Agreement v1.0
* https://typingart.net/?p=44（配布元のURL）
* http://ipafont.ipa.go.jp/（IPAフォントのURL）
* http://ipafont.ipa.go.jp/ipa_font_license_v1.html（IPAフォントライセンスv1.0のURL）
*/
@font-face {
  font-family: "hannari";
  src: url("/common/font/hannari.woff2") format("woff2"),
    url("/common/font/hannari.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
/*
	$weight:フォントの太さ

	@include f_min();
	@include f_min(500);
	@include f_min(600);
*/
/*
	$color:色指定
	$stripe:線サイズ
	$spacing:線の空きサイズ
	$height:太さ

	@include dotted(#e6e1d2, 4,4,2);
*/
/*
example
@include dotted-y(#COLOR, WidthPX,SpaceingPX,LengthPX,); 横破線
@include dotted-y(#e6e1d2, 4,4,2,10);
*/
/* -----------------------------------------------------------------------------

後半戦追加設定　221208（暫定）

----------------------------------------------------------------------------- */
html {
  font-size: 100px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN",
    "Hiragino Kaku Gothic Pro", "游ゴシック", "游ゴシック体", "Yu Gothic",
    YuGothic, verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
  text-rendering: optimizeLegibility;
  /* SP */
}
@media print, screen and (min-width: 641px) {
  html {
    line-height: 1.5;
  }
}
@media screen and (max-width: 640px) {
  html {
    -webkit-text-size-adjust: 100%;
  }
}
@media print, screen and (min-width: 1440px) and (max-width: 1599px) {
  html {
    font-size: 100px;
  }
}
@media print, screen and (min-width: 1366px) and (max-width: 1439px) {
  html {
    font-size: 90px;
  }
}
@media print, screen and (min-width: 1280px) and (max-width: 1365px) {
  html {
    font-size: 85px;
  }
}
@media print, screen and (min-width: 641px) and (max-width: 1279px) {
  html {
    font-size: 80px;
  }
}
@media screen and (min-width: 428px) and (max-width: 640px) {
  html {
    /* SP： 428px から 640pxの間 ※6.7inch(iPhone12ProMax) */
    font-size: 114px;
  }
}
@media screen and (min-width: 414px) and (max-width: 427px) {
  html {
    /* SP： 414px から 427pxの間 ※iPhone6 Plus・6s Plus・7 Plus・8 Plus・XR・11・XS Max・11 Pro Max */
    font-size: 110px;
  }
}
@media screen and (min-width: 375px) and (max-width: 413px) {
  html {
    /* SP： 375px から 413pxの間 ※iPhone6・6s・7・8・SE(2)・X・XS・11 Pro */
    /* 基本 */
    font-size: 100px;
  }
}
@media screen and (min-width: 360px) and (max-width: 374px) {
  html {
    /* SP： 360px から 374pxの間 ※小さめAndroid */
    font-size: 96px;
  }
}
@media screen and (max-width: 359px) {
  html {
    /* SP： 359px以下 ※iPhone 5・5s・SE(1) */
    font-size: 85px;
  }
}
html.edge {
  -ms-text-size-adjust: 100%;
}
html.os-mac {
  -webkit-font-smoothing: antialiased;
}
html.scrollingFlg {
  pointer-events: none;
}

body {
  position: relative;
  margin: 0;
  padding: 0;
  font-size: 0.11rem;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  body {
    min-width: 1024px;
    padding-top: 0.8rem;
  }
}
.pageLoaded body {
  transition: opacity 1s;
}
.wf-active body,
.loading-delay body {
  opacity: 1;
}

.mod_main {
  overflow: hidden;
}

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

追加設定（mixinは_config.scssに記述）
・最終的にPC/SP以外は削除

----------------------------------------------------------------------------- */
/* 721px以上は消す */
@media print, screen and (min-width: 641px) {
  [data-sc-sp] {
    display: none !important;
  }
}
/* 961px以上は消す */
@media print, screen and (max-width: 960px) {
  [data-sc-onlyPc] {
    display: none !important;
  }
}
/* 960px以下は消す */
@media print, screen and (min-width: 961px) {
  [data-sc-tab] {
    display: none !important;
  }
}
/* 720px以下は消す */
@media screen and (max-width: 640px) {
  [data-sc-pc] {
    display: none !important;
  }
}
/* 遅延読み込み */
[data-lf] {
  opacity: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  transition: opacity 1.5s;
}

[data-lf-area="1"][src],
[data-lf][style*="background-image"],
[data-lf].load_view {
  opacity: 1;
}

/* objectfit */
.of img {
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
  background-size: cover;
  background-position: center center;
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}

/* line-clamp */
._line-clamp,
.lineClamp {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  text-align: left;
  overflow: hidden;
}
._line-clamp._line1,
.lineClamp._line1 {
  -webkit-line-clamp: 1;
}
._line-clamp._line2,
.lineClamp._line2 {
  -webkit-line-clamp: 2;
}
._line-clamp._line3,
.lineClamp._line3 {
  -webkit-line-clamp: 3;
}
@media screen and (max-width: 640px) {
  ._line-clamp._sp-line1,
  .lineClamp._sp-line1 {
    -webkit-line-clamp: 1;
  }
  ._line-clamp._sp-line2,
  .lineClamp._sp-line2 {
    -webkit-line-clamp: 2;
  }
  ._line-clamp._sp-line3,
  .lineClamp._sp-line3 {
    -webkit-line-clamp: 3;
  }
  ._line-clamp._sp-line4,
  .lineClamp._sp-line4 {
    -webkit-line-clamp: 4;
  }
}

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

既存設定

----------------------------------------------------------------------------- */
/* normalize.cssを補うCSS */
input,
select,
button,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  padding: 0;
  outline: none;
  border: none;
}

button {
  cursor: pointer;
}

select {
  cursor: pointer;
}
select::-ms-expand {
  display: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dt,
dd,
ol,
ul,
li {
  margin: 0;
  padding: 0;
}

body.desktopDevice a[href] {
  transition: opacity 0.2s ease;
}
body.desktopDevice a[href]:hover {
  opacity: 0.6;
}

p {
  color: #484848;
}

a {
  color: #484848;
  outline: none;
  text-decoration: none;
}

li {
  list-style: none;
}

/* [data-maxwidth] */
[data-maxwidth] {
  opacity: 0;
}

/* [data-backgroundsize] */
[data-backgroundsize] {
  overflow: hidden;
  background-image: none;
  position: relative;
  font-size: 0;
  padding-top: 66.66666%;
}
[data-backgroundsize] > img {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}

html.backgroundsize [data-backgroundsize] {
  background-position: center;
  background-repeat: no-repeat;
}
html.backgroundsize [data-backgroundsize] > img {
  display: none !important;
}
html.backgroundsize [data-backgroundsize="cover"] {
  background-size: cover;
}
html.backgroundsize [data-backgroundsize="contain"] {
  background-size: contain;
}

/* [data-src] */
[data-loadwait] {
  background-size: 30px 30px !important;
  background-image: url(../img/loading_black.gif) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}
.no-backgroundsize [data-loadwait] {
  background-image: url(../img/loading_black_no-backgroundsize.gif) !important;
}

[data-loadwait="black"] {
  background-image: url(../img/loading_white.gif) !important;
}
.no-backgroundsize [data-loadwait="black"] {
  background-image: url(../img/loading_white_no-backgroundsize.gif) !important;
}

/* 表示切替class */
.sp {
  display: none;
}
@media screen and (max-width: 640px) {
  .sp {
    display: block;
  }
}

@media print, screen and (min-width: 641px) {
  .pc_non {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  .sp_non {
    display: none;
  }
}

.ie8 > * {
  min-width: 1000px;
}

/* 全体 PC */
@media print, screen and (min-width: 641px) {
  [data-screen-smart],
  [data-sc-sp] {
    display: none !important;
  }
}
/* 全体 ipad */
@media screen and (min-width: 961px) {
  [data-screen-tab_sp],
  [data-sc-tab] {
    display: none !important;
  }
}
@media screen and (max-width: 960px) {
  [data-screen-onlypc],
  [data-sc-onlyPc] {
    display: none !important;
  }
}
/* 全体 smart */
@media screen and (max-width: 640px) {
  [data-screen-pc],
  [data-sc-pc] {
    display: none !important;
  }
  img {
    height: auto;
  }
}
/* .font-family */
.ff_min {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN",
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3",
    "HiraMinProN-W3", "HGS明朝E", "HG明朝E", serif;
}

.ff_gothic {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN",
    "Hiragino Kaku Gothic Pro", "游ゴシック", "游ゴシック体", "Yu Gothic",
    YuGothic, verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
}

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

既存共通パーツ（promise等で継承使用してるので、暫定そのまま）
・下層でも使用されているので修正時は要注意
・必要に応じて先行リリース対応は、サブクラス付与にて対応の事

----------------------------------------------------------------------------- */
/* contentsArea */
/*.mainArea {
	@include sc(onlyPc){
		margin-top: -400px;
	}
	@include sc(tab){
		margin-top: 50px;
	}
}*/
/* commonレイアウト・パーツ */
.commonTitle1 {
  font-size: 0.2rem;
  text-align: center;
  color: #555555;
  padding-top: 0.36rem;
  font-weight: normal;
  position: relative;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, serif;
}
@media screen and (max-width: 640px) {
  .commonTitle1 {
    font-size: 0.17rem;
    padding-top: 0.2rem;
  }
}
.commonTitle1:before,
.commonTitle1:after {
  content: "";
  height: 1px;
  display: block;
  position: absolute;
  top: 0;
}
.commonTitle1:before {
  left: 0;
  width: 100%;
  background-color: #dadada;
}
@media screen and (max-width: 640px) {
  .commonTitle1:before {
    left: 0;
    width: 100%;
    background-color: #dadada;
  }
}
.commonTitle1:after {
  left: 50%;
  width: 3rem;
  margin-left: -1.5rem;
  background-color: #494949;
}
@media screen and (max-width: 640px) {
  .commonTitle1:after {
    width: 50%;
    margin-left: -25%;
  }
}
.commonTitle1 > img {
  font-size: 0.24rem;
}

.imgWidthFix,
.imgHeightFix {
  position: relative;
  overflow: hidden;
}

.imgWidthFix img {
  width: auto;
  height: 100%;
  position: absolute;
  left: -100%;
  right: -100%;
  margin: 0 auto;
}

.imgHeightFix img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
}

.main_ttl {
  font-size: 0.42rem;
}
@media screen and (max-width: 640px) {
  .main_ttl {
    font-size: 0.32rem;
  }
}

.commonLayout1 {
  margin-left: auto;
  margin-right: auto;
  padding-right: 5%;
  padding-left: 5%;
  max-width: 10rem;
  width: 90%;
}
@media print, screen and (max-width: 960px) {
  .commonLayout1 {
    width: 85%;
  }
}
@media screen and (max-width: 640px) {
  .commonLayout1 {
    width: 90%;
  }
}

.commonLayout2 {
  text-align: center;
}
.commonLayout2 > .title {
  position: relative;
  margin-bottom: 0.5rem;
  display: block;
  font-weight: normal;
}
.commonLayout2 > .title:after {
  content: "";
  width: 0.3rem;
  height: 1px;
  background-color: #494949;
  display: block;
  position: absolute;
  left: 50%;
  bottom: 0;
  margin-bottom: -0.2rem;
  margin-left: -0.15rem;
}
.commonLayout2 > .title > img {
  font-size: 0.35rem;
  color: #494949;
  display: block;
  margin: 0 auto 0.27rem;
}
.commonLayout2 > .caption {
  font-size: 0.13rem;
  color: #494949;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .commonLayout2 > .caption {
    text-align: left;
  }
}
@media screen and (max-width: 640px) {
  .commonLayout2 .txt {
    text-align: left !important;
  }
}

.commonLayout3 {
  font-size: 0;
  text-align: left;
}
.commonLayout3 > li {
  display: inline-block;
  width: 30.32%;
  margin-right: 2%;
  margin-bottom: 2%;
  vertical-align: top;
}
@media screen and (max-width: 640px) {
  .commonLayout3 > li {
    width: 48%;
    margin-right: 4%;
  }
}
@media screen and (max-width: 640px) {
  .commonLayout3 > li:nth-child(2n) {
    margin-right: 0;
  }
}
.commonLayout3 > li:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 640px) {
  .commonLayout3 > li:nth-child(3n) {
    margin-right: 4%;
  }
}
.commonLayout3 > li > a {
  display: block;
}
.commonLayout3 > li > a > .img {
  margin-bottom: 0.2rem;
  padding-top: 66.66666%;
}

.commonLayout4 {
  padding: 0.55rem 0 0.6rem;
  position: relative;
}
@media screen and (max-width: 640px) {
  .commonLayout4 {
    padding-bottom: 0;
  }
}
.commonLayout4 .otherLink {
  font-size: 0;
}
@media screen and (max-width: 640px) {
  .commonLayout4 .otherLink {
    text-align: center;
  }
}
.commonLayout4 .otherLink li {
  display: inline-block;
  width: 31%;
  margin-left: 3.5%;
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  .commonLayout4 .otherLink li {
    max-width: 3.11rem;
    width: 100%;
    margin: 0 auto 0.3rem;
  }
}
.commonLayout4 .otherLink li:first-child {
  margin-left: 0;
}
.commonLayout4 .otherLink li a {
  display: block;
  color: #484848;
}
.commonLayout4 .otherLink li a > div {
  margin-bottom: 0.1rem;
  height: 1.3rem;
}
.commonLayout4 .otherLink li a > div:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border: 0.03rem solid rgba(228, 228, 228, 0.5);
}
.commonLayout4 .otherLink li a p {
  font-size: 0.15rem;
  letter-spacing: 0.07em;
  padding-left: 0.15rem;
  position: relative;
}
@media screen and (max-width: 640px) {
  .commonLayout4 .otherLink li a p {
    text-align: left;
    font-size: 0.16rem;
  }
}
.commonLayout4 .otherLink li a p:before {
  content: "";
  display: block;
  width: 0.05rem;
  height: 0.05rem;
  border-top: 1px solid #002f5f;
  border-right: 1px solid #002f5f;
  transform: rotate(45deg);
  position: absolute;
  top: 0.06rem;
  left: 0;
  transition: left 0.3s;
}
.desktopDevice .commonLayout4 .otherLink li a:hover p:before {
  left: 0.03rem;
}

.otherLink2 {
  padding: 1rem 0;
  font-size: 0;
}
@media print, screen and (min-width: 641px) {
  .otherLink2 {
    display: flex;
    justify-content: space-between;
  }
  .otherLink2.col2 {
    justify-content: center;
  }
  .otherLink2.col2 li {
    width: 3.6rem;
    max-width: 3.6rem;
    margin: 0 0.16rem;
  }
}
@media screen and (max-width: 640px) {
  .otherLink2 {
    padding: 0.5rem 0;
  }
}
@media print, screen and (min-width: 641px) {
  .otherLink2 li {
    width: calc((100% - 0.2rem) / 3);
    max-width: 3.1rem;
  }
}
@media screen and (max-width: 640px) {
  .otherLink2 li + li {
    margin-top: 0.1rem;
  }
}
.otherLink2 li a {
  display: flex;
  height: 2.4rem;
  justify-content: center;
  align-items: center;
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 640px) {
  .otherLink2 li a {
    height: 1.5rem;
  }
}
.otherLink2 li a.reason {
  background-image: url(../img/bnr/bnr_reason_img.jpg);
}
.otherLink2 li a.price {
  background-image: url(../img/bnr/bnr_price_img.jpg);
}
.otherLink2 li a.voice {
  background-image: url(../img/bnr/bnr_voice_img.jpg);
}
.otherLink2 li a.faq {
  background-image: url(../img/bnr/bnr_faq_img.jpg);
}
.otherLink2 li a.case {
  background-image: url(../img/bnr/bnr_case_img.jpg);
}

.commonContent1 {
  overflow: hidden;
  height: 4.6rem;
  position: relative;
}
@media screen and (max-width: 640px) {
  .commonContent1 {
    height: 3rem;
  }
}
@media screen and (max-width: 420px) {
  .commonContent1 {
    height: 1.5rem;
  }
}
.commonContent1 > img {
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -2.3rem 0 0 -6.41rem;
}
@media screen and (max-width: 640px) {
  .commonContent1 > img {
    transform: none;
    position: absolute;
    margin: 0 auto;
    left: -6.4rem;
    right: -6.4rem;
    top: 0;
    height: 3rem;
    width: auto;
  }
}
@media screen and (max-width: 420px) {
  .commonContent1 > img {
    height: 1.5rem;
  }
}
.no-csstransform .commonContent1 > img {
  top: 0;
  margin: 0 0 0 -6.4rem;
}
.commonContent1 .videoImage {
  margin: -5.4rem 0px 0px -9.6rem;
}
@media screen and (max-width: 640px) {
  .commonContent1 .videoImage {
    margin: 0;
    width: 100%;
    height: auto;
    position: static;
    transform: none;
  }
}

.commonBtn1,
.commonBtn2 {
  position: relative;
  height: 0.7rem;
  width: 3rem;
  text-align: center;
  font-size: 0px;
  background-color: #a5964b;
  display: block;
}
@media screen and (max-width: 640px) {
  .commonBtn1,
  .commonBtn2 {
    width: 90%;
  }
}
.commonBtn1:before,
.commonBtn2:before {
  content: "";
  height: 100%;
  display: inline-block;
  vertical-align: middle;
}
.commonBtn1 > span,
.commonBtn2 > span {
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  font-size: 0.15rem;
  line-height: 1.3;
  letter-spacing: 0.11em;
}

.commonBtn1:after {
  content: "";
  width: 0.06rem;
  height: 0.06rem;
  position: absolute;
  right: 10%;
  top: 50%;
  margin-top: -0.03rem;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  transition: all 0.2s ease 0s;
}
.desktopDevice .commonBtn1:hover.after {
  right: 8%;
}

.commonBtn2:after {
  content: "";
  width: 0.06rem;
  height: 0.06rem;
  position: absolute;
  right: 10%;
  top: 50%;
  margin-top: -0.03rem;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  transition: all 0.2s ease 0s;
  right: auto;
  left: 10%;
  transform: rotate(225deg);
}
.desktopDevice .commonBtn2:hover.after {
  right: auto;
  left: 8%;
}

.commonBtn3,
.commonBtn4 {
  position: relative;
  text-align: center;
  font-size: 0px;
  background-color: #a5964b;
  display: block;
  padding: 0.09rem 0.1rem 0.08rem 0.11rem;
}
@media screen and (max-width: 640px) {
  .commonBtn3,
  .commonBtn4 {
    padding: 0.19rem 0.2rem 0.18rem 0.21rem;
  }
}
.commonBtn3:before,
.commonBtn4:before {
  content: "";
  height: 100%;
  display: inline-block;
  vertical-align: middle;
}
.commonBtn3 > span,
.commonBtn4 > span {
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  font-size: 0.13rem;
  line-height: 1.3;
  letter-spacing: 0.11em;
}

.commonBtn3:after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 0.06rem;
  height: 0.06rem;
  position: relative;
  left: 0;
  margin-left: 0.05rem;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  transition: all 0.2s ease 0s;
}
.desktopDevice .commonBtn3:hover:after {
  left: 0.02rem;
}

.commonBtn4:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 0.06rem;
  height: 0.06rem;
  position: relative;
  left: 0;
  margin-left: 0.05rem;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  transition: all 0.2s ease 0s;
  margin-left: 0;
  margin-right: 0.05rem;
  transform: rotate(225deg);
}
.desktopDevice .commonBtn4:hover:after {
  left: -0.02rem;
}

/* ウィズハウスのお葬式 */
/*.summary_list_block {
	padding: 1rem 0 1rem;//100px 0 100px;
	line-height: 1.5;
	@include sc(pc){
		padding-right: 0.7rem;//70px;
		padding-left: 0.7rem;//70px;
	}
	@include sc(sp){
		padding: 0.5rem 0 0.3rem;//50px 0 30px;
	}

	img {
		max-width: 100%;
		height: auto;
		vertical-align: middle;
	}
	h1, h2 {
		margin-bottom: 0.5rem;//50px;
		padding-top: 1.7rem;//170px;
		text-align: center;
		color: #14254f;
		font-size: 0.36rem;//3.6rem;
		background: url(/images/summary_title.png) no-repeat 50% 0;
		background-size: 1.5rem;//150px;
	}
	h2 {
		@include sc(sp){
			margin-bottom: 0.3rem;//30px;
			padding-top: 1rem;//100px;
			font-size: 0.21rem;//2.1rem;
			background-size: 0.9rem;//90px;
		}
	}
	ul {
		display: flex;
		flex-wrap: wrap;
		@include sc(pc){
			max-width: 7rem;//700px;
			margin: auto;
			justify-content: space-between;
		}
		@include sc(sp){
			padding: 0 5%;
			justify-content: space-between;
		}
		li {
			text-align: center;
			@include sc(pc){
				padding:  0 0.1rem 0.5rem;//0 10px 50px;
				max-width: 50%;
				box-sizing: border-box;
			}
			@include sc(sp){
				width: calc(50% - 0.05rem);//calc(50% - 5px);
				padding-bottom: 0.15rem;//15px;
			}
			a {
				position: relative;
				display: block;
				margin: auto;
				background-color: #f6f7f7;
				text-align: center;
				@include sc(pc){
					max-width: 3.1rem;//310px;
				}
				&:after {
					content: '';
					position: absolute;
					top: 0.15rem;//15px;
					right: 0.15rem;//15px;
					bottom: 0.15rem;//15px;
					left: 0.15rem;//15px;
					border: 1px solid #a98e5a;
					@include sc(sp){
						top: 0.05rem;//5px;
						right: 0.05rem;//5px;
						bottom: 0.05rem;//5px;
						left: 0.05rem;//5px;
					}
				}
				span {
					display: block;
				}

				.title {
					padding: 0.25rem 0 0.4rem;//25px 0 40px;
					color: #14254f;
					font-weight: bold;
					font-size: 0.22rem;//2.2rem;
					@include sc(sp){
						padding: 0.15rem 0 0.2rem;//15px 0 20px;
						font-size: 0.15rem;//1.5rem;
					}
				}
			}
		}
	}
}*/
/*.plan_ban {
	width: 8rem;//800px;
	height: 2.4rem;//240px;
	margin: auto;
	margin-bottom: 0.5rem;//50px;
	position: relative;
	@include sc(sp){
		width: 100%;
		padding: 0 5%;
		background-size: contain;
		box-sizing: border-box;
	}

	a {
		display: block;
		width: 100%;
		height: 100%;
		background-color: #f6f7f7;
		background-image: url(/images/ban_1dkazoku.png);
		background-position: top right;
		background-repeat: no-repeat;
		&:after {
			content: '';
			position: absolute;
			top: 0.15rem;//15px;
			right: 0.15rem;//15px;
			bottom: 0.15rem;//15px;
			left: 0.15rem;//15px;
			border: 1px solid #a98e5a;
			@include sc(sp){
				top: 0.05rem;//5px;
				bottom: 0.05rem;//5px;
				left: calc(5% + 0.05rem);//calc(5% + 5px);
				right: calc(5% + 0.05rem);//calc(5% + 5px);
			}
		}
	}
	.box {
		display: block;
		width: 3rem;//300px;
		text-align: center;
		padding-top: 0.6rem;//60px;
	}
	.name {
		display: block;
		margin: auto;
		width: 12em;
		margin-bottom: 1em;
		padding: 0.02rem 0.1rem;//2px 10px;
		background: #900;
		color: #fff;
		@include sc(sp){
			//text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
			text-shadow: 0 0 0.1rem #fff, 0 0 0.1rem #fff, 0 0 0.1rem #fff, 0 0 0.1rem #fff;
		}
	}
	.title {
		padding: 0.25rem 0 0.04rem;//25px 0 40px;
		color: #14254f;
		font-weight: bold;
		font-size: 0.22rem;//2.2rem;
		@include sc(sp){
			//text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
			text-shadow: 0 0 0.1rem #fff, 0 0 0.1rem #fff, 0 0 0.1rem #fff, 0 0 0.1rem #fff;
		}
	}
}*/
/* よくある質問/5つのお約束 */
.content1Area {
  padding-top: 0.8rem;
}
@media screen and (max-width: 640px) {
  .content1Area {
    padding-top: 0.3rem;
  }
}

/* 最短当日から資料お見積りをお届けします（トップ） */
/*.bottom_contact_box_top {
	padding: 1.2rem 0;//120px 0;
	border-top: 1px solid #cfcfcf;
	@include sc(sp){
		padding: 0.5rem 0;//50px 0;
	}
	.inn {
		position: relative;
		padding: 0.05rem;//5px;
		border: 0.02rem solid #14254f;//2px solid #14254f;
		background-color: #fff;
		text-align: center;
		@include sc(sp){
			padding: 0.03rem;//3px;
		}
		&:before {
			content: '';
			position: absolute;
			top: 0.05rem;//5px;
			right: 0.05rem;//5px;
			left: 0.05rem;//5px;
			bottom: 0.05rem;//5px;
			border: 1px solid #14254f;
			pointer-events: none;
			@include sc(sp){
				top: 0.03rem;//3px;
				right: 0.03rem;//3px;
				left: 0.03rem;//3px;
				bottom: 0.03rem;//3px;
			}
		}
	}
	.lead {
		padding: 0px 0px 0.18rem;//0px 0px 18px;
		@include sc(sp){
			height: 0.32rem;//32px;
			margin: 0 auto;
			background: url(/images/bottom_contact_title_top_sp.png) no-repeat 50%;
			background-size: 100%;
			padding: 0;
		}
		img {
			max-width: 100%;
			height: auto;
			@include sc(sp){
				display: none;
			}
		}
	}
	.column {
		@include sc(pc){
			display: flex;
		}
		> * {
			@include sc(pc){
				width: 100%;
			}
			+ * {
				@include sc(pc){
					border-left: 1px solid #14254f;
				}
			}
		}
	}
	dl {
		position: relative;
		padding: 0.25rem 0 0.1rem;//25px 0 10px;
		border-top: 1px solid #14254f;
		@include sc(sp){
			position: relative;
			margin-top: 0.2rem;//20px;
			padding: 0.25rem 0 0;//25px 0 0px;
		}
		img {
			@include sc(sp){
				max-width: 100%;
				height: auto;
			}
		}
		dt {
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			transform: translateY(-50%);
			color: #15254f;
			font-size: 0.19rem;//1.9rem;
			line-height: 1.4;
			font-weight: bold;
			@include sc(sp){
				font-size: 0.15rem;//1.5rem;
			}
			> span {
				position: relative;
				display: inline-block;
				padding: 0 0.3rem;//0 30px;
				background-color: #fff;
				@include sc(sp){
					padding: 0 0.2rem;//0 20px;
				}
				&:before, &:after {
					content: '';
					position: absolute;
					top: 50%;
					width: 0.07rem;//7px;
					height: 0.07rem;//7px;
					margin-top: -0.04rem;//-4px;
					background-color: #15254f;
					transform: rotate(45deg);
				}

				&::before {
					right: 0;
				}

				&::after {
					left: 0;
				}
			}
		}

		dd {
			color: #15254f;
			font-size: 0.13rem;//1.3rem;
			line-height: 1.5;
			@include sc(sp){
				font-size: 0.12rem;//1.2rem;
				padding: 0 0.2rem;//0 20px;
			}
			p {
				margin-bottom: 0.1rem;//10px;
				@include sc(sp){
					margin-bottom: 0.15rem;//15px;
				}
			}
		}

		.btn {
			a {
				display: block;
				width: 1.6rem;//460px;
				max-width: 100%;
				height: 0.46rem;//46px;
				margin: auto;
				padding-top: 0.08rem;//8px;
				background-color: #9f782f;
				color: #fff;
				font-weight: bold;
				text-align: center;
				font-size: 0.2rem;//2rem;
				box-sizing: border-box;
				box-shadow: 0 0.06rem 0.1rem -0.06rem rgba(0, 0, 0, 0.4);//0 6px 10px -6px rgba(0, 0, 0, 0.4);
				@include sc(sp){
					height: auto;
					padding: 0.08rem 0;//8px 0;
					font-size: 0.16rem;//1.6rem;
				}
			}
		}
	}
}*/
/* ウィズハウスが選ばれる30の理由 */
/*.bottomTitle {
	height: 3rem;//300px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-position: 50%;
	background-repeat: no-repeat;
	background-size: cover;
	font-size: 0.38rem;//3.8rem;
	letter-spacing: 0.1em;
	line-height: 1.2;
	font-weight: bold;
	@include sc(sp){
		height: 1.2rem;//120px;
		font-size: 0.2rem;//2rem;
	}
}*/
/* 最短当日から資料お見積りをお届けします（下層） */
/*.bottom_contact_box {
	padding: 1.2rem 0;//120px 0;
	border-top: 1px solid #cfcfcf;
	@include sc(sp){
		padding: 0.7rem 0;// 70px 0;
	}
	.inn {
		position: relative;
		padding: 0.05rem;//5px;
		border: 0.02rem solid #14254f;//2px solid #14254f;
		background-color: #fff;
		text-align: center;
		@include sc(sp){
			padding: 0.03rem;//3px;
		}
		&:before {
			content: '';
			position: absolute;
			top: 5px;
			right: 5px;
			left: 5px;
			bottom: 5px;
			border: 1px solid #14254f;
			pointer-events: none;
			@include sc(sp){
				top: 0.03rem;//3px;
				right: 0.03rem;//3px;
				left: 0.03rem;//3px;
				bottom: 0.03rem;//3px;
			}
		}
	}
	.lead {
		padding: 0.45rem 0.1rem 0.55rem;//45px 10px 55px;
		@include sc(sp){
			max-width: 2.9rem;//290px;
			height: 1.2rem;//120px;
			margin: 0 auto;
			background: url(/images/bottom_contact_title_sp.png) no-repeat 50%;
			background-size: 100%;
			padding: 0;
		}
		img {
			max-width: 100%;
			height: auto;
			@include sc(sp){
				display: none;
			}
		}
	}
	.column {
		@include sc(pc){
			display: flex;
		}
		> * {
			@include sc(pc){
				width: 100%;
			}
			+ * {
				@include sc(pc){
					border-left: 1px solid #14254f;
				}
			}
		}
	}
	dl {
		position: relative;
		padding: 0.55rem 0 0.4rem;//55px 0 40px;
		border-top: 1px solid #14254f;
		@include sc(sp){
			margin-top: 0.1rem;//10px;
			padding: 0.35rem 0 0.3rem;//35px 0 30px;
		}
		img {
			@include sc(sp){
				max-width: 100%;
				height: auto;
			}
		}
		dt {
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			transform: translateY(-50%);
			color: #15254f;
			font-size: 0.19rem;//1.9rem;
			line-height: 1.4;
			font-weight: bold;
			@include sc(sp){
				font-size: 0.15rem;//1.5rem;
			}
			> span {
				position: relative;
				display: inline-block;
				padding: 0 0.3rem;//0 30px;
				background-color: #fff;
				@include sc(sp){
					padding: 0 0.2rem;//0 20px;
				}
				&:before, &:after {
					content: '';
					position: absolute;
					top: 50%;
					width: 0.07rem;//7px;
					height: 0.07rem;//7px;
					margin-top: -0.04rem;//-4px;
					background-color: #15254f;
					transform: rotate(45deg);
				}
				&:before {
					right: 0;
				}
				&:after {
					left: 0;
				}
			}
		}

		dd {
			color: #15254f;
			font-size: 0.13rem;//1.3rem;
			line-height: 1.5;
			@include sc(sp){
				font-size: 0.12rem;//1.2rem;
				padding: 0 0.2rem;//0 20px;
			}
			p {
				margin-bottom: 0.25rem;//25px;
				@include sc(sp){
					margin-bottom: 0.15rem;//15px;
				}
			}
		}

		.btn {
			a {
				display: block;
				width: 3.6rem;//360px;
				max-width: 100%;
				height: 0.46rem;//46px;
				margin: auto;
				padding-top: 0.08rem;//8px;
				background-color: #14254f;
				color: #fff;
				font-weight: bold;
				text-align: center;
				font-size: 0.2rem;//2rem;
				box-sizing: border-box;
				@include sc(sp){
					height: auto;
					padding: 0.08rem 0;//8px 0;
					font-size: 0.16rem;//1.6rem;
				}
			}
		}
	}
}*/
/* ウィズハウスのお役に立つカタログセット無料進呈 */
/*.bottom_catalog_block:not(.renew2022) {
	padding: 1.1rem 0 1.2rem;//110px 0 120px;
	background: #e4e8f5 url(../img/catalog/catalog_bg.jpg) no-repeat 50% 0;
	@include sc(sp){
		padding: 0.5rem 0 0.6rem;//50px 0 60px;
		background-size: 9.5rem;//950px;
	}
	.commonLayout1 {
		* {
			box-sizing: border-box;
		}
	}
	img {
		vertical-align: middle;
		max-width: 100%;
		height: auto;
	}
	h2 {
		margin-bottom: 0.45rem;//45px;
		text-align: center;
		@include sc(sp){
			margin-bottom: 0.25rem;//25px;
		}
		img {
			@include sc(sp){
				width: 3.2rem;//320px;
			}
		}
	}
	.column {
		display: flex;
		justify-content: space-between;
		margin-bottom: 0.6rem;//60px;
		@include sc(sp){
			flex-wrap: wrap;
			margin-bottom: 0.3rem;//30px;
		}
		> * {
			display: flex;
			align-items: center;
			border-radius: 0.05rem;//5px;
			@include sc(pc){
				width: calc((100% - 0.3rem) / 3);//calc((100% - 30px) / 3);
			}
		}
		.list {
			padding: 0.25rem;//25px;
			background-color: rgba(255, 255, 255, 0.45);
			font-size: 0.16rem;//1.6rem;
			@include sc(sp){
				width: 100%;
				margin-bottom: 0.15rem;//15px;
				padding: 0.25rem;//25px;
				font-size: 0.13rem;//1.3rem;
			}
			ul {
				width: 100%;
				li {
					position: relative;
					padding-left: 1.1em;
					+ li {
						margin-top: 1em;
						@include sc(sp){
							margin-top: 0.5em;
						}
					}
					> span {
						position: absolute;
						top: 0;
						left: 0;
						color: #811b1c;
					}
				}
			}
		}
		p {
			justify-content: center;
			padding: 0.25rem 0.1rem;//25px 10px;
			background-color: rgba(68, 64, 100, 0.45);
			text-align: center;
			@include sc(sp){
				width: calc(50% - 0.05rem);//calc(50% - 5px);
				padding: 0.15rem 0.05rem;//15px 5px;
			}
		}
	}
	.img_list {
		display: flex;
		justify-content: space-around;
		align-items: center;
		margin-bottom: 0.3rem;//30px;
	}
	.book {
		@include sc(pc){
			display: flex;
			justify-content: space-around;
			border-left: 1px solid #ada9be;
		}
		dl {
			position: relative;
			color: #15254f;
			line-height: 1.8;
			@include sc(pc){
				width: 100%;
				padding: 0 0.2rem 2.2rem;//0 20px 220px;
				border-right: 1px solid #ada9be;
			}

			dt {
				margin-bottom: 0.12rem;//12px;
				padding: 0.14rem 0;//14px 0;
				background-color: #fff;
				border: 1px solid #14254f;
				border-radius: 0.04rem;//4px;
				text-align: center;
				font-size: 0.16rem;//1.6rem;
				@include sc(sp){
					margin-bottom: 0.1rem;//10px;
					padding: 0.05rem 0;//5px 0;
					font-size: 0.13rem;//1.3rem;
				}
			}
			dd {
				font-size: 0.15rem;//1.5rem;
				@include sc(sp){
					font-size: 0.12rem;//1.2rem;
				}
			}
			.img {
				text-align: center;
				@include sc(pc){
					position: absolute;
					right: 0;
					left: 0;
					bottom: 0;
					padding: 0 0.2rem;//0 20px;
				}
				@include sc(sp){
					margin-top: 0.1rem;//10px;
				}
				img {
					@include sc(sp){
						width: auto;
						height: 1.5rem;//150px;
					}
				}
			}
			+ dl {
				@include sc(sp){
					margin-top: 0.2rem;//20px;
				}
			}
		}
	}
}*/
/* -----------------------------------------------------------------------------

新造共通パーツ221212

----------------------------------------------------------------------------- */
.secondNav li {
  display: inline-flex;
  align-items: center;
}
.secondNav li.current a {
  color: #03888e;
}
.secondNav li.current a:before {
  background-image: url("/common/img/nav_arrow_green.svg");
}
.secondNav a {
  position: relative;
  display: inline-block;
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 2;
  color: #473933;
  padding-left: 0.2rem;
  transition: color 0.3s;
}
.secondNav a:before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(50% - 0.02rem);
  display: inline-block;
  width: 0.07rem;
  height: 0.07rem;
  border-top: 1px solid #473933;
  border-right: 1px solid #473933;
  transform: rotate(45deg);
  box-sizing: border-box;
}
.no-touchevents .secondNav a:hover {
  color: #03888e;
}
.no-touchevents .secondNav a:hover:before {
  border-color: #03888e;
}

.placeLink {
  display: flex;
  flex-wrap: wrap;
}
.placeLink + .placeLink {
  border-top: 1px solid #ebecde;
}
.placeLink li {
  display: inline-flex;
  align-items: center;
  margin-right: 0.3rem;
  padding: 0.1rem 0;
}
.placeLink li.current a {
  color: #03888e;
}
.placeLink li.current a:before {
  background-image: url("/common/img/nav_arrow_green.svg");
}
.placeLink li.label {
  display: inline-flex;
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 2;
  color: #473933;
  padding-left: 0.2rem;
}
.placeLink a {
  position: relative;
  display: inline-flex;
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 2;
  color: #473933;
  padding-left: 0.2rem;
  transition: color 0.3s;
}
.placeLink a:before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(50% - 0.02rem);
  display: inline-block;
  width: 0.07rem;
  height: 0.07rem;
  border-top: 1px solid #473933;
  border-right: 1px solid #473933;
  transform: rotate(45deg);
  box-sizing: border-box;
}
.no-touchevents .placeLink a:hover {
  color: #03888e;
}
.no-touchevents .placeLink a:hover:before {
  border-color: #03888e;
}

.linkList li {
  display: flex;
  align-items: center;
}
.linkList li.current a {
  color: #03888e;
}
.linkList li.current a:before {
  background-image: url("/common/img/nav_arrow_green.svg");
}
.linkList a {
  position: relative;
  display: inline-block;
  font-size: 0.15rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.46;
  color: #7c7574;
  font-feature-settings: "palt";
  padding-left: 0.15rem;
  transition: color 0.3s;
}
.linkList a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.08rem;
  display: inline-block;
  width: 0.06rem;
  height: 0.06rem;
  border-top: 1px solid #473933;
  border-right: 1px solid #473933;
  transform: rotate(45deg);
  box-sizing: border-box;
}
.no-touchevents .linkList a:hover {
  color: #03888e;
}
.no-touchevents .linkList a:hover:before {
  border-color: #03888e;
}

.inlineList {
  display: flex;
  flex-wrap: wrap;
}
.inlineList li {
  position: relative;
  padding-right: 0.15rem;
  margin-right: 0.15rem;
  margin-top: 0.12rem;
}
.inlineList li:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 1px;
  background-color: #bcbcbc;
}
.inlineList li a {
  font-size: 0.14rem;
  letter-spacing: 0;
  line-height: 1;
  color: #635652;
  text-decoration: underline;
}
.no-touchevents .inlineList li a:hover {
  text-decoration: none;
}
.inlineList li.label {
  font-size: 0.14rem;
  letter-spacing: 0;
  line-height: 1;
  color: #635652;
}

/* add  */
.link_nowrap {
  white-space: nowrap;
}

.mainVisual {
  position: relative;
  width: 100%;
  height: 4.4rem;
  padding-top: 1.72rem;
  padding-left: calc(50% - 5.77rem);
  box-sizing: border-box;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .mainVisual {
    height: 65.27vw;
    padding: 21.92vw 0 0;
  }
}
.mainVisual .mv {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  height: 4.4rem;
}
@media screen and (max-width: 640px) {
  .mainVisual .mv {
    left: 0;
    right: 0;
    height: 100%;
  }
}
.mainVisual .contTit {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 3.34rem;
  height: 0.98rem;
  padding-left: 0.38rem;
  box-sizing: border-box;
}
@media screen and (max-width: 640px) {
  .mainVisual .contTit {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 66.27vw;
    height: 18.32vw;
    margin: 0 auto;
    padding-left: 0;
  }
}
.mainVisual .contTit::before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  background-image: url(/img/about/mv_title_bg.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.8;
  z-index: -1;
}
.mainVisual .contTit::after {
  position: absolute;
  content: "";
  display: block;
  top: -0.2rem;
  left: 0.2rem;
  width: 0.36rem;
  height: 0.38rem;
  background-image: url(/img/about/mv_title_deco.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.6;
  z-index: 2;
}
.mainVisual .contTit .title {
  font-family: "hannari";
  font-weight: 400;
  font-size: 0.32rem;
  letter-spacing: 0.18em;
}
@media screen and (max-width: 640px) {
  .mainVisual .contTit .title {
    font-size: 0.23rem;
  }
}

.contHeader {
  width: 100%;
  height: 2rem;
  padding-top: 0.53rem;
  box-sizing: border-box;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .contHeader {
    height: 48.61vw;
    padding-top: 18.84vw;
  }
}
.contHeader .contTit > .title {
  text-align: center;
  font-family: "hannari";
  font-weight: 400;
  font-size: 0.34rem;
  letter-spacing: 0.2em;
  line-height: 1.6;
  color: #473933;
}
@media screen and (max-width: 640px) {
  .contHeader .contTit > .title {
    font-size: 0.25rem;
    letter-spacing: 0.12em;
  }
}
.contHeader .contTit > .title span {
  position: relative;
}
.contHeader .contTit > .title span::before {
  position: absolute;
  content: "";
  display: block;
  top: -0.18rem;
  left: -0.3rem;
  width: 0.52rem;
  height: 0.47rem;
  background-image: url(../img/contheader_title_deco.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.6;
  z-index: -1;
}
@media screen and (max-width: 640px) {
  .contHeader .contTit > .title span::before {
    top: -3.4vw;
    left: -6.2vw;
    width: 10.34vw;
    height: 8.93vw;
  }
}

/*local_commonから移植*/
.mod_title {
  line-height: 1.42;
}
@media screen and (max-width: 640px) {
  .mod_title {
    line-height: 1.5;
  }
}
.mod_title.pointDeco {
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 400 !important;
  position: relative;
  padding-bottom: 0.15rem;
  font-size: 0.28rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 640px) {
  .mod_title.pointDeco {
    font-feature-settings: "palt";
  }
}
@media screen and (max-width: 640px) {
  .mod_title.pointDeco {
    padding-bottom: 0.11rem;
    font-size: 0.26rem;
  }
}
.mod_title.pointDeco::before {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background-color: #d9d2ce;
}
.mod_title.pointDeco span {
  position: relative;
  display: inline-block;
  padding-left: 0.24rem;
}
.mod_title.pointDeco span::before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  bottom: 0;
  margin: auto 0;
  left: 0;
  width: 0.13rem;
  height: 0.12rem;
  background-image: url(../img/mod_title_point.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 640px) {
  .mod_title.pointDeco span::before {
    top: 1.2vw;
    left: 0;
    width: 3.31vw;
    height: 3.11vw;
  }
}

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

新造ヘッダパート221212

----------------------------------------------------------------------------- */
.mod_header {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  right: 0;
  background-color: #fff;
}
.mod_header > .in {
  position: relative;
  z-index: 1000;
  top: 0;
  max-width: 15rem;
  width: 100%;
  height: 0.8rem;
  display: flex;
  align-items: center;
  margin: auto;
  justify-content: center;
}
@media screen and (max-width: 640px) {
  .mod_header > .in {
    height: 0.5rem;
    padding-left: 0.1rem;
    box-sizing: border-box;
  }
}
.mod_header .logo {
  display: block;
  width: 1.52rem;
  height: 0.42rem;
  line-height: 0;
  opacity: 1;
  transition: opacity 0.3s;
}
@media screen and (max-width: 640px) {
  .mod_header .logo {
    width: 1.25rem;
    height: 0.34rem;
  }
}
.mod_header .logo img {
  width: 100%;
  height: auto;
}
.no-touchevents .mod_header .logo:hover {
  opacity: 0.5rem;
}
.mod_header .telBox {
  width: 1.4rem;
  display: block;
  margin-left: 0.2rem;
  text-align: center;
}
.mod_header .telBox .tel_text {
  font-size: 10px;
  font-weight: bold;
  color: #00a33e;
}

@media screen and (max-width: 1280px) {
  .mod_header .telBox .tel_text {
    font-size: 9px;
  }
}

.mod_header .telBox .tel_number {
  font-size: 0.22rem;
  color: #1e899a;
  font-family: "Oswald", sans-serif;
  line-height: 1;
  font-weight: 400;
}

@media screen and (max-width: 1360px) {
  .mod_header .telBox .tel_number {
    font-size: 0.2rem;
  }
}

.mod_header .gNav {
  display: flex;
  align-items: center;
  height: 0.8rem;
  margin-left: 0.3rem;
}
@media screen and (max-width: 640px) {
  .mod_header .gNav {
    display: block;
    height: auto;
    margin: 0;
    margin-top: 0.3rem;
  }
}
.mod_header .gNav > li {
  font-size: 0.15rem;
  color: #473933;
}
.mod_header .gNav > li > a,
.mod_header .gNav > li > p {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 0.8rem;
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.23;
  font-feature-settings: "palt";
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
}
@media screen and (max-width: 640px) {
  .mod_header .gNav > li > a,
  .mod_header .gNav > li > p {
    font-feature-settings: "palt";
  }
}
.mod_header .gNav > li > a .small,
.mod_header .gNav > li > p .small {
  font-size: 0.81em;
}
.mod_header .gNav > li > a:before,
.mod_header .gNav > li > p:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  height: 0;
  opacity: 0;
  transition: height 0.3s, opacity 0.3s;
  background-color: #03888e;
}
.no-touchevents .mod_header .gNav > li > a:hover:before,
.no-touchevents .mod_header .gNav > li > p:hover:before {
  opacity: 1;
  height: 0.05rem;
}
.mod_header .gNav > li + li {
  margin-left: 0.18rem;
}
.mod_header .gNav > li.current > a:before,
.mod_header .gNav > li.current > p:before,
.mod_header .gNav > li.is-active > a:before,
.mod_header .gNav > li.is-active > p:before {
  opacity: 1;
  height: 0.05rem;
}
.mod_header .gNav .inLink.is-active .drawer {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.mod_header .gNav .inLink.is-active .drawer:before {
  top: 0;
}
.mod_header .gNav .inLink.is-active .drawer:after {
  opacity: 1;
}
.mod_header .gNav .drawer {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 0;
  display: block;
  max-width: 15rem;
  width: 100%;
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-0.1rem);
  transition: opacity 0.3s, transform 0.5s;
  /*.pageLoaded & {
  	transition: opacity 0.3s, transform 0.5s;
  }
  .inharCommon & {
  	transition: opacity 0.3s, transform 0.5s;
  }*/
}
.mod_header .gNav .drawer:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0.1rem;
  bottom: 0;
  left: calc(50% - 50vw);
  right: calc(50% - 50vw);
  background-color: #ebe4d9;
  transition: top 0.5s;
}
.mod_header .gNav .drawer:after {
  content: "";
  position: absolute;
  z-index: -1;
  left: calc(50% - 50vw);
  right: calc(50% - 50vw);
  top: 0;
  height: 0.05rem;
  background-color: #daccba;
  pointer-events: none;
  opacity: 0;
  transition: opacity 1s;
}
@media screen and (max-width: 640px) {
  .mod_header .gNav .drawer:after {
    content: none;
  }
}
.mod_header .gNav .secondNav {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  max-width: 9.4rem;
  width: 100%;
  margin-left: 1.7rem;
}
.mod_header .gNav .secondNav > li {
  padding: 0.08rem 0;
  margin: 0 0.25rem;
}
.mod_header .gNav .linkList li {
  display: inline-flex;
  align-items: center;
}
.mod_header .gNav .linkList li.current a {
  color: #03888e;
}
.mod_header .gNav .linkList li.current a:before {
  border-color: #03888e;
}
.mod_header .gNav .linkList a {
  position: relative;
  display: inline-block;
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 2;
  color: #473933;
  padding-left: 0.2rem;
  transition: color 0.3s;
}
@media screen and (max-width: 640px) {
  .mod_header .gNav .linkList a {
    font-size: 0.13rem;
    font-weight: 500;
    padding-left: 0.12rem;
  }
}
.mod_header .gNav .linkList a:before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(50% - 0.02rem);
  display: inline-block;
  width: 0.07rem;
  height: 0.07rem;
  border-top: 1px solid #473933;
  border-right: 1px solid #473933;
  transform: rotate(45deg);
  box-sizing: border-box;
}
@media screen and (max-width: 640px) {
  .mod_header .gNav .linkList a:before {
    top: calc(50% - 0.03rem);
    width: 0.06rem;
    height: 0.06rem;
  }
}
.no-touchevents .mod_header .gNav .linkList a:hover {
  color: #03888e;
}
.no-touchevents .mod_header .gNav .linkList a:hover:before {
  border-color: #03888e;
}
.mod_header .gNav .tabWrap {
  position: relative;
}
.mod_header .gNav .tabWrap .tabMenu {
  width: 90%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  height: 0.5rem;
  padding-bottom: 0.3rem;
}
.mod_header .gNav .tabWrap .tabMenu > li + li {
  margin-left: 0.3rem;
}
.mod_header .gNav .tabWrap .tabBtn {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  width: 2.5rem;
  height: 0.5rem;
  padding: 0 0.2rem;
  box-sizing: border-box;
  border-radius: 0.1rem;
  background-color: #fff;
  box-shadow: 0.05rem 0.05rem 0 #d9cbb9;
  font-size: 0.16rem;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 700;
  color: #473933;
  transition: background-color 0.3s, color 0.3s;
}
.mod_header .gNav .tabWrap .tabBtn:after {
  opacity: 0;
  bottom: -0.05rem;
  transition: opacity 0.3s, bottom 0.3s;
}
.mod_header .gNav .tabWrap .tabBtn > span {
  position: relative;
  display: inline-flex;
  width: 100%;
}
.mod_header .gNav .tabWrap .tabBtn > span:before,
.mod_header .gNav .tabWrap .tabBtn > span:after {
  position: absolute;
  right: 0;
  top: calc(50% - 1px);
  content: "";
  height: 2px;
  width: 0.16rem;
  background-color: #473933;
  transition: transform 0.3s, background 0.3s;
}
.mod_header .gNav .tabWrap .tabBtn > span:after {
  transform: rotate(90deg);
}
.mod_header .gNav .tabWrap .tabBtn.active {
  background-color: #03888e;
  color: #fff;
}
.mod_header .gNav .tabWrap .tabBtn.active:after {
  content: "";
  position: absolute;
  bottom: -0.12rem;
  left: calc(50% - 0.1rem);
  z-index: 0;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.14rem 0.1rem 0 0.1rem;
  border-color: #03888e transparent transparent transparent;
  opacity: 1;
}
.mod_header .gNav .tabWrap .tabBtn.active span:before,
.mod_header .gNav .tabWrap .tabBtn.active span:after {
  background-color: #fff;
}
.mod_header .gNav .tabWrap .tabBtn.active span:after {
  transform: rotate(0);
}
.no-touchevents .mod_header .gNav .tabWrap .tabBtn:hover {
  background-color: #03888e;
  color: #fff;
}
.no-touchevents .mod_header .gNav .tabWrap .tabBtn:hover span:before,
.no-touchevents .mod_header .gNav .tabWrap .tabBtn:hover span:after {
  background-color: #fff;
}
.no-touchevents .mod_header .gNav .tabWrap .tabBtn:hover span:after {
  transform: rotate(0);
}
.mod_header .gNav .tabWrap .tabDetail {
  display: none;
  width: 90%;
  background-color: #fff;
  padding: 0.2rem 0.3rem;
  box-sizing: border-box;
  margin: 0 auto;
}
.mod_header .gNav .tabWrap .tabDetail.show {
  display: block;
}
@media screen and (max-width: 640px) {
  .mod_header .gNav > .accordion > .trigger {
    position: relative;
    display: flex;
    align-items: center;
    height: 0.45rem;
    font-family: source-han-serif-japanese, serif;
    font-style: normal;
    font-weight: 600;
    font-size: 0.15rem;
    letter-spacing: 0.11em;
    line-height: 1.73;
    color: #473933;
    background-image: url("/common/img/menu_split_line.svg");
    background-position: center bottom;
    background-size: auto 2px;
    background-repeat: repeat-x;
  }

  .mod_header .gNav > .accordion_top > .trigger_top {
    position: relative;
    display: flex;
    align-items: center;
    height: 0.45rem;
    font-family: source-han-serif-japanese, serif;
    font-style: normal;
    font-weight: 600;
    font-size: 0.15rem;
    letter-spacing: 0.11em;
    line-height: 1.73;
    color: #473933;
    background-image: url("/common/img/menu_split_line.svg");
    background-position: center bottom;
    background-size: auto 2px;
    background-repeat: repeat-x;
  }
}
@media screen and (max-width: 640px) and (max-width: 640px) {
  .mod_header .gNav > .accordion > .trigger {
    font-feature-settings: "palt";
  }
}
@media screen and (max-width: 640px) {
  .mod_header .gNav > .accordion > .trigger:after {
    content: "";
    position: absolute;
    right: 0.1rem;
    top: calc(50% - 0.05rem);
    display: block;
    width: 0.1rem;
    height: 0.1rem;
    background-image: url("/common/img/menu_toggle_arrow02.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    transition: transform 0.3s;
  }
  .mod_header .gNav > .accordion > .trigger.open:after {
    transform: rotate(180deg);
  }
  .mod_header .gNav > .accordion > .detail {
    margin-top: 0.1rem;
    background-color: #fff;
    border-radius: 0.07rem;
    padding: 0.1rem;
    box-sizing: border-box;
  }
  .mod_header .gNav > .accordion .linkList {
    display: flex;
    flex-wrap: wrap;
  }
  .mod_header .gNav > .accordion .linkList > li {
    width: 50%;
    margin: 0.05rem 0;
  }
  .mod_header .gNav > .accordion .linkList > li.wide {
    width: 100%;
  }
  .mod_header .gNav > .accordion .linkList > li.label {
    padding-left: 0.1rem;
    font-size: 0.13rem;
    letter-spacing: 0.08em;
    color: #473933;
    box-sizing: border-box;
  }
  .mod_header .gNav > .accordion .inLink .trigger {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 0.42rem;
    padding: 0 0.15rem;
    background-color: #03888e;
    border-radius: 0.07rem;
    box-sizing: border-box;
  }
  .mod_header .gNav > .accordion .inLink .trigger:before {
    content: "";
    position: absolute;
    right: 0.1rem;
    top: calc(50% - 0.11rem);
    display: block;
    width: 0.22rem;
    height: 0.22rem;
    background-color: #fff;
    border-radius: 50%;
  }
  .mod_header .gNav > .accordion .inLink .trigger.open span:after {
    transform: rotate(0deg);
  }
  .mod_header .gNav > .accordion .inLink .trigger span {
    font-family: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic,
      "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN",
      "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka",
      sans-serif;
    font-style: normal;
    font-weight: 700;
    font-feature-settings: "palt";
    font-size: 0.13rem;
    letter-spacing: 0.08em;
    line-height: 1;
    color: #fff;
  }
  .mod_header .gNav > .accordion .inLink .trigger span:before,
  .mod_header .gNav > .accordion .inLink .trigger span:after {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    right: 0.16rem;
    height: 2px;
    width: 0.1rem;
    background-color: #03888e;
    transition: transform 0.3s;
  }
  .mod_header .gNav > .accordion .inLink .trigger span:after {
    transform: rotate(90deg);
  }
  .mod_header .gNav > .accordion .inLink .detail {
    margin-top: 0.1rem;
  }
  .mod_header .gNav > .accordion .inLink + .inLink {
    margin-top: 0.1rem;
  }
}
@media screen and (max-width: 640px) {
  .mod_header .spDrawer {
    background-color: #ebe4d9;
    position: fixed;
    top: 0.5rem;
    left: 0;
    width: 100%;
    bottom: 0;
    opacity: 0;
    z-index: 1000;
    pointer-events: none;
    overflow-y: auto;
    transform: translateX(100%);
  }
  .pageLoaded .mod_header .spDrawer {
    transition: opacity 0.4s, transform 0.7s;
  }
  .inharCommon .mod_header .spDrawer {
    transition: opacity 0.4s, transform 0.7s;
  }
  .spmenuopen .mod_header .spDrawer {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
  }
  .mod_header .spDrawer .in {
    width: calc(100% - 0.6rem);
    margin: auto;
    padding-top: 0.15rem;
    padding-bottom: 0.4rem;
    -webkit-overflow-scrolling: touch;
  }
}
.mod_header .menuBtn {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1100;
  width: 0.5rem;
  height: 0.5rem;
  background-image: url("/common/img/menubtn_bg.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
.mod_header .menuBtn .open .bar {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 0.2rem;
  height: 0.02rem;
  margin: auto;
  background-color: #fff;
  transition: 0.3s;
}
.mod_header .menuBtn .open .bar:nth-child(1) {
  top: -0.12rem;
}
.mod_header .menuBtn .open .bar:nth-child(3) {
  bottom: -0.12rem;
}
.mod_header .menuBtn .close .bar {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0.02rem;
  margin: auto;
  background-color: #fff;
  transition: 0.3s;
}
.mod_header .menuBtn .close .bar:nth-child(1) {
  transform: rotate(45deg);
}
.mod_header .menuBtn .close .bar:nth-child(2) {
  transform: rotate(-45deg);
}
.spmenuopen .mod_header .menuBtn .open .bar {
  width: 0;
}
.spmenuopen .mod_header .menuBtn .close .bar {
  width: 0.24rem;
}
@media screen and (max-width: 640px) {
  .mod_header .actionLink {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (max-width: 640px) {
  .mod_header .actionLink .btn01 {
    width: 100% !important;
    font-family: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic,
      "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN",
      "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka",
      sans-serif;
    font-style: normal;
    font-weight: 500;
    font-feature-settings: "palt";
    font-size: 0.15rem;
    line-height: 1.26;
    margin: 0;
    margin-top: 0.1rem;
  }
  .mod_header .actionLink .btn01 span {
    position: relative;
    top: 0.02rem;
    padding: 0 0.35rem;
  }
  .mod_header .actionLink .btn01 span:before {
    content: "";
    position: absolute;
    left: 0;
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
  }
  .mod_header .actionLink .btn01.tel span:before {
    top: calc(50% - 0.14rem);
    width: 0.25rem;
    height: 0.25rem;
    background-image: url("/common/img/btn_ico_tel.svg");
  }
  .mod_header .actionLink .btn01.inquiry span:before {
    top: calc(50% - 0.12rem);
    width: 0.3rem;
    height: 0.25rem;
    background-image: url("/common/img/btn_ico_inquiry.svg");
  }
  .mod_header .actionLink .btn01.flower {
    width: calc((100% - 0.1rem) / 2);
    justify-content: center;
  }
  .mod_header .actionLink .btn01.flower span {
    position: relative;
    top: 0;
    padding: 0 0.1rem;
  }
  .mod_header .actionLink .btn01.flower span:before {
    content: none;
  }
  .mod_header .actionLink .btn01.today {
    width: calc((100% - 0.1rem) / 2);
    justify-content: flex-start;
  }
  .mod_header .actionLink .btn01.today span {
    position: relative;
    top: 0;
    padding: 0 0.1rem;
  }
  .mod_header .actionLink .btn01.today span:before {
    content: none;
  }
}
@media screen and (max-width: 640px) {
  .mod_header .snsLink {
    display: flex;
    margin-top: 0.15rem;
  }
  .mod_header .snsLink a {
    display: block;
    width: 0.3rem;
    height: 0.3rem;
    line-height: 0;
  }
  .mod_header .snsLink a img {
    width: 100%;
    height: auto;
  }
  .mod_header .snsLink a + a {
    margin-left: 0.08rem;
  }
}

.pankuzuWrap {
  background-color: #f3efec;
}

.pankuzu {
  display: flex;
  align-items: center;
  max-width: 12.6rem;
  margin: auto;
  padding: 0.25rem 0;
  white-space: nowrap;
}
@media screen and (max-width: 640px) {
  .pankuzu {
    max-width: calc(100% - 0.3rem);
    padding: 0.15rem 0;
    overflow-x: scroll;
  }
}
.pankuzu li {
  position: relative;
  font-size: 0.15rem;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #473933;
  white-space: nowrap;
}
@media screen and (max-width: 640px) {
  .pankuzu li {
    font-size: 0.14rem;
  }
}
.pankuzu li + li {
  padding-left: 0.2rem;
  margin-left: 0.1rem;
}
.pankuzu li + li:before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(50% - 0.05rem);
  display: block;
  width: 0.07rem;
  height: 0.07rem;
  border-top: 1px solid #473933;
  border-right: 1px solid #473933;
  transform: rotate(45deg);
  /*background-image: url('/common/img/nav_arrow_brown.svg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;*/
}
.no-touchevents .pankuzu a:hover {
  text-decoration: underline;
}

/* 右サイドバナー */
.estimation {
  position: fixed;
  top: 1.5rem;
  right: 0;
  z-index: 1000;
}
@media screen and (max-width: 640px) {
  .estimation {
    display: none !important;
  }
}
.estimation img {
  transition: 0.3s;
}
.estimation.sideInquiry {
  top: 3.5rem;
}
.estimation.sideGt,
.estimation.sideLinkbtn01 {
  top: 5.03rem;
}

/* 左サイド・供花バナー */
.estimation_left {
  position: fixed;
  top: 2rem;
  left: 0;
  z-index: 999;
}
@media screen and (max-width: 640px) {
  .estimation_left {
    display: none;
  }
}
.estimation_left.recruit {
  top: 4rem;
}

/* MV内ペタン */
.link_gt {
  width: 15%;
  position: absolute;
  z-index: 100;
  bottom: 0.4rem;
  left: 0.8rem;
}
@media screen and (max-width: 640px) {
  .link_gt {
    display: none;
  }
}
.link_gt img {
  max-width: 100%;
  height: auto;
}

.sideBtn {
  position: fixed;
  right: 0;
  z-index: 1000;
  width: 0.6rem;
  line-height: 0;
  transition: opacity 0.3s;
  /*@include sc(tab) {
  	transform: scale(0.85);
  	transform-origin: top right;
  }*/
}
@media screen and (max-width: 640px) {
  .sideBtn {
    display: none;
    pointer-events: none;
  }
}
.sideBtn img {
  width: 100%;
  height: auto;
}
.no-touchevents .sideBtn:hover {
  opacity: 0.7;
}
.sideBtn.estimation {
  top: 1.5rem;
}
.sideBtn.contact {
  top: 3.53rem;
  /*@include sc(tab) {
  	top: 320px;
  }*/
}
.sideBtn.kyouka {
  top: 5.05rem;
  /*@include sc(tab) {
  	top: 450px;
  }*/
}

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

新造フッタパート221212

----------------------------------------------------------------------------- */
.mod_footer {
  background-color: #fff;
  margin-bottom: 0.9rem;
}
@media screen and (max-width: 640px) {
  .mod_footer {
    margin-bottom: 0.55rem;
  }
}
.mod_footer > .in {
  position: relative;
  display: flex;
  justify-content: space-between;
  max-width: 12rem;
  width: 100%;
  margin: auto;
  padding: 0.6rem 0;
}
@media screen and (max-width: 640px) {
  .mod_footer > .in {
    display: block;
    padding-top: 0.35rem;
    padding-bottom: 0;
  }
}
.mod_footer .col01 {
  max-width: 3.2rem;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .mod_footer .col01 {
    max-width: 100%;
    width: calc(100% - 0.3rem);
    margin: auto;
  }
}
.mod_footer .col02 {
  max-width: 8rem;
  width: 100%;
}
.mod_footer .row01 {
  display: flex;
}
.mod_footer .row01 .linkListBox {
  width: 1.6rem;
}
.mod_footer .row01 .linkListBox > dt {
  height: 0.5rem;
}
.mod_footer .row02 {
  display: block;
  margin-top: 0.3rem;
}
.mod_footer .row03 {
  display: flex;
  justify-content: space-between;
  margin-top: 0.2rem;
}
.mod_footer .row03 .linkListBox {
  display: flex;
  align-items: center;
}
.mod_footer .row03 .linkListBox > dt {
  width: 1.15rem;
}
.mod_footer .row03 .snsLink {
  margin-top: 0;
}
.mod_footer .copyright {
  display: flex;
  align-items: center;
  height: 0.42rem;
  width: 100%;
  background-color: #7a716e;
}
@media screen and (max-width: 640px) {
  .mod_footer .copyright {
    height: 0.35rem;
  }
}
.mod_footer .copyright > span {
  display: block;
  max-width: 12rem;
  width: 100%;
  margin: auto;
  font-size: 0.12rem;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #fff;
  text-align: right;
}
@media screen and (max-width: 640px) {
  .mod_footer .copyright > span {
    font-size: 0.1rem;
    text-align: center;
  }
}
.mod_footer .logoBox {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 1.7rem;
  border: 1px solid #ebe4d9;
  box-sizing: border-box;
  transition: opacity 0.3s;
}
@media screen and (max-width: 640px) {
  .mod_footer .logoBox {
    display: block;
    text-align: center;
    width: 100%;
    height: auto;
    border: none;
  }
}
.no-touchevents .mod_footer .logoBox:hover {
  opacity: 0.5;
}
.mod_footer .logoBox .logoLink {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.mod_footer .logoBox .logo {
  display: block;
  line-height: 0;
  width: 2.52rem;
  height: 0.68rem;
  opacity: 1;
}
@media screen and (max-width: 640px) {
  .mod_footer .logoBox .logo {
    width: 69.44vw;
    height: auto;
    margin: auto;
  }
}
.mod_footer .logoBox .logo img {
  width: 100%;
  height: auto;
}
.mod_footer .logoBox .catch {
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 400;
  font-size: 0.15rem;
  letter-spacing: 0;
  line-height: 1.58;
  color: #7a716e;
  text-align: center;
  margin-top: 0.05rem;
}
@media screen and (max-width: 640px) {
  .mod_footer .logoBox .catch {
    font-feature-settings: "palt";
  }
}
@media screen and (max-width: 640px) {
  .mod_footer .logoBox .catch {
    font-size: 0.11rem;
  }
}
.mod_footer .contactBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 2.3rem;
  margin-top: 0.2rem;
  background-color: #ebe4d9;
}
@media screen and (max-width: 640px) {
  .mod_footer .contactBox {
    display: block;
    width: 100%;
    height: auto;
    background-color: #fff;
  }
}
.mod_footer .contactBox .telBox {
  position: relative;
  width: 2.6rem;
  height: 0.57rem;
  text-align: center;
  margin-bottom: 0.1rem;
}
@media screen and (max-width: 640px) {
  .mod_footer .contactBox .telBox {
    width: 2.98rem;
    height: 0.8rem;
    margin: auto;
  }
}
.mod_footer .contactBox .telBox .tel_text {
  font-size: 15px;
  font-weight: 600;
  color: #00a33e;
}
@media screen and (max-width: 640px) {
  .mod_footer .contactBox .telBox .tel_text {
    font-size: 21px;
    font-weight: 500;
    color: #00a33e;
  }
}
.mod_footer .contactBox .telBox .mod_footer .contactBox .telBox .tel_number {
  font-size: 36px;
  color: #1e899a;
  font-family: "Oswald", sans-serif;
  line-height: 1;
  font-weight: 400;
}
@media screen and (max-width: 640px) {
  .mod_footer .contactBox .telBox .mod_footer .contactBox .telBox .tel_number {
    font-size: 42px;
    color: #1e899a;
    font-family: "Oswald", sans-serif;
    line-height: 1.1;
    font-weight: 400;
  }
}
.mod_footer .contactBox .catch {
  position: relative;
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 600;
  font-size: 0.13rem;
  letter-spacing: 0.05em;
  color: #473933;
  font-feature-settings: "palt";
  margin-top: 0.15rem;
}
@media screen and (max-width: 640px) {
  .mod_footer .contactBox .catch {
    font-feature-settings: "palt";
  }
}
.mod_footer .contactBox .btn01 {
  width: 2.6rem;
  height: 0.7rem;
  margin: 0;
  margin-top: 0.1rem;
}
@media screen and (max-width: 640px) {
  .mod_footer .contactBox .btn01 {
    width: 100%;
    height: 0.75rem;
    margin-top: 0.2rem;
  }
}
.mod_footer .contactBox .btn01 span {
  display: inline-block;
  font-size: 0.1rem;
  letter-spacing: 0;
  height: 0;
  padding: 0;
  padding-top: 0.5rem;
  margin-right: 0.2rem;
  overflow: hidden;
  background-image: url("../img/footer_btntxt.png");
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 640px) {
  .mod_footer .contactBox .btn01 span {
    width: 100%;
    margin-right: 0;
    padding-top: 0.75rem;
    background-image: url("../img/footer_btntxt_sp.png");
  }
}
@media screen and (max-width: 640px) {
  .mod_footer .contactBox .btn01.arrow:before {
    content: none;
  }
}
@media screen and (max-width: 640px) {
  .mod_footer .contactBox .btn01.tel {
    background-color: #00a33e;
  }
}
@media screen and (max-width: 640px) {
  .mod_footer .contactBox .btn01.tel span {
    background-image: url("../img/footer_telbtntxt_sp.png");
  }
}
@media screen and (max-width: 640px) {
  .mod_footer .contactBox .btn01.yellow span {
    padding-left: 0.32rem;
    padding-right: 0.1rem;
  }
  .mod_footer .contactBox .btn01.yellow span:before {
    top: calc(50% - 0.11rem);
    background-image: url("/common/img/btn_ico_inquiry.svg");
    width: 0.28rem;
    height: 0.24rem;
  }
}
@media screen and (max-width: 640px) {
  .mod_footer .contactBox .btn01.yellow span em {
    background-color: #fcee21;
    color: #473933;
  }
}
.mod_footer .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 0.36rem;
  background-color: #fff;
  border: 1px solid #e5e5e5;
  box-sizing: border-box;
  border-radius: 0.18rem;
  margin: auto;
  margin-top: 0.2rem;
  transition: background-color 0.3s, border 0.3s;
}
.no-touchevents .mod_footer .btn:hover {
  background-color: #473933;
  border-color: #473933;
}
.no-touchevents .mod_footer .btn:hover span {
  color: #fff;
}
.mod_footer .btn span {
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  color: #473933;
  transition: color 0.3s;
}
.mod_footer .snsLink {
  display: flex;
  justify-content: center;
  margin-top: 0.5rem;
}
@media screen and (max-width: 640px) {
  .mod_footer .snsLink {
    margin-top: 0.25rem;
  }
}
.mod_footer .snsLink a {
  display: block;
  width: 0.3rem;
  height: 0.3rem;
  line-height: 0;
  opacity: 1;
  transition: opacity 0.3s;
}
@media screen and (max-width: 640px) {
  .mod_footer .snsLink a {
    width: 0.35rem;
    height: 0.35rem;
  }
}
.mod_footer .snsLink a img {
  width: 100%;
  height: auto;
}
.mod_footer .snsLink a + a {
  margin-left: 0.06rem;
}
@media screen and (max-width: 640px) {
  .mod_footer .snsLink a + a {
    margin-left: 0.25rem;
  }
}
.no-touchevents .mod_footer .snsLink a:hover {
  opacity: 0.5;
}
.mod_footer .coopBox {
  width: 2.3rem;
  height: 0.3rem;
  margin: auto;
  margin-top: 0.2rem;
}
@media screen and (max-width: 640px) {
  .mod_footer .coopBox {
    position: relative;
    width: 100%;
    height: 0.3rem;
    margin-top: 0.25rem;
    padding-top: 0.15rem;
    text-align: center;
  }
  .mod_footer .coopBox:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background-color: rgba(122, 113, 110, 0.5);
  }
}
.mod_footer .coopBox img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 640px) {
  .mod_footer .coopBox img {
    width: auto;
    height: 100%;
  }
}
.mod_footer .linkListBox > dt,
.mod_footer .linkListBox > li {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.375;
  color: #473933;
  padding-left: 0.14rem;
}
.mod_footer .linkListBox > dt:before,
.mod_footer .linkListBox > li:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0.02rem;
  background-color: #78a98c;
}
.mod_footer .linkListBox > li {
  padding-top: 0.01rem;
  padding-bottom: 0.03rem;
}
.mod_footer .linkListBox > dd .linkList {
  margin-top: 0.2rem;
}
.mod_footer .linkListBox > dd .linkList li {
  display: flex;
}
.mod_footer .linkListBox > dd .linkList li + li {
  margin-top: 0.15rem;
}
.mod_footer .placeBox {
  padding: 0 0.2rem 0.2rem 0.2rem;
  border: 1px solid #ebe4d9;
  box-sizing: border-box;
}
.mod_footer .placeBox > dt {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.375;
  color: #473933;
  padding-left: 0.14rem;
}
.mod_footer .placeBox > dt:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0.02rem;
  background-color: #78a98c;
}
.mod_footer .placeBox > dd {
  margin-top: 0.1rem;
}
.mod_footer .placeBox .placeList {
  display: flex;
}
.mod_footer .placeBox .placeList > dt {
  width: 1.4rem;
  font-size: 0.15rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.46;
  color: #473933;
  padding-top: 0.1rem;
}
.mod_footer .placeBox .placeList > dt span {
  position: relative;
  padding-right: 0.3rem;
}
.mod_footer .placeBox .placeList > dt span:before,
.mod_footer .placeBox .placeList > dt span:after {
  content: "";
  position: absolute;
  top: calc(50% - 0.04rem);
  display: block;
  width: 0.08rem;
  height: 0.08rem;
  border-top: 1px solid #473933;
  border-right: 1px solid #473933;
  transform: rotate(45deg);
}
.mod_footer .placeBox .placeList > dt span:before {
  right: 0.08rem;
}
.mod_footer .placeBox .placeList > dt span:after {
  right: 0;
}
.mod_footer .placeBox .placeList > dd {
  width: calc(100% - 1.4rem);
}
.mod_footer .placeBox .placeList.area {
  padding-top: 0.1rem;
  margin-top: 0.15rem;
  border-top: 1px solid #ebe4d9;
}
.mod_footer .placeBox + .linkListBox {
  margin-top: 0.2rem;
}

.pageTopBtn {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  background-color: #03888e;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 2000;
  opacity: 0;
  pointer-events: none;
  transition: background-color 0.3s, opacity 0.3s;
}
@media screen and (max-width: 640px) {
  .pageTopBtn {
    width: 0.35rem;
    height: 0.35rem;
    right: 0.05rem;
    bottom: 0.65rem;
    margin-bottom: env(safe-area-inset-bottom);
  }
}
.pageTopBtn span {
  display: block;
  margin: auto;
  width: 0.13rem;
  height: 0.13rem;
  border-left: 1px solid #fff;
  border-top: 1px solid #fff;
  position: absolute;
  top: 0.1rem;
  left: 0;
  right: 0;
  bottom: 0;
  transform: rotate(45deg);
  transition: top 0.3s;
}
.pageTopBtn:hover {
  background-color: rgba(3, 136, 142, 0.7);
}
.pageTopBtn:hover span {
  top: 0.05rem;
}
.spmenuopen .pageTopBtn {
  opacity: 0 !important;
  pointer-events: none;
}
.pageTopBtn.active {
  opacity: 1;
  pointer-events: auto;
}

.pagetopbtnInview {
  position: absolute;
  top: 160vh;
  bottom: 0;
  pointer-events: none;
  width: 0;
}
@media screen and (max-width: 640px) {
  .pagetopbtnInview {
    top: 180vh;
  }
}

.mod_cta {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: #fff;
  transform: translateY(100%);
  transition: transform 1s;
  pointer-events: none;
  box-shadow: 0 0 0.1rem rgba(71, 57, 51, 0.1);
}
@media screen and (max-width: 640px) {
  .mod_cta {
    margin-bottom: env(safe-area-inset-bottom);
  }
}
.mod_cta.active {
  transform: none;
  pointer-events: auto;
}
.spmenuopen .mod_cta {
  transform: translateY(100%) !important;
  pointer-events: none !important;
}
.mod_cta > .in {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  max-width: 11rem;
  width: 100%;
  margin: auto;
  height: 0.9rem;
}
@media screen and (max-width: 640px) {
  .mod_cta > .in {
    height: 0.55rem;
  }
}
.mod_cta .catchBox {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  height: 0.8rem;
  margin-right: 0.25rem;
}
.mod_cta .catchBox .catch {
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 600;
  font-size: 0.23rem;
  letter-spacing: 0.01em;
  line-height: 1;
  color: #03888e;
  font-feature-settings: "palt";
}
@media screen and (max-width: 640px) {
  .mod_cta .catchBox .catch {
    font-feature-settings: "palt";
  }
}
.mod_cta .catchBox .catch strong {
  position: relative;
  top: 0.02rem;
  font-size: 0.29rem;
}
.mod_cta .catchBox .note {
  font-size: 0.13rem;
  letter-spacing: 0;
  line-height: 1;
  margin-top: 0.1rem;
}
.mod_cta .btnBox {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 0.8rem;
  border-radius: 0 0 0.12rem 0.12rem;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 640px) {
  .mod_cta .btnBox {
    height: 0.55rem;
    border-radius: 0;
  }
}
.mod_cta .btnBox + .btnBox {
  margin-left: 0.06rem;
}
@media screen and (max-width: 640px) {
  .mod_cta .btnBox + .btnBox {
    margin: 0;
  }
}
.mod_cta .btnBox .wrapLink {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(255, 255, 255, 0);
  transition: background-color 0.3s;
}
.no-touchevents .mod_cta .btnBox .wrapLink:hover {
  background-color: rgba(255, 255, 255, 0.5);
}
.mod_cta .btnBox .vanish {
  display: block;
  line-height: 0;
  height: 0;
  overflow: hidden;
}
.mod_cta .btnBox.today {
  width: 1.6rem;
  background-color: #1e899b;
}
.mod_cta .btnBox.today span {
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 400;
  font-size: 0.21rem;
  letter-spacing: -0.02em;
  line-height: 1.47;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .mod_cta .btnBox.today span {
    font-feature-settings: "palt";
  }
}
.mod_cta .btnBox.inquiry {
  width: 2.58rem;
  background-color: #f4bb1f;
  background-image: url("/common/img/mod_cta_inquiry_bg.png");
}
@media screen and (max-width: 640px) {
  .mod_cta .btnBox.inquiry {
    width: 50%;
    background-image: url("/common/img/mod_cta_inquiry_bg_sp.png");
  }
}
.mod_cta .btnBox.tel {
  position: relative;
  width: 3rem;
  background-color: #00a33e;
  background-image: url("/common/img/mod_cta_tel_bg_new.png");
}
@media screen and (max-width: 640px) {
  .mod_cta .btnBox.tel {
    width: 50%;
    background-image: url("/common/img/mod_cta_tel_bg_sp.png");
  }
}
.mod_cta .btnBox.tel .tel_number {
  position: absolute;
  top: 24px;
  left: 18px;
  font-size: 36px;
  color: #fff;
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  letter-spacing: 1px;
}

@media screen and (max-width: 1440px) {
  .mod_cta .btnBox.tel .tel_number {
    position: absolute;
    top: 20px;
    left: 14px;
    font-size: 32px;
    color: #fff;
    font-family: "Oswald", sans-serif;
    font-weight: 300;
    letter-spacing: 1px;
  }
}
@media screen and (max-width: 1440px) and (max-width: 640px) {
  .mod_cta .btnBox.tel .tel_number {
    display: none;
  }
}
@media screen and (max-width: 1280px) {
  .mod_cta .btnBox.tel .tel_number {
    position: absolute;
    top: 18px;
    left: 13px;
    font-size: 30px;
    color: #fff;
    font-family: "Oswald", sans-serif;
    font-weight: 300;
    letter-spacing: 1px;
  }
}
@media screen and (max-width: 1280px) and (max-width: 640px) {
  .mod_cta .btnBox.tel .tel_number {
    display: none;
  }
}
.mod_inquiry {
  position: relative;
  padding: 0.9rem 0 0.9rem;
  background-color: #ebe4d9;
  /*&:before {
  	content: '';
  	position: absolute;
  	top: -0.52rem;//-52px;
  	left: 0;
  	right: 0;
  	display: block;
  	height: 0.52rem;//52px;
  	background-image: url('../img/footer_upper_deco.png');
  	background-position:  calc(50% + 0.64rem) center;
  	background-repeat: repeat-x;
  	background-size: auto 100%;
  	@include sc(sp){
  		top: -0.2rem;//-20px;
  		height: 0.2rem;//20px;
  		background-size: auto 100%;
  		background-position: center center;
  		background-image: url('../img/footer_upper_deco_sp.png');
  	}
  }*/
}
@media screen and (max-width: 640px) {
  .mod_inquiry {
    padding: 0.4rem 0 0.4rem;
  }
}
.mod_inquiry > .in {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  max-width: 9.8rem;
  width: 100%;
  height: 4.8rem;
  margin: auto;
  background-color: #ebf3f3;
  box-sizing: border-box;
  border-radius: 0.35rem;
  padding-top: 0.5rem;
  padding-bottom: 0.3rem;
}
@media screen and (max-width: 640px) {
  .mod_inquiry > .in {
    display: block;
    width: calc(100% - 0.3rem);
    height: auto;
    padding: 0.15rem;
    padding-top: 0.25rem;
    border-radius: 0.2rem;
  }
}
.mod_inquiry .titBox {
  position: relative;
  top: -0.05rem;
  max-width: 4.3rem;
  width: 100%;
  margin-right: 0.1rem;
}
@media screen and (max-width: 640px) {
  .mod_inquiry .titBox {
    text-align: center;
    max-width: 100%;
    margin: auto;
  }
}
.mod_inquiry .titBox .sub {
  font-family: "hannari";
  font-weight: 400;
  font-size: 0.24rem;
  letter-spacing: 0.09em;
  line-height: 1.41;
  color: #03888e;
  white-space: nowrap;
}
@media screen and (max-width: 640px) {
  .mod_inquiry .titBox .sub {
    font-size: 0.19rem;
  }
}
.mod_inquiry .titBox .title {
  display: flex;
  align-items: center;
  font-family: "hannari";
  font-weight: 400;
  font-size: 0.4rem;
  letter-spacing: 0.065rem;
  line-height: 1;
  color: #03888e;
  white-space: nowrap;
  margin-top: 0.15rem;
}
@media screen and (max-width: 640px) {
  .mod_inquiry .titBox .title {
    justify-content: center;
    font-size: 0.3rem;
    letter-spacing: 0.06em;
    margin-top: 0.1rem;
  }
}
.mod_inquiry .titBox .title > span {
  position: relative;
  top: 0.05rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.44rem;
  height: 0.44rem;
  border-radius: 0.06rem;
  padding-bottom: 0.05rem;
  box-sizing: border-box;
  background-color: #03888e;
  font-family: "hannari";
  font-weight: 400;
  font-size: 0.31rem;
  letter-spacing: 0;
  line-height: 1;
  color: #fff;
}
@media screen and (max-width: 640px) {
  .mod_inquiry .titBox .title > span {
    font-size: 0.14rem;
    width: 0.22rem;
    height: 0.22rem;
    border-radius: 0.03rem;
    padding-bottom: 0.02rem;
  }
}
.mod_inquiry .titBox .title > span + span {
  margin-left: 0.05rem;
  margin-right: 0.1rem;
}
.mod_inquiry .catch {
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 600;
  font-size: 0.16rem;
  letter-spacing: 0.05em;
  line-height: 2;
  color: #473933;
}
@media screen and (max-width: 640px) {
  .mod_inquiry .catch {
    font-feature-settings: "palt";
  }
}
.mod_inquiry .pointBox {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 8.44rem;
  height: 2rem;
  margin-top: 0.3rem;
  padding-left: 0.25rem;
  background-color: #dae8e9;
  border-radius: 0.21rem;
  box-sizing: border-box;
}
@media screen and (max-width: 640px) {
  .mod_inquiry .pointBox {
    width: 100%;
    margin-top: 0.15rem;
    padding-left: 0.23rem;
    background-color: transparent;
  }
}
.mod_inquiry .pointBox .img {
  position: absolute;
  top: -0.2rem;
  right: -0.2rem;
  width: 3.02rem;
  height: auto;
}
@media screen and (max-width: 640px) {
  .mod_inquiry .pointBox .img {
    top: -0.1rem;
    right: -0.2rem;
    width: 0.87rem;
  }
}
.mod_inquiry .pointBox .pointDetail > li {
  position: relative;
  padding-left: 0.65rem;
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 600;
  font-size: 0.2rem;
  letter-spacing: 0.05em;
  line-height: 1.3;
  color: #473933;
  font-feature-settings: "palt";
}
@media screen and (max-width: 640px) {
  .mod_inquiry .pointBox .pointDetail > li {
    font-feature-settings: "palt";
  }
}
@media screen and (max-width: 640px) {
  .mod_inquiry .pointBox .pointDetail > li {
    padding-left: 0.65rem;
    font-size: 0.15rem;
    letter-spacing: 0.05em;
    line-height: 1.66;
  }
}
.mod_inquiry .pointBox .pointDetail > li:before {
  content: "";
  position: absolute;
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
.mod_inquiry .pointBox .pointDetail > li + li {
  margin-top: 0.3rem;
}
@media screen and (max-width: 640px) {
  .mod_inquiry .pointBox .pointDetail > li + li {
    margin-top: 0.15rem;
  }
}
.mod_inquiry .pointBox .pointDetail .point01:before {
  top: calc(50% - 0.17rem);
  left: 0;
  background-image: url("/common/img/mod_inquiry_point_ico01.png");
  width: 0.52rem;
  height: 0.34rem;
}
.mod_inquiry .pointBox .pointDetail .point02:before {
  top: calc(50% - 0.21rem);
  left: 0.12rem;
  background-image: url("/common/img/mod_inquiry_point_ico02.png");
  width: 0.36rem;
  height: 0.42rem;
}
.mod_inquiry .pointBox .pointDetail .point03:before {
  top: calc(50% - 0.19rem);
  left: 0.1rem;
  background-image: url("/common/img/mod_inquiry_point_ico03.png");
  width: 0.44rem;
  height: 0.38rem;
}
.mod_inquiry .link {
  width: 100%;
  margin: 0;
  margin-top: 0.25rem;
}
@media screen and (max-width: 640px) {
  .mod_inquiry .link {
    margin-top: 0.16rem;
  }
}
.mod_inquiry .link .btn01 {
  width: 4rem;
  height: 0.5rem;
  font-size: 0.2rem;
  box-shadow: 0.02rem 0.02rem 0 #dacdbb;
}
@media screen and (max-width: 640px) {
  .mod_inquiry .link .btn01 {
    width: 100%;
    height: 0.47rem;
  }
}
.mod_inquiry .link .btn01 span {
  padding-right: 0.2rem;
}
.mod_inquiry .link .btn01 em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.24rem;
  height: 0.24rem;
  background-color: #473933;
  border-radius: 0.03rem;
  font-family: "hannari";
  font-weight: 400;
  font-size: 0.18rem;
  letter-spacing: 0;
  line-height: 1;
  color: #fff;
  font-style: normal;
  padding-bottom: 0.03rem;
  box-sizing: border-box;
}
@media screen and (max-width: 640px) {
  .mod_inquiry .link .btn01 em {
    font-size: 0.17rem;
  }
}
.mod_inquiry .link .btn01 em + em {
  margin-left: 0.03rem;
  margin-right: 0.08rem;
}

@media screen and (max-width: 640px) {
  #chatplusview {
    transition: height 0.3s, max-height 0.3s, opacity 0.3s !important;
  }
  .spmenuopen #chatplusview {
    opacity: 0;
    pointer-events: none;
  }
}

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

既存その他共用（継承無ければ順次削除）

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

新造パーツ（フルリニューアル時継承対象）
・先行リリース時はpx値にて対応
・下層でのバッティングを避けるため、renewWrap内にのみ適用する暫定処置
（下層にcontentWrapが使用されている節がある）

----------------------------------------------------------------------------- */
@media screen and (max-width: 640px) {
  .renewWrap {
    padding-top: 0.5rem;
  }
}

.btn01 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.4rem;
  height: 0.5rem;
  border-radius: 0.14rem;
  background-color: #78a98c;
  margin: auto;
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 600;
  font-size: 0.16rem;
  letter-spacing: 0.11em;
  line-height: 1;
  color: #fff;
  transition: opacity 0.3s;
}
@media screen and (max-width: 640px) {
  .btn01 {
    font-feature-settings: "palt";
  }
}
@media screen and (max-width: 640px) {
  .btn01 {
    width: 100%;
    height: 0.5rem;
    border-radius: 0.07rem;
    font-size: 0.15rem;
  }
}
.no-touchevents .btn01:hover {
  opacity: 0.5;
}
.btn01.arrow:before {
  content: "";
  position: absolute;
  right: 0.15rem;
  top: calc(50% - 0.15rem);
  display: block;
  width: 0.3rem;
  height: 0.3rem;
  background-image: url("../img/btn_arrow_green02.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
.btn01.arrow-left {
  margin-top: 0.9rem;
}
.btn01.arrow-left:before {
  content: "";
  position: absolute;
  left: 0.15rem;
  top: calc(50% - 0.15rem);
  display: block;
  width: 0.3rem;
  height: 0.3rem;
  background-image: url("../img/btn_arrow_green02.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transform: scale(-1, 1);
}
@media screen and (max-width: 640px) {
  .btn01.arrow:before {
    top: calc(50% - 0.14rem);
    width: 0.28rem;
    height: 0.28rem;
  }
}

.btn01.arrow-left:before {
  top: calc(50% - 0.14rem);
  width: 0.28rem;
  height: 0.28rem;
}

.btn01.arrow-left {
  width: 90%;
  margin-top: 0.4rem;
}

.btn01.yellow {
  background-color: #f4bb1f;
  color: #473933;
}
.btn01.yellow.arrow:before {
  background-image: url("../img/btn_arrow_yellow02.svg");
}
.btn01.red {
  background-color: #c66060;
  color: #fff;
}
.btn01.red.arrow:before {
  background-image: url("../img/btn_arrow_red02.svg");
}
.btn01.blue {
  background-color: #1e899b;
  color: #fff;
}
.btn01.blue.arrow:before {
  background-image: url("../img/btn_arrow_blue02.svg");
}

.title {
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.11em;
  line-height: 1.42;
  color: #473933;
}
@media screen and (max-width: 640px) {
  .title {
    font-feature-settings: "palt";
  }
}
@media screen and (max-width: 640px) {
  .title {
    line-height: 1.5;
  }
}
.title.dotDeco span {
  position: relative;
  display: inline-block;
  padding: 0 0.3rem;
  /*@include sc(pcMin){
  	padding: 0 25px;
  }
  @include sc(tab){
  	padding: 0 20px;
  }*/
}
@media screen and (max-width: 640px) {
  .title.dotDeco span {
    padding: 0 0.35rem;
  }
}
.title.dotDeco span:before,
.title.dotDeco span:after {
  content: "";
  position: absolute;
  top: calc(50% - 0.02rem);
  display: block;
  width: 0.18rem;
  height: 0.06rem;
  background-image: url("../img/title_deco_dot.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  /*@include sc(pcMin){
  	top: calc(50% - 2px);
  	width: 15px;
  	height: 5px;
  }
  @include sc(tab){
  	top: calc(50% - 2px);
  	width: 12px;
  	height: 4px;
  }*/
}
@media screen and (max-width: 640px) {
  .title.dotDeco span:before,
  .title.dotDeco span:after {
    top: calc(50% - 0.02rem);
    width: 0.17rem;
    height: 0.04rem;
  }
}
.title.dotDeco span:before {
  left: 0;
}
.title.dotDeco span:after {
  right: 0;
}
.title.lineDeco {
  position: relative;
  display: block;
}
.title.lineDeco::before {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background-color: #d9d2ce;
}
.title.numDeco {
  position: relative;
  display: block;
}
.title.numDeco span {
  padding-left: 0.7rem;
}
@media screen and (max-width: 640px) {
  .title.numDeco span {
    padding-left: 17.16vw;
  }
}
.title.numDeco.numDeco01::before,
.title.numDeco.numDeco02::before,
.title.numDeco.numDeco03::before,
.title.numDeco.numDeco04::before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
  width: 0.53rem;
  height: 0.48rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 640px) {
  .title.numDeco.numDeco01::before,
  .title.numDeco.numDeco02::before,
  .title.numDeco.numDeco03::before,
  .title.numDeco.numDeco04::before {
    width: 13.01vw;
    height: 11.96vw;
  }
}
.title.numDeco.numDeco01::before {
  background-image: url(../img/title_deco_num01.svg);
}
.title.numDeco.numDeco02::before {
  background-image: url(../img/title_deco_num02.svg);
}
.title.numDeco.numDeco03::before {
  background-image: url(../img/title_deco_num03.svg);
}
.title.numDeco.numDeco04::before {
  background-image: url(../img/title_deco_num04.svg);
}

.txt {
  font-size: 0.15rem;
  letter-spacing: 0.08em;
  line-height: 2;
  color: #473933;
  /*@include sc(pcMin){
  	font-size: 13px;
  }
  @include sc(tab){
  	font-size: 11px;
  }*/
}
@media screen and (max-width: 640px) {
  .txt {
    font-size: 0.14rem;
    line-height: 1.78;
  }
}

.secTit {
  position: relative;
}
.secTit .title {
  position: relative;
  z-index: 0;
  font-family: "hannari";
  font-weight: 400;
  font-size: 0.3rem;
  line-height: 1;
  letter-spacing: 0.25em;
  color: #473933;
  text-align: center;
  /*@include sc(pcMin){
  	font-size: 25px;
  }
  @include sc(tab){
  	font-size: 20px;
  }*/
}
@media screen and (max-width: 640px) {
  .secTit .title {
    font-size: 0.26rem;
    line-height: 1.5;
  }
}
.secTit .title:before,
.secTit .title:after {
  content: "";
  position: absolute;
  z-index: -1;
  display: block;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  opacity: 0.5;
}
.secTit .title:before {
  left: calc(50% - 0.4rem);
  top: calc(50% - 0.32rem);
  width: 0.8rem;
  height: 0.64rem;
  background-image: url("../img/sectit_bg_deco.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.5;
  /*@include sc(pcMin){
  	left: calc(50% - 34px);
  	top: calc(50% - 27px);
  	width: 67px;
  	height: 54px;
  }
  @include sc(tab){
  	left: calc(50% - 27px);
  	top: calc(50% - 22px);
  	width: 54px;
  	height: 44px;
  }*/
}
@media screen and (max-width: 640px) {
  .secTit .title:before {
    left: calc(50% - 0.36rem);
    top: calc(50% - 0.29rem);
    width: 0.7rem;
    height: 0.6rem;
  }
}
.secTit .title.decoL:after {
  top: -1.35rem;
  left: calc(50% - 2.35rem);
  width: 1.04rem;
  height: 1.08rem;
  background-image: url("../img/sectit_deco_left.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  /*@include sc(pcMin){
  	top: -113px;
  	left: calc(50% - 197px);
  	width: 87px;
  	height: 91px;
  }
  @include sc(tab){
  	top: -90px;
  	left: calc(50% - 157px);
  	width: 69px;
  	height: 72px;
  }*/
}
@media screen and (max-width: 640px) {
  .secTit .title.decoL:after {
    top: -0.75rem;
    left: calc(50% - 1.22rem);
    width: 0.5rem;
    height: 0.52rem;
  }
}
.secTit .title.decoR:after {
  top: -1.35rem;
  right: calc(50% - 2.35rem);
  width: 1.04rem;
  height: 1.08rem;
  background-image: url("../img/sectit_deco_right.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  /*@include sc(pcMin){
  	top: -113px;
  	right: calc(50% - 197px);
  	width: 87px;
  	height: 91px;
  }
  @include sc(tab){
  	top: -90px;
  	right: calc(50% - 157px);
  	width: 69px;
  	height: 72px;
  }*/
}
@media screen and (max-width: 640px) {
  .secTit .title.decoR:after {
    top: -0.75rem;
    right: calc(50% - 1.22rem);
    width: 0.5rem;
    height: 0.52rem;
  }
}
.secTit .title.no_deco::before,
.secTit .title.no_deco::after {
  position: static;
  display: none;
}
.secTit .txt {
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 400;
  font-size: 0.18rem;
  letter-spacing: 0.11em;
  line-height: 2;
  color: #473933;
  text-align: center;
  margin-top: 0.4rem;
  /*@include sc(pcMin){
  	font-size: 15px;
  	margin-top: 34px;
  }
  @include sc(tab){
  	font-size: 12px;
  	margin-top: 27px;
  }*/
}
@media screen and (max-width: 640px) {
  .secTit .txt {
    font-feature-settings: "palt";
  }
}
@media screen and (max-width: 640px) {
  .secTit .txt {
    font-size: 0.16rem;
    line-height: 1.875;
    margin-top: 0.4rem;
  }
}
.secTit .txt strong {
  font-size: 1.27em;
}
.secTit .pc {
  width: 100%;
  max-width: 10rem;
  margin: 0 auto;
  padding-top: 0.25rem;
}
@media screen and (max-width: 640px) {
  .secTit .pc {
    display: none;
  }
}
.secTit .pc img {
  vertical-align: middle;
  width: 100%;
  height: auto;
}
.secTit .pc a {
  cursor: pointer;
}
.secTit .pc a img {
  vertical-align: middle;
  width: 100%;
  height: auto;
}
.secTit .pc a:hover {
  opacity: 0.7;
}
.secTit .smt {
  display: none;
  margin: 0 auto;
  padding: 0.25rem 0.15rem 0;
}
@media screen and (max-width: 640px) {
  .secTit .smt {
    display: block;
  }
}
.secTit .smt a {
  cursor: pointer;
}
.secTit .smt a img {
  width: 100%;
  height: auto;
}

.cGrn {
  color: #03888e;
}

.cGrn02 {
  color: #78a98c;
}

strong {
  position: relative;
  font-weight: 700;
}

.marker {
  position: relative;
  z-index: 0;
}
.marker:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  bottom: 0.02rem;
  top: 0;
  background: linear-gradient(transparent 75%, #f8d679 75%);
}
@media print, screen and (max-width: 960px) {
  .marker:before {
    bottom: 0;
    background: linear-gradient(transparent 70%, #f8d679 70%);
  }
}
@media screen and (max-width: 640px) {
  .marker:before {
    background: linear-gradient(transparent 80%, #f8d679 80%);
  }
}
@media screen and (max-width: 640px) {
  .marker._spbr {
    display: inline;
    background: linear-gradient(transparent 75%, #f8d679 75%);
  }
  .marker._spbr::before {
    position: static;
    content: none;
  }
}

.underline {
  position: relative;
  z-index: 0;
}
.underline:before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -0.05rem;
  left: -0.08rem;
  right: -0.08rem;
  display: block;
  height: 50%;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
  /*@include sc(pcMin){
  	bottom: -4px;
  	left: -7px;
  	right: -7px;
  }
  @include sc(tab){
  	bottom: -3px;
  	left: -5px;
  	right: -5px;
  }*/
}
@media screen and (max-width: 640px) {
  .underline:before {
    left: -0.04rem;
    right: -0.04rem;
  }
}
.underline.digit1:before {
  background-image: url("../img/price_digit_line1.svg");
}
.underline.digit4:before {
  background-image: url("../img/price_digit_line4.svg");
}
.underline.digit5:before {
  background-image: url("../img/price_digit_line5.svg");
}
.underline.digit6:before {
  background-image: url("../img/price_digit_line6.svg");
}

.white01.splitDeco,
.beige01.splitDeco,
.beige02.splitDeco,
.beige04.splitDeco,
.beige05.splitDeco {
  position: relative;
}
.white01.splitDeco:before,
.beige01.splitDeco:before,
.beige02.splitDeco:before,
.beige04.splitDeco:before,
.beige05.splitDeco:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  background-size: auto 100%;
  background-repeat: repeat-x;
}

.white01 {
  background-color: #fff;
}
.white01.splitDeco:before {
  top: -0.3rem;
  height: 0.3rem;
  background-position: calc(50% - 0.98rem) bottom;
  background-image: url("../img/content_split_deco_white01.png");
}
@media screen and (max-width: 640px) {
  .white01.splitDeco:before {
    top: -0.2rem;
    height: 0.2rem;
    background-position: center bottom;
    background-image: url("../img/content_split_deco_white01_sp.png");
  }
}

.beige01 {
  background-color: #ebe4d9;
}
.beige01.splitDeco:before {
  top: -0.3rem;
  height: 0.3rem;
  background-position: calc(50% - 1.1rem) bottom;
  background-image: url("../img/content_split_deco_beige01.png");
}

@media screen and (max-width: 640px) {
  .beige01.splitDeco:before {
    top: -0.2rem;
    height: 0.2rem;
    background-position: center bottom;
    background-image: url("../img/content_split_deco_beige01_sp.png");
  }
}

.beige02 {
  background-color: #f3efec;
}
.beige02.splitDeco:before {
  top: -0.3rem;
  height: 0.3rem;
  background-position: calc(50% - 0.15rem) bottom;
  background-image: url("../img/content_split_deco_beige02.png");
}
@media screen and (max-width: 640px) {
  .beige02.splitDeco:before {
    top: -0.2rem;
    height: 0.2rem;
    background-position: center bottom;
    background-image: url("../img/content_split_deco_beige02_sp.png");
  }
}

.beige03 {
  background-color: #ecf4f4;
}

.beige04 {
  background-color: #f9f7f2;
}
@media screen and (min-width: 640px) {
  .beige04.splitDeco:before {
    top: -0.3rem;
    height: 0.3rem;
    background-position: calc(50% - 0.15rem) bottom;
    background-image: url("../img/content_split_deco_beige04.png");
  }
}

.beige05 {
  background-color: #f3f3f3;
}
@media screen and (min-width: 640px) {
  .beige05.splitDeco:before {
    top: -0.3rem;
    height: 0.3rem;
    background-position: calc(50% - 0.15rem) bottom;
    background-image: url("../img/content_split_deco_beige05.png");
  }
}

.mod_contact {
  padding: 0.2rem 0;
  background-color: #f3efec;
}
.m-lower {
  margin-top: 0.3rem;
}

@media screen and (max-width: 640px) {
  .m-lower {
    margin-top: 0rem;
  }
}

.top_contact {
  padding: 0rem 0 1rem;
}
@media screen and (max-width: 640px) {
  .mod_contact {
    padding: 0.3rem 0;
  }
  .top_contact {
    padding: 0rem 0 0.6rem;
  }
}
.mod_contact .catchBox {
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .mod_contact .catchBox {
    margin: 0 auto;
    max-width: 10rem;
  }
}
.mod_contact .catchBox::before,
.mod_contact .catchBox::after {
  position: absolute;
  content: "";
  display: block;
  background-color: #78a98c;
  top: -0.17rem;
  bottom: 0;
  margin: auto 0;
  width: 0.36rem;
  height: 1px;
}

.mod_contact .border-none::before,
.mod_contact .border-none::after {
  background-color: transparent !important;
}

@media screen and (max-width: 640px) {
  .mod_contact .border-none::before,
  .mod_contact .border-none::after {
    background-color: #78a98c !important;
  }
}

@media screen and (max-width: 640px) {
  .mod_contact .catchBox::before,
  .mod_contact .catchBox::after {
    top: 0;
    bottom: -0.13rem;
    width: 0.41rem;
  }
}
.mod_contact .catchBox::before {
  left: 0.12rem;
  transform: rotate(62deg);
}
@media screen and (max-width: 640px) {
  .mod_contact .catchBox::before {
    left: 0.02rem;
    transform: rotate(68deg);
  }
}
.mod_contact .catchBox::after {
  right: 0.15rem;
  transform: rotate(-62deg);
}
@media screen and (max-width: 640px) {
  .mod_contact .catchBox::after {
    right: 0.07rem;
    transform: rotate(-68deg);
  }
}
.mod_contact .catchBox .catch {
  padding-bottom: 0.2rem;
  text-align: center;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E",
    "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  font-size: 0.21rem;
  letter-spacing: 0.11em;
}
.os-android .mod_contact .catchBox .catch {
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 640px) {
  .mod_contact .catchBox .catch {
    font-size: 0.16rem;
    line-height: 1.47;
  }
}
.mod_contact .catchBox .catch .marker::before {
  background: linear-gradient(transparent 57%, #f8d679 57%);
}
.mod_contact .bnrBox {
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  .mod_contact .bnrBox {
    display: flex;
    justify-content: center;
    align-content: center;
    max-width: 10rem;
  }
}
@media screen and (max-width: 640px) {
  .mod_contact .bnrBox {
    display: block;
    width: calc(100% - 0.3rem);
  }
}
.mod_contact .bnrBox .bnr {
  position: relative;
  width: 4.85rem;
  height: 1rem;
  z-index: 1;
  transition: opacity 0.3s;
}
@media screen and (max-width: 640px) {
  .mod_contact .bnrBox .bnr {
    width: 100%;
    height: 20.83vw;
  }
}
.no-touchevents .mod_contact .bnrBox .bnr:not(._tel):hover {
  opacity: 0.8;
}
@media print, screen and (min-width: 641px) {
  .mod_contact .bnrBox .bnr + .bnr {
    margin-left: 0.3rem;
  }
}
@media screen and (max-width: 640px) {
  .mod_contact .bnrBox .bnr + .bnr {
    margin-top: 0.2rem;
  }
}
.mod_contact .bnrBox .bnr .ph {
  display: block;
  position: relative;
}
.mod_contact .bnrBox .bnr .ph .mod_tel {
  position: absolute;
  font-size: 0.3rem;
  color: #fff;
  top: 0.28rem;
  left: 1.4rem;
  letter-spacing: 0.01rem;
}
@media screen and (max-width: 640px) {
  .mod_contact .bnrBox .bnr .ph .mod_tel {
    display: none;
  }
}
.mod_contact .bnrBox .bnr .link {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.kaizen:hover {
  opacity: 0.8;
}

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

モーション

----------------------------------------------------------------------------- */
[data-pararax01] {
  position: relative;
}
[data-pararax01] [data-pararax01-inview] {
  position: absolute;
  top: 200px;
  bottom: 200px;
  left: 0;
  width: 100%;
  pointer-events: none;
  opacity: 0;
}
@media screen and (max-width: 640px) {
  [data-pararax01] [data-pararax01-inview] {
    top: 100px;
    bottom: 100px;
  }
}
[data-pararax01] [data-pararax01-opacity01] {
  opacity: 0;
  transition: opacity 1s cubic-bezier(0.625, 0, 0.355, 1);
}
[data-pararax01] [data-pararax01-opacity01].active {
  opacity: 1;
}
[data-pararax01] [data-pararax01-opacity02] {
  opacity: 0;
  transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1),
    transform 0.7s cubic-bezier(0.625, 0, 0.355, 1);
}
[data-pararax01] [data-pararax01-opacity02].active {
  opacity: 1;
  transform: translate(0px, 0px);
}
[data-pararax01] [data-pararax01-opacity02] {
  transform: translate(-15px, 0);
}
[data-pararax01] [data-pararax01-opacity03] {
  opacity: 0;
  transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1),
    transform 0.7s cubic-bezier(0.625, 0, 0.355, 1);
}
[data-pararax01] [data-pararax01-opacity03].active {
  opacity: 1;
  transform: translate(0px, 0px);
}
[data-pararax01] [data-pararax01-opacity03] {
  transform: translate(15px, 0);
}
[data-pararax01] [data-pararax01-opacity04] {
  opacity: 0;
  transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1),
    transform 0.7s cubic-bezier(0.625, 0, 0.355, 1);
}
[data-pararax01] [data-pararax01-opacity04].active {
  opacity: 1;
  transform: translate(0px, 0px);
}
[data-pararax01] [data-pararax01-opacity04] {
  transform: translate(0, 15px);
}
[data-pararax01] [data-pararax01-opacity05] {
  opacity: 0;
  transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1),
    transform 0.7s cubic-bezier(0.625, 0, 0.355, 1);
}
[data-pararax01] [data-pararax01-opacity05].active {
  opacity: 1;
  transform: translate(0px, 0px);
}
[data-pararax01] [data-pararax01-opacity05] {
  transform: translate(0, -15px);
}
[data-pararax01] [data-pararax01-opacity06] {
  opacity: 0;
  transition: opacity 1s cubic-bezier(0.625, 0, 0.355, 1),
    transform 1s cubic-bezier(0.625, 0, 0.355, 1);
}
[data-pararax01] [data-pararax01-opacity06].active {
  transform: scale(1);
  opacity: 1;
}
[data-pararax01] [data-pararax01-opacity06] {
  transform: scale(0.9);
}

.mod_footer .contactBox .telBox .tel_text {
  font-size: 15px;
  font-weight: 600;
  color: #00a33e;
}

.mod_footer .contactBox .telBox .tel_number {
  font-size: 36px;
  color: #1e899a;
  font-family: "Oswald", sans-serif;
  line-height: 1;
  font-weight: 400;
}

.lp_bnr {
  margin-top: 66px;
}
@media screen and (max-width: 640px) {
  .lp_bnr {
    margin-top: 40px;
    padding: 0 20px;
  }
}
.lp_bnr .catch {
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 400;
  font-size: 0.24rem;
  letter-spacing: 0.05em;
  line-height: 1.7;
  color: #473933;
  margin-bottom: 20px;
}
@media screen and (max-width: 640px) {
  .lp_bnr .catch {
    font-size: 0.19rem;
    letter-spacing: 0em;
    margin-bottom: 14px;
  }
}
@media screen and (max-width: 640px) {
  .lp_bnr a img {
    width: 100%;
    height: auto;
  }
} /*# sourceMappingURL=common.css.map */

/*footer menu add 202403 */

@media screen and (max-width: 640px) {
  .lp_bnr a img {
    width: 100%;
    height: auto;
  }
}

.fo-menu {
  display: none;
  margin-top: 0.16rem;
  background-color: #ebe4d9;
  max-width: 100%;
  height: auto;
  padding: 0.1rem 0 0.2rem;
}

@media screen and (max-width: 640px) {
  .fo-menu {
    display: block;
  }
}
.fo-in {
  width: calc(100% - 0.3rem);
  margin: auto;
}
.fo-trigger {
  position: relative;
  display: flex;
  align-items: center;
  height: 0.5rem;
  font-weight: 600;
  font-size: 0.16rem;
  line-height: 0.5rem;
  color: #473933;
  border-bottom: 1px solid #fff;
}

.fo-toggle_btn {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  display: block;
  width: 24px;
  height: 24px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border-radius: 50%;
}
.fo-toggle_btn:before,
.fo-toggle_btn:after {
  display: block;
  content: "";
  background-color: #473933;
  position: absolute;
  width: 11px;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}

.fo-toggle_btn:before {
  width: 2px;
  height: 11px;
}
.fo-trigger.selected .fo-toggle_btn:before {
  transform: rotate(90deg) !important;
  top: 29%;
  left: 48%;
}

.fo-trigger:last-child {
  border-bottom: none;
}

.fo-trigger.selected {
  border-bottom: none;
}
.fo-menu .fo-detail {
  display: none;
}

.fo-last-ma {
  margin-bottom: 0.16rem;
}

.fo-detail {
  background-color: #fff;
  border-radius: 0.16rem;
  padding: 0 0.16rem;
  box-sizing: border-box;
}
.fo-linkList {
  font-size: 0.14rem;
  color: #473933;
}

.fo-linkList li {
  position: relative;
  padding: 0.14rem 0;
  border-bottom: 1px solid #473933;
}

.fo-linkList li:last-child {
  border-bottom: none;
}
.fo-linkList li::before {
  content: "";
  position: absolute;
  top: calc(50% - 0.03rem);
  display: inline-block;
  right: 10px;
  width: 0.07rem;
  height: 0.07rem;
  border-top: 2px solid #473933;
  border-right: 2px solid #473933;
  transform: rotate(45deg);
  box-sizing: border-box;
}

.link-hover {
  color: #03888e;
  font-weight: 600;
}

.link-hover:hover {
  opacity: 0.8;
}

/* map */
.iconWrap {
  display: flex;
  border: 1px solid #ccc;
}

.iconWrap__txt {
  background: #f3efec;
  padding: 0.16rem 0.4rem;
  margin-right: 0.17rem;
}

.iconWrap__txt p {
  font-size: 0.18rem;
  font-weight: 600;
}

.iconWrap__img {
  display: flex;
  gap: 0.18rem;
}

.iconWrap__img > div {
  display: flex;
  align-items: center;
  gap: 0.08rem;
}

.iconWrap__img > div > img {
  max-width: 0.18rem;
  width: 100%;
  object-fit: contain;
  height: auto;
}

.iconWrap__img > div > p {
  font-size: 0.15rem;
}

@media (max-width: 640px) {
  .iconWrap {
    flex-direction: column;
  }
  .iconWrap__txt {
    padding: 0.06rem;
    margin: 0;
    text-align: center;
  }

  .iconWrap__img {
    padding: 0.06rem;
    display: flex;
    justify-content: center;
  }
}
