@charset "UTF-8";
h2.close {
    text-align: center;
    font-size: 3.6rem;
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.kugiri_m02 {
    padding: 10.5rem 0 18rem;
}

.main_area {
    overflow: hidden;
}

p.cmn_page_btn {
    text-align: center;
}

.cmn_page_btn button ,p.cmn_page_btn a{
    font-size: 2.2rem;
    font-weight: 700;
    color: #fff;
    background: var(--theme_m_color);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34.4rem;
    letter-spacing: .1em;
    padding: 2.6rem 4.5rem 2.8rem 4.5rem;
    border-radius: 6rem;
    position: relative;
    border: .2rem solid var(--theme_m_color);
    margin: 0 auto;
    transition: .2s ease-in;
    cursor: pointer;
    line-height: normal;
    font-family: "Noto Sans JP","游ゴシック体", "Yu Gothic", "yugothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}

.cmn_page_btn button::before, .cmn_page_btn button::after 
,p.cmn_page_btn a::before,p.cmn_page_btn a::after {
    position: absolute;
    content: "";
    width: 2.6rem;
    height: 2.6rem;
    top: 50%;
    right: 3rem;
    transform: translateY(-50%);
    transition: .2s ease-in;
}

.cmn_page_btn button::before,
p.cmn_page_btn a::before{
    background: #fff;
    border-radius: 100%;
}

.cmn_page_btn button::after
,p.cmn_page_btn a::after{
    -webkit-mask: url("../images/common/arrow.svg") no-repeat center / .9rem 1.1rem;
    mask: url("../images/common/arrow.svg") no-repeat center / .9rem 1.1rem;
    background-color: var(--theme_m_color);
}

@media (min-width: 769px) { 
    .cmn_page_btn button:hover::before {
    background: var(--theme_m_color);
}

.cmn_page_btn button:hover::after {
    background-color: #fff;
}
}

.return {
    margin-top: 6rem; /* 60px */
}


.return p.cmn_page_btn a {
    position: relative;
    background: #fff;
    color: inherit;
    border: 1px solid var(--theme_m_color);
    width: 30rem;
    height: 8rem;
    border-radius: 4rem;
    font-size: 1.8rem;
    letter-spacing: .12em;
}

.return p.cmn_page_btn a::before, .return p.cmn_page_btn a::after {
    left: 3rem;
}

.return p.cmn_page_btn a::before {
    background: var(--theme_m_color);
}

.return p.cmn_page_btn a::after {
    background: #fff;
    transform: translateY(-50%) rotateY(180deg);
}

@media screen and (min-width: 769px) {
    .cmn_page_btn button:hover , p.cmn_page_btn a:hover {
        background: #fff;
        color: var(--theme_m_color);
        opacity: 1;
    }

    .return p.cmn_page_btn a:hover {
        opacity: 1 !important;
        color: #fff;
        background-color: var(--theme_m_color);
    }

    .return p.cmn_page_btn a:hover::before {
        background-color: #fff;
    }

    .return p.cmn_page_btn a:hover::after {
        background-color: var(--theme_m_color);
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プロモ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_promo {
    padding: 13.5rem 1rem 2rem;
    position: relative;
}

.page_promo::after {
    position: absolute;
    content: "";
    background: url("../images/page/page_promo_bg.jpg") no-repeat 50% bottom / cover;
    top: 0;
    left: 0;
    width: 160rem;
    height: 31.5rem;
    z-index: -1;
}

@media (min-width: 1601px) {
    .page_promo::after {
        width: 100%;
    }
}

.page_promo .page_width {max-width: none;max-width: 142rem;}

.page_promo .promo_inner .ttl_wrap {
    margin-top: 2rem;
    position: relative;
    z-index: 1;
}

.page_promo .promo_inner .promo_ttl {
    font-size: 2em;
    font-weight: bold;
}

.page_promo .promo_inner h1 .slug, .page_promo .promo_inner p .slug {
    font-family: "Roboto", sans-serif;
    font-size: 10rem;
    display: block;
}

.page_promo .promo_inner h1 .ja, .page_promo .promo_inner p .ja {
    font-size: 2rem;
    font-weight: 600;
    position: relative;
    padding-left: 4.5rem;
}

.page_promo .promo_inner .ja::before {
    position: absolute;
    content: "";
    background: url("../images/common/ttl_deco.svg") no-repeat 50% / contain;
    width: 3.2rem;
    height: 1.6rem;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto 0;
}

.page-company .page_promo ,
.page-outline .page_promo {
    min-height: 78rem;
}

.page-company .page_promo::after,
.page-outline .page_promo::after {
    position: absolute;
    content: "";
    background: url("../images/page/page_promo_bg.jpg") no-repeat 50% bottom / cover;
    top: 0;
    left: 0;
    width: 160rem;
    height: 49.2rem;
    z-index: -1;
}

@media (min-width: 1601px) {
    .page-company .page_promo::after
    ,.page-outline .page_promo::after{
        width: 100%;
    }
}


.page-company .page_promo .promo_inner .ttl_wrap,
.page-outline .page_promo .promo_inner .ttl_wrap{
    margin-top: 21rem;
}

.page_promo .promo_img {
    position: absolute;
    /* z-index: -1; */
    bottom: 0;
    right: calc(50% - 76rem);
    width: 104rem;
}

.page_main_img {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    padding: 70px 0 40px;
    margin-bottom: 20px;
}

.page_main_img::before, .page_main_img::after {
    position: absolute;
    content: "";
    background: no-repeat 50% /contain;
}

.page_main_img img {
    border-radius: 20px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
共通
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
h2.page_ttl {
    font-size: 3.6rem;
    margin-bottom: 5rem;
    text-align: center;
}

ul.page_btn_list {
    width: 64rem;
    margin: 8rem auto 0;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 5rem;
}

ul.page_btn_list li {
}

ul.page_btn_list li a {
    background: #F5F5F5;
    height: 8rem;
    display: grid;
    align-items: center;
    position: relative;
    padding: 0 4rem;
    font-weight: 600;
}

ul.page_btn_list li a::before, ul.page_btn_list li a::after {
    position: absolute;
    content: "";
    width: 2.6rem;
    height: 2.6rem;
    top: 50%;
    right: 3rem;
    transform: translateY(-50%);
}

ul.page_btn_list li a::before {
    background: var(--theme_m_color);
    border-radius: 100%;
}

ul.page_btn_list li a::after {
    -webkit-mask: url("../images/common/arrow.svg") no-repeat center / .9rem 1.1rem;
    mask: url("../images/common/arrow.svg") no-repeat center / .9rem 1.1rem;
    background-color: #fff;
}

ul.page_btn_list li.current {
}

ul.page_btn_list li.current a {
    background: var(--theme_m_color);
    color: #fff;
}

ul.page_btn_list li.current a::before {
    background: #fff;
}

ul.page_btn_list li.current a::after {
    background: var(--theme_m_color);
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
店舗アクセス
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_access {
}

#page_access .inner {
}

#page_access .map_area {
}

#page_access .map_area p.map iframe {
    width: 100%;
}

#page_access .map_btn {
    width: 44rem;
    margin: 2.5rem auto 0;
    gap: 2rem;
    display: grid;
    grid-template-columns: repeat(2,1fr);
}

#page_access .map_btn p.btn {
}

#page_access .map_btn p.btn a {
    font-size: 1.6rem;
    border-radius: 2.5rem;
    border: 1px solid var(--theme_m_color);
    height: 5rem;
    display: grid;
    align-items: center;
    padding: 0 2rem;
    position: relative;
    font-weight: 600;
}

#page_access .map_btn p.btn a::before, #page_access .map_btn p.btn a::after {
    position: absolute;
    content: "";
    width: 2rem;
    height: 2rem;
    top: 50%;
    right: 2rem;
    transform: translateY(-50%);
}

#page_access .map_btn p.btn a::before {
    background: var(--theme_m_color);
    border-radius: 100%;
}

#page_access .map_btn p.btn a::after {
    -webkit-mask: url("../images/common/arrow.svg") no-repeat center / .9rem 1.1rem;
    mask: url("../images/common/arrow.svg") no-repeat center / .5rem auto;
    background-color: #fff;
}

#page_access .contents_area {
    text-align: center;
    margin-top: 4rem;
}

#page_access p.com {
    font-weight: bold;
}

#page_access p.addr {
    margin-top: 1.5rem;
}

#page_access ul.tel_fax {
}

#page_access ul.tel_fax li {
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
会社案内
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_company {
}

.page_company div.grid.inner {
    display: grid;
    grid-template-columns: 48rem 1fr;
    gap: 8rem;
}

.page_company div.grid.inner p.img {
    margin-top: 1rem;
}

.page_company div.grid.inner p.img img {
}

.page_company div.grid.inner div.contents_area {
}

.page_company div.grid.inner div.contents_area h3.ttl {
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 2rem;
}

.page_company div.grid.inner div.contents_area p.txt {
    line-height: 2;
    margin-bottom: 3.5rem;
}

.page_company div.grid.inner div.contents_area div.ceo_wrap {
    text-align: right;
}

.page_company div.grid.inner div.contents_area div.ceo_wrap p.ceo {
    font-size: 1.4rem;
}

.page_company div.grid.inner div.contents_area div.ceo_wrap p.name {
    font-size: 2.6rem;
    letter-spacing: .06em;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
勧誘方針・権限の明示
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_agency-authority {
}

.page_agency-authority .mt01{
    margin-top: 8rem;
}

.page_agency-authority h2.page_ttl {
}

.page_agency-authority .inner {
    border: 1px solid var(--theme_m_color);
    padding: 5.5rem 5.5rem;
    margin-bottom: 9rem;
}

.page_agency-authority div.inner h3.ttl {
    font-size: 2rem;
    margin-bottom: 1.5rem;
}

.page_agency-authority div.inner ul.items {
}

.page_agency-authority div.inner ul.items li {
}

.page_agency-authority .box {
    margin-bottom: 4rem;
}

.page_agency-authority .box h3.ttl {
    color: var(--theme_m_color);
    font-size: 2.8rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
    text-indent: -1em;
    padding-left: 1em;
}

.page_agency-authority .box p {
    padding-left: 2.6rem;
    margin-bottom: 1.5rem;
    line-height: 2;
}

.page_agency-authority .box p:not(:last-of-type) {
}

.page_agency-authority ul.indent {
    padding-left: 3.5rem;
    margin-bottom: 0;
}

.page_agency-authority ul.indent li {
    text-indent: -1em;
    padding-left: 1em;
    margin-bottom: 0;
    line-height: 2;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
お客さま本位の業務運営方針
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.fiduciary-duty {
}

.fiduciary-duty p.main_lead {
    line-height: 2;
    margin-bottom: 8rem;
}

.fiduciary-duty div.box {
    margin-bottom: 6rem;
}

.fiduciary-duty div.box h3.ttl {
    color: var(--theme_m_color);
    font-size: 2.8rem;
    font-weight: 500;
    margin-bottom: 3.5rem;
    text-indent: -1em;
    padding-left: 1em;
}

.fiduciary-duty div.box div.sub_box {
    padding-left: 4rem;
    margin-bottom: 3rem;
}

.fiduciary-duty div.box div.sub_box ul.cmn_maru_list {
    margin-bottom: 1.5rem;
}

.fiduciary-duty div.box div.sub_box ul.cmn_maru_list li {
}

.fiduciary-duty div.box div.sub_box p {
    line-height: 2;
}

.fiduciary-duty div.box div.sub_box h3.sub_ttl {
    font-size: 2rem;
    margin-bottom: 2.8rem;
}

.fiduciary-duty div.box div.sub_box dl.grid_list {
    margin-bottom: 2rem;
}

.fiduciary-duty div.box div.sub_box dl.grid_list div.grid_item {
    display: grid;
    grid-template-columns: 50rem 1fr;
    border-top: 1px solid #C8C8C8;
}

.fiduciary-duty div.box div.sub_box dl.grid_list div.grid_item > * {
    padding: 2.25rem 2.5rem;
}

.fiduciary-duty div.box div.sub_box dl.grid_list div.grid_item dt {
    background: #F0F0F0;
}

.fiduciary-duty div.box div.sub_box dl.grid_list div.grid_item dd {
    text-align: right;
    padding-right: 3rem;
}

.fiduciary-duty div.box div.sub_box dl.grid_list div.grid_item dt span.small {
        font-size: 70%;
    position: relative;
    top: -.5em;;
    }


.fiduciary-duty div.box div.sub_box ul.indent_list {
}

.fiduciary-duty div.box div.sub_box ul.indent_list li {
    text-indent: -1em;
    padding-left: 1em;
    margin-bottom: 0;
    line-height: 2;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プライバシーポリシー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_privacy-policy {
}

.page_privacy-policy p.main_lead {
    margin-bottom: 8rem;
    line-height: 2;
}

.page_privacy-policy .box {
    margin-bottom: 4rem;
}

.page_privacy-policy .box h3.ttl {
    color: var(--theme_m_color);
    font-size: 2.8rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
}

.page_privacy-policy .box p {
    padding-left: 4rem;
    margin-bottom: 1.5rem;
    line-height: 2;
}

.page_privacy-policy .box p:not(:last-of-type) {
}

.page_privacy-policy ul.indent {
    padding-left: 3.5rem;
    margin-bottom: 0;
}

.page_privacy-policy ul.indent li {
    text-indent: -1em;
    padding-left: 1em;
    margin-bottom: 0;
    line-height: 2;
}

.page_privacy-policy .info {
    margin-top: 2rem;
}

.page_privacy-policy .info p {
    margin: 0;
    line-height: 1.75;
}

.page_privacy-policy .info p a {
    text-decoration: underline;
}

.page_privacy-policy .info p.com {
    font-weight: bold;
}

.page_privacy-policy .info p.tel span {
}

.page_privacy-policy .info p.mail span {
}

.page_privacy-policy .info p span {
    display: inline-block;
    min-width: 8rem;
}

.page_privacy-policy .info p.open {
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
404
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_promo.letter404 {
    padding-top: 15.2rem;
}

.page_promo.letter404::after {
    height: 24.5rem;
}

.page_promo.letter404 .promo_inner h1 .slug {
    
}

.page_404 h2 {
    font-size: 3.6rem;
    text-align: center;
    margin-bottom: 3rem;
}

.page_404 p.txt {
    font-size: 2rem;
    letter-spacing: .1em;
    text-align: center;
    line-height: 2.5;
    margin-bottom: 5rem;
}

.page_404 p.btn {
}

.page_404 p.btn a {
    margin: 0 auto;
    text-align: center;
    font-size: 2.2rem;
    letter-spacing: .06em;
    border: 2px solid var(--theme_m_color);
    border-radius: 4rem;
    display: flex;
    width: 36rem;
    height: 8rem;
    align-items: center;
    justify-content: center;
    color: var(--theme_m_color);
    padding: 2.6rem 4.5rem 2.8rem 4.5rem;
}

.page_404 p.btn a:hover {
    background: var(--theme_m_color);
    color: #fff;
}
