@charset "utf-8";
/*
Theme Name: hakuzen
Author: BloomBase
Version: 1.0
*/

/* ==========================================================================
   Change　Color
========================================================================== */

:root {
    /* 文字メインカラー */
    --main-color:#643778;
    /* 文字サブカラー */
    --sub-color: #a09176;
    /* 文字アクセントカラー */
    --accent-color: #C65849;
    /* 塗りメインカラー （背景・見出し）*/
    --main-bgcolor: #a675b0;
    /* 塗りメインカラー２ （背景・見出し）*/
    --main-bgcolor02: #a09176;
    /* 塗りメインカラー３ （背景・見出し）*/
    --main-bgcolor03: #b4534d;
    /* 塗りサブカラー（背景・薄め紫） */
    --sub-bgcolor01: #f3f3f7;
    /* 塗りサブカラー（背景・薄め青） */
    --sub-bgcolor02: #f5f0e7;
    /* 塗りアクセントカラー１ */
    --accent-bgcolor: #e993a6;
    /* ボタン・ラインカラー */
    --btn-color: #a09176;
    /* ボタン・ラインサブカラー */
    --btn-sub-color: #d8c9db;
    /* ボタン・ラインサブカラー */
    --btn-sub-color02: #f5f0e7;

    /* 電話赤カラー*/
    --btn-tel-color: #C65849;

    /* ヘッダートップの背景色 */
    --header-top-bgcolor: #f7f7f7;
    /* コロナの取り組み */
    --attention-color: #eb6100;

    /* 葬儀プラン　直葬メインカラー */
    --plan-simple-color: #53a8b0;
    /* 葬儀プラン　直葬タイトルバック */
    --plan-simple-bgcolor: #21848d;
    /* 葬儀プラン　家族葬メインカラー */
    --plan-family-color: #80256d;
    /* 葬儀プラン　家族葬タイトルバック */
    --plan-family-bgcolor: #80256cad;
    /* 葬儀プラン　家族葬やまはなメインカラー */
    --plan-family-yamahana-color: #f55489;
    /* 葬儀プラン　家族葬やまはなタイトルバック */
    --plan-family-yamahana-bgcolor: #f6a4c8;
    /* 葬儀プラン　その他葬儀プランメインカラー */
    --plan-general-color: #5d83b4;
    /* 葬儀プラン　その他葬儀プランタイトルバック*/
    --plan-general-bgcolor: #21508d;
    /* 選ばれる理由　理由１〜６top背景 */
    --feature-bgcolor: #a675b0;
    --plan-chokuso-color:#73582c;
    --plan-kaso-color:#9f7738;
    --plan-ichinichi-color:#40a0a4;
    --plan-kazoku38-color:#a5527d;
    --plan-kazoku58-color:#625d95;
    --plan-chokuso-color-rgb: 115, 88, 44;
    --plan-kaso-color-rgb: 159, 119, 56;
    --plan-ichinichi-color-rgb: 64, 160, 164;
    --plan-kazoku38-color-rgb: 165, 82, 125;
    --plan-kazoku58-color-rgb: 98, 93, 149;
}


/* ==========================================================================
   Global
========================================================================== */

html {
    font-size: 62.5%;
    /* 10px */
    touch-action: manipulation;
}

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');

body {
    color: #505050;
    font-family: 'Noto Sans JP','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'ヒラギノ角ゴシック', 'Hiragino Sans', 'ヒラギノ角ゴ StdN', 'Hiragino Kaku Gothic StdN', sans-serif;
    font-size: 1.6rem;
    /* 16px */
    font-weight: 400;
    line-height: 1.6;
    overflow-x: hidden;
}

.clearfix {
    overflow: hidden;
    clear: both;
}

.bottom-none {
    margin-bottom: 0;
}

.no-scroll {
    overflow: hidden;
}

#wrapper {
    width: 100%;
}

.big-inner {
    width: 100%;
    margin: 0 auto;
}

.inner {
    max-width: 1200px;
    margin: 0 auto;
}

.con-center {
    text-align: center;
}

.pagenation {
    text-align: center;
}

.page-numbers,
.page-numbers.current {
    border: 1px solid #ccc;
    padding: 1.2rem;
}

.page-numbers.current {
    background: #ccc;
}

.naviright {
    float: right;
}

.navileft {
    float: left;
}

a {
    color: #505050;
    text-decoration: none !important;
}

a:hover {
    opacity: 0.8;
}

a[href^="tel:"] {
    pointer-events: none;
}

img {
    vertical-align: bottom;
    max-width: 100%;
    height: auto;
}

#wrapper .sp {
    display: none;
}

.pc_hide {
    display: none;
}
.txt_white{
    color: #fff;
}
.txt_black{
    color: #505050;
}
.txt_maincolor{
    color: var(--main-color);
}
.subpage-title_wrapper{
    background-color: var(--sub-bgcolor01);
    padding-bottom: 2rem;
    padding-top: 2rem;
}
@media screen and (max-width: 1200px) {
    .inner {
        width: 94%;
    }
}

@media screen and (max-width:768px) {
    a[href^="tel:"] {
        pointer-events: auto;
    }

    .menu a[href^="tel:"] {
        pointer-events: none;
    }

    .menu.is-active a[href^="tel:"] {
        pointer-events: auto;
    }

    .sp_hide {
        display: none;
    }

    .pc_hide {
        display: inline;
    }
}

/* ==========================================================================
   Header
========================================================================== */
header {
    background: #fff;
    position: relative;
    z-index: 9999;
}

header .header-top {
    background: var(--header-top-bgcolor);
}

header .header-top h1 {
    font-size: 0.8rem;
}

header .header-middle {
    padding-bottom: 1rem;
}

header .header-middle a {
    display: inline-block;
}

header .header-middle .inner {
    display: flex;
    align-items: center;
    padding-top: 1rem;
}

header .header-middle .header-logo {
    display: flex;
    align-items: center;
    margin-right: 2.2rem;
}

header .header-middle .header-logo span {
    min-width: 42px;
    font-family: serif;
    font-weight: bold;
    font-size: 2rem;
    padding-bottom: 0.4rem;
    color: var(--main-color);
}
header .header-middle .area_field{
    border: 1px solid #505050;
    color: #505050;
    padding: 5px 30px;
    font-size: 1.6rem;
    font-weight: 400;
}
header .header-middle .area_field .area_title{
    position: relative;
}
header .header-middle .area_field .area_title::after{
    position: absolute;
    content: ":";
    right: -8px;
}
header .header-middle .area_field .area_details{
    padding-left: 14px;
}
@media screen and (max-width:1200px) {
    header .header-middle .area_field{
        padding: 5px 20px;
    }
    header .header-middle .area_field .area_title{
        display: block;
        border-bottom: 1px solid #505050;
    }
    header .header-middle .area_field .area_title::after{
        display: none;
    }
    header .header-middle .area_field .area_details{
        padding-left: 0;
    }
}
@media screen and (max-width:1000px){
    header .header-middle .area_field{
        display: none;
    }
}
@media screen and (max-width:768px){
    header .header-middle .area_field{
        display: none;
    }
}

header .header-middle .sub-top {
    position: relative;
    font-size: 1.3rem;
    line-height: 1.2;
    text-align: center;
    color: var(--sub-color);
    border: 1px solid var(--sub-color);
    border-radius: 6px;
    padding: 0.4rem 1.9rem 0.1rem 0.7rem;
    margin-bottom: 0.2rem;
}

header .header-middle .sub-top::after {
    position: absolute;
    top: 1.1rem;
    right: 0;
    font-family: "Font Awesome 5 free";
    font-size: 1rem;
    content: "\f054";
    font-weight: 900;
    padding-right: 0.4rem;

}

header .header-middle .header-tel {
    max-width: 300px;
    margin: 0 1.6rem 0 auto;
}

header .header-middle .header-hurry {
    max-width: 280px;
}

header nav {
    position: relative;
    font-size: 1.8rem;
    padding: 1.5rem 0 1.2rem;
    background: #fff;
    border-top: 1px solid #ccc;
    transition: all 0.2s ease;
}

header nav div.nav-child {
    position: absolute;
    display: none;
    top: 4rem;
    left: 0;
    z-index: 3;
    width: 100%;
    background: #fff;
}

header nav div.nav-child .nav-child-ul {
    background: #fff;
    max-width: 1200px;
    margin: 0 auto;
    padding: 2.2rem 10rem 1.6rem 3rem;
    display: flex;
}

header nav div.nav-child .nav-child-ul li a {
    display: block;
}

header nav div.nav-child .nav-child-ul li:not(:first-child) a::before {
    color: var(--sub-color);
    font-family: "Font Awesome 5 free";
    content: "\f138";
    font-weight: 900;
    padding-right: 1.6rem;
}

#global-nav-pc li:nth-of-type(2) div.nav-child .nav-child-ul li span::before {
    color: var(--sub-color);
    content: "式場から探す";
    padding: 1rem 0 1rem 2rem;
    border-left: 4px solid var(--sub-color);
}


#global-nav-pc li:nth-of-type(3) div.nav-child .nav-child-ul li span::before {
    color: var(--sub-color);
    content: "ご葬儀プラン";
    padding: 1rem 0 1rem 2rem;
    border-left: 4px solid var(--sub-color);
}

#global-nav-pc li:nth-of-type(6) div.nav-child .nav-child-ul li span::before {
    color: var(--sub-color);
    content: "葬儀の基礎知識";
    padding: 1rem 0 1rem 2rem;
    border-left: 4px solid var(--sub-color);
}

#global-nav-pc li:nth-of-type(7) div.nav-child .nav-child-ul li span::before {
    color: var(--sub-color);
    content: "お知らせ・イベント情報";
    padding: 1rem 0 1rem 2rem;
    border-left: 4px solid var(--sub-color);
}


header nav .gnav {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    width: 95vw;
}

header nav .gnav li {
    border-right: 1px solid #ccc;
    flex: 1 1 auto;
    text-align: center;
}

header nav .gnav > li:first-child {
    border-left: 1px solid #ccc;
}

header nav.fix {
    position: fixed;
    top: -0.2rem;
    left: 0;
    width: 100%;
    padding-bottom: 1rem;
    z-index: 9999;
}

.hamburger-menu,
header nav .gnav.sp {
    display: none;
}

header ul.menu {
    padding-top: 8.8rem;
    padding-bottom: 15rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9998;
    width: 100%;
    height: 100vh;
    flex-direction: column;
    align-items: center;
    background: #fff;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s linear;
    overflow: scroll;
}

header ul.menu li {
    position: relative;
}

header ul.menu .menu-banner {
    margin: 0 0 2rem;
}

header ul.menu .menu-banner a {
    border: none;
    width: 85%;
    margin: 0 auto 0.8rem;
    padding: 0;
}

header ul.menu .plans {
    padding: 1.6rem 0;
}

header ul.menu .plans a {
    border: none;
    width: 85%;
    margin: 0 auto 0.5rem;
    padding: 0;
}

header ul.menu > li:nth-of-type(2) a {
    border-top: 1px solid #ccc;
}

header ul.menu li::after,
header ul.menu li.click-btn.on::after {
    color: var(--sub-color);
    position: absolute;
    top: 1rem;
    right: 3rem;
    font-family: "Font Awesome 5 free";
    content: "\f054";
    font-weight: 900;
}

header ul.menu li.click-btn::after {
    content: "\f078";
}

header ul.menu li.menu-banner::after,
header ul.menu li.plans::after {
    display: none;
}

header ul.menu li a {
    display: block;
    text-align: center;
    border-bottom: 1px solid #ccc;
    padding: 1.2rem 0 0.8rem;
    margin: 0 0.5rem;
}

header ul.menu li.click-btn a {
    pointer-events: none;
}

header ul.menu li.btn {
    display: none;
    background: var(--sub-bgcolor02);
}

header ul.menu.is-active {
    pointer-events: auto;
    opacity: 1;
}

header .sp12 {
    display: none;
}

@media screen and (max-width: 1200px) {
    header .inner {
        width: 98%;
        font-size: 1.5rem;
    }

    header .sp12 {
        display: block;
    }

    header .pc12 {
        display: none;
    }
}

@media screen and (max-width: 900px) {
    header .header-middle {
        padding-bottom: 0.4rem;
    }

    header nav .gnav {
        width: 100%;
    }

    header nav .gnav li {
        padding: 0 0.15rem;
    }

    header nav .gnav li:first-child {
        border-left: none;
    }

    header nav .gnav li:last-child {
        border: none;
    }

    header .header-middle .header-tel {
        max-width: 220px;
        margin-right: 0.6rem;
    }

    header .header-middle .header-hurry {
        max-width: 170px;
    }
}

@media screen and (max-width: 768px) {
    header nav {
        font-size: 1.5rem;
    }

    header .header-middle .header-logo {
        margin-right: 1.3rem;
    }

    header .header-middle .header-logo img {
        max-width: 55vw;
        min-width: 120px;
    }

    header .header-middle .header-logo span {
        font-size: 1.8rem;
    }

    header .header-middle .sub-top {
        font-size: 1.1rem;
        padding: 0.4rem 1.4rem 0.1rem 0.3rem;
        margin-left: 0.4rem;
    }

    header .header-middle .header-tel,
    header .header-middle .header-hurry {
        display: none;
    }

    #wrapper .pc {
        display: none;
    }

    header nav {
        padding: 0;
    }

    header nav .gnav {
        border-bottom: 1px solid #ccc;
    }

    header nav.fix {
        padding-bottom: 0;
    }

    header nav .gnav li {
       padding: 0.8rem 0.4rem;
      text-align: center;
    }

    header nav .gnav li:first-child {
        border-left: none;
    }

    header nav .gnav li:last-child {
        background: var(--btn-color);
    }
      header nav .gnav li img{
      width:100vw;
      display:block;
  }

    .hamburger-menu {
        display: inline-block;
        cursor: pointer;
        position: absolute;
        right: -1px;
        top: 8px;
        z-index: 9999;
        width: 75px;
        height: 60px;
    }

    .btm-menu {
        font-size: 1.3rem !important;
        position: absolute;
        font-size: 1.5rem;
        bottom: -7px;
        padding-left: 17px;
        width: 100%;
    }

    .hamburger-menu-line {
        position: absolute;
        transition: 0.3s;
        width: calc(100% - 18px * 2);
        height: 3px;
        background-color: #505050;
    }

    .line-top {
        top: 18px;
        left: 18px;
    }

    .line-middle {
        top: calc(50% - 3px / 2);
        left: 18px;
    }

    .line-bottom {
        bottom: 18px;
        left: 18px;
    }

    .hamburger-menu-active > .line-top {
        top: calc(50% - 3px / 2);
        transform: rotate(45deg);
    }

    .hamburger-menu-active > .line-middle {
        width: 0;
        height: 0;
        left: 18px;
    }

    .hamburger-menu-active > .line-bottom {
        top: calc(50% - 3px / 2);
        transform: rotate(-45deg);
    }
}

/* ==========================================================================
   footer
========================================================================== */

footer {
    color: #fff;
    line-height: 2;
    background-image:url(../sougi/images/footer_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 4.8rem 0 0;
    margin-bottom: 3.2rem;
}

footer a {
    color: #fff;
}

footer section > ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 4rem;
}

footer section > ul > li {
    margin-bottom: 2.4rem;
}

.fadeLayer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ccc;
    opacity: 0.5;
    visibility: hidden;
    z-index: 2;
}

#wrapper footer section h3 {
    font-size: 1.6rem;
}

footer section ul.sub {
    margin-left: 1.6rem;
}

footer .copy-r {
    padding: 0 0 3rem;
    background: var(--main-color);
    text-align: center;
}

.side-floating {
    display: none;
    text-align: right;
    position: fixed;
    right: 0;
    top: 10vh;
    z-index: 9999;
}

.floating {
    display: none;
    background: #fff;
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    border-top: 1px solid #ccc;
    font-size: 0.875rem;
    padding: 0.8rem 1rem 0.6rem;
    z-index: 999;
}

.floating a {
    display: inline-block;
}

.floating .inner {
    display: flex;
    align-items: center;
}

.floating .btm-logo {
    max-width: 360px;
}

.floating .btm-tel {
    max-width: 340px;
    margin: 0 1.6rem 0 auto;
}

.floating .btm-hurry {
    max-width: 290px;
}

.p-top {
    position: fixed;
    right: 4.8rem;
    bottom: 10rem;
    z-index: 9998;
}

@media screen and (max-width: 1200px) {
    .side-floating {
        display: none !important;
    }
}

@media screen and (max-width: 768px) {
    footer{
        background-image:url(../sougi/images/footer_bg_sp.jpg);
    }
    
    footer section > ul {
        flex-direction: column;
        /* margin-left: 10vw; */
    }

    #wrapper .floating .inner.sp {
        width: 100%;
    }

    #wrapper .sp {
        display: flex;
    }

/*     #wrapper .sp a {
        margin: 0 0.5rem;
    } */

    .p-top {
        position: fixed;
        right: 3.2rem;
        bottom: 8.8rem;
        z-index: 9998;
    }

    footer {
        padding-bottom: 2.6rem;
    }

    footer section > ul {
        margin-bottom: 0;
    }
}

/* ==========================================================================
   other utility
========================================================================== */
.swiper-button-prev, .swiper-button-next, .swiper-button-prev02, .swiper-button-next02, .swiper-button-prev03, .swiper-button-next03, .swiper-button-prev04, .swiper-button-next04, .swiper-button-prev05, .swiper-button-next05, .swiper-button-prev06, .swiper-button-next06 {
    color: var(--main-bgcolor02);
} 

/* ==========================================================================
   content - top
========================================================================== */

/* ul.bread-crumb {
    margin: 2.8rem auto 1.6rem;
    font-size: 1.3rem;
}

ul.bread-crumb a {
    text-decoration: underline;
}

ul.bread-crumb li {
    display: inline-block;
    margin-right: 0.2rem;
}

ul.bread-crumb > li:not(:last-child)::after {
    content: ">";
    color: var(--sub-color);
    padding: 0 0.2rem 0 0.8rem;
}  */

main .main-img img {
    width: 100%;
}

main .main-img {
    margin-bottom: 3.2rem;
    position: relative;
    max-width: 1280px;
}

main .main-img p {
    position: absolute;
    font-size: 3.2rem;
    right: 4vw;
    bottom: 5vw;
    font-family: "游ゴシック体", YuGothic, sans-serif;
    font-weight: 600;
    /* background: rgba(255,255,255,0.7); */
    color: #731010;
  text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
/*     text-shadow: 1px 1px 4px #ffffff, 1px 1px 4px #ffffff, 1px -1px 4px #ffffff, -1px 1px 4px #fff, -1px -1px 4px #fff; */
    transform: skewX(25deg);
}

main .main-img p span {
    display: inline-block;
    /* transform: skewX(-45deg); */
    /*     padding: 0 4rem; */
    transform: skewX(-25deg);
    /* margin-bottom: 1.0rem; */
}

main .top-info {
    display: flex;
    justify-content: center;
}

main .top-info a {
    color: #20518C;
}

main .info-box {
    /*border: 3px solid var(--attention-color);*/
    background-image: url(../sougi/images/kansenyobou.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 1.4rem 2.4rem 1.4rem 12rem;
    margin: 2rem 0 3.8rem;
    text-align: left;
    position: relative;
}
main .info-box::before{
    position: absolute;
    content: "";
    display: inline-block;
    width: 90px;
    height: 90px;
    background-image: url(../sougi/images/syoudoku.png);
    background-size: contain;
    vertical-align: middle;
    transform: translate(-50%,-50%);
    top: 50%;
    left: 60px;
}

main .info-box .info-title {
    font-size: 1.8rem;
    padding: 0 0 0.5rem;
    margin-bottom: 1.6rem;
    border-bottom: 1px solid #20518C;
}

main .info-box .info-link a {
    display: block;
    color: #20518C;
}


main ul.order {
    justify-content: space-around;
    margin-bottom: 7.2rem;
    display: flex;
    flex-wrap: wrap;
    margin-top: 5rem;

}
main ul.order li{
    margin-bottom: 5px;
}
main ul.order li.top-regist {
    align-self: flex-end;
}

/* main ul.order li {
  width: 49%;
} */
main ul.order.single li {
    text-align: center;
    width: 100%;
}

/* main .fb-area {
    clear: both;
    overflow: hidden;
} */

main .fb-area ul.order{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
/* main .fb-area ul.order {
    display: block;
    width: 100%;
    overflow:hidden;
    clear:both;
} */

main .fb-area ul.order li {
  width:49%;
  margin-bottom: 8px;
}
main .fb-area iframe {
    float: left;
    margin-left: 80px;
}

/* 仏壇ページリンク */
/* main .fb-area ul.order li:last-of-type{
    width: 100%;
    text-align: center;
}
main .fb-area ul.order li div.butsudan_lnk{
    background-color: var(--btn-color);
    display: inline-block;
    padding: 8px 32px;
    border-radius: 5px;
    margin-top: 1rem;
    box-shadow: 0 0 8px rgb(170 170 170 / 30%);
}
main .fb-area ul.order li div.butsudan_lnk a{
    color: #fff;
}
main .fb-area ul.order li div.butsudan_lnk a:after{
    font-family: "Font Awesome 5 free";
    content: "\f138";
    font-weight: 900;
    padding-left: 2rem;
} */
/* 仏壇ページリンクここまで */

.main-visual {
  width: 100%;
  text-align: center;
}
@media screen and (min-width:767px) {
    .main-visual .swiper-slide:nth-of-type(even) img {
        height: 96%;
    }
}

.swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets{
    bottom: -24px;
}

.main-visual .swiper-slide:nth-of-type(1) {
    background: #F8FEFF;
}

.main-visual .swiper-slide {
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.main-visual .swiper-slide img {
  width: 100%;
  max-width: 1280px;
  object-fit: cover;
}

main .block {
    margin: 0 0 3rem;
    padding: 6.4rem 0;
}

main .block.backg {
    padding: 6.4rem 0 7rem;
}

#plan_family main .block.backg,
#plan_simple main .block.backg {
    padding: 6.4rem 0 2rem;
}

main h1.top-first-title {
    font-size: 3.8rem;
    line-height: 1.3;
    color: var(--main-color);
    margin-bottom: 4rem;
    text-align: center;
    margin-top: 8.2rem;
    padding-bottom: 1.2rem;
    background-color: var(--sub-bgcolor01);
    position: relative;
}
main h1.top-first-title br {
    display: none;
}

main h1.top-first-title::after{
    position: absolute;
    content: "";
    border-top: 50px solid var(--sub-bgcolor01);s
    border-right: 50px solid transparent;
    border-left: 50px solid transparent;
    bottom: -32%;
    left: 50%;
    transform: translateX(-50%);
}

main h1.top-first-title span {
    font-size: 6.2rem;
}

main h2 {
    font-size: 3.4rem;
    text-align: center;
    margin-bottom: 4.8rem;
    position: relative;
    padding: 10px 45px;
}
/*
main h2:before,
main h2:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 44px;
    height: 2px;
    background-color: #ccc;
    -webkit-transform: rotate(-60deg);
    transform: rotate(-60deg);
}

main h2:before {
    margin-left: -40px;
    background-color: #3660a7;
}

#top main h2:before,
#top main h2:after,
#feature main h2:before,
#feature main h2:after,
.page-id-76 main h2:before,
.page-id-76 main h2:after,
#maibara main h2:before,
#maibara main h2:after,
main .consul.block h2:before,
main .consul.block h2:after,
#plan_simple main .price-details h2:before,
#plan_simple main .price-details h2:after,
#plan_family main .price-details h2:before,
#plan_family main .price-details h2:after {
    display: none;
}

#feature main section.reason-select h2:before,
#feature main section.reason-select h2:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 44px;
    height: 2px;
    background-color: #ccc;
    -webkit-transform: rotate(-60deg);
    transform: rotate(-60deg);
}

#feature main section.reason-select h2:before {
    margin-left: -45px;
    background-color: #3660a7;
}
 */

main .top_3features h2{
    color: #fff;
}

main h2 span {
    color:var(--main-color);
    font-weight: 500;
    font-size: 3.2rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
@media screen and (max-width:768px) {
    main h2 span{
        font-size: 2.4rem;
    }
    main .info-box::before{
        display: none;
    }
}
@media screen and (max-width:500px){
    main h1.top-first-title br {
        display: block;
    }
}
#price main h2 span,
#plan_simple main h2 span,
#plan_family main h2 span,
#plan_general main h2 span{
    color: #fff;
}

/*main .feature-line {
    display: flex;
    align-items: center;
    font-size: 2.8rem;
    margin: 8.4rem 1rem 3.8rem;
}*/
main .feature-line {
    text-align: center;
    font-size: 2.8rem;
    margin: 0 1rem;
    padding-top: 6.4rem;
    color: var(--main-color);
}

/*
main .feature-line::before,
main .feature-line::after {
    border-top: 3px solid var(--btn-color);
    content: "";
    flex-grow: 1;
}

main .feature-line::before {
    padding-right: 2.2rem;
}

main .feature-line::after {
    padding-left: 2rem;
}

main .feature-line span {
    padding: 0.5rem 1.6rem 0.5rem 2.4rem;
    display: inline-block;
    border-bottom: 3px solid var(--btn-sub-color);
}*/

main .feature-line span {
    padding: 0.5rem 3.6rem 0.5rem 4.0rem;
    display: inline-block;
    border: 1px solid var(--main-color);
    border-radius: 35px;
    margin-bottom: 2rem;
}
main .sub-catch {
    text-align: center;
    font-size: 2rem;
    margin: -3.2rem 0 4rem;
}
@media screen and (max-width:768px) {
    main .sub-catch{
        text-align: left;
        padding-left: 2rem;
        padding-top: 1rem;
        font-size: 1.6rem;
    }
}

/*３つの特徴タイトル*/
main .plan-select h2,
main .place-select h2,
main .letters .upost h2{
    background: rgb(100,55,120);
    background: -moz-linear-gradient(90deg, rgba(100,55,120,1) 0%, rgba(100,55,120,0.5777661406359419) 100%);
    background: -webkit-linear-gradient(90deg, rgba(100,55,120,1) 0%, rgba(100,55,120,0.5777661406359419) 100%);
    background: linear-gradient(90deg, rgba(100,55,120,1) 0%, rgba(100,55,120,0.5777661406359419) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#643778",endColorstr="#643778",GradientType=1);
    /*background: rgb(149, 92, 160);
    background: -moz-linear-gradient(0deg, rgba(166,117,176,1) 0%, rgba(169,122,179,1) 30%, rgba(192,160,202,1) 100%, rgba(166,117,176,1) 100%);
    background: -webkit-linear-gradient(0deg, rgba(166,117,176,1) 0%, rgba(169,122,179,1) 30%, rgba(192,160,202,1) 100%, rgba(166,117,176,1) 100%);
    background: linear-gradient(0deg, rgba(166,117,176,1) 0%, rgba(169,122,179,1) 30%, rgba(192,160,202,1) 100%, rgba(166,117,176,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#a675b0",endColorstr="#a675b0",GradientType=1);*/
    display: inline-block;
    text-align: left;
    color: #fff;
    position: relative;
    box-shadow: 2px 0 #7b5da6;
    padding: 1rem;
}
main .plan-select h2 br,
main .place-select h2 br,
main .letters .upost h2 br{
    display: none;
}


main .plan-select h2::after,
main .place-select h2::after,
main .letters .upost h2::after{
    position: absolute;
    content: "";
    border-bottom:1px solid #333333;
    width: 1155px;
    bottom: -8px;
    display: block;
}
main .feature-number{
    position: relative;
    display: inline-block;
    padding-right: 5rem;
    font-size: 2rem;
    color: #fff;
}
main .feature-number::after{
    position: absolute;
    content: "/";
    font-weight: 300;
    font-size: 2rem;
    bottom: 2px;
    right: 3.8rem;
}
@media screen and (max-width:768px){
    main .feature-number{
        font-size: 1.6rem;
    }
    main .feature-number::after{
        font-size: 1.6rem;
    }
}
@media screen and (max-width:500px){
    main .plan-select h2,
    main .place-select h2,
    main .letters .upost h2{
        width: 100%;
    }
    main .plan-select h2 br,
    main .place-select h2 br,
    main .letters .upost h2 br{
        display: block;
    }
}
/*３つの特徴見出し下説明文*/
main .feature-description{
    padding-left: 45px;
    font-size: 1.6rem;
    margin-bottom: 3rem;
}
@media screen and (max-width:768px){
    main .feature-description{
        padding-left: 10px;
    }
}
main .feature-description span{
    font-weight: 700;
}
/*トッププラン一覧カスタマイズ*/
main .plan-select dt{
    position: relative;
}
main .plan-select dt h3{
    position: absolute;
    bottom: 0;
    width: 100%;
}

main .plan-select .plan-flow img {
    margin-bottom: 0;
}

main .plan-select dl {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px 3.5%;
}

main .plan-select dl div {
    padding: 0 0 1.4rem;
    width: 31%;
    box-shadow: 0 0 8px rgba(170, 170, 170, 0.6);
    background-color: #fff;
}

main .plan-select dl div:last-child {
    margin-right: 0;
}

main .plan-select dt {
    text-align: center;
}

main .plan-select dt h3 {
    font-family: serif;
    font-size: 2.4rem;
    letter-spacing: 2px;
    padding: 0.4rem 0 0.3rem;
    font-weight: 900;
    color: #fff;
}
main .plan-select dt h3::after{
    position: absolute;
    content: ">";
    font-size: 3rem;
    font-family: serif;
    color: #fff;
    top: -3px;
    right: 18px;
}
main .plan-select dt p.sub {
    font-size: 1.4rem;
    padding: 0.7rem 0 0.5rem;
    margin-bottom: 1.4rem;
    color: #fff;
}

main .plan-select dl div.simple p.sub {
    background: var(--plan-simple-color);
    color: #fff;
    text-align: center;
    margin-bottom: 1.5rem;
    height: 3.4rem;
    line-height: 3.4rem;
}

/*
main .plan-select dl div.family {
    border: 2px solid var(--plan-family-color);
}*/

main .plan-select dl div.family p.sub {
    background: var(--plan-family-color);
    color: #fff;
    text-align: center;
    margin-bottom: 1.5rem;
    height: 3.4rem;
    line-height: 3.4rem;
}

main .plan-select dl div.family h3 {
    background: rgba(128,37,109,0.8);/*plan-family-bgcolor #80256d*/
}
/*
main .plan-select dl div.general {
    border: 2px solid var(--plan-general-allcolor);
}*/

main .plan-select dl div.general p.sub {
    background: var(--plan-general-color);
    color: #fff;
    text-align: center;
    margin-bottom: 1.5rem;
    height: 3.4rem;
    line-height: 3.4rem;
}

main .plan-select dl div.general h3 {
    background: rgba(33,80,141,0.8);/*plan-general-color: #21508d;*/
}

main .plan-select dd {
    text-align: center;
}

main .plan-select dd.plan-price p.member {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 3.8rem;
    color: var(--accent-color);
}

main .plan-select dd.plan-price p.member .member {
    display: inline-block;
    background: var(--accent-color);
    border-radius: 4px;
    font-size: 1.3rem;
    padding: 0.4rem 0.9rem 0.4rem;
    margin-right: 1.5rem;
    color: #fff;
}

main .plan-select dd.plan-price p.member small {
    font-size: 1.3rem;
    line-height: 1.2;
    margin: 0.2rem 0 0 1rem;
}

main .plan-select dd.plan-price p.general span {
    color: #999;
    font-size: 1.4rem;
    margin-right: 1rem;
}

main .plan-select dd.plan-price p.member_taxin {
    color: var(--accent-color);
    font-size: 1.8rem;
    font-weight: 600;
}

main .plan-select dd.plan-price p.member_taxin span {
    margin-right: 1rem;
}
@media screen and (max-width: 900px){
    main .plan-select dl div {
        width: 42%;
        margin: 0 1% 2rem;
    }
}
@media screen and (max-width: 768px){
    main .plan-select dl div {
        width: 100%;
        margin: 0 0 2.8rem 0;
    }
}
/* トップ施設案内 */
main .block.hall {
    background-image: url(../sougi/images/hall_bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
main .place-select dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
main .place-select dl a{
    width: 50%;
}
main .place-select dl dt {
    width:50%;
}
main .place-select dl dt img {
    display: block;
    text-align: center;
    object-fit: cover;
    height: 240px;
    width: 100%;
}
@media screen and (max-width:768px){
    main .place-select dl dt img {
        width: 100%;
        height: 180px;
    }
}
main .place-select dl div {
    background: #fff;
    box-shadow: 0 0 8px rgba(170, 170, 170, 0.6);
    margin: 0 2% 3.6rem 0;
}
main .place-select .hall-description{
    display: flex;
}
main .place-select .hall-description dd{
    margin: 0 auto;
}
main .place-select .hall-description .read_more{
    font-size: 1.3rem;
    color: #505050;
    position: relative;
    background-color: var(--btn-sub-color02);
    border-radius: 20px;
    display: block;
    width: 185px;
    margin: 3rem auto 0;
    padding: 5px 0;
}
main .place-select .hall-description .read_more::after{
    position: absolute;
    content: ">";
    right: 1.6rem;
}
main .place-select dl dd h3 {
    text-align: center;
    margin: 2.8rem 0 4.2rem;
    font-size: 2rem;
    padding: 3px 0;
    position: relative;
    color: var(--main-color);
    font-weight: 600;
}
main .place-select dl dd h3::after{
    position: absolute;
    content: "";
    width: 85px;
    border-bottom: 1px solid #999;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
}
main .place-select dl dd h3 a {
    color: var(--place-title-color);
}
main .place-select dl dd p {
    text-align: center;
    padding: 0 20px;
}
@media screen and (max-width:1200px){
    main .place-select dl dd h3{
        margin: 2.8rem 0 2.6rem;
        padding: 0;
        font-size: 1.8rem; 
    }
    main .place-select dl dd p{
        font-size: 1.4rem;
    }
    main .place-select .hall-description .read_more{
        margin: 2rem auto 0;
    }
}
@media screen and (max-width:1000px){
    main .place-select .hall-description{
        flex-direction: column;
    }
    main .place-select dl{
        margin-right: -2%;
    }
    main .place-select dl dt{
        width: auto;
    }
    main .place-select dl dd h3{
        font-size: 2rem;
        margin: 1rem 0;
    }
    main .place-select dl dd h3::after{
        bottom: -2px;
    }
    main .place-select dl dd p{
        font-size: 1.6rem;
    }
    main .place-select .hall-description .read_more{
        margin: 1rem auto;
    }
    main .place-select dl a{
        margin-bottom: 1rem;

    }
}
@media screen and (max-width:768px){
    main .place-select dl{
        display: block;
    }
    main .place-select .hall-description .read_more{
        margin-bottom: 2rem;
    }
}
/* トップ豆知識 */
main .block.knows{
    background: rgb(227,227,237);
    background: -moz-linear-gradient(0deg, rgba(227,227,237,0.6) 50%, rgba(227,227,237,0) 100%);
    background: -webkit-linear-gradient(0deg, rgba(227,227,237,0.6) 50%, rgba(227,227,237,0) 100%);
    background: linear-gradient(0deg, rgba(227,227,237,0.6) 50%, rgba(227,227,237,0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e3e3ed",endColorstr="#e3e3ed",GradientType=1);
    position: relative;
}

main .block.knows::before{
    position: absolute;
    content: "";
    background-image: url(../sougi/images/know_decoration.png);
    width: 215px;
    height: 280px;
    left: 0;
    top: 18%;
}
main .block.knows::after{
    position: absolute;
    content: "";
    background-image: url(../sougi/images/know_decoration2.png);
    width: 215px;
    height: 280px;
    right: 0;
    bottom: 8%;
}

main section.upost {
    position: relative;
}

main .plan-select dl div p.sub{
    color: #fff;
}
main .plan-select dl div.chokuso p.sub{
    background: var(--plan-chokuso-color);
}
main .plan-select dl div.chokuso h3 {
    background: rgba(var(--plan-chokuso-color-rgb), 0.8);
}
main .plan-select dl div.kaso p.sub{
    background: var(--plan-kaso-color);
}
main .plan-select dl div.kaso h3 {
    background: rgba(var(--plan-kaso-color-rgb), 0.5);
}
main .plan-select dl div.ichinichi p.sub{
    background: var(--plan-ichinichi-color);
}
main .plan-select dl div.ichinichi h3 {
    background: rgba(var(--plan-ichinichi-color-rgb), 0.8);
}
main .plan-select dl div.kazoku38 p.sub{
    background: var(--plan-kazoku38-color);
}
main .plan-select dl div.kazoku38 h3 {
    background: rgba(var(--plan-kazoku38-color-rgb), 0.8);
}
main .plan-select dl div.kazoku58 p.sub{
    background: var(--plan-kazoku58-color);
}
main .plan-select dl div.kazoku58 h3 {
    background: rgba(var(--plan-kazoku58-color-rgb), 0.8);
}



/*スライダー矢印*/
/* .swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after, .swiper-button-next02:after, .swiper-container-rtl .swiper-button-prev02:after, .swiper-button-next03:after, .swiper-container-rtl .swiper-button-prev03:after, .swiper-button-next04:after, .swiper-container-rtl .swiper-button-prev04:after, .swiper-button-next05:after, .swiper-container-rtl .swiper-button-prev05:after, .swiper-button-next06:after, .swiper-container-rtl .swiper-button-prev06:after{
    font-size: 3rem !important;
    content: "next" !important;
    color: var(--main-color); */
    /*display: none !important;*/
/* }
.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after, .swiper-button-prev02:after, .swiper-container-rtl .swiper-button-next02:after, .swiper-button-prev03:after, .swiper-container-rtl .swiper-button-next03:after, .swiper-button-prev04:after, .swiper-container-rtl .swiper-button-next04:after, .swiper-button-prev05:after, .swiper-container-rtl .swiper-button-next05:after, .swiper-button-prev06:after, .swiper-container-rtl .swiper-button-next06:after {
    font-size: 3rem !important;
    content: "prev" !important;
    color: var(--main-color); */
    /*display: none !important;*/
/* } */

/* .swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after, .swiper-button-prev02:after, .swiper-container-rtl .swiper-button-next02:after, .swiper-button-prev03:after, .swiper-container-rtl .swiper-button-next03:after, .swiper-button-prev04:after, .swiper-container-rtl .swiper-button-next04:after, .swiper-button-prev05:after, .swiper-container-rtl .swiper-button-next05:after, .swiper-button-prev06:after, .swiper-container-rtl .swiper-button-next06:after{
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f137";
    color:var(--main-color);
    margin-right: -100px;
    font-size: 4rem;
} */
/* .swiper-button-next:after {
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f138";
color:var(--main-color);
margin-right: 100px;
font-size: 4rem;
} */


/* 式場画像スライドショーのみ矢印無効化を消す */
.hall-detail .swiper-button-prev.swiper-button-disabled,
.hall-detail .swiper-button-next.swiper-button-disabled,
.hall-detail .swiper-button-next02.swiper-button-disabled{
    opacity: 1;
    pointer-events: inherit;
}
/* 矢印をアイコンに */
.swiper-button-next, .swiper-button-next02, .swiper-button-next03, .swiper-button-next04, .swiper-button-next05, .swiper-button-next06{
    background-image: url(../sougi/images/btn_next.png);
    width: 2.5vw;
    max-width: 70px;
    min-width: 35px;
    height: 2.5vw;
    max-height: 70px;
    min-height: 35px;
    margin-top: 0;
    transform: translateY(-50%);
    background-size: cover;
}
.swiper-button-prev, .swiper-button-prev02, .swiper-button-prev03, .swiper-button-prev04, .swiper-button-prev05, .swiper-button-prev06{
    background-image: url(../sougi/images/btn_prev.png);
    width: 2.5vw;
    max-width: 70px;
    min-width: 35px;
    height: 2.5vw;
    max-height: 70px;
    min-height: 35px;
    margin-top: 0;
    transform: translateY(-50%);
    background-size: cover;
}
@media screen and (max-width:768px){
    .swiper-button-next, .swiper-button-next02, .swiper-button-next03, .swiper-button-next04, .swiper-button-next05, .swiper-button-next06{
        width: 2vw;
        max-width: 50px;
        min-width: 30px;
        height: 2vw;
        max-height: 50px;
        min-height: 30px;
    }
    .swiper-button-prev, .swiper-button-prev02, .swiper-button-prev03, .swiper-button-prev04, .swiper-button-prev05, .swiper-button-prev06{
        width: 2vw;
        max-width: 50px;
        min-width: 30px;
        height: 2vw;
        max-height: 50px;
        min-height: 30px;
    }

}
.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after, .swiper-button-next02:after, .swiper-container-rtl .swiper-button-prev02:after, .swiper-button-next03:after, .swiper-container-rtl .swiper-button-prev03:after, .swiper-button-next04:after, .swiper-container-rtl .swiper-button-prev04:after, .swiper-button-next05:after, .swiper-container-rtl .swiper-button-prev05:after, .swiper-button-next06:after, .swiper-container-rtl .swiper-button-prev06:after{
    display: none;
}
.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after, .swiper-button-prev02:after, .swiper-container-rtl .swiper-button-next02:after, .swiper-button-prev03:after, .swiper-container-rtl .swiper-button-next03:after, .swiper-button-prev04:after, .swiper-container-rtl .swiper-button-next04:after, .swiper-button-prev05:after, .swiper-container-rtl .swiper-button-next05:after, .swiper-button-prev06:after, .swiper-container-rtl .swiper-button-next06:after{
    display: none;
}
.swiper-button-prev, .swiper-button-next02, .swiper-container-rtl .swiper-button-prev02, .swiper-button-next03, .swiper-container-rtl .swiper-button-prev03, .swiper-button-next04, .swiper-container-rtl .swiper-button-prev04, .swiper-button-next05, .swiper-container-rtl .swiper-button-prev05, .swiper-button-next06, .swiper-container-rtl .swiper-button-prev06 {
    right: 2px;
    left: auto;
}
.swiper-button-prev, .swiper-container-rtl .swiper-button-next, .swiper-button-prev02, .swiper-container-rtl .swiper-button-next02, .swiper-button-prev03, .swiper-container-rtl .swiper-button-next03, .swiper-button-prev04, .swiper-container-rtl .swiper-button-next04, .swiper-button-prev05, .swiper-container-rtl .swiper-button-next05, .swiper-button-prev06, .swiper-container-rtl .swiper-button-next06 {
    left: 2px;
    right: auto;
}

main .upost ul {
    margin-bottom: 4.2rem;
}

main .swiper-container {
    width:92%;
    margin: 0 auto;
}

main .upost a {
    color: var(--main-color);
}

main .upost ul li {
    box-sizing: border-box;
    border: 1px solid #ccc;
    background: #fff;
    padding: 1rem 2rem 1.8rem;
    width: calc(96%/3)!important;
    box-shadow: 0 0 8px rgb(170 170 170 / 60%);
}

main .knowledge h2{
    margin-bottom: 0; /*&nbsp調整*/
}
main .upost ul li img, main .knowledge {
	position:relative;
}
main .upost ul li img, main .knowledge ul img {
    border:1px solid #ccc;
    margin-bottom: 1.4rem;
    display: block;
    margin: auto;
	max-width:100%;
    height: 220px;
    object-fit: cover;
    object-position: center;
}

main .knowledge ul .upost-date,
main .upost ul .upost-date{
    padding: 1rem 0;
    color: #b8b8b8;
}
main .knowledge ul .upost-title,
main .upost ul .upost-title{
    margin-bottom: 1rem;
    border-bottom: solid 1px #b8b8b8;
}

main .upost ul .upost-cont {
    font-size: 1.5rem;
    line-height: 1.4;
    color: #666;
    margin-left: 0.2rem;
}

main .swiper-button-prev,
main .swiper-button-next {
    color: var(--btn-color);
}

main .more-btn,
main .place-sub-block .about-halls dd.mores a {
    text-align: center;
}

/*main .more-btn a,
main .place-sub-block .about-halls dd.mores a {
    display: block;
    height: 60px;
    width: 458px;
    color: #fff;
    background: rgba(33,80,141,0.9);
    font-size: 1.8rem;
    padding: 1.8rem 0 1rem;
    position: relative;
    margin: 0 auto;
    transition: all 0.1s ease 0s;
}

main .more-btn a::before,
main .place-sub-block .about-halls dd.mores a::before {
    position: absolute;
    content: "";
    border: solid 1px #ccc;
    width: 458px;
    height: 60px;
    top: 8px;
    left: -8px;
}*/

main .more-btn a,
main .place-sub-block .about-halls dd.mores a {
    display: block;
    height: 52px;
    width: 360px;
    color: var(--main-color);
    font-size: 1.8rem;
    padding: 1rem 0 1rem;
    border: 1px solid var(--main-color);
    border-radius: 30px;
    margin: 0 auto;
    transition: all 0.4s ease 0s;
}
@media screen and (max-width:768px) {
    main .more-btn a, main .place-sub-block .about-halls dd.mores a{
        width: 80%;
    }
}
/*トップ豆知識*/
main .knowledge ul {
    margin-bottom: 3.8rem;
}

main .knowledge ul a {
    color: var(--main-color);
}

main .knowledge ul li {
    box-sizing: border-box;
    border: 1px solid #ccc;
    background: #fff;
    padding: 1rem 2rem 1.8rem;
    box-shadow: 0 0 8px rgb(170 170 170 / 60%);
	width: calc(96%/3)!important;
}

main .knowledge ul li:nth-child(2n) {
    margin-right: 0;
}


main .knowledge ul .knowledge-cate span {
    display: inline-block;
    font-size: 1.4rem;
    background: var(--accent-bgcolor);
    color: #fff;
    padding: 0.2rem 1rem 0.1rem;
    border-radius: 10px 0;
    margin-bottom: 0.6rem;
}

main .knowledge ul .knowledge-title {
    margin: 0.8rem 0;
}

main .knowledge ul .knowledge-cont {
    font-size: 1.5rem;
    line-height: 1.4;
    color: #666;
}

main .knowledge ul .tips-box .knowledge-title {
    margin: 0.8rem 0 1.4rem;
}
@media screen and (max-width:768px){
    main .block.knows::after,
    main .block.knows::before{
        display: none;
    }
}

/*トップ事前相談*/
main .consul.block {
    background-image:url(../sougi/images/pre-consul_bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

main .consul.block .pre-consul_intro{
    margin: 0 auto 3.6rem;
    position: relative;
}
main .consul.block .pre-consul_intro p{
    text-align: center;
}

main .consul.block .pre-consul_intro img{
    position: absolute;
    right: 0;
    top: -8rem;
}

main .pre-consul dl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 1.2rem 0 5.6rem;
}
@media screen and (max-width: 900px){
    main .pre-consul dl div {
        width: 100%;
        margin-bottom: 4.8rem;
    }
}

main .pre-consul dl div {
    width: 32%;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 0 8px rgb(170 170 170 / 40%);
}

main .pre-consul dt {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 35%;
    font-size: 2rem;
    font-weight: bold;
    padding: 1.2rem 3.6rem;
    background-color: rgba(15,63,136,0.8);/*var(--plan-family-bgcolor)*/
    color: #fff;
}

main .pre-consul dd {
    padding: 1.2rem 3.6rem;
    min-height: 22rem;
}
@media screen and (max-width:1200px){
    main .consul.block .pre-consul_intro{
        position: inherit;
        display: flex;
    }
    main .consul.block .pre-consul_intro img{
        position: inherit;
        object-fit: contain;
    }
    main .consul.block .pre-consul_intro p{
        padding-right: 3rem;
    }
}
@media screen and (max-width:900px){
    main .pre-consul dd{
        min-height: auto;
    }
}
@media screen and (max-width:768px){
    main .consul.block {
        background-image:url(../sougi/images/pre-consul_bg_sp.jpg);
        background-position: inherit;
    }
    main .consul.block .pre-consul_intro{
        flex-direction: column-reverse;
    }
    main .consul.block .pre-consul_intro img{
        width: 320px;
        margin: -2rem auto 1rem;
    }
    main .consul.block .pre-consul_intro p{
        padding-right:0;
        width: 100%;
    }
    main .pre-consul dt{
        padding-left: 2rem;
        padding-right: 2rem;
    }
    main .pre-consul dd{
        padding-left: 2rem;
        padding-right: 2rem;
    }
}
/*トップ資料請求*/
main .block.doc-request_wrapper{
    padding-bottom: 3rem;
}
main .doc-request {
    padding: 4.6rem 0 0;
    background-image: url(../sougi/images/doc-request_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
main .doc-request .cont {
    padding: 4.8rem 0 5rem 0;
    display: flex;
}
main .doc-request_description{
    width: 58%;
    padding-right: 9rem;
}
@media screen and (max-width:1200px){
    main .doc-request_description{
        width: 95%;
        padding-right: 4rem;
    }
}
@media screen and (max-width:900px){
    main .doc-request{
        background-position: bottom;
    }
    main .doc-request .cont img{
        display: none;
    }
    main .doc-request .cont {
        width: 90%;
        padding: 4rem;
        display: block;
    }
    main .doc-request .cont > div {
        width: 100%;
        margin: 0;
    }
}
@media screen and (max-width:768px){
    main .doc-request {
        background-image: url(../sougi/images/doc-request_spbg.jpg);
        background-size: auto;
    }
}

main .doc-request .cont > div {
    margin-left: auto;
}

main .doc-request h3 {
    font-size: 2.6rem;
    margin-bottom: 2.4rem;
    text-align: left;
    border-bottom: solid 1px #333;
}
main .doc-request_inner{
    max-width: 1200px;
    margin: 0 auto;
}

main .doc-request h3 span {
    color: var(--main-color);
}
main .doc-request .cont p {
    margin-bottom: 3.6rem;
}

main .doc-request .cont .mails {
    position: relative;
    border: 1px solid #ccc;
    padding: 3rem 3rem 2.4rem;
    margin-bottom: 6.8rem;
    text-align: left;
}

main .doc-request .cont .mails span {
    display: block;
    background-color: var(--sub-bgcolor02);
    color: var(--main-bgcolor02);
    position: absolute;
    font-weight: 600;
    top: -1.3rem;
    left: 1.3rem;
    padding: 0 1.6rem;
}

main .doc-request .more-btn a {
    font-size: 1.6rem;
}

/* トップよくある質問 */
main .faq{
	border:1px solid #ccc;
	padding:30px;
}
@media screen and (max-width: 768px){
    main .faq {
        padding-left: 10px;
        padding-right: 10px;
    }
}

main .faq .faq_wrap{
	margin-bottom:30px;
}

main .faq .faq_wrap .faq_q {
    padding: 1rem;
    color: var(--main-color);
    font-weight: 500;
    background-color: var(--sub-bgcolor01);
    padding-left: 4rem;
    position: relative;
}
main .faq .faq_wrap .faq_q::before {
    position: absolute;
    content: "Q.";
    font-weight: 500;
    color: var(--main-color);
    left: 1.5rem;
}
p.faq_a {
    /*border-bottom: 1px dashed #ccc;*/
    padding: 1rem;
    padding-left: 4rem;
    position: relative;
}
p.faq_a::before {
    position: absolute;
    content: "A.";
    font-weight: 500;
    left: 1.5rem;
}
p.faq_a a{
    text-decoration: underline !important;
}
main .faq .faq_wrap .faq_q {
    padding-top: 1rem;
    color: var(--main-color);
    padding-bottom: 0.5rem;
}
main .block.thk{
    background-image: url(../sougi/images/thk_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-bottom: 0;
    padding-bottom: 9.4rem;
}
main .thanks.big-inner {
    background: url(images/bg-thanks.jpg) no-repeat;
    background-size: 50%;
    padding: 8rem 1rem 10rem 0;
}

main .thanks .cont {
    width: 54%;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 0 15px rgba(170, 170, 170, 0.4);
    padding: 4.2rem 0 4.8rem 5.4rem;
    margin-left: auto;
}

main .thanks .cont p {
    line-height: 1.8;
}

main .thanks .cont > div {
    width: 90%;
    margin-right: auto;
}

main .thanks .cont h3 {
    font-family: serif;
    font-size: 2.8rem;
    line-height: 1.5;
    font-weight: 900;
    color: var(--sub-color);
    letter-spacing: 2px;
    margin-bottom: 2.4rem;
    text-align: left;
}

main ul.sp-btm-box {
    display: none;
    text-align: center;
    margin-bottom: 4.8rem;
}

main ul.sp-btm-box li {
    margin: 1.6rem;
}

@media screen and (max-width: 1200px) {
    main .block {
        padding: 6.8rem 0;
    }

    main .block.hall {
        margin-bottom: 3.2rem;
    }

    main .block.thk {
        padding: 0;
        margin: 0;
    }

    main h1.top-first-title {
        font-size: 3.2rem;
        margin: 3.6rem 0;
    }

    main .feature-line {
        margin: 2.8rem 1rem;
    }

    main ul.order {
        margin-bottom: 4.8rem;
    }

    main .knowledge ul li img {
        max-width: 100%;
        margin-bottom: 2.4rem;
    }
}

@media screen and (max-width: 900px) {
    main h2 {
        margin-bottom: 3.6rem;
        padding:0;
    }
    main .block {
        margin: 0;
    }
    main .block.top_3features{
        padding-top: 4rem;
    }
    main .block.backg {
        margin: 0 0 4.8rem;
        padding: 4.2rem 0;
    }

    main .main-img p {
        font-size: 2.8rem;
        right: 7vw;
        bottom: 2vw;
    }

    main .upost ul li {
        margin-bottom: 2.4rem;
    }

    main .knowledge ul li {
        width: 100%;
        margin-right: 0;
    }

    main .knowledge ul li img {
        width: 220px;
    }

    main .pre-consul dl div {
        width: 100%;
        margin-bottom: 4.8rem;
    }


    main .thanks img.sp {
        display: block !important;
        margin: 0 auto 1rem;
    }

    main .thanks.big-inner {
        background: none;
        padding: 0 1rem 4.6rem;
        ;
    }

    main .thanks .cont > div {
        width: 100%;
        margin: 0
    }

    main .thanks .cont {
        width: 100%;
        padding: 4rem;
    }
}

@media screen and (max-width: 768px) {
    main .main-img {
        margin-bottom: 1rem;
    }

    main .main-img p {
        font-size: 2.2rem;
        right: 3vw;
        bottom: 3vw;
        transform: skewX(0);
        text-align: center;
    }

    main .main-img p span {
        margin-bottom: 0;
        transform: skewX(0);
        padding: 0.4rem 0.6rem;
			font-weight:bold;
    }

    main .top-info {
        margin: 0 2%;
    }

    main .info-box {
        padding: 1.4rem;
        margin-bottom: 2.4rem;
    }

    #wrapper main ul.order .sp {
        display: block;
    }

    main ul.order .pc {
        display: none;
    }

    main ul.order {
        flex-wrap: wrap;
        justify-content: center;
        margin-bottom: 5rem;
    }

    main ul.order li {
        width: 100%;
        margin-bottom: 1rem;
    }

    main .fb-area ul.order li {
    float:none;
    width:100%;
    }

    main .fb-area .youtube-con {
        margin-bottom:40px;
        display:block;
    }

    main h1.top-first-title span {
        font-size: 5.4rem;
    }

    main h2 {
        font-size: 2.3rem;
        margin-bottom: 3.8rem;
    }

    main h1.top-first-title {
        font-size: 2.2rem;
        margin: 2rem 0;
        padding-top: 1.2rem;
    }

    main .feature-line {
        font-size: 2rem;
        margin: 0.5rem 0.5rem 1.6rem;
    }

    main .plan-select dl div {
        width: 100%;
        margin: 0 0 2.8rem 0;
    }

    main .plan-select dl div:last-child {
        margin: 0;
    }

    main .upost ul {
        margin-bottom: 2.4rem;
    }

    main .upost ul li {
        width: calc(97% / 2);
        margin-bottom: 0;
    }

    main .upost ul li:nth-child(2n) {
        margin-right: 0;
    }

    main .knowledge ul li {
        width: 100%;
        margin-right: 0;
    }

    main .knowledge ul li img {
        width: 200px;
    }

    main .pre-consul dl {
        margin-bottom: 1.6rem;
    }

    main .pre-consul dl div {
        width: 100%;
        margin-bottom: 3.8rem;
    }

    main .pre-consul dt {
        min-height: auto;
        padding-bottom: 1rem;
    }

    main .doc-request {
        padding: 6rem 0 0;
    }

    main .doc-request .cont {
        width: 100%;
        padding: 2.4rem;
        display: block;
    }
    main .doc-request_description{
        padding-right: 0;
    }
    main .doc-request h3 {
        font-size: 2.2rem;
    }

    main .doc-request .cont .mails span {
        font-size: 1.5rem;
        padding: 0.2rem 0.4rem 0;
    }

    main .thanks .cont {
        padding: 2.4rem;
    }

    main ul.sp-btm-box {
        display: block;
    padding:0 30px;
    }

    /*FB設定*/
    main .fb-area iframe {
        float: none;
        display: block;
        width: 100%;
    }
    main .fb-area ul.order{
        width: 100%;
        text-align: center;
    }

    main .fb-area iframe {
        margin: 0;
    }
	
	main .upost ul li, main .knowledge ul li {
		width:100%!important;
	}

}

@media screen and (max-width: 500px) {
    main .knowledge ul li img {
        width: 100%;
        margin-bottom: 1rem;
    }
    main .doc-request .cont {
        padding: 0;
    }
}

/*下層MV*/
.place-top-block {
    position: relative;
}

.place-top-block p.sub-catch {
    position: absolute;
    top: 25rem;
    left: 6rem;
    color: #fff;
}

@media screen and (max-width: 768px) {
    .place-top-block > img {
        display: block;
        margin-bottom: 20px;
    }

    .place-top-block p.sub-catch {
        position: absolute;
        top: 22rem;
        left: 0;
        padding: 1rem;
        color: #555;
        width: auto;
        background: rgba(255, 255, 255, 0.8);
        line-height: 1.4;
        font-size: 1.4rem;
    }
}

/* ==========================================================================
   feature
========================================================================== */
#feature main .block.reason-second_wrapper,
#feature main .block.letters{
    background-color: var(--sub-bgcolor01);
}

/* #feature main h2{
    margin-bottom: 2.8rem;
} */
#feature main .plan-select h2,
#feature main .letters h2{
    text-align: center;
    position: static;
    box-shadow: none;
    padding: 0;
    display: block;
    background:inherit;
    color: #505050;
}
#feature main h2 span{
    color: #fff;
}
#feature main #reason-first h2 span,
#feature main #reason-second h2 span,
#feature main #reason-third h2 span,
#feature main #reason-fifth h2 span,
#feature main #reason-fourth h2 span{
    color: #505050;
}
#feature main .plan-select h2::after, 
#feature main .place-select h2::after, 
#feature main .letters .upost h2::after{
    display: none;
}
#feature p.sub-catch{
    text-align: left;
    padding-left: 45px;
    margin-bottom: 3rem;
    padding-top: 4rem;
}
#feature .reason-select .reason-select-top-block {
    background-color:var(--sub-bgcolor01);
    padding-bottom: 2rem;
}
#feature .reason-select p.sub-catch{
    text-align: center;
    margin: 0 auto;
}
#reason-first,
#reason-second,
#reason-third,
#reason-fourth,
#reason-fifth,
#reason-sixth {
    padding-top: 22rem;
    margin-top: -22rem;
}
main .reason-select dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 6rem;
    line-height: 1.4;
}

main .reason-select dl div {
    background-color: var(--feature-bgcolor);
    border-radius: 6px;
    box-shadow: 0 4px 0 var(--main-color);
    padding: 2.4rem 1.6rem 1.6rem 1rem;
    margin-bottom: 4.2rem;
    width: 45%;
    display: flex;
    margin-right: 5%;
}
main .reason-select dl div:nth-child(2n){
    margin-right: 0;
}

main .reason-select dl dt span {
    color:var(--main-color);
    line-height: 4rem;
    font-size: 3rem;
    display: inline-block;
    background: #fff;
    border-radius: 3rem;
    padding: 0.4rem 1.8rem;
    width: 5rem;
    height: 5rem;
    margin-left: 2rem;
    margin-right: 2rem;
}

main .reason-select dl dd a {
    display: flex;
    align-items: center;
}

main .reason-select dl dd a img {
    width: 50px;
    margin-right: 1.2rem;
}

main .reason-select dl dd p {
    color: #fff;
    font-size: 2rem;
}

main .reason-select dl dd p span {
    color: #fff;
    font-size: 1.6rem;
    display: block;
}

#feature main .feature-line {
    margin-top: 0;
    padding-top: 0;
}

main #reason-first .region {
    background: #faf7f2;
    padding: 5.4rem 0 4.8rem;
    margin-bottom: 3.6rem;
}

main #reason-first .region .inner {
    display: flex;
    align-items: flex-start;
}

main #reason-first .region .reason-first-img {
    width: 48%;
    padding: 0.8rem;
    margin-left: 2.4rem;
}

main #reason-first .region h3 {
    color: var(--main-color);
    font-size: 3rem;
    line-height: 2;
    margin-bottom: 3.6rem;
    font-family: serif;
    font-weight: 700;
    padding-top: 3rem;
}

main #reason-first .region p {
    font-size: 1.8rem;
    text-align: left;
}
main #reason-first .reason-first_lead{
    width: 78%;
    padding-right: 4rem;
}

/* 202306追記 */
/* 理由1 */
    main #reason-first .reason-image_wrapper{
        width: 68%;
        margin: 10px auto 10px 40px;
    }
    main #reason-first .reason-image_wrapper{
        padding: 10px;
    }
@media screen and (max-width:1200px){
main #reason-first .reason-image_wrapper{
    width: 70%;
    margin: 0 auto;
    }
}
@media screen and (max-width:600px){
    main #reason-first .reason-image_wrapper{
        width: 98%;
    }
}


/* トリプルエー */
main #reason-first .aaa_wrapper{
    padding: 2rem 4rem;
    background-color: rgba(255,255,255,0.6);
    border: 6px double var(--sub-color);
    color: var(--sub-color);
}
main #reason-first .aaa_wrapper p.aaa_intro{
    color: var(--sub-color);
    position: relative;
    display: block;
    width: 500px;
    margin: 0 auto 1rem;
    padding-left: 1rem;
    font-weight: 500;
}
main #reason-first .aaa_wrapper p.aaa_intro:before{
    content: "＼";
    position: absolute;
    left: -9px;
}
main #reason-first .aaa_wrapper p.aaa_intro:after{
    content: "／";
    position: absolute;
}
main #reason-first .descript {
    display: flex;
    align-items: flex-start;
    border: 1px solid #ccc;
    padding: 2.4rem 2.4rem 2.8rem;
    margin-bottom: 2.4rem;
}
main #reason-first .aaa_detail_upper>div{
    background-color: var(--sub-color);
    width: 100%;
    display: block;
    color: #fff;
    padding: 0.5rem 2rem;
    border-radius: 5px;
}
main #reason-first .aaa_detail_upper>div>p{
    text-align: center;
}
main #reason-first .aaa_detail_upper p.achievement​{
    line-height: 4rem;
    padding-top: 5rem;
    font-size: 3rem;
    font-family: serif;
    font-weight: 600;
    width: 450px;
    margin-left: 3rem;
    text-align: left;
    margin: 0 auto;
}
main #reason-first .aaa_detail_upper span{
    padding-left: 11rem;
}
main #reason-first .aaa_detail_upper span.aaa{
    font-size:9rem ;
    font-weight: 700;
    padding-left: 1rem;
}
main #reason-first .aaa_detail_lower{
    padding-top: 2rem;
    text-align: left;
}
main #reason-first .aaa_detail_lower ul{
    display: flex;
    justify-content: space-around;
    width: 500px;
    margin: 0 auto 1rem;
}
main #reason-first .aaa_detail_lower li{
    width: 32%;
    border: 1px solid var(--sub-color);
    border-radius: 3px;
    padding: 0.5rem;
    text-align: center;
}
main #reason-first .aaa_detail_lower li br{
    display: none;
}


main #reason-first .descript:last-child {
    margin-bottom: 0;
}

main #reason-first .descript img {
    margin-right: 3rem;
}

main #reason-first .descript dt {
    font-size: 2rem;
    margin-bottom: 1.8rem;
    padding: 0.7rem 1.8rem 0.6rem;
    background: var(--main-bgcolor);
    color: #fff;
}
main #reason-first span.notes {
    font-size: 0.5rem;
    padding: 0 5px;
}
main #reason-first .notes_detail:first-of-type {
    margin-top: 1rem;
}
main #reason-first .notes_detail {
    font-size: 1.2rem;
    margin-bottom: 0;
    margin-left: 3rem;
}
main #reason-first .descript img.act{
    padding-top: 2rem;
    /* width: 145px; */
    width: 85px;
}

main #reason-third li:nth-child(n+6) {
    margin-bottom: 0;
}

main #reason-third p.sub-catch,
main #reason-fourth p.sub-catch{
    padding-left: 0;
    text-align: center;
}

main #reason-third dl.support {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 7.2rem;
}

main #reason-third dl.support div {
    width: 48%;
    border: 1px solid #ccc;
    padding: 1.6rem;
}

main #reason-third dl.support dt {
    margin-bottom: 1.6rem;
}

main #reason-third dl.support dd h3 {
    background: var(--main-bgcolor);
    color: #fff;
    font-size: 1.8rem;
    text-align: center;
    padding: 0.8rem 0;
    margin-bottom: 1.8rem;
}

main #reason-third dl.support dd p {
    width: 98%;
    margin: 0 auto;
}

main #reason-third h3.middle-catch {
    text-align: center;
    font-size: 2.8rem;
    margin-bottom: 6.4rem;
}

main #reason-third ul.worry {
    display: flex;
    flex-wrap: wrap;
}

main #reason-third ul.worry li {
    width: 48%;
    margin: 0 4% 3.2rem 0;
    display: flex;
    align-items: flex-start;
}

main #reason-third ul.worry li:last-child {
    margin-bottom: 0;
}

main #reason-third ul.worry li img {
    margin-right: 2rem;
    border: 1px solid #ccc;
    width: 180px;
    height: 180px;
    object-fit: cover;
    object-position: center;
}

main #reason-third ul.worry li:nth-child(2n) {
    margin-right: 0;
}

main #reason-third ul.worry dl dt {
    color: var(--main-color);
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 1.4rem;
}
main #reason-third ul.worry li div.butsudan_lnk{
    background-color: var(--btn-color);
    display: inline-block;
    padding: 0 10px;
    border-radius: 5px;
    margin-top: 1rem;
}
main #reason-third ul.worry li div.butsudan_lnk a{
    color: #fff;
}
main #reason-third ul.worry li div.butsudan_lnk a:after{
    font-family: "Font Awesome 5 free";
    content: "\f138";
    font-weight: 900;
    padding-left: 2rem;
}
/*
main #reason-third .sub-catch {
    font-size: 1.8rem;
    color: #666;
}

main #reason-third ul li {
    margin: 0 0 6rem;
    padding: 5rem 0;
}

main #reason-third ul li:last-child {
    margin-bottom: 0;
}

main #reason-third ul li section {
    background-color: rgba(255, 255, 255, 0.95);
    padding: 2rem 3rem 4rem;
    width: 60%;
    border: 1px solid #ccc;
}

main #reason-third ul section h4 {
    line-height: 1.4;
    display: flex;
    align-items: center;
    font-size: 2.2rem;
    margin-bottom: 2.4rem;
    border-bottom: 1px solid #aaa;
    color: var(--main-color);
    font-weight: 500;
}

main #reason-third ul section h4 span {
    color: var(--sub-color);
    font-size: 7.6rem;
    margin-right: 2rem;
}

main #reason-third ul section p {
    width: 94%;
    margin: 0 auto;
}

main #reason-third ul li:nth-of-type(1) {
    background: url(images/feature/feature-third-reason01.png) no-repeat left center;
}

main #reason-third ul li:nth-of-type(2) {
    background: url(images/feature/feature-third-reason02.png) no-repeat right center;
}

main #reason-third ul li:nth-of-type(3) {
    background: url(images/feature/feature-third-reason03.png) no-repeat left center;
}

main #reason-third ul li:nth-of-type(4) {
    background: url(images/feature/feature-third-reason04.png) no-repeat right center;
}

main #reason-third ul li:nth-of-type(5) {
    background: url(images/feature/feature-third-reason05.png) no-repeat left center;
}

main #reason-third ul li:nth-of-type(6) {
    background: url(images/feature/feature-third-reason06.png) no-repeat right center;
}

main #reason-third ul li:nth-of-type(1) section,
main #reason-third ul li:nth-of-type(3) section,
main #reason-third ul li:nth-of-type(5) section {
    margin-left: auto;
}*/

@media screen and (max-width:1200px) {
    #feature main .feature-line {
        padding-top: 0;
    }
    #feature main .feature-line span{
        margin-bottom: 4rem;
    }
    main #reason-first .region .inner{
        flex-direction: column-reverse;
    }
    main #reason-first .reason-first_lead{
        width: 100%;
        padding: 0 ;
        margin: 0 auto 2rem;
    }
    main #reason-first .aaa_wrapper{
        width: 100%;
        margin: 0 auto;
    }
    main #reason-first .aaa_wrapper p{
        text-align: center;
    }
    main .reason-select dl div {
        width: 48%;
        margin-right: 4%;
    }
    main .reason-select dl div:nth-child(2n){
        margin-right: 0;
    }
    main .reason-select dl div:nth-child(n+4) {
        margin-bottom: 4.2rem;
    }

    main .reason-select dl div:nth-child(n+5) {
        margin-bottom: 0;
    }
/*
    main #reason-third ul li {
        width: 100%;
        margin-bottom: 4.2rem
    }

    main #reason-third li:nth-child(6) {
        margin-bottom: 4.2rem;
    }*/

    main #reason-third ul.worry li {
        width: 100%;
    }
}

@media screen and (max-width:900px) {
    main .reason-select dl div{
        width: 80%;
        margin-right: 0;
    }
    #feature .reason-select p.sub-catch,
    #feature .plan-select p.sub-catch {
        padding-left: 0;
        font-size: 1.6rem;
        text-align: left;
    }
    main #reason-first h2 br{
        display: block;
    }

    main #reason-first .aaa_wrapper p{
        text-align: left;
    }
    main #reason-first .aaa_detail_lower ul{
        width: 100%;
    }
    main #reason-first .region .reason-first-img {
        width: 90%;
        margin: 0 auto 1.6rem;
    }
    main #reason-first .region h3 {
        font-size: 3rem;
        margin-bottom: 2.4rem;
    }

    main #reason-first .pc {
        display: none;
    }

    main #reason-first .descript {
        flex-direction: column;
    }

    main #reason-first .descript img {
        display: block;
        margin: 0 auto 2.4rem;
    }
/*
    main #reason-third p.sub-catch {
        font-size: 1.6rem;
    }*/

    main #reason-third p.sub-catch {
        font-size: 1.6rem;
        margin-top: 4.2rem;
        text-align: left;
    }

    main #reason-third dl.support div {
        width: 100%;
        margin-bottom: 3.2rem;
    }

    main #reason-third dl.support div:last-child {
        margin-bottom: 0;
    }
/*
    main #reason-third ul li section {
        width: 75%;
        padding: 1rem 2rem 3rem;
    }*/
}

@media screen and (max-width:768px) {
    #feature .block {
        margin-bottom: 0;
    }
    main #reason-first .aaa_wrapper p.aaa_intro{
        width: 100%;
        padding-left: 0;
        text-align: left;
    }
    main #reason-first .aaa_wrapper p.aaa_intro:before,
    main #reason-first .aaa_wrapper p.aaa_intro:after{
        display: none;
    }
    main #reason-first .aaa_detail_lower li br{
        display: block;
    }
    main .reason-select dl {
        margin-top: 3.6rem;
    }

    main .reason-select dl dt span {
        font-size: 3rem;
        padding: 0.4rem 1.2rem 0.2rem;
        line-height: 3rem;
        width: 4rem;
        height: 4rem;
        margin-right: 1rem;
        margin-left: 1rem;
    }
    main .reason-select dl div {
        margin-bottom: 2.4rem;
        padding-bottom: 2.4rem;
        padding-right: 0.8rem;
    }

    main .reason-select dl div:nth-child(n+4) {
        margin-bottom: 2.4rem;
    }
/*
    main .reason-select dl div:last-child {
        margin-bottom: -2rem;
        ;
    }*/

    main .reason-select dl dd a img {
        margin-right: 1.4rem;
        width: 40px;
    }

    main .reason-select dl dd p {
        font-size: 1.6rem;
    }

    main #reason-first .region {
        padding-top: 3.2rem;
    }

    main #reason-first .region .reason-first-img {
        width: 100%;
    }

    main #reason-first .region h3,
    main #reason-first .region h3 span {
        font-size: 2.4rem;
        line-height: 1.4;
    }
    main #reason-first .region h3 br{
        display: none;
    }

    main #reason-first .region p {
        font-size: 1.6rem;
    }

    main #reason-first .descript {
        flex-direction: column;
    }

    main #reason-first .descript img {
        width: 100%;
    }
    main #reason-first .descript {
        padding: 1.6rem;
    }

    main #reason-first .descript dt {
        font-size: 1.7rem;
        padding-left: 0.5rem;
    }
/*
    main #reason-third dt {
        font-size: 1.8rem;
    }

    main #reason-third li {
        flex-direction: column;
    }
    main #reason-third li img {
        display: block;
        margin: 0 auto 1.6rem;
    }*/

    main #reason-third h3.middle-catch {
        margin-bottom: 3.2rem;
    }

    main #reason-third dl.support div {
        padding: 1rem;
    }

    main #reason-third ul.worry li {
        flex-direction: column;
        margin: 0 auto 3.2rem;
    }

    main #reason-third ul.worry li img {
        display: block;
        margin: 0 auto 1.6rem;
        width: 100%;
        height: 50%;
        object-position: center;
        object-fit: cover;
    }

    main #reason-third ul.worry dl dt {
        text-align: center;
    }
/*
    main #reason-third ul li {
        background: none !important;
        padding: 0;
        margin: 0 0 3.2rem;
    }

    main #reason-third ul li img {
        width: 100%;
        border: 1px solid #ccc;
        border-bottom: 0;
    }

    main #reason-third ul section h4 span {
        font-size: 5.4rem;
    }

    main #reason-third ul li section {
        width: 100%;
        padding: 1rem 1rem 1.6rem;
    }

    main #reason-third ul section h4 {
        font-size: 1.8rem;
        width: 94%;
        margin: 0 auto 2.4rem;
    }*/
}
@media screen and (max-width:600px)  {
    main #reason-first .aaa_wrapper{
        padding: 2rem 2rem;
    }
    main #reason-first .aaa_detail_upper p.achievement​{
        width: 100%;
        font-size: 2.4rem;
        padding-top: 2rem;
        line-height: 0.7;
    }
    main #reason-first .aaa_detail_upper span{
        display: block;
        width: 100%;
        text-align: right;
        padding-left: 0;
    }
    main #reason-first .aaa_detail_upper span.aaa {
        text-align: center;
        margin-top: 3rem;
    }

    main .reason-select dl div{        
        width: 100%;
        margin-right: 0;
    }
    main .reason-select dl div:nth-child(3n){
        margin-right: 0;
    }
}

/* ==========================================================================
   place
========================================================================== */

main .place-top-block .sub-catch {
    width: 60%;
    margin: -12rem auto 3.6rem;
    text-align: left;
}
main .place-top-block .sub-catch span {
    margin-bottom: 20px;
    display: block;
    font-size: 3.2rem;
}

main .place-top-block .halls-select {
    width: 85%;
    padding: 3.8rem 0 2.4rem;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#hall main .image-map_wrapper{
    background-color: var(--sub-bgcolor01);
    padding-bottom: 3.8rem;
}
#hall main .image-map_wrapper img{
    display: block;
}

main .place-top-block .halls-select h3 {
    color: var(--main-color);
    text-align: center;
    font-size: 3.2rem;
    margin-bottom: 3.6rem;
    width: 100%;
}
main .place-top-block .halls-select h3 span{
    font-size: 2.6rem;
    border-bottom: 2px dotted var(--main-color);
    padding-bottom: 1rem;
}

main .place-sub-block .sub-catch {
    width: 60%;
    margin: -2rem auto 3.6rem;
    text-align: left;
}

main .place-sub-block .about-halls {
    border: 1px solid #ccc;
    margin-bottom: 6.4rem;
    display: flex;
    align-items: flex-start;
    padding: 2.4rem;
    background-color: #fff;
}

main .place-sub-block .about-halls img {
    margin-right: 2.8rem;
    max-width: 500px;
}

main .place-sub-block .about-halls dl {
    flex: 1;
}

main .place-sub-block .about-halls dl dt {
    color: var(--main-color);
    font-size: 2.8rem;
    padding-bottom: 1.6rem;
    margin-bottom: 2.4rem;
    border-bottom: 1px solid #aaa;
    font-family: serif;
    font-weight: 900;
}

main .place-sub-block .about-halls dl dd {
    font-size: 1.8rem;
    margin-bottom: 1rem;
}
main .place-sub-block .about-halls dl dd:last-of-type {
    margin-bottom: 0;
}
main .place-sub-block .about-halls dl dd i{
    padding-left: 2rem;
}

main .place-sub-block .about-halls dl dd:nth-of-type(1) {
    margin-bottom: 2.8rem;
    font-size: 2rem;
}

main .place-sub-block .about-halls dl ul li {
    display: inline-block;
    border: 1px solid #ccc;
    padding: 0.7rem 1rem;
    margin-right: 0.2rem;
    font-size: 1.6rem;
    margin-bottom: 0.5rem;
} 
#hall main .place-sub-block .about-halls dd.mores{
    padding-top: 1.8rem;
}
#hall main .place-sub-block .about-halls dd.mores a{
    width: 280px;
}

main .place-sub-block .other-area {
    text-align: center;
}

main .place-sub-block .other-area a {
    font-size: 2.4rem;
    padding: 2rem 8rem;
    border: 1px solid #aaa;
    display: inline-block;
}
#hall main .letters .upost h2{
    background: none;
    color: #505050;
    display: block;
    text-align: center;
    box-shadow: none;
    padding: 0;
    position: initial;
}
#hall main .letters{
    background-color: #faf7f2;
}

#hall main .letters .upost h2::after{
    display: none;
}

@media screen and (max-width:1200px){
    #hall main .block.place-top-block_wrapper{
        padding-bottom: 0;
        margin-bottom: 0;
    }
    #hall main .block.place-list_wrapper{
        padding-top: 0;
        background-color: var(--sub-bgcolor01);
        padding-bottom: 1rem;
        margin-bottom: 4rem;
    }
    #hall main .image-map_wrapper img{
        display: none;
    }
    #hall main .image-map_wrapper map{
        display: none;
    }
    main .place-sub-block .about-halls img {
        width: 40%;
    }
    
}
@media screen and (max-width:900px){
    main .place-top-block .halls-select {
        width: 98%;
    }
    main .place-sub-block .about-halls dl dd {
        font-size: 1.6rem;
    }
    main .place-sub-block .about-halls dl dd ul {
        text-align: left;
    }
    main .place-sub-block .about-halls img {
        width: 40%;
    }
}
@media screen and (max-width:768px) {
    #hall main .block.event{
        margin-bottom: 5rem;
    }
    main .place-top-block .halls-select {
        width: 100%;
        padding: 2.4rem 1rem 0;
    }
    main .place-top-block .halls-select h3 {
        font-size: 2rem;
    }
    main .place-top-block .halls-select h3 span{
        font-size: 2.4rem;
    }
    main .place-sub-block .about-halls dl dt{
        text-align: center;
        padding-bottom: 0.6rem;
        margin-bottom: 1.4rem;
    }
    main .place-sub-block .about-halls dl dd{
        margin-bottom: 0;
    }
    main .place-sub-block .about-halls dl dd ul{
        margin-top: 1rem;
    }
    main .place-sub-block .about-halls dl dd:nth-of-type(1){
        margin-bottom: 1rem;
    }
    main .place-sub-block .about-halls img {
        width: 100%;
        margin: 0 auto 1.4rem;
        display: block;
    }
    #hall main .place-sub-block .about-halls dd.mores{
        padding-top: 0;
    }
}
/* ==========================================================================
   hall detail
========================================================================== */
main .hall-detail .sub-catch {
    text-align: center;
    font-size: 2rem;
    margin: 0;
    color: #999;
}
main .hall-detail .sub-catch::before{
   font-family: "Font Awesome 5 free";
    content: "\f3c5";
    font-weight: 900;
    padding-right: 1rem;
}
main .hall-detail h2{
    font-family: serif;
    font-size: 4.2rem;
    font-weight: 900;
    color: var(--main-color);
    border-bottom: 1px dotted var(--main-color);
}

main .hall-detail #swiper {
    width: 80%;
    margin-bottom: 3rem;
    text-align: center;
}

main .hall-detail .card__img {
    margin: 24px auto 0;
    display: block;
}

main .hall-detail #thumbs img {
    vertical-align: bottom;
}

main .hall-detail #thumbs {
    width: 60%;
}

main .hall-detail .swiper-pagination-bullet{
    width: 12px !important;
    height: 12px !important;
    background: #fff;
    opacity: 0.6;
}
main .hall-detail .swiper-pagination-bullet-active{
    background: var(--main-bgcolor) !important;
    opacity: 1 !important;
}
@media screen and (max-width:768px) {
    main .hall-detail #thumbs{
        width: 80%;
    }
    main .hall-detail h2{
        font-size: 2.8rem;
    }
}

main .hall-detail .swiper-button-next,
main .hall-detail .swiper-button-prev {
    color: var(--main-color);
}

main .hall-detail #thumbs .swiper-slide-thumb-active {
    outline: 5px solid var(--main-color);
    outline-offset: -5px;
}

main .more-btn.link-btn {
    margin: 0;
}

main .panorama_bn {
    margin-bottom: 30px;
}

main .hall-merit {
    background: #fff;
    padding: 2.8rem;
    text-align: center;
}

main .hall-merit ul {
    display: flex;
    flex-wrap: wrap;
    margin-top: 2.8rem;
    justify-content: center;
}

main .hall-merit li {
    width: 15.8%;
    margin-right: 1%;
    border: 1px solid #ccc;
    padding: 1rem 0.6rem;
    text-align: center;
    background-color: var(--sub-bgcolor01);
}
main .hall-merit li:last-child {
    margin-right: 0;
}
main .hall-basic {
    box-shadow: 0 0 5px rgba(176, 176, 176, 0.5),
        0 0 10px rgba(176, 176, 176, 0.4);
    padding: 3rem;
}
main .hall-basic_wrapper h2{
    margin-bottom:1.6rem ;
    font-size: 3.2rem;
    color: #505050;
}
.notel{
    pointer-events: none;
}
@media screen and (max-width:1200px) {
    main .hall-basic_wrapper h2{
        font-size: 2.4rem;
        margin-top: 1rem;
    }
}
main .hall-basic .hall-basic_inner{
    background: #faf7f2;
    padding: 4rem 3rem 2rem;
    margin-bottom: 2.8rem;
}
main .hall-basic .hall-basic_upside {
    display: flex;
    justify-content: space-between;
}

main .hall-basic div.hall-basic_upside > dl {
    width: 47.5%;
}
@media screen and (max-width:768px) {
    main .hall-basic .hall-basic_upside{
        display: block;
        padding-bottom: 0;
    }
    main .hall-basic div.hall-basic_upside > dl{
        width: 100%;
    }
}
main .hall-basic dl {
    overflow: hidden;
}

main .hall-basic div dt {
    float: left;
}

main .hall-basic div > dl > dt {
    font-weight: bold;
}

main .hall-basic div > dl > dd {
    border-bottom: 1px solid #ccc;
    margin: 0 0 2rem 14rem;
    padding: 0 0 1rem 1rem;
}
main .hall-basic div.hall-basic_downside ul{
    margin-bottom: 1rem;
}
main .hall-basic div.hall-basic_downside ul li{
    list-style: disc;
    font-size: 1.5rem;
    margin-left: 3rem;
}

main .hall-basic div.hall-basic_downside > dl > dd:last-child {
    border-bottom: none;
}
main .hall-basic div.hall-basic_downside span{
    font-size: 1.4rem;
    color: #fff;
    background-color: var(--sub-color);
    padding: 0 0.5rem;
    border-radius: 0.2rem;
    margin-right: 2rem;
}
main .hall-basic div.hall-basic_downside ol li{
    display: flex;
}
main .hall-basic div.hall-basic_downside ol li span{
    width: 50px;
    text-align: center;
    display: block;
}

main .hall-basic dl.sub-dl dd {
    padding-left: 14rem;
}

main .hall-basic div.mapWrap {
    display: block;
    position: relative;
    padding-bottom: 30%;
    height: 0;
    overflow: hidden;
    margin-bottom: 3rem;
}

main .hall-basic div.mapWrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media screen and (max-width:768px) {
    main .hall-basic div.mapWrap{
        padding-bottom: 110%;
    }
    main .hall-basic div.mapWrap iframe{
        height: 120%;
    }
}
main .hall-select-reason_wrapper{
    background: rgb(227,227,237);
    background: -moz-linear-gradient(0deg, rgba(90, 90, 133, 0.8) 0%, rgba(227,227,237,0.4) 100%);
    background: -webkit-linear-gradient(0deg, rgba(227,227,237,0.8) 0%, rgba(227,227,237,0.4) 100%);
    background: linear-gradient(0deg, rgba(227,227,237,0.8) 0%, rgba(227,227,237,0.4) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e3e3ed",endColorstr="#e3e3ed",GradientType=1);
}

main .hall-select-reason_wrapper h2{
    font-size: 3.2rem;
}
@media screen and (max-width:768px) {
    main .hall-select-reason_wrapper h2{
        font-size: 2.4rem;
    }
}
main ul.hall-select-reason {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

main ul.hall-select-reason li {
    position: relative;
    width: 32%;
    background: #fff;
    padding-bottom: 3.2rem;
}

main ul.hall-select-reason li p {
    padding: 0 1.6rem;
}

main ul.hall-select-reason span {
    color: #fff;
    font-size: 2.8rem;
    background: var(--btn-color);
    position: absolute;
    padding: 0.8rem 1rem;
}

main ul.hall-select-reason h3 {
    font-size: 2rem;
    margin: 1.6rem 0 2rem 1.6rem;
}

#hakuzen main .block.letters,
#higashiku main .block.letters,
#nishiku main .block.letters,
#yamahana main .block.letters{
    background-image: url(../sougi/images/voice_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
@media screen and (max-width: 900px) {
    main .hall-detail .sub-catch{
        padding-left: 0;
    }
    main .place-top-block .sub-catch {
        font-size: 1.8rem;
        width: 90%;
    }

    main .place-sub-block .about-halls {
        align-items: flex-start;
        padding: 1.6rem;

    }

    main .place-sub-block .about-halls dl ul li {
        font-size: 1.4rem;
    }
    main .hall-basic{
        padding: 1rem;
    }
    main .hall-basic .hall-basic_inner{
        padding: 4rem 2rem 2rem;
    }

    main .hall-basic div {
        flex-wrap: wrap;
    }

    main .hall-basic div > dl {
        width: 100%;
    }
    main .hall-basic div.hall-basic_downside ul li{
        font-size: 1.4rem;
        margin-left: 2rem;
    }
    main .hall-basic div.hall-basic_downside ol li span{
        width: 45px;
    }
    main .hall-basic div.hall-basic_downside span{
        margin-right: 1.5rem;
    }

    main .hall-merit li {
        width: 30%;
        margin-right: 5%;
        margin-bottom: 1.6rem;
    }

    main .hall-merit li:nth-child(3n) {
        margin-right: 0;
    }

    main ul.hall-select-reason li {
        width: 48%;
        margin-bottom: 3.2rem;
    }
}

@media screen and (max-width: 768px) {
    main .place-top-block .sub-catch {
        font-size: 1.6rem;
        width: 100%;
        display: contents;
        padding: 20px;
    }

    main .place-top-block .sub-catch span {
        margin-bottom: 20px;
        font-size: 1.8rem;
    }

    main .place-sub-block .sub-catch {
        width: 100%;
        font-size: 1.5rem;
    }

    main .place-sub-block .about-halls {
        align-items: flex-start;
        flex-direction: column;
    }

    main .place-sub-block .about-halls dl {
        width: 100%;
    }

    main .place-sub-block .about-halls dd.mores a {
        margin: 1.6rem auto 0;
    }

    main .hall-merit ul {
        flex-wrap: wrap;
        justify-content: space-between;
    }

    main .hall-merit li {
        width: 30%;
        margin-bottom: 1rem;
        margin-right: 0;
    }

    main ul.hall-select-reason {
        flex-wrap: wrap;
    }

    main ul.hall-select-reason li {
        width: 100%;
        margin-bottom: 2.4rem;
    }
    main ul.hall-select-reason li:last-of-type {
        margin-bottom: 0;
    }

    main .hall-merit {
        padding: 1.6rem;
        text-align: left;
    }

    main .hall-merit li {
        padding-left: 0.4rem;
    }

    main .hall-select-reason li img {
        display: block;
        margin: 0 auto 0;
    }

    main .hall-basic div > dl > dt {
        width: 100%;
        margin-bottom: 1rem;
    }

    main .hall-basic div > dl > dd {
        margin-left: 0;
    }

    main .hall-basic div dt {
        float: none;
    }

    main .hall-basic dl.sub-dl dd {
        padding-left: 1.6rem;
        margin-bottom: 1rem;
    }
    main .hall-basic div > dl > dd:last-child {
        border-bottom: 1px solid #ccc;
    }
}

/* ==========================================================================
   price
========================================================================== */

#price main .sub-catch {
    color: #666;
}
#price main .block.backg{
    background-color: var(--sub-bgcolor01);
}
main .second-catch {
    text-align: center;
    margin-bottom: 4rem;
}

main h3.price-table {
    font-size: 2.8rem;
    text-align: center;
    margin: 7.2rem 0 1.6rem;
}
#price main h3.price-table span{
    font-size: 3.2rem;
    color: var(--main-color);
    font-weight: 500;
}
#price main .plan-reasons h2 span{
    color: var(--main-color);
}
main .plan-reasons ul li.plan-reasons_item {
    display: flex;
    align-items: center;
    margin: 0 0 6rem;
    padding: 4rem 0;
}

main .plan-reasons ul section {
    background-color: rgba(255, 255, 255, 0.95);
    padding: 2rem 3rem 4rem;
    width: 60%;
    border: 1px solid #aaa;
}

main .plan-reasons ul section h4 {
    line-height: 1.4;
    display: flex;
    align-items: center;
    font-size: 2.4rem;
    margin-bottom: 1.6rem;
    border-bottom: 1px solid #aaa;
    color: var(--sub-color);
}

main .plan-reasons ul section h4 span {
    font-size: 6.6rem;
    margin-right: 1.8rem;
}

main .plan-reasons ul section p {
    width: 90%;
    margin: 0 auto;
}

main .plan-reasons ul li.plan-reasons_item:nth-of-type(1) {
    background: url(images/plan-reasons01.png) no-repeat left center;
}

main .plan-reasons ul li.plan-reasons_item:nth-of-type(2) {
    background: url(images/plan-reasons02.png) no-repeat right center;
}

main .plan-reasons ul li.plan-reasons_item:nth-of-type(3) {
    background: url(images/plan-reasons03.png) no-repeat left center;
}
main .plan-reasons ul li.plan-reasons_item:nth-of-type(4) {
    background: url(images/plan-reasons04.png) no-repeat right center;
}
main .plan-reasons ul li.plan-reasons_item:nth-of-type(5) {
    background: url(images/plan-reasons05.png) no-repeat left center;
}
main .plan-reasons ul li.plan-reasons_item:nth-of-type(6) {
    background: url(images/plan-reasons06.png) no-repeat right center;
}
main .plan-reasons ul li.plan-reasons_item:nth-of-type(1) section,
main .plan-reasons ul li.plan-reasons_item:nth-of-type(3) section,
main .plan-reasons ul li.plan-reasons_item:nth-of-type(5) section {
    margin-left: auto;
}
main .plan-reasons ul li.plan-reasons_item .iso{
    display: flex;
}
main .plan-reasons ul li.plan-reasons_item .iso img{
    margin-left: 1rem;
    object-fit: contain;
}
main .plan-reasons ul li.plan-reasons_item span.notes{
    font-size: 0.5rem;
    padding: 0 5px;
}
main .plan-reasons .notes_detail {
    font-size: 1.2rem;
    margin-bottom: 0;
    margin-left: 3rem;
    border: none;
}
main .plan-reasons .notes_detail:first-of-type{
    margin-top: 1rem;
}
@media screen and (max-width: 900px) {
    main .plan-reasons ul section {
        width: 90%;
    }
}
@media screen and (max-width:768px){
    #price main .sub-catch{
        padding-left: 0;
        width: 94%;
        margin: -3.2rem auto 2rem;
    }
    #price main h3.price-table span{
        font-size: 2.4rem;
    }
}
@media screen and (max-width: 600px) {
    main .plan-reasons ul section h4 {
        font-size: 1.8rem;
    }
    main .plan-reasons ul li.plan-reasons_item .iso{
        display: block;
    }
    main .plan-reasons ul li.plan-reasons_item .iso img{
        margin: 1rem auto 0;
        display: block;
    }
    #price .block {
        padding: 1.6rem 0;
    }

    #price .block.backg {
        margin-bottom: 0;
    }

    #price main .sub-catch {
        font-size: 1.6rem;
        text-align: left;
    }

    main h3.price-table {
        font-size: 2.2rem;
        margin-top: 2.4rem;
    }

    main .plan-reasons ul li.plan-reasons_item {
        background-position: center top !important;
        padding: 38rem 0 0;
        margin-bottom: 3.2rem;
    }

    main .plan-reasons ul section {
        width: 100%;
        padding: 1.6rem;
    }
}

/* ==========================================================================
   price detail
========================================================================== */
main .block.no-margin {
    margin-bottom: 0;
}
/*--tab--*/
.tab_list{
    display: flex;
    justify-content: center;
}
.tab_simple .js-tab-btn{
    background: #95d2d8;
}
.tab_simple .js-tab-btn.current{
    background: var(--plan-simple-bgcolor);
}
.tab_family .js-tab-btn{
    background: #b99abf;
}
.tab_family .js-tab-btn.current{
    background: var(--plan-family-color);
}
.tab_family .js-tab-btn.plan_yamahana{
    background: var(--plan-family-yamahana-bgcolor);
}
.tab_family .js-tab-btn.plan_yamahana.current{
    background: var(--plan-family-yamahana-color);
}
.tab_general .js-tab-btn{
    background: #afc9eb;
}
.tab_general .js-tab-btn.current{
    background: var(--plan-general-bgcolor);
}
.js-tab-btn{
    padding: 10px 30px;
    border: 1px solid #fff;
    color: #fff;
    font-size: 2rem;
    text-align: center;
    font-family: serif;
    /* position: relative; */
}
/* .js-tab-btn.recommended::before,
.js-tab-btn.popular::before{
    position: absolute;
    content: "";
    width: 60px;
    height: 60px;
    top: -46px;
    left: 0;
    background-image: url(../sougi/images/recommended.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
.js-tab-btn.popular::before{
    background-image: url(../sougi/images/popular.png);
} */
.js-tab-btn br{
    display: none;
}
.js-tab-contents {
    display: none;
}
.js-tab-contents.current {
    display: block;
}
/*--tabここまで--*/
#plan_simple main .block.backg,
#plan_family main .block.backg,
#plan_general main .block.backg {
    background-color: #f4f3fa;    
}
main .price-details .tab-menu {
    display: flex;
    justify-content: center;
    border-bottom: 1px solid #ccc;
    margin-bottom: 3.2rem;
}

main .price-details .sub-catch {
    margin-bottom: 2rem;
}

main .price-details .tab-menu li a {
    font-size: 2.2rem;
    display: block;
    border: 1px solid #ccc;
    border-bottom: none;
    border-radius: 8px 8px 0 0;
    padding: 1rem 7rem 0.7rem;
    margin: 0;
}

main .price-details .tab-menu li a.active {
    background: var(--main-bgcolor);
    color: #fff;
}

#plan_simple main .price-details .tab-menu li a.active {
    background: #21848D;
}

main .price-details h2 {
    font-family: serif;
    font-size: 3.8rem;
    font-weight: 900;
}

#plan_family main .price-details h2 {
    color:var(--plan-family-color);
}
#plan_family main .price-details.plan_yamahana  h2 {
    color:var(--plan-family-yamahana-color);
}
#plan_simple main .price-details h2 {
    color: var(--plan-simple-bgcolor);
}

main .price-details .tab-boxes {
    display: flex;
    border: 1px solid #ccc;
    padding: 3.2rem;
    margin-bottom: 4.2rem;
    background: #fff;
    align-items: center;
}

main .price-details .tab-boxes figure {
    width: 48%;
    margin-right: 4%;
}

main .price-details .tab-boxes dl {
    width: 48%;
}

main .price-details .tab-boxes dt.price-title {
    background: var(--plan-general-color);
    color: #fff;
    text-align: center;
    margin-bottom: 0.6rem;
    padding: 0.2rem 0;
}
#plan_simple main .price-details .tab-boxes dt {
    background: var(--plan-simple-bgcolor);
}
#plan_family main .price-details .tab-boxes dt {
    background: var(--plan-family-bgcolor);
}

#plan_family main .price-details.plan_yamahana .tab-boxes dt {
    background: var(--plan-family-yamahana-color);
}
#plan_general main .price-details .tab-boxes dt {
    background: var(--plan-general-bgcolor);
}

#plan_simple main .price-details .tab-boxes dt {
    background: var(--plan-simple-bgcolor);
}

main .price-details .tab-boxes dd.prices {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    text-align: center;
}

main .price-details .tab-boxes dd.prices .price-info {
    width: 100%;
    margin-bottom: 0.6rem;
}

main .price-details .tab-boxes dd.prices .members {
    width: 100%;
    display: block;
    font-size: 2rem;
    text-align: center;
    background: var(--accent-color);
    color: #fff;
    border-radius: 5px;
    padding: 0.2rem 0;
    margin-bottom: 0.5rem;
    letter-spacing: 1rem;
}

main .price-details .tab-boxes dd.prices .price {
    font-size: 6.4rem;
    font-weight: bold;
    flex: 1;
    color: var(--accent-color);
    text-align: right;
    padding-right: 0.4rem;
    width: 70%;
    line-height: 1.4em;
}

main .price-details .tab-boxes dd.prices .tax {
    font-size: 2rem;
    color: var(--accent-color);
    font-weight: bold;
    text-align: left;
    width: 30%;
    line-height: 1;
    position: relative;
    top: 0rem;
}

main .price-details .tab-boxes dd.prices .tax span:first-of-type{
    font-size: 1.2rem;
}
main .price-details .tab-boxes dd.prices .tax span:last-of-type{
    font-size: 3rem;
}

main .price-details .tab-boxes dd.prices .taxin_link::before {
  content: "";
      width: 0;
      height: 0;
      display: inline-block;
      border: 6px solid transparent;
      border-left: 6px solid var(--main-bgcolor02);

}
main .price-details .tab-boxes dd.prices .taxin_link {
  width: 100%;
    font-size: 1.6rem;
    margin-bottom: 1rem;
    text-align: right;
}


main .price-details .tab-boxes dd.prices .taxin_price {
    width: 100%;
    border: 1px solid #666;
    padding: .1rem;
    color: #d30f2d;
    font-weight: bold;
    font-size: 2rem;
    margin-bottom: 1rem;
}

main .price-details .tab-boxes dd.options {
    background: var(--plan-family-color);
    padding: 1rem 0;
}
main .price-details.plan_yamahana .tab-boxes dd.options {
    background: var(--plan-family-yamahana-color);
    padding: 1rem 0;
}
#plan_simple main .price-details .tab-boxes dd.options {
    background:var(--plan-simple-color);
}
#plan_general main .price-details .tab-boxes dd.options {
    background:var(--plan-general-color);
}
main .price-details .tab-boxes dd.options ul {
    display: flex;
    justify-content: center;
}

main .price-details .tab-boxes dd.options ul li {
    background: #fff;
    padding: 0.8rem 1rem;
    margin: 0 1rem;
}

main .price-details .tab-boxes dd.flow {
    display: flex;
    justify-content: center;
    padding: 1.8rem 0;
}

main .price-details .tab-boxes dd.flow li {
    display: table-cell;
    font-size: 1.8rem;
}

#plan_simple main .price-details .tab-boxes dd.flow li span {
    display: inline-block;
    background: var(--plan-simple-bgcolor);
    border-radius: 4px;
    color: #fff;
    padding: 0.2rem 1rem;
}

#plan_family main .price-details .tab-boxes dd.flow li span {
    display: inline-block;
    background: var(--plan-family-bgcolor);
    border-radius: 4px;
    color: #fff;
    padding: 0.2rem 1rem;
}
#plan_family main .price-details.plan-yamahana .tab-boxes dd.flow li span {
    display: inline-block;
    background: var(--plan-family-yamahana-color);
    border-radius: 4px;
    color: #fff;
    padding: 0.2rem 1rem;
}
#plan_general main .price-details .tab-boxes dd.flow li span {
    display: inline-block;
    background: var(--plan-general-bgcolor);
    border-radius: 4px;
    color: #fff;
    padding: 0.2rem 1rem;
}

main .price-details .tab-boxes dd.flow .off {
    background: #ccc !important;
}

main .price-details .tab-boxes dd.flow li:not(:last-child)::after {
    color: #A9A9A9;
    content: "▶︎";
    margin: 0 0.2rem 0 0.5rem;
    font-size: 1.3rem;
}

main .price-details .tab-boxes dd.description {
    background: #f9f9f9;
    padding: 1rem 2rem;
}

main .price-details h3 {
    text-align: center;
    line-height: 1.5;
    font-size: 2.8rem;
    margin-bottom: 1.5rem;
}

main .price-details h3.price-summary {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.5;
    padding-bottom: 2rem;
}

main .price-details h3.price-summary::before,
main .price-details h3.price-summary::after {
    content: "";
    flex-grow: 1;
    height: 2px;
    background: var(--sub-color);
    margin: 0 1rem;
}

main .price-details h3.price-summary span strong {
    color: var(--sub-color);
}

main dl.plan-sum {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

main dl.plan-sum dt {
    display: flex;
    flex-direction: column;
    font-size: 2rem;
    margin-right: 2rem;
}

main dl.plan-sum dt span {
    font-size: 2.4rem;
    display: block;
    background: var(--accent-color);
    color: #fff;
    border-radius: 4px;
    text-align: center;
    padding: 0.2rem 0;
    margin-bottom: 0.5rem;
}

main dl.plan-sum dd {
    display: flex;
    font-size: 6.8rem;
    align-items: center;
    color: var(--accent-color);
}

main dl.plan-sum dd span:nth-child(2) {
    font-size: 2rem;
    margin-left: 1rem;
    font-weight: bold;
}

main dl.plan-sum dd.taxin_price {
    font-size: 2rem;
    justify-content: center;
    border: 1px solid #333;
    padding: 1rem;
    margin-left: 2rem;
}

main .price-details ul.recommend {
    border: 1px solid #999;
    padding: 3rem;
    background: #fff;
    display: flex;
    justify-content: space-between;
    margin-bottom: 4.2rem;
}

main .price-details ul.recommend li {
    display: flex;
    align-items: center;
    border: 1px solid #aaa;
    width: 32%;
    padding: 1rem 2rem 1rem;
    font-weight: bold;
}

main .price-details ul.recommend li span {
    display: inline-block;
    line-height: 1.2;
    width: 80px;
    height: 80px;
    background: var(--sub-color);
    border-radius: 40px;
    color: #fff;
    text-align: center;
    padding: 2.2rem 1.6rem;
    font-size: 1.8rem;
    margin-right: 1.6rem;
}

main .price-details .service {
    border: 1px solid #999;
    background: #fff;
    padding: 4rem 3rem;
    margin-bottom: 4.8rem;
}

main .price-details .service p.sub {
    text-align: center;
    font-size: 2.4rem;
    margin-bottom: 1.6rem;
}

main .price-details .service ul {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 3.6rem;
}

main .price-details .service li {
    /* border: 1px solid #999; */
    /* width: 12.5%; */
    width: 10%;
    padding: 1rem 0.5rem;
    text-align: center;
    margin: -0.1rem 0 0 -0.1rem;
}

main .price-details h4.no-set {
    font-size: 2.4rem;
    margin-bottom: 2.4rem;
}

main .price-details h4.no-set::before {
    color: var(--sub-color);
    font-family: "Font Awesome 5 free";
    content: "\f044";
    font-weight: 400;
    padding-right: 0.8rem;
}

main .price-details .service-add {
    background: #eee;
    padding: 1.8rem 4rem;
}

main .price-details h3.plan-merit-title {
    font-weight: normal;
    font-size: 3.2rem;
    margin-bottom: 6.4rem;
}

main .price-details ul.merit {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3.6rem;
}

main .price-details ul.merit li {
    width: 32%;
    border: 1px solid #aaa;
    background: #fff;
    position: relative;
    padding-bottom: 3rem;
}

main .price-details ul.merit li span {
    display: inline-block;
    border-radius: 25px;
    background: var(--sub-color);
    height: 50px;
    width: 50px;
    font-size: 3.2rem;
    text-align: center;
    color: #fff;
    position: absolute;
    top: -25px;
    left: 5px;
}

main .price-details ul.merit .title {
    text-align: center;
    font-size: 2.2rem;
    margin: 1rem 0 1.6rem;
}

main .price-details ul.merit .cont {
    margin: 0 4rem;
}

/* その他葬儀プラン価格算出表 */
main .price-details .estimate{
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 2rem;
}
main .price-details .estimate .estimate-item{
    text-align: center;
    width: 200px;
    height: 120px;
    background-color: var(--main-bgcolor02);
    padding: 1rem;
    color: white;
}
main .price-details .estimate .estimate-item:last-of-type{
    padding: 0;
    line-height: 120px;
}
main .price-details .estimate .estimate-item>p:first-of-type{
    font-size: 2rem;
    font-weight: 600;
    padding-bottom: 1rem;
    line-height: inherit;
}
main .price-details .estimate .estimate-symbol{
    font-size: 5rem;
    margin: 2rem;
}

@media screen and (max-width: 1200px) {
    main .price-details .tab-boxes {
        padding: 2.4rem;
    }

    main .price-details .tab-boxes dd.prices .price {
        font-size: 5.2rem;
    }

    main .price-details .tab-boxes span.members {
        font-size: 1.8rem;
    }

    main .price-details .service {
        padding: 3.2rem 2rem;
    }

    main .price-details .tab-boxes dl {
        width: 100%;
    }
}
@media screen and (max-width:1000px){
    .js-tab-btn{
        /* padding: 10px 8px; */
        padding: 10px 6px;
        font-size: 1.8rem;
    }
}
@media screen and (max-width: 900px) {
    main .price-details .tab-boxes {
        flex-direction: column;
    }

    main .price-details .tab-boxes figure {
        width: 100%;
        margin: 0 0 2rem 0;
    }

    main .price-details ul.recommend {
        flex-wrap: wrap;
    }

    main .price-details ul.recommend li {
        width: 100%;
        margin-bottom: 2rem;
    }

    main .price-details .service li {
        width: 20%;
    }

    main dl.plan-sum dd {
        font-size: 4.2rem;
    }

    main .price-details ul.merit {
        flex-wrap: wrap;
    }

    main .price-details ul.merit li {
        width: 100%;
        margin-bottom: 3.2rem;
    }

    main .price-details ul.merit li img {
        display: block;
        margin: 1rem auto 1rem;
    }


    main .price-details h3.price-summary::before,
    main .price-details h3.price-summary::after {
        display: none;
    }
    /* その他葬儀プラン価格算出表 */
    main .price-details .estimate{
        flex-direction: column;
    }
    main .price-details .estimate .estimate-item{
        width: 80%;
        height: auto;
    }
    main .price-details .estimate .estimate-item>p{
        font-size: 1.4rem;
    }
    main .price-details .estimate .estimate-item>p br{
        display: none;
    }
    main .price-details .estimate .estimate-symbol{
        transform: rotate(-90deg);
        line-height: 2rem;
        font-size: 3rem;
        margin: 0.5rem auto;
    }
    main .price-details .estimate .estimate-item:last-of-type{
        padding: 2rem 0;
        line-height: inherit;
    }
    main .price-details .estimate .estimate-item:last-of-type p{
        padding-bottom:0;
    }
}

@media screen and (max-width: 600px) {
    .js-tab-btn br{
        display: block;
        font-size: 1.6rem;
        padding: 10px 2px;
    }
    /* .js-tab-btn.recommended::before,
    .js-tab-btn.popular::before{
        transform: translate(-50%,-50%);
        left: 50%;
        top: -25%;
    }
    .tab_list{
        margin-top: 1rem;
    }  */
    #plan_family .block.backg,
    #plan_general .block.backg,
    #plan_simple .block.backg {
        margin-bottom: 3.2rem;
        padding: 2.4rem 0 1.6rem;
    }

    #plan_family .block.backg.price-d,
    #plan_general .block.backg.price-d,
    #plan_simple .block.backg.price-d {
        margin-bottom: 1rem;
        padding-bottom: 0;
    }

    main .price-details .tab-menu li a {
        font-size: 1.8rem;
        padding: 1rem 4rem 0.7rem;
    }

    main .price-details .sub-catch {
        margin-bottom: 0;
    }

    main .price-details .tab-boxes {
        padding: 1rem;
    }

    main .price-details .tab-boxes dd.prices .price {
        font-size: 3.4rem;
    }

    main .price-details .tab-boxes .price-info {
        font-size: 1.2rem;
        margin-bottom: 1rem;
    }

    main .price-details .tab-boxes dd.prices .tax {
        position: relative;
        top: -0.5rem;
    }

    main .price-details .tab-boxes dd.prices .tax span:first-child {
        font-size: 1rem;
    }

    main .price-details .tab-boxes dd.prices .tax span:last-child {
        font-size: 2rem;
    }

    main .price-details .tab-boxes span.members {
        font-size: 1.2rem;
    }

    main .price-details .tab-boxes dd.options {
        padding: 0.4rem 0;
    }

    main .price-details .tab-boxes dd.options ul {
        justify-content: space-around;
    }

    main .price-details .tab-boxes dd.options ul li {
        font-size: 1.5rem;
        padding: 0.3rem 0.8rem;
        margin: 0.2rem 0;
    }

    main .price-details .tab-boxes dd.flow li {
        font-size: 1.3rem;
    }

    main .price-details .tab-boxes dd.flow li span {
        padding: 0.2rem 0.6rem;
    }

    main .price-details .tab-boxes dd.flow li:not(:last-child)::after {
        margin: 0;
        font-size: 1rem;
    }

    main .price-details .tab-boxes dd.description {
        padding: 1rem;
    }

    main .price-details h3 {
        font-size: 2.2rem;
        line-height: 1.5;
    }

    main .price-details h3 i {
        margin-top: 2rem;
    }

    main .price-details ul.recommend {
        padding: 1rem 1rem 0;
        ;
    }

    main .price-details ul.recommend li {
        margin-bottom: 1rem;
    }

    main .price-details ul.recommend li span {
        width: 60px;
        height: 60px;
        font-size: 1.6rem;
        padding: 1.4rem 0.8rem;
    }

    main .price-details .service {
        padding: 1.6rem;
    }

    main .price-details .service p.sub {
        font-size: 1.8rem;
    }

    main .price-details .service ul li {
        /* width: calc(100% / 3); */
        /* padding: 0.5rem 0.5rem 1.6rem; */
        width: calc(100% / 5);
        padding: 0 0 1rem;
    }

    main .price-details .service-add {
        padding: 1.8rem;
    }

    main .price-details h4.no-set {
        font-size: 1.9rem;
    }

    main dl.plan-sum dt {
        margin-right: 0;
    }

    main dl.plan-sum dt {
        font-size: 1.5rem;
    }

    main dl.plan-sum dd {
        margin-top: 0.5rem;
    }

    main dl.plan-sum dd span:nth-child(2) {
        font-size: 1.6rem;
    }

    main .price-details ul.merit li {
        padding: 0 1rem 1.6rem;
    }

    main .price-details ul.merit .cont {
        margin: 0 1rem;
    }

    main .price-details ul.merit li:last-child {
        margin-bottom: 0;
    }
    
}
@media screen and (max-width:370px){
    .js-tab-btn{
        /* padding: 10px 6px; */
        padding: 10px 4px;
        font-size: 1.5rem;
    }
}
/* ==========================================================================
   hurry
========================================================================== */
main .block.hurry {
    margin-bottom: 0;
}

main .hurry-block {
    background: var(--sub-bgcolor01);
    padding: 4rem 0;
}

main .hurry-block .inner {
    display: flex;
    justify-content: center;
}
main .hurry-block .inner >div{
    margin-right: 3rem;
}
main .hurry-block img{
    width: 40%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
#hurry main h2 span{
    color: #fff;
}
main .hurry-block h3 {
    font-size: 3rem;
    font-weight: bold;
}
main .hurry-block h3 br{
    display: none;
}

main .hurry-mid-block {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 1.6rem 0;
}

main .hurry-mid-block p a {
    font-size: 4.6rem;
    display: block;
    font-weight: bold;
    margin-right: 1.4rem;
}

main .hurry-mid-block p a::before {
    font-family: "Font Awesome 5 free";
    content: "\f879";
    font-weight: 900;
    padding-right: 1rem;
}

main .hurry-mid-block li {
    color: #fff;
    text-align: center;
    margin-bottom: 0.6rem;
    padding: 0.4rem 2rem;
    background: var(--btn-tel-color);
}

main .hurry-mid-block li:last-child {
    margin: 0;
}

main .hurry-btm-block {
    background: #fff;
    margin: 2.4rem 0;
}

main .hurry-btm-block h4 {
    position: relative;
    background: var(--main-color);
    color: #fff;
    font-size: 2rem;
    padding: 1rem 7rem 0.8rem 2rem;
}

main .hurry-btm-block h4 span {
    position: absolute;
    right: 0;
    top: -10px;
    display: inline-block;
    font-size: 1.4rem;
    padding: 0.8rem 1.5rem 0;
    width: 60px;
    height: 60px;
    background: var(--sub-color);
    border-radius: 30px;
}
main .hurry-btm-block h4 br{
    display: none;
}
main .hurry-btm-block ul {
    padding: 3rem 0 3rem 4rem;
}

main .hurry-btm-block ul li::before {
    font-family: "Font Awesome 5 free";
    content: "\f150";
    font-weight: 400;
    padding-right: 1rem;
}

main ul.hurry-flows {
    display: flex;
    justify-content: space-between;
}

main ul.hurry-flows li {
    position: relative;
    border: 1px solid #ccc;
    padding: 2rem 1rem 0;
    width: 19%;
}

main ul.hurry-flows li span {
    position: absolute;
    left: 10px;
    top: 10px;
    display: inline-block;
    font-size: 2.4rem;
    color: #fff;
    padding: 0.3rem 1.25rem 0;
    width: 40px;
    height: 40px;
    background: var(--main-color);
    border-radius: 30px;
}

main ul.hurry-flows li p {
    margin: 1.8rem 0;
    text-align: center;
}

main .cancel-pol {
    text-align: center;
}

main .cancel-pol h3 {
    font-size: 2.4rem;
    margin-bottom: 2.4rem;
}
main .hurry-consul_wrapper{
    background-color: var(--sub-bgcolor01);
}
main ul.hurry-consul {
    display: flex;
    justify-content: space-between;
}

main ul.hurry-consul li {
    width: 31%;
    border: 1px solid #ccc;
    padding: 1.6rem;
    background-color: #fff;
}

main ul.hurry-consul li img {
    margin-bottom: 1.6rem;
}

main ul.hurry-consul li h3 {
    font-size: 2.4rem;
    margin-bottom: 1rem;
}

main ul.hurry-consul li p.tels {
    font-size: 2.8rem;
    text-align: center;
    margin-right: 1rem;
}

main ul.hurry-consul li p.tels::before {
    font-family: "Font Awesome 5 free";
    content: "\f879";
    font-weight: 900;
    padding-right: 1rem;
}

main .hurry-container-small {
    width: 80%;
    margin: 0 auto;
    display: flex;
    background: #fff;
    box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1);
  align-items:center;
}

main .hurry-container-small__img {
    width: 50%;
    position: relative;
}

main .hurry-container-small__txt {
    width: 50%;
}

main .bnr-container__sp {
    display: none;
}

main .hurry-container-small__txt .lead {
    font-size: 2.6rem;
    font-weight: 400;
    text-align: center;
}

main .hurry-container-small__txt .num a {
    margin-top: 4px;
    font-size: 4rem;
    font-weight: 600;
    text-align: center;
    color: #D93831 !important;
}

main .hurry-container-small__point {
    display: flex;
    justify-content: center;
}

main .hurry-container-small__point span {
    background: #f3f3f3;
    padding: 1rem 1.5rem;
    margin: 0.5rem;
}

main .hurry-container-small__txt .sub-lead {
    margin-top: 10px;
    font-size: 2rem;
    text-align: center;
}
@media screen and (max-width:1200px){
    main .hurry-container-small{
        width: 100%;
    }
    main .hurry-container-small__txt .lead{
        font-size: 2.2rem;
    }
}
@media screen and (max-width: 900px) {
    main .block.hurry {
        margin-bottom: 0;
        padding-bottom: 0;
    }
    main .hurry-consul_wrapper{
        margin-bottom: 3rem;
    }
    #hurry main .block.backg{
        padding-top: 0;
        padding-bottom: 0;
    }
    main .hurry-block .inner {
        flex-direction: column;
    }

    main .hurry-block .inner > div {
        margin-right: 0;
    }
    main .hurry-block img{
        width: 100%;
    }
    main .hurry-container-small__txt .lead{
        font-size: 2rem;
    }
    main .hurry-container-small__txt .sub-lead{
        font-size: 1.6rem;
    }
    main .hurry-block h3 {
        text-align: center;
        margin-top: 2.4rem;
        font-size: 2.6rem;
    }
    main .hurry-block h3 br{
        display: block;
    }

    main .hurry-btm-block h4 span {
        top: -10px;
        border-radius: 0;
        width: auto;
        height: auto;
        padding: 0.4rem 1.5rem;
    }

    main .hurry-mid-block {
        justify-content: center;
    }

    main ul.hurry-flows {
        flex-wrap: wrap;
        justify-content: start;
    }

    main ul.hurry-flows li {
        width: 30%;
        margin-right: 5%;
        margin-bottom: 1.6rem;
    }

    main ul.hurry-flows li:nth-child(3) {
        margin-right: 0;
    }

    main ul.hurry-consul {
        flex-wrap: wrap;
    }

    main ul.hurry-consul li {
        width: 100%;
        display: flex;
        align-items: flex-start;
        margin-bottom: 2rem;
    }

    main ul.hurry-consul li img {
        width: 40%;
        margin-right: 2rem;
    }
}
@media screen and (max-width: 768px){
    main .hurry-container-small{
        display: none;
    }
}
@media screen and (max-width: 600px) {
    main .hurry-btm-block h4 br{
        display: block;
    }
    main .hurry-mid-block {
        flex-direction: column;
    }

    main .hurry-mid-block p a {
        font-size: 3.4rem;
        margin-bottom: 1.6rem;
    }

    main .hurry-btm-block ul {
        padding: 1rem;
    }

    main .hurry-mid-block li {
        padding: 0.4rem 1rem;
        font-size: 1.4rem;
        display:inline-block;
    }

    main ul.hurry-flows li {
        width: 48%;
        margin-right: 4%;
    }

    main ul.hurry-flows li:nth-child(2n) {
        margin-right: 0;
    }

    main ul.hurry-flows li:nth-child(3) {
        margin-right: 4%;
    }

    main .cancel-pol h3 {
        font-size: 1.8rem;
    }

    main ul.hurry-consul li {
        flex-wrap: wrap;
        flex-direction: column;
    }

    main ul.hurry-consul li img {
        width: 100%;
        margin-right: 0rem;
    }
}

/* ==========================================================================
   consultation
========================================================================== */
main .consul-top .btm-catch {
    text-align: center;
    width: 80%;
    margin: 0 auto;
}

main .consul-reasons ul li {
    background-size: contain;
    display: flex;
    align-items: center;
    margin: 0 0 6rem;
    padding: 5rem 0
}

main .consul-reasons ul section {
    background-color: rgba(255, 255, 255, 0.95);
    padding: 2rem 3rem 4rem;
    width: 60%;
    border: 1px solid #aaa;
}

main .consul-reasons ul section h4 {
    line-height: 1.4;
    display: flex;
    align-items: center;
    font-size: 2.8rem;
    margin-bottom: 2.4rem;
    border-bottom: 1px solid #aaa;
}

main .consul-reasons ul section h4 span {
    font-size: 4.8rem;
    margin-right: 2.4rem;
}

main .consul-reasons ul li:nth-of-type(1) {
    background: url(images/consul-reason01.png) no-repeat left center;
}

main .consul-reasons ul li:nth-of-type(2) {
    background: url(images/consul-reason02.png) no-repeat right center;
}

main .consul-reasons ul li:nth-of-type(3) {
    background: url(images/consul-reason03.png) no-repeat left center;
}

main .consul-reasons ul li:nth-of-type(1) section,
main .consul-reasons ul li:nth-of-type(3) section {
    margin-left: auto;
}

main ul.consul-flows {
    display: flex;
    justify-content: space-between;
    margin-top: 12rem
}

main ul.consul-flows li {
    position: relative;
    background: #fff;
    text-align: center;
    padding: 2.8rem;
    width: 24%;
}

main ul.consul-flows li span {
    position: absolute;
    top: -70px;
    left: 0;
    display: inline-block;
    font-size: 2.4rem;
    color: #fff;
    padding: 0.6rem 0;
    width: calc(100% - 25px);
    background: var(--feature-heading-bgcolor);
}

main ul.consul-flows li span::after {
    content: '';
    width: 0;
    height: 0;
    position: absolute;
    right: -24.99px;
    top: 0;
    border-style: solid;
    border-width: 25px 0 25px 25px;
    border-color: transparent transparent transparent var(--feature-heading-bgcolor);
}

main ul.consul-flows li h4 {
    font-size: 2.2rem;
    margin: 1.8rem 0 2.4rem;
    text-align: center;
}

main ul.consul-flows li p {
    text-align: left;
}

/* ==========================================================================
   event,letters,knowledge
========================================================================== */
h2.no-margin {
    margin-bottom: 0;
    line-height: 1;
}

p.genre {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 4.8rem;
    color: var(--main-color);
}

p.genre span {
    display: block;
    color: #ccc;
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

main .user-articles {
    display: flex;
    justify-content: space-between;
}

main .user-articles h3 {
    color: #fff;
    background: var(--main-bgcolor);
    font-weight: normal;
    padding: 0.8rem 1rem;
}

main .user-articles h4 {
    position: relative;
    padding: 1rem .5rem;
    font-size: 1.6rem;
}

main .single .user-articles .post-subbox h3::after {
    content: "";
    display: block;
    width: 5%;
    position: absolute;
    bottom: 0;
    left: -10px;
    margin-bottom: -3px;
    border-bottom: 3px solid #042382;
}

main .user-articles h4:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    content: '';
    border-radius: 3px;
    background-image: -webkit-gradient(linear, right top, left top, from(#e993a6), to(#a675b0));
    background-image: -webkit-linear-gradient(right, #e993a6 0%, #a675b0 100%);
    background-image: linear-gradient(to left, #e993a6 0%, #a675b0 100%);
}

main .single .user-articles ol{
    padding: 1.2rem;
    margin-bottom: 40px;
}
main .single .user-articles ol li{
    list-style: decimal;
    margin-left: 5rem;
    padding-left: 1rem;
}

main .single .user-articles .post-subbox h3 {
    font-size: 2.4rem;
    border-bottom: 3px solid #dcdcdc;
    font-weight: bold;
    position: relative;
}

main .single .user-articles .post-subbox h3, main .single .user-articles .post-subbox h4 {
    padding: 1rem 1.6rem;
    text-align: left;
    background: none;
    margin: 0;
    color: #444;
}

main .user-articles p {
    margin-bottom: 40px;
    padding: 1.2rem;
}

main .user-articles .contents {
    width: 65%;
}

main .user-articles .contents post-box::after {
    content: "";
    height: 0;
    width: 0;
    clear: both;
    overflow: hidden;
}

main .user-articles .post-box {
    margin-bottom: 2.5rem;
}

main .user-articles .post-subbox {
    border: 1px solid #ddd;
    border-top: none;
    padding: 2.4rem;
    display: flex;
}

main .single .user-articles .post-subbox {
    border: 1px solid #ddd;
    border-top: none;
    padding: 2.4rem;
    display: block;
}

main .user-articles .post-subbox figure {
    margin-right: 1.8rem;
    width: 40%;
}

.single main .user-articles .post-subbox figure{
    width: 90%;
}
.single main .user-articles .post-subbox figure table{
    width: 90%;
    margin: 1rem 1.6rem;
    margin-bottom: 40px;
}
main .user-articles .post-subbox figure table tbody th{
    border: 1px solid #505050;
    padding: 0.5rem;
}
main .user-articles .post-subbox figure table tbody td{
    border: 1px solid #505050;
    padding: 0.5rem;
}
main .user-articles .post-subbox figure img {
    border: 1px solid #ccc;
}
#knowledge-tips main .user-articles .post-subbox figure img,
#event main .user-articles .post-subbox figure img{
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: center; 
}


main .user-articles .post-subbox .post-img {
    text-align: center;
    margin-bottom: 2.4rem;
}

main .user-articles .post-subbox .details {
    flex: 1;
    display: flex;
    flex-direction: column;
}

main .user-articles .post-subbox .date {
    color: var(--sub-color);
    margin-bottom: 2rem;
}

main .user-articles .post-subbox .mores {
    align-self: flex-end;
    margin-top: auto;
}

main .user-articles .post-subbox .mores a {
    color: #fff;
    display: block;
    padding: 1rem 3rem;
    background: var(--btn-color);
}

main .user-articles aside {
    width: 31%;
}

main .user-articles aside a {
    color: var(--main-color);
}

main .user-articles aside dl {
    margin: 1.6rem 0.5rem 3.2rem;
    overflow: hidden;
}

main .user-articles aside dl dt {
    float: left;
    padding: 1.3rem 0 1.2rem 0;
}

main .user-articles aside dl dd {
    padding: 1.3rem 0 1.2rem 9.5rem;
    border-bottom: 1px solid #ddd;
}

main .user-articles aside ul {
    margin: 1.6rem 0.5rem 3.2rem;
}

main .user-articles aside ul li {
    padding: 1.3rem 0 1.2rem 0;
    border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 900px) {
    main .user-articles {
        flex-wrap: wrap;
    }

    main .user-articles .contents {
        width: 100%;
        margin-bottom: 4.2rem;
    }

    main .user-articles aside {
        width: 100%;
    }
}

@media screen and (max-width: 600px) {
    main .user-articles .post-subbox {
        flex-direction: column;
        flex-wrap: wrap;
    }

    main .user-articles .post-subbox figure {
        width: 100%;
        margin-bottom: 1.6rem;
		text-align:center;
    }

    main .user-articles .post-subbox .details {
        padding-right: 1.6rem;
    }
}

/* ==========================================================================
   company
========================================================================== */

main .company-top {
    /* display: flex;
    align-items: flex-start;
    justify-content: space-evenly; */
    font-size: 1.6rem;
    line-height: 1.6;
    width: 89%;
    margin: 0 auto;
}
main .company-top div.ceo-message {
    /*display: flex;
    flex-direction: column;
    justify-content: space-between;*/
    /* margin-right: 5rem;
	width:60%; */
    width: 100%;
}
main .company-top div.ceo-message .lead{
    border-bottom: 1px dotted var(--main-color);
}
main .company-top div.ceo-message p{
    margin-bottom: 2rem;
}
main .company-top div.ceo-message li{
    position: relative;
    color: var(--main-color);
    font-weight: 700;
    margin-bottom: 1rem;
    /* margin-left: 2rem; */
}
main .company-top div.ceo-message li:before{
    /* position: absolute; */
    /* content: "■"; */
    color: var(--main-color);
    left: -2rem;
}
main .company-top div.ceo-info{
    text-align: center;
    padding-top: 4rem;
    width: 26%;
    margin: 0 0 0 auto;
}
main .company-top div.ceo-info ul{
    background-color: var(--sub-bgcolor01);
    padding: 1rem;
}

main .company-top div.ceo-info li{
    text-align: left;
}
main .company-top div.ceo-info img{
    width: 160px;
}
@media screen and (max-width:1200px) {
    main .company-top div.ceo-info img{
        max-width: 100%;
    }
}


main .company-top p.lead span {
    font-size: 2.4rem;
}

main .company-top p.detail {
    font-size: 2rem;
    text-align: center;
    line-height: 1.4;
    margin-top: 1rem;
    margin-bottom: 2rem;
}

main .company-top p.detail span {
    display: block;
    margin-top: 1rem;
    font-size: 1.8rem;
}

main .company-top p.detail strong {
    font-size: 3rem;
}

main .company-top p.lead span {
    font-size: 2.6rem;
    margin-bottom: 2rem;
    display: block;
}

main .company-mid {
    background: #fff;
    padding: 2.4rem;
    text-align: center;
    line-height: 2.4;
    margin: -2.4rem 0 3.8rem;
}

main ul.company-promise {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

main ul.company-promise li {
    border: 1px solid #ccc;
    background: var(--sub-bgcolor02);
    padding: 2.4rem;
    width: 48%;
    margin-bottom: 3.2rem;
}

main ul.company-promise li h3 {
    color: var(--main-color);
    margin-bottom: 2.4rem;
    font-size: 2.4rem;
    line-height: 1.3;
}

main ul.company-promise li:nth-child(n+5) {
    margin-bottom: 0;
}

main .company-summary div {
    display: flex;
    align-items: flex-start;
}

main .company-summary dl {
    overflow: hidden;
    /*margin-left: 5rem;*/
    margin: 0 auto;
    width: 60%;
    border-bottom: 1px solid #ccc;
}

main .company-summary dt {
    float: left;
    clear: both;
    padding: 2.8rem 0 2.6rem;
}
main .company-summary dt .notes_detail{
    font-size: 1.2rem;
}

main .company-summary dd {
    padding: 2.8rem 0 2.6rem 18rem;
    border-top: 1px solid #ccc;
}

main .company-summary dd + dd {
    border: none;
}

@media screen and (max-width: 768px) {
    main .company-top p.lead span {
        font-size: 2.0rem;
        margin-bottom: 2rem;
    }

  main .company-summary dl {
    width:100%;
  }
}
@media screen and (max-width:1200px){
    main .company-top {
        /* flex-direction: column-reverse; */
        flex-direction: column;
        line-height: 1.8;
        align-items: stretch;
    }
    main .company-top div.ceo-info{
        display: flex;
        align-items: flex-end;
        margin-bottom: 5rem;
        /* justify-content: center; */
        justify-content: right;
        width: 60.2%;
    }
    main .company-top p.detail {
        /* text-align: left; */
    }
    main .company-top div.ceo-info div{
        padding-left: 3rem;
    }
    main .company-top div.ceo-message {
        margin-right: 0;
		width:100%;
    }
}
@media screen and (max-width: 900px) {
	
	main .company-top p.detail {
        font-size: 1.8rem;
        margin-left: 2rem;
	}
    main .company-top p.detail strong{
        font-size: 2.5rem;
    }
    main .company-top .lead {
        margin-bottom:20px;
    }

    main ul.company-promise li {
        width: 100%;
        margin-bottom: 2.4rem !important;
    }

    main .company-summary dl {
        margin-left: 0
    }

    main .company-summary img {
        display: none;
    }

    main ul.company-promise li h3 {
        font-size: 2rem;
    }
}
@media screen and (max-width: 600px) {
    main .company-top div.ceo-info{
        flex-direction: column;
        text-align: center;
        margin: 0 auto;
        align-items: center;
        /* padding-top: 3rem; */
        padding-top: 2rem;
        /* margin-bottom: 4rem; */
        margin-bottom: 1rem;
        width: 100%;
    }
    main .company-top div.ceo-info div{
        padding-left: 0;
    }
    main .company-top p.detail{
        text-align: center;
        margin-left: 0;
    }
    main .company-summary dd{
        padding-left: 11rem;
    }
    main .company-top{
        width: 98%;
    }
}



/* ==========================================================================
   kyouka
========================================================================== */

main .kyouka .catch {
    text-align: center;
    line-height: 2;
    font-size: 2rem;
}
main .kyouka .catch span{
    padding-top: 1rem;
    display: block;
    font-weight: bold;
}
main .kyouka .kyouka-top-block{
    background-color: var(--sub-bgcolor01);
    padding: 4rem 0;
}
main .kyouka .order-form_lnk{
    text-align: center;
    width: 60%;
    max-width: 720px;
    margin: 4rem auto 3.2rem;
}
main .kyouka .order-form_lnk a{
    font-size: 2.4rem;
    color: #fff;
    background: var(--main-color);
    display: block;
    padding: 2.4rem 3.6rem 2.2rem;
    box-shadow: 0 0 8px rgb(170 170 170 / 60%);
    height: 86px;
    display: block;
}
@media screen and (max-width:900px){
    main .kyouka .order-form_lnk{
        width: 95%;
    }
    main .kyouka .order-form_lnk a{
        font-size: 1.8rem;
        padding: 1.8rem;
        height: auto;
    }
}
main .kyouka .order-form_lnk a:after{
    font-family: "Font Awesome 5 free";
    content: "\f138";
    font-weight: 900;
    padding-left: 2rem;
}
main .order-pdf {
    text-align: center;
    width: 60%;
    max-width: 720px;
    border: 1px solid #ccc;
    margin: 4rem auto 3.2rem;
    background-color: #fff;
}

main .order-pdf a {
    font-size: 2.4rem;
    display: block;
    padding: 1.6rem;
}

main .order-pdf a::before {
    color: var(--sub-color);
    font-family: "Font Awesome 5 free";
    content: "\f1ac";
    font-weight: 900;
    padding-right: 1.6rem;
}

main .order-pdf a::after {
    color: var(--sub-color);
    font-family: "Font Awesome 5 free";
    content: "\f138";
    font-weight: 900;
    padding-left: 3.2rem;
}

main .order-tel {
    color: #fff;
    font-size: 2rem;
    background: var(--btn-tel-color);
    text-align: center;
    width: 60%;
    max-width: 720px;
    padding: 1.6rem 1rem;
    margin: 0 auto;
}

main .order-tel a {
    color: #fff;
    font-size: 4.2rem;
    letter-spacing: 1px;
}
main .order-tel .shop_info{
    background-color: #a04033;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    padding: 1rem 0;
}
main .order-tel .shop_info span{
    padding-right: 2rem;
}
main .kyouka .info{
    padding-top: 2rem;
    width: 60%;
    max-width: 720px;
    margin: 0 auto;
    position: relative;
}
main .kyouka .info li{
    padding-left: 3rem;
}
main .kyouka .info li:before{
    content: "※";
    position: absolute;
    left: -0.5rem;
}
main .kyouka .info .pay{
    margin-top: 3rem;
}
main .kyouka .info .pay span{
    background-color: var(--sub-color);
    color: #fff;
    padding: 0.5rem 2rem;
    margin-bottom: 0.5rem;
    display: block;
}
main .kyouka-block {
    /* border: 1px solid #ccc; */
}
main .kyouka-block .kyouka_lead{
    padding: 2rem 3rem 0;
}
main .kyouka-block h3 {
    background: var(--main-bgcolor);
    padding: 1.6rem 0 1.6rem 3rem;
    color: #fff;
    font-size: 2.4rem;
}
main .kyouka-block h4{
    font-size: 2rem;
    color: var(--main-color);
    font-weight: 600;
    margin-left: 4rem;
    padding-top: 2rem;
    border-bottom: 1px solid #505050;
    width: 90%;
    padding-bottom: 0.5rem;
    position: relative;
}

main .kyouka-block ul.item-block {
    display: flex;
    justify-content: center;
    background: #fff;
    padding: 3.2rem 2.4rem;
    justify-content: flex-start;
}


main .kyouka-block ul.item-block li {
    text-align: center;
    width: 22%;
    margin: 0 1.5% 2rem;
}

main .kyouka-block ul.item-block li img {
    margin-bottom: 1rem;
}

main .kyouka-block ul.item-block li .price {
    color: #1050ae;
}
main .kyouka-block ul.item-block li .hosoku{
    font-size: 14px;
}
main .kyouka-block ul.item-block.butsugu p{
    margin-top: -3rem;
}
main .kyouka-attention {
    font-size: 1.4rem;
    background: #fff;
    padding: 2.4rem 5rem;
    margin-top: 2.4rem;
    line-height: 2;
}

main .kyouka-attention p {
    margin-bottom: 1.6rem;
}

main .order-pdf.btm {
    background: #fff;
    margin: 4rem auto 3.2rem;
}

main .kyouka .order-pdf a {
    font-size: 2.4rem;
    display: block;
    /* padding: 1.6rem; */
}

main .order-tel.btm {
    font-size: 1.6rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
#butsudan main .order-tel.btm {
    margin: 4rem auto 3.2rem;
}
main .order-tel.btm a {
    font-size: 3.2rem;
    margin: 0 2.4rem;
}
#butsudan main .block.backg{
    padding-top: 0;
}

@media screen and (max-width:1200px){
    main .kyouka .shop_info span{
        display: block;
    }
}
@media screen and (max-width: 900px) {
    main .kyouka .catch {
        font-size: 1.5rem;
        line-height: 1.6;
        text-align: left;
    }
    main .kyouka .info{
        width: 95%;
    }
    main .kyouka-block h4{
        margin-left: 5%;
    }
    main .kyouka-block ul.item-block {
        padding: 0 0.8rem;
        flex-wrap: wrap;
    }

    main .kyouka-attention {
        padding: 2.4rem;
        line-height: 1.6;
    }

    main .order-pdf {
        width: 95%;
    }

    main .order-tel {
        width: 95%;
        font-size: 1.8rem;
    }

    main .kyouka-block ul.item-block li {
        width: calc(94%/2) !important;
        padding: 4rem 1% 0;
        box-sizing: border-box;
        justify-content: space-between;
    }
    main .kyouka-block .kyouka_lead {
        padding: 2rem 5% 0;
    }

    main .kyouka .order-pdf a,
    main .order-pdf a {
        font-size: 1.8rem;
    }
}
/* ご注文フォーム */
#kyouka main .wpcf7{
    background-color: var(--sub-bgcolor01);
}
@media screen and (max-width:768px){
    #kyouka main .wpcf7{
        background-color:inherit;
    }
}

#kyouka main .nagahama_form{
    padding-top: 50px;
    margin-top: 80px;
}
#kyouka main .nagahama_form table tr th{
    background-color: #fff;
}
@media screen and (max-width:768px){
    #kyouka main .nagahama_form table tr th{
        background-color:#eee;
    }
}
#kyouka main .nagahama_form h2{
    background-color: var(--main-color);
    color: #fff;
}
@media screen and (max-width:768px){
    #kyouka main .nagahama_form h2{
        height: 50px;
        line-height: 50px;
    }
}
#kyouka main .nagahama_form .form-souke>td{
    display: flex;
    align-items: center;
}

#kyouka main .nagahama_form .form-souke>td .ie{
    margin-left: 1rem;
}
#kyouka main .nagahama_form table.nitizi{
    width: 50%;
    margin-left: 0;
}
#kyouka main .nagahama_form table.nitizi .kyouka-date-select input{
    width: 200px;
}
#kyouka main .nagahama_form table.case_tbl{
    width: 70%;
    margin-left: 0;
}
@media screen and (max-width:1000px){
    #kyouka main .nagahama_form table.case_tbl{
        width: 100%;
    }    
}
#kyouka main .nagahama_form table.billing{
    margin-left: 0;
    width: 100%;
    border: none;
}
#kyouka main .nagahama_form table.nitizi tr td,
#kyouka main .nagahama_form table.billing tr td{
    padding-left: 0;
    padding-top: 0;
    padding-right: 0;
    border: none;
}
#kyouka main .nagahama_form table.nitizi,
#kyouka main .nagahama_form table.case_tbl{
    border: none;
}
#kyouka main .nagahama_form table.case_tbl{
    font-size: 1.3rem;
}
#kyouka main .nagahama_form table.nitizi tr.time>td{
    display: flex;
    align-items: center;
}
#kyouka main .nagahama_form table.nitizi tr.time>td span:first-of-type{
    width: 80px;
}
#kyouka main .nagahama_form table.nitizi tr.time>td span:last-of-type{
    margin-left: 1rem;
}
#kyouka main .nagahama_form table.case_tbl tr th,
#kyouka main .nagahama_form table.case_tbl tr td{
    padding: 0;
    border: none;
    vertical-align: top;
}
#kyouka main .nagahama_form tr.postal-code td{
    padding-bottom: 1.2rem;
}
/* フォームアコーディオン */
/* .ac-parent {
    height: 50px;
    width: 100%;
    border-bottom: 1px solid #fff;
    background-color: #f97148;
    color: #fff;
    text-align: center;
    line-height: 50px;
    cursor: pointer;
}
.ac-child {
    display: none;
  } */

/* 注文フォームチェックリスト */
#kyouka main .nagahama_form span.goods-select_intro{
    margin-bottom: 1rem;
    display: inline-block;
}
#kyouka main .nagahama_form .kyouka-funeral-select .wpcf7-list-item:first-of-type{
    margin-left: 0;
}
#kyouka main .nagahama_form #goods-select .wpcf7-list-item{
    width: 45%;
    font-size: 1.6rem;
}
@media screen and (max-width:1000px){
    #kyouka main .nagahama_form #goods-select .wpcf7-list-item{
        width: 100%;
    }
}
#kyouka main .nagahama_form .wpcf7-list-item label{
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
#kyouka main .nagahama_form .wpcf7-list-item input{
    width: 35px;
}

#kyouka main .nagahama_form .form_privacy .wpcf7-list-item input{
    width: 35px;
    margin-top: 0;
}
#kyouka main .nagahama_form .form_privacy .wpcf7-list-item label{
    margin-top: 1rem;
}

.form_kyouka_note{
    background: #fff;
    margin:20px auto 20px;
    padding:30px 15px;
    text-align: center;
    width: 90%;
    color:red;
}
@media screen and (max-width: 768px){
    .form_kyouka_note{
        width: 100%;
        padding: 20px 0px;
       
    }
}
@media screen and (max-width: 450px){
    .form_kyouka_note{
        text-align: left;
    }
    .form_kyouka_note > br{
        display: none;
    }
}

/* ==========================================================================
   会員制度
========================================================================== */
main .inner.regist-top{
    max-width: 100%;
}

main .regist-top_wrapper{
    background-color: var(--sub-bgcolor01);
    padding-bottom: 1.6rem;
}
main .regist-catch_wrapper{
    max-width: 1200px;
    margin: 0 auto;
}
main .regist-top .catch {
    font-size: 2.4rem;
    /*display: flex;
    justify-content: center;*/
}

main .regist-top .catch p {
    text-align: center;
    border-bottom: 5px double #ccc;
    padding: 1.6rem 0.8rem 1.6rem;
}
main .regist-top .catch .top-catch{
    line-height: 2em;
    border-bottom: none;
    padding-top: 4rem;
    text-align: center;
}
main .regist-top p.regist-greeting{
    width: 70%;
    margin: 0 auto 3rem;
}
@media screen and (max-width:1200px){
    main .inner.regist-top{
        width: 100%;
    }
    main .regist-top .catch p{
        width: 94%;
        margin: 0 auto;
    }
} 
@media screen and (max-width:900px) {
    main .regist-top .catch .top-catch{
        line-height: 2.4em;
    }
    main .regist-top .catch span{
        font-size: 1.8rem;
    }
    #regist main .block.backg{
        margin-bottom: 0;
    }
}
main .regist-top .catch span{
    background-color:var(--sub-color);
    color: #fff;
    font-weight: 500;
    padding: 0.5rem 1rem;
    margin-right: 2rem;
    font-size: 2.2rem;
    border-radius: 0.5rem;
}
@media screen and (max-width:768px) {
    main .regist-top .catch span{
        font-size: 1.8rem;
        margin-right: 0;
    }
    main .regist-top p.regist-greeting{
        width: 90%;
    }
}
main .regist-top .catch .main-catch{
    color: var(--main-color);
    font-weight: 700;
    font-size: 3.8rem;
    width: 80%;
    margin: 0 auto 3.6rem;
    font-family: serif;

}
main .regist-top p.btm-catch {
    font-size: 1.5rem;
    text-align: center;
    margin: 0 auto;
    width: 80%;
    padding-bottom: 3rem;
    padding-top: 2px;
    color: #888;
}

main .regist-order {
    display: flex;
    justify-content: center;
    margin-bottom: 3rem;
    align-items: flex-end;
}
main .regist-order img{
    margin-right: 3rem;
    max-width: 240px;
}

main .regist-order a {
    font-size: 2.4rem;
    color: #fff;
    background: var(--main-color);
    display: block;
    padding: 2.4rem 3.6rem 2.2rem;
    box-shadow: 5px 5px 5px var(--btn-shadow-color);
    box-shadow: 0 0 8px rgb(170 170 170 / 60%);
    height: 86px;
}
main .regist-top .order-pdf{
    font-size: 1.6rem;
}

main .regist-order a::after {
    font-family: "Font Awesome 5 free";
    content: "\f138";
    font-weight: 900;
    padding-left: 2rem;
}
main .regist-feature a.constitution{
    padding-bottom: 1rem;
    display: block;
    text-align: center;
}
main .regist-feature a.constitution::after{
    font-family: "Font Awesome 5 free";
    content: "\f138";
    font-weight: 900;
    padding-left: 1rem;
    color:var(--sub-color);
}
main ul.regist-feature-block {
    display: flex;
    flex-wrap: wrap;
}

main ul.regist-feature-block li {
    width: 100%;
    margin: 0 0 3.2rem 0;
    background: #fff;
    border: 1px solid #ccc;
}

main ul.regist-feature-block li .regist-feature_n{
    color: #fff;
    font-size: 2.8rem;
    background: var(--btn-color);
    position: absolute;
    padding: 0.8rem 1rem;
}
main ul.regist-feature-block li img{
    /* width: 20%;
    height: auto; */
    width: 300px;
    height: 350px;
    object-fit: cover;
    object-position: center;
    min-height: 200px;
}
main ul.regist-feature-block li img.nishintou_img{
    width: 320px;
    height: auto;
    object-fit: contain;
    object-position: center;
}
main ul.regist-feature-block .benefits_list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 720px;
}
main ul.regist-feature-block .benefits_list li{
    background: var(--main-color);
    border-radius: 5px;
    color: #fff;
    padding: 2px 15px;
    margin: 0.5rem 0;
    width: 48%;
}
main ul.regist-feature-block .benefits_list li span{
    padding: 0 5px;
}
main ul.regist-feature-block span.notes{
    font-size: 0.5rem;
    padding: 0 5px;
}
main ul.regist-feature-block li .regist-feature_inner{
    display: flex;
}
main ul.regist-feature-block li .regist-feature_txt{
    padding: 2.8rem;
}
main ul.regist-feature-block li .title {
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: 1.8rem;
    padding-bottom: 1.4rem;
    color: var(--main-color);
    border-bottom: 1px dotted var(--main-color);
}
main ul.regist-feature-block .notes_detail{
    color: #333;
    font-size: 1.2rem;
    margin-bottom: 0;
    margin-left: 1rem;
    border: none;
}
main ul.regist-feature-block .notes_detail li:first-of-type{
    margin-top: 1rem;
}
main ul.regist-feature-block .ifnet{
    display: flex;
    margin-top: 1rem;
}
main ul.regist-feature-block .ifnet .ifnet_moreover{
    color:#333;
    width: 100px;
    height: 100px;
    border-radius: 100px;
    background-color: var(--sub-bgcolor01);
    text-align: center;
    margin-right: 2rem;
    line-height: 100px;
} 
main ul.regist-feature-block .ifnet .ifnet_detail{
    font-size: 2rem;
    color: var(--main-color);
    padding-top: 1rem;
}
main ul.regist-feature-block .ifnet .ifnet_detail .ifnet_notes{
    font-size: 1rem;
    display: block;
}

main ul.regist-speacial {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 8rem;
}

main ul.regist-speacial li {
    border: 1px solid #ccc;
    position: relative;
    padding: 3.8rem 2.4rem 1.6rem;
    text-align: center;
    width: 31%;
    margin: 0 0 4.8rem 0;
}

main ul.regist-speacial li:nth-of-type(n+10) {
    margin-bottom: 0;
}

main ul.regist-speacial li > span {
    background: #1050ae;
    color: #fff;
    font-size: 1.8rem;
    padding: 0.5rem 1.6rem 0.6rem;
    position: absolute;
    left: 50%;
    top: -0.2rem;
    transform: translate(-50%, -50%);
}

main ul.regist-speacial li p {
    font-size: 2rem;
    margin: 1.2rem 0 0;
}

main ul.regist-speacial li p span {
    color: #666;
    display: block;
    font-size: 1.3rem;
}

main ul.regist-speacial li.campain {
    width: 65.5%;
    margin-left: 3.5%;
    padding: 2rem 0;
}

main ul.regist-speacial li.campain h3 {
    font-size: 2.2rem;
    font-weight: bold;
    border-bottom: 1px solid #ccc;
    padding-bottom: 1.4rem;
}

main ul.regist-speacial li.campain h3 span {
    font-size: 1.6rem;
    display: block;
}

main ul.regist-speacial li.campain .description {
    margin: 2rem 3rem 0;
    font-size: 1.5rem;
    text-align: left;
}

main ul.regist-speacial li.campain .catch {
    font-size: 2.2rem;
    font-weight: bold;
}

main ul.regist-speacial li.campain .point {
    text-align: right;
    font-size: 1.3rem;
    margin-right: 2.4rem;
}

main .store-top {
    width: 80%;
    margin: 5.4rem auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

main .store-top img {
    margin-right: 4.2rem;
}

main .store-top p {
    font-size: 2.8rem;
}

main ul.regist-store-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 3.2rem;
}

main ul.regist-store-list li {
    width: 23.5%;
    margin: 0 1% 1.8rem 0;
  font-size:1.4rem;
}

main ul.regist-store-list li:nth-of-type(4n) {
    margin-right: 0;
}

main ul.regist-store-list li a {
    display: block;
    background: #1050ae;
    color: #fff;
    padding: 1.8rem 0 1.6rem 1.2rem;
}

main ul.regist-store-list li a::before {
    font-family: "Font Awesome 5 free";
    content: "\f138";
    font-weight: 900;
    padding-right: 1rem;
}

main .store-category {
    border: 1px solid #ccc;
    background: #fff;
}

main .store-category h3 {
    background: #1050ae;
    color: #fff;
    font-size: 2.2rem;
    padding: 1.2rem 0 1rem 3rem;
}

main .store-category h3::before {
    font-family: "Font Awesome 5 free";
    content: "\f138";
    font-weight: 900;
    padding-right: 2rem;
}

main dl.store-detail {
    margin: 4.8rem 3.8rem;
    display: flex;
    flex-wrap: wrap;
}

main dl.store-detail * {
    box-sizing: border-box;
}

main dl.store-detail div {
    /* border: 1px solid #ccc; */
    display: flex;
    flex-wrap: nowrap;
    padding: 0.8rem;
    margin-bottom: 3.2rem;
    width: calc(100%/2);
}

main dl.store-detail div:nth-child(2n) {
    border-left: none;
}

main dl.store-detail dt {
    margin-right: 1.2rem;
    width: 36%;
    box-sizing: border-box;
}

main dl.store-detail div dd {
    flex: 1;
}

main dl.store-detail div dd p img{
  vertical-align:baseline;
  margin-right:0.5rem;
}

main dl.store-detail div dd dl .single-dd {
    padding-bottom: 34px;
}

main dl.store-detail dt h4 {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 1.6rem;
}

main dl.store-detail dd dl {
    display: flex;
    margin-bottom: 1.6rem;
    box-sizing: border-box;
}

main dl.store-detail dd dl dt {
    background: #2b4995;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 1.2rem;
    margin-right: 0;
    width: auto;
}

main dl.store-detail dd dl dd {
    padding: 1.4rem 0.8rem;
    background: #fff;
    border: 1px #ccc solid;
    border-left: none;
}
@media screen and (max-width:1200px){
    main ul.regist-feature-block .benefits_list{
        display: block;
        width: 100%;
    }
    main ul.regist-feature-block .benefits_list li{
        width: 320px;
    }
}
@media screen and (max-width: 900px) {

    main .regist-top .catch {
        font-size: 2rem;
    }

    main .regist-top p.btm-catch {
        margin-bottom: 1.2rem;
    }
    main .regist-order{
        flex-direction: column;
        align-items: center;
    }
    main ul.regist-feature-block li .title {
        font-size: 1.8rem;
        margin-left: 2rem;
    }
    main ul.regist-feature-block li .regist-feature_txt{
        padding-left:5rem ;
        padding-right: 5rem;
    }

    main ul.regist-feature-block li .detail {
        font-size: 1.5rem;
        line-height: 1.4;
    }

    main ul.regist-speacial li {
        width: 48%;
    }
    main .regist-order img{
        margin-right: 0;
        margin-bottom: 2rem;

    }

    main ul.regist-speacial li:nth-of-type(n+10) {
        margin-bottom: 4.8rem;
    }

    main ul.regist-speacial li.campain {
        width: 100%;
        margin-left: 0;
    }

    main .store-top {
        width: 100%;
        margin-top: 3.2rem;
        flex-direction: column;
    }

    main .store-top img {
        margin-right: 0;
        margin-bottom: 3.2rem;
    }

    main .store-top p {
        font-size: 2rem;
    }

    main ul.regist-store-list li:nth-of-type(4n) {
        margin-right: 3.5%;
    }

    main ul.regist-store-list li:nth-of-type(3n) {
        margin-right: 0
    }

    main ul.regist-store-list li {
        width: 31%;
        margin-right: 3.5%;
    }

    main ul.regist-store-list li a {
        font-size: 1.5rem;
        padding: 1.6rem 1rem 1.4rem 1rem;
    }

    main dl.store-detail {
        margin: 2.4rem;
    }

    main dl.store-detail div {
        padding: 1.5rem;
    padding-bottom: 50px;
        flex-direction: column;
    margin-bottom:0;
    }
    main dl.store-detail dt h4{
        min-height:50px;
    }
    main dl.store-detail div dt img {
        display: block;
        margin: 0 auto 1rem;
    }

    main dl.store-detail dt {
        margin: 0 auto;
    }

    main dl.store-detail dd dl dd {
        padding: 1.4rem 0;
    border-right:0;
    }

    main dl.store-detail dd h4 {
        font-size: 2.2rem;
        text-align: center;
    }
    dl.store-detail p{
        font-size:1.5rem;
    }
}

@media screen and (max-width: 768px) {
    main .regist-top .catch {
        font-size: 1.8rem;
    }
    main ul.regist-feature-block li img{
        display: none;
    }
    main ul.regist-feature-block li img.nishintou_img{
        display: block;
    }
    main .regist-order a {
        font-size: 1.6rem;
        padding: 1.6rem;
        height: auto;
    }

    main ul.regist-feature-block li {
        width: 100%;
        margin: 0 0 2.4rem 0;
    }
    main ul.regist-feature-block .ifnet{
        flex-direction: column;
    }
    main ul.regist-feature-block .ifnet .ifnet_moreover{
        height: auto;
        width: 100px;
        line-height: inherit;
        text-align: center;
        padding: 0.5rem 1rem;
    }
    main ul.regist-speacial li {
        width: 100%;
    }

    main ul.regist-speacial li > span {
        font-size: 1.6rem;
    }

    main ul.regist-speacial li.campain {
        margin-bottom: 0;
    }

    main ul.regist-speacial li.campain .description {
        margin: 1rem 1rem 0
    }

    main ul.regist-speacial li.campain .point {
        margin: 1.6rem 1rem 0;
        text-align: left;
    }

    main .store-top img {
        width: 80%;
    }

    main .store-top p {
        font-size: 1.8rem;
    }

    main ul.regist-store-list li {
        width: 48%;
        margin-right: 4%;
    }

    main ul.regist-store-list li:nth-of-type(2n) {
        margin-right: 0;
    }

    main ul.regist-store-list li:nth-of-type(3n) {
        margin-right: 4%;
    }

    main ul.regist-store-list li:nth-of-type(6n) {
        margin-right: 0;
    }

    main ul.regist-store-list li a {
        padding: 1.2rem 0.8rem 1rem;
    }

    main dl.store-detail {
        margin: 0;
    }

    main dl.store-detail div {
        border: 0;
    }

  main dl.store-detail dd dl {
    flex-direction: column;
  }

  main dl.store-detail dt{
    width:100%;
  }

    main dl.store-detail dd dl dt {
        width: 100%;
    }

    main dl.store-detail div dd dl .single-dd {
        padding: 1rem 0;
    width:100%;
    border-right:0;
    }

  main dl.store-detail div:nth-child(odd){
    padding-right:0.5rem;
  }

  main dl.store-detail div:nth-child(even){
    padding-left:0.5rem;
  }
}
@media screen and (max-width:450px){
    main ul.regist-feature-block .benefits_list li{
        width: 100%;
    }
    main ul.regist-feature-block li .title {
        margin-left: 5rem;
    }
    main ul.regist-feature-block li .regist-feature_txt{
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

/*会員フォーム*/

#form-box {
    width: 100%;
    margin: 0 auto;
	background:#fff;
}

.nagahama_form {
    padding-top: 110px;
}
@media screen and (max-width:1200px) {
    .nagahama_form{
        padding-top: 40px;
    }
}
.nagahama_form h2{
    margin-bottom: 2rem;
    text-align: center;
}
/*全体の文字の大きさ*/
.CF7_table {
    font-size: 1.1em;
}

/*「必須」文字デザイン*/
.CF7_req {
    font-size: .9em;
    padding: 5px;
    background: #e90e00;
    color: #fff;
    border-radius: 3px;
    margin: 0 20px;
    position: absolute;
    right: 0;
}


/*「任意」文字デザイン*/
.CF7_unreq {
    font-size: .9em;
    padding: 5px;
    background: #bdbdbd;
    color: #fff;
    border-radius: 3px;
    margin-right: 5px;
}

/*タイトル列（左列）デザイン*/
.CF7_table {
    margin: 0 50px;
}

.CF7_table tbody,
.CF7_table tr,
.CF7_table td {
    padding: 2rem;
}

/* 背景グレー・
* PCサイズ横幅35% */
@media screen and (min-width: 768px) {
    .CF7_table th {
        width: 30%;
        background-color: #ebedf5 !important;
    }
}

/* スマホ・タブレットは
横幅100% */
@media screen and (max-width: 900px) {

    .CF7_table tbody,
    .CF7_table tr,
    .CF7_table td {
        display: block;
        width: 100%;
    }

    .CF7_table th {
        width: 100%;
        display: block;
        margin: 0 auto;
        border: none;
        background-color: #ebedf5 !important;
    }
}
.nagahama_form input,
.nagahama_form select,
.nagahama_form textarea {
    background-color: #fff;
    border: 1px #ccc solid !important;
    color: #555;
    width: 100%;
    padding: 0.8rem;
}
.wpcf7 input[type="radio"] {
    width: auto;
}

.nagahama_form input[name="postal-code01"],
.nagahama_form input[name="postal-code02"] {
    width: 10%;

}

/* 「送信する」ボタンデザイン */
.wpcf7 input[type="submit"] {
    background-color: #df3f79;
    box-shadow:0 0 8px rgb(170 170 170 / 60%) ;
    border: 0;
    color: #fff;
    font-size: 1.2em;
    font-weight: bold;
    margin: 0 auto;
    width: 250px;
    display: block;
    text-align: center;
    padding: 1.4rem;
}

.wpcf7 input[type="button"] {
    background-color: #878787;
    border: 0;
    color: #fff;
    font-size: 1.2em;
    font-weight: bold;
    margin: 0 auto;
    width: 20%;
    display: block;
    text-align: center;
    padding: 1.4rem;
}

.wpcf7-response-output {
    text-align: center;
}


/* 中央に合わせる */
.CF7_btn {
    text-align: center;
    margin-top: 20px;
}

.nagahama_form table {
    border-bottom: 1px solid #e5e5e5;
    border-left: 1px solid #e5e5e5;
    border-right: 1px solid #e5e5e5;
    width: 90%;
    margin: auto;
}

.nagahama_form table tr th,
.nagahama_form table tr td {
    border-top: 1px solid #e5e5e5;
    padding: 1.2rem;
    background: #fff;
}

.nagahama_form table tr th {
    width: 25%;
    text-align: left;
    font-weight: normal;
    border-right: 1px solid #e5e5e5;
    position: relative;
	background:#eee;
}
#kyouka .nagahama_form table.case_tbl tr th{
    background:inherit;
    border: none;
}

@media screen and (max-width: 768px) {

    .nagahama_form table tr th,
    .nagahama_form table tr td {
        width: 100%;
        display: block;
        border: 0;
        padding: 10px;
    }

    .nagahama_form table tr td {
        padding-top: 15px;
    }

    .nagahama_form table {
        width: 100%;
        border: 0;
    }

    .nagahama_form input[name="postal-code01"],
    .nagahama_form input[name="postal-code02"] {
        width: 40%;
    }

    .CF7_req {
        position: static;
    }

}
/* ご家族情報 */
.nagahama_form .form_cat{
    font-size: 2rem;
    width: 90%;
    margin: 0 auto;
    padding: 2rem 0 1rem;
}
.nagahama_form .f-info{
    display: flex;
    align-items: center;
}
.nagahama_form .f-name input{
    width: 200px;
}
.nagahama_form .f-relationship input,
.nagahama_form .f-age input{
    width: 50px;
}
.nagahama_form .f-name,
.nagahama_form .f-relationship,
.nagahama_form .f-age{
    display: flex;
    align-items: center;
    margin-right: 2rem;
}
.nagahama_form .f-name input,
.nagahama_form .f-relationship input,
.nagahama_form .f-age input{
    margin-left: 1rem;
}
@media screen and (max-width:900px){
    .nagahama_form .f-name input{
        width: 150px;
    }
}
@media screen and (max-width:768px){
    .nagahama_form .form_cat{
        width: 100%;
    }
    .nagahama_form .f-info{
        flex-wrap: wrap;
    }
    .nagahama_form .f-name{
        margin-bottom: 1rem;
    }
    span.wpcf7-form-control-wrap.f2-name{
        width: 80%;
    }
}
input::placeholder {
    opacity: 0.5;
}

input[name="acceptance-490"] {
    width: auto;
    margin-top: 20px;
}

.nagahama_form div.form_privacy {
    margin-top: 60px;
    /* width: 750px; */
    display: block;
    margin: 20px auto;
    background-color: #fff;
    padding: 20px;
    text-align: center;
    border: solid 1px #ccc;
    width: 90%;
    margin: 20px auto;
}

#privacypolicy_text {
    margin-top: 30px;
    overflow-y: scroll;
    height: 230px;
    background: #fff;
    padding: 40px;
    border: 1px solid #dfdfdf;
    text-align: left;
}
main #consultation_thanks {
  padding:110px 10px;

}

@media screen and (max-width: 768px) {
    .nagahama_form div.form_privacy {
        width: 100%;
    }
  main #consultation_thanks {
  padding:40px 10px;
  
}

    .wpcf7 input[type="submit"],
    .wpcf7 input[type="button"] {
        width: 100%;
        margin-top: 30px;
    }

}



/*FB設定*/
main .fb-are {
    clear: both;
    overflow: hidden;
}

main .fb-are ul.order {
    width: 50%;
    float: left;
}

main .fb-are iframe {
    float: left;
    margin-left: 40px;
}

/*葬儀の基礎知識*/
.knowledge-flow-list {
    display: flex;
    width: 100%;
}

.knowledge-flow-list a {
    border: 1px #ccc solid;
    border-right: none;
    display: flex;
    align-self: auto;
    flex: 1;
    padding: 1.2rem;
}

.knowledge-flow-list a:last-child {
    border-right: 1px #ccc solid;
}

.knowledge-flow-list a li {
    width: 100%;
}

.knowledge-flow-list a h3 {
    position: relative;
    padding: 1.5rem 1rem;
    margin-bottom: 1.8rem;
    background: #e0edff;
}

.knowledge-flow-list a h3:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 15px solid transparent;
    border-top: 15px solid #e0edff;
    width: 0;
    height: 0;
}

@media screen and (max-width: 900px) {
    .knowledge-flow-list {
        display: block !important;
        width: 100%;
    }

    .knowledge-flow-list a {
        display: block !important;
        border-bottom: none;
        border-right: 1px #ccc solid;
    }

    .knowledge-flow-list a:last-child {
        border-bottom: 1px #ccc solid;
    }
}


/*ご葬儀の流れ・手順*/

.flow_mokuji {
    display: flex;
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 30px;
  flex-wrap: wrap;
}

.flow_mokuji li {
    background: #e9f4f8;
  margin-right: 8px;
  margin-bottom:8px;
}

.flow_mokuji li:last-child {
    margin-right:0;
}

.flow_mokuji li:hover {
    background: #fafafa;
}

.flow_mokuji li a {
    display: block;
    padding: 10px 30px;
}

.flow_box h3 {
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-size: 2.6rem;
    color: #3660a7;
}

.flow_box {
    counter-reset: number 0;
}

.flow_box h3 span {
    font-size: 1.8rem;
    color: #666;
    padding-right: 1rem;
}

.flow_box {
    margin-bottom: 60px;
}

.flow_box .flow_box_wrap {
    display: flex;
    flex-wrap: wrap;
    padding-top: 1rem;
}

.flow_box .flow_box_wrap dt {
    margin-right: 30px;
    width: 33%;
}

.flow_box .flow_box_wrap dd {
    width: 64%;
}

.flow_box .flow_box_wrap p {
    margin-bottom: 1rem;
}

.flow_box .flow_box_wrap p strong {
    font-weight: bold;
    font-size: 1.8rem;
}

@media screen and (max-width: 900px) {
    .flow_box .flow_box_wrap dt {
        margin-right: 0;
    }

    .flow_box .flow_box_wrap dd {
        width: 100%;
    }
  .flow_mokuji {
    display: block;
    width: 100%;
  }

.flow_mokuji li {
  margin:0;
  margin-bottom:8px;
  text-align:center;
  }
}

/*お葬式の費用*/

.price-total ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.price-total ul li {
    width: calc((100% - 60px) / 3);
    text-align: center;
    background: #fff;
    border: 1px solid #2b5fad;
    padding: 10px;
    border-radius: 3px;
}

.price-total ul li h4 {
    font-size: 1.8rem;
    color: #2b5fad;
    font-weight: bold;
}

.scope_wrap {
    display: flex;
    flex-wrap: wrap;
}

.scope_wrap .scope_text {
    width: 68%;
    margin-right: 2%;
}

.scope_wrap .scope_text ul li {
    padding: 20px 10px;
    border-bottom: 1px dotted #ccc;
    position: relative;
}

.scope_wrap .scope_text ul li p {
    padding-left: 2.4em;
}


.scope_wrap .scope_text ul li:before {
    content: url(images/checkbox.png);
    float: left;
    margin-right: 6px;
    position: absolute;
}

.scope_wrap .scope_img {
    width: 30%;
}

@media screen and (max-width: 900px) {
    #knowledge-cost .sub-catch {
        font-size: 1.6rem;
    }

    .price-total ul li {
        width: 100%;
        margin-bottom: 15px;
    }

    .scope_wrap .scope_text {
        width: 100%;
        margin-right: 0;
        margin-bottom: 15px;
    }

    .scope_wrap .scope_img {
        width: 100%;
    }
}

/* よくある質問 */
.accordion {
    margin: auto;
    width: 100%;
}

.accordion input {
    display: none;
}

.box {
    position: relative;
    background: white;
    transition: all .15s ease-in-out;
}

.box::before {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    pointer-events: none;
    box-shadow: 0 -1px 0 #e5e5e5, 0 0 2px rgba(0, 0, 0, .12), 0 2px 4px rgba(0, 0, 0, .24);
}

header.box {
    background: #3660a7;
    z-index: 100;
    cursor: initial;
    box-shadow: 0 -1px 0 #e5e5e5, 0 0 2px -2px rgba(0, 0, 0, .12), 0 2px 4px -4px rgba(0, 0, 0, .24);
}

header .box-title {
    margin: 0;
    color: white;
    cursor: initial;
}

.box-title {
    width: 100%;
    padding: 20px;
    display: inline-block;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.box-content {
    width: 100%;
    padding: 30px 20px;
    display: none;
}

.box-close {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    cursor: pointer;
    display: none;
}

input:checked + .box {
    height: auto;
    margin: 16px 0;
    box-shadow: 0 0 6px rgba(0, 0, 0, .16), 0 6px 12px rgba(0, 0, 0, .32);
}

input:checked + .box .box-title {
    border-bottom: 1px solid rgba(0, 0, 0, .18);
}

input:checked + .box .box-content,
input:checked + .box .box-close {
    display: inline-block;
}

.arrows section .box-title {
    padding-left: 44px;
    width: 100%;
}

.arrows section .box-title:before {
    position: absolute;
    display: block;
    content: '\203a';
    font-size: 18pt;
    left: 20px;
    top: 11px;
    transition: transform .15s ease-in-out;
    color: #4080ff;
}

input:checked + section.box .box-title:before {
    transform: rotate(90deg);
}


/* ==========================================================================
  供物・供花
========================================================================== */
.catalog-btn{
    text-align: center;
    display: block;
    margin: 20px auto 60px;
    font-size: 22px;
    max-width: 600px;
    width: 80%;
    padding: 18px 0 19px;
    background: var(--btn-tel-color);
    color: #fff;
}
.kyoka-txt{
    text-align: center;
    margin-top: 20px;
    font-size: 20px;
}
.kyoka-img{
    margin-top: 20px;
}
main #okuyami-info {
    margin: 20px auto 80px;
    border: 1px #ccc solid;
    padding: 0 2rem;
    line-height: 1.8rem;
}

main #okuyami-info .okuyami-mes {
    border-bottom: 1px solid #ccc;
    padding: 1.2rem 2rem;
    margin: 0;
}

main #okuyami-info .okuyami-mes:last-of-type {
    border: none;
}

main #okuyami-info:last-of-type {
    margin: 20px auto 80px;
}

main #okuyami-info * {
    margin-bottom: 1.4rem;
}

main #okuyami-info h3 {
    font-size: 1.8rem;
    margin-top: 2rem;

}



main #okuyami-info span.attention {
    font-size: 1.6rem;
}

main #okuyami-info p.attention {
    font-size: 1.2rem;
}

main #okuyami-info .no-message {
    text-align: center;
}

@media screen and (min-width: 900px) {
    main #okuyami-info {
        width: 50%;
    }
}


.hikaku-table {
  padding-top: 7rem;
  padding-bottom: 7rem;
  padding-left: 1rem;
  overflow-x:scroll ;
}
.hikaku-table table tr.line td br{
    display: none;
}
@media screen and (max-width:768px){
.hikaku-table table tr.line td.bold-line-header br{
    display: block;
}
}
.hikaku-table table {
  width: 100%;
  min-width: 600px;
}
.hikaku-table table th {
  width: 16%;
}
.hikaku-table table td {
  width: 28%;
}

.hikaku-table td,
.hikaku-table th.left {
  border: 1px solid #aaa;
  padding: 1rem;
  text-align: center;
}
.hikaku-table .line td {
  font-size: 2.2rem;
  font-family: serif;
  font-weight: bold;
}
.hikaku-table table tr.line td.bold-line-header {
    position: relative;
    font-size: 2.8rem;
    padding-top: 0;
    border-top: 5px solid var(--sub-color);
    padding-bottom: 0;
}
.hikaku-table table tr.line td.bold-line-header span:before{
    content: "";
    background: url(images/show-icon.png) no-repeat center;
    padding: 28px 60px;
    position: absolute;
    transform: translateX(-50%);
    top: -65px;
    left: 50%;
    z-index: 10;
}
.hikaku-table table tr.line td.bold-line-header:before{
    /* content: "";
    background: #fff;
    width: calc(100% + 10px);
    position: absolute;
    border-width: 5px 5px 0 5px;
    border-style: solid;
    border-color: var(--sub-color);
    border-radius: 10px 10px 0 0;
    padding-bottom: 15px;
    top: -15px;
    left: -4.8px;
    z-index: 1; */
    display: none;
}

.hikaku-table table td.bold-line {
    border-left: 5px solid var(--sub-color);
    border-right: 5px solid var(--sub-color);
}
.hikaku-table table td.bold-line-footer {
    border-bottom:5px solid var(--sub-color);
    position:relative;
}
.hikaku-table table td.bold-line-footer:after {
  /* content: "";
  background: #fff;
  width: calc(100% + 9.8px);
  position: absolute;
  border-width: 0 5px 5px 5px;
  border-style: solid;
  border-color: var(--sub-color);
  border-radius: 0 0 10px 10px;
  padding-bottom:15px;
  bottom: -15px;
  left: -4.8px;
  z-index: 1; */
  display: none;
}
.hikaku-table .member-price-title {
  display: block;
  color: var(--accent-color);
}
.hikaku-table .member-price {
  display: inline-block;
  font-size: 3rem;
  font-weight: bold;
  color: var(--accent-color);
}
.hikaku-table .member-price-s {
  display: inline-block;
  font-size: 2rem;
  font-weight: bold;
  color: var(--accent-color);
}
.hikaku-table .member-price-yen {
  display: inline-block;
  color: var(--accent-color);
}
.hikaku-table .member-price-yen-s {
  display: inline-block;
  color: var(--accent-color);
}
.hikaku-table ul.hikaku-flow li {
  display: inline-block;
  margin: 0.5rem 0;
}
.hikaku-table ul.hikaku-flow li span {
  display: inline-block;
  background: var(--sub-color);
  border-radius: 4px;
  color: #fff;
  padding: 0.2rem 1rem;
}
.hikaku-table ul.hikaku-flow li span.gray_bg {
    background: #ccc !important;
  }

.cat_wrap {
  text-align: center;
}
.cat_wrap p {
  display: inline-block;
  background: rgba(233,147,166,0.5);
  color: #fff;
  margin-right: 0.4%;
  border-radius: 12px 12px 0 0;
  padding:1.0% 4% 0.6%;
  cursor: pointer
}

.cat_wrap p.on {
  background: rgba(233,147,166,1);
}


/* ==========================================================================
   sitemap
========================================================================== */


.site_map li{
  margin: 0px 0px 20px 0px;
}

.site_map li::before {
    content: "";
    width: 0;
    height: 0;
    display: inline-block;
    border: 6px solid transparent;
    border-left: 6px solid var(--sub-color);
}


.site_map li ul.children{
  margin: 0px 0px 0px 20px;
}
.site_map li ul.children li{
  margin: 0px 0px 10px 0px;
}

/*==
 料金比較表
  ==*/

.hikaku-table .link_simple{
	  display: inline-block;
    font-size: 1.6rem;
    background: var(--sub-color);
    color: #fff;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    vertical-align: middle;
    margin-left: 5px;
}

.hikaku-table .link_family{
    display: inline-block;
    font-size: 1.6rem;
    background: var(--sub-color);
    color: #fff;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    vertical-align: middle;
    margin-left: 5px;
}
.hikaku-table .link_general{
    display: inline-block;
    font-size: 1.6rem;
    background: var(--sub-color);
    color: #fff;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    vertical-align: middle;
    margin-left: 5px;
}
#plan_simple .hikaku-table .link_simple{
	display:none;
}

#plan_family .hikaku-table .link_family{
	display:none;
}
#plan_general .hikaku-table .link_general{
	display:none;
}

/*footer menu*/
.footer-menu01 .sub-menu {
	margin-left:2rem;
}
.footer-company-info img {
    margin-bottom: 1rem;
}
.footer-company-info {
    background-color: rgba(255,255,255,0.5);
    padding: 1rem 2rem 3rem;
    color: #505050;
    line-height: 1.6;
}
.footer-company-info br.br_sp{
    display: none;
}
@media screen and (max-width: 1200px){
    footer section > ul {
        flex-wrap: wrap;
        justify-content: space-around;
    }
    .footer-company-info_wrapper {
        margin: 0 auto 2.4rem;
    }
    .footer-company-info {
    text-align: center;
    margin: 0 auto 2.4rem;
    width: 90vw;
    }
}
@media screen and (max-width: 768px){
    footer section > ul {
        margin-bottom: 0;
    }
    footer section > ul {
        flex-direction: column;
    }
    footer section > ul >li {
        margin-left: 10vw;
    }
    .footer-company-info br.br_sp{
        display: block;
    }
}
/* 構造化パンくずリスト_Breadcrump NavXT */
.breadcrumbs{
    margin: 2.8rem auto 1.6rem;
    font-size: 1.3rem;
}
.breadcrumbs span{
    margin-right: 4px;
}
.breadcrumbs span:last-of-type{
    margin-left: 4px;
}

/* 投稿FAQ構造化用スタイル */
.faq_wrap { padding: 24px; border: 1px solid #ddd; margin-bottom: 50px; } .faq_wrap .schem-faq .question
{ position: relative; padding: 10px 10px 10px 40px; } .faq_wrap .schem-faq a { display: inline-block; color:
var(--main-bgcolor); text-decoration: underline !important; } .faq_wrap .schem-faq li:last-child { margin-bottom:
0; } .faq_wrap .schem-faq .question:before { position: absolute; counter-increment: number; content: "Q";
display: inline-block; background: var(--main-color); color: #fff; font-family: 'Oswald', sans-serif; font-weight: 700; fontsize:
1.8rem; left: 0; width: 30px; height: 30px; border-radius:50%; text-align: center; top: 50%; -webkittransform:
translateY(-50%); transform: translateY(-50%); display: flex; justify-content: center; align-items:
center; } .faq_wrap .schem-faq .answer { margin-bottom: 2rem; position: relative; padding: 10px 10px 10px
40px; } .faq_wrap .schem-faq .answer:before { position: absolute; counter-increment: number; content: "A";
display: inline-block; background: var(--main-bgcolor02); color: #fff; font-family: 'Oswald', sans-serif; font-weight: 700; fontsize:
1.8rem; left: 0; width: 30px; height: 30px; border-radius:50%; text-align: center; top: 50%; -webkittransform:
translateY(-50%); transform: translateY(-50%); display: flex; justify-content: center; align-items:
center; }