@charset "UTF-8";
/*
このSassはVisual Studio Codeの
Live Sass Compilerを使用しました。
*/
/*--------------------------
メディアクエリ
---------------------------*/
/* スマホ表示 */
/*--------------------------
  PC/SPの改行位置
  ---------------------------*/
/* PC改行あり SP改行なし */
@media (min-width: 768px) {
  br.pc {
    display: block;
  }
  br.sp {
    display: none;
  }
}

/* PC改行なし SP改行あり */
@media (max-width: 767px) {
  br.pc {
    display: none;
  }
  br.sp {
    display: block;
  }
}

/*--------------------------
  PC/SPのコンテンツ切り替え
  ※表示させたいデバイスの Class を付ける
  ---------------------------*/
/* PCの場合、SPコンテンツを削除 */
@media (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

/* SPの場合、PCコンテンツを削除 */
@media (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

/*--------------------------
  vwとremの可変レイアウト用
  PC・tablet・SPの共通関数

  ※1pxはborderが消える場合の処置
  ---------------------------*/
/*--------------------------
  PC・tablet用
  remの基準を計算
  ---------------------------*/
/*
    計算式：　10(px) / 1920(px) * 100 = 0.52
    画面幅1366pxの時に "font-size: 10px" 相当になる
  
  　※デザインカンプの1366pxを基準として計算
    →つまり1366pxのデザインカンプのfont-size,width,marginのpxを元に構築しています。
  */
@media (min-width: 768px) {
  html,
  body {
    font-size: 0.52vw;
    letter-spacing: 0.05em;
  }
}

/*--------------------------
  SP用
  remの基準を計算
  ---------------------------*/
/*
    計算式：　10(px) / 375(px) * 100 = 2.66
    画面幅375pxの時に "font-size: 10px" 相当になる
  
  　※デザインカンプの375pxを基準として計算
    →つまり375pxのデザインカンプのfont-size,width,marginのpxを元に構築しています。
  */
@media (max-width: 767px) {
  html,
  body {
    font-size: 2.66vw;
  }
}

/*--------------------------
  vwとremの可変レイアウト用
  SP用
  ---------------------------*/
/*--------------------------
  opacity
  ---------------------------*/
/*--------------------------
テキストを削除
---------------------------*/
/*--------------------------
テキストの 3点リーダー表示 1行のみ
---------------------------*/
/*--------------------------
テキストの 3点リーダー表示 複数行
---------------------------*/
/*--------------------------
リンクのズーム
---------------------------*/
/*--------------------------
プレースホルダーの色設定
---------------------------*/
/* --------------------------
  clearfix
  @include で適用
  -------------------------- */
/*--------------------------
フォント読み込み
---------------------------*/
@font-face {
  font-family: "din-alternate";
  font-weight: 500;
  src: url("/font/DINAlternate-Bold.woff") format("woff");
}

@font-face {
  font-family: "quentin";
  font-weight: 400;
  src: url("/font/Quentin.woff") format("woff");
}

@font-face {
  font-family: "Georgia";
  font-weight: 400;
  src: url("/font/georgia.woff") format("woff");
}

@font-face {
  font-family: "Georgia";
  font-weight: 500;
  src: url("/font/georgiab.woff") format("woff");
}

@font-face {
  font-family: "Georgia";
  font-weight: 400;
  font-style: italic;
  src: url("/font/georgiai.woff") format("woff");
}

@font-face {
  font-family: "Georgia";
  font-weight: 500;
  font-style: italic;
  src: url("/font/georgiaz.woff") format("woff");
}

@font-face {
  font-family: futura;
  font-weight: 400;
  font-style: italic;
  src: url("/font/Futura-MediumItalic.woff") format("woff");
}

@font-face {
  font-family: futura;
  font-weight: 400;
  src: url("/font/Futura-Medium.woff") format("woff");
}

@font-face {
  font-family: futura;
  font-weight: 500;
  src: url("/font/Futura-CondensedMedium.woff") format("woff");
}

@font-face {
  font-family: futura;
  font-weight: 600;
  src: url("/font/Futura-Bold.woff") format("woff");
}

@font-face {
  font-family: futura;
  font-weight: 900;
  src: url("/font/Futura-CondensedExtraBold.woff") format("woff");
}

@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W0);
  font-weight: 100;
}

@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W1);
  font-weight: 200;
}

@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W2);
  font-weight: 300;
}

@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W3);
  font-weight: 400;
}

@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W4);
  font-weight: 500;
}

@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W5);
  font-weight: 600;
}

@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W6);
  font-weight: 700;
}

@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W7);
  font-weight: 800;
}

@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W8);
  font-weight: 900;
}

@font-face {
  font-family: "Hiragino Sans W9";
  src: local(HiraginoSans-W9);
  font-weight: 900;
}

@font-face {
  font-family: NotoSans;
  font-weight: 100;
  src: url("./font/NotoSansCJKjp-Thin.woff") format("woff"), url("./font/NotoSansCJKjp-Thin.eot") format("oldIE");
  font-display: swap;
}

@font-face {
  font-family: NotoSans;
  font-weight: 200;
  src: url("./font/NotoSansCJKjp-Light.woff") format("woff"), url("./font/NotoSansCJKjp-Light.eot?") format("oldIE");
  font-display: swap;
}

@font-face {
  font-family: NotoSans;
  font-weight: 300;
  src: url("./font/NotoSansCJKjp-DemiLight.woff") format("woff"), url("./font/NotoSansCJKjp-DemiLight.eot?") format("oldIE");
  font-display: swap;
}

@font-face {
  font-family: NotoSans;
  font-weight: 400;
  src: url("./font/NotoSansCJKjp-Regular.woff") format("woff"), url("./font/NotoSansCJKjp-Regular.eot?") format("oldIE");
  font-display: swap;
}

@font-face {
  font-family: NotoSans;
  font-weight: 500;
  src: url("./font/NotoSansCJKjp-Medium.woff") format("woff"), url("./font/NotoSansCJKjp-Medium.eot?") format("oldIE");
  font-display: swap;
}

@font-face {
  font-family: NotoSans;
  font-weight: 600;
  src: url("./font/NotoSansCJKjp-Bold.woff") format("woff"), url("./font/NotoSansCJKjp-Bold.eot?") format("oldIE");
  font-display: swap;
}

@font-face {
  font-family: NotoSans;
  font-weight: 700;
  src: url("./font/NotoSansCJKjp-Black.woff") format("woff"), url("./font/NotoSansCJKjp-Black.eot?") format("oldIE");
  font-display: swap;
}

@font-face {
  font-family: "Rockville Solid";
  font-weight: 700;
  src: url("./font/RockvilleSolid.woff") format("woff");
}

@font-face {
  font-family: "Viga";
  font-weight: normal;
  src: url("./font/Viga-Regular.woff") format("woff");
}

@media (min-width: 768px) {
  /* 共通設定 */
  body {
    font-family: "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.6rem;
    letter-spacing: 0;
    color: #000;
    background: #fff !important;
  }
  body a:hover {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
    will-change: transition;
  }
  body a:hover:hover {
    -ms-filter: "alpha(opacity=70)";
    /* IE 8,9 */
    -moz-opacity: 0.7;
    /* FF , Netscape */
    -khtml-opacity: 0.7;
    /* Safari 1.x */
    opacity: 0.7;
  }
  /* 共通ヘッダー */
  #header .header_tel {
    background: #f6f5f2;
    height: 4.3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 9rem;
  }
  #header .header_tel h1 {
    font-size: 2rem;
    line-height: 4rem;
  }
  #header .header_tel ul li {
    font-size: 2rem;
    line-height: 4rem;
    display: inline-block;
    margin: 0 0 0 3.5rem;
  }
  #header .header_tel ul li a {
    font-weight: 900;
  }
  #header .header_menu {
    height: 9.5rem;
    padding: 2.5rem 9rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #header .header_menu .header_logo img {
    width: 13.5rem;
    height: 3.1rem;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  #header .header_menu .header_logo img:hover {
    -webkit-transform: scale(1.03, 1.03);
            transform: scale(1.03, 1.03);
  }
  #header .header_menu ul li {
    display: inline-block;
    font-size: 2rem;
    margin: 0 2rem;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  #header .header_menu ul li:hover {
    -webkit-transform: scale(1.03, 1.03);
            transform: scale(1.03, 1.03);
  }
  #header .header_menu .header_contact {
    width: 22rem;
    height: 5.4rem;
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 5.4rem;
    letter-spacing: 0.02em;
    color: #fff;
    margin: -0.5rem 0 0 0;
    background: #000;
    text-align: center;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  #header .header_menu .header_contact:hover {
    -webkit-transform: scale(1.03, 1.03);
            transform: scale(1.03, 1.03);
  }
  /* 共通フッター */
  #footer {
    background: #cfbe9b;
  }
  #footer .footer_top {
    width: 102.8rem;
    margin: 0 auto;
    padding: 12rem 0 16rem;
    text-align: center;
  }
  #footer .footer_top h2 {
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 4.3rem;
    color: #fff;
    margin: 0 0 4rem 0;
  }
  #footer .footer_top .description {
    font-size: 2rem;
    line-height: 3.6rem;
    color: #fff;
    margin: 0 0 6.5rem 0;
  }
  #footer .footer_top .footer_tel {
    border: 1px solid #fff;
    margin: 0 0 7rem 0;
    padding: 5rem 0 6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #footer .footer_top .footer_tel dl {
    width: 50%;
  }
  #footer .footer_top .footer_tel dl dt {
    font-size: 2.5rem;
    font-weight: bold;
    color: #fff;
    margin: 0;
  }
  #footer .footer_top .footer_tel dl dt span {
    display: block;
    font-size: 2rem;
  }
  #footer .footer_top .footer_tel dl dd a {
    font-family: "din-alternate", sans-serif;
    font-size: 5rem;
    font-weight: bold;
    color: #fff;
    line-height: 1.4;
  }
  #footer .footer_top .footer_tel dl dd p {
    font-size: 2rem;
    font-weight: 500;
    color: #fff;
  }
  #footer .footer_top .footer_tel dl dd p.brown {
    color: #765a31;
    font-weight: bold;
  }
  #footer .footer_top .footer_contact {
    border: 1px solid #fff;
    font-size: 2.3rem;
    font-weight: normal;
    width: 39.4rem;
    height: 8.2rem;
    line-height: 8rem;
    color: #fff;
    margin: 0 auto;
    display: block;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  #footer .footer_top .footer_contact:hover {
    -webkit-transform: scale(1.03, 1.03);
            transform: scale(1.03, 1.03);
  }
  #footer .footer_bottom {
    background: #19110a;
    padding: 4rem 0 0;
  }
  #footer .footer_bottom .inner {
    width: 160rem;
    margin: 0 auto;
  }
  #footer .footer_bottom .inner a img {
    width: 13.5rem;
    height: 3.1rem;
  }
  #footer .footer_bottom .inner ul {
    border-top: 1px solid #392d23;
    margin: 3rem 0 0;
    padding: 5rem 0;
    text-align: center;
  }
  #footer .footer_bottom .inner ul li {
    display: inline-block;
  }
  #footer .footer_bottom .inner ul li a {
    font-size: 2rem;
    color: #fff;
    margin: 0 1.5rem;
  }
  /* サブページのメインビジュアル */
  .sub_mainvisual {
    height: 50.2rem;
    position: relative;
    z-index: 1;
  }
  .sub_mainvisual .inner {
    width: 143.6rem;
    height: 50.2rem;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    position: relative;
  }
  .sub_mainvisual .inner h2 {
    font-size: 3.9rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    color: #fff;
    margin: 1.5rem 0 0 0;
    line-height: 1;
    text-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
  }
  .sub_mainvisual .inner h2 span {
    font-family: "quentin", sans-serif;
    font-size: 6.8rem;
    font-weight: normal;
    letter-spacing: 0.05em;
    display: block;
    margin: 2.5rem 0 0 0;
    text-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
  }
  .sub_mainvisual .inner a {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -3rem;
    display: block;
    margin: 0 auto;
    width: 6rem;
    height: 6rem;
  }
  .sub_mainvisual .inner a:hover {
    opacity: 1;
  }
  .sub_mainvisual .inner a img {
    width: 100%;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  .sub_mainvisual .inner a img:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  /* サブページの下線付きの見出し */
  .border_heading {
    font-size: 3rem;
    font-weight: bold;
    color: #a68b62;
    margin: 0 0 13rem 0;
    text-align: center;
    position: relative;
  }
  .border_heading:after {
    content: "";
    width: 9.7rem;
    height: 1px;
    background: #a68b62;
    position: absolute;
    bottom: -3.5rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: block;
  }
  .border_heading span {
    font-family: "din-alternate", sans-serif;
    font-size: 1.6rem;
    color: #cfbe9b;
    display: block;
    margin: 0 0 0.5rem 0;
  }
  /* 介護サポート・葬儀サポートの共通レイアウト */
  .support_service .support_introduction {
    margin: 0 0 15rem;
    padding: 11.5rem 0 0;
  }
  .support_service .support_introduction h3 {
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    color: #a68b62;
    margin: 0 0 6rem 0;
    text-align: center;
  }
  .support_service .support_introduction h3 span {
    font-family: "din-alternate", sans-serif;
    font-size: 1.6rem;
    color: #cfbe9b;
    display: block;
    margin: 0 0 1rem 0;
  }
  .support_service .support_introduction p {
    font-size: 2rem;
    letter-spacing: 0.04em;
    line-height: 4rem;
    color: #3f3f3f;
    margin: 0;
    text-align: center;
  }
  .support_service .support_person {
    position: relative;
    margin: 0 0 14rem;
    padding: 0 0 8rem;
  }
  .support_service .support_person:before {
    content: "";
    display: block;
    background: #fcfcfc;
    width: 100%;
    height: 35rem;
    position: absolute;
    bottom: 0;
  }
  .support_service .support_person .person_image {
    position: absolute;
    top: 0;
    left: 0;
    width: 65rem;
    height: 58.4rem;
  }
  .support_service .support_person .person_image img {
    width: 100%;
  }
  .support_service .support_person .person_description {
    position: relative;
    width: 143.6rem;
    margin: 0 auto;
    padding: 3rem 0 0 52.8rem;
  }
  .support_service .support_person .person_description h3 {
    font-size: 2.7rem;
    font-weight: bold;
    color: #000;
    margin: 0 0 0.5rem 0;
  }
  .support_service .support_person .person_description h4 {
    font-size: 5.3rem;
    font-weight: bold;
    color: #000;
    margin: 0 0 2rem 0;
  }
  .support_service .support_person .person_description h4 span {
    font-family: "Georgia", sans-serif;
    font-size: 2.6rem;
    margin: 0 0 2rem 2.5rem;
  }
  .support_service .support_person .person_description p {
    font-size: 1.8rem;
    line-height: 4rem;
    color: #000;
    margin: 0 0 4rem 0;
  }
  .support_service .support_person .person_description h5 {
    font-size: 2.4rem;
    font-weight: bold;
    color: #000;
    margin: 0 0 0.5rem 0;
  }
  .support_service .support_contents ul {
    width: 143.6rem;
    margin: 0 auto 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .support_service .support_contents ul li {
    text-align: center;
    background: url(/images/check_gold@2x.png) no-repeat top center;
    background-size: 9.3rem 9.3rem;
    margin: 0 0 8.5rem 0;
    padding: 12.5rem 0 0 0;
  }
  .support_service .support_contents ul li:nth-of-type(1), .support_service .support_contents ul li:nth-of-type(2), .support_service .support_contents ul li:nth-of-type(3) {
    width: 33%;
  }
  .support_service .support_contents ul li:nth-of-type(4), .support_service .support_contents ul li:nth-of-type(5) {
    width: auto;
    margin: 0 3rem;
  }
  .support_service .support_contents ul li h4 {
    font-size: 2.7rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    color: #000;
    margin: 0 0 1rem 0;
  }
  .support_service .support_contents ul li p {
    font-size: 1.8rem;
    letter-spacing: 0.02em;
    line-height: 4rem;
    color: #29231e;
    margin: 0;
  }
  .support_service .support_detail {
    position: relative;
    height: 574rem;
    margin: 0 0 15rem 0;
    padding: 24.5rem 0 0 0;
    width: 100%;
    overflow: hidden;
  }
  .support_service .support_detail:before {
    content: "";
    background: #f3eee4;
    width: 122rem;
    height: 574rem;
    display: block;
    position: absolute;
    top: 10rem;
    right: 0;
  }
  .support_service .support_detail:after {
    content: "Support";
    font-family: "quentin", sans-serif;
    display: block;
    font-size: 7.6rem;
    letter-spacing: 0.08em;
    position: absolute;
    top: 3rem;
    right: 25rem;
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
    color: #e6e5e5;
  }
  .support_service .support_detail .detail_list {
    position: relative;
    margin: 0 0 10rem 0;
    padding: 14.5rem 0 0 0;
    min-height: 100rem;
  }
  .support_service .support_detail .detail_list:nth-of-type(even) .detail_image {
    left: 0;
  }
  .support_service .support_detail .detail_list:nth-of-type(even) .detail_description .inner {
    margin: 0 0 0 auto;
  }
  .support_service .support_detail .detail_list .detail_image {
    width: 140rem;
    height: 100rem;
    position: absolute;
    top: 0;
    right: 0;
  }
  .support_service .support_detail .detail_list .detail_description {
    width: 143.6rem;
    margin: 0 auto;
    position: relative;
  }
  .support_service .support_detail .detail_list .detail_description .inner {
    width: 71rem;
    min-height: 73rem;
    padding: 4.5rem 4.5rem 16rem;
    background: #fff;
    margin: 0 auto 0 0;
    position: relative;
  }
  .support_service .support_detail .detail_list .detail_description .inner h4 {
    font-size: 1.8rem;
    font-weight: 500;
    color: #a68b62;
    margin: 0 0 1.5rem 0;
    text-align: center;
  }
  .support_service .support_detail .detail_list .detail_description .inner h5 {
    font-size: 2.7rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 5.2rem;
    margin: 0 0 5rem 0;
    text-align: center;
  }
  .support_service .support_detail .detail_list .detail_description .inner h6 {
    font-size: 2.7rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 5.2rem;
    margin: 0 0 5rem 0;
  }
  .support_service .support_detail .detail_list .detail_description .inner p {
    font-size: 2.1rem;
    letter-spacing: 0.02em;
    line-height: 4rem;
    margin: 0 0 2rem 0;
  }
  .support_service .support_detail .detail_list .detail_description .inner p:first-of-type {
    margin: 0 0 3rem 0;
  }
  .support_service .support_detail .detail_list .detail_description .inner ul {
    margin: 0 0 2rem 0;
  }
  .support_service .support_detail .detail_list .detail_description .inner ul li {
    font-size: 2.1rem;
    letter-spacing: 0.02em;
    line-height: 4rem;
    text-indent: -1em;
    padding-left: 1em;
  }
  .support_service .support_detail .detail_list .detail_description .inner a {
    display: block;
    font-size: 2.3rem;
    line-height: 8rem;
    color: #fff;
    margin: 0 auto;
    width: 62rem;
    height: 8.2rem;
    background: #a68b62;
    text-align: center;
    position: absolute;
    bottom: 4.5rem;
    left: 0;
    right: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  .support_service .support_detail .detail_list .detail_description .inner a:hover {
    -webkit-transform: scale(1.03, 1.03);
            transform: scale(1.03, 1.03);
  }
  /* Q&A */
  .support_qa .accordion {
    width: 143.6rem;
    margin: 0 auto 15rem;
  }
  .support_qa .accordion dl {
    margin: 0 0 9rem 0;
  }
  .support_qa .accordion dl.open dt {
    background: #cfbe9b;
  }
  .support_qa .accordion dl.open dt:after {
    background: url(/images/accordion_minus@2x.png) no-repeat center center;
    background-size: 2.7rem 1px;
  }
  .support_qa .accordion dl dt {
    border: 1px solid #eae8e4;
    height: 8rem;
    position: relative;
    cursor: pointer;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.03em;
    color: #000;
    margin: 0;
    padding: 0 0 0 4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .support_qa .accordion dl dt:hover {
    background: #cfbe9b;
  }
  .support_qa .accordion dl dt:after {
    content: "";
    background: url(/images/accordion_plus@2x.png) no-repeat center center;
    background-size: 2.7rem 2.7rem;
    width: 8rem;
    height: 8rem;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    border-left: 1px solid #eae8e4;
  }
  .support_qa .accordion dl dd {
    display: none;
    font-size: 2rem;
    font-weight: normal;
    letter-spacing: 0.03em;
    line-height: 3.8rem;
    color: #000;
    margin: 0;
    padding: 4rem 14rem 0 4rem;
  }
  .support_qa .accordion dl dd span {
    font-weight: bold;
    color: #dc0000;
  }
  .support_qa .accordion dl dd ul {
    margin: 2rem 0 0 0;
  }
  .support_qa .accordion dl dd ul li {
    text-indent: -1em;
    padding-left: 1em;
  }
  .support_qa .accordion dl dd ul li a {
    display: inline;
  }
}

@media (min-width: 768px) {
  /* トップページ */
  #top #top_mainvisual {
    background: url(/images/mainvisual@2x.jpg) no-repeat;
    background-size: cover;
    height: 63.3rem;
    padding: 13.5rem 0 0 0;
  }
  #top #top_mainvisual p {
    font-size: 3.4rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 4.3rem;
    color: #000;
    margin: 0 0 1rem 0;
    text-align: center;
    color: #fff;
  }
  #top #top_mainvisual p img {
    width: 12.4rem;
    height: 2.9rem;
  }
  #top #top_mainvisual dl {
    width: 62.3rem;
    height: 25rem;
    margin: 0 auto;
    border: 0.3rem solid rgba(255, 255, 255, 0.5);
  }
  #top #top_mainvisual dl dt {
    background: rgba(0, 0, 0, 0.4);
    font-size: 5.6rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 4.3rem;
    color: #fff;
    text-align: center;
    height: 18rem;
    padding: 3rem 0 0 0;
  }
  #top #top_mainvisual dl dt span {
    font-size: 3.9rem;
    display: block;
    margin: 0 0 2rem;
  }
  #top #top_mainvisual dl dd {
    background: #fff;
    height: 6.3rem;
    font-size: 3.5rem;
    font-weight: bold;
    letter-spacing: 0.2em;
    color: #a68b62;
    margin: 0;
    text-align: center;
  }
  #top #top_information {
    padding: 10rem 0 23.5rem;
    text-align: center;
  }
  #top #top_information h2 {
    font-size: 2.6rem;
    font-weight: bold;
    letter-spacing: 0.07em;
    line-height: 5.8rem;
    color: #a68b62;
    margin: 0 0 3.5rem 0;
  }
  #top #top_information p {
    font-size: 2rem;
    font-weight: normal;
    letter-spacing: 0;
    line-height: 5rem;
    margin: 0 0 5rem 0;
    color: #3f3f3f;
  }
  #top #top_point {
    background: #cfbe9b;
    padding: 0 0 10rem 0;
    min-height: 78rem;
    position: relative;
  }
  #top #top_point .inner {
    width: 143.6rem;
    margin: 0 auto;
    position: absolute;
    top: -18rem;
    left: 0;
    right: 0;
  }
  #top #top_point .inner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #top #top_point .inner ul li {
    width: 40rem;
    position: relative;
  }
  #top #top_point .inner ul li:nth-of-type(1):before {
    content: "01";
  }
  #top #top_point .inner ul li:nth-of-type(2):before {
    content: "02";
  }
  #top #top_point .inner ul li:nth-of-type(3):before {
    content: "03";
  }
  #top #top_point .inner ul li:before {
    font-family: "din-alternate", sans-serif;
    font-size: 20rem;
    font-weight: bold;
    letter-spacing: -0.03em;
    color: #fff;
    margin: 0;
    opacity: 0.3;
    position: absolute;
    top: 28.7rem;
    right: -8.2rem;
  }
  #top #top_point .inner ul li img {
    display: block;
    width: 100%;
    margin: 0 0 4.5rem 0;
  }
  #top #top_point .inner ul li h2 {
    font-size: 1.6rem;
    font-weight: normal;
    letter-spacing: 0.05em;
    color: #fff;
    margin: 0 0 0.5rem 0;
    font-family: futura, sans-serif;
  }
  #top #top_point .inner ul li h3 {
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    line-height: 4.3rem;
    color: #fff;
    margin: 0 0 2rem 0;
  }
  #top #top_point .inner ul li p {
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 3.4rem;
    color: #fff;
  }
  #top #top_case {
    text-align: center;
    padding: 20rem 0;
    position: relative;
    overflow: hidden;
  }
  #top #top_case .inner {
    position: relative;
  }
  #top #top_case .inner h2 {
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    line-height: 4.2rem;
    color: #6c4812;
    margin: 0 0 6rem 0;
    padding: 0.5rem 0;
    position: relative;
    z-index: 1;
  }
  #top #top_case .inner h2 span {
    display: block;
    font-size: 1.6rem;
    color: #cfbe9b;
    margin: 0 0 1rem 0;
    font-family: "din-alternate", sans-serif;
  }
  #top #top_case .inner .introduction {
    font-size: 2rem;
    font-weight: normal;
    line-height: 3.8rem;
    color: #3f3f3f;
    margin: 0 0 18.5rem 0;
    position: relative;
    z-index: 1;
  }
  #top #top_case .inner .bg_text {
    font-family: "din-alternate", sans-serif;
    font-size: 37.4rem;
    font-weight: bold;
    letter-spacing: -0.05em;
    color: #f8f8f8;
    margin: 0 auto;
    text-align: center;
    position: absolute;
    top: -4.5rem;
    left: -24%;
    white-space: nowrap;
    line-height: 1;
  }
  #top #top_case .inner .case_inner {
    width: 143.6rem;
    margin: 0 auto;
  }
  #top #top_case .inner .case_inner.case01 {
    margin: 0 auto 24rem;
  }
  #top #top_case .inner .case_inner h3 {
    font-size: 2.4rem;
    font-weight: bold;
    margin: 0 0 5rem 0;
  }
  #top #top_case .inner .case_inner img {
    width: 100%;
    margin: 0 0 4rem 0;
  }
  #top #top_case .inner .case_inner p {
    font-size: 2rem;
    font-weight: normal;
    line-height: 3.6rem;
    margin: 0 0 7rem 0;
  }
  #top #top_case .inner .case_inner a {
    background: #a68b62;
    font-size: 2.3rem;
    font-weight: normal;
    width: 43rem;
    height: 8.2rem;
    line-height: 8rem;
    color: #fff;
    margin: 0 auto;
    display: block;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  #top #top_case .inner .case_inner a:hover {
    -webkit-transform: scale(1.03, 1.03);
            transform: scale(1.03, 1.03);
  }
  /* 介護サポート*/
  #nursing .sub_mainvisual {
    background: url(/images/nursing_mainvisual@2x.jpg) no-repeat;
    background-size: cover;
  }
  /* 葬儀サポート */
  #funeral .sub_mainvisual {
    background: url(/images/funeral_mainvisual@2x.jpg) no-repeat;
    background-size: cover;
  }
  #funeral .support_contents ul li:nth-of-type(1) {
    width: 30%;
  }
  #funeral .support_contents ul li:nth-of-type(2) {
    width: 40%;
  }
  #funeral .support_contents ul li:nth-of-type(3) {
    width: 30%;
  }
  #funeral .support_detail {
    height: 620rem;
    margin-bottom: 10rem;
  }
  #funeral .support_detail .detail_list:nth-of-type(1) h6 {
    margin: 3rem 0 4rem 0;
  }
  #funeral .support_detail .detail_list:nth-of-type(4) {
    min-height: 134.7rem;
  }
  #funeral .support_detail .detail_list:nth-of-type(4) .detail_image {
    height: 134.7rem;
  }
  #funeral .support_detail .detail_list:nth-of-type(4) h6 {
    margin: 0 0 1rem 0;
  }
  #funeral .support_detail .detail_list:nth-of-type(5) {
    padding-top: 12rem;
  }
  #funeral .support_detail .detail_list .detail_price {
    position: absolute;
    top: 14rem;
    right: 16rem;
    width: 65rem;
  }
  #funeral .support_detail .detail_list .detail_price ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 0 12rem 0;
  }
  #funeral .support_detail .detail_list .detail_price ul li img {
    border-radius: 100%;
    width: 15rem;
    height: 15rem;
  }
  #funeral .support_detail .detail_list .detail_price ul li .inner {
    width: 45.7rem;
  }
  #funeral .support_detail .detail_list .detail_price ul li .inner h4 {
    font-size: 2.2rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    color: #fff;
    margin: 0 0 0 0;
    line-height: 1;
  }
  #funeral .support_detail .detail_list .detail_price ul li .inner h5 {
    font-size: 3.2rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    color: #fff;
    margin: 0 0 0.5rem 0;
    padding: 0 0 0 0;
    border-bottom: 1px solid #fff;
  }
  #funeral .support_detail .detail_list .detail_price ul li .inner h5 span {
    font-size: 2rem;
    margin: 0 0 0 0.5rem;
  }
  #funeral .support_detail .detail_list .detail_price ul li .inner p {
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 3.4rem;
    color: #fff;
  }
  #funeral .support_detail .detail_list .detail_place {
    position: absolute;
    top: 14rem;
    left: 24rem;
    width: 65rem;
  }
  #funeral .support_detail .detail_list .detail_place ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 0 8rem 0;
  }
  #funeral .support_detail .detail_list .detail_place ul li img {
    border-radius: 100%;
    width: 15rem;
    height: 15rem;
  }
  #funeral .support_detail .detail_list .detail_place ul li .inner {
    width: 45.7rem;
  }
  #funeral .support_detail .detail_list .detail_place ul li .inner h4 {
    font-size: 2.2rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 4.2rem;
    color: #fff;
    margin: 0 0 1rem 0;
    padding: 0 0 1rem 0;
    border-bottom: 1px solid #fff;
    width: 45.7rem;
  }
  #funeral .support_detail .detail_list .detail_place ul li .inner p {
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 3.4rem;
    color: #fff;
  }
  #funeral .support_detail .detail_list .detail_item {
    position: absolute;
    top: 16rem;
    right: 16rem;
    width: 65rem;
  }
  #funeral .support_detail .detail_list .detail_item ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 0 8rem 0;
  }
  #funeral .support_detail .detail_list .detail_item ul li img {
    border-radius: 100%;
    width: 15rem;
    height: 15rem;
  }
  #funeral .support_detail .detail_list .detail_item ul li .inner {
    width: 45.7rem;
  }
  #funeral .support_detail .detail_list .detail_item ul li .inner h4 {
    font-size: 3.2rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 4.2rem;
    color: #fff;
    margin: 0 0 1.5rem 0;
    padding: 0 0 1.5rem 0;
    border-bottom: 1px solid #fff;
    width: 45.7rem;
  }
  #funeral .support_detail .detail_list .detail_item ul li .inner p {
    font-size: 3.2rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 4.2rem;
    color: #fff;
  }
  #funeral .support_detail .detail_list .detail_support {
    position: absolute;
    top: 16rem;
    left: 22rem;
    width: 65rem;
  }
  #funeral .support_detail .detail_list .detail_support ul li {
    margin: 0 0 9rem 0;
    width: 46.8rem;
  }
  #funeral .support_detail .detail_list .detail_support ul li h4 {
    font-size: 2.7rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #fff;
    margin: 0 0 2rem 0;
    padding: 1rem;
    border: 1px solid #fff;
    text-align: center;
    line-height: 1;
  }
  #funeral .support_detail .detail_list .detail_support ul li img {
    width: 100%;
  }
  /* よくある質問 */
  #faq .sub_mainvisual {
    background: url(/images/faq_mainvisual@2x.jpg) no-repeat;
    background-size: cover;
  }
  #faq .support_qa {
    margin: 12rem 0 20rem 0;
  }
  #faq .support_qa h3 {
    font-size: 3rem;
    font-weight: bold;
    color: #a68b62;
    margin: 0 auto 10rem;
    padding: 0 0 2rem;
    text-align: center;
    border-bottom: 1px solid #eae8e4;
    width: 143.6rem;
  }
  /* お問い合わせ/送信内容確認/送信完了 */
  .contact_form .sub_mainvisual {
    background: url(/images/contact_mainvisual@2x.jpg) no-repeat;
    background-size: cover;
  }
  .contact_form .form_wrap {
    background: #f6f5f3;
    padding: 23rem 0;
  }
  .contact_form .form_wrap #form,
  .contact_form .form_wrap .completion_form {
    width: 156.9rem;
    background: #fff;
    margin: 0 auto;
    padding: 5rem 6.4rem 16rem;
  }
  .contact_form .form_wrap #form h2,
  .contact_form .form_wrap .completion_form h2 {
    font-size: 2.7rem;
    font-weight: bold;
    color: #a68b62;
    margin: 0 auto 1rem;
    padding: 0 0 4rem;
    text-align: center;
    letter-spacing: 0.15em;
    width: 143.6rem;
    border-bottom: 1px solid #eae8e4;
  }
  /* お問い合わせ */
  #contact .form_wrap #form .required {
    display: block;
    font-size: 2rem;
    font-weight: normal;
    text-align: right;
    margin: 0 0 8.5rem;
  }
  #contact .form_wrap #form .required span {
    font-size: 1.6rem;
    font-weight: normal;
    display: inline-block;
    text-align: center;
    margin: 0 0 0 0.5rem;
    padding: 0.5rem 0 0 0;
    line-height: 2.2rem;
    vertical-align: top;
  }
  #contact .form_wrap #form table tr {
    display: block;
    width: 143.6rem;
    margin: 0 0 5rem;
  }
  #contact .form_wrap #form table tr.contact_radio {
    margin: 8.5rem 0 7.5rem;
  }
  #contact .form_wrap #form table tr.contact_area {
    margin: 0 0 6.5rem;
  }
  #contact .form_wrap #form table tr.contact_naiyou {
    border-bottom: none;
    margin: 0 0 8.5rem 0;
  }
  #contact .form_wrap #form table tr th {
    display: block;
    font-size: 2rem;
    font-weight: normal;
    text-align: left;
    margin: 0 0 1.5rem;
  }
  #contact .form_wrap #form table tr th span {
    font-size: 1.6rem;
    font-weight: normal;
    display: inline-block;
    text-align: center;
    margin: 0 0 0 0.5rem;
    padding: 0.5rem 0 0 0;
    line-height: 2.2rem;
    vertical-align: top;
  }
  #contact .form_wrap #form table tr td {
    display: block;
    width: 143.6rem;
    text-align: left;
    position: relative;
  }
  #contact .form_wrap #form table tr td.nursing_category.contact_radio {
    margin-top: 3.5rem;
  }
  #contact .form_wrap #form table tr td.contact_radio {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 0 4.5rem;
  }
  #contact .form_wrap #form table tr td.contact_radio label.radio {
    margin: 0;
    font-size: 2rem;
    font-weight: normal;
    vertical-align: middle;
    position: relative;
    line-height: 0;
    cursor: pointer;
    width: 20%;
  }
  #contact .form_wrap #form table tr td.contact_radio label.radio:last-of-type {
    padding: 0 0 0 3rem;
  }
  #contact .form_wrap #form table tr td.contact_radio label.radio input[type="radio"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    appearance: none;
    background: #fff;
    background: url(/images/radio_off@2x.png) no-repeat;
    background-size: 4.2rem 4.2rem;
    width: 4.2rem;
    height: 4.2rem;
    cursor: pointer;
    margin: 0 1.5rem 1px 0;
  }
  #contact .form_wrap #form table tr td.contact_radio label.radio input[type="radio"]:hover {
    background: url(/images/radio_hover@2x.png) no-repeat;
    background-size: 4.2rem 4.2rem;
  }
  #contact .form_wrap #form table tr td.contact_radio label.radio input[type="radio"]:checked {
    content: "";
    background: url(/images/radio_on@2x.png) no-repeat;
    background-size: 4.2rem 4.2rem;
  }
  #contact .form_wrap #form table tr td input[type="text"],
  #contact .form_wrap #form table tr td input[type="tel"] {
    width: 100%;
    background: #fff;
    border: 1px solid #eae8e4;
    font-size: 2.4rem;
    padding: 2.5rem;
  }
  #contact .form_wrap #form table tr td textarea {
    width: 100%;
    background: #fff;
    border: 1px solid #eae8e4;
    height: 51.7rem;
    font-size: 2.4rem;
    padding: 2rem;
  }
  #contact .form_wrap #form table tr td .select_wrap {
    width: 50.4rem;
    height: 8rem;
    position: relative;
  }
  #contact .form_wrap #form table tr td .select_wrap:after {
    content: "";
    background: url(/images/select_arrow@2x.png) no-repeat center center;
    background-size: 3.2rem 1.8rem;
    width: 3.2rem;
    height: 1.8rem;
    display: inline-block;
    vertical-align: 0rem;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 2.5rem;
  }
  #contact .form_wrap #form table tr td .select_wrap select {
    width: 50.4rem;
    height: 8rem;
    padding: 0 2.5rem;
    border: 1px solid #eae8e4;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
  }
  #contact .form_wrap #form table tr td select::-ms-expand {
    　display: none;
  }
  #contact .form_wrap #form table tr td #category_err {
    position: relative;
    display: block;
  }
  #contact .form_wrap #form table tr td input + label.error,
  #contact .form_wrap #form table tr td textarea + label.error,
  #contact .form_wrap #form table tr td #category_err label {
    font-size: 2.4rem;
    color: #cb3f3f;
    display: block;
    margin: 1.5rem 0 0 0;
  }
  #contact .form_wrap #form .send {
    width: 62rem;
    margin: 0 auto;
  }
  #contact .form_wrap #form .send .submit {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
    width: 100%;
    height: 8rem;
    font-size: 2.3rem;
    line-height: 8rem;
    color: #fff;
    background: #000;
    text-align: center;
    margin: 0;
  }
  #contact .form_wrap #form .send .submit:hover {
    -ms-filter: "alpha(opacity=70)";
    /* IE 8,9 */
    -moz-opacity: 0.7;
    /* FF , Netscape */
    -khtml-opacity: 0.7;
    /* Safari 1.x */
    opacity: 0.7;
  }
  /* 送信内容確認 */
  #confirm .inner .problem {
    width: 102rem;
    margin: 10rem auto 10rem;
    font-size: 2.2rem;
    font-weight: bold;
    text-align: center;
  }
  #confirm .inner form {
    margin: 0 auto;
  }
  #confirm .inner form table {
    border-top: 1px dashed #ddd;
    width: 102rem;
    margin: 0 auto;
    display: block;
  }
  #confirm .inner form table tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-bottom: 1px dashed #ddd;
    width: 102rem;
    padding: 2.5rem 0;
  }
  #confirm .inner form table tr th {
    width: 28rem;
    font-size: 2rem;
    font-weight: bold;
    text-align: left;
  }
  #confirm .inner form table tr td {
    font-size: 2rem;
    width: 74rem;
    text-align: left;
  }
  #confirm .inner form .send {
    margin: 9rem auto 1rem;
  }
  #confirm .inner form .send .submit {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
    width: 60rem;
    height: 8rem;
    font-size: 2.2rem;
    line-height: 8rem;
    color: #fff;
    background: #000;
    text-align: center;
    margin: 0 auto 7rem;
    display: block;
  }
  #confirm .inner form .send .submit:hover {
    -ms-filter: "alpha(opacity=70)";
    /* IE 8,9 */
    -moz-opacity: 0.7;
    /* FF , Netscape */
    -khtml-opacity: 0.7;
    /* Safari 1.x */
    opacity: 0.7;
  }
  #confirm .inner form .send .back {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
    display: block;
    margin: 0 auto;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    background: none;
    background: url(/images/arrow_black_left@2x.png) no-repeat left center;
    text-indent: 2rem;
    background-size: 0.8rem 1.4rem;
  }
  #confirm .inner form .send .back:hover {
    -ms-filter: "alpha(opacity=70)";
    /* IE 8,9 */
    -moz-opacity: 0.7;
    /* FF , Netscape */
    -khtml-opacity: 0.7;
    /* Safari 1.x */
    opacity: 0.7;
  }
  /* 送信内容確認 */
  #completion .completion_form .done {
    width: 80rem;
    margin: 7rem auto 8rem;
  }
  #completion .completion_form .done p.lead {
    font-size: 2.2rem;
    margin: 0 0 6rem 0;
    line-height: 4.2rem;
  }
  #completion .completion_form .done .caution h3 {
    font-size: 2.4rem;
    font-weight: bold;
    margin: 0 0 3rem 0;
  }
  #completion .completion_form .done .caution ul {
    margin: 0 0 4rem 0;
  }
  #completion .completion_form .done .caution ul li {
    font-size: 2.2rem;
    margin: 0 0 1.5rem 0;
  }
  #completion .completion_form .done .caution p {
    font-size: 2.2rem;
    margin: 0 0 3rem 0;
    line-height: 4.2rem;
  }
  /* NotFound */
  #notfound #content {
    width: 102rem;
    min-height: 60rem;
    margin: 20rem auto 0;
    text-align: center;
  }
}

@media (min-width: 768px) and (min-width: 768px) {
  #notfound #content {
    font-size: 2.4rem;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  #notfound #content {
    font-size: 2.88rem;
    line-height: 5rem;
  }
}

@media (min-width: 768px) {
  #notfound #content h1 {
    margin: 0 0 5rem;
  }
}

@media (min-width: 768px) and (min-width: 768px) {
  #notfound #content h1 {
    font-size: 3.6rem;
  }
}

@media (min-width: 768px) {
  #notfound #content p {
    line-height: 5rem;
    margin: 0 0 5rem;
  }
}

@media (min-width: 768px) and (min-width: 768px) {
  #notfound #content p {
    font-size: 2.2rem;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  #notfound #content p {
    font-size: 2.64rem;
    line-height: 5rem;
  }
}

@media (min-width: 768px) {
  #notfound #content p a {
    text-decoration: underline;
  }
}

@media (max-width: 767px) {
  /* 共通設定 */
  body {
    font-family: "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.6rem;
    letter-spacing: 0;
    color: #000;
    background: #fff !important;
  }
  body a:hover {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
    will-change: transition;
  }
  body a:hover:hover {
    -ms-filter: "alpha(opacity=70)";
    /* IE 8,9 */
    -moz-opacity: 0.7;
    /* FF , Netscape */
    -khtml-opacity: 0.7;
    /* Safari 1.x */
    opacity: 0.7;
  }
  /* 共通ヘッダー */
  #header {
    height: 7rem;
  }
  #header.show .sp_header .header_top {
    position: fixed;
  }
  #header .sp_header .header_top {
    position: relative;
    z-index: 100;
    top: 0;
    width: 100%;
    height: 7rem;
    background: #fff;
  }
  #header .sp_header .header_top h1 {
    background: #f6f5f2;
    font-size: 1.1rem;
    padding: 0 1.6rem;
  }
  #header .sp_header .header_top .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1.5rem 1.6rem 1.5rem;
    position: relative;
  }
  #header .sp_header .header_top .inner .header_logo {
    line-height: 1;
  }
  #header .sp_header .header_top .inner .header_logo img {
    width: 8rem;
  }
  #header .sp_header .header_top .inner #sp-menu-btn {
    right: 0;
    top: 0;
    z-index: 10;
    width: 5rem;
    height: 5rem;
    position: absolute;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    position: absolute;
    z-index: 100;
    /* SPメニューを開いた状態 */
  }
  #header .sp_header .header_top .inner #sp-menu-btn span {
    display: inline-block;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: absolute;
    left: 0;
    right: 0;
    width: 1.6rem;
    height: 0.2rem;
    margin: 0 auto;
    background: #000;
  }
  #header .sp_header .header_top .inner #sp-menu-btn span:nth-of-type(1) {
    top: 1.6rem;
  }
  #header .sp_header .header_top .inner #sp-menu-btn span:nth-of-type(2) {
    top: 2.2rem;
  }
  #header .sp_header .header_top .inner #sp-menu-btn span:nth-of-type(3) {
    top: 2.8rem;
  }
  #header .sp_header .header_top .inner #sp-menu-btn.show span:nth-of-type(1) {
    width: 2.3rem;
    -webkit-transform: translateY(0.6rem) rotate(45deg);
            transform: translateY(0.6rem) rotate(45deg);
  }
  #header .sp_header .header_top .inner #sp-menu-btn.show span:nth-of-type(2) {
    opacity: 0;
  }
  #header .sp_header .header_top .inner #sp-menu-btn.show span:nth-of-type(3) {
    bottom: 0;
    width: 2.3rem;
    -webkit-transform: translateY(-0.6rem) rotate(-45deg);
            transform: translateY(-0.6rem) rotate(-45deg);
  }
  #header .modal_menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow-y: auto;
    z-index: 98;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    background: #fff;
    padding: 7rem 1.6rem 0;
  }
  #header .modal_menu.show {
    opacity: 1;
    visibility: visible;
  }
  #header .modal_menu .header_menu ul {
    border-top: 1px solid #eee;
    margin: 0 0 3rem;
  }
  #header .modal_menu .header_menu ul li {
    border-bottom: 1px solid #eee;
  }
  #header .modal_menu .header_menu ul li a {
    display: block;
    padding: 1.5rem 0;
    font-size: 1.4rem;
    background: url(/images/arrow_triangle_black_right.svg) no-repeat 95% center;
    background-size: 0.9rem 0.9rem;
  }
  #header .modal_menu .header_menu .header_contact {
    display: block;
    width: 22rem;
    height: 5.4rem;
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 5.4rem;
    letter-spacing: 0.02em;
    color: #fff;
    margin: 0 auto 5rem;
    background: #000;
    text-align: center;
  }
  #header .modal_menu .header_tel {
    background: #f6f5f2;
    margin: 0 0 3rem;
  }
  #header .modal_menu .header_tel ul {
    padding: 2.4rem 1.6rem 0.5rem;
  }
  #header .modal_menu .header_tel ul li {
    font-size: 1.4rem;
    line-height: 2.8rem;
    text-align: center;
    margin: 0 0 2rem;
  }
  #header .modal_menu .header_tel ul li:first-of-type {
    padding-bottom: 2rem;
    border-bottom: 1px solid #dcd4c3;
  }
  #header .modal_menu .header_tel ul li a {
    font-size: 1.8rem;
    font-weight: 900;
  }
  /* 共通フッター */
  #footer {
    background: #cfbe9b;
  }
  #footer .footer_top {
    margin: 0 auto;
    padding: 5rem 1.6rem 6rem;
    text-align: center;
  }
  #footer .footer_top h2 {
    font-size: 2rem;
    font-weight: bold;
    line-height: 3.4rem;
    color: #fff;
    margin: 0 0 2.5rem 0;
  }
  #footer .footer_top .description {
    font-size: 1.6rem;
    line-height: 3rem;
    color: #fff;
    margin: 0 0 4rem 0;
    font-weight: 500;
  }
  #footer .footer_top .footer_tel {
    border: 1px solid #fff;
    margin: 0 0 5rem 0;
    padding: 2rem 1.6rem;
  }
  #footer .footer_top .footer_tel dl:first-of-type {
    margin: 0 0 2.5rem 0;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid #e2d3b3;
  }
  #footer .footer_top .footer_tel dl dt {
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    margin: 0 0 1rem;
  }
  #footer .footer_top .footer_tel dl dt span {
    display: block;
    font-size: 1.4rem;
    line-height: 1.4;
  }
  #footer .footer_top .footer_tel dl dd a {
    font-family: "din-alternate", sans-serif;
    font-size: 3.6rem;
    font-weight: bold;
    color: #fff;
    line-height: 1;
    margin: 0 0 0.8rem;
  }
  #footer .footer_top .footer_tel dl dd p {
    font-size: 1.4rem;
    font-weight: 500;
    color: #fff;
  }
  #footer .footer_top .footer_tel dl dd p.brown {
    color: #765a31;
    font-weight: bold;
  }
  #footer .footer_top .footer_contact {
    border: 1px solid #fff;
    font-size: 1.6rem;
    font-weight: normal;
    width: 28rem;
    height: 6rem;
    line-height: 6rem;
    color: #fff;
    margin: 0 auto;
    display: block;
  }
  #footer .footer_bottom {
    background: #19110a;
    padding: 3.5rem 1.6rem 1.5rem;
  }
  #footer .footer_bottom .inner {
    margin: 0 auto;
  }
  #footer .footer_bottom .inner a {
    display: block;
    text-align: center;
  }
  #footer .footer_bottom .inner a img {
    width: 8rem;
  }
  #footer .footer_bottom .inner ul {
    border-top: 1px solid #392d23;
    margin: 2rem 0 0;
    padding: 2rem 0;
    text-align: center;
  }
  #footer .footer_bottom .inner ul li {
    display: inline-block;
  }
  #footer .footer_bottom .inner ul li a {
    font-size: 1.4rem;
    color: #fff;
    padding: 0 1rem;
  }
  /* サブページのメインビジュアル */
  .sub_mainvisual {
    height: 15rem;
    position: relative;
    z-index: 1;
  }
  .sub_mainvisual .inner {
    height: 15rem;
    margin: 0 auto;
    padding: 0 1.6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    position: relative;
  }
  .sub_mainvisual .inner h2 {
    font-size: 2.2rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    color: #fff;
    margin: 0.5rem 0 0 0;
    line-height: 1;
    text-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
  }
  .sub_mainvisual .inner h2 span {
    font-family: "quentin", sans-serif;
    font-size: 3rem;
    font-weight: normal;
    letter-spacing: 0.05em;
    display: block;
    margin: 0.5rem 0 0 0;
  }
  .sub_mainvisual .inner a {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1.5rem;
    display: block;
    margin: 0 auto;
    width: 3rem;
    height: 3rem;
  }
  .sub_mainvisual .inner a img {
    width: 100%;
  }
  /* サブページの下線付きの見出し  */
  .border_heading {
    font-size: 2rem;
    font-weight: bold;
    color: #a68b62;
    margin: 0 0 6rem 0;
    text-align: center;
    position: relative;
  }
  .border_heading:after {
    content: "";
    width: 4.8rem;
    height: 1px;
    background: #a68b62;
    position: absolute;
    bottom: -2rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: block;
  }
  .border_heading span {
    font-family: "din-alternate", sans-serif;
    font-size: 1.4rem;
    color: #cfbe9b;
    display: block;
    margin: 0 0 0.5rem 0;
  }
  /* 介護サポート・葬儀サポートの共通レイアウト */
  .support_service .support_introduction {
    margin: 0 0 6rem;
    padding: 5rem 1.6rem 0;
  }
  .support_service .support_introduction h3 {
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    color: #a68b62;
    margin: 0 0 2rem 0;
    text-align: center;
  }
  .support_service .support_introduction h3 span {
    font-family: "din-alternate", sans-serif;
    font-size: 1.4rem;
    color: #cfbe9b;
    display: block;
    margin: 0 0 1rem 0;
  }
  .support_service .support_introduction p {
    font-size: 1.4rem;
    letter-spacing: 0.04em;
    line-height: 2.8rem;
    color: #3f3f3f;
    margin: 0;
    text-align: center;
  }
  .support_service .support_person {
    position: relative;
    margin: 0 0 6rem;
  }
  .support_service .support_person:before {
    content: "";
    display: block;
    background: #cfcfcf;
    width: 100%;
    height: 15rem;
    position: absolute;
    top: 0;
    left: 0;
  }
  .support_service .support_person .person_image {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 1.6rem;
    padding: 1.6rem 0 0 0;
    font-size: 0;
  }
  .support_service .support_person .person_image img {
    width: 100%;
    display: block;
    line-height: 1;
    padding: 0 1.6rem 0 1.6rem;
  }
  .support_service .support_person .person_description {
    position: relative;
    margin: 0 auto;
    padding: 3rem 1.6rem 0;
  }
  .support_service .support_person .person_description h3 {
    font-size: 1.6rem;
    font-weight: bold;
    color: #000;
    margin: 0 0 0.5rem 0;
    padding: 0.5rem 2rem;
    position: absolute;
    top: 18.5rem;
    right: 1.6rem;
    background: #ceb99a;
  }
  .support_service .support_person .person_description h4 {
    font-size: 2.2rem;
    font-weight: bold;
    color: #000;
    margin: 0 0 3rem 0;
    padding: 0.5rem 2rem;
    background: #a68b62;
    position: absolute;
    top: 22rem;
    right: 1.6rem;
  }
  .support_service .support_person .person_description h4 span {
    font-family: "Georgia", sans-serif;
    font-size: 1.6rem;
    margin: 0 0 2rem 1rem;
  }
  .support_service .support_person .person_description .inner {
    padding: 30rem 0 0 0;
  }
  .support_service .support_person .person_description .inner p {
    font-size: 1.4rem;
    line-height: 2.8rem;
    color: #000;
    margin: 0 0 2rem 0;
  }
  .support_service .support_person .person_description .inner h5 {
    font-size: 1.6rem;
    font-weight: bold;
    color: #000;
    margin: 0 0 0.5rem 0;
  }
  .support_service .support_contents ul {
    margin: 0 auto 0;
    padding: 0 1.6rem 0;
  }
  .support_service .support_contents ul li {
    background: url(/images/check_gold@2x.png) no-repeat left 0.2rem;
    background-size: 2.3rem 2.3rem;
    margin: 0 0 2rem 0;
  }
  .support_service .support_contents ul li h4 {
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    color: #000;
    margin: 0 0 0.3rem 0;
    padding: 0 0 0 3.5rem;
  }
  .support_service .support_contents ul li p {
    font-size: 1.4rem;
    letter-spacing: 0.02em;
    line-height: 2.6rem;
    color: #29231e;
    margin: 0;
    padding: 0 0 0 3.5rem;
  }
  .support_service .support_detail {
    position: relative;
    margin: 0 0 8rem 0;
    width: 100%;
    overflow-x: hidden;
  }
  .support_service .support_detail:before {
    content: "";
    background: #f3eee4;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
  }
  .support_service .support_detail .detail_list {
    width: 100%;
    overflow-x: hidden;
    position: relative;
    margin: 0 0 2rem 0;
    padding: 4rem 0 0 0;
  }
  .support_service .support_detail .detail_list .detail_image {
    display: block;
    width: 100%;
    height: 20rem;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    -o-object-position: 0 25%;
       object-position: 0 25%;
    position: absolute;
  }
  .support_service .support_detail .detail_list .detail_description {
    margin: 0 auto;
    position: relative;
  }
  .support_service .support_detail .detail_list .detail_description .inner {
    padding: 1.6rem 1.6rem 1.6rem;
    margin: 10.6rem 1.6rem 0 1.6rem;
    position: relative;
    background: rgba(255, 255, 255, 0.8);
  }
  .support_service .support_detail .detail_list .detail_description .inner h4 {
    font-size: 2rem;
    font-weight: 500;
    color: #a68b62;
    margin: 0 0 0.5rem 0;
    text-align: center;
  }
  .support_service .support_detail .detail_list .detail_description .inner h5 {
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 3rem;
    margin: 0 0 2rem 0;
    text-align: center;
  }
  .support_service .support_detail .detail_list .detail_description .inner h6 {
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 3rem;
    margin: 0 0 2rem 0;
  }
  .support_service .support_detail .detail_list .detail_description .inner p {
    font-size: 1.4rem;
    letter-spacing: 0.02em;
    line-height: 2.4rem;
    margin: 0 0 2rem 0;
  }
  .support_service .support_detail .detail_list .detail_description .inner ul {
    margin: 0 0 2rem 0;
  }
  .support_service .support_detail .detail_list .detail_description .inner ul li {
    font-size: 1.4rem;
    letter-spacing: 0.02em;
    line-height: 2.4rem;
    text-indent: -1em;
    padding-left: 1em;
    margin: 0 0 0.5rem;
  }
  .support_service .support_detail .detail_list .detail_description .inner a {
    display: block;
    font-size: 1.6rem;
    line-height: 5.5rem;
    color: #fff;
    margin: 0 auto;
    height: 5.5rem;
    background: #a68b62;
    text-align: center;
  }
  .support_qa .accordion {
    margin: 0 auto 8rem;
    padding: 0 1.6rem;
  }
  .support_qa .accordion dl {
    margin: 0 0 2rem 0;
  }
  .support_qa .accordion dl.open dt {
    background: #cfbe9b;
  }
  .support_qa .accordion dl.open dt:after {
    background: url(/images/accordion_minus@2x.png) no-repeat center center;
    background-size: 2rem 1px;
  }
  .support_qa .accordion dl dt {
    border: 1px solid #eae8e4;
    position: relative;
    cursor: pointer;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.03em;
    color: #000;
    margin: 0;
    padding: 1rem 4.5rem 1rem 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .support_qa .accordion dl dt:hover {
    background: #cfbe9b;
  }
  .support_qa .accordion dl dt:after {
    content: "";
    background: url(/images/accordion_plus@2x.png) no-repeat center center;
    background-size: 2rem 2rem;
    width: 4rem;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    border-left: 1px solid #eae8e4;
  }
  .support_qa .accordion dl dd {
    display: none;
    font-size: 1.4rem;
    font-weight: normal;
    letter-spacing: 0.03em;
    line-height: 2.6rem;
    color: #000;
    margin: 0;
    padding: 1rem 1rem 1rem 1.5rem;
  }
  .support_qa .accordion dl dd span {
    font-weight: bold;
    color: #dc0000;
  }
  .support_qa .accordion dl dd ul {
    margin: 2rem 0 0 0;
  }
  .support_qa .accordion dl dd ul li {
    text-indent: -1em;
    padding-left: 1em;
    line-height: 1.6;
    margin: 0 0 0.8rem;
  }
  .support_qa .accordion dl dd ul li a {
    display: inline;
  }
}

@media (max-width: 767px) {
  /* トップページ */
  #top #top_mainvisual {
    background: url(/images/mainvisual@2x.jpg) no-repeat center top;
    background-size: cover;
    height: 25rem;
    margin: 0;
    padding: 3rem 1.6rem 0;
  }
  #top #top_mainvisual p {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 3.6rem;
    color: #000;
    margin: 0 0 1rem 0;
    text-align: center;
    color: #fff;
  }
  #top #top_mainvisual p img {
    width: 6.5rem;
    margin: 0 0.5rem 0 0;
  }
  #top #top_mainvisual dl {
    margin: 0 auto;
    border: 0.3rem solid rgba(255, 255, 255, 0.5);
  }
  #top #top_mainvisual dl dt {
    background: rgba(0, 0, 0, 0.4);
    font-size: 2.8rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.6;
    color: #fff;
    text-align: center;
    padding: 1.5rem 0;
  }
  #top #top_mainvisual dl dt span {
    font-size: 2rem;
    display: block;
  }
  #top #top_mainvisual dl dd {
    background: #fff;
    height: 4rem;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.2em;
    color: #a68b62;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #top #top_information {
    padding: 4rem 1.6rem 3rem;
    text-align: center;
  }
  #top #top_information h2 {
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.07em;
    line-height: 3.6rem;
    color: #a68b62;
    margin: 0 0 3.5rem 0;
    text-align: left;
  }
  #top #top_information p {
    font-size: 1.4rem;
    font-weight: normal;
    letter-spacing: 0.03em;
    line-height: 2.8rem;
    margin: 0 0 2rem 0;
    text-align: left;
  }
  #top #top_point {
    background: #cfbe9b;
    padding: 6rem 0 2rem 0;
    position: relative;
  }
  #top #top_point .inner {
    margin: 0 auto;
    top: 0;
    left: 0;
    right: 0;
  }
  #top #top_point .inner ul li {
    margin: 0 0 6rem;
    padding: 0 1.6rem;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  #top #top_point .inner ul li:nth-of-type(1):before {
    content: "01";
  }
  #top #top_point .inner ul li:nth-of-type(2):before {
    content: "02";
  }
  #top #top_point .inner ul li:nth-of-type(3):before {
    content: "03";
  }
  #top #top_point .inner ul li:before {
    font-family: "din-alternate", sans-serif;
    font-size: 20rem;
    font-weight: bold;
    letter-spacing: -0.03em;
    color: #fff;
    margin: 0;
    opacity: 0.2;
    position: absolute;
    top: -13rem;
    right: 0rem;
  }
  #top #top_point .inner ul li img {
    display: block;
    width: 100%;
    height: 20rem;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    -o-object-position: 0 25%;
       object-position: 0 25%;
  }
  #top #top_point .inner ul li h2 {
    font-size: 1.4rem;
    font-weight: normal;
    letter-spacing: 0.05em;
    color: #fff;
    margin: 0 0 0.5rem 0;
    font-family: futura, sans-serif;
  }
  #top #top_point .inner ul li h3 {
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    line-height: 3.4rem;
    color: #fff;
    margin: 0 0 1rem 0;
    width: 100%;
  }
  #top #top_point .inner ul li p {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 2.6rem;
    color: #fff;
    margin: 0 0 2rem;
  }
  #top #top_case {
    text-align: center;
    padding: 6rem 1.6rem 6rem;
    position: relative;
    overflow: hidden;
  }
  #top #top_case .inner {
    position: relative;
  }
  #top #top_case .inner h2 {
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    line-height: 3.8rem;
    color: #6c4812;
    margin: 0 0 2rem 0;
    padding: 0.5rem 0;
    position: relative;
    z-index: 1;
  }
  #top #top_case .inner h2 span {
    display: block;
    font-size: 1.4rem;
    color: #cfbe9b;
    margin: 0 0 0.5rem 0;
    font-family: "din-alternate", sans-serif;
    line-height: 1.5;
  }
  #top #top_case .inner .introduction {
    font-size: 1.6rem;
    font-weight: normal;
    line-height: 3rem;
    color: #000;
    margin: 0 0 6rem 0;
    position: relative;
    z-index: 1;
    text-align: left;
  }
  #top #top_case .inner .bg_text {
    font-family: "din-alternate", sans-serif;
    font-size: 16rem;
    font-weight: bold;
    letter-spacing: -0.05em;
    color: #f8f8f8;
    margin: 0 auto;
    position: absolute;
    top: -7.5rem;
    left: -2.3rem;
    white-space: nowrap;
    line-height: 0.9;
    text-align: left;
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
  #top #top_case .inner .case_inner {
    margin: 0 auto;
    position: relative;
  }
  #top #top_case .inner .case_inner.case01 {
    margin: 0 auto 7.5rem;
  }
  #top #top_case .inner .case_inner h3 {
    font-size: 2rem;
    font-weight: bold;
    margin: 0 0 2rem 0;
  }
  #top #top_case .inner .case_inner img {
    width: 100%;
    margin: 0 0 2rem 0;
  }
  #top #top_case .inner .case_inner p {
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 2.6rem;
    margin: 0 0 3rem 0;
  }
  #top #top_case .inner .case_inner a {
    background: #a68b62;
    font-size: 1.6rem;
    font-weight: normal;
    width: 28rem;
    height: 5.2rem;
    line-height: 5.2rem;
    color: #fff;
    margin: 0 auto;
    display: block;
  }
  /* 介護サポート */
  #nursing .sub_mainvisual {
    background: url(/images/nursing_mainvisual@2x.jpg) no-repeat 40% center;
    background-size: cover;
  }
  /* 葬儀サポート */
  #funeral .sub_mainvisual {
    background: url(/images/funeral_mainvisual@2x.jpg) no-repeat 40% center;
    background-size: cover;
  }
  #funeral .support_detail .detail_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #funeral .support_detail .detail_list:nth-of-type(1) h6 {
    margin: 2rem 0 0.5rem 0;
  }
  #funeral .support_detail .detail_list:nth-of-type(4) h6 {
    margin: 0 0 0.5rem 0;
  }
  #funeral .support_detail .detail_list .detail_image {
    -o-object-position: 0 55%;
       object-position: 0 55%;
  }
  #funeral .support_detail .detail_list .detail_description {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  #funeral .support_detail .detail_list a.sp {
    display: block;
    font-size: 1.6rem;
    line-height: 5.5rem;
    color: #fff;
    margin: 0 auto;
    width: 31rem;
    height: 5.5rem;
    background: #a68b62;
    text-align: center;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  #funeral .support_detail .detail_list .detail_price {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #funeral .support_detail .detail_list .detail_price ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 0 3rem 0;
    padding: 0 1.6rem;
  }
  #funeral .support_detail .detail_list .detail_price ul li img {
    border-radius: 100%;
    width: 7.5rem;
    height: 7.5rem;
    position: absolute;
  }
  #funeral .support_detail .detail_list .detail_price ul li .inner {
    padding: 0 0 0 9rem;
  }
  #funeral .support_detail .detail_list .detail_price ul li .inner h4 {
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    color: #000;
    margin: 0 0 0 0;
    line-height: 1;
  }
  #funeral .support_detail .detail_list .detail_price ul li .inner h5 {
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    color: #000;
    margin: 0 0 1rem 0;
    padding: 0 0 0.5rem 0;
    border-bottom: 1px solid #000;
  }
  #funeral .support_detail .detail_list .detail_price ul li .inner h5 span {
    font-size: 1.4rem;
    margin: 0 0 0 0;
  }
  #funeral .support_detail .detail_list .detail_price ul li .inner p {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2.4rem;
    color: #000;
  }
  #funeral .support_detail .detail_list .detail_place {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #funeral .support_detail .detail_list .detail_place ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 0 3rem 0;
    padding: 0 1.6rem;
  }
  #funeral .support_detail .detail_list .detail_place ul li img {
    border-radius: 100%;
    width: 7.5rem;
    height: 7.5rem;
    position: absolute;
  }
  #funeral .support_detail .detail_list .detail_place ul li .inner {
    padding: 0 0 0 9rem;
  }
  #funeral .support_detail .detail_list .detail_place ul li .inner h4 {
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 2.8rem;
    color: #000;
    margin: 0 0 1rem 0;
    padding: 0 0 0.5rem 0;
    border-bottom: 1px solid #000;
  }
  #funeral .support_detail .detail_list .detail_place ul li .inner p {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2.6rem;
    color: #000;
  }
  #funeral .support_detail .detail_list .detail_item {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
  }
  #funeral .support_detail .detail_list .detail_item ul {
    margin: 0 0 4rem;
  }
  #funeral .support_detail .detail_list .detail_item ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 0 3rem 0;
    padding: 0 1.6rem;
  }
  #funeral .support_detail .detail_list .detail_item ul li img {
    border-radius: 100%;
    width: 7.5rem;
    height: 7.5rem;
    position: absolute;
  }
  #funeral .support_detail .detail_list .detail_item ul li .inner {
    width: 100%;
    padding: 0.3rem 0 0 9rem;
  }
  #funeral .support_detail .detail_list .detail_item ul li .inner h4 {
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 2.8rem;
    color: #000;
    margin: 0 0 1rem 0;
    padding: 0 0 0.5rem 0;
    border-bottom: 1px solid #000;
  }
  #funeral .support_detail .detail_list .detail_item ul li .inner p {
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 2.6rem;
    color: #000;
  }
  #funeral .support_detail .detail_list .detail_support {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
  }
  #funeral .support_detail .detail_list .detail_support ul li {
    margin: 0 0 3rem 0;
    padding: 0 3.2rem;
  }
  #funeral .support_detail .detail_list .detail_support ul li h4 {
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 2.8rem;
    color: #000;
    margin: 0 0 2rem 0;
    padding: 1rem;
    border: 1px solid #000;
    text-align: center;
    line-height: 1;
  }
  #funeral .support_detail .detail_list .detail_support ul li img {
    width: 100%;
  }
  /* よくある質問 */
  #faq .sub_mainvisual {
    background: url(/images/faq_mainvisual@2x.jpg) no-repeat 40% center;
    background-size: cover;
  }
  #faq .support_qa h3 {
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    margin: 5rem 1.6rem 4rem;
    padding: 0 0 1.5rem 0;
    line-height: 2.8rem;
    border-bottom: 1px solid #eae8e4;
    color: #a68b62;
    text-align: center;
  }
  /* お問い合わせ/送信内容確認/送信完了 */
  .contact_form .sub_mainvisual {
    background: url(/images/contact_mainvisual@2x.jpg) no-repeat 40% center;
    background-size: cover;
  }
  .contact_form .form_wrap {
    background: #f6f5f3;
    padding: 6rem 1.6rem;
  }
  .contact_form .form_wrap #form,
  .contact_form .form_wrap .completion_form {
    background: #fff;
    margin: 0 auto;
    padding: 3rem 1.6rem 6rem;
  }
  .contact_form .form_wrap #form h2,
  .contact_form .form_wrap .completion_form h2 {
    font-size: 1.8rem;
    font-weight: bold;
    color: #a68b62;
    margin: 0 auto 1rem;
    padding: 0 0 3rem;
    text-align: center;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #eae8e4;
  }
  /* お問い合わせ */
  #contact .form_wrap #form .required {
    display: block;
    font-size: 1.4rem;
    font-weight: normal;
    text-align: right;
    margin: 0 0 3rem;
  }
  #contact .form_wrap #form .required span {
    font-size: 1.4rem;
    font-weight: normal;
    display: inline-block;
    text-align: center;
    margin: 0 0 0 0.5rem;
    padding: 0.5rem 0 0 0;
    line-height: 2.2rem;
    vertical-align: top;
  }
  #contact .form_wrap #form table {
    width: 100%;
  }
  #contact .form_wrap #form table tr {
    display: block;
    width: 100%;
    margin: 0 0 3rem;
  }
  #contact .form_wrap #form table tr.contact_radio {
    margin: 4rem 0 4rem;
  }
  #contact .form_wrap #form table tr.contact_radio th {
    padding-bottom: 1rem;
  }
  #contact .form_wrap #form table tr.contact_area {
    margin: 0 0 4rem;
  }
  #contact .form_wrap #form table tr.contact_naiyou {
    border-bottom: none;
    margin: 0 0 4rem 0;
  }
  #contact .form_wrap #form table tr th {
    display: block;
    width: 100%;
    font-size: 1.5rem;
    font-weight: normal;
    text-align: left;
    margin: 0 0 0.5rem;
  }
  #contact .form_wrap #form table tr th span {
    font-size: 1.4rem;
    font-weight: normal;
    display: inline-block;
    text-align: center;
    margin: 0 0 0 0.5rem;
    padding: 0.5rem 0 0 0;
    line-height: 2.2rem;
    vertical-align: top;
  }
  #contact .form_wrap #form table tr td {
    display: block;
    width: 100%;
    text-align: left;
    position: relative;
  }
  #contact .form_wrap #form table tr td.nursing_category.contact_radio {
    margin-bottom: 2.5rem;
  }
  #contact .form_wrap #form table tr td.contact_radio label.radio {
    margin: 0 0 1.5rem;
    font-size: 1.4rem;
    font-weight: normal;
    vertical-align: middle;
    position: relative;
    line-height: 0;
    cursor: pointer;
    display: block;
  }
  #contact .form_wrap #form table tr td.contact_radio label.radio input[type="radio"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    appearance: none;
    background: #fff;
    background: url(/images/radio_off@2x.png) no-repeat left center;
    background-size: 2.4rem 2.4rem;
    width: 2.4rem;
    height: 2.4rem;
    cursor: pointer;
    margin: 0 1.5rem 0 0;
  }
  #contact .form_wrap #form table tr td.contact_radio label.radio input[type="radio"]:hover {
    background: url(/images/radio_hover@2x.png) no-repeat left center;
    background-size: 2.4rem 2.4rem;
  }
  #contact .form_wrap #form table tr td.contact_radio label.radio input[type="radio"]:checked {
    background: url(/images/radio_on@2x.png) no-repeat left center;
    background-size: 2.4rem 2.4rem;
  }
  #contact .form_wrap #form table tr td input[type="text"],
  #contact .form_wrap #form table tr td input[type="tel"] {
    width: 100%;
    background: #fff;
    border: 1px solid #eae8e4;
    font-size: 1.6rem;
    padding: 1.5rem 1.5rem;
  }
  #contact .form_wrap #form table tr td textarea {
    width: 100%;
    background: #fff;
    border: 1px solid #eae8e4;
    height: 18rem;
    font-size: 1.6rem;
    padding: 1.5rem;
    display: block;
  }
  #contact .form_wrap #form table tr td .select_wrap {
    height: 5rem;
    position: relative;
  }
  #contact .form_wrap #form table tr td .select_wrap:after {
    content: "";
    background: url(/images/select_arrow@2x.png) no-repeat center center;
    background-size: 1.6rem 0.9rem;
    width: 1.6rem;
    height: 0.9rem;
    display: inline-block;
    vertical-align: 0rem;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 2.5rem;
  }
  #contact .form_wrap #form table tr td .select_wrap select {
    width: 100%;
    font-size: 1.4rem;
    height: 5rem;
    padding: 0 1.5rem;
    border: 1px solid #eae8e4;
    -webkit-appearance: none;
    /* ベンダープレフィックス(Google Chrome、Safari用) */
    -moz-appearance: none;
    /* ベンダープレフィックス(Firefox用) */
    appearance: none;
    /* 標準のスタイルを無効にする */
    position: relative;
  }
  #contact .form_wrap #form table tr td select::-ms-expand {
    　display: none;
  }
  #contact .form_wrap #form table tr td #category_err {
    position: relative;
    display: block;
  }
  #contact .form_wrap #form table tr td input + label.error,
  #contact .form_wrap #form table tr td textarea + label.error,
  #contact .form_wrap #form table tr td #category_err label {
    font-size: 1.6rem;
    color: #cb3f3f;
    display: block;
    margin: 1rem 0 0 0;
  }
  #contact .form_wrap #form .send {
    width: 100%;
    margin: 0 auto;
  }
  #contact .form_wrap #form .send .submit {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
    width: 100%;
    height: 6rem;
    font-size: 1.6rem;
    line-height: 6rem;
    color: #fff;
    background: #000;
    text-align: center;
    margin: 0;
  }
  #contact .form_wrap #form .send .submit:hover {
    -ms-filter: "alpha(opacity=70)";
    /* IE 8,9 */
    -moz-opacity: 0.7;
    /* FF , Netscape */
    -khtml-opacity: 0.7;
    /* Safari 1.x */
    opacity: 0.7;
  }
  /* 送信内容確認 */
  #confirm .inner .problem {
    margin: 4rem auto 4rem;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
  }
  #confirm .inner form {
    margin: 0 auto;
  }
  #confirm .inner form table {
    border-top: 1px dashed #ddd;
    margin: 0 auto;
    width: 100%;
  }
  #confirm .inner form table tr {
    border-bottom: 1px dashed #ddd;
    padding: 1rem 0;
    display: block;
  }
  #confirm .inner form table tr th {
    font-size: 1.4rem;
    font-weight: bold;
    text-align: left;
    display: block;
    width: 100%;
  }
  #confirm .inner form table tr td {
    font-size: 1.6rem;
    text-align: left;
    width: 100%;
    display: block;
  }
  #confirm .inner form .send {
    margin: 4rem auto 1rem;
  }
  #confirm .inner form .send .submit {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
    height: 6rem;
    font-size: 1.6rem;
    line-height: 6rem;
    color: #fff;
    background: #000;
    text-align: center;
    margin: 0 auto 3rem;
    display: block;
    width: 100%;
  }
  #confirm .inner form .send .submit:hover {
    -ms-filter: "alpha(opacity=70)";
    /* IE 8,9 */
    -moz-opacity: 0.7;
    /* FF , Netscape */
    -khtml-opacity: 0.7;
    /* Safari 1.x */
    opacity: 0.7;
  }
  #confirm .inner form .send .back {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
    display: block;
    margin: 0 auto;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    background: none;
    background: url(/images/arrow_black_left@2x.png) no-repeat left center;
    text-indent: 1.5rem;
    background-size: 0.6rem 1.1rem;
  }
  #confirm .inner form .send .back:hover {
    -ms-filter: "alpha(opacity=70)";
    /* IE 8,9 */
    -moz-opacity: 0.7;
    /* FF , Netscape */
    -khtml-opacity: 0.7;
    /* Safari 1.x */
    opacity: 0.7;
  }
  /* 送信完了 */
  #completion .completion_form .done {
    margin: 3rem auto 1rem;
  }
  #completion .completion_form .done p.lead {
    font-size: 1.4rem;
    line-height: 2.8rem;
    margin: 0 0 3rem 0;
  }
  #completion .completion_form .done .caution h3 {
    font-size: 1.6rem;
    font-weight: bold;
    margin: 0 0 1.4rem 0;
  }
  #completion .completion_form .done .caution ul {
    margin: 0 0 2rem 0;
  }
  #completion .completion_form .done .caution ul li {
    font-size: 1.4rem;
    margin: 0 0 0.5rem 0;
    text-indent: -1em;
    padding-left: 1em;
  }
  #completion .completion_form .done .caution p {
    font-size: 1.4rem;
    line-height: 2.8rem;
    margin: 0 0 2rem 0;
  }
  /* NotFound */
  #notfound #content {
    padding: 0 2rem;
    min-height: 40rem;
    margin: 4rem auto 0;
    font-size: 1.6rem;
  }
  #notfound #content h1 {
    font-size: 2.4rem;
    margin: 0 0 3rem;
  }
  #notfound #content p {
    font-size: 1.6rem;
    line-height: 3rem;
    margin: 0 0 3rem;
  }
  #notfound #content p a {
    text-decoration: underline;
  }
}
/*# sourceMappingURL=style.css.map */