/*-----------------------------------------------------------------------

    header

-----------------------------------------------------------------------*/
.header_info-tel {
    font-size: 2.7rem;
    line-height: 1;
    font-weight: 600;
    color: #1ebaba;
    letter-spacing: 0.03em;
}
.header_info-tel span {
    margin: 0 9px 0 0;
    padding: 1px 0 3px;
    font-size: 1.6rem;
    text-align: center;
    line-height: 1;
}
.header_info-adr {
    font-size: 1.3rem;
    line-height: 1.3846;
}
.header_info-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 50px;
    margin: 0 auto;
    color: #fff;
    background-color: #676767;
    font-size: 1.6rem;
    text-align: center;
    line-height: 1;
    letter-spacing: 0em;
    border-radius: 30px;
    font-weight: 600;
    position: relative;
}
.header_info-btn::before {
    content: '';
    display: block;
    width: 20px;
    height: 14px;
    margin: 0 10px 0 0;
    background: url(../images/common/ico_mail.png) no-repeat center / contain;
}
/*▼sp_nav*/
.h_logo {
    line-height: 0;
    z-index: 10;
}
.h_logo img {
    width: 200px;
}
.h_wrap {
    align-items: center;
    flex-direction: row;
    width: 100%;
    height: 58px;
    padding: 5px 5% 0;
    position: relative;
    /* background: url(../images/common/head_bg.png) no-repeat top / auto 140px; */
    z-index: 20;
}
header.page-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 999;
    transition: .3s all;
}
header.page-header::before {
    content: '';
    width: 100%;
    height: 120px;
    background: url(../images/common/head_bg.png) no-repeat center;
    position: absolute;
    top: 0; left: 0; right: 0;
    z-index: 10;
    pointer-events: none;
}
#nav_toggle {
    position: fixed;
    top: 10px; right: 10px;
    padding: 14px 15px;
    background-color: #e5abab;
    z-index: 999;
}
#nav_toggle span {
    display: block;
    width: 30px;
    height: 2px;
    margin: 0 auto;
    background-color: #fff;
    transition: .3s;
}
#nav_toggle span:not(:last-child) {
    margin-bottom: 8px;
}
#nav_toggle.active span:nth-of-type(1) {
    -webkit-transform: translate3d(0px, 10px, 0) rotate(45deg);
    transform: translate3d(0px, 10px, 0) rotate(45deg);
}
#nav_toggle.active span:nth-of-type(2) {
    opacity: 0;
}
#nav_toggle.active span:nth-of-type(3) {
    -webkit-transform: translate3d(0px, -10px, 0) rotate(-45deg);
    transform: translate3d(0px, -10px, 0) rotate(-45deg);
}
.g_nav {
    overflow-y: scroll;
    visibility: hidden;
    width: 100%;
    height: 100%;
    padding: 80px 5% 50%;
    background-image: url(../images/common/pattern01.jpg);
    position: fixed;
    top: 0; bottom: 0; left: 0; right: 0;
    transition: 0.5s ease-in-out;
    z-index: 997;
    -webkit-overflow-scrolling: touch;
}
.g_nav .partition {
    border-bottom: 1px solid #676767;
    margin-bottom: 10px;
    padding-bottom: 10px;
}
.h_nav li {
    width: 100%;
}
.h_nav li span {
    display: inline-block;
    margin: 0 0 0 10px;
    color: #676767;
    font-size: 1.2rem;
    font-weight: 400;
    text-transform: uppercase;
}
.h_nav li span img {
    vertical-align: -8px;
}
.h_nav li {
    padding: 10px 0 10px 20px;
    font-weight: bold;
    line-height: 1.5;
}
.g_nav .h_logo {
    margin-bottom: 25px;
}
.g_nav .aside-info {
    align-items: center;
    justify-content: center;
    margin: 30px 0 0;
    text-align: left;
    border-radius: 10px;
}
.g_nav .aside-info .aside-info_tel {
    font-size: 2.4rem;
}
.g_nav .aside-info .aside-info_tel::before {
    vertical-align: -2px;
}
.g_nav .aside-info .aside-info_open {
    margin-bottom: 20px;
}
.g_nav .aside-info .aside-info_open li {
    margin: 5px;
}
.g_nav .aside-info .aside-info_open span.background {
    display: block;
    margin: 0 0 6px;
}
.g_nav .aside-info .header_detail_address {
    margin: 0 0 10px;
}
.g_nav .aside-info .c_btn {
    margin-top: 15px;
}
.aside-info_sns {
    align-items: center;
    justify-content: center;
}
.aside-info_sns li:not(:last-child) {
    margin-right: 10px;
}
.g_nav {
    opacity: 0;
    pointer-events: none;
}
.g_nav.open {
    visibility: visible;
    opacity: 1;
    pointer-events: all;
}
.g_nav .h_nav {
    transform: translateX(30vw);
    transition: all .4s;
    opacity: 0;
}
.g_nav.open ul {
    transform: translateX(0);
    opacity: 1;
}

.aside-banner {
    text-align: center;
}
.aside-banner ul {
    display: flex;
    justify-content: center;
}
.aside-banner a {
    display: inline-block;
}
.aside-banner p {
    width: 170px;
    position: fixed;
    bottom: 0; right: 0;
}

/*-----------------------------------------------------------------------

    fix-header

-----------------------------------------------------------------------*/
.fix-header {
    width: 100%;
    background-color: #fff;
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 1000;
}
.fix-header.fixed {
    display: block;
    position: fixed;
}




/*-----------------------------------------------------------------------

    key

-----------------------------------------------------------------------*/
.key {
    align-items: center;
    justify-content: center;
    background-image: url(../images/common/key_bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
    margin-top: 58px;
}
.key::after {
    content: '';
    width: 100%;
    height: 30px;
    background: url(../images/top/nav_bg.png) no-repeat top / 100% auto;
    position: absolute;
    bottom: 0; left: 0; right: 0;
    z-index: 98;
}
#top .key {
    background: none;
}
.carousel,
.carousel-cell {
    width: 100%;
    height: 100%;
}
.carousel-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.main-vis01 {
    background: url(../images/top/main_vis01.png) no-repeat bottom / cover;
}
.main-vis02 {
    background: url(../images/top/main_vis02.png) no-repeat bottom / cover;
}
.main-vis03 {
    background: url(../images/top/main_vis03.png) no-repeat bottom / cover;
}
.main-vis04 {
    background: url(../images/top/main_vis04.png) no-repeat bottom / cover;
}
.key {
    width: 100%;
    height: 200px;
    position: relative;
}
.key br {
    display: block;
}
#top .key {
    height: 50vh;
    min-height: 400px;
}
.carousel-cell {
    align-items: center;
    justify-content: flex-start;
}
.key_ttl {
    width: 120px;
    margin: 0 0 20px 10%;
}
.key_ttl-sub {
    width: auto;
    display: inline-block;
    padding: 5px 15px 7px;
    text-align: center;
    line-height: 1;
    background-color: #fff;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    font-weight: 400;
    position: relative;
}


/*-----------------------------------------------------------------------

    main

-----------------------------------------------------------------------*/
/*
    page-top
--------------------*/
/*
    page-top
--------------------*/
/* ▼topGreeting */
.topGreeting {
    padding-top: 30px;
    background: url(../images/top/greeting_deco01.png) no-repeat top 20px left / 200px auto,
    url(../images/top/greeting_deco02.png) no-repeat bottom 20px right / 200px auto;
}
.topGreeting-cnt {
    display: block;
    width: 100%;
    padding: 40px 20px 30px;
    background-color: #fff;
    box-shadow: 0px 10px 10px rgba(0, 0, 0, .15);
    position: relative;
}
.topGreeting-cnt::before,
.topGreeting-cnt::after {
    content: '';
    width: 219px;
    height: 78px;
    background: url(../images/top/greeting_cnt_deco.png) no-repeat center / contain;
    position: absolute;
    pointer-events: none;
}
.topGreeting-cnt::before {
    top: 5px; left: 5px;
}
.topGreeting-cnt::after {
    transform: scale(-1,-1);
    bottom: 5px; right: 5px;
}
.topGreeting-cnt_ttl {
    width: auto;
    margin: 0 0 20px 10px;
    font-size: 2.2rem;
    line-height: 1.3;
}
.topGreeting-cnt_ttl br {
    display: block;
}
.topGreeting-cnt_txt {
    width: 100%;
}
.topGreeting-cnt_lead {
    margin: 0 0 15px;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
}

/* ▼topAbout */
.topAbout {
    position: relative;
    background: url(../images/top/about_deco01.png) no-repeat top 72px left,
    url(../images/top/about_deco02.png) no-repeat top 190px right,
    url(../images/top/about_bg.jpg) repeat-x bottom / auto 400px,
    linear-gradient(#ffffff,#ffffff) no-repeat top / 100% 135px,
    url(../images/common/pattern01.jpg);
    padding: 0 0 50px;
}
.topAbout::before {
    content: '';
    width: 100%;
    height: 200px;
    background: url(../images/top/about_gradient.png) no-repeat top / 100% 100%;
    position: absolute;
    top: -150px; left: 0; right: 0;
    z-index: -1;
}
.topAbout_wrap {
    position: relative;
    z-index: 20;
}
.topAbout_img {
    width: 100%;
    margin: 0 0 50px;
    height: calc(73.3333vw - 40px);
}
.topAbout_img img {
    max-width: none;
    width: calc(100vw - 40px);
}
.topAbout-block {
    align-items: flex-end;
    flex-direction: row-reverse;
}
.topAbout-cnt {
    width: 100%;
}
.topAbout-cnt_ttl {
    width: auto;
    margin: 0 auto 25px;
    font-size: 2.2rem;
    line-height: 1.5;
    font-weight: 600;
}
.topAbout-list {
    justify-content: center;
    width: 335px;
    margin: 30px auto 0;
}
.topAbout-list li {
    display: flex;
    align-items: center;
}
.topAbout-list li:not(:last-child) {
    border-bottom: 1px solid;
    margin-bottom: 10px;
    padding-bottom: 10px;
}
.topAbout-list_tel {
    height: auto;
    font-size: 2rem;
    line-height: 1;
}
.topAbout-list .common-info_contact {
    height: 45px;
    font-size: 1.5rem;
}
.topAbout-list .common-info_contact::after {
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    margin: 2px 0 0 8px;
    border-top: 2px solid;
    border-right: 2px solid;
    transform: rotate(45deg);
    vertical-align: -2px;
    transition: all .3s;
}
.topAbout-list .common-info_contact:hover::after {
    transform: translateX(5px) rotate(45deg);
}
/* topAbout-guide */
.topAbout-guide {
    width: 100%;
    margin: 30px 0 0;
    justify-content: center;
}
.topAbout-guide li {
    width: 250px;
}
.topAbout-guide li:not(:last-child) {
    margin-bottom: 15px;
}
.topAbout-guide li a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 45px;
    background-color: #fff;
    color: #d45656;
    border: 1px solid #e5abab;
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    font-weight: 600;
    text-align: center;
    position: relative;
}
.topAbout-guide li a::after {
    content: '';
    width: 7px;
    height: 7px;
    margin: auto;
    border-top: 2px solid;
    border-right: 2px solid;
    position: absolute;
    top: 0; bottom: 0; right: 16px;
    transition: all .3s;
    transform: rotate(45deg);
}
.topAbout-guide li a:hover {
    opacity: 1;
    color: #fff;
    background-color: #d45656;
}
.topAbout-guide li a:hover::after {
    border-color: #fff;
    transform: translateX(5px) rotate(45deg);
}

/* ▼topStory */
.topStory {
    padding: 0;
    background-color: #fff;
}
.topStory-cnt {
    width: 100%;
}
.topStory-ttl {
    margin: 0 0 25px;
    font-size: 2.2rem;
    letter-spacing: 0.08em;
    text-align: left;
}
.topStory-map {
    margin: 40px 0 0;
    height: 200px;
}

/*
    page-about
--------------------*/
/* ▼aboutMessage */
.aboutMessage {
    padding-bottom: 0;
}
.aboutMessage-cnt {
    width: 100%;
    background: url(../images/about/about_deco.png) no-repeat bottom right / 150px auto;
    padding-bottom: 50px;
}
.aboutMessage-cnt_txt {
    background: url(../images/about/about_border02.png) repeat top 20px center / auto 39px;
    line-height: 39px;
    padding-bottom: 7px;
    text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;
}
.aboutMessage-cnt_txt p:not(:last-child) {
    margin-bottom: 39px;
}
.aboutMessage-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 20px 0 0;
}
.aboutMessage-list li {
    width: 49%;
}
.aboutMessage-list li:nth-child(n+3) {
    margin-top: 2%;
}
/* ▼aboutHistory */
.aboutHistory-list {
    margin: 30px 0 0;
}
.aboutHistory-list li {
    width: 49%;
}
.aboutHistory-list li:nth-child(n+3) {
    margin-top: 2%;
}

/*
    page-funeral
--------------------*/
/* ▼funeralAbout-nav */
.funeralAbout {
    padding-top: 0;
}
.funeralAbout:not(:last-child) {
    padding-bottom: 80px;
}
.funeralAbout-nav {
    padding: 50px 0 70px;
}
.funeralAbout-nav_wrap {
    justify-content: center;
}
.funeralAbout-nav_wrap li {
    width: 45%;
    max-width: 180px;
    margin: 5px;
    background-color: #fff;
    color: #d45656;
    border: 1px solid #e5abab;
    font-size: 1.6rem;
    line-height: 1;
    text-align: center;
    font-weight: 700;
    transition: all .3s;
}
.funeralAbout-nav_wrap li a {
    padding: 15px 0;
    position: relative;
}
.funeralAbout-nav_wrap li a::after {
    content: '';
    width: 7px;
    height: 7px;
    margin: auto;
    border-top: 2px solid;
    border-right: 2px solid;
    position: absolute;
    top: 0; bottom: 0; right: 16px;
    transform: rotate(45deg);
    transition: all .3s;
}
.funeralAbout-nav_wrap li a:hover {
    color: #fff;
    background-color: #d45656;
    opacity: 1;
}
.funeralAbout-nav_wrap li a:hover::after {
    transform: translateX(5px) rotate(45deg);
    border-color: #fff;
}
/* ▼funeralAbout */
.funeralAbout_img {
    width: 100%;
    position: relative;
}
.funeralAbout_img-capt {
    width: 44px;
    padding: 15px 6px;
    position: absolute;
    background-color: #fff;
    top: -40px; left: 20px;
}
.funeralAbout_img-capt_ttl {
    width: auto;
    font-size: 2.4rem;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.funeralAbout_img-lead {
    margin: 16px 0 0;
}
/* funeralAbout-block */
.funeralAbout-block {
    width: 100%;
}
.funeralAbout-block:not(:last-child) {
    margin-bottom: 30px;
}
.funeralAbout-block_ttl {
    width: 100%;
    margin: 0 0 20px;
    text-align: center;
    font-size: 2rem;
    letter-spacing: 0.08em;
}
.funeralAbout-block_cnt {
    width: 100%;
}
.funeralAbout-block_cnt-price {
    margin: -10px 0 0;
    font-weight: 700;
    text-align: right;
    font-size: 1.6rem;
}
.funeralAbout-block_img {
    margin: 25px 0 0;
}
/* funeralAbout-block_merit */
.funeralAbout-block_merit {
    width: 100%;
}
.funeralAbout-block_merit li {
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: 700;
}
.funeralAbout-block_merit li:not(:last-child) {
    margin-bottom: 25px;
}
.funeralAbout-block_merit li figcaption {
    margin: 10px 0 0;
}
/* funeralAbout-contact */
.funeralAbout-contact {
    padding: 25px 20px 20px;
    background-color: #fff;
    box-shadow: 0px 12px 26px 0px rgba(0, 0, 0, 0.08);
}
.funeralAbout-contact .topAbout-list {
    width: 100%;
    margin: 20px 0 0;
}
/* funeralAbout-desc */
.funeralAbout-desc {
    width: 100%;
}
.funeralAbout-desc:not(:last-child) {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid;
}
.funeralAbout-desc_ttl {
    margin: 0 0 6px;
    text-align: center;
    font-size: 2rem;
}
.funeralAbout_img-tel {
    margin: 18px 0 0;
    text-align: center;
    font-size: 2.2rem;
}

/*
    page-events
--------------------*/
/* ▼eventsMain */
.eventsMain-img {
    margin: 0 0 20px;
}
.eventsMain-img li:nth-of-type(1) {
    position: relative;
    z-index: 10;
}
.eventsMain-img li:nth-of-type(2) {
    margin: -15% 0 0;
}
/* ▼eventsMain */
.eventsMain-list li {
    justify-content: flex-start;
    width: 100%;
}
.eventsMain-list li:not(:last-child) {
    margin-bottom: 25px;
}
.eventsMain-list_cnt {
    width: calc(100% - 60px);
}
.eventsMain-list_num {
    margin: 0 20px 0 0;
    font-size: 2.4rem;
    line-height: 1;
}
.eventsMain-list_cnt-ttl {
    padding: 0 0 3px;
    border-bottom: 1px solid;
    font-size: 2rem;
    line-height: 1.3;
    letter-spacing: 0.03em;
}
.eventsMain-list_cnt-ttl:nth-of-type(n+2) {
    margin: 14px 0 0;
}
.eventsMain-list_cnt-ttl span {
    font-size: 1.6rem;
}
.eventsMain-list_cnt-txt {
    margin: 8px 0 0;
    font-weight: 400;
}
.eventsMain-list_img {
    margin: 20px 0 0;
}
.eventsMain-list_img figure:not(:last-child) {
    margin-bottom: 20px;
}


/*
    page-greeting
--------------------*/
/* ▼greetingMain */
.greetingMain {
    padding: 60px 0;
}
.greetingMain-cnt {
    width: 100%;
    margin: 0 0 30px;
}
.greetingMain-cnt_ttl {
    width: auto;
    margin: 0 0 15px;
    font-size: 2.2rem;
}
.greetingMain-cnt_txt {
    font-size: 1.5rem;
}
.greetingMain-list {
    width: 100%;
}
.greetingMain-list li {
    width: 49%;
}
.greetingMain-list li img {
    width: 100%;
}
.greetingMain-list li:nth-child(n+3) {
    margin-top: 2%;
}



/*
    page-gallery
--------------------*/
/* ▼galleryMain */
.galleryMain {
    padding-bottom: 0;
}
.galleryMain-list li {
    width: 100%;
    padding: 0 0 0 20px;
    position: relative;
}
.galleryMain-list li:nth-child(n+2) {
    margin-top: 20px;
}
.galleryMain-list .c_ofi {
    padding-top: 75%;
}
.galleryMain-list_capt {
    padding: 1px 10px;
    background-color: #fff;
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    position: absolute;
    bottom: 20px; left: 0;
    line-height: 1.6;
}
.galleryMain-list_capt br {
    display: block;
}
/* ▼faqMain */
.faqMain-cnt {
    width: 100%;
    padding: 20px;
    background-color: #f5f5f5;
}
.faqMain-cnt:not(:last-child) {
    margin-bottom: 20px;
}
.faqMain-cnt_ttl {
    display: flex;
    align-items: flex-start;
    margin: 0 0 15px;
    font-weight: bold;
    font-size: 1.7rem;
}
.faqMain-cnt_ttl::before {
    content: 'Q.';
    margin: -3px 2px 0 0;
    font-size: 2.2rem;
    color: #31599b;
    font-weight: bold;
    line-height: 1;
}
.faqMain-cnt_txt {
    padding: 11px 16px;
    background-color: #fff;
}
.faqMain-cnt_txt br {
    display: block;
}



/* ▼informationMain */
.informationMain-cnt {
    width: 100%;
    margin: 0 0 10px;
}
.informationMain-map {
    width: 100%;
    height: 200px;
    margin: 30px 0 0;
}
/* informationMain-cnt */
.informationMain-access {
    margin: 40px 0 0;
}
.informationMain-access_map {
    width: 100%;
    height: 200px;
    margin: 10px 0 0;
}
.informationMain-access_ttl {
    font-size: 2rem;
    margin: 0 0 8px;
}
.informationMain-access_lead {
    margin: -10px 0 0;
    font-size: 1.6rem;
    font-weight: bold;
}





/* ▼story */
.story_post a.flex {
    align-items: center;
    padding: 12px 30px 12px 15px;
    line-height: 1;
    position: relative;
    border: 1px solid #ababab;
    position: relative;
}
.story_post a.flex::before {
    content: '';
    width: 7px;
    height: 7px;
    margin: auto;
    border-top: 2px solid;
    border-right: 2px solid;
    transform: rotate(45deg);
    transition: all .3s;
    position: absolute;
    top: 0; bottom: 0; right: 12px;
}
.story_post a.flex:hover::before {
    transform: translateX(5px) rotate(45deg);
}
.story_post .story_post-tag {
    display: block;
    width: 92px;
    padding: 3px 0 5px;
    color: #fff;
    background-color: #959595;
    text-align: center;
}
.story_post .story_post-tag.post-tag11184 {
    color: #fff;
    background-color: #262626;
}
.story_post .story_post-txt {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#top .story_inner {
    background-color: #f6f6f6;
}
.story_cnt {
    width: 100%;
    margin: 0 auto;
}
.story_post:not(:last-child) {
    margin-bottom: 15px;
}
.story_post a.flex {
    justify-content: flex-start;
}
.story_post time {
    margin: 0 15px 0 0;
    padding: 3px 15px 3px 0;
    border-right: 1px solid #dad6d6;
}
.story_post .story_post-tag {
    margin: 0 15px 0 0;
    line-height: 22px;
}
.story_post .story_post-txt {
    flex: 1;
}
#top .story_inner {
    align-items: center;
    padding: 30px 20px;
}
#top .story .arrow-btn {
    margin: 20px 0 0 auto;
}

/*
    page-contact
--------------------*/
.input_big {
    width: 100%;
}
.input_mid {
    width: 70%;
}
.input_min {
    width: 28%;
    max-width: 85px;
}
.contact-form-table {
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0;
}
.contact-form-table td,
.contact-form-table th{
    vertical-align: middle;
    font-weight: 500;
}
.contact-form-table th {
    font-weight: bold;
    text-align: left;
}
.contact-form-table td a {
    display: inline;
    text-decoration: underline;
}
/* ▼button */
.contact_submits button,
.contact_submits input[type='button'],
.contact_submits input[type='submit'] {
    margin: 7px;
    padding: 1em 2em;
    font-size: 16px;
    border: none;
    -webkit-appearance: none;
    transition: all 0.4s ease;
    color: #fff;
    background-color: #676767;
}
.contact-form-table td div:not(:last-child) {
    margin: 0 0 5px;
}
.contact_submits.flex {
    display: flex;
    align-items: center;
    justify-content: center;
}
.contact-privacy {
    width: 100%;
    height: 200px;
    margin: 0 auto 30px;
    border: 1px solid #979797;
}
.contact-privacy iframe {
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 767px) {
    .contact-main .top-trial {
        margin: 0 0 60px;
        padding: 60px 0 60px;
    }
    .contact-form-table,
    .contact-form-table tbody,
    .contact-form-table tr,
    .contact-form-table th,
    .contact-form-table td {
        width: auto;
        display: block;
    }
    .contact-form-table tr {
        margin: 0 0 15px;
        border: 1px solid #aeaeae;
    }
    .contact-form-table th {
        padding: 0 0 0 20px;
        line-height: 40px;
        color: #fff;
        background-color: #676767;
    }
    .contact-form-table td {
        padding: 15px 15px;
        background-color: #fff;
    }
    .contact-form-table .input_table tr:last-child {
        text-align: center;
    }
    .required-mark {
        float: none;
        margin: 0 0 0 15px;
        padding: 2px 7px 3px;
        vertical-align: 2px;
    }
    .contact-form-table input[type='submit']:not(:last-child) {
        margin-bottom: 20px;
    }
    .contact_submits {
        font-size: 14px;
    }
    .contact-privacy {
        height: 200px;
    }
}
/*-----------------------------------------------------------------------

    footer

-----------------------------------------------------------------------*/
.page-footer {
    background-image: url(../images/common/pattern01.jpg);
    border-top: 1px solid #cbcbcb;
}
.footer_wrap {
    flex-flow: column;
    align-items: center;
    justify-content: center;
    padding: 30px 0;
}
.footer_main {
    width: 300px;
    text-align: center;
}
.footer-ttl {
    display: inline-block;
    width: auto;
    margin: 0 0 15px;
    text-align: center;
}
.footer-ttl img {
    width: 200px;
}
.footer_adr {
    margin: 10px 0 0;
    font-size: 1.2rem;
}
.footer_adr p::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 12px;
    margin: 0 7px 0 0;
    background: url(../images/top/info_address_deco.png) no-repeat center / contain;
    vertical-align: -2px;
}
.footer_info {
    align-items: center;
}
.footer-nav {
    width: 100%;
    margin: 40px 0 0;
    justify-content: center;
}
.footer-nav .flex {
    justify-content: center;
}
.footer-nav .flex:not(:last-child) {
    margin: 0 0 12px;
}
.footer-nav li {
    font-size: 1.6rem;
    line-height: 1;
    font-feature-settings: "palt"1;
}
.footer-nav li {
    content: '';
}
.footer-nav li:not(:last-child) {
    margin-right: 25px;
}
.copyright {
    padding: 11px 0;
    background-color: #e0ede6;
    text-align: center;
    font-size: 1rem;
}
.pagetop {
    position: fixed;
    bottom: 60px; right: 15px;
    z-index: 100;
}