@charset "utf-8";


/* --------------------------------------------------
	Resetting default margin and padding
-------------------------------------------------- */

/* !HTML5 elements
---------------------------------------------------------- */
header,
footer,
nav,
section,
aside,
article {
    display: block;
}

/* !Reseting
---------------------------------------------------------- */
body {
    font-family: "M PLUS 1", sans-serif;
    color: #40371a;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    -webkit-text-size-adjust: none;
    font-feature-settings: "palt";
    /* transform: rotateZ(0.03deg); */
}

body,
div,
pre,
p,
blockquote,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
th,
td,
input,
a,
textarea,
select,
span,
nav,
section,
header {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}

input,
textarea {
    margin: 0;
    font-size: 100%;
    appearance: none;
    -webkit-appearance: none;
    border: none;
    outline: none;
}

label {
    cursor: pointer;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 100%;
}

fieldset,
img {
    border: 0;
}

img {
    vertical-align: top;
    max-width: 100%;
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
    font-style: normal;
    font-weight: normal;
}

ol,
ul {
    list-style: none;
}

caption,
th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
    font-weight: 500;
}

q:after,
q:before {
    content: '';
}

a,
input {
    /* outline: none; */
}

abbr,
acronym {
    border: 0;
}




/* !Clearfix
---------------------------------------------------------- */
.clearfix {
    display: block;
    min-height: 1%;
}

.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

* html .clearfix {
    height: 1%;
    /*\*/
    /*/
	height: auto;
	overflow: hidden;
	/**/
}

/* !Layout
---------------------------------------------------------- */
html {
    overflow-y: scroll;
}

body {}

@media print {

    html,
    html body {
        *zoom: 0.65;
    }
}



/* link
------------------------------------------------ */
a {
    color: #40371a;
    text-decoration: none;
    transition: all 0.3s !important;
    -moz-transition: all 0.3s !important;
    /* Firefox */
    -webkit-transition: all 0.3s !important;
    /* Chrome&Safari */
}

a:hover {
    transition: all 0.3s !important;
    -moz-transition: all 0.3s !important;
    /* Firefox */
    -webkit-transition: all 0.3s !important;
    /* Chrome&Safari */
}


.op,
.op a,
.op img,
.op input {
    -webkit-transition: opacity 0.3s ease-out;
    -moz-transition: opacity 0.3s ease-out;
    -ms-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
    -webkit-backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
}

.op:hover,
.op a:hover,
.op:hover img,
.op:hover input {
    opacity: .5;
    -webkit-opacity: .5;
    -moz-opacity: .5;
    filter: alpha(opacity=50);
    /* IE lt 8 */
    -ms-filter: "alpha(opacity=50)";
    /* IE 8 */
    -webkit-transition: opacity 0.3s ease-out;
    -moz-transition: opacity 0.3s ease-out;
    -ms-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
    -webkit-backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
}

@media (max-width: 767px) {

    .op:hover,
    .op a:hover,
    .op:hover img,
    .op:hover input {
        opacity: 1;
        -webkit-opacity: 1;
        -moz-opacity: 1;
        filter: alpha(opacity=100);
        /* IE lt 8 */
        -ms-filter: "alpha(opacity=100)";
        /* IE 8 */
    }
}



/* !fs
------------------------------------------------ */
.visible-pc {
    display: block !important;
}

.visible-tab {
    display: none !important;
}

.visible-ts {
    display: none !important;
}

.visible-pc-only {
    display: block !important;
}


@media (max-width: 1024px) {
    .visible-tab {
        display: block !important;
    }

    .visible-pc-only {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .visible-pc {
        display: none !important;
    }

    .visible-ts {
        display: block !important;
    }
}


/* !fonts
------------------------------------------------ */
.fwb {
    font-weight: 700;
}

.fwm {
    font-weight: 500;
}

.vat {
    vertical-align: top !important;
}

.vam {
    vertical-align: middle !important;
}

.tal {
    text-align: left !important;
}

.tac {
    text-align: center !important;
}

.tar {
    text-align: right !important;
}


/* !ff
------------------------------------------------ */
.ff_aoboshi {
    font-family: "Aoboshi One", serif;
}

.ff_kaisei {
    font-family: "Kaisei Opti", serif;
}

.ff_monts {
    font-family: "Montserrat", sans-serif;
}


/* !fc
------------------------------------------------ */



/* header
----------------------------------------------- */
#header {}

#header .header_logo {
    position: fixed;
    left: 30px;
    top: 30px;
    z-index: 9;
}

#header .header_logo a {
    display: block;
}

#header .header_logo a img {
    width: 126px;
}

#header .header_logo a:hover {
    opacity: 0.5;
}

#header .header_menu {
    position: fixed;
    right: 0;
    top: 20px;
    z-index: 9;
}

@media (max-width: 1024px) {
    #header .header_logo {
        position: fixed;
        left: 15px;
        top: 20px;
        z-index: 9;
    }

    #header .header_logo a img {
        width: 90px;
    }

    #header .header_logo a:hover {
        opacity: 1;
    }

    #header .header_menu {
        top: 10px;
    }

    #header .header_menu img {
        width: 120px;
    }
}

@media (max-width: 767px) {
    #header .header_menu img {
        width: 70px;
    }
}


/* anchor
----------------------------------------------- */
.anchor {
    position: absolute;
    left: 0;
    top: 0;
    padding-top: 140px;
    margin-top: -140px;
    z-index: 0;
}

@media (max-width: 1024px) {
    .anchor {
        padding-top: 75px;
        margin-top: -75px;
    }
}



/* footer
----------------------------------------------- */
#footer {
    padding: 5.71vw 0 0;
    position: relative;
    z-index: 2;
}

#footer .pagetop {
    position: absolute;
    right: min(100px, 7.14vw);
    top: -80px;
    z-index: 1;
}

#footer .pagetop a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 20px;
    width: 220px;
    height: 220px;
    background: url("../img/common/bg_footer.png") center center no-repeat;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
}

#footer .pagetop .pagetop_txt {
    background: url("../img/common/arrow_pagetop.png") center 0 no-repeat;
    padding: 28px 0 0;
    text-align: center;
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 800;
    transition: all 0.3s !important;
    -moz-transition: all 0.3s !important;
    /* Firefox */
    -webkit-transition: all 0.3s !important;
    /* Chrome&Safari */
}

#footer .pagetop a:hover .pagetop_txt {
    opacity: 0.5;
}

#footer .pagetop .pagetop_ico {
    text-align: center;
}

#footer .footer_block {
    padding: 50px 20px;
    background: url("../img/common/bg_footer.png") center center repeat;
    position: relative;
}

#footer .footer_block:before {
    position: absolute;
    content: "";
    background-position: center bottom;
    background-repeat: no-repeat;
    background-image: url("../img/common/dec_footer.png");
    background-size: 100% 5.71vw;
    left: 0;
    bottom: calc(100% - 1px);
    width: 100%;
    height: 5.71vw;
    z-index: 0;
}

#footer .footer_block a:hover {
    opacity: 0.5;
}

#footer .footer_box {
    max-width: 1040px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 70px 0;
}

#footer .footer_inner {
    display: flex;
    flex-direction: column;
    gap: 45px 0;
    padding: 0 20px;
}

#footer .footer_logo {
    display: flex;
    justify-content: flex-start;
}

#footer .footer_logo img {
    width: 210px;
}

#footer .footer_navi {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

#footer .footer_navi .navi_link {
    display: flex;
    align-items: flex-start;
    gap: 0 70px;
    padding: 10px 0 0;
}

#footer .footer_navi .navi_link .link_tit {
    display: none;
    position: relative;
}

#footer .footer_navi .navi_link .link_hidden {}

#footer .footer_navi .navi_link .link_list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#footer .footer_navi .navi_link .link_list li {
    font-weight: 500;
    font-size: 13px;
    letter-spacing: 0.05em;
}

#footer .footer_navi .navi_other {
    display: flex;
    flex-direction: column;
    gap: 40px 0;
    flex-shrink: 0;
}

#footer .footer_navi .navi_sns {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 63px;
}

#footer .footer_navi .navi_sns a {
    display: block;
}

#footer .footer_navi .navi_cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px 0;
}

#footer .footer_navi .navi_cta .cta_tit {
    width: 100%;
    border-bottom: 1px #d4cfc6 solid;
    border-top: 1px #d4cfc6 solid;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

#footer .footer_navi .navi_cta .cta_mail {
    font-size: 15px;
    padding: 0 2px;
    letter-spacing: 0.05em;
}

#footer .footer_prco {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 50px;
}

#footer .footer_prco .prco_link {
    display: flex;
    align-items: center;
    gap: 35px;
}

#footer .footer_prco .prco_link a {
    font-size: 12px;
    display: block;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #756f5c;
}

#footer .copyright {
    font-size: 13px;
    font-weight: 400;
    color: #756f5c;
    letter-spacing: 0.05em;
    font-family: "Aoboshi One", serif;
}


@media (max-width: 1024px) {
    #footer .footer_inner {
        padding: 0;
    }

    #footer .footer_navi .navi_link {
        gap: 0 20px;
    }
}

@media (max-width: 767px) {
    #footer {
        padding: 4.8vw 0 0;
    }

    #footer .pagetop {
        right: 20px;
        top: -20px;
    }

    #footer .pagetop a {
        gap: 10px;
        padding: 10px;
        width: 110px;
        height: 110px;
    }

    #footer .pagetop .pagetop_txt {
        background: url("../img/common/arrow_pagetop.png") center 0 no-repeat;
        background-size: 12px 8px;
        padding: 15px 0 0;
        font-size: 10px;
    }

    #footer .pagetop a:hover .pagetop_txt {
        opacity: 1;
    }

    #footer .pagetop .pagetop_ico img {
        width: 56px;
    }

    #footer .footer_block {
        padding: 55px 20px 50px;
    }

    #footer .footer_block:before {
        background-size: 100% 4.8vw;
        height: 4.8vw;
    }

    #footer .footer_block a:hover {
        opacity: 1;
    }

    #footer .footer_inner {
        gap: 15px 0;
        padding: 0;
    }

    #footer .footer_logo {
        align-self: center;
    }

    #footer .footer_logo img {
        width: 170px;
    }

    #footer .footer_navi {
        width: 100%;
        flex-direction: column;
        align-items: center;
        gap: 50px;
    }

    #footer .footer_navi .navi_link {
        width: 100%;
        display: block;
        padding: 0;
    }

    #footer .footer_navi .navi_link .link_in {
        border-bottom: 2px #d4cfc6 dotted;
        padding: 25px 2px;
    }

    #footer .footer_navi .navi_link .link_tit {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 16px;
        font-weight: 800;
        letter-spacing: 0.025em;
        gap: 20px;
    }

    #footer .footer_navi .navi_link .link_tit .tit_arrow {
        flex-shrink: 0;
        background: #0c9f7d;
        width: 20px;
        height: 20px;
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        -ms-border-radius: 50%;
        -o-border-radius: 50%;
        border-radius: 50%;
        position: relative;
    }

    #footer .footer_navi .navi_link .link_tit .tit_arrow:before {
        position: absolute;
        content: "";
        width: 10px;
        height: 2px;
        background: #fff;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        -ms-border-radius: 2px;
        -o-border-radius: 2px;
        border-radius: 2px;
        z-index: 0;
    }

    #footer .footer_navi .navi_link .link_tit .tit_arrow:after {
        position: absolute;
        content: "";
        width: 2px;
        height: 10px;
        background: #fff;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        -ms-border-radius: 2px;
        -o-border-radius: 2px;
        border-radius: 2px;
        transition: all 0.3s !important;
        -moz-transition: all 0.3s !important;
        /* Firefox */
        -webkit-transition: all 0.3s !important;
        /* Chrome&Safari */
        z-index: 0;
    }

    #footer .footer_navi .navi_link .link_tit.on .tit_arrow:after {
        transform: translate(-50%, -50%) rotate(90deg);
    }

    #footer .footer_navi .navi_link .link_hidden {
        display: none;
        padding: 30px 0 0;
    }

    #footer .footer_navi .navi_link .link_list {
        gap: 20px;
    }

    #footer .footer_navi .navi_link .link_in li {
        width: 100%;
    }

    #footer .footer_navi .navi_link .link_in li a {
        display: block;
        padding: 0 0 0 18px;
        background: url("../img/common/arrow_footer.png") 5px center no-repeat;
        background-size: 7px 8px;
        font-weight: 700;
    }

    #footer .footer_navi .navi_other {
        gap: 30px 0;
        width: 100%;
    }

    #footer .footer_navi .navi_sns {
        gap: 45px;
    }

    #footer .footer_navi .navi_sns a {
        width: 36px;
    }

    #footer .footer_navi .navi_cta .cta_tit {
        height: 42px;
        font-size: 12px;
    }

    #footer .footer_navi .navi_cta .cta_mail {
        font-size: 13px;
    }

    #footer .footer_prco {
        justify-content: space-between;
        gap: 10px;
    }

    #footer .footer_prco .prco_link {
        flex-wrap: wrap;
        gap: 10px min(20px, 5.34vw);
    }

    #footer .footer_prco .prco_link a {
        font-size: 11px;
        letter-spacing: 0.05em;
    }

    #footer .copyright {
        font-size: 11px;
        flex-shrink: 0;
    }
}

@media (min-width: 768px) {
    #footer .footer_navi .navi_link .link_hidden {
        display: block !important;
    }
}

#footer.footer_login {
    padding: 0 20px;
    background: url("../img/common/bg_footer.png") 0 0 repeat;
}

#footer.footer_login .ft_login_box {
    height: 84px;
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#footer.footer_login .ft_login_navi {
    display: flex;
    align-items: stretch;
}

#footer.footer_login .ft_login_navi li {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

#footer.footer_login .ft_login_navi li a {
    display: block;
    color: #40371a;
}

#footer.footer_login .ft_login_navi li a:hover {
    opacity: 0.5;
}

#footer.footer_login .ft_login_navi li+li {
    border-left: 1px #d5d5d5 solid;
    margin: 0 0 0 20px;
    padding: 0 0 0 20px;
}

#footer.footer_login .copyright {
    font-size: 12px;
    font-family: "Aoboshi One", serif;
    font-weight: 400;
    color: #40371a;
    letter-spacing: 0.05em;
}

@media (max-width: 767px) {
    #footer.footer_login .ft_login_box {
        padding: 30px 0;
        height: auto;
        flex-direction: column;
        align-items: flex-start;
        gap: 15px 0;
    }

    #footer.footer_login .ft_login_navi li a:hover {
        opacity: 1;
    }

    #footer.footer_login .ft_login_navi li+li {
        margin: 0 0 0 15px;
        padding: 0 0 0 15px;
    }
}



/* animate
----------------------------------------------- */
@keyframes fadeInLeftLit {
    from {
        opacity: 0;
        transform: translate3d(-50px, 0, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.fadeInLeftLit {
    animation-name: fadeInLeftLit;
}

@keyframes fadeInRightLit {
    from {
        opacity: 0;
        transform: translate3d(50px, 0, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.fadeInRightLit {
    animation-name: fadeInRightLit;
}

@keyframes fadeInUpLit {
    from {
        opacity: 0;
        transform: translate3d(0, 50px, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.fadeInUpLit {
    animation-name: fadeInUpLit;
}




/* wrapper
----------------------------------------------- */
#wrapper {}

article {
    overflow: hidden;
    padding: 0 0 8.57vw;
    margin: 0 0 -5.71vw;
    position: relative;
}

@media (max-width: 767px) {
    article {
        padding: 0 0 15.34vw;
        margin: 0 0 -4.8vw;
    }
}


.inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 1;
}




/* teaser
----------------------------------------------- */
.teaser {
    overflow: hidden;
    position: relative;
}


.teaser_fix {
    position: fixed;
    top: 23px;
    left: 186px;
    padding: 0 0 0 30px;
    display: flex;
    align-items: center;
    height: 70px;
    border-left: 1px #dedbc2 solid;
    z-index: 8;
}

.teaser_fix .teaser_hd {
    color: #333;
    font-size: 18px;
    line-height: 1.42;
    font-weight: 800;
    letter-spacing: 0.05em;
}

@media (max-width: 1024px) {
    .teaser_fix {
        top: 18px;
        left: calc(105px + min(15px, 4vw));
        padding: 0 0 0 4vw;
        height: 45px;
        max-width: 42%;
    }

    .teaser_fix .teaser_hd {
        font-size: min(14px, 3.74vw);
        letter-spacing: 0.05em;
    }
}



/* H
----------------------------------------------- */

@media (max-width: 767px) {}





/* breadcrumb
----------------------------------------------- */
.breadcrumb {
    margin: 120px 0 0;
    padding: 0 20px;
    position: relative;
    z-index: 1;
}

.breadcrumb .bread_in {
    max-width: 1200px;
    margin: 0 auto;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    vertical-align: middle;
}

.breadcrumb .bread_in a,
.breadcrumb .bread_in span {
    vertical-align: middle;
    display: inline-block;
}

.breadcrumb .bread_in a:hover {
    opacity: 0.5;
}

.breadcrumb .bread_arrow {
    margin: 0 15px;
    display: inline-block;
    font-size: 0;
    width: 6px;
}

@media (max-width: 767px) {
    .breadcrumb {
        margin: 70px 0 0;
    }

    .breadcrumb .bread_in {
        font-size: 13px;
    }

    .breadcrumb .bread_in a:hover {
        opacity: 1;
    }

    .breadcrumb .bread_arrow {
        margin: 0 10px;
    }
}






/* common
----------------------------------------------- */
.deck_wave {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 0;
}

.deck_wave img {
    width: 100%;
}


.com_category {
    margin: 0 0 60px;
    background-color: #fff;
    background-position: 0 bottom;
    background-repeat: no-repeat;
    padding: 60px 40px;
    overflow: hidden;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    position: relative;
}

.com_category:before {
    position: absolute;
    content: "";
    background-position: 0 0;
    background-repeat: repeat;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    z-index: 0;
}

.com_category .category_box {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    position: relative;
    z-index: 1;
}

.com_category .category_tit {
    width: 220px;
    flex-shrink: 0;
    line-height: 1;
    font-size: 26px;
    letter-spacing: 0.025em;
    font-family: "Aoboshi One", serif;
}

.com_category .category_cont {
    flex: 1;
}

.com_category .category_list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    overflow: hidden;
    max-height: 70px;
    transition: max-height 0.3s ease;
}

.com_category .category_list.expanded {
    max-height: none;
}

.com_category .category_list a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-style: solid;
    border-width: 1px;
    background: #fff;
    padding: 0 30px;
    height: 30px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.05em;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
    border-radius: 30px;
}

.com_category .category_list a.current {
    color: #fff;
}

.com_category .category_list a:hover {
    opacity: 0.5;
}

.com_category .category_more {
    display: flex;
    justify-content: flex-end;
    margin: 30px 0 0;
}

.com_category .category_more a {
    display: block;
    padding: 0 60px 0 0;
    position: relative;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.com_category .category_more a:hover {
    opacity: 0.5;
}

.com_category .category_more a:before {
    position: absolute;
    content: "";
    width: 50px;
    height: 20px;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    z-index: 0;
}

.com_category .category_more a:after {
    position: absolute;
    content: "";
    width: 50px;
    height: 20px;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background-image: url("../img/common/arrow_category.png");
    background-position: center center;
    background-repeat: no-repeat;
    transition: all 0.3s !important;
    -moz-transition: all 0.3s !important;
    /* Firefox */
    -webkit-transition: all 0.3s !important;
    /* Chrome&Safari */
    z-index: 0;
}

.com_category .category_more.on a:after {
    transform: translateY(-50%) rotate(180deg);
}

@media (max-width: 767px) {
    .com_category {
        margin: 0 0 20px;
        padding: 25px 20px 12px;
        background-size: 176px 110px;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        -ms-border-radius: 10px;
        -o-border-radius: 10px;
        border-radius: 10px;
    }

    .com_category .category_box {
        flex-direction: column;
        gap: 25px;
    }

    .com_category .category_tit {
        width: auto;
        font-size: 17px;
    }

    .com_category .category_list {
        gap: 5px;
        max-height: 135px;
    }

    .com_category .category_list a {
        padding: 0 20px;
        font-size: 10px;
    }

    .com_category .category_list a:hover {
        opacity: 1;
    }

    .com_category .category_more {
        margin: 10px 0 0;
    }

    .com_category .category_more a {
        padding: 0 40px 0 0;
        font-size: 11px;
    }

    .com_category .category_more a:hover {
        opacity: 1;
    }

    .com_category .category_more a:before {
        width: 30px;
        height: 20px;
    }

    .com_category .category_more a:after {
        width: 30px;
        height: 20px;
        background-image: url("../img/common/arrow_category_sp.png");
        background-size: 6px 6px;
    }
}


.com_cate_list {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 50px 30px;
}

.com_cate_list li {
    width: calc((100% - 60px)/3);
}

.com_cate_list li .cate_item {
    display: block;
    width: 100%;
    height: 100%;
    padding: 43px 20px 27px;
    overflow: hidden;
    background-color: #fff;
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 154px 113px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
    border-radius: 8px;
    -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
    -ms-box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
    -o-box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
    position: relative;
}

.com_cate_list li .cate_item:before {
    position: absolute;
    content: "";
    background-repeat: repeat;
    background-position: 0 0;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    mix-blend-mode: multiply;
    z-index: 0;
}

.com_cate_list li .cate_item:after {
    position: absolute;
    content: "";
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/common/arrow_list.png");
    background-size: 16px 16px;
    right: 30px;
    bottom: 30px;
    width: 16px;
    height: 16px;
    transition: all 0.3s !important;
    -moz-transition: all 0.3s !important;
    /* Firefox */
    -webkit-transition: all 0.3s !important;
    /* Chrome&Safari */
    z-index: 0;
}

.com_cate_list li .cate_item:hover:after {
    transform: translateX(5px);
}

.com_cate_list li .cate_item .item_img {
    border: 1px #e1e1d2 solid;
    position: relative;
    z-index: 1;
    overflow: hidden;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
}

.com_cate_list li .cate_item .item_img img {
    width: 100%;
    transition: all 0.3s !important;
    -moz-transition: all 0.3s !important;
    /* Firefox */
    -webkit-transition: all 0.3s !important;
    /* Chrome&Safari */
}

.com_cate_list li .cate_item:hover .item_img img {
    transform: scale(1.03);
}

.com_cate_list li .cate_item .item_cont {
    padding: 20px 10px 0;
    position: relative;
    z-index: 1;
}

.com_cate_list li .cate_item .item_name {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.63;
    margin: 0 0 15px;
}

.com_cate_list li .cate_item .item_txt {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.57;
    margin: 0 0 20px;
}

.com_cate_list li .cate_item .item_type {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    padding: 0 15px 0 0;
}

.com_cate_list li .cate_item .item_type .type_in {
    background: #fff;
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 5px 20px;
    font-size: 13px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    font-weight: 700;
    border-style: solid;
    border-width: 1px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
    border-radius: 30px;
}

.com_cate_list li .cate_item .item_pick {
    position: absolute;
    left: 0;
    top: 0;
    width: 120px;
    height: 80px;
    line-height: 1;
    display: flex;
    justify-content: center;
    padding: 15px 0 0;
    color: #fff;
    font-size: 16px;
    letter-spacing: 0.025em;
    font-family: "Aoboshi One", serif;
    -webkit-border-radius: 0 0 80px 0;
    -moz-border-radius: 0 0 80px 0;
    -ms-border-radius: 0 0 80px 0;
    -o-border-radius: 0 0 80px 0;
    border-radius: 0 0 80px 0;
    z-index: 0;
}

@media (max-width: 1024px) {
    .com_cate_list li {
        width: calc((100% - 30px)/2);
    }
}

@media (max-width: 767px) {
    .com_cate_list {
        flex-direction: column;
        gap: 30px;
    }

    .com_cate_list li {
        width: 100%;
    }

    .com_cate_list li .cate_item {
        padding: 37px 17px 23px;
        background-size: 135px 100px;
        -webkit-border-radius: 6px;
        -moz-border-radius: 6px;
        -ms-border-radius: 6px;
        -o-border-radius: 6px;
        border-radius: 6px;
        -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
        -ms-box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
        -o-box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
        box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
    }

    .com_cate_list li .cate_item:after {
        background-size: 14px 14px;
        right: 20px;
        bottom: 20px;
        width: 14px;
        height: 14px;
    }

    .com_cate_list li .cate_item:hover:after {
        transform: translateX(0);
    }

    .com_cate_list li .cate_item .item_img {
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        -ms-border-radius: 5px;
        -o-border-radius: 5px;
        border-radius: 5px;
    }

    .com_cate_list li .cate_item:hover .item_img img {
        transform: scale(1);
    }

    .com_cate_list li .cate_item .item_name {
        font-size: 17px;
        margin: 0 0 10px;
    }

    .com_cate_list li .cate_item .item_txt {
        font-size: 12px;
        margin: 0 0 15px;
    }

    .com_cate_list li .cate_item .item_type .type_in {
        min-height: 26px;
        font-size: 11px;
    }

    .com_cate_list li .cate_item .item_pick {
        width: 105px;
        height: 70px;
        font-size: 14px;
        -webkit-border-radius: 0 0 40px 0;
        -moz-border-radius: 0 0 40px 0;
        -ms-border-radius: 0 0 40px 0;
        -o-border-radius: 0 0 40px 0;
        border-radius: 0 0 40px 0;
    }
}





.com_cate_mark {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 50px 30px;
}

.com_cate_mark li {
    width: calc((100% - 60px)/3);
    filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.2));
    position: relative;
}

.com_cate_mark li:before {
    position: absolute;
    content: "";
    ;
    background: #fff;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 70px), calc(100% - 70px) 100%, 0 100%);
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
    border-radius: 8px;
    z-index: 0;
}

.com_cate_mark li .cate_bookmark {
    position: absolute;
    right: 0;
    top: 0;
    height: 43px;
    padding: 5px 10px 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    z-index: 1;
}

.cate_bookmark .mark_ico {
    width: 30px;
    height: 30px;
    display: block;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 30px 30px;
    background-image: url("../img/common/ico_bookmark_off.png");
    transition: all 0.3s !important;
    -moz-transition: all 0.3s !important;
    /* Firefox */
    -webkit-transition: all 0.3s !important;
    /* Chrome&Safari */
}

.cate_bookmark .mark_ico.on {
    background-image: url("../img/common/ico_bookmark_on.png");
}

.com_cate_mark li .cate_item {
    display: block;
    width: 100%;
    height: 100%;
    padding: 43px 20px 40px;
    overflow: hidden;
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 202px 148px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
    border-radius: 8px;
    position: relative;
}

.com_cate_mark li .cate_item:before {
    position: absolute;
    content: "";
    background-repeat: repeat;
    background-position: 0 0;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    mix-blend-mode: multiply;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
    border-radius: 8px;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 70px), calc(100% - 70px) 100%, 0 100%);
    z-index: 0;
}

.com_cate_mark li .cate_item:after {
    position: absolute;
    content: "";
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/common/arrow_list.png");
    background-size: 16px 16px;
    right: 10px;
    bottom: 15px;
    width: 16px;
    height: 16px;
    transition: all 0.3s !important;
    -moz-transition: all 0.3s !important;
    /* Firefox */
    -webkit-transition: all 0.3s !important;
    /* Chrome&Safari */
    z-index: 0;
}

.com_cate_mark li .cate_item:hover:after {
    transform: translateX(5px);
}

.com_cate_mark li .cate_item .item_img {
    border: 1px #151515 solid;
    position: relative;
    z-index: 1;
    overflow: hidden;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
}

.com_cate_mark li .cate_item .item_img img {
    width: 100%;
    transition: all 0.3s !important;
    -moz-transition: all 0.3s !important;
    /* Firefox */
    -webkit-transition: all 0.3s !important;
    /* Chrome&Safari */
}

.com_cate_mark li .cate_item:hover .item_img img {
    transform: scale(1.03);
}

.com_cate_mark li .cate_item .item_cont {
    padding: 20px 10px 0;
    position: relative;
    z-index: 1;
}

.com_cate_mark li .cate_item .item_date {
    font-size: 14px;
    font-family: "Aoboshi One", serif;
    margin: 0 0 10px;
}

.com_cate_mark li .cate_item .item_name {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.63;
    margin: 0 0 15px;
}

.com_cate_mark li .cate_item .item_txt {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.57;
    margin: 0 0 20px;
}

.com_cate_mark li .cate_item .item_type {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    padding: 0 15px 0 0;
}

.com_cate_mark li .cate_item .item_type .type_in {
    background: #fff;
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 5px 20px;
    font-size: 13px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    font-weight: 700;
    border-style: solid;
    border-width: 1px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
    border-radius: 30px;
}

.com_cate_mark li .cate_item .item_pick {
    position: absolute;
    left: 0;
    top: 0;
    width: 120px;
    height: 80px;
    line-height: 1;
    display: flex;
    justify-content: center;
    padding: 15px 0 0;
    color: #fff;
    font-size: 16px;
    letter-spacing: 0.025em;
    font-family: "Aoboshi One", serif;
    -webkit-border-radius: 0 0 80px 0;
    -moz-border-radius: 0 0 80px 0;
    -ms-border-radius: 0 0 80px 0;
    -o-border-radius: 0 0 80px 0;
    border-radius: 0 0 80px 0;
    z-index: 0;
}

@media (max-width: 1024px) {
    .com_cate_mark li {
        width: calc((100% - 30px)/2);
    }
}

@media (max-width: 767px) {
    .com_cate_mark {
        flex-direction: column;
        gap: 30px;
    }

    .com_cate_mark li {
        width: 100%;
    }

    .com_cate_mark li:before {
        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 60px), calc(100% - 60px) 100%, 0 100%);
    }

    .com_cate_mark li .cate_bookmark {
        height: 37px;
        padding: 0 15px;
    }

    .cate_bookmark .mark_ico {
        width: 24px;
        height: 24px;
        background-size: 24px 24px;
        background-image: url("../img/common/ico_bookmark_off.png");
    }

    .com_cate_mark li .cate_item {
        padding: 37px 20px 23px;
        background-size: 177px 130px;
        -webkit-border-radius: 6px;
        -moz-border-radius: 6px;
        -ms-border-radius: 6px;
        -o-border-radius: 6px;
        border-radius: 6px;
    }

    .com_cate_mark li .cate_item:before {
        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 60px), calc(100% - 60px) 100%, 0 100%);
    }

    .com_cate_mark li .cate_item:after {
        background-size: 14px 14px;
        right: 8px;
        bottom: 8px;
        width: 14px;
        height: 14px;
    }

    .com_cate_mark li .cate_item:hover:after {
        transform: translateX(0);
    }

    .com_cate_mark li .cate_item .item_img {
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        -ms-border-radius: 5px;
        -o-border-radius: 5px;
        border-radius: 5px;
    }

    .com_cate_mark li .cate_item:hover .item_img img {
        transform: scale(1);
    }

    .com_cate_mark li .cate_item .item_date {
        font-size: 12px;
        margin: 0 0 5px;
    }

    .com_cate_mark li .cate_item .item_name {
        font-size: 17px;
        margin: 0 0 10px;
    }

    .com_cate_mark li .cate_item .item_txt {
        font-size: 12px;
        margin: 0 0 15px;
    }

    .com_cate_mark li .cate_item .item_type .type_in {
        min-height: 26px;
        font-size: 11px;
    }

    .com_cate_mark li .cate_item .item_pick {
        width: 105px;
        height: 70px;
        font-size: 14px;
        -webkit-border-radius: 0 0 40px 0;
        -moz-border-radius: 0 0 40px 0;
        -ms-border-radius: 0 0 40px 0;
        -o-border-radius: 0 0 40px 0;
        border-radius: 0 0 40px 0;
    }
}





.fancybox-close {
    right: 40px;
    top: 45px;
    width: 30px;
    height: 30px;
    background-image: url("../img/common/close_pop.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 30px 30px;
}

.fancybox-opened .fancybox-skin {
    box-shadow: none;
}

.fancybox-skin {
    padding: 25px 20px !important;
    background: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
}

.com_pop {
    overflow: hidden;
    display: none;
    background-position: right bottom;
    background-size: 276px 202px;
    background-repeat: no-repeat;
    background-color: #fff;
    font-family: "M PLUS 1", sans-serif;
    max-width: 1200px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    position: relative;
}

.com_pop:before {
    position: absolute;
    content: "";
    background-position: 0 0;
    background-repeat: repeat;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    z-index: 0;
}

.com_pop .pop_scroll {
    max-height: calc(100vh - 50px);
    overflow-y: auto;
}

.com_pop .pop_scroll {
    -ms-overflow-style: none;
    overflow: -moz-scrollbars-none;
}

.com_pop .pop_scroll::-webkit-scrollbar {
    /* display: none; */
}

.com_pop .pop_scroll {
    /* scrollbar-width: none; */
    transform: translateZ(0);
}

.com_pop .pop_box {
    display: flex;
    align-items: flex-start;
    gap: 40px;
    padding: 40px;
    position: relative;
    z-index: 1;
}

.com_pop .pop_box .pop_left {
    flex-shrink: 0;
}

.com_pop .pop_box .pop_img {
    border: 1px #e7e7db solid;
    padding: 20px 0;
    background: #fff;
    margin: 0 0 20px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
}

.com_pop .pop_box .pop_img img {
    width: 380px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

.com_pop .pop_box .pop_btn {}

.com_pop .pop_box .pop_btn a {
    display: flex;
    align-items: center;
    padding: 1em 35px 1em 20px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #fff;
    max-width: 260px;
    min-height: 45px;
    line-height: 1.4;
    margin: 0 auto;
    background: #0c9f7d;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    -ms-border-radius: 40px;
    -o-border-radius: 40px;
    border-radius: 40px;
    position: relative;
}

.com_pop .pop_box .pop_btn a:before {
    position: absolute;
    content: "";
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/common/ico_blank.png");
    background-size: 14px 14px;
    right: 20px;
    top: 0;
    width: 14px;
    height: 100%;
    z-index: 0;
}

.com_pop .pop_box .pop_btn a:hover {
    opacity: 0.5;
}

.com_pop .pop_box .pop_cont {}

.com_pop .pop_box .pop_tit {
    font-size: 26px;
    line-height: 1.46;
    font-weight: 700;
    margin: 0 0 20px;
}

.com_pop .pop_box .pop_txt {
    font-size: 16px;
    letter-spacing: 0;
    font-weight: 700;
    line-height: 1.875;
    margin: 0 0 25px;
}

.com_pop .pop_box .pop_txt a {
    font-weight: 800;
    display: inline-block;
    border-bottom: 2px #40371a solid;
    line-height: 1.3;
}

.com_pop .pop_box .pop_txt a:hover {
    opacity: 0.5;
}

.com_pop .pop_box .pop_item {
    display: flex;
    flex-direction: column;
    gap: 15px 0;
}

.com_pop .pop_box .pop_item .item_inner {}

.com_pop .pop_box .pop_item .item_tit {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 10px;
}

.com_pop .pop_box .pop_item .item_cont {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.com_pop .pop_box .pop_item .item_txt {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.64;
}

.com_pop .pop_box .pop_img_sp {
    display: none;
}

@media (max-width: 1024px) {
    .com_pop .pop_box {
        display: flex;
        flex-direction: column-reverse;
    }

    .com_pop .pop_box .pop_img {
        display: none;
    }

    .com_pop .pop_box .pop_img_sp {
        display: block;
        max-width: 380px;
        margin: 0 auto 20px;
        border: 1px #e7e7db solid;
        padding: 20px 0;
        background: #fff;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        -ms-border-radius: 10px;
        -o-border-radius: 10px;
        border-radius: 10px;
    }

    .com_pop .pop_box .pop_left {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .fancybox-close {
        right: 10px;
        top: 15px;
    }

    .com_pop {
        background-size: 230px 169px;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        -ms-border-radius: 10px;
        -o-border-radius: 10px;
        border-radius: 10px;
    }

    .com_pop .pop_box {
        gap: 30px;
        padding: 35px 25px 40px;
    }

    .com_pop .pop_box .pop_btn a {
        padding: 0 35px;
        font-size: 12px;
        max-width: 285px;
        height: 55px;
        justify-content: center;
        text-align: center;
    }

    .com_pop .pop_box .pop_btn a:before {
        background-image: url("../img/common/ico_blank.png");
        background-size: 12px 12px;
        right: 25px;
        width: 12px;
    }

    .com_pop .pop_box .pop_btn a:hover {
        opacity: 1;
    }

    .com_pop .pop_box .pop_tit {
        font-size: 16px;
        line-height: 1.375;
    }

    .com_pop .pop_box .pop_txt {
        font-size: 12px;
        line-height: 1.58;
    }

    .com_pop .pop_box .pop_txt a:hover {
        opacity: 1;
    }

    .com_pop .pop_box .pop_item {
        gap: 25px 0;
    }

    .com_pop .pop_box .pop_item .item_tit {
        font-size: 15px;
        margin: 0 0 15px;
    }

    .com_pop .pop_box .pop_item .item_cont {
        gap: 10px;
    }

    .com_pop .pop_box .pop_item .item_txt {
        font-size: 12px;
        line-height: 1.58;
    }

    .com_pop .pop_box .pop_img_sp {
        padding: 15px 0;
    }
}

.com_pop.openchat_pop {
    background-image: url("../img/openchat/sheet_openchat.png");
}

.com_pop.openchat_pop:before {
    background-image: url("../img/openchat/dot_openchat.png");
}

.com_pop.youtube_pop {
    background-image: url("../img/youtube/sheet_youtube.png");
}

.com_pop.youtube_pop:before {
    background-image: url("../img/youtube/dot_youtube.png");
}

.com_pop.procedure_pop {
    background-image: url("../img/procedure/sheet_procedure.png");
}

.com_pop.procedure_pop:before {
    background-image: url("../img/procedure/dot_procedure.png");
}

.com_pop.kidscare_pop {
    background-image: url("../img/kidscare/sheet_kidscare.png");
}

.com_pop.kidscare_pop:before {
    background-image: url("../img/kidscare/dot_kidscare.png");
}

.com_pop.helpspace_pop {
    background-image: url("../img/help_space/sheet_helpspace.png");
}

.com_pop.helpspace_pop:before {
    background-image: url("../img/help_space/dot_helpspace.png");
}

.com_pop.recommend_pop {
    background-image: url("../img/recommend/sheet_recommend.png");
}

.com_pop.recommend_pop:before {
    background-image: url("../img/recommend/dot_recommend.png");
}

.com_pop.support_pop {
    background-image: url("../img/bereavement_support/sheet_support.png");
}

.com_pop.support_pop:before {
    background-image: url("../img/bereavement_support/dot_support.png");
}

.com_pop.chief_pop {
    background-image: url("../img/village_chief/sheet_chief.png");
}

.com_pop.chief_pop:before {
    background-image: url("../img/village_chief/dot_chief.png");
}

.com_pop.sports_pop {
    background-image: url("../img/sports/sheet_sports.png");
}

.com_pop.sports_pop:before {
    background-image: url("../img/sports/dot_sports.png");
}

.com_pop.recipe_pop {
    background-image: url("../img/recipe/sheet_recipe.png");
}

.com_pop.recipe_pop:before {
    background-image: url("../img/recipe/dot_recipe.png");
}




/* wp-pagenavi
----------------------------------------------- */
.wp-pagenavi {
    margin: 100px 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px 45px;
    font-family: "Aoboshi One", serif;
}

.wp-pagenavi a,
.wp-pagenavi span {
    background: none;
    display: block;
    font-size: 30px;
    line-height: 1;
    font-weight: 400;
    color: #40371a;
    position: relative;
}

.wp-pagenavi span:before {
    position: absolute;
    content: "";
    background: #40371a;
    width: 40px;
    height: 2px;
    left: 50%;
    transform: translateX(-50%);
    top: calc(100% + 8px);
    z-index: 0;
}

.wp-pagenavi a:hover {
    opacity: 0.5;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
    width: 78px;
    height: 78px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 16px 16px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
}

.wp-pagenavi .previouspostslink {
    background-image: url("../img/common/prev_wp.png");
    margin: 0 25px 0 0;
}

.wp-pagenavi .nextpostslink {
    background-image: url("../img/common/next_wp.png");
    margin: 0 0 0 25px;
}

@media (max-width: 767px) {
    .wp-pagenavi {
        margin: 60px 0 0;
        gap: 10px min(23px, 6.14vw);
    }

    .wp-pagenavi a,
    .wp-pagenavi span {
        font-size: min(15px, 4vw);
    }

    .wp-pagenavi span:before {
        width: 20px;
        height: 1px;
        top: calc(100% + 4px);
    }

    .wp-pagenavi a:hover {
        opacity: 1;
    }

    .wp-pagenavi .previouspostslink,
    .wp-pagenavi .nextpostslink {
        width: min(40px, 10.67vw);
        height: min(40px, 10.67vw);
        background-size: 8px 8px;
    }

    .wp-pagenavi .previouspostslink {
        margin: 0 min(12px, 3.2vw) 0 0;
    }

    .wp-pagenavi .nextpostslink {
        margin: 0 0 0 min(12px, 3.2vw);
    }
}







/* sub_openchat
----------------------------------------------- */
.sub_openchat {
    background: #c8ed97;
}

.sub_openchat .teaser .teaser_img img {
    width: 100%;
}

.sub_openchat .teaser .teaser_box {
    position: absolute;
    left: 0;
    bottom: 4.64vw;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 20px;
    z-index: 1;
}

.sub_openchat .teaser .teaser_in {
    width: 1200px;
    max-width: 100%;
    display: flex;
    justify-content: flex-end;
}

.sub_openchat .teaser .teaser_cont {
    width: 58%;
}

.sub_openchat .teaser .teaser_hd {
    margin: 0 0 min(20px, 1.428vw);
}

.sub_openchat .teaser .teaser_hd img {
    width: min(538px, 38.43vw);
}

.sub_openchat .teaser .teaser_name {
    font-size: min(20px, 1.428vw);
    font-weight: 800;
    margin: 0 0 min(20px, 1.428vw);
}

.sub_openchat .teaser .teaser_txt {
    font-size: min(16px, 1.143vw);
    font-weight: 700;
    line-height: 1.75;
}

@media (max-width: 767px) {
    .sub_openchat .teaser .teaser_box {
        position: static;
        padding: 15px 20px 30px;
    }

    .sub_openchat .teaser .teaser_in {
        display: block;
        width: 100%;
    }

    .sub_openchat .teaser .teaser_cont {
        width: 100%;
    }

    .sub_openchat .teaser .teaser_hd {
        margin: 0 0 15px;
    }

    .sub_openchat .teaser .teaser_hd img {
        width: 269px;
    }

    .sub_openchat .teaser .teaser_name {
        font-size: 16px;
        margin: 0 0 20px;
    }

    .sub_openchat .teaser .teaser_txt {
        font-size: 14px;
        line-height: 1.71;
        letter-spacing: 0.05em;
    }
}

.sub_openchat .com_category {
    background-image: url("../img/openchat/bg_cate_openchat.png");
}

.sub_openchat .com_category:before {
    background-image: url("../img/openchat/dot_cate_openchat.png");
}

.sub_openchat .com_category .category_list a {
    border-color: #aacfac;
}

.sub_openchat .com_category .category_list a.current {
    background: #51a955;
}

.sub_openchat .com_category .category_more a:before {
    background: #51a955;
}

.sub_openchat .wp-pagenavi .previouspostslink,
.sub_openchat .wp-pagenavi .nextpostslink {
    background-color: #51a955;
}

.sub_openchat .com_cate_list li .cate_item {
    background-image: url("../img/openchat/sheet_openchat.png");
}

.sub_openchat .com_cate_list li .cate_item:before {
    background-image: url("../img/openchat/dot_openchat.png");
}

.sub_openchat .com_cate_list li .cate_item .item_type .type_in {
    border-color: #aacfac;
}

.sub_openchat .com_cate_list li .cate_item .item_pick {
    background: #51a955;
}

@media (max-width: 767px) {
    .sub_openchat .com_category {
        background-image: url("../img/openchat/bg_cate_openchat_sp.png");
    }
}




/* sub_youtube
----------------------------------------------- */
.sub_youtube {
    background: #fdfaf1;
}

.sub_youtube .teaser .teaser_img img {
    width: 100%;
}

.sub_youtube .teaser .teaser_box {
    position: absolute;
    left: 0;
    bottom: 2.5vw;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 20px;
    z-index: 1;
}

.sub_youtube .teaser .teaser_in {
    width: 1200px;
    max-width: 100%;
    display: flex;
    justify-content: center;
}

.sub_youtube .teaser .teaser_cont {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: #fffffe;
}

.sub_youtube .teaser .teaser_hd {
    margin: 0 0 min(20px, 1.428vw);
    font-size: 0;
}

.sub_youtube .teaser .teaser_hd img {
    width: min(352px, 25.15vw);
}

.sub_youtube .teaser .teaser_name {
    margin: 0 0 min(25px, 1.79vw);
    font-size: 0;
}

.sub_youtube .teaser .teaser_name img {
    width: min(308px, 22vw);
}

.sub_youtube .teaser .teaser_txt {
    font-size: min(16px, 1.143vw);
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
    margin: 0 0 min(10px, 0.72vw);
}

.sub_youtube .teaser .teaser_note {
    font-size: min(13px, 0.93vw);
    font-weight: 500;
    letter-spacing: 0.05em;
}

@media (max-width: 767px) {
    .sub_youtube .teaser .teaser_box {
        bottom: 20vw;
    }

    .sub_youtube .teaser .teaser_hd {
        margin: 0 0 min(20px, 1.428vw);
        font-size: 0;
    }

    .sub_youtube .teaser .teaser_hd img {
        width: min(239px, 63.74vw);
    }

    .sub_youtube .teaser .teaser_name {
        margin: 0 0 min(25px, 6.67vw);
    }

    .sub_youtube .teaser .teaser_name img {
        width: min(245px, 65.34vw);
    }

    .sub_youtube .teaser .teaser_txt {
        font-size: min(14px, 3.74vw);
        line-height: 1.72;
        letter-spacing: 0.05em;
        margin: 0 0 min(10px, 2.67vw);
    }

    .sub_youtube .teaser .teaser_note {
        font-size: min(11px, 2.94vw);
    }
}

.sub_youtube .com_category {
    background-image: url("../img/youtube/bg_cate_youtube.png");
}

.sub_youtube .com_category:before {
    background-image: url("../img/youtube/dot_cate_youtube.png");
}

.sub_youtube .com_category .category_list a {
    border-color: #fbd3d1;
}

.sub_youtube .com_category .category_list a.current {
    background: #ee4f4b;
}

.sub_youtube .com_category .category_more a:before {
    background: #ee4f4b;
}

.sub_youtube .wp-pagenavi .previouspostslink,
.sub_youtube .wp-pagenavi .nextpostslink {
    background-color: #ee4f4b;
}

.sub_youtube .com_cate_list li .cate_item {
    background-image: url("../img/youtube/sheet_youtube.png");
}

.sub_youtube .com_cate_list li .cate_item:before {
    background-image: url("../img/youtube/dot_youtube.png");
}

.sub_youtube .com_cate_list li .cate_item .item_type .type_in {
    border-color: #fbd3d1;
}

.sub_youtube .com_cate_list li .cate_item .item_pick {
    background: #ee4f4b;
}

@media (max-width: 767px) {
    .sub_youtube .com_category {
        background-image: url("../img/youtube/bg_cate_youtube_sp.png");
    }
}




/* sub_procedure
----------------------------------------------- */
.sub_procedure {
    background: #f8f4e6;
}

.sub_procedure .teaser {
    margin: 0 0 -7.57vw;
}

.sub_procedure .teaser .teaser_img img {
    width: 100%;
}

.sub_procedure .teaser .teaser_box {
    position: absolute;
    left: 0;
    bottom: 12.86vw;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 20px;
    z-index: 1;
}

.sub_procedure .teaser .teaser_in {
    width: 1200px;
    max-width: 100%;
    display: flex;
    justify-content: flex-start;
}

.sub_procedure .teaser .teaser_cont {
    display: flex;
    flex-direction: column;
}

.sub_procedure .teaser .teaser_hd {
    margin: 0 0 min(30px, 2.15vw);
    font-size: 0;
}

.sub_procedure .teaser .teaser_hd img {
    width: min(438px, 31.29vw);
}

.sub_procedure .teaser .teaser_txt {
    font-size: min(16px, 1.143vw);
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
}

@media (max-width: 767px) {
    .sub_procedure .teaser {
        margin: 0 0 -24.4vw;
    }

    .sub_procedure .teaser .teaser_box {
        bottom: auto;
        top: 30.66vw;
    }

    .sub_procedure .teaser .teaser_hd {
        margin: 0 0 min(22px, 5.87vw);
        font-size: 0;
    }

    .sub_procedure .teaser .teaser_hd img {
        width: min(262px, 70vw);
    }

    .sub_procedure .teaser .teaser_txt {
        font-size: min(14px, 3.74vw);
        line-height: 1.72;
        letter-spacing: 0.05em;
    }
}


.sub_procedure .com_category {
    background-image: url("../img/procedure/bg_cate_procedure.png");
}

.sub_procedure .com_category:before {
    background-image: url("../img/procedure/dot_cate_procedure.png");
}

.sub_procedure .com_category .category_list a {
    border-color: #edf3cf;
}

.sub_procedure .com_category .category_list a.current {
    background: #edf3cf;
    color: #40371a;
}

.sub_procedure .com_category .category_more a:before {
    background: #608320;
}

.sub_procedure .wp-pagenavi .previouspostslink,
.sub_procedure .wp-pagenavi .nextpostslink {
    background-color: #608320;
}

.sub_procedure .com_cate_list li .cate_item {
    background-image: url("../img/procedure/sheet_procedure.png");
}

.sub_procedure .com_cate_list li .cate_item:before {
    background-image: url("../img/procedure/dot_procedure.png");
}

.sub_procedure .com_cate_list li .cate_item .item_type .type_in {
    border-color: #edf3cf;
}

.sub_procedure .com_cate_list li .cate_item .item_pick {
    background: #608320;
}

@media (max-width: 767px) {
    .sub_procedure .com_category {
        background-image: url("../img/procedure/bg_cate_procedure_sp.png");
    }
}





/* sub_kidscare
----------------------------------------------- */
.sub_kidscare {
    background: #fdf1db;
}

.sub_kidscare .teaser {
    margin: 0 0 -7.57vw;
}

.sub_kidscare .teaser .teaser_img img {
    width: 100%;
}

.sub_kidscare .teaser .teaser_box {
    position: absolute;
    left: 0;
    bottom: 15.71vw;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 20px;
    z-index: 1;
}

.sub_kidscare .teaser .teaser_in {
    width: 1200px;
    max-width: 100%;
    display: flex;
    justify-content: flex-start;
}

.sub_kidscare .teaser .teaser_cont {
    display: flex;
    flex-direction: column;
}

.sub_kidscare .teaser .teaser_hd {
    margin: 0 0 min(15px, 1.07vw);
    font-size: 0;
}

.sub_kidscare .teaser .teaser_hd img {
    width: min(428px, 30.57vw);
}

.sub_kidscare .teaser .teaser_name {
    font-size: min(20px, 1.43vw);
    font-weight: 800;
    letter-spacing: -0.025em;
    margin: 0 0 min(20px, 1.43vw);
}

.sub_kidscare .teaser .teaser_txt {
    font-size: min(16px, 1.143vw);
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
}

@media (max-width: 767px) {
    .sub_kidscare .teaser {
        margin: 0 0 -10.4vw;
    }

    .sub_kidscare .teaser .teaser_box {
        bottom: 19.1vw;
    }

    .sub_kidscare .teaser .teaser_hd {
        margin: 0 0 min(10px, 2.67vw);
    }

    .sub_kidscare .teaser .teaser_hd img {
        width: min(254px, 67.74vw);
    }

    .sub_kidscare .teaser .teaser_name {
        font-size: min(16px, 4.27vw);
        margin: 0 0 min(26px, 6.67vw);
    }

    .sub_kidscare .teaser .teaser_txt {
        font-size: min(14px, 3.74vw);
        line-height: 1.72;
        letter-spacing: 0.05em;
    }
}


.sub_kidscare .com_category {
    background-image: url("../img/kidscare/bg_cate_kidscare.png");
}

.sub_kidscare .com_category:before {
    background-image: url("../img/kidscare/dot_cate_kidscare.png");
}

.sub_kidscare .com_category .category_list a {
    border-color: #fae0ca;
}

.sub_kidscare .com_category .category_list a.current {
    background: #fda052;
}

.sub_kidscare .com_category .category_more a:before {
    background: #fda052;
}

.sub_kidscare .wp-pagenavi .previouspostslink,
.sub_kidscare .wp-pagenavi .nextpostslink {
    background-color: #fda052;
}

.sub_kidscare .com_cate_list li .cate_item {
    background-image: url("../img/kidscare/sheet_kidscare.png");
}

.sub_kidscare .com_cate_list li .cate_item:before {
    background-image: url("../img/kidscare/dot_kidscare.png");
}

.sub_kidscare .com_cate_list li .cate_item .item_type .type_in {
    border-color: #fae0ca;
}

.sub_kidscare .com_cate_list li .cate_item .item_pick {
    background: #fda052;
}

@media (max-width: 767px) {
    .sub_kidscare .com_category {
        background-image: url("../img/kidscare/bg_cate_kidscare_sp.png");
    }
}




/* sub_helpspace
----------------------------------------------- */
.sub_helpspace {
    background: #9bd694;
}

.sub_helpspace .teaser {
    margin: 0 0 -10.86vw;
}

.sub_helpspace .teaser .teaser_img img {
    width: 100%;
}

.sub_helpspace .teaser .teaser_box {
    position: absolute;
    left: 0;
    bottom: 13.93vw;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 20px;
    z-index: 1;
}

.sub_helpspace .teaser .teaser_in {
    width: 1200px;
    max-width: 100%;
    display: flex;
    justify-content: flex-end;
}

.sub_helpspace .teaser .teaser_cont {
    width: 50%;
    display: flex;
    flex-direction: column;
}

.sub_helpspace .teaser .teaser_hd {
    margin: 0 0 min(25px, 1.79vw);
    font-size: 0;
}

.sub_helpspace .teaser .teaser_hd img {
    width: min(231px, 16.5vw);
}

.sub_helpspace .teaser .teaser_txt {
    font-size: min(16px, 1.143vw);
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
}

.sub_helpspace .teaser .teaser_txt a {
    text-decoration: underline;
}

.sub_helpspace .teaser .teaser_txt a:hover {
    opacity: 0.5;
}

@media (max-width: 767px) {
    .sub_helpspace .teaser {
        margin: 0 0 -8.4vw;
    }

    .sub_helpspace .teaser .teaser_box {
        bottom: 17.74vw;
    }

    .sub_helpspace .teaser .teaser_cont {
        width: 100%;
    }

    .sub_helpspace .teaser .teaser_hd {
        margin: 0 0 min(25px, 6.67vw);
    }

    .sub_helpspace .teaser .teaser_hd img {
        width: min(176px, 46.94vw);
    }

    .sub_helpspace .teaser .teaser_txt {
        font-size: min(14px, 3.74vw);
        line-height: 1.72;
        letter-spacing: 0.05em;
    }
}


.sub_helpspace .com_category {
    background-image: url("../img/help_space/bg_cate_helpspace.png");
}

.sub_helpspace .com_category:before {
    background-image: url("../img/help_space/dot_cate_helpspace.png");
}

.sub_helpspace .com_category .category_list a {
    border-color: #cdd3df;
}

.sub_helpspace .com_category .category_list a.current {
    background: #586e95;
}

.sub_helpspace .com_category .category_more a:before {
    background: #586e95;
}

.sub_helpspace .wp-pagenavi .previouspostslink,
.sub_helpspace .wp-pagenavi .nextpostslink {
    background-color: #586e95;
}

.sub_helpspace .com_cate_list li .cate_item {
    background-image: url("../img/help_space/sheet_helpspace.png");
}

.sub_helpspace .com_cate_list li .cate_item:before {
    background-image: url("../img/help_space/dot_helpspace.png");
}

.sub_helpspace .com_cate_list li .cate_item .item_type .type_in {
    border-color: #cdd3df;
}

.sub_helpspace .com_cate_list li .cate_item .item_pick {
    background: #586e95;
}

@media (max-width: 767px) {
    .sub_helpspace .com_category {
        background-image: url("../img/help_space/bg_cate_helpspace_sp.png");
    }
}



/* sub_recommend
----------------------------------------------- */
.sub_recommend {
    background: #fdfaf1;
}

.sub_recommend .teaser {
    margin: 0 0 -7.14vw;
}

.sub_recommend .teaser .teaser_img img {
    width: 100%;
}

.sub_recommend .teaser .teaser_box {
    position: absolute;
    left: 0;
    bottom: 12.5vw;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 20px;
    z-index: 1;
}

.sub_recommend .teaser .teaser_in {
    width: 1200px;
    max-width: 100%;
    display: flex;
    justify-content: center;
}

.sub_recommend .teaser .teaser_cont {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sub_recommend .teaser .teaser_hd {
    margin: 0 0 min(15px, 1.07vw);
    font-size: 0;
}

.sub_recommend .teaser .teaser_hd img {
    width: min(518px, 37vw);
}

.sub_recommend .teaser .teaser_name {
    font-size: min(20px, 1.43vw);
    font-weight: 800;
    letter-spacing: -0.025em;
    margin: 0 0 min(20px, 1.43vw);
}

.sub_recommend .teaser .teaser_txt {
    text-align: center;
    font-size: min(16px, 1.143vw);
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
}

@media (max-width: 767px) {
    .sub_recommend .teaser {
        margin: 0 0 -18.4vw;
    }

    .sub_recommend .teaser .teaser_box {
        bottom: auto;
        top: 55.1vw;
    }

    .sub_recommend .teaser .teaser_hd {
        margin: 0 0 min(17px, 4.54vw);
    }

    .sub_recommend .teaser .teaser_hd img {
        width: min(302px, 80.54vw);
    }

    .sub_recommend .teaser .teaser_name {
        font-size: min(15px, 4vw);
        margin: 0 0 min(15px, 4vw);
    }

    .sub_recommend .teaser .teaser_txt {
        font-size: min(14px, 3.74vw);
        line-height: 1.72;
        letter-spacing: 0.05em;
    }
}


.sub_recommend .com_category {
    background-image: url("../img/recommend/bg_cate_recommend.png");
}

.sub_recommend .com_category:before {
    background-image: url("../img/recommend/dot_cate_recommend.png");
}

.sub_recommend .com_category .category_list a {
    border-color: #fff2bb;
}

.sub_recommend .com_category .category_list a.current {
    background: #ffe578;
    color: #40371a;
}

.sub_recommend .com_category .category_more a:before {
    background: #ffe578;
}

.sub_recommend .com_category .category_more a:after {
    background-image: url("../img/common/arrow_category_bk.png");
}

.sub_recommend .wp-pagenavi .previouspostslink,
.sub_recommend .wp-pagenavi .nextpostslink {
    background-color: #ffe578;
}

.sub_recommend .com_cate_list li .cate_item {
    background-image: url("../img/recommend/sheet_recommend.png");
}

.sub_recommend .com_cate_list li .cate_item:before {
    background-image: url("../img/recommend/dot_recommend.png");
}

.sub_recommend .com_cate_list li .cate_item .item_type .type_in {
    border-color: #efe0c5;
}

.sub_recommend .com_cate_list li .cate_item .item_pick {
    background: #ffe578;
    color: #40371a;
}

.sub_recommend .wp-pagenavi .previouspostslink {
    background-image: url("../img/common/prev_wp_bk.png");
}

.sub_recommend .wp-pagenavi .nextpostslink {
    background-image: url("../img/common/next_wp_bk.png");
}

@media (max-width: 767px) {
    .sub_recommend .com_category {
        background-image: url("../img/recommend/bg_cate_recommend_sp.png");
    }

    .sub_recommend .com_category .category_more a:after {
        background-image: url("../img/common/arrow_category_bk_sp.png");
    }
}




/* sub_support
----------------------------------------------- */
.sub_support {
    background: #fdfaf1;
}

.sub_support .teaser {
    margin: 0 0 -6.71vw;
}

.sub_support .teaser .teaser_img img {
    width: 100%;
}

.sub_support .teaser .teaser_box {
    position: absolute;
    left: 0;
    bottom: 9.28vw;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 20px;
    z-index: 1;
}

.sub_support .teaser .teaser_in {
    width: 1200px;
    max-width: 100%;
    display: flex;
    justify-content: center;
}

.sub_support .teaser .teaser_cont {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sub_support .teaser .teaser_hd {
    margin: 0 0 min(25px, 1.78vw);
    font-size: 0;
}

.sub_support .teaser .teaser_hd img {
    width: min(500px, 35.72vw);
}

.sub_support .teaser .teaser_txt {
    text-align: center;
    font-size: min(16px, 1.143vw);
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
}

@media (max-width: 767px) {
    .sub_support .teaser {
        margin: 0;
    }

    .sub_support .teaser .teaser_box {
        bottom: 21.34vw;
    }

    .sub_support .teaser .teaser_hd {
        margin: 0 0 min(15px, 4vw);
    }

    .sub_support .teaser .teaser_hd img {
        width: min(335px, 90vw);
    }

    .sub_support .teaser .teaser_txt {
        font-size: min(14px, 3.74vw);
        line-height: 1.72;
        letter-spacing: 0.05em;
    }
}


.sub_support .com_category {
    background-image: url("../img/bereavement_support/bg_cate_support.png");
}

.sub_support .com_category:before {
    background-image: url("../img/bereavement_support/dot_cate_support.png");
}

.sub_support .com_category .category_list a {
    border-color: #b6e5eb;
}

.sub_support .com_category .category_list a.current {
    background: #5dc2cf;
}

.sub_support .com_category .category_more a:before {
    background: #5dc2cf;
}

.sub_support .wp-pagenavi .previouspostslink,
.sub_support .wp-pagenavi .nextpostslink {
    background-color: #5dc2cf;
}

.sub_support .com_cate_list li .cate_item {
    background-image: url("../img/bereavement_support/sheet_support.png");
}

.sub_support .com_cate_list li .cate_item:before {
    background-image: url("../img/bereavement_support/dot_support.png");
}

.sub_support .com_cate_list li .cate_item .item_type .type_in {
    border-color: #b6e5eb;
}

.sub_support .com_cate_list li .cate_item .item_pick {
    background: #5dc2cf;
}

@media (max-width: 767px) {
    .sub_support .com_category {
        background-image: url("../img/bereavement_support/bg_cate_support_sp.png");
    }
}





/* sub_chief
----------------------------------------------- */
.sub_chief {
    background: #fdfaf1;
}

.sub_chief .teaser {
    margin: 0 0 -4.28vw;
}

.sub_chief .teaser .teaser_img img {
    width: 100%;
}

.sub_chief .teaser .teaser_box {
    position: absolute;
    left: 0;
    top: 5vw;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 20px;
    z-index: 1;
}

.sub_chief .teaser .teaser_in {
    width: 1200px;
    max-width: 100%;
    display: flex;
    justify-content: center;
}

.sub_chief .teaser .teaser_cont {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sub_chief .teaser .teaser_hd {
    margin: 0 0 min(25px, 1.78vw);
    font-size: 0;
}

.sub_chief .teaser .teaser_hd img {
    width: min(545px, 38.93vw);
}

.sub_chief .teaser .teaser_txt {
    text-align: center;
    font-size: min(16px, 1.143vw);
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
}

@media (max-width: 767px) {
    .sub_chief .teaser {
        margin: 0;
    }

    .sub_chief .teaser .teaser_box {
        top: 37.06vw;
    }

    .sub_chief .teaser .teaser_hd {
        margin: 0 0 min(20px, 5.34vw);
    }

    .sub_chief .teaser .teaser_hd img {
        width: min(338px, 90.14vw);
    }

    .sub_chief .teaser .teaser_txt {
        font-size: min(14px, 3.74vw);
        line-height: 1.72;
        letter-spacing: 0.05em;
    }
}


.sub_chief .com_category {
    background-image: url("../img/village_chief/bg_cate_chief.png");
}

.sub_chief .com_category:before {
    background-image: url("../img/village_chief/dot_cate_chief.png");
}

.sub_chief .com_category .category_list a {
    border-color: #fdeadf;
}

.sub_chief .com_category .category_list a.current {
    background: #f17476;
}

.sub_chief .com_category .category_more a:before {
    background: #f17476;
}

.sub_chief .wp-pagenavi .previouspostslink,
.sub_chief .wp-pagenavi .nextpostslink {
    background-color: #f17476;
}

.sub_chief .com_cate_list li .cate_item {
    background-image: url("../img/village_chief/sheet_chief.png");
}

.sub_chief .com_cate_list li .cate_item:before {
    background-image: url("../img/village_chief/dot_chief.png");
}

.sub_chief .com_cate_list li .cate_item .item_type .type_in {
    border-color: #efe0c5;
}

.sub_chief .com_cate_list li .cate_item .item_pick {
    background: #f17476;
}

@media (max-width: 767px) {
    .sub_chief .com_category {
        background-image: url("../img/village_chief/bg_cate_chief_sp.png");
    }
}





/* sub_sports
----------------------------------------------- */
.sub_sports {
    background: #fdfaf1;
}

.sub_sports .teaser {
    margin: 0 0 -9.85vw;
}

.sub_sports .teaser .teaser_img img {
    width: 100%;
}

.sub_sports .teaser .teaser_box {
    position: absolute;
    left: 0;
    bottom: 13.43vw;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 20px;
    z-index: 1;
}

.sub_sports .teaser .teaser_in {
    width: 1200px;
    max-width: 100%;
    display: flex;
    justify-content: center;
}

.sub_sports .teaser .teaser_cont {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sub_sports .teaser .teaser_hd {
    margin: 0 0 min(25px, 1.78vw);
    font-size: 0;
}

.sub_sports .teaser .teaser_hd img {
    width: min(447px, 32vw);
}

.sub_sports .teaser .teaser_txt {
    font-size: min(16px, 1.143vw);
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
    text-align: center;
}

@media (max-width: 767px) {
    .sub_sports .teaser {
        margin: 0 0 -15.46vw;
    }

    .sub_sports .teaser .teaser_box {
        bottom: 34vw;
    }

    .sub_sports .teaser .teaser_hd {
        margin: 0 0 min(15px, 4vw);
    }

    .sub_sports .teaser .teaser_hd img {
        width: min(302px, 80.54vw);
    }

    .sub_sports .teaser .teaser_txt {
        font-size: min(14px, 3.74vw);
        line-height: 1.72;
        letter-spacing: 0.05em;
    }
}


.sub_sports .com_category {
    background-image: url("../img/sports/bg_cate_sports.png");
}

.sub_sports .com_category:before {
    background-image: url("../img/sports/dot_cate_sports.png");
}

.sub_sports .com_category .category_list a {
    border-color: #f7c8aa;
}

.sub_sports .com_category .category_list a.current {
    background: #e08b53;
}

.sub_sports .com_category .category_more a:before {
    background: #e08b53;
}

.sub_sports .wp-pagenavi .previouspostslink,
.sub_sports .wp-pagenavi .nextpostslink {
    background-color: #e08b53;
}

.sub_sports .com_cate_list li .cate_item {
    background-image: url("../img/sports/sheet_sports.png");
}

.sub_sports .com_cate_list li .cate_item:before {
    background-image: url("../img/sports/dot_sports.png");
}

.sub_sports .com_cate_list li .cate_item .item_type .type_in {
    border-color: #f7c8aa;
}

.sub_sports .com_cate_list li .cate_item .item_pick {
    background: #e08b53;
}

@media (max-width: 767px) {
    .sub_sports .com_category {
        background-image: url("../img/sports/bg_cate_sports_sp.png");
    }
}






/* sub_recipe
----------------------------------------------- */
.sub_recipe {
    background: #fdfaf1;
}

.sub_recipe .teaser {
    margin: 0 0 -6.64vw;
}

.sub_recipe .teaser .teaser_img img {
    width: 100%;
}

.sub_recipe .teaser .teaser_box {
    position: absolute;
    left: 0;
    bottom: 11.29vw;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 20px;
    z-index: 1;
}

.sub_recipe .teaser .teaser_in {
    width: 1200px;
    max-width: 100%;
    display: flex;
    justify-content: center;
}

.sub_recipe .teaser .teaser_cont {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sub_recipe .teaser .teaser_name {
    margin: 0 0 min(20px, 1.43vw);
}

.sub_recipe .teaser .teaser_name img {
    width: min(142px, 10.15vw);
}

.sub_recipe .teaser .teaser_hd {
    margin: 0 0 min(25px, 1.78vw);
    font-size: 0;
}

.sub_recipe .teaser .teaser_hd img {
    width: min(432px, 30.86vw);
}

.sub_recipe .teaser .teaser_txt {
    font-size: min(16px, 1.143vw);
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
    text-align: center;
}

@media (max-width: 767px) {
    .sub_recipe .teaser {
        margin: 0 0 -4vw;
    }

    .sub_recipe .teaser .teaser_box {
        bottom: auto;
        top: 42.13vw;
    }

    .sub_recipe .teaser .teaser_name {
        margin: 0 0 min(15px, 4vw);
    }

    .sub_recipe .teaser .teaser_name img {
        width: min(107px, 28.54vw);
    }

    .sub_recipe .teaser .teaser_hd {
        margin: 0 0 min(25px, 6.67vw);
    }

    .sub_recipe .teaser .teaser_hd img {
        width: min(284px, 75.74vw);
    }

    .sub_recipe .teaser .teaser_txt {
        font-size: min(14px, 3.74vw);
        line-height: 1.72;
        letter-spacing: 0.05em;
    }
}


.sub_recipe .com_category {
    background-image: url("../img/recipe/bg_cate_recipe.png");
}

.sub_recipe .com_category:before {
    background-image: url("../img/recipe/dot_cate_recipe.png");
}

.sub_recipe .com_category .category_list a {
    border-color: #cae189;
}

.sub_recipe .com_category .category_list a.current {
    background: #91c14e;
}

.sub_recipe .com_category .category_more a:before {
    background: #91c14e;
}

.sub_recipe .wp-pagenavi .previouspostslink,
.sub_recipe .wp-pagenavi .nextpostslink {
    background-color: #91c14e;
}

.sub_recipe .com_cate_list li .cate_item {
    background-image: url("../img/recipe/sheet_recipe.png");
}

.sub_recipe .com_cate_list li .cate_item:before {
    background-image: url("../img/recipe/dot_recipe.png");
}

.sub_recipe .com_cate_list li .cate_item .item_type .type_in {
    border-color: #cae189;
}

.sub_recipe .com_cate_list li .cate_item .item_pick {
    background: #91c14e;
}

@media (max-width: 767px) {
    .sub_recipe .com_category {
        background-image: url("../img/recipe/bg_cate_recipe_sp.png");
    }
}





/* sub_blog
----------------------------------------------- */
.sub_blog {
    background: #fbeccf;
}

.sub_blog .teaser {
    margin: 0;
}

.sub_blog .teaser .teaser_img img {
    width: 100%;
}

.sub_blog .teaser .teaser_box {
    position: absolute;
    left: 0;
    bottom: 2.85vw;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 20px;
    z-index: 1;
}

.sub_blog .teaser .teaser_in {
    width: 1200px;
    max-width: 100%;
    display: flex;
    justify-content: flex-start;
}

.sub_blog .teaser .teaser_cont {
    display: flex;
    flex-direction: column;
}

.sub_blog .teaser .teaser_hd {
    margin: 0 0 min(10px, 0.71vw);
    font-size: 0;
}

.sub_blog .teaser .teaser_hd img {
    width: min(208px, 14.86vw);
}

.sub_blog .teaser .teaser_name {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 0.025em;
    margin: 0 0 min(20px, 1.43vw);
}

.sub_blog .teaser .teaser_txt {
    font-size: min(16px, 1.143vw);
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
}

@media (max-width: 767px) {
    .sub_blog .teaser .teaser_box {
        position: static;
        margin: -20px 0 30px;
    }

    .sub_blog .teaser .teaser_hd {
        margin: 0 0 min(10px, 2.67vw);
    }

    .sub_blog .teaser .teaser_hd img {
        width: min(115px, 30.67vw);
    }

    .sub_blog .teaser .teaser_name {
        font-size: min(16px, 4.27vw);
        margin: 0 0 min(20px, 5.34vw);
    }

    .sub_blog .teaser .teaser_txt {
        font-size: min(14px, 3.74vw);
        line-height: 1.72;
        letter-spacing: 0.05em;
    }
}


.sub_blog .com_category {
    background-image: url("../img/blog/bg_cate_blog.png");
}

.sub_blog .com_category:before {
    background-image: url("../img/blog/dot_cate_blog.png");
}

.sub_blog .com_category .category_list a {
    border-color: #99d7c9;
}

.sub_blog .com_category .category_list a.current {
    background: #0c9f7d;
}

.sub_blog .com_category .category_more a:before {
    background: #0c9f7d;
}

.sub_blog .wp-pagenavi .previouspostslink,
.sub_blog .wp-pagenavi .nextpostslink {
    background-color: #0c9f7d;
}

.sub_blog .com_cate_mark li .cate_item .item_type .type_in {
    border-color: #99d7c9;
}

.sub_blog .com_cate_mark li .cate_item .item_pick {
    background: #fda052;
}

.sub_blog .com_cate_mark li .cate_item {
    background-image: url("../img/blog/sheet_blog.png");
}

.sub_blog .com_cate_mark li .cate_item:before {
    background-image: url("../img/blog/dot_blog.png");
}


@media (max-width: 767px) {
    .sub_blog .com_category {
        background-image: url("../img/blog/bg_cate_blog_sp.png");
    }
}






/* sub_news
----------------------------------------------- */
.sub_news {
    background: #fbebcf;
    overflow: visible;
}

.sub_news .teaser {}

.sub_news .teaser .teaser_box {
    position: absolute;
    left: 0;
    bottom: 5.71vw;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 20px;
    z-index: 1;
}

.sub_news .teaser .teaser_in {
    width: 1200px;
    max-width: 100%;
    display: flex;
    justify-content: flex-start;
}

.sub_news .teaser .teaser_cont {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.sub_news .teaser .teaser_name {
    font-size: 92px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.025em;
    font-family: "Aoboshi One", serif;
    margin: 0 0 10px;
}

.sub_news .teaser .teaser_txt {
    font-size: min(20px, 1.43vw);
    font-weight: 800;
    letter-spacing: -0.025em;
}

@media (max-width: 767px) {
    .sub_news .teaser .teaser_box {
        bottom: 10.67vw;
    }

    .sub_news .teaser .teaser_name {
        font-size: min(46px, 12.27vw);
        margin: 0 0 min(10px, 2.67vw);
    }

    .sub_news .teaser .teaser_txt {
        font-size: min(12px, 3.2vw);
    }
}

.sub_news .wp-pagenavi .previouspostslink,
.sub_news .wp-pagenavi .nextpostslink {
    background-color: #0c9f7d;
}

.sub_news .news_block {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 50px;
}

.sub_news .news_block .news_side {
    width: 250px;
    position: sticky;
    top: 150px;
    background-color: #fff;
    background-position: 0 bottom;
    background-repeat: no-repeat;
    background-image: url("../img/news/bg_side.png");
    padding: 45px 45px 125px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
}

.sub_news .news_block .news_side .side_tit {
    font-family: "Aoboshi One", serif;
    font-size: 25px;
    line-height: 1;
    letter-spacing: 0.025em;
    margin: 0 0 45px;
}

.sub_news .news_block .news_side .side_list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
}

.sub_news .news_block .news_side .side_list a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 30px;
    border: 1px #f5f5f5 solid;
    font-size: 14px;
    font-weight: 700;
    padding: 0 20px;
    letter-spacing: 0.05em;
    background: #fff;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
    border-radius: 30px;
}

.sub_news .news_block .news_side .side_list a.current {
    background: #0c9f7d;
    color: #fff;
    border: 1px #0c9f7d solid;
}

.sub_news .news_block .news_side .side_list a:hover {
    opacity: 0.5;
}

.sub_news .news_block .news_main {
    width: 900px;
    max-width: 75%;
    display: flex;
    flex-direction: column;
    gap: 30px 0;
}

.sub_news .news_block .news_main .main_item {
    display: block;
    background-repeat: no-repeat;
    background-position: right bottom;
    background-color: #fff;
    background-image: url("../img/news/bg_main.png");
    padding: 35px 120px 30px 50px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    position: relative;
}

.sub_news .news_block .news_main .main_item:hover {
    opacity: 0.5;
}

.sub_news .news_block .news_main .main_item:before {
    position: absolute;
    content: "";
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/common/arrow_list.png");
    background-size: 16px 16px;
    right: 40px;
    bottom: 30px;
    width: 16px;
    height: 16px;
    transition: all 0.3s !important;
    -moz-transition: all 0.3s !important;
    /* Firefox */
    -webkit-transition: all 0.3s !important;
    /* Chrome&Safari */
    z-index: 0;
}

.sub_news .news_block .news_main .main_item:hover:before {
    transform: translateX(5px);
}

.sub_news .news_block .news_main .main_date {
    font-size: 14px;
    font-family: "Aoboshi One", serif;
    margin: 0 0 15px;
}

.sub_news .news_block .news_main .main_tit {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.64;
    margin: 0 0 15px;
}

.sub_news .news_block .news_main .main_txt {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.57;
}

.sub_news .news_block .news_side .side_select {
    display: none;
}


@media (max-width: 1024px) {
    .sub_news .news_block .news_main .main_item {
        padding: 35px 70px 30px 50px;
    }

    .sub_news .news_block .news_side {
        top: 100px;
    }
}

@media (max-width: 767px) {
    .sub_news .news_block {
        flex-direction: column;
        gap: 30px;
    }

    .sub_news .news_block .news_side {
        width: 100%;
    }

    .sub_news .news_block .news_main {
        width: 100%;
        max-width: none;
    }

    .sub_news .news_block .news_main .main_item {
        background-size: 114px auto;
        padding: 30px 20px 35px;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        -ms-border-radius: 10px;
        -o-border-radius: 10px;
        border-radius: 10px;
    }

    .sub_news .news_block .news_main .main_item:hover {
        opacity: 1;
    }

    .sub_news .news_block .news_main .main_item:before {
        background-size: 13px 13px;
        right: 15px;
        bottom: 15px;
        width: 13px;
        height: 13px;
    }

    .sub_news .news_block .news_main .main_item:hover:before {
        transform: translateX(0);
    }

    .sub_news .news_block .news_main .main_date {
        font-size: 12px;
    }

    .sub_news .news_block .news_main .main_tit {
        font-size: 15px;
        line-height: 1.7;
    }

    .sub_news .news_block .news_main .main_txt {
        font-size: 13px;
        line-height: 1.7;
        word-break: break-all;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }

    .sub_news .news_block .news_side {
        position: static;
        background-size: 60px auto;
        padding: 20px;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        -ms-border-radius: 10px;
        -o-border-radius: 10px;
        border-radius: 10px;
    }

    .sub_news .news_block .news_side .side_tit {
        font-size: 18px;
        letter-spacing: 0.025em;
        margin: 0 0 15px;
    }

    .sub_news .news_block .news_side .side_list {
        display: none;
    }

    .sub_news .news_block .news_side .side_select {
        display: block;
    }

    .sub_news .news_block .news_side .side_select select {
        width: 100%;
        border: none;
        height: 40px;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.05em;
        outline: none;
        text-align: center;
        color: #fff;
        background: url("../img/news/arrow_down.png") right 25px center no-repeat #0c9f7d;
        background-size: 12px 8px;
        -webkit-border-radius: 40px;
        -moz-border-radius: 40px;
        -ms-border-radius: 40px;
        -o-border-radius: 40px;
        border-radius: 40px;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }
}



/* sub_login
----------------------------------------------- */
.sub_login {
    background-repeat: no-repeat;
    background-position: center 0;
    background-size: cover;
    background-image: url("../img/login/bg_login.jpg");
    margin: 0;
    padding: 0;
}

.sub_login .login_block {
    min-height: calc(100vh - 84px);
    padding: 100px 20px 20px;
    display: flex;
    align-items: center;
}

.sub_login .login_box {
    background: #fff;
    width: 1000px;
    max-width: 100%;
    margin: 0 auto;
    padding: 40px 0 50px;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    -ms-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    -o-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
}

.sub_login .login_hd {
    text-align: center;
    color: #333;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.025em;
    margin: 0 0 25px;
}

.sub_login .login_cont {
    display: flex;
    align-items: stretch;
}

.sub_login .login_cont .logo_type {
    font-size: 18px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: 0.05em;
    margin: 0 0 25px;
}

.sub_login .login_cont input[type=text],
.sub_login .login_cont input[type=email],
.sub_login .login_cont input[type=tel] {
    outline: none;
    width: 100%;
    height: 60px;
    font-size: 16px;
    border: 2px #d5d5d5 solid;
    background: #f8f8f8;
    padding: 0 20px;
    font-family: "M PLUS 1", sans-serif;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    -ms-border-radius: 6px;
    -o-border-radius: 6px;
    border-radius: 6px;
}

.sub_login .login_cont input::placeholder {
    font-family: "M PLUS 1", sans-serif;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #dcdbd8;
}

.sub_login .login_cont .logo_left {
    width: 61%;
    border-right: 1px #d5d5d5 solid;
    padding: 20px 60px 20px 50px;
}

.sub_login .login_cont .logo_mail {
    margin: 0 0 10px;
}

.sub_login .login_cont .send_code {
    width: 200px;
    max-width: 100%;
    margin: 0 0 20px;
}

.sub_login .login_cont .send_code input {
    width: 100%;
    height: 52px;
    background: #0c9f7d;
    border: none;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    color: #fafffa;
    letter-spacing: 0.05em;
    cursor: pointer;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
    border-radius: 30px;
    transition: all 0.3s !important;
    -moz-transition: all 0.3s !important;
    /* Firefox */
    -webkit-transition: all 0.3s !important;
    /* Chrome&Safari */
}

.sub_login .login_cont .send_code input:hover {
    opacity: 0.5;
}

.sub_login .login_cont .code_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.sub_login .login_cont .code_txt {
    width: 56%;
}

.sub_login .login_cont .code_btn {
    width: 40%;
}

.sub_login .login_cont .code_btn input {
    width: 100%;
    height: 60px;
    background: #bebebe;
    border: none;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    color: #fafffa;
    letter-spacing: 0.08em;
    cursor: pointer;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
    border-radius: 30px;
    transition: all 0.3s !important;
    -moz-transition: all 0.3s !important;
    /* Firefox */
    -webkit-transition: all 0.3s !important;
    /* Chrome&Safari */
}

.sub_login .login_cont .code_btn input:hover {
    opacity: 0.5;
}

.sub_login .login_cont .logo_right {
    width: 39%;
    padding: 20px 50px 20px 35px;
}

.sub_login .login_cont .logo_sns {
    padding: 5px 0 0;
    display: flex;
    gap: 10px;
}

.sub_login .login_cont .logo_sns a {
    display: block;
}

.sub_login .login_cont .logo_sns a:hover {
    opacity: 0.5;
}

.sub_login .login_cont .logo_sns img {
    width: 52px;
}

.sub_login .login_register {
    margin: 40px 0 0;
    display: flex;
    justify-content: center;
}

.sub_login .login_register a {
    display: block;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.05em;
    border-bottom: 2px #40371a solid;
}

.sub_login .login_register a:hover {
    opacity: 0.5;
}


@media (max-width: 1024px) {
    .sub_login .login_cont .logo_left {
        padding: 20px 30px;
    }

    .sub_login .login_cont .logo_right {
        width: 39%;
        padding: 20px 30px;
    }
}

@media (max-width: 767px) {
    .sub_login {
        background-size: 100% auto;
        background-image: url("../img/login/bg_login_sp.jpg");
        background-color: #faf8f2;
    }

    .sub_login .login_block {
        min-height: inherit;
        padding: 105px 20px 70px;
    }

    .sub_login .login_box {
        padding: 40px 25px 60px;
        -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
        -ms-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
        -o-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        -ms-border-radius: 5px;
        -o-border-radius: 5px;
        border-radius: 5px;
    }

    .sub_login .login_hd {
        font-size: 20px;
        letter-spacing: 0.025em;
        margin: 0 0 30px;
    }

    .sub_login .login_cont {
        flex-direction: column;
    }

    .sub_login .login_cont .logo_type {
        font-size: 14px;
        letter-spacing: 0.05em;
        margin: 0 0 10px;
    }

    .sub_login .login_cont input[type=text],
    .sub_login .login_cont input[type=email],
    .sub_login .login_cont input[type=tel] {
        height: 55px;
        border: 1px #d5d5d5 solid;
        font-size: 13px;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        -ms-border-radius: 3px;
        -o-border-radius: 3px;
        border-radius: 3px;
    }

    .sub_login .login_cont input::placeholder {
        font-size: 13px;
    }

    .sub_login .login_cont .logo_left {
        width: 100%;
        border-right: none;
        border-bottom: 1px #d5d5d5 solid;
        padding: 0 0 35px;
        margin: 0 0 40px;
    }

    .sub_login .login_cont .logo_mail {
        margin: 0 0 15px;
    }

    .sub_login .login_cont .send_code {
        width: 160px;
        margin: 0 auto 25px;
    }

    .sub_login .login_cont .send_code input {
        height: 45px;
        font-size: 13px;
    }

    .sub_login .login_cont .send_code input:hover {
        opacity: 1;
    }

    .sub_login .login_cont .code_box {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }

    .sub_login .login_cont .code_txt {
        width: 100%;
    }

    .sub_login .login_cont .code_btn {
        width: 160px;
    }

    .sub_login .login_cont .code_btn input {
        height: 45px;
        font-size: 13px;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px;
        -ms-border-radius: 30px;
        -o-border-radius: 30px;
        border-radius: 30px;
    }

    .sub_login .login_cont .code_btn input:hover {
        opacity: 1;
    }

    .sub_login .login_cont .logo_right {
        width: 100%;
        padding: 0;
    }

    .sub_login .login_cont .logo_sns {
        padding: 10px 0 0;
        gap: 10px;
    }

    .sub_login .login_cont .logo_sns a:hover {
        opacity: 1;
    }

    .sub_login .login_cont .logo_sns img {
        width: 50px;
    }

    .sub_login .login_register {
        margin: 35px 0 0;
    }

    .sub_login .login_register a {
        font-size: 14px;
    }

    .sub_login .login_register a:hover {
        opacity: 1;
    }
}



/* sub_mypage
----------------------------------------------- */
.sub_mypage {
    padding-top: 170px;
    background-image: url("../img/mypage/bg_bkm.jpg");
    background-position: center 0;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-color: #fbf8f3;
    position: relative;
}

.sub_mypage .wp-pagenavi .previouspostslink,
.sub_mypage .wp-pagenavi .nextpostslink {
    background-color: #0c9f7d;
}

.sub_mypage .mypage_det {
    text-align: center;
    color: #333;
    margin: 0 0 50px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.1em;
}

@media (max-width: 767px) {
    .sub_mypage {
        padding-top: 100px;
        background-image: url("../img/mypage/bg_bkm_sp.jpg");
    }

    .sub_mypage .mypage_det {
        margin: 0 0 35px;
        font-size: 13px;
        line-height: 1.84;
    }
}





/* mypage_home
----------------------------------------------- */
.mypage_home {}

.mypage_home .home_block {}

.mypage_home .home_box {
    display: flex;
    align-items: stretch;
}

.mypage_home .home_mess {
    width: 30%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 20px 0;
    gap: 20px 0;
}

.mypage_home .home_mess .mess_head {
    width: 160px;
}

.mypage_home .home_mess .mess_cont {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.mypage_home .home_mess .mess_name {
    font-size: 26px;
    font-weight: 700;
    margin: 0 0 15px;
}

.mypage_home .home_mess .mess_change {
    margin: 0 0 30px;
}

.mypage_home .home_mess .mess_change a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0c9f7d;
    width: 60px;
    height: 30px;
    font-size: 14px;
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.05em;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
}

.mypage_home .home_mess .mess_change a:hover {
    opacity: 0.5;
}

.mypage_home .home_mess .mess_down {
    display: flex;
    justify-content: center;
}

.mypage_home .home_mess .mess_down a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    height: 52px;
    background: #fff;
    border: 2px #0c9f7d solid;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
    border-radius: 30px;
}

.mypage_home .home_mess .mess_down a:hover {
    opacity: 0.5;
}

.mypage_home .home_mess .mess_down .down_txt {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.03em;
    padding: 0 0 0 25px;
    background-position: left center;
    background-repeat: no-repeat;
    background-image: url("../img/mypage/arrow_down.png");
    background-size: 14px 14px;
}

.mypage_home .home_cont {
    width: 70%;
}

.mypage_home .home_links {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.mypage_home .home_links li {
    width: calc((100% - 40px)/3);
    background: #fff;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
}

.mypage_home .home_links .links_item {
    display: block;
    height: 210px;
    padding: 0 10px 20px;
    border: 2px #dedede solid;
    background-color: #fff;
    background-position: right bottom;
    background-repeat: no-repeat;
    background-image: url("../img/mypage/bg_frame.png");
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
}

.mypage_home .home_links .links_item:hover {
    opacity: 0.5;
}

.mypage_home .home_links .links_ico {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 150px;
    padding: 5px 0 0;
}

.mypage_home .home_links .links_ico .ico_in {
    display: block;
    position: relative;
}

.mypage_home .home_links .links_ico .ico_in:before {
    position: absolute;
    content: "";
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/mypage/star.png");
    background-size: 18px 18px;
    background-color: #fff9f1;
    width: 40px;
    height: 40px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    display: none;
    z-index: 0;
}

.mypage_home .home_links .links_ico.ico_02 .ico_in:before {
    display: block;
    top: -10px;
    right: -20px;
}

.mypage_home .home_links .links_ico.ico_03 .ico_in:before {
    display: block;
    top: -5px;
    right: -5px;
}

.mypage_home .home_links .links_txt {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.22;
}

.mypage_home .home_revise {
    position: relative;
    margin: 100px 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 45px 0;
}

.mypage_home .home_revise .revise_box {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.mypage_home .home_revise .revise_txt {
    width: 450px;
}

.mypage_home .home_revise .revise_txt input {
    outline: none;
    width: 100%;
    height: 70px;
    font-size: 16px;
    border: 2px #d5d5d5 solid;
    background: #fff;
    padding: 0 20px;
    font-family: "M PLUS 1", sans-serif;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    -ms-border-radius: 6px;
    -o-border-radius: 6px;
    border-radius: 6px;
}

.mypage_home .home_revise .revise_txt input::placeholder {
    font-family: "M PLUS 1", sans-serif;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #e2e1df;
}

.mypage_home .home_revise .revise_send {
    width: 300px;
}

.mypage_home .home_revise .revise_send input {
    width: 100%;
    height: 70px;
    background: #0c9f7d;
    border: none;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    color: #fafffa;
    letter-spacing: 0.08em;
    cursor: pointer;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    -ms-border-radius: 40px;
    -o-border-radius: 40px;
    border-radius: 40px;
    transition: all 0.3s !important;
    -moz-transition: all 0.3s !important;
    /* Firefox */
    -webkit-transition: all 0.3s !important;
    /* Chrome&Safari */
}

.mypage_home .home_revise .revise_send input:hover {
    opacity: 0.5;
}

.mypage_home .home_logout {
    display: flex;
    justify-content: center;
}

.mypage_home .home_logout a {
    display: block;
    border-bottom: 2px #40371a solid;
    padding: 0 10px;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: center;
}

.mypage_home .home_logout a:hover {
    opacity: 0.5;
}

@media (max-width: 1024px) {
    .mypage_home .home_box {
        flex-direction: column;
        gap: 50px;
    }

    .mypage_home .home_mess {
        width: auto;
    }

    .mypage_home .home_cont {
        width: auto;
    }
}

@media (max-width: 767px) {
    .mypage_home .home_box {
        gap: 45px 0;
        align-items: center;
    }

    .mypage_home .home_mess {
        display: flex;
        flex-direction: row;
        padding: 0;
        gap: 25px;
    }

    .mypage_home .home_mess .mess_head {
        width: 110px;
        flex-shrink: 0;
    }

    .mypage_home .home_mess .mess_cont {
        align-items: flex-start;
    }

    .mypage_home .home_mess .mess_name {
        font-size: 20px;
        margin: 0 0 5px;
    }

    .mypage_home .home_mess .mess_change {
        margin: 0 0 15px;
    }

    .mypage_home .home_mess .mess_change a {
        width: 45px;
        height: 25px;
        font-size: 11px;
    }

    .mypage_home .home_mess .mess_change a:hover {
        opacity: 1;
    }

    .mypage_home .home_mess .mess_down {
        max-width: 100%;
    }

    .mypage_home .home_mess .mess_down a {
        width: 200px;
        max-width: 100%;
        padding: 0 10px;
        height: 35px;
        background: #fff;
        border: 1px #0c9f7d solid;
    }

    .mypage_home .home_mess .mess_down a:hover {
        opacity: 1;
    }

    .mypage_home .home_mess .mess_down .down_txt {
        font-size: 11px;
        letter-spacing: 0.03em;
        padding: 0 0 0 20px;
        background-size: 8px 8px;
    }

    .mypage_home .home_cont {
        width: 100%;
    }

    .mypage_home .home_links {
        gap: 15px 10px;
    }

    .mypage_home .home_links li {
        width: calc((100% - 20px)/3);
        background: none;
    }

    .mypage_home .home_links .links_item {
        height: 120px;
        padding: 0 10px 10px;
        border: 1px #dedede solid;
        background-image: url("../img/mypage/bg_frame.png");
        background-size: 80px auto;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        -ms-border-radius: 10px;
        -o-border-radius: 10px;
        border-radius: 10px;
    }

    .mypage_home .home_links .links_item:hover {
        opacity: 1;
    }

    .mypage_home .home_links .links_ico {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 75px;
        padding: 5px 0 0;
    }

    .mypage_home .home_links .links_ico .ico_in:before {
        background-size: 8px 8px;
        width: 18px;
        height: 18px;
    }

    .mypage_home .home_links .links_ico.ico_02 .ico_in:before {
        top: -3px;
        right: -7px;
    }

    .mypage_home .home_links .links_ico.ico_03 .ico_in:before {
        top: -3px;
        right: -2px;
    }

    .mypage_home .home_links .links_txt {
        font-size: min(12px, 3.2vw);
        line-height: 1.35;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 2.7em;
    }

    .mypage_home .home_links .links_ico.ico_01 img {
        width: 67px;
    }

    .mypage_home .home_links .links_ico.ico_02 img {
        width: 50px;
    }

    .mypage_home .home_links .links_ico.ico_03 img {
        width: 60px;
    }

    .mypage_home .home_links .links_ico.ico_04 img {
        width: 47px;
    }

    .mypage_home .home_links .links_ico.ico_05 img {
        width: 54px;
    }

    .mypage_home .home_revise {
        margin: 60px 0 0;
    }

    .mypage_home .home_revise .revise_box {
        flex-direction: column;
        width: 100%;
    }

    .mypage_home .home_revise .revise_txt {
        width: 100%;
    }

    .mypage_home .home_revise .revise_txt input {
        height: 55px;
        font-size: 13px;
        border: 1px #d5d5d5 solid;
        padding: 0 15px;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        -ms-border-radius: 3px;
        -o-border-radius: 3px;
        border-radius: 3px;
    }

    .mypage_home .home_revise .revise_txt input::placeholder {
        font-size: 13px;
    }

    .mypage_home .home_revise .revise_send {
        width: 220px;
    }

    .mypage_home .home_revise .revise_send input {
        height: 55px;
        font-size: 14px;
    }

    .mypage_home .home_revise .revise_send input:hover {
        opacity: 1;
    }

    .mypage_home .home_logout a {
        border-bottom: 1px #40371a solid;
        padding: 0;
        font-size: 16px;
    }

    .mypage_home .home_logout a:hover {
        opacity: 1;
    }
}





/* mypage_comment
----------------------------------------------- */
.comment_category .category_in {
    display: none;
}

.comment_category .category_in.is-show {
    display: block;
}

.comment_filter {
    margin: 0 0 40px;
    display: flex;
    justify-content: center;
    gap: 20px;
}

.comment_filter li {
    width: 230px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #edf4f2;
    border-color: #dde7e4;
    border-width: 4px;
    border-style: solid;
    color: #0c9f7d;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    letter-spacing: 0.02em;
    position: relative;
    transition: all 0.3s !important;
    -moz-transition: all 0.3s !important;
    /* Firefox */
    -webkit-transition: all 0.3s !important;
    /* Chrome&Safari */
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
    border-radius: 50px;
}

.comment_filter li:hover {
    opacity: 0.5;
}

.comment_filter li.is-active {
    background: #0c9f7d;
    border-color: #0c9f7d;
    color: #fff;
}

.comment_filter li.is-active:before {
    position: absolute;
    content: "";
    left: 0;
    width: 100%;
    height: 15px;
    bottom: -15px;
    background-size: 21px 15px;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/comment/triangle_gr.png");
    z-index: 0;
}

.post_comment {
    display: flex;
    flex-direction: column;
    gap: 30px 0;
}

.post_comment .comment_cont {
    background: #fff;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    position: relative;
}

.post_comment .poco_item {
    display: block;
    width: 100%;
    padding: 50px 100px 45px;
    background-color: #fff;
    background-position: right bottom;
    background-repeat: no-repeat;
    background-image: url("../img/comment/bg_item.png");
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    position: relative;
}

.post_comment .poco_item:hover {
    opacity: 0.5;
}

.post_comment .poco_item:before {
    position: absolute;
    content: "";
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/common/arrow_list.png");
    background-size: 16px 16px;
    right: 30px;
    bottom: 30px;
    width: 16px;
    height: 16px;
    z-index: 1;
}

.post_comment .poco_item .item_img {
    position: absolute;
    z-index: 0;
}

.post_comment .poco_item .item_img01 {
    bottom: 17px;
    right: 115px;
}

.post_comment .poco_item .item_img02 {
    bottom: 17px;
    right: 95px;
}

.post_comment .poco_item .item_img03 {
    bottom: 10px;
    right: 95px;
}

.post_comment .poco_item .item_inner {
    position: relative;
    z-index: 2;
}

.post_comment .poco_item .item_tit {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.54;
    letter-spacing: 0.05em;
    margin: 0 0 10px;
    word-break: break-all;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.post_comment .poco_item .item_txt {
    max-width: 72%;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.625;
    margin: 0 0 15px;
}

.post_comment .poco_item .item_type {
    display: flex;
    align-items: center;
    gap: 30px;
}

.post_comment .poco_item .item_dc {
    display: flex;
    align-items: center;
    gap: 20px;
}

.post_comment .poco_item .item_date {
    font-size: 12px;
    font-family: "Aoboshi One", serif;
    letter-spacing: 0.05em;
}

.post_comment .poco_item .item_talk {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    height: 20px;
    font-family: "Aoboshi One", serif;
    letter-spacing: 0.05em;
    padding: 0 0 0 30px;
    background-position: left center;
    background-repeat: no-repeat;
    background-image: url("../img/comment/ico_comment.png");
    background-size: 26px 19px;
}

.post_comment .poco_item .item_cate {
    display: flex;
    align-items: center;
    gap: 10px;
}

.post_comment .poco_item .item_cate .cate_in {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #fff;
    border: 1px #e1ebf0 solid;
    padding: 0 20px;
    height: 30px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.01em;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
}

@media (max-width: 1024px) {
    .post_comment .poco_item {
        padding: 50px 50px 45px;
    }
}

@media (max-width: 767px) {
    .comment_filter {
        margin: 0 0 25px;
        gap: 15px;
    }

    .comment_filter li {
        width: calc((100% - 15px)/2);
        height: 50px;
        border-width: 3px;
        font-size: 13px;
    }

    .comment_filter li:hover {
        opacity: 1;
    }

    .comment_filter li.is-active:before {
        height: 11px;
        bottom: -11px;
        background-size: 14px 11px;
    }

    .post_comment .comment_cont {
        background: none;
        -webkit-border-radius: 0;
        -moz-border-radius: 0;
        -ms-border-radius: 0;
        -o-border-radius: 0;
        border-radius: 0;
    }

    .post_comment .poco_item {
        padding: 25px 20px 30px;
        background-size: 275px auto;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        -ms-border-radius: 10px;
        -o-border-radius: 10px;
        border-radius: 10px;
    }

    .post_comment .poco_item:hover {
        opacity: 1;
    }

    .post_comment .poco_item:before {
        right: 16px;
        bottom: 16px;
    }

    .post_comment .poco_item .item_img01 {
        bottom: 15px;
        right: 33px;
        width: 135px;
    }

    .post_comment .poco_item .item_img02 {
        bottom: 27px;
        right: 30px;
        width: 150px;
    }

    .post_comment .poco_item .item_img03 {
        bottom: 22px;
        right: 26px;
        width: 130px;
    }

    .post_comment .poco_item .item_tit {
        font-size: 15px;
        line-height: 1.73;
        margin: 0 0 15px;
    }

    .post_comment .poco_item .item_txt {
        max-width: none;
        font-size: 13px;
        line-height: 1.7;
        word-break: break-all;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        margin: 0 0 20px;
    }

    .post_comment .poco_item .item_type {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .post_comment .poco_item .item_dc {
        gap: 17px;
    }

    .post_comment .poco_item .item_cate {
        flex-direction: column;
        align-items: flex-start;
    }

    .post_comment .poco_item .item_cate .cate_in {
        height: 28px;
        font-size: 11px;
    }
}





/* mypage_bkm
----------------------------------------------- */
.mypage_bkm .com_cate_mark li .cate_item .item_type .type_in {
    border-color: #e1ebf0;
}

.mypage_bkm .com_cate_mark li .cate_item .item_pick {
    background: #fda052;
}

.mypage_bkm .com_cate_mark li .cate_item {
    background-image: url("../img/bkm/sheet_bkm.png");
    background-size: 368px 174px;
}

.mypage_bkm .com_cate_mark li .cate_item:before {
    background-image: url("../img/bkm/dot_bkm.png");
}


@media (max-width: 767px) {
    .mypage_bkm .com_cate_mark li .cate_item {
        background-size: 300px 142px;
    }
}



/* mypage_bbsbkm
----------------------------------------------- */
.mypage_bbsbkm .mypage_det {
    margin: 0 0 5px;
}

.mypage_bbsbkm .bbsbkm_select {
    margin: 0 0 30px;
    display: flex;
    justify-content: flex-end;
}

.mypage_bbsbkm .bbsbkm_select select {
    background-color: #f8f8f8;
    background-position: right 18px center;
    background-repeat: no-repeat;
    background-image: url("../img/bbsbkm/arrow_select.png");
    background-size: 10px 7px;
    min-width: calc(11em + 50px);
    height: 60px;
    border: 2px #d7d7d7 solid;
    font-size: 18px;
    font-weight: 700;
    padding: 0 30px 0 20px;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
}

.mypage_bbsbkm .cate_bookmark {
    position: absolute;
    right: 0;
    top: 20px;
    padding: 0 20px;
    z-index: 3;
}

@media (max-width: 767px) {
    .mypage_bbsbkm .mypage_det {
        margin: 0 0 25px;
    }

    .mypage_bbsbkm .bbsbkm_select {
        margin: 0 0 20px;
    }

    .mypage_bbsbkm .bbsbkm_select select {
        background-position: right 15px center;
        background-image: url("../img/bbsbkm/arrow_select.png");
        background-size: 7px auto;
        min-width: calc(11em + 35px);
        height: 40px;
        border: 1px #d7d7d7 solid;
        font-size: 12px;
        padding: 0 20px 0 15px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        -ms-border-radius: 5px;
        -o-border-radius: 5px;
        border-radius: 5px;
    }

    .mypage_bbsbkm .cate_bookmark {
        top: 10px;
        padding: 0 10px;
    }

    .mypage_bbsbkm .post_comment .poco_item {
        padding-top: 45px;
    }
}



/* mypage_letter_ido
----------------------------------------------- */
.mypage_letter_ido {
    background-image: none;
    padding-top: 0;
    position: relative;
}

.letter_ido_block {}

.letter_ido_block .letter_ido_filter {
    position: absolute;
    left: 0;
    top: 160px;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 20px;
    gap: 20px;
    z-index: 2;
}

.letter_ido_block .letter_ido_filter li {
    width: 230px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #fff;
    border-color: #e5e5e5;
    border-width: 4px;
    border-style: solid;
    color: #40371a;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    letter-spacing: 0.02em;
    position: relative;
    transition: all 0.3s !important;
    -moz-transition: all 0.3s !important;
    /* Firefox */
    -webkit-transition: all 0.3s !important;
    /* Chrome&Safari */
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
    border-radius: 50px;
}

.letter_ido_block .letter_ido_filter li:hover {
    opacity: 0.5;
}

.letter_ido_block .letter_ido_filter li[data-filter="my_letter"].is-active {
    background: #f8df5e;
    border-color: #f8df5e;
    color: #40371a;
}

.letter_ido_block .letter_ido_filter li[data-filter="my_letter"].is-active:before {
    background-image: url("../img/letter_ido/triangle_yl.png");
}

.letter_ido_block .letter_ido_filter li[data-filter="my_ido"].is-active {
    background: #4aa3cd;
    border-color: #4aa3cd;
    color: #fff;
}

.letter_ido_block .letter_ido_filter li[data-filter="my_ido"].is-active:before {
    background-image: url("../img/letter_ido/triangle_bl.png");
}

.letter_ido_block .letter_ido_filter li.is-active:before {
    position: absolute;
    content: "";
    left: 0;
    width: 100%;
    height: 15px;
    bottom: -15px;
    background-size: 21px 15px;
    background-position: center center;
    background-repeat: no-repeat;
    z-index: 0;
}

.letter_ido_block .letter_ido_category .category_in {
    display: none;
    padding: 270px 20px 0;
}

.letter_ido_block .letter_ido_category .category_in:before {
    position: absolute;
    content: "";
    background-position: center 0;
    background-repeat: no-repeat;
    background-size: 100% auto;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.letter_ido_block .letter_ido_category .category_in.is-show {
    display: block;
}

.letter_ido_block .letter_ido_category .category_letter:before {
    background-image: url("../img/letter_ido/bg_letter.jpg");
    background-color: #b9deb7;
}

.letter_ido_block .letter_ido_category .category_ido:before {
    background-image: url("../img/letter_ido/bg_ido.jpg");
    background-color: #b1d0ae;
}

.letter_ido_block .leid_box {
    background-position: 0 0;
    background-repeat: repeat;
    padding: 90px 95px 60px;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    -ms-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    -o-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    position: relative;
    z-index: 1;
}

.letter_ido_block .leid_box .leid_box_in {
    position: relative;
    z-index: 1;
}

.letter_ido_block .leid_box .leid_box_txt {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.875;
}

.letter_ido_block .leid_box .leid_box_delete {
    margin: 45px 0 0;
    display: flex;
    justify-content: flex-start;
}

.letter_ido_block .leid_box .leid_box_delete a {
    display: block;
    padding: 0 0 0 25px;
    font-size: 12px;
    font-weight: 500;
    text-decoration: underline;
    position: relative;
}

.letter_ido_block .leid_box .leid_box_delete a:hover {
    opacity: 0.5;
}

.letter_ido_block .leid_box .leid_box_delete a:before {
    position: absolute;
    content: "";
    background-position: center center;
    background-repeat: no-repeat;
    left: 0;
    top: 50%;
    width: 17px;
    height: 22px;
    transform: translateY(-60%);
    z-index: 0;
}

.letter_ido_block .leid_box:before {
    position: absolute;
    content: "";
    left: 10px;
    top: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border-style: solid;
    border-width: 1px;
    z-index: 0;
}

.letter_ido_block .letter_inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 45px;
    padding: 0 0 0 120px;
    position: relative;
}

.letter_ido_block .letter_item {
    position: relative;
}

.letter_ido_block .letter_item .letter_date {
    font-size: 12px;
    font-weight: 700;
    margin: 0 0 15px;
    line-height: 1.2;
}

.letter_ido_block .letter_item .leid_box {
    background-image: url("../img/letter_ido/item_letter.jpg");
}

.letter_ido_block .letter_item .leid_box:before {
    border-color: #6ba7b2;
}

.letter_ido_block .letter_item .leid_box .leid_box_delete a:before {
    background-image: url("../img/letter_ido/delete_letter.png");
}

.letter_ido_block .letter_item .letter_close {
    position: absolute;
    left: -120px;
    top: 30px;
    z-index: 0;
}

.letter_ido_block .letter_item .letter_open {
    position: absolute;
    left: -128px;
    top: 30px;
    z-index: 0;
}

.letter_ido_block .letter_item .letter_open .open_txt {
    margin: 5px 0 0;
    display: block;
    padding: 0 0 0 90px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.letter_ido_block .ido_inner {
    max-width: 1080px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 45px;
}

.letter_ido_block .ido_item {
    position: relative;
}

.letter_ido_block .ido_item .ido_date {
    font-size: 12px;
    font-weight: 700;
    margin: 0 0 15px;
    line-height: 1.2;
}

.letter_ido_block .ido_item .leid_box {
    background-image: url("../img/letter_ido/item_ido.jpg");
}

.letter_ido_block .ido_item .leid_box:before {
    border-color: #536d81;
}

.letter_ido_block .ido_item .leid_box .leid_box_delete a:before {
    background-image: url("../img/letter_ido/delete_ido.png");
}


@media (max-width: 767px) {
    .letter_ido_block .letter_ido_filter {
        top: 105px;
        padding: 0 20px;
        gap: 15px;
    }

    .letter_ido_block .letter_ido_filter li {
        width: calc((100% - 15px)/2);
        height: 50px;
        border-width: 3px;
        font-size: 13px;
    }

    .letter_ido_block .letter_ido_filter li:hover {
        opacity: 1;
    }

    .letter_ido_block .letter_ido_filter li[data-filter="my_letter"].is-active:before {
        background-image: url("../img/letter_ido/triangle_yl.png");
    }

    .letter_ido_block .letter_ido_filter li[data-filter="my_ido"].is-active:before {
        background-image: url("../img/letter_ido/triangle_bl.png");
    }

    .letter_ido_block .letter_ido_filter li.is-active:before {
        height: 11px;
        bottom: -11px;
        background-size: 14px 11px;
    }

    .letter_ido_block .letter_ido_category .category_in {
        padding: 190px 10px 0;
    }

    .letter_ido_block .letter_ido_category .category_letter:before {
        background-image: url("../img/letter_ido/bg_letter_sp.jpg");
    }

    .letter_ido_block .letter_ido_category .category_ido:before {
        background-image: url("../img/letter_ido/bg_ido_sp.jpg");
    }

    .letter_ido_block .leid_box {
        padding: 30px 25px 40px;
    }

    .letter_ido_block .leid_box .leid_box_txt {
        font-size: 13px;
        line-height: 1.7;
    }

    .letter_ido_block .leid_box .leid_box_delete {
        margin: 35px 0 0;
        justify-content: flex-end;
    }

    .letter_ido_block .leid_box .leid_box_delete a {
        padding: 0 0 0 15px;
        font-size: 11px;
    }

    .letter_ido_block .leid_box .leid_box_delete a:hover {
        opacity: 1;
    }

    .letter_ido_block .leid_box .leid_box_delete a:before {
        width: 13px;
        height: 16px;
        background-size: 13px 16px;
        transform: translateY(-50%);
    }

    .letter_ido_block .leid_box:before {
        left: 5px;
        top: 5px;
        width: calc(100% - 10px);
        height: calc(100% - 10px);
    }


    .letter_ido_block .letter_inner {
        padding: 0 10px 0 50px;
    }

    .letter_ido_block .letter_item .letter_date {
        font-size: 11px;
        margin: 0 0 7px;
    }

    .letter_ido_block .letter_item .letter_close {
        left: -50px;
        top: 20px;
    }

    .letter_ido_block .letter_item .letter_close img {
        width: 75px;
    }

    .letter_ido_block .letter_item .letter_open {
        left: -60px;
        top: 20px;
    }

    .letter_ido_block .letter_item .letter_open img {
        width: 79px;
    }

    .letter_ido_block .letter_item .letter_open .open_txt {
        margin: 5px 0 0;
        padding: 0 0 0 30px;
        font-size: 11px;
    }

    .letter_ido_block .ido_inner {
        padding: 0 10px;
    }

    .letter_ido_block .ido_item .ido_date {
        font-size: 11px;
        margin: 0 0 7px;
    }
}



/* sub_bereaved
----------------------------------------------- */
.sub_bereaved {
    background: #f7eabe;
}

.sub_bereaved .bereaved_bg {
    background-position: 0 0;
    background-repeat: repeat;
    background-image: url("../img/bereaved/bg_bereaved.jpg");
    padding: 10vw 20px 7.15vw;
    position: relative;
    z-index: 1;
}

.sub_bereaved .bereaved_bg .cloud_01 {
    position: absolute;
    left: 0;
    top: 0;
    width: 62%;
    z-index: 0;
}

.sub_bereaved .bereaved_bg .cloud_01 img {
    width: 100%;
}

.sub_bereaved .bereaved_bg .bird_01 {
    position: absolute;
    left: 54.5%;
    top: 12.28vw;
    z-index: 0;
}

.sub_bereaved .bereaved_bg .bird_01 img {
    width: 171px;
}

.sub_bereaved .bereaved_navi {
    max-width: 1200px;
    margin: 0 auto 45px;
    padding: 0 0 0 60px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    position: relative;
}

.sub_bereaved .bereaved_hd {
    font-size: min(50px, 3.58vw);
    font-weight: 700;
    font-family: "Kaisei Opti", serif;
    letter-spacing: 0;
    line-height: 1;
}

.sub_bereaved .bereaved_down {
    margin: 10px 0 0;
    display: flex;
    flex-direction: column;
    gap: 18px 0;
}

.sub_bereaved .bereaved_down li a {
    display: flex;
    align-items: center;
    width: 290px;
    height: 60px;
    color: #fafffa;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.03em;
    padding: 0 20px 0 75px;
    background-position: 35px center;
    background-repeat: no-repeat;
    background-size: 15px 15px;
    background-image: url("../img/common/arrow_anchor.png");
    background-color: #0c9f7d;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    -ms-border-radius: 40px;
    -o-border-radius: 40px;
    border-radius: 40px;
}

.sub_bereaved .bereaved_down li a:hover {
    opacity: 0.5;
}

.sub_bereaved .bereaved_for {
    max-width: 940px;
    margin: 0 auto;
    padding: min(20px, 2.04vw) 0 min(25px, 2.55vw);
    position: relative;
}

.sub_bereaved .bereaved_for:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: min(20px, 2.04vw);
    background: url("../img/bereaved/bg_for_up.png") center bottom no-repeat;
    background-size: cover;
    z-index: 0;
}

.sub_bereaved .bereaved_for:after {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    width: 100%;
    height: min(25px, 2.55vw);
    background: url("../img/bereaved/bg_for_down.png") center bottom no-repeat;
    background-size: cover;
    z-index: 0;
}

.sub_bereaved .bereaved_for .for_inner {
    padding: 0 min(20px, 2.04vw);
    background-position: 0 0;
    background-repeat: repeat;
    background-size: 100% auto;
    background-image: url("../img/bereaved/bg_for_in.png");
    z-index: 1;
}

.sub_bereaved .bereaved_for .for_cont {
    border: 3px #e0e0d0 solid;
    height: 100%;
    padding: min(72px, 7.35vw) min(96px, 9.8vw) 10vw;
}

.sub_bereaved .bereaved_for .for_txt {
    border-top: 2px rgba(0, 0, 0, 0.1) solid;
}

.sub_bereaved .bereaved_for .for_txt li {
    border-bottom: 2px rgba(0, 0, 0, 0.1) solid;
    line-height: min(48px, 4.9vw);
    text-align: center;
    font-size: min(20px, 2.05vw);
    white-space: nowrap;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.sub_bereaved .bereaved_for .for_cloud {
    position: absolute;
    z-index: 1;
}

.sub_bereaved .bereaved_for .for_cloud img {
    width: 100%;
}

.sub_bereaved .bereaved_for .for_cloud02 {
    top: min(63px, 6.43vw);
    right: calc(100% + min(22px, 2.25vw));
    width: min(179px, 18.27vw);
}

.sub_bereaved .bereaved_for .for_cloud03 {
    top: max(-15px, -1.53vw);
    left: calc(100% - min(90px, 9.19vw));
    width: min(458px, 46.74vw);
}

.sub_bereaved .bereaved_for .for_cloud04 {
    top: min(503px, 51.33vw);
    left: calc(100% - min(132px, 13.47vw));
    width: min(446px, 45.52vw);
}

.sub_bereaved .bereaved_for .for_cloud05 {
    top: min(1082px, 110.5vw);
    right: calc(100% - min(132px, 13.47vw));
    width: min(336px, 34.29vw);
}

.sub_bereaved .bereaved_for .for_cloud06 {
    top: min(1200px, 122.45vw);
    right: calc(100% + min(76px, 7.76vw));
    width: min(143px, 14.6vw);
}

.sub_bereaved .bereaved_for .for_cloud07 {
    top: min(2557px, 261vw);
    left: calc(100% - min(180px, 18.37vw));
    width: min(716px, 73.1vw);
}

.sub_bereaved .bereaved_for .for_cloud08 {
    top: min(2797px, 285.5vw);
    right: calc(100% - min(232px, 23.7vw));
    width: min(458px, 46.74vw);
}

.sub_bereaved .bereaved_for .for_cloud09 {
    top: min(3206px, 327.15vw);
    right: calc(100% - min(228px, 23.27vw));
    width: min(716px, 73.1vw);
}

.sub_bereaved .for_cloud10 {
    position: absolute;
    left: 0;
    bottom: -17.57vw;
    width: 100%;
}

.sub_bereaved .for_cloud10 img {
    width: 100%;
}

.sub_bereaved .bereaved_for .for_bird {
    position: absolute;
    z-index: 1;
}

.sub_bereaved .bereaved_for .for_bird img {
    width: 100%;
}

.sub_bereaved .bereaved_for .for_bird02 {
    top: min(807px, 82.35vw);
    left: calc(100% + min(28px, 2.86vw));
    width: min(171px, 17.45vw);
}

.sub_bereaved .bereaved_for .for_bird03 {
    top: min(1990px, 203.1vw);
    right: calc(100% - min(120px, 12.25vw));
    width: min(296px, 30.3vw);
}

.sub_bereaved .bereaved_for .for_bird04 {
    top: min(3460px, 353.1vw);
    left: calc(100% - min(24px, 2.45vw));
    width: min(228px, 23.27vw);
}

.sub_bereaved .bereaved_for .for_feather {
    position: absolute;
    z-index: 1;
}

.sub_bereaved .bereaved_for .for_feather img {
    width: 100%;
}

.sub_bereaved .bereaved_for .for_feather01 {
    top: min(954px, 97.35vw);
    left: calc(100% - min(60px, 6.13vw));
    width: min(177px, 18.1vw);
}

.sub_bereaved .bereaved_for .for_feather02 {
    top: min(1840px, 187.8vw);
    right: calc(100% + min(20px, 2.05vw));
    width: min(121px, 12.35vw);
}

.sub_bereaved .bereaved_for .for_feather03 {
    top: min(2080px, 212.25vw);
    left: calc(100% + min(62px, 6.33vw));
    width: min(86px, 8.78vw);
}

.sub_bereaved .bereaved_for .for_feather04 {
    top: min(2426px, 248vw);
    left: calc(100% + min(30px, 3.1vw));
    width: min(121px, 12.35vw);
}

.sub_bereaved .bereaved_for .for_angel {
    position: absolute;
    z-index: 1;
}

.sub_bereaved .bereaved_for .for_angel img {
    width: 100%;
}

.sub_bereaved .bereaved_for .for_angel01 {
    top: min(1380px, 140.9vw);
    left: calc(100% + min(5px, 0.52vw));
    width: min(163px, 16.64vw);
}

.sub_bereaved .bereaved_for .for_angel02 {
    top: min(2330px, 237.8vw);
    left: min(60px, 6.13vw);
    width: min(197px, 20.2vw);
}

.sub_bereaved .bereaved_for .for_angel03 {
    top: min(3966px, 404.7vw);
    left: calc(100% - min(90px, 9.19vw));
    width: min(206px, 21.1vw);
}

.sub_bereaved .bereaved_for .for_angel04 {
    top: calc(100% + min(107px, 10.92vw));
    left: max(-20px, -2.05vw);
    width: min(166px, 17vw);
}

@media (max-width: 1300px) {
    .sub_bereaved .bereaved_for .for_angel01 {
        left: auto;
        right: -20px;
    }
}

@media (max-width: 1200px) {
    .sub_bereaved .bereaved_for .for_angel03 {
        left: auto;
        right: -20px;
    }
}

@media (max-width: 767px) {
    .sub_bereaved .bereaved_bg {
        padding: 28vw 20px 22.67vw;
    }

    .sub_bereaved .bereaved_bg .cloud_01 {
        width: 78.7%;
    }

    .sub_bereaved .bereaved_bg .bird_01 {
        left: auto;
        right: 20px;
        top: 20vw;
    }

    .sub_bereaved .bereaved_bg .bird_01 img {
        width: 22.8vw;
    }

    .sub_bereaved .bereaved_navi {
        margin: 0 auto 30px;
        padding: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 14.67vw 0;
    }

    .sub_bereaved .bereaved_hd {
        font-size: min(31px, 8.27vw);
    }

    .sub_bereaved .bereaved_down {
        margin: 0;
        flex-direction: row;
        gap: 15px;
        width: 100%;
    }

    .sub_bereaved .bereaved_down li {
        width: calc((100% - 15px)/2);
    }

    .sub_bereaved .bereaved_down li a {
        width: 100%;
        height: 35px;
        font-size: 11px;
        letter-spacing: 0.03em;
        padding: 0 10px 0 42px;
        background-position: 20px center;
        background-size: 10px 10px;
    }

    .sub_bereaved .bereaved_down li a:hover {
        opacity: 1;
    }

    .sub_bereaved .bereaved_for {
        max-width: 940px;
        margin: 0 auto;
        padding: 2.67vw 0;
    }

    .sub_bereaved .bereaved_for:before {
        height: 2.67vw;
    }

    .sub_bereaved .bereaved_for:after {
        height: 2.67vw;
    }

    .sub_bereaved .bereaved_for .for_inner {
        padding: 0 2.67vw;
    }

    .sub_bereaved .bereaved_for .for_cont {
        border: 2px #e0e0d0 solid;
        padding: 30px 20px 50px;
    }

    .sub_bereaved .bereaved_for .for_txt {
        border-top: 1px rgba(0, 0, 0, 0.1) solid;
    }

    .sub_bereaved .bereaved_for .for_txt li {
        border-bottom: 1px rgba(0, 0, 0, 0.1) solid;
        line-height: 30px;
        font-size: min(13px, 3.47vw);
    }

    .sub_bereaved .bereaved_for .for_cloud02 {
        top: auto;
        bottom: 100%;
        right: calc(100% - 15px);
        width: 90px;
    }

    .sub_bereaved .bereaved_for .for_cloud03 {
        top: -20px;
        left: calc(100% - 57px);
        width: 229px;
    }

    .sub_bereaved .bereaved_for .for_cloud04 {
        top: 322px;
        left: calc(100% -78px);
        width: 223px;
    }

    .sub_bereaved .bereaved_for .for_cloud05 {
        top: 660px;
        right: calc(100% - 54px);
        width: 168px;
    }

    .sub_bereaved .bereaved_for .for_cloud06 {
        top: 717px;
        right: calc(100% + 3px);
        width: 72px;
    }

    .sub_bereaved .bereaved_for .for_cloud07 {
        top: 1680px;
        left: calc(100% - 60px);
        width: 358px;
    }

    .sub_bereaved .bereaved_for .for_cloud08 {
        top: 1800px;
        right: calc(100% - 63px);
        width: 229px;
    }

    .sub_bereaved .bereaved_for .for_cloud09 {
        top: 2030px;
        right: calc(100% - 42px);
        width: 358px;
    }

    .sub_bereaved .for_cloud10 {
        bottom: -37.07vw;
    }

    .sub_bereaved .bereaved_for .for_bird02 {
        top: 490px;
        left: calc(100% - 20px);
        width: 85px;
    }

    .sub_bereaved .bereaved_for .for_bird03 {
        top: 1300px;
        right: calc(100% - 70px);
        width: 148px;
    }

    .sub_bereaved .bereaved_for .for_bird04 {
        top: 2164px;
        left: calc(100% - 55px);
        width: 114px;
    }

    .sub_bereaved .bereaved_for .for_feather01 {
        top: 578px;
        left: calc(100% - 44px);
        width: 89px;
    }

    .sub_bereaved .bereaved_for .for_feather02 {
        top: 1190px;
        right: calc(100% - 30px);
        width: 60px;
    }

    .sub_bereaved .bereaved_for .for_feather03 {
        top: 1438px;
        left: calc(100% + 2px);
        width: 43px;
    }

    .sub_bereaved .bereaved_for .for_feather04 {
        top: 1590px;
        left: calc(100% - 21px);
        width: 52px;
    }

    .sub_bereaved .bereaved_for .for_angel01 {
        top: 947px;
        left: calc(100% - 54px);
        right: auto;
        width: 82px;
    }

    .sub_bereaved .bereaved_for .for_angel02 {
        top: 1532px;
        right: calc(100% - 60px);
        left: auto;
        width: 84px;
    }

    .sub_bereaved .bereaved_for .for_angel03 {
        top: 2712px;
        left: auto;
        right: -15px;
        width: 103px;
    }

    .sub_bereaved .bereaved_for .for_angel04 {
        top: 2768px;
        left: -3px;
        width: 83px;
    }
}

.sub_bereaved .bereaved_recom {
    margin: 17.15vw auto 0;
    max-width: 1054px;
    padding: 0 20px;
    position: relative;
    z-index: 1;
}

.sub_bereaved .bereaved_recom .recom_tit {
    text-align: center;
    font-weight: 700;
    font-size: 34px;
    padding: 0 0 25px;
    margin: 0 0 50px;
    position: relative;
}

.sub_bereaved .bereaved_recom .recom_tit:before {
    position: absolute;
    content: "";
    background-position: center bottom;
    background-repeat: no-repeat;
    background-image: url("../img/bereaved/dot_recom.png");
    width: 100%;
    height: 8px;
    left: 0;
    bottom: 0;
    z-index: 0;
}

.sub_bereaved .bereaved_recom .recom_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 50px 60px;
}

.sub_bereaved .bereaved_recom .recom_box li {
    width: calc((100% - 60px)/2);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.sub_bereaved .bereaved_recom .recom_cap {
    font-family: "Kaisei Opti", serif;
    padding: 0 28px;
    font-size: 18px;
    display: flex;
    align-items: flex-end;
    text-align: center;
    font-weight: 700;
    position: relative;
}

.sub_bereaved .bereaved_recom .recom_cap:before,
.sub_bereaved .bereaved_recom .recom_cap:after {
    position: absolute;
    content: "";
    width: 1px;
    height: 30px;
    bottom: 0;
    background: #40371a;
    z-index: 0;
}

.sub_bereaved .bereaved_recom .recom_cap:before {
    transform: rotate(-30deg);
    left: 0;
}

.sub_bereaved .bereaved_recom .recom_cap:after {
    transform: rotate(30deg);
    right: 0;
}

.sub_bereaved .bereaved_recom .recom_btn {
    width: 100%;
}

.sub_bereaved .bereaved_recom .recom_btn a {
    display: flex;
    align-items: center;
    height: 100px;
    width: 100%;
    font-size: 20px;
    font-weight: 700;
    padding: 0 85px 0 130px;
    background-color: #fff;
    background-position: right bottom;
    background-repeat: no-repeat;
    background-image: url("../img/bereaved/bg_recom.png");
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
    border-radius: 50px;
    position: relative;
}

.sub_bereaved .bereaved_recom .recom_btn a:hover {
    opacity: 0.5;
}

.sub_bereaved .bereaved_recom .recom_btn a:before {
    position: absolute;
    content: "";
    width: 50px;
    height: 26px;
    background: #0c9f7d;
    right: 33px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    z-index: 0;
}

.sub_bereaved .bereaved_recom .recom_btn a:after {
    position: absolute;
    content: "";
    width: 50px;
    height: 26px;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/common/next_wp.png");
    background-size: 10px 10px;
    right: 33px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 0;
}

.sub_bereaved .bereaved_recom .recom_btn .btn_ico {
    position: absolute;
    z-index: 0;
    top: 50%;
    transform: translateY(-50%);
    display: block;
}

.sub_bereaved .bereaved_recom .recom_btn .btn_ico01 {
    left: 42px;
}

.sub_bereaved .bereaved_recom .recom_btn .btn_ico02 {
    left: 38px;
}

.sub_bereaved .bereaved_recom .recom_btn .btn_ico03 {
    left: 42px;
}

.sub_bereaved .bereaved_recom .recom_btn .btn_ico04 {
    left: 40px;
}

.sub_bereaved .bereaved_recom .recom_btn .btn_ico05 {
    left: 42px;
}

.sub_bereaved .bereaved_recom .recom_btn .btn_ico06 {
    left: 32px;
}


@media (max-width: 1024px) {
    .sub_bereaved .bereaved_recom .recom_cap {
        padding: 0 20px;
    }

    .sub_bereaved .bereaved_recom .recom_box {
        gap: 50px 20px;
    }

    .sub_bereaved .bereaved_recom .recom_box li {
        width: calc((100% - 20px)/2);
    }
}

@media (max-width: 767px) {
    .sub_bereaved .bereaved_recom {
        margin: 24vw auto 0;
    }

    .sub_bereaved .bereaved_recom .recom_tit {
        font-size: 20px;
        padding: 0 0 20px;
        margin: 0 0 35px;
    }

    .sub_bereaved .bereaved_recom .recom_tit:before {
        background-size: 91px 4px;
        height: 4px;
    }

    .sub_bereaved .bereaved_recom .recom_box {
        flex-direction: column;
        gap: 30px;
    }

    .sub_bereaved .bereaved_recom .recom_box li {
        width: 100%;
        gap: 8px;
    }

    .sub_bereaved .bereaved_recom .recom_cap {
        padding: 0 15px;
        font-size: 13px;
    }

    .sub_bereaved .bereaved_recom .recom_cap:before,
    .sub_bereaved .bereaved_recom .recom_cap:after {
        height: 22px;
    }

    .sub_bereaved .bereaved_recom .recom_btn a {
        height: 70px;
        font-size: min(14px, 3.74vw);
        padding: 0 58px 0 90px;
        background-size: 120px auto;
    }

    .sub_bereaved .bereaved_recom .recom_btn a:hover {
        opacity: 1;
    }

    .sub_bereaved .bereaved_recom .recom_btn a:before {
        width: 35px;
        height: 18px;
        right: 22px;
    }

    .sub_bereaved .bereaved_recom .recom_btn a:after {
        width: 35px;
        height: 18px;
        right: 22px;
        background-size: 8px 8px;
    }

    .sub_bereaved .bereaved_recom .recom_btn .btn_ico01 {
        left: 30px;
        width: 46px;
    }

    .sub_bereaved .bereaved_recom .recom_btn .btn_ico02 {
        left: 26px;
        width: 52px;
    }

    .sub_bereaved .bereaved_recom .recom_btn .btn_ico03 {
        left: 30px;
        width: 40px;
    }

    .sub_bereaved .bereaved_recom .recom_btn .btn_ico04 {
        left: 30px;
        width: 45px;
    }

    .sub_bereaved .bereaved_recom .recom_btn .btn_ico05 {
        left: 30px;
        width: 47px;
    }

    .sub_bereaved .bereaved_recom .recom_btn .btn_ico06 {
        left: 23px;
        width: 50px;
    }
}



/* sub_bercare
----------------------------------------------- */
.sub_bercare {
    background: #fdeadf;
    padding-top: 10vw;
    position: relative;
}

.sub_bercare .bercare_wave {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 0;
}

.sub_bercare .bercare_bg {
    padding: 0 20px;
    position: relative;
    z-index: 1;
}

.sub_bercare .bercare_navi {
    max-width: 1200px;
    margin: 0 auto 45px;
    padding: 0 0 0 60px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    position: relative;
}

.sub_bercare .bercare_hd {
    font-size: min(50px, 3.58vw);
    font-weight: 700;
    font-family: "Kaisei Opti", serif;
    letter-spacing: 0;
    line-height: 1;
}

.sub_bercare .bercare_down {
    margin: 10px 0 0;
    display: flex;
    flex-direction: column;
    gap: 18px 0;
}

.sub_bercare .bercare_down li a {
    display: flex;
    align-items: center;
    width: 290px;
    height: 60px;
    color: #fafffa;
    font-size: 18px;
    font-weight: 700;
    padding: 0 10px 0 65px;
    background-position: 30px center;
    background-repeat: no-repeat;
    background-size: 15px 15px;
    background-image: url("../img/common/arrow_anchor.png");
    background-color: #ffb0b1;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    -ms-border-radius: 40px;
    -o-border-radius: 40px;
    border-radius: 40px;
}

.sub_bercare .bercare_down li a:hover {
    opacity: 0.5;
}

.sub_bercare .bercare_for {
    max-width: 940px;
    margin: 0 auto;
    padding: min(15px, 1.53vw) 0 min(18px, 1.84vw);
    position: relative;
}

.sub_bercare .bercare_for:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: min(15px, 1.53vw);
    background: url("../img/bereaved_care/bg_for_up.png") center bottom no-repeat;
    background-size: cover;
    z-index: 0;
}

.sub_bercare .bercare_for:after {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    width: 100%;
    height: min(18px, 1.84vw);
    background: url("../img/bereaved_care/bg_for_down.png") center bottom no-repeat;
    background-size: cover;
    z-index: 0;
}

.sub_bercare .bercare_for .for_inner {
    padding: 0 min(20px, 2.04vw);
    background-position: 0 0;
    background-repeat: repeat;
    background-size: 100% auto;
    background-image: url("../img/bereaved_care/bg_for_in.png");
    position: relative;
    z-index: 1;
}

.sub_bercare .bercare_for .for_cont {
    border: 3px #e0e0d0 solid;
    height: 100%;
    padding: 80px min(96px, 9.8vw);
}

.sub_bercare .bercare_for .for_txt {
    border-top: 2px rgba(0, 0, 0, 0.1) solid;
}

.sub_bercare .bercare_for .for_txt li {
    border-bottom: 2px rgba(0, 0, 0, 0.1) solid;
    line-height: min(48px, 4.9vw);
    text-align: center;
    font-size: min(18px, 1.84vw);
    white-space: nowrap;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.sub_bercare .bercare_for .for_header_wh {
    position: absolute;
    z-index: 0;
}

.sub_bercare .bercare_for .for_header_rd {
    position: absolute;
    z-index: 1;
}

.sub_bercare .bercare_for .for_header_wh01 {
    top: min(122px, 12.45vw);
    left: calc(100% - min(74px, 7.55vw));
    width: min(339px, 34.6vw);
}

.sub_bercare .bercare_for .for_header_wh02 {
    top: min(508px, 51.84vw);
    right: calc(100% - min(46px, 4.7vw));
    width: min(258px, 26.33vw);
}

.sub_bercare .bercare_for .for_header_wh03 {
    top: min(1227px, 125.2vw);
    left: calc(100% - min(62px, 6.33vw));
    width: min(310px, 31.64vw);
}

.sub_bercare .bercare_for .for_header_rd01 {
    top: min(80px, 8.17vw);
    right: calc(100% - min(156px, 16vw));
    width: min(270px, 19.29vw);
}

.sub_bercare .bercare_for .for_header_rd02 {
    top: min(477px, 48.68vw);
    left: calc(100% - min(130px, 13.27vw));
    width: min(292px, 20.86vw);
}

.sub_bercare .bercare_for .for_header_rd03 {
    top: min(840px, 85.72vw);
    right: calc(100% - min(160px, 16.33vw));
    width: min(301px, 21.5vw);
}

.sub_bercare .bercare_for .for_header_rd04 {
    top: min(1430px, 145.92vw);
    left: calc(100% - min(103px, 10.52vw));
    width: min(236px, 16.86vw);
}

@media (max-width: 1200px) {
    .sub_bercare .bercare_for .for_header_rd01 {
        right: auto;
        left: -20px;
    }

    .sub_bercare .bercare_for .for_header_rd02 {
        left: auto;
        right: -20px;
    }

    .sub_bercare .bercare_for .for_header_rd03 {
        right: auto;
        left: -20px;
    }

    .sub_bercare .bercare_for .for_header_rd04 {
        left: auto;
        right: -20px;
    }
}

@media (max-width: 767px) {
    .sub_bercare {
        padding-top: 28vw;
    }

    .sub_bercare .bercare_bg {
        padding: 0 20px;
        position: relative;
        z-index: 1;
    }

    .sub_bercare .bercare_navi {
        margin: 0 auto 30px;
        padding: 0;
        flex-direction: column;
        gap: 15.34vw;
    }

    .sub_bercare .bercare_hd {
        font-size: min(31px, 8.27vw);
        letter-spacing: -0.04em;
    }

    .sub_bercare .bercare_down {
        margin: 0;
        flex-direction: row;
        gap: 15px;
        width: 100%;
    }

    .sub_bercare .bercare_down li {
        width: calc((100% - 15px)/2);
    }

    .sub_bercare .bercare_down li a {
        width: 100%;
        height: 35px;
        font-size: 11px;
        letter-spacing: 0;
        padding: 0 5px 0 30px;
        background-position: 14px center;
        background-size: 10px 10px;
    }

    .sub_bercare .bercare_down li a:hover {
        opacity: 1;
    }

    .sub_bercare .bercare_for {
        padding: 2.67vw 0;
    }

    .sub_bercare .bercare_for:before {
        height: 2.67vw;
    }

    .sub_bercare .bercare_for:after {
        height: 2.67vw;
    }

    .sub_bercare .bercare_for .for_inner {
        padding: 0 2.67vw;
    }

    .sub_bercare .bercare_for .for_cont {
        border: 2px #e0e0d0 solid;
        padding: 30px 20px 50px;
    }

    .sub_bercare .bercare_for .for_txt {
        border-top: 1px rgba(0, 0, 0, 0.1) solid;
    }

    .sub_bercare .bercare_for .for_txt li {
        border-bottom: 1px rgba(0, 0, 0, 0.1) solid;
        line-height: 30px;
        font-size: min(13px, 3.47vw);
    }

    .sub_bercare .bercare_for .for_header_wh01 {
        top: 105px;
        left: calc(100% - 127px);
        width: 170px;
    }

    .sub_bercare .bercare_for .for_header_wh02 {
        top: 357px;
        right: calc(100% - 53px);
        width: 129px;
    }

    .sub_bercare .bercare_for .for_header_wh03 {
        top: 825px;
        left: calc(100% - 100px);
        width: 155px;
    }

    .sub_bercare .bercare_for .for_header_rd01 {
        top: -10px;
        right: auto;
        left: -20px;
        width: 103px;
    }

    .sub_bercare .bercare_for .for_header_rd02 {
        top: 295px;
        right: auto;
        left: calc(100% - 73px);
        width: 108px;
    }

    .sub_bercare .bercare_for .for_header_rd03 {
        top: 514px;
        left: auto;
        right: calc(100% - 73px);
        width: 109px;
    }

    .sub_bercare .bercare_for .for_header_rd04 {
        top: 1055px;
        right: auto;
        left: calc(100% - 62px);
        width: 101px;
    }
}

.sub_bercare .bercare_recom {
    margin: 80px auto 0;
    max-width: 1000px;
    position: relative;
}

.sub_bercare .bercare_recom .recom_tit {
    text-align: center;
    font-weight: 700;
    font-size: 34px;
    padding: 0 0 25px;
    margin: 0 0 50px;
    position: relative;
}

.sub_bercare .bercare_recom .recom_tit:before {
    position: absolute;
    content: "";
    background-position: center bottom;
    background-repeat: no-repeat;
    background-image: url("../img/bereaved_care/dot_bercare.png");
    width: 100%;
    height: 8px;
    left: 0;
    bottom: 0;
    z-index: 0;
}

.sub_bercare .bercare_recom .recom_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px 40px;
}

.sub_bercare .bercare_recom .recom_box li {
    width: calc((100% - 40px) / 2);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.sub_bercare .bercare_recom .recom_box .recom_cap {
    font-family: "Kaisei Opti", serif;
    padding: 0 28px;
    font-size: 18px;
    display: flex;
    align-items: flex-end;
    text-align: center;
    font-weight: 700;
    position: relative;
}

.sub_bercare .bercare_recom .recom_box .recom_cap:before,
.sub_bercare .bercare_recom .recom_box .recom_cap:after {
    position: absolute;
    content: "";
    width: 1px;
    height: 30px;
    bottom: 0;
    background: #40371a;
    z-index: 0;
}

.sub_bercare .bercare_recom .recom_box .recom_cap:before {
    transform: rotate(-30deg);
    left: 0;
}

.sub_bercare .bercare_recom .recom_box .recom_cap:after {
    transform: rotate(30deg);
    right: 0;
}

.sub_bercare .bercare_recom .recom_box .recom_btn {
    width: 100%;
}

.sub_bercare .bercare_recom .recom_box .recom_btn a {
    display: flex;
    align-items: center;
    height: 100px;
    width: 100%;
    font-size: 20px;
    font-weight: 700;
    padding: 0 85px 0 130px;
    background-color: #fff;
    background-position: right bottom;
    background-repeat: no-repeat;
    background-image: url("../img/bereaved_care/bg_recom.png");
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
    border-radius: 50px;
    position: relative;
}

.sub_bercare .bercare_recom .recom_box .recom_btn.no_ico a {
    padding: 0 85px;
    justify-content: center;
}

.sub_bercare .bercare_recom .recom_box .recom_btn a:hover {
    opacity: 0.5;
}

.sub_bercare .bercare_recom .recom_box .recom_btn a:before {
    position: absolute;
    content: "";
    width: 50px;
    height: 26px;
    background: #0c9f7d;
    right: 33px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    z-index: 0;
}

.sub_bercare .bercare_recom .recom_box .recom_btn a:after {
    position: absolute;
    content: "";
    width: 50px;
    height: 26px;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url(../img/common/next_wp.png);
    background-size: 10px 10px;
    right: 33px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 0;
}

.sub_bercare .bercare_recom .recom_box .recom_btn .btn_ico {
    position: absolute;
    z-index: 0;
    top: 50%;
    transform: translateY(-50%);
    display: block;
}

.sub_bercare .bercare_recom .recom_box .recom_btn .btn_ico01 {
    left: 38px;
}

.sub_bercare .bercare_recom .recom_box .recom_btn .btn_ico02 {
    left: 42px;
}

.sub_bercare .bercare_recom .recom_box .recom_btn .btn_ico03 {
    left: 30px;
}

.sub_bercare .bercare_recom .recom_box .recom_btn .btn_ico04 {
    left: 30px;
}

.sub_bercare .bercare_recom .recom_box .recom_btn .btn_txt {
    display: block;
}

.sub_bercare .bercare_recom .recom_box .recom_btn .btn_note {
    display: block;
    font-size: 13px;
    letter-spacing: 0.05em;
}

.sub_bercare .bercare_recom .recom_cta {
    background: #fbd7c2;
    margin: 50px 0 0;
    padding: 40px 55px 50px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
}

.sub_bercare .bercare_recom .recom_cta .cta_tit {
    text-align: center;
    margin: 0 0 35px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.78;
    letter-spacing: 0.05em;
}

.sub_bercare .bercare_recom .recom_cta .recom_box {
    justify-content: center;
    gap: 30px;
}

.sub_bercare .bercare_recom .recom_cta .recom_box li {
    width: calc((100% - 30px)/2);
}


@media (max-width: 1024px) {
    .sub_bercare .bercare_recom .recom_box {
        gap: 20px;
    }

    .sub_bercare .bercare_recom .recom_box li {
        width: calc((100% - 20px)/2);
    }

    .sub_bercare .bercare_recom .recom_box .recom_btn a {
        font-size: 18px;
    }

    .sub_bercare .bercare_recom .recom_box .recom_cap {
        padding: 0 20px;
    }

    .sub_bercare .bercare_recom .recom_cta {
        padding: 40px 20px 50px;
    }
}

@media (max-width: 767px) {
    .sub_bercare .bercare_recom {
        margin: 50px auto 0;
    }

    .sub_bercare .bercare_recom .recom_tit {
        font-size: 20px;
        padding: 0 0 20px;
        margin: 0 0 35px;
    }

    .sub_bercare .bercare_recom .recom_tit:before {
        background-size: 91px 4px;
        height: 4px;
    }

    .sub_bercare .bercare_recom .recom_box {
        flex-direction: column;
        gap: 30px;
    }

    .sub_bercare .bercare_recom .recom_box li {
        width: 100%;
        gap: 8px;
    }

    .sub_bercare .bercare_recom .recom_box .recom_cap {
        padding: 0 15px;
        font-size: 13px;
    }

    .sub_bercare .bercare_recom .recom_box .recom_cap:before,
    .sub_bercare .bercare_recom .recom_box .recom_cap:after {
        height: 22px;
    }

    .sub_bercare .bercare_recom .recom_box .recom_btn a {
        height: 70px;
        font-size: min(14px, 3.74vw);
        padding: 0 60px 0 90px;
        background-size: 120px auto;
    }

    .sub_bercare .bercare_recom .recom_box .recom_btn.no_ico a {
        padding: 0 60px;
    }

    .sub_bercare .bercare_recom .recom_box .recom_btn a:hover {
        opacity: 1;
    }

    .sub_bercare .bercare_recom .recom_box .recom_btn a:before {
        width: 35px;
        height: 18px;
        right: 25px;
    }

    .sub_bercare .bercare_recom .recom_box .recom_btn a:after {
        width: 35px;
        height: 18px;
        right: 25px;
        background-size: 8px 8px;
    }

    .sub_bercare .bercare_recom .recom_box .recom_btn .btn_ico01 {
        left: 26px;
        width: 52px;
    }

    .sub_bercare .bercare_recom .recom_box .recom_btn .btn_ico02 {
        left: 30px;
        width: 45px;
    }

    .sub_bercare .bercare_recom .recom_box .recom_btn .btn_ico03 {
        left: 18px;
        width: 49px;
    }

    .sub_bercare .bercare_recom .recom_box .recom_btn .btn_ico04 {
        left: 20px;
        width: 44px;
    }

    .sub_bercare .bercare_recom .recom_box .recom_btn .btn_note {
        font-size: 10px;
        margin: 2px 0 0;
    }

    .sub_bercare .bercare_recom .recom_cta {
        padding: 30px 20px 35px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        -ms-border-radius: 5px;
        -o-border-radius: 5px;
        border-radius: 5px;
    }

    .sub_bercare .bercare_recom .recom_cta .cta_tit {
        margin: 0 0 25px;
        font-size: min(14px, 3.74vw);
        letter-spacing: 0;
        line-height: 1.64;
    }

    .sub_bercare .bercare_recom .recom_cta .recom_box {
        gap: 20px;
        padding: 0 10px;
    }

    .sub_bercare .bercare_recom .recom_cta .recom_box li {
        width: 100%;
    }

    .sub_bercare .bercare_recom .recom_cta .recom_btn a {
        padding: 0 60px;
        justify-content: center;
        text-align: center;
    }
}



/* sub_about
----------------------------------------------- */
.sub_about {
    background-color: #b9deb8;
}

.sub_about .about_bg {
    background-position: center 0;
    background-repeat: no-repeat;
    background-image: url("../img/about/mv_about.png");
    background-size: 100% auto;
    background-color: #76bb79;
    padding: 135px 20px 4.29vw;
    position: relative;
}

.sub_about .about_bg .bg_wave {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 0;
}

.sub_about .about_intro {
    max-width: 1280px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.sub_about .about_intro .intro_up {
    background: url("../img/about/bg_intro_up.png") center 0 no-repeat;
    background-size: cover;
    height: min(330px, 25vw);
    display: flex;
    align-items: flex-end;
    padding: 0 0 min(50px, 3.79vw);
    margin: 0 0 -1px;
}

.sub_about .about_intro .intro_hd {
    width: 100%;
    text-align: center;
    padding: 0 0 min(42px, 3.19vw);
    background: url("../img/about/dot_intro.png") center bottom no-repeat;
    background-size: 58.28125% auto;
}

.sub_about .about_intro .intro_hd img {
    width: min(320px, 24.25vw);
}

.sub_about .about_intro .intro_box {
    background: url("../img/about/bg_intro_in.jpg") 0 0 repeat;
    padding: 20px 20px 110px;
    display: flex;
    justify-content: center;
    position: relative;
    -webkit-border-radius: 0 0 20px 20px;
    -moz-border-radius: 0 0 20px 20px;
    -ms-border-radius: 0 0 20px 20px;
    -o-border-radius: 0 0 20px 20px;
    border-radius: 0 0 20px 20px;
}

.sub_about .about_intro .intro_cont {
    position: relative;
    z-index: 1;
}

.sub_about .about_intro .intro_txt {
    font-size: 18px;
    font-weight: 700;
    line-height: 2.1;
    letter-spacing: 0.05em;
    text-align: center;
}

.sub_about .about_intro .intro_butterfly {
    margin: 35px 0 55px;
    text-align: center;
}

.sub_about .about_intro .intro_figure {
    position: absolute;
    z-index: 0;
}

.sub_about .about_intro .intro_figure01 {
    left: min(120px, 9.09vw);
    top: 336px;
}

.sub_about .about_intro .intro_figure02 {
    right: min(160px, 12.12vw);
    top: 736px;
}

.sub_about .about_intro .intro_figure03 {
    left: min(137px, 10.38vw);
    top: 1486px;
}

@media (max-width: 1024px) {
    .sub_about .about_intro .intro_figure01 {
        left: 20px;
        top: 380px;
    }

    .sub_about .about_intro .intro_figure02 {
        right: 20px;
        top: 736px;
    }

    .sub_about .about_intro .intro_figure03 {
        left: 30px;
        top: 1486px;
    }
}

@media (max-width: 767px) {
    .sub_about .about_bg {
        background-image: url("../img/about/mv_about_sp.png");
        padding: 24vw 20px 16vw;
    }

    .sub_about .about_intro .intro_up {
        background: url("../img/about/bg_intro_up_sp.png") center 0 no-repeat;
        background-size: cover;
        height: 38.13vw;
        padding: 0 0 5.33vw;
    }

    .sub_about .about_intro .intro_hd {
        padding: 0 0 5.33vw;
        background: url("../img/about/dot_intro_sp.png") center bottom no-repeat;
        background-size: 49.33vw auto;
    }

    .sub_about .about_intro .intro_hd img {
        width: 37.73vw;
    }

    .sub_about .about_intro .intro_box {
        background: url("../img/about/bg_intro_in_sp.jpg") 0 0 repeat;
        background-size: 100% auto;
        padding: 15px 10px 60px;
        -webkit-border-radius: 0 0 10px 10px;
        -moz-border-radius: 0 0 10px 10px;
        -ms-border-radius: 0 0 10px 10px;
        -o-border-radius: 0 0 10px 10px;
        border-radius: 0 0 10px 10px;
    }

    .sub_about .about_intro .intro_txt {
        font-size: min(13px, 3.47vw);
        line-height: 1.85;
    }

    .sub_about .about_intro .intro_butterfly {
        margin: 30px 0 35px;
    }

    .sub_about .about_intro .intro_butterfly img {
        width: 50px;
    }

    .sub_about .about_intro .intro_figure01 {
        left: 15px;
        top: -35px;
        width: 66px;
    }

    .sub_about .about_intro .intro_figure02 {
        right: 13px;
        top: 658px;
        width: 52px;
    }

    .sub_about .about_intro .intro_figure03 {
        left: 20px;
        top: 1100px;
        width: 44px;
    }
}

.sub_about .about_rules {
    margin: 85px 0 0;
    padding: 0 60px;
    position: relative;
}

.sub_about .about_rules .tree_left {
    position: absolute;
    left: 0;
    bottom: 160px;
    z-index: 1;
}

.sub_about .about_rules .tree_right {
    position: absolute;
    right: 0;
    top: -130px;
    z-index: 1;
}

.sub_about .about_rules .rules_inner {
    max-width: 940px;
    margin: 0 auto;
    background: #fdf1db;
    padding: 130px 20px 100px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    position: relative;
}

.sub_about .about_rules .rules_hd {
    position: absolute;
    font-size: 44px;
    font-weight: 700;
    left: 50%;
    top: -45px;
    transform: translateX(-50%);
    letter-spacing: -0.1em;
    background: url("../img/about/bg_hd_rules.png") center center no-repeat;
    background-size: cover;
    width: 505px;
    height: 106px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
    z-index: 1;
}

.sub_about .about_rules .rules_cap {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 10px;
}

.sub_about .about_rules .rules_tit {
    font-size: 30px;
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 0 0 40px;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-image: url("../img/about/line_rules.png");
    margin: 0 0 70px;
}

.sub_about .about_rules .rules_txt {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 2.1;
    letter-spacing: 0.05em;
}

.sub_about .about_rules .rules_do {
    max-width: 720px;
    margin: 80px auto 0;
    background: #eee1c9;
    padding: 8px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
}

.sub_about .about_rules .rules_do .do_inner {
    border: 5px #cab299 dotted;
    padding: 35px 20px 40px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
}

.sub_about .about_rules .rules_do .do_tit {
    padding: 0 0 22px;
    font-size: 24px;
    letter-spacing: -0.1em;
    font-weight: 700;
    text-align: center;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-image: url("../img/about/line_do.png");
    margin: 0 0 30px;
}

.sub_about .about_rules .rules_do .do_list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin: 0 0 40px;
}

.sub_about .about_rules .rules_do .do_list li {
    background: #fff;
    padding: 7px 20px;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    color: #ba9130;
}

.sub_about .about_rules .rules_do .do_txt {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 2.1;
}

@media (max-width: 1024px) {
    .sub_about .about_rules .tree_left {
        left: -50px;
        width: 200px;
    }

    .sub_about .about_rules .tree_right {
        right: -50px;
        width: 200px;
    }
}

@media (max-width: 767px) {
    .sub_about .about_rules {
        margin: 70px 0 0;
        padding: 0 20px;
        ;
    }

    .sub_about .about_rules .tree_left {
        left: 0;
        bottom: auto;
        top: -10px;
        width: 77px;
    }

    .sub_about .about_rules .tree_right {
        right: 0;
        top: 20px;
        width: 67px;
    }

    .sub_about .about_rules .rules_inner {
        padding: 65px 12px 20px;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        -ms-border-radius: 10px;
        -o-border-radius: 10px;
        border-radius: 10px;
    }

    .sub_about .about_rules .rules_hd {
        font-size: 26px;
        top: -25px;
        width: 250px;
        height: 52px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        -ms-border-radius: 5px;
        -o-border-radius: 5px;
        border-radius: 5px;
    }

    .sub_about .about_rules .rules_cap {
        font-size: min(13px, 3.47vw);
        margin: 0;
    }

    .sub_about .about_rules .rules_tit {
        font-size: 20px;
        padding: 0 0 40px;
        margin: 0 0 35px;
        background-size: 110px auto;
    }

    .sub_about .about_rules .rules_txt {
        font-size: min(13px, 3.47vw);
        line-height: 1.85;
        letter-spacing: 0;
    }

    .sub_about .about_rules .rules_do {
        max-width: 720px;
        margin: 45px auto 0;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        -ms-border-radius: 10px;
        -o-border-radius: 10px;
        border-radius: 10px;
    }

    .sub_about .about_rules .rules_do .do_inner {
        border: 3px #cab299 dotted;
        padding: 35px 5px 40px;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        -ms-border-radius: 10px;
        -o-border-radius: 10px;
        border-radius: 10px;
    }

    .sub_about .about_rules .rules_do .do_tit {
        padding: 0 0 20px;
        font-size: min(18px, 4.8vw);
        background-size: 160px auto;
    }

    .sub_about .about_rules .rules_do .do_list {
        gap: 8px;
        margin: 0 0 25px;
    }

    .sub_about .about_rules .rules_do .do_list li {
        padding: 10px 13px;
        font-size: min(13px, 3.47vw);
    }

    .sub_about .about_rules .rules_do .do_txt {
        font-size: min(13px, 3.47vw);
        line-height: 1.85;
        letter-spacing: 0;
    }
}

.sub_about .about_line {
    max-width: 980px;
    margin: 130px auto 0;
    padding: 0 20px;
}

.sub_about .about_line .line_box {
    background: #fff;
    padding: 70px 40px 50px;
    -webkit-border-radius: 250px;
    -moz-border-radius: 250px;
    -ms-border-radius: 250px;
    -o-border-radius: 250px;
    border-radius: 250px;
}

.sub_about .about_line .line_flex {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 50px;
}

.sub_about .about_line .line_cont {}

.sub_about .about_line .line_tit {
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 20px;
}

.sub_about .about_line .line_txt {
    font-size: 15px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.03em;
}

.sub_about .about_line .line_img {
    margin: 15px 0 0;
    position: relative;
}

.sub_about .about_line .line_img .img_ico {
    position: absolute;
    left: 0;
    bottom: calc(100% - 5px);
}

.sub_about .about_line .line_btn {
    margin: 25px 0 0;
    display: flex;
    justify-content: center;
}

.sub_about .about_line .line_btn a {
    width: 290px;
    height: 62px;
    font-size: 20px;
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.03em;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #06c755;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    -ms-border-radius: 40px;
    -o-border-radius: 40px;
    border-radius: 40px;
}

.sub_about .about_line .line_btn a:hover {
    opacity: 0.5;
}

@media (max-width: 767px) {
    .sub_about .about_line {
        margin: 40px auto 0;
        padding: 0 20px;
    }

    .sub_about .about_line .line_box {
        padding: 40px 20px 45px;
        -webkit-border-radius: 130px;
        -moz-border-radius: 130px;
        -ms-border-radius: 130px;
        -o-border-radius: 130px;
        border-radius: 130px;
    }

    .sub_about .about_line .line_flex {
        flex-direction: column;
        align-items: center;
        gap: 85px;
    }

    .sub_about .about_line .line_cont {}

    .sub_about .about_line .line_tit {
        font-size: 21px;
        margin: 0 0 20px;
    }

    .sub_about .about_line .line_txt {
        text-align: center;
        font-size: 12px;
        line-height: 1.75;
    }

    .sub_about .about_line .line_img {
        margin: 0;
    }

    .sub_about .about_line .line_img>img {
        width: 113px;
    }

    .sub_about .about_line .line_img .img_ico {
        position: absolute;
        left: 10px;
        bottom: calc(100% + 5px);
    }

    .sub_about .about_line .line_img .img_ico img {
        width: 87px;
    }

    .sub_about .about_line .line_btn {
        margin: 20px 0 0;
    }

    .sub_about .about_line .line_btn a {
        width: 175px;
        height: 45px;
        font-size: 14px;
    }

    .sub_about .about_line .line_btn a:hover {
        opacity: 1;
    }
}

.sub_about .about_other {
    margin: 100px 0 0;
    padding: 90px 20px 200px;
    background-position: left top;
    background-repeat: repeat;
    background-image: url("../img/about/mid_other.jpg");
    background-size: 100% auto;
    position: relative;
}

.sub_about .about_other .other_up,
.sub_about .about_other .other_btm {
    position: absolute;
    left: 0;
    width: 100%;
    z-index: 0;
}

.sub_about .about_other .other_up img,
.sub_about .about_other .other_btm img {
    width: 100%;
}

.sub_about .about_other .other_up {
    top: 0;
}

.sub_about .about_other .other_btm {
    bottom: 0;
}

.sub_about .about_other .other_inner {
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 110px 0;
    z-index: 1;
}

.sub_about .about_other .other_item {}

.sub_about .about_other .other_tit {
    text-align: center;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.03em;
    padding: 0 0 25px;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-image: url("../img/about/line_other.png");
    position: relative;
}

.sub_about .about_other .other_name {
    max-width: 760px;
    margin: 45px auto 0;
    display: flex;
    align-items: stretch;
}

.sub_about .about_other .other_name .name_cont {
    width: 33.3333%;
}

.sub_about .about_other .other_name .name_list {
    display: flex;
    flex-direction: column;
}

.sub_about .about_other .other_name .name_list li {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.71;
    letter-spacing: 0.05em;
}

.sub_about .about_other .other_name .name_lar li {
    font-size: 16px;
    font-weight: 700;
    line-height: 2.25;
    letter-spacing: 0.05em;
}

.sub_about .about_other .other_name .name_note {
    font-size: 14px;
    font-weight: 700;
    margin: 35px 0 0;
}

.sub_about .about_other .other_sup {
    margin: 45px auto 0;
    max-width: 669px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 133px;
    font-size: 22px;
    font-weight: 700;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/about/bg_sup.png");
}

.sub_about .about_other .other_profile {
    max-width: 1000px;
    margin: 50px auto 0;
    padding: 0 0 0 35px;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 20px;
}

.sub_about .about_other .other_profile .profile_mess {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 33px 0;
    flex-shrink: 0;
}

.sub_about .about_other .other_profile .profile_img {
    text-align: center;
}

.sub_about .about_other .other_profile .profile_btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px 0;
}

.sub_about .about_other .other_profile .profile_btn a {
    width: 300px;
    min-height: 60px;
    padding: 0 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
    border-radius: 30px;
}

.sub_about .about_other .other_profile .profile_btn a:hover {
    opacity: 0.5;
}

.sub_about .about_other .other_profile .profile_btn .btn_interview {
    background-color: #0c9f7d;
    background-position: right 25px center;
    background-repeat: no-repeat;
    background-image: url("../img/common/next_wp.png");
    background-size: 14px 14px;
    color: #fafffa;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.2;
}

.sub_about .about_other .other_profile .profile_btn .btn_instag {
    background: #fff;
    border: 1px #40371a solid;
    gap: 10px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.sub_about .about_other .other_profile .profile_txt {
    max-width: 55%;
    font-size: 16px;
    font-weight: 700;
    line-height: 2.125;
    letter-spacing: 1px;
}

@media (max-width: 1024px) {
    .sub_about .about_other .other_profile {
        padding: 0;
    }
}

@media (max-width: 767px) {
    .sub_about .about_other {
        margin: 60px 0 0;
        padding: 60px 20px 80px;
        background-image: url("../img/about/mid_other_sp.jpg");
        background-size: 100% auto;
    }

    .sub_about .about_other .other_inner {
        gap: 70px 0;
    }

    .sub_about .about_other .other_tit {
        font-size: min(23px, 6.14vw);
        padding: 0 0 20px;
        background-size: 90px auto;
        letter-spacing: -0.05em;
    }

    .sub_about .about_other .other_name {
        margin: 35px auto 0;
        flex-wrap: wrap;
        gap: 30px 0;
    }

    .sub_about .about_other .other_name .name_cont {
        width: 50%;
    }

    .sub_about .about_other .other_name .name_list li {
        font-size: 12px;
        line-height: 1.9;
    }

    .sub_about .about_other .other_name .name_lar li {
        font-size: 14px;
        line-height: 2;
    }

    .sub_about .about_other .other_name .name_note {
        font-size: 11px;
        margin: 25px 0 0;
    }

    .sub_about .about_other .other_sup {
        margin: 40px auto 0;
        max-width: min(334px, 89.07vw);
        height: min(106px, 28.27vw);
        font-size: 18px;
        line-height: 1.33;
        background-image: url("../img/about/bg_sup_sp.png");
        background-size: cover;
    }

    .sub_about .about_other .other_profile {
        max-width: 1000px;
        margin: 30px auto 0;
        padding: 0;
        flex-direction: column;
        align-items: center;
        gap: 60px;
    }

    .sub_about .about_other .other_profile .profile_mess {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 40px 0;
    }

    .sub_about .about_other .other_profile .profile_btn {
        gap: 17px 0;
    }

    .sub_about .about_other .other_profile .profile_btn a {
        width: 250px;
        height: 50px;
        padding: 0 30px;
    }

    .sub_about .about_other .other_profile .profile_btn a:hover {
        opacity: 1;
    }

    .sub_about .about_other .other_profile .profile_btn .btn_interview {
        background-position: right 18px center;
        background-size: 12px 12px;
        font-size: 15px;
    }

    .sub_about .about_other .other_profile .profile_btn .btn_instag {
        gap: 7px;
        font-size: 15px;
    }

    .sub_about .about_other .other_profile .profile_txt {
        max-width: none;
        width: 100%;
        font-size: 13px;
        padding: 0 20px;
        line-height: 2;
    }
}



/* sub_griefcare
----------------------------------------------- */
.sub_griefcare {
    background: #fffadd;
    position: relative;
}

.sub_griefcare .griefcare_mv {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 0;
}

.sub_griefcare .griefcare_mv img {
    width: 100%;
}

.sub_griefcare .griefcare_bg {
    background: #b9deb8;
    padding: 8.93vw 20px 60px;
}

.sub_griefcare .griefcare_navi {
    max-width: 1200px;
    margin: 0 auto 1.79vw;
    padding: 0 0 0 60px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    position: relative;
}

.sub_griefcare .griefcare_hd {
    font-size: min(62px, 4.43vw);
    font-weight: 700;
    font-family: "Kaisei Opti", serif;
    letter-spacing: -0.1em;
    line-height: 1;
}

.sub_griefcare .griefcare_down {
    margin: 8.57vw 0 0;
    display: flex;
    flex-direction: column;
    gap: 18px 0;
}

.sub_griefcare .griefcare_down li a {
    display: flex;
    align-items: center;
    width: 290px;
    height: 60px;
    color: #fafffa;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.03em;
    padding: 0 20px 0 75px;
    background-position: 35px center;
    background-repeat: no-repeat;
    background-size: 15px 15px;
    background-image: url("../img/common/arrow_anchor.png");
    background-color: #0c9f7d;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    -ms-border-radius: 40px;
    -o-border-radius: 40px;
    border-radius: 40px;
}

.sub_griefcare .griefcare_down li a:hover {
    opacity: 0.5;
}

.sub_griefcare .griefcare_what {
    position: relative;
}

.sub_griefcare .griefcare_what .what_hd {
    text-align: center;
    font-size: 44px;
    font-weight: 700;
    letter-spacing: -0.05em;
    padding: 0 0 25px;
    margin: 0 0 40px;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: auto 15px;
    background-image: url("../img/griefcare/dot_what.png");
    position: relative;
}

.sub_griefcare .griefcare_what .what_box {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.sub_griefcare .griefcare_what .what_img {
    padding: 0 35px;
    width: 48.5%;
    position: relative;
}

.sub_griefcare .griefcare_what .what_img .img_bird {
    position: absolute;
    left: 70px;
    bottom: 100%;
    display: block;
    z-index: 1;
}

.sub_griefcare .griefcare_what .what_txt {
    width: 49.5%;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.88;
}

@media (max-width: 1024px) {
    .sub_griefcare .griefcare_what .what_img {
        padding: 0;
        width: 48.5%;
    }

    .sub_griefcare .griefcare_what .what_img .img_bird {
        left: 30px;
    }
}

@media (max-width: 767px) {
    .sub_griefcare .griefcare_bg {
        padding: 25.33vw 20px 60px;
    }

    .sub_griefcare .griefcare_navi {
        margin: 0 auto 50px;
        padding: 0;
        flex-direction: column;
        align-items: center;
    }

    .sub_griefcare .griefcare_hd {
        font-size: min(36px, 9.6vw);
        width: 100%;
    }

    .sub_griefcare .griefcare_down {
        margin: 54.66vw 0 0;
        gap: 15px 0;
    }

    .sub_griefcare .griefcare_down li a {
        width: 215px;
        height: 45px;
        font-size: 13px;
        justify-content: center;
        text-align: center;
        padding: 0 40px;
        background-position: 25px center;
        background-size: 12px 12px;
    }

    .sub_griefcare .griefcare_down li a:hover {
        opacity: 1;
    }

    .sub_griefcare .griefcare_what .what_hd {
        font-size: 27px;
        letter-spacing: -0.05em;
        padding: 0 0 15px;
        margin: 0 0 30px;
        background-size: 90px auto;
    }

    .sub_griefcare .griefcare_what .what_box {
        flex-direction: column;
        align-items: center;
        gap: 30px 0;
    }

    .sub_griefcare .griefcare_what .what_img {
        padding: 0;
        width: 280px;
    }

    .sub_griefcare .griefcare_what .what_img .img_bird {
        display: none;
    }

    .sub_griefcare .griefcare_what .what_txt {
        width: 100%;
        font-size: 13px;
        line-height: 1.85;
        letter-spacing: -0.02em;
    }
}

.sub_griefcare .griefcare_stage {
    background: #76bb79;
    padding: 100px 0 12.86vw;
    position: relative;
}

.sub_griefcare .griefcare_stage .stage_up,
.sub_griefcare .griefcare_stage .stage_down {
    position: absolute;
    left: 0;
    width: 100%;
    z-index: 0;
}

.sub_griefcare .griefcare_stage .stage_up img,
.sub_griefcare .griefcare_stage .stage_down img {
    width: 100%;
}

.sub_griefcare .griefcare_stage .stage_up {
    top: 0;
}

.sub_griefcare .griefcare_stage .stage_down {
    bottom: 0;
}

.sub_griefcare .griefcare_stage .tree_left {
    position: absolute;
    left: 0;
    bottom: -11.43vw;
    width: 31.93vw;
    z-index: 1;
}

.sub_griefcare .griefcare_stage .tree_left img {
    width: 100%;
}

.sub_griefcare .griefcare_stage .tree_right {
    position: absolute;
    right: 0;
    bottom: -10.2vw;
    width: 27.15vw;
    z-index: 1;
}

.sub_griefcare .griefcare_stage .tree_right img {
    width: 100%;
}

.sub_griefcare .griefcare_stage .cloud {
    position: absolute;
    left: 11.43vw;
    top: 0;
    width: 14.22vw;
    z-index: 1;
}

.sub_griefcare .griefcare_stage .cloud img {
    width: 100%;
}

.sub_griefcare .griefcare_stage .stage_inner {
    position: relative;
    z-index: 2;
}

.sub_griefcare .griefcare_stage .stage_flex {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sub_griefcare .griefcare_stage .stage_tit {
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    color: #f9e770;
    padding: 0 70px;
    margin: 0 0 30px;
    position: relative;
}

.sub_griefcare .griefcare_stage .stage_tit:before,
.sub_griefcare .griefcare_stage .stage_tit:after {
    position: absolute;
    content: "";
    bottom: 0;
    background-position: center center;
    background-repeat: no-repeat;
    width: 46px;
    height: 61px;
    z-index: 0;
}

.sub_griefcare .griefcare_stage .stage_tit:before {
    left: 0;
    background-image: url("../img/griefcare/left_border.png");
}

.sub_griefcare .griefcare_stage .stage_tit:after {
    right: 0;
    background-image: url("../img/griefcare/right_border.png");
}

.sub_griefcare .griefcare_stage .stage_tit .tit_lar {
    font-size: 50px;
    letter-spacing: 0;
    font-weight: 400;
    line-height: 1.2;
    display: inline-block;
    margin: 0 6px 0 0;
}

.sub_griefcare .griefcare_stage .stage_det {
    text-align: center;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    padding: 0 20px;
    line-height: 1.88;
    margin: 0 0 50px;
    position: relative;
}

.sub_griefcare .griefcare_stage .stage_det .det_dec {
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    width: 180px;
    z-index: 0;
}

.sub_griefcare .griefcare_stage .stage_scroll {}

.sub_griefcare .griefcare_stage .stage_scroll .map_flower01 {
    position: absolute;
    left: 0;
    bottom: -46px;
    z-index: 0;
}

.sub_griefcare .griefcare_stage .stage_scroll .map_flower02 {
    position: absolute;
    right: 0;
    bottom: -40px;
    z-index: 0;
}

.sub_griefcare .griefcare_stage .stage_map {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
}

.sub_griefcare .griefcare_stage .stage_map .map_box {}

.sub_griefcare .griefcare_stage .stage_map .map_link {
    position: absolute;
    z-index: 1;
}

.sub_griefcare .griefcare_stage .stage_map .map_link01 {
    left: 0;
    top: 0;
}

.sub_griefcare .griefcare_stage .stage_map .map_link02 {
    left: min(286px, 26vw);
    top: min(50px, 4.55vw);
}

.sub_griefcare .griefcare_stage .stage_map .map_link03 {
    right: min(288px, 26.19vw);
    top: 0;
}

.sub_griefcare .griefcare_stage .stage_map .map_link04 {
    right: 0;
    top: min(50px, 4.55vw);
}

.sub_griefcare .griefcare_stage .stage_map .map_link05 {
    right: 0;
    top: min(318px, 28.91vw);
}

.sub_griefcare .griefcare_stage .stage_map .map_link06 {
    right: min(288px, 26.19vw);
    top: min(366px, 33.28vw);
}

.sub_griefcare .griefcare_stage .stage_map .map_link07 {
    left: min(286px, 26vw);
    top: min(455px, 41.37vw);
}

.sub_griefcare .griefcare_stage .stage_map .map_link08 {
    left: 0;
    top: min(366px, 33.28vw);
}

.sub_griefcare .griefcare_stage .stage_map .map_link09 {
    left: 0;
    top: min(748px, 68vw);
}

.sub_griefcare .griefcare_stage .stage_map .map_link10 {
    left: min(286px, 26vw);
    top: min(878px, 79.82vw);
}

.sub_griefcare .griefcare_stage .stage_map .map_link11 {
    right: min(280px, 25.46vw);
    top: min(828px, 75.28vw);
}

.sub_griefcare .griefcare_stage .stage_map .map_link12 {
    right: 0;
    top: min(690px, 62.73vw);
}

.sub_griefcare .griefcare_stage .stage_map .map_link .link_item {
    display: block;
    background: #fdf0b8;
    border-color: #f4d187;
    border-style: solid;
    min-height: min(254px, 23.1vw);
    border-width: min(6px, 0.55vw);
    padding: min(15px, 1.37vw) min(23px, 2.1vw) min(18px, 1.64vw);
    -webkit-border-radius: min(80px, 7.28vw);
    -moz-border-radius: min(80px, 7.28vw);
    -ms-border-radius: min(80px, 7.28vw);
    -o-border-radius: min(80px, 7.28vw);
    border-radius: min(80px, 7.28vw);
    position: relative;
}

.sub_griefcare .griefcare_stage .stage_map .map_link .link_item:before {
    position: absolute;
    content: "";
    background: #0c9f7d;
    width: min(48px, 4.37vw);
    height: min(48px, 4.37vw);
    right: max(-6px, -0.55vw);
    bottom: max(-6px, -0.55vw);
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    z-index: 0;
}

.sub_griefcare .griefcare_stage .stage_map .map_link .link_item:after {
    position: absolute;
    content: "";
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/griefcare/plus.png");
    background-size: min(16px, 1.46vw) min(16px, 1.46vw);
    width: min(48px, 4.37vw);
    height: min(48px, 4.37vw);
    right: max(-6px, -0.55vw);
    bottom: max(-6px, -0.55vw);
    z-index: 0;
}

.sub_griefcare .griefcare_stage .stage_map .map_link .link_num {
    font-size: min(30px, 2.73vw);
    color: #c47e1b;
    text-align: center;
    line-height: 1;
    font-family: "Aoboshi One", serif;
    margin: 0 0 min(7px, 0.64vw);
}

.sub_griefcare .griefcare_stage .stage_map .map_link .link_img {
    overflow: hidden;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
}

.sub_griefcare .griefcare_stage .stage_map .map_link .link_img img {
    width: min(180px, 16.37vw);
    transition: all 0.3s !important;
    -moz-transition: all 0.3s !important;
    /* Firefox */
    -webkit-transition: all 0.3s !important;
    /* Chrome&Safari */
}

.sub_griefcare .griefcare_stage .stage_map .map_link .link_item:hover .link_img img {
    transform: scale(1.05);
}

.sub_griefcare .griefcare_stage .stage_map .map_link .link_name {
    text-align: center;
    margin: min(20px, 1.64vw) 0 0;
    font-size: min(18px, 1.82vw);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0;
}

.stage_pop {
    display: none;
    padding: 50px 90px 60px;
    background: url("../img/griefcare/bg_pop.jpg") 0 0 repeat;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
    border-radius: 30px;
    position: relative;
}

.stage_pop .map_close {
    right: 30px;
    top: 30px;
    cursor: pointer;
    width: 30px;
    height: 30px;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/common/close_pop.png");
    background-size: 30px 30px;
    position: absolute;
}

.stage_pop .pop_img {
    text-align: center;
}

.stage_pop .pop_img img {
    width: 350px;
}

.stage_pop .pop_links {
    text-align: center;
    margin: 35px 0 0;
}

.stage_pop .pop_links a {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.025em;
    text-decoration: underline;
}

.stage_pop .pop_links a:hover {
    opacity: 0.5;
}

@media (max-width: 767px) {
    .sub_griefcare .griefcare_stage {
        padding: 95px 0 16vw;
    }

    .sub_griefcare .griefcare_stage .tree_left {
        bottom: -33.34vw;
        width: 38.67vw;
    }

    .sub_griefcare .griefcare_stage .tree_right {
        bottom: -21.34vw;
        width: 32.27vw;
    }

    .sub_griefcare .griefcare_stage .cloud {
        left: 5.6vw;
        top: -0.94;
        width: 26.14vw;
    }

    .sub_griefcare .griefcare_stage .cloud img {
        width: 100%;
    }

    .sub_griefcare .griefcare_stage .stage_tit {
        font-size: min(23px, 6.14vw);
        padding: 0 min(40px, 10.67vw);
    }

    .sub_griefcare .griefcare_stage .stage_tit:before,
    .sub_griefcare .griefcare_stage .stage_tit:after {
        width: 23px;
        height: 30px;
        background-size: 23px 30px;
    }

    .sub_griefcare .griefcare_stage .stage_tit .tit_lar {
        font-size: min(36px, 9.6vw);
        margin: 0 2px 0 0;
    }

    .sub_griefcare .griefcare_stage .stage_det {
        font-size: min(13px, 3.47vw);
        line-height: 1.77;
    }

    .sub_griefcare .griefcare_stage .stage_det .det_dec {
        display: none;
    }

    .sub_griefcare .griefcare_stage .stage_block {
        padding: 0 20px;
    }

    .sub_griefcare .griefcare_stage .stage_scroll {
        overflow-x: scroll;
        padding: 0 0 50px;
    }

    .sub_griefcare .griefcare_stage .stage_scroll::-webkit-scrollbar {
        width: 100%;
        height: 15px;
        background: #fff;
        border-radius: 10px;
    }

    .sub_griefcare .griefcare_stage .stage_scroll::-webkit-scrollbar-thumb {
        background: #dfdfdf;
        border-radius: 10px;
    }

    .sub_griefcare .griefcare_stage .stage_scroll .map_flower01 {
        left: -50px;
        bottom: 30px;
        width: 192px;
    }

    .sub_griefcare .griefcare_stage .stage_scroll .map_flower02 {
        right: -160px;
        bottom: 10px;
        width: 185px;
    }

    .sub_griefcare .griefcare_stage .stage_map {
        width: 550px;
        margin: 0;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link02 {
        left: 143px;
        top: 25px;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link03 {
        right: 144px;
        top: 0;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link04 {
        top: 25px;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link05 {
        top: 159px;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link06 {
        right: 144px;
        top: 183px;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link07 {
        left: 143px;
        top: 227px;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link08 {
        top: 183px;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link09 {
        top: 374px;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link10 {
        left: 143px;
        top: 439px;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link11 {
        right: 140px;
        top: 414px;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link12 {
        top: 345px;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link .link_item {
        min-height: 127px;
        border-width: 3px;
        padding: 8px 12px 9px;
        -webkit-border-radius: 40px;
        -moz-border-radius: 40px;
        -ms-border-radius: 40px;
        -o-border-radius: 40px;
        border-radius: 40px;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link .link_item:before {
        width: 24px;
        height: 24px;
        right: -3px;
        bottom: -3px;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link .link_item:after {
        background-size: 8px 8px;
        width: 24px;
        height: 24px;
        right: -3px;
        bottom: -3px;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link .link_num {
        font-size: 15px;
        margin: 0 0 4px;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link .link_img {
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        -ms-border-radius: 5px;
        -o-border-radius: 5px;
        border-radius: 5px;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link .link_img img {
        width: 90px;
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link .link_item:hover .link_img img {
        transform: scale(1);
    }

    .sub_griefcare .griefcare_stage .stage_map .map_link .link_name {
        margin: 10px 0 0;
        font-size: 9px;
    }

    .stage_pop {
        padding: 60px 40px 50px;
        -webkit-border-radius: 15px;
        -moz-border-radius: 15px;
        -ms-border-radius: 15px;
        -o-border-radius: 15px;
        border-radius: 15px;
    }

    .stage_pop .map_close {
        right: 15px;
        top: 15px;
    }

    .stage_pop .pop_links a {
        font-size: 14px;
    }

    .stage_pop .pop_links a:hover {
        opacity: 1;
    }
}

.sub_griefcare .griefcare_stage .stage_loss {
    margin: 90px auto 0;
    max-width: 1140px;
    padding: 0 20px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    position: relative;
    z-index: 2;
}

.sub_griefcare .griefcare_stage .stage_loss .loss_cont {
    max-width: 61%;
    padding: 25px 0 0;
}

.sub_griefcare .griefcare_stage .stage_loss .loss_tit {
    font-size: 34px;
    font-weight: 700;
    color: #f9e770;
    line-height: 1.47;
    margin: 0 0 40px;
}

.sub_griefcare .griefcare_stage .stage_loss .loss_txt {
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    line-height: 2.125;
}

.sub_griefcare .griefcare_stage .stage_loss .loss_btn {
    width: 390px;
    max-width: 36%;
}

.sub_griefcare .griefcare_stage .stage_loss .loss_btn a {
    display: block;
}

.sub_griefcare .griefcare_stage .stage_loss .loss_btn a:hover {
    transform: translateY(5px);
}

@media (max-width: 767px) {
    .sub_griefcare .griefcare_stage .stage_loss {
        margin: 60px auto 0;
        flex-direction: column;
        align-items: center;
        gap: 45px 0;
    }

    .sub_griefcare .griefcare_stage .stage_loss .loss_cont {
        max-width: none;
        padding: 0;
    }

    .sub_griefcare .griefcare_stage .stage_loss .loss_tit {
        font-size: min(20px, 5.34vw);
        line-height: 1.5;
        margin: 0 0 20px;
    }

    .sub_griefcare .griefcare_stage .stage_loss .loss_txt {
        font-size: min(13px, 3.47vw);
        line-height: 1.85;
    }

    .sub_griefcare .griefcare_stage .stage_loss .loss_btn {
        width: auto;
        max-width: none;
    }

    .sub_griefcare .griefcare_stage .stage_loss .loss_btn a img {
        width: 245px;
    }

    .sub_griefcare .griefcare_stage .stage_loss .loss_btn a:hover {
        transform: translateY(0);
    }
}

.sub_griefcare .griefcare_method {
    position: relative;
    margin: 60px auto 0;
    max-width: 1040px;
    padding: 0 20px;
    z-index: 1;
}

.sub_griefcare .griefcare_method .method_hd {
    text-align: center;
    margin: 0 0 35px;
}

.sub_griefcare .griefcare_method .method_hd img {
    width: 411px;
}

.sub_griefcare .griefcare_method .method_det {
    text-align: center;
    font-size: 18px;
    line-height: 1.88;
    font-weight: 700;
    margin: 0 0 40px;
}

.sub_griefcare .griefcare_method .method_box {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.sub_griefcare .griefcare_method .method_item {
    background: #f1e6aa;
    padding: 30px;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 30px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
}

.sub_griefcare .griefcare_method .btn_col {
    flex-shrink: 0;
    border-left: 1px #746a49 dashed;
    padding: 10px 0 10px 30px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sub_griefcare .griefcare_method .method_btn a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 300px;
    height: 80px;
    background-color: #fff;
    background-position: right bottom;
    background-image: url("../img/griefcare/bg_btn.png");
    background-repeat: no-repeat;
    padding: 0 80px 0 30px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
    border-radius: 50px;
    position: relative;
}

.sub_griefcare .griefcare_method .method_btn a:hover {
    opacity: 0.5;
}

.sub_griefcare .griefcare_method .method_btn a:before,
.sub_griefcare .griefcare_method .method_btn a:after {
    position: absolute;
    content: "";
    width: 50px;
    height: 26px;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 0;
}

.sub_griefcare .griefcare_method .method_btn a:before {
    background: #0c9f7d;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
}

.sub_griefcare .griefcare_method .method_btn a:after {
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/common/next_wp.png");
    background-size: 10px 10px;
}

.sub_griefcare .griefcare_method .method_btn .btn_txt {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.34;
}

.sub_griefcare .griefcare_method .method_cont {
    display: flex;
    align-items: flex-start;
    gap: 25px;
}

.sub_griefcare .griefcare_method .method_cont .method_img {
    flex-shrink: 0;
    width: 150px;
}

.sub_griefcare .griefcare_method .method_cont .method_img img {
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
    border-radius: 8px;
}

.sub_griefcare .griefcare_method .method_cont .method_in {}

.sub_griefcare .griefcare_method .method_cont .method_in_box {}

.sub_griefcare .griefcare_method .method_cont .method_img_sp {
    display: none;
    flex-shrink: 0;
}

.sub_griefcare .griefcare_method .method_cont .method_mess {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.sub_griefcare .griefcare_method .method_cont .method_cap {
    background: #fffadd;
    width: 106px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 2px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    margin: 0 0 10px;
    font-family: "Kaisei Opti", serif;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
    position: relative;
}

.sub_griefcare .griefcare_method .method_cont .method_cap:before {
    position: absolute;
    content: "";
    background: #fffadd;
    width: 6px;
    height: 5px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    z-index: 0;
}

.sub_griefcare .griefcare_method .method_cont .method_cap .cap_num {
    font-size: 16px;
    font-weight: 400;
    font-family: "Aoboshi One", serif;
}

.sub_griefcare .griefcare_method .method_cont .method_name {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin: 0 0 13px;
}

.sub_griefcare .griefcare_method .method_cont .method_note {
    margin: 0 0 5px;
    padding: 5px 20px;
    text-align: center;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
}

.sub_griefcare .griefcare_method .method_cont .method_note.note_orange {
    background: #fda052;
    color: #fffadd;
}

.sub_griefcare .griefcare_method .method_cont .method_note.note_yellow {
    background: #f4d187;
    color: #40371a;
}

.sub_griefcare .griefcare_method .method_cont .method_txt {
    font-size: 16px;
    font-weight: 700;
    color: #7e7558;
    line-height: 1.75;
}

@media (max-width: 1024px) {
    .sub_griefcare .griefcare_method .method_item {
        flex-direction: column;
    }

    .sub_griefcare .griefcare_method .btn_col {
        border-top: 1px #746a49 dashed;
        border-left: none;
        padding: 30px 10px 0;
        align-items: center;
    }
}

@media (max-width: 767px) {
    .sub_griefcare .griefcare_method {
        margin: 100px auto 0;
    }

    .sub_griefcare .griefcare_method .method_hd {
        margin: 0 0 40px;
    }

    .sub_griefcare .griefcare_method .method_hd img {
        width: 256px;
    }

    .sub_griefcare .griefcare_method .method_det {
        font-size: min(13px, 3.47vw);
        line-height: 1.77;
    }

    .sub_griefcare .griefcare_method .method_item {
        padding: 20px;
        gap: 25px;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        -ms-border-radius: 10px;
        -o-border-radius: 10px;
        border-radius: 10px;
    }

    .sub_griefcare .griefcare_method .btn_col {
        padding: 20px 10px 0;
        gap: 10px;
    }

    .sub_griefcare .griefcare_method .method_btn a {
        width: 235px;
        height: 55px;
        padding: 0 65px 0 30px;
        background-size: 88px auto;
    }

    .sub_griefcare .griefcare_method .method_btn a:hover {
        opacity: 1;
    }

    .sub_griefcare .griefcare_method .method_btn a:before,
    .sub_griefcare .griefcare_method .method_btn a:after {
        width: 36px;
        height: 18px;
        right: 30px;
    }

    .sub_griefcare .griefcare_method .method_btn a:before {
        -webkit-border-radius: 6px;
        -moz-border-radius: 6px;
        -ms-border-radius: 6px;
        -o-border-radius: 6px;
        border-radius: 6px;
    }

    .sub_griefcare .griefcare_method .method_btn a:after {
        background-size: 6px 6px;
    }

    .sub_griefcare .griefcare_method .method_btn .btn_txt {
        font-size: 13px;
    }

    .sub_griefcare .griefcare_method .method_cont {
        display: block;
    }

    .sub_griefcare .griefcare_method .method_cont .method_img {
        display: none;
    }

    .sub_griefcare .griefcare_method .method_cont .method_in_box {
        display: flex;
        align-items: flex-start;
        gap: 15px;
        margin: 0 0 25px;
    }

    .sub_griefcare .griefcare_method .method_cont .method_img_sp {
        display: block;
        flex-shrink: 0;
        width: 90px;
    }

    .sub_griefcare .griefcare_method .method_cont .method_img_sp img {
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        -ms-border-radius: 4px;
        -o-border-radius: 4px;
        border-radius: 4px;
    }

    .sub_griefcare .griefcare_method .method_cont .method_cap {
        width: 66px;
        height: 28px;
        gap: 4px;
        font-size: 12px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        -ms-border-radius: 5px;
        -o-border-radius: 5px;
        border-radius: 5px;
    }

    .sub_griefcare .griefcare_method .method_cont .method_cap .cap_num {
        font-size: 13px;
    }

    .sub_griefcare .griefcare_method .method_cont .method_name {
        font-size: 18px;
        margin: 0;
    }

    .sub_griefcare .griefcare_method .method_cont .method_note {
        font-size: 12px;
        margin: 5px 0 0;
    }

    .sub_griefcare .griefcare_method .method_cont .method_txt {
        font-size: 13px;
        font-weight: 500;
        color: #7e7558;
        line-height: 1.61;
    }
}






.sub_griefcare .griefcare_way {
    margin: 100px 0 0;
    padding: 0 20px;
    position: relative;
    z-index: 1;
}

.sub_griefcare .griefcare_way .way_hd {
    text-align: center;
    margin: 0 0 20px;
}

.sub_griefcare .griefcare_way .way_hd img {
    width: 752px;
}

.sub_griefcare .griefcare_way .way_img {
    text-align: center;
    margin: 0 0 40px;
}

.sub_griefcare .griefcare_way .way_note {
    display: flex;
    justify-content: center;
    gap: 30px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.sub_griefcare .griefcare_way .way_note .note_tit {
    flex-shrink: 0;
}

.sub_griefcare .griefcare_way .way_note .note_txt {
    display: flex;
    flex-direction: column;
}

@media (max-width: 767px) {
    .sub_griefcare .griefcare_way {
        margin: 70px 0 0;
        padding: 0 20px;
    }

    .sub_griefcare .griefcare_way .way_hd {
        margin: 0 0 30px;
    }

    .sub_griefcare .griefcare_way .way_hd img {
        width: 325px;
    }

    .sub_griefcare .griefcare_way .way_img {
        margin: 0 0 20px;
    }

    .sub_griefcare .griefcare_way .way_note {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        font-size: 12px;
    }

    .sub_griefcare .griefcare_way .way_note .note_txt {
        display: flex;
        flex-direction: column;
        gap: 5px 0;
        letter-spacing: 0;
    }

    .sub_griefcare .griefcare_way .way_note .note_txt li {
        line-height: 1.33;
    }
}

/* XXXXXXXXXXXXX
----------------------------------------------- */


@media (max-width: 1024px) {}

@media (max-width: 767px) {}
