@charset "UTF-8";
/* -----------------------------------------------
common css 共通クラス
--------------------------------------------------
0. Foundation
   0-1. Base
   0-2. Config
        0-2-1. font family
        0-2-2. color management
        0-2-3. lightbox
1. Layout
   1-1.  .l-wrapper
   1-2.  .l-main
   1-3.  .l-container
   1-4.  .l-header
   1-5.  .l-footer
   1-6.  .l-nav
        1-6-1. .globalNav
        1-6-2. .footerNav
   1-7.  .l-mark
        1-7-1. .mark
   1-8.  .l-loader
   1-9.  .l-state
2. Object
   2-1. Component
        2-1-1.  Wrap      [***Wrap]
        2-1-2.  Mod       [mod-***]
        2-1-3.  Table     [tbl-***]
        2-1-4.  Title     [ttl-***]
        2-1-5.  Headings  [hdg-***]
        2-1-6.  Paragraph [prg-***]
        2-1-7.  Nav       [nav-***]
        2-1-8.  List      [lst-***]
        2-1-9.  Button    [btn-***]
        2-1-10. Link      [lnk-***]
        2-1-11. Icon      [ico-***]
        2-1-12. Label     [lbl-***]
        2-1-13. Form      [frm-***]
        2-1-14. Media     [mda-***]
        2-1-15. Card      [crd-***]
        2-1-16. Pagination
        2-1-17. Breadcrumbs
   2-2. Animation [act-***]
   2-3. OverLayerConfig [z-index]
   2-4. Order [flex-order]
-------------------------------------------------- */
/*====================================================================================
 [0. Foundation]
====================================================================================*/
/* -----------------------------------------------
/* 0-1. Base
-------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,500;0,700;1,500;1,700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,400;0,700;1,400;1,700&display=swap");
body {
    width: 100%;
    min-width: 320px;
    background-color: #fff;
    color: #222222;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 1.5;
    font-family: "YakuHanJP", "Noto Sans Japanese", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
    -webkit-text-size-adjust: 100%;
}

body.is-fix,
body.is-fix--modal {
    position: fixed;
    width: 100%;
    height: 100%;
}

@media (min-width: 576px) {
    body {
        min-width: 768px;
    }
    body.is-fix {
        position: static;
    }
}

@media (min-width: 1025px) {
    body {
        min-width: 1200px;
    }
}

body *,
body *::before,
body *::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

a {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    word-break: break-all;
    -webkit-tap-highlight-color: transparent;
    outline-color: transparent !important;
    -webkit-transition: opacity .1s ease-in-out 0s;
    transition: opacity .1s ease-in-out 0s;
    color: #0c563c;
    text-decoration: underline;
}

a:link {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

/*a:hover,
a:active {
    outline-width: 0;
    text-decoration: none;
}
a:focus {
    outline-width: 0;
    text-decoration: none;
}*/
li img, li a, li a img,
li svg, li a, li a svg {
    vertical-align: bottom;
}

img,
svg {
    display: inline-block;
    width: 100%;
    height: auto;
    vertical-align: bottom;
    line-height: 1;
}

/* -----------------------------------------------
/* 0-2. Config
-------------------------------------------------- */
/* 0-2-1.  font family
-------------------------------------------------- */
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local("Noto Sans CJK JP Medium"), url(../fonts/NotoSansJP-Medium.woff2) format("woff2"), url(../fonts/NotoSansJP-Medium.woff) format("woff"), url(../fonts/NotoSansJP-Medium.otf) format("opentype");
}

@font-face {
    font-family: "YakuHanJP";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/YakuHanJP-Medium.eot");
    src: url("../fonts/YakuHanJP-Medium.woff2") format("woff2"), url("../fonts/YakuHanMP-MEdium.woff") format("woff");
    unicode-range: U+3001-3002, U+300a-3011, U+3014-3015, U+30fb, U+ff01, U+ff08-ff09, U+ff1a-ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}

@font-face {
    font-family: 'icomoon';
    src: url("../fonts/icomoon.ttf?5b4h8g") format("truetype"), url("../fonts/icomoon.woff?5b4h8g") format("woff"), url("../fonts/icomoon.svg?5b4h8g#icomoon") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

.u-ff-noto {
    font-family: "YakuHanJP", "Noto Sans Japanese", sans-serif;
}

.u-ff-roboto {
    font-family: 'Roboto', sans-serif;
}

.u-ff-robotoc {
    font-family: 'Roboto Condensed', sans-serif;
}

/* 0-2-2.  color management
-------------------------------------------------- */
.tc-grn {
    color: #0c563c !important;
}

.tc-grn--l {
    color: #05ab71 !important;
}

.tc-grn--d {
    color: #0f3729 !important;
}

.tc-red {
    color: #ab0505 !important;
}

.tc-blk {
    color: #222222 !important;
}

.tc-blk--l {
    color: #101010 !important;
}

.tc-blk--d {
    color: #c5c5c5 !important;
}

.tc-gry {
    color: #8d8d8d !important;
}

.tc-wht {
    color: #fff !important;
}

/* 0-2-2.  lightbox */
a[data-lightbox] {
    position: relative;
    text-decoration: none !important;
    pointer-events: auto;
}

a[data-lightbox]::after {
    display: inline-block;
    position: absolute;
    bottom: 5px;
    right: 5px;
    padding: 5px;
    background-color: rgba(0, 0, 0, 0.5);
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "\f002";
    color: #fff;
    text-decoration: none !important;
}

/*====================================================================================
 [1. Layout]
====================================================================================*/
/* -----------------------------------------------
/* 1-1.  .l-wrapper
-------------------------------------------------- */
.l-wrapper {
    position: relative;
    max-width: 1920px;
    margin-right: auto;
    margin-left: auto;
    background-color: #fff;
}

/* -----------------------------------------------
/* 1-2.  .l-main
-------------------------------------------------- */
.l-main {
    position: relative;
    min-height: 50vh;
}

#g-main {
    display: block;
    position: relative;
    margin-top: 44px;
}

@media (min-width: 576px) {
    #g-main {
        margin-top: 54px;
    }
}

@media (min-width: 1025px) {
    #g-main {
        margin-top: 80px;
    }
}

.breadcrumbs + #g-main {
    margin-top: 0 !important;
}

/* -----------------------------------------------
/* 1-3.  .p-container
-------------------------------------------------- */
.l-container, .l-container--extra {
    position: relative;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 15px;
    padding-left: 15px;
}

.l-container--fluid {
    position: relative;
    max-width: 100%;
}

@media (min-width: 576px) {
    .l-container {
        max-width: 720px;
    }
    .l-container--extra {
        max-width: 768px;
    }
}

@media (min-width: 768px) {
    .l-container {
        max-width: 960px;
    }
    .l-container--extra {
        max-width: 1020px;
    }
}

@media (min-width: 1025px) {
    .l-container {
        max-width: 1200px;
    }
    .l-container--extra {
        max-width: 1470px;
    }
}

/* -----------------------------------------------
/* 1-4.  .l-header
-------------------------------------------------- */
#g-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
}

@media (min-width: 1025px) {
    #g-header {
        min-width: 1200px;
    }
}

.l-header {
    height: 44px;
}

@media (min-width: 576px) {
    .l-header {
        height: 54px;
    }
}

@media (min-width: 1025px) {
    .l-header {
        height: 80px;
        min-width: 1200px;
    }
}

.logo__hdg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 92px;
    height: 100%;
    margin-left: 8px;
}

.logo__lnk {
    position: relative;
    display: block;
    width: 100%;
    height: 0;
    padding-top: 39.21569%;
    text-align: center;
}

.logo--img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

@media (min-width: 1025px) {
    .logo__hdg {
        width: 168px;
        padding-right: 15px;
        padding-left: 15px;
    }
}

.header__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    margin: 0 auto;
}

.headerSide__items, .headerSide__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
}

.headerSide__item {
    border-right: 1px solid rgba(12, 86, 60, 0.5);
}

@media (min-width: 1025px) {
    .headerSide__item {
        margin-left: 15px;
        border-right: 0;
    }
}

.btnSquare__ico {
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.btnSquare__lnk {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 44px;
    height: 44px;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 500;
    text-align: center;
    -webkit-transition: .2s;
    transition: .2s;
    outline-color: transparent;
}

.btnSquare__lnk.lnk-tel {
    text-decoration: none !important;
}

.btnSquare__txt {
    display: none;
    font-weight: 500;
    white-space: nowrap;
}

.btnSquare--contact, .btnSquare--phone {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
}

.btnSquare--contact .btnSquare__lnk {
    background-color: #0c563c;
    color: #fff;
    line-height: 1.2;
    font-weight: 500;
    text-align: center;
    -webkit-transition: .2s;
    transition: .2s;
    outline-color: transparent;
}

.btnSquare--contact .btnSquare__lnk::before {
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "\f003";
    /* outline */
    content: "\f0e0";
    /* filled */
}

.btnSquare--contact .btnSquare__txt {
    font-family: "YakuHanJP", "Noto Sans Japanese", sans-serif;
}

@media (min-width: 576px) {
    .btnSquare--contact .btnSquare__lnk {
        width: 54px;
        height: 54px;
    }
}

@media (min-width: 1025px) {
    .btnSquare--contact .btnSquare__lnk {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        width: 115px;
        height: 100%;
    }
    .btnSquare--contact .btnSquare__lnk::before {
        font-size: 16px;
    }
    .btnSquare--contact .btnSquare__lnk:hover {
        background-color: #05ab71;
    }
    .btnSquare--contact .btnSquare__txt {
        display: block;
        font-size: 14px;
        margin-top: 0.5em;
    }
}

.btnSquare--phone {
    background-color: #f5f5f0;
}

.btnSquare--phone .btnSquare__lnk::before {
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "\f095";
    /* filled */
}

.btnSquare--phone .btnSquare__time {
    display: none;
}

.btnSquare--phone .btnSquare__txt {
    font-family: 'Roboto', sans-serif;
    line-height: 1.2;
}

@media (min-width: 576px) {
    .btnSquare--phone {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-right: 15px;
        background-color: transparent;
    }
    .btnSquare--phone .btnSquare__lnk {
        width: auto;
        height: auto;
        font-size: 20px;
    }
    .btnSquare--phone .btnSquare__lnk::before {
        font-size: 90%;
        margin-right: 3px;
    }
    .btnSquare--phone .btnSquare__txt {
        display: block;
    }
    .btnSquare--phone .btnSquare__time {
        display: block;
        font-size: 11px;
        line-height: 1.2;
    }
}

@media (min-width: 1025px) {
    .btnSquare--phone {
        margin-right: 0;
    }
    .btnSquare--phone .btnSquare__lnk {
        font-size: 26px;
    }
    .btnSquare--phone .btnSquare__time {
        font-size: 13px;
    }
}

/* -----------------------------------------------
/* 1-5.  .l-footer
-------------------------------------------------- */
#g-footer {
    background-color: #101010;
    color: #fff;
}

.l-footer {
    width: 100%;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 30px;
    padding-right: 15px;
    padding-left: 15px;
    font-size: 13px;
}

@media (min-width: 576px) {
    .l-footer {
        padding-top: 45px;
        font-size: 14px;
    }
}

.footer__content {
    width: 100%;
    margin: 0 auto;
}

.footer__logo--lnk {
    position: relative;
    display: block;
    width: 100%;
    height: 0;
    padding-top: 39.21569%;
    text-align: center;
}

.footer__logo--img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.footer__hdg {
    width: 138px;
    margin-right: auto;
    margin-left: 0;
}

.footer__txt {
    margin-top: 1.5em;
    line-height: 2;
}

@media (min-width: 576px) {
    .footer__content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .footer__info {
        width: 50%;
    }
}

.copy {
    margin-top: 30px;
    border-top: 1px solid #4e4e4e;
    padding: 1em;
    font-size: 11px;
    text-align: center;
}

@media (min-width: 576px) {
    .copy {
        margin-top: 45px;
    }
}

.copy span {
    font-family: Verdana, "Droid Sans", sans-serif;
}

/* pagetop */
.pagetop__lnk {
    display: block;
    padding-bottom: 0.5em;
    text-align: center;
    background-color: #8d8d8d;
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
    font-family: 'Roboto', sans-serif;
    line-height: 1.2;
    color: #fff;
}

.pagetop__lnk::before {
    display: block;
    margin-bottom: -0.1em;
    text-align: center;
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "\f106";
    font-size: 300%;
    font-weight: normal;
}

.pagetop__txt {
    display: none;
}

@media (min-width: 1025px) {
    .pagetop__lnk:hover {
        background-color: #0c563c;
    }
    .pagetop__txt {
        display: inline;
    }
}

/* -----------------------------------------------
/* 1-6.  .l-nav
-------------------------------------------------- */
/* 1-6-1. .globalNav
-------------------------------------------------- */
#g-nav {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    top: 44px;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    padding-bottom: 88px;
    /* width: 100%;
    height: calc(100vh - 44px); */
}

@media (min-width: 576px) {
    #g-nav {
        top: 54px;
        /* height: calc(100vh - 54px); */
        padding-bottom: 108px;
    }
}

@media (min-width: 1025px) {
    #g-nav {
        opacity: 1;
        visibility: visible;
        position: static;
        top: 0;
        left: auto;
        height: 80px;
        margin: 0 0 0 auto;
        padding-bottom: 0;
    }
}

.globalNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    width: 100%;
}

.globalNav__content {
    overflow: auto;
    width: calc(100%);
    height: calc(100vh - 44px);
}

.globalNav__bg {
    opacity: 0;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(12, 86, 60, 0.95)), to(#0c563c));
    background-image: -webkit-linear-gradient(bottom, rgba(12, 86, 60, 0.95) 0%, #0c563c 100%);
    background-image: linear-gradient(0deg, rgba(12, 86, 60, 0.95) 0%, #0c563c 100%);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: cover;
    -webkit-transition-duration: .4s;
    transition-duration: .4s;
    cursor: pointer;
}

@media (min-width: 576px) {
    .globalNav__content {
        height: calc(100vh - 54px);
    }
}

@media (min-width: 1025px) {
    .globalNav {
        position: static;
    }
    .globalNav__content {
        overflow: visible;
        height: 80px;
    }
    .globalNav__bg {
        display: none;
    }
}

/* gNav */
.gNav {
    display: block;
    width: 100%;
    padding-bottom: 60px;
}

.flgSp .gNav,
.flgTab .gNav {
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
}

.gNav__main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-right: 15px;
    padding-left: 15px;
}

.gNav__item {
    position: relative;
    line-height: 2;
    border-bottom: 1px solid #f5f5f0;
}

.gNav__lnk {
    display: inline-block;
    color: #fff;
    padding: 1em;
}

.gNav__lnk::before {
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "\f105";
    margin-right: 0.5em;
}

@media (min-width: 576px) {
    .gNav__lnk {
        font-size: 18px;
    }
}

@media (min-width: 1025px) {
    .gNav {
        overflow: visible;
        height: 80px;
        padding-bottom: 0;
    }
    .gNav__main {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        height: 100%;
    }
    .gNav__item {
        display: block;
        position: relative;
        height: 100%;
        padding: 0;
        border-bottom: 0 none;
        text-align: center;
    }
    .gNav__item#g007, .gNav__item#g007b {
        display: none;
    }
    .gNav__lnk {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        height: 100%;
        padding: 15px;
        font-size: 14px;
        color: #222222;
    }
    .gNav__lnk::before {
        display: none;
    }
    .gNav__lnk:hover {
        color: #05ab71;
    }
}

@media (min-width: 1440px) {
    .gNav__item#g006 {
        display: block;
    }
}

/* sNav */
.subNav {
    display: none;
    width: 100%;
    padding-top: 0.5em;
    line-height: 1;
    font-size: 90%;
}

@media (min-width: 576px) {
    .subNav {
        font-size: 120%;
    }
}

.sNav__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.sNav__item {
    width: 100%;
    border-top: 1px dotted rgba(245, 245, 240, 0.5);
    padding-top: 9.99px;
    padding-bottom: 9.99px;
}

#g003 .sNav__item {
    width: 50%;
}

#g003 .sNav__item:nth-of-type(odd) {
    padding-right: 15px;
}

#g003 .sNav__item:nth-of-type(even) {
    padding-left: 15px;
}

.sNav__lnk {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-family: "YakuHanJP", "Noto Sans Japanese", sans-serif;
    line-height: 1.2;
    color: #f5f5f0;
}

.sNav__lnk::before {
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "\f144";
    margin-right: 0.5em;
    line-height: 1.5;
}

/* 1-6-2. .footerNav
-------------------------------------------------- */
/* fNav */
.fNav {
    width: 100%;
    margin-top: 1.5em;
    padding-top: 1.2em;
    border-top: 1px solid #4e4e4e;
}

.fNav__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
}

.fNav__home {
    width: 100%;
}

.fNav__desc {
    width: calc(100% / 2);
    margin-top: .666em;
}

.fNav__lnk {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #f5f5f0;
    line-height: 1.8;
    font-size: 14px;
}

.fNav__lnk::before {
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "\f105";
    margin-right: 0.5em;
}

@media (max-width: 374px) {
    .fNav__lnk {
        font-size: 12px;
    }
}

@media (min-width: 576px) {
    .fNav {
        width: 50%;
        border-top: 0;
        border-left: 1px solid #4e4e4e;
    }
    .fNav__home, .fNav__desc {
        padding-left: 1.5em;
    }
    .fNav__desc {
        margin-top: 1em;
    }
}

@media (min-width: 1025px) {
    .fNav__lnk:hover {
        color: #05ab71;
    }
    .fNav__lnk:hover > .fNav__lnk--txt {
        text-decoration: underline;
    }
    .fNav__home, .fNav__desc {
        padding-left: 15%;
    }
    .fNav__desc {
        margin-top: .666em;
    }
}

/* -----------------------------------------------
/* 1-7.  .l-mark
-------------------------------------------------- */
@media (min-width: 1025px) {
    .headerSide__item:last-of-type {
        display: none;
    }
}

/* 1-7-1. .mark
-------------------------------------------------- */
.mark {
    position: relative;
    display: block;
    width: 44px;
    height: 44px;
    border: 0 none;
    background-color: #101010;
    outline: none transparent;
}

body.is-fix .mark {
    background-color: #0c563c;
}

.mark::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 56.25%;
    height: 56.25%;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2231px%22%20height%3D%2225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%20255%2C%20255)%22%20d%3D%22M30.363%2C21.101%20C30.363%2C20.445%2029.797%2C19.901%2029.114%2C19.901%20L1.645%2C19.901%20C0.962%2C19.901%200.396%2C20.445%200.396%2C21.101%20L0.396%2C23.500%20C0.396%2C24.156%200.962%2C24.699%201.645%2C24.699%20L29.114%2C24.699%20C29.797%2C24.699%2030.363%2C24.156%2030.363%2C23.500%20L30.363%2C21.101%20ZM30.363%2C11.504%20C30.363%2C10.848%2029.797%2C10.305%2029.114%2C10.305%20L1.645%2C10.305%20C0.962%2C10.305%200.396%2C10.848%200.396%2C11.504%20L0.396%2C13.903%20C0.396%2C14.559%200.962%2C15.103%201.645%2C15.103%20L29.114%2C15.103%20C29.797%2C15.103%2030.363%2C14.559%2030.363%2C13.903%20L30.363%2C11.504%20ZM30.363%2C1.908%20C30.363%2C1.252%2029.797%2C0.708%2029.114%2C0.708%20L1.645%2C0.708%20C0.962%2C0.708%200.396%2C1.252%200.396%2C1.908%20L0.396%2C4.307%20C0.396%2C4.963%200.962%2C5.507%201.645%2C5.507%20L29.114%2C5.507%20C29.797%2C5.507%2030.363%2C4.963%2030.363%2C4.307%20L30.363%2C1.908%20Z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.mark.is-active::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2237px%22%20height%3D%2237px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%20255%2C%20255)%22%20d%3D%22M22.877%2C18.206%20L35.724%2C31.052%20C36.369%2C31.697%2036.369%2C32.743%2035.724%2C33.388%20L33.388%2C35.724%20C32.743%2C36.369%2031.697%2C36.369%2031.052%2C35.724%20L18.206%2C22.877%20L5.359%2C35.724%20C4.714%2C36.369%203.668%2C36.369%203.023%2C35.724%20L0.688%2C33.388%20C0.043%2C32.743%200.043%2C31.697%200.688%2C31.052%20L13.534%2C18.206%20L0.688%2C5.359%20C0.043%2C4.714%200.043%2C3.669%200.688%2C3.023%20L3.023%2C0.688%20C3.668%2C0.043%204.714%2C0.043%205.359%2C0.688%20L18.206%2C13.534%20L31.052%2C0.688%20C31.697%2C0.043%2032.743%2C0.043%2033.388%2C0.688%20L35.724%2C3.023%20C36.369%2C3.669%2036.369%2C4.714%2035.724%2C5.359%20L22.877%2C18.206%20Z%22%2F%3E%3C%2Fsvg%3E");
}

@media (min-width: 576px) {
    .mark {
        width: 54px;
        height: 54px;
    }
}

.markMenu {
    position: relative;
    width: 100%;
    height: 1.8rem;
}

.markMenu__middle {
    -webkit-transition: opacity .25s;
    transition: opacity .25s;
    opacity: 1;
}

.markMenu__middle, .markMenu__top, .markMenu__bottom {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -12px;
    width: 24px;
    height: 2px;
    background-color: #fff;
    -webkit-transition-duration: .4s;
    transition-duration: .4s;
    -webkit-transition-timing-function: cubic-bezier(0.25, 0.74, 0.22, 0.99);
    transition-timing-function: cubic-bezier(0.25, 0.74, 0.22, 0.99);
}

.mark.is-active .markMenu__middle, .mark.is-active .markMenu__top, .mark.is-active .markMenu__bottom {
    background-color: #fff;
}

.l-mark.is-fixed .markMenu__middle, .l-mark.is-fixed .markMenu__top, .l-mark.is-fixed .markMenu__bottom {
    background-color: #fff;
}

.markMenu__middle {
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
    margin-top: -2px;
}

.mark.is-active .markMenu__middle {
    -webkit-transition: opacity .25s;
    transition: opacity .25s;
    opacity: 0;
}

.markMenu__top {
    margin-top: -9px;
}

.mark.is-active .markMenu__top {
    -webkit-transform: rotate(45deg) translate(5px, 5px);
    transform: rotate(45deg) translate(5px, 5px);
}

.markMenu__bottom {
    margin-top: 5px;
}

.mark.is-active .markMenu__bottom {
    -webkit-transform: rotate(-45deg) translate(5px, -5px);
    transform: rotate(-45deg) translate(5px, -5px);
}

/* -----------------------------------------------
/* 1-8.  .l-loader
-------------------------------------------------- */
.l-loader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    background-color: #ffffff;
}

/* -----------------------------------------------
/* 1-9.  .l-state
-------------------------------------------------- */
body.is-fix #g-nav {
    visibility: visible;
    opacity: 1;
}

body.is-fix .gNav {
    visibility: visible;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

body.is-fix .globalNav__bg {
    opacity: 1;
}

body.is-fixflgSp .logo,
body.is-fixflgTab .logo {
    opacity: 0;
}

/*====================================================================================
 [2. Object]
====================================================================================*/
/* -----------------------------------------------
/* 2-1. Component
-------------------------------------------------- */
/* 2-1-1.  Wrap      [***Wrap]
-------------------------------------------------- */
.wrp-highlight, .wrp-highlight--white, .wrp-highlight--gray {
    padding: 15px;
}

@media (min-width: 768px) {
    .wrp-highlight, .wrp-highlight--white, .wrp-highlight--gray {
        padding: 22.5px;
    }
}

@media (min-width: 1025px) {
    .wrp-highlight, .wrp-highlight--white, .wrp-highlight--gray {
        padding: 30px;
    }
}

.wrp-highlight--white {
    background-color: #fff;
}

.wrp-highlight--gray {
    background-color: #eee;
}

.wrp-highlight__ttl {
    margin-bottom: .5em;
    font-size: 1.4rem;
    font-weight: 500;
    color: #0c563c;
}

@media (min-width: 768px) {
    .wrp-highlight__ttl {
        font-size: 1.5rem;
        margin-bottom: .666em;
    }
}

@media (min-width: 1025px) {
    .wrp-highlight__ttl {
        font-size: 1.6rem;
        margin-bottom: .75em;
    }
}

/* 2-1-2.  Mod       [mod-***]
-------------------------------------------------- */
.mod-scroll {
    overflow-y: auto;
    height: 18em;
    margin-top: 30px;
}

.mod-inquiry {
    clear: both;
    padding-top: 30px;
    padding-bottom: 45px;
    background-color: #b4cae2;
    background-image: url(../images/common/inquiry__bg.jpg);
    background-size: cover;
    background-position: center center;
    color: #fff;
}

.mod-inquiry__lst {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1080px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-right: auto;
    margin-left: auto;
}

.mod-inquiry__ttl {
    width: 100%;
    font-family: "YakuHanJP", "Noto Sans Japanese", sans-serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
}

.mod-inquiry__btn, .mod-inquiry__tel, .mod-inquiry__fax {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 1.5em;
    margin-right: auto;
    margin-left: auto;
    padding-top: 27px;
    text-align: center;
}

.mod-inquiry__btn::before, .mod-inquiry__tel::before, .mod-inquiry__fax::before {
    content: attr(data-label) "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    border-radius: 999em;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.8;
    text-align: center;
    background-color: #0c563c;
    color: #fff;
}

.mod-inquiry__num {
    font-family: 'Roboto', sans-serif;
    font-size: 20px;
}

.mod-inquiry__tel, .mod-inquiry__fax {
    width: 42%;
    font-size: 10px;
    line-height: 1.2;
    text-align: center;
}

.mod-inquiry__tel i, .mod-inquiry__fax i {
    margin-right: .1em;
    font-size: 16px;
}

.mod-inquiry__btn {
    width: 92%;
}

.mod-inquiry__btn a {
    font-size: 100%;
}

.mod-inquiry__lnk {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1.2;
}

.mod-inquiry__lnk.lnk-tel {
    text-decoration: none !important;
    color: #fff !important;
}

@media (max-width: 374px) {
    .mod-inquiry__ttl {
        font-size: 24px;
    }
    .mod-inquiry__num {
        font-size: 18px;
    }
    .mod-inquiry__btn a {
        font-size: 92%;
    }
}

@media (min-width: 576px) {
    .mod-inquiry {
        height: 270px;
        padding-top: 60px;
    }
    .mod-inquiry__ttl {
        font-size: 30px;
    }
    .mod-inquiry__btn, .mod-inquiry__tel, .mod-inquiry__fax {
        width: auto;
        padding-top: 32px;
    }
    .mod-inquiry__btn::before, .mod-inquiry__tel::before, .mod-inquiry__fax::before {
        font-size: 14px;
    }
    .mod-inquiry__num {
        font-size: 27px;
    }
    .mod-inquiry__tel i, .mod-inquiry__fax i {
        font-size: 24px;
    }
    .mod-inquiry__tel, .mod-inquiry__fax, .mod-inquiry__btn {
        margin-top: 30px;
    }
}

@media (min-width: 1025px) {
    .mod-inquiry {
        height: 330px;
        padding-top: 90px;
    }
    .mod-inquiry__ttl {
        font-size: 35px;
    }
    .mod-inquiry__tel, .mod-inquiry__fax, .mod-inquiry__btn {
        width: auto;
    }
    .mod-inquiry__num {
        font-size: 35px;
    }
    .mod-inquiry__tel, .mod-inquiry__fax {
        font-size: 14px;
    }
    .mod-inquiry__tel i, .mod-inquiry__fax i {
        font-size: 32px;
    }
    .mod-inquiry__btn a {
        font-size: 16px;
    }
}

.pageBnrs__header {
    background-color: #0c563c;
}

.pageBnrs__ttl {
    width: 100%;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 15px;
    padding-left: 15px;
    background-repeat: no-repeat;
    background-image: /* url(../images/common/ttl-mark--wht.svg), */ url(../images/common/bnrs-ruf.svg);
    background-repeat: no-repeat;
    background-position: /* right 15px bottom -2px, */ left 15px bottom -2px;
    background-size: /* auto 40.66687px, */ auto 25.33346px;
}

.pageBnrs__hdg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    padding-top: .5em;
    padding-bottom: .5em;
    font-size: 18px;
    color: #fff;
}

.pageBnrs__hdg::before {
    content: "";
    width: 1.2em;
    height: 0;
    margin-right: 0.5em;
    padding-top: 1.8em;
    background-image: url(../images/common/bnrs-beginner.svg);
    background-size: cover;
}

@media (min-width: 576px) {
    .pageBnrs__ttl {
        background-image: /* url(../images/common/bnrs-mark.svg), */ url(../images/common/bnrs-ruf.svg);
        background-size: /* auto 50.83374px, */ auto 31.66692px;
    }
    .pageBnrs__hdg {
        font-size: 20px;
    }
}

@media (min-width: 1025px) {
    .pageBnrs__ttl {
        background-size: /* auto 60px, */ auto 38px;
    }
    .pageBnrs__hdg {
        font-size: 22px;
    }
}

.pageBnrs__col {
    width: 100%;
    padding: 15px 0;
}

.pageBnrs__col + .pageBnrs__col {
    border-top: 1px solid #4e4e4e;
}

.pageBnrs__lnk {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
    color: inherit;
}

.pageBnrs__lnk::before {
    content: "";
    width: 60px;
    height: 0;
    padding-top: 60px;
    margin-right: 30px;
    background-color: #f5f5f0;
    background-size: cover;
    border-radius: 100%;
}

.pageBnrs__lnk#pageBnr--flow::before {
    background-image: url(../images/common/ico-phone.svg);
}

.pageBnrs__lnk#pageBnr--group::before {
    background-image: url(../images/common/ico-group.svg);
}

.pageBnrs__lnk#pageBnr--bldg::before {
    background-image: url(../images/common/ico-bldg.svg);
}

.pageBnrs__lnk#pageBnr--knowledge::before {
    background-image: url(../images/common/ico-book.svg);
}

.pageBnrs__lnk#pageBnr--property::before {
    background-image: url(../images/common/ico-estate.svg);
}

.pageBnrs__lnk#pageBnr--service::before {
    background-image: url(../images/common/ico-mark.svg);
}

@media (min-width: 576px) {
    .pageBnrsWrap {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .pageBnrs .row {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .pageBnrs__col {
        width: 33.3%;
        padding: 0;
        text-align: center;
    }
    .pageBnrs__col + .pageBnrs__col {
        border-top: 0 none;
        border-left: 1px solid #4e4e4e;
    }
    .pageBnrs__lnk {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        font-size: 20px;
        -webkit-transition: 0.3s;
        transition: 0.3s;
    }
    .pageBnrs__lnk::before {
        width: 120px;
        height: 120px;
        margin-right: 0;
        margin-bottom: 15px;
        -webkit-transition: 0.3s;
        transition: 0.3s;
    }
    .pageBnrs__lnk:hover {
        color: #0c563c;
    }
    .pageBnrs__lnk:hover::before {
        background-color: #0c563c;
    }
}

/* 2-1-3.  Table     [tbl-***]
-------------------------------------------------- */
/* 2-1-4.  Title     [ttl-***]
-------------------------------------------------- */
.pageTitle {
    text-shadow:
         0 0 .2em #fff,
         0 0 .2em #fff,
         0 0 .2em #fff,
         0 0 .2em #fff,
         0 0 .2em #fff,
         0 0 .2em #fff,
         0 0 .2em #fff,
         0 0 .2em #fff,
         0 0 .2em #fff,
         0 0 .2em #fff,
         0 0 .2em #fff;
}
.pageTitle::before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 50%;
    background-color: #0f3729;
    background-repeat: no-repeat;
    background-position: /* right 30px bottom -2px, */ right center;
    background-size: /* 41px 61px , */ cover;
}

@media (min-width: 576px) {
    .pageTitle::before {
        background-size: /* 82px 122px , */ cover;
    }
}

@media (min-width: 1025px) {
    .pageTitle {
        text-shadow: none;
    }
    .pageTitle::before {
        background-size: /* 123px 183px , */ cover;
    }
}

.page-service .pageTitle::before {
    background-image: /* url(../images/common/ttl-mark--wht.svg), */ url(../images/common/ttl-service.jpg);
}

.page-property .pageTitle::before {
    background-image: /* url(../images/common/ttl-mark--wht.svg), */ url(../images/common/ttl-property.jpg);
}

.page-flow .pageTitle::before {
    background-image: /* url(../images/common/ttl-mark--wht.svg), */ url(../images/common/ttl-flow.jpg);
}

.page-company .pageTitle::before {
    background-image: /* url(../images/common/ttl-mark--wht.svg), */ url(../images/common/ttl-company.jpg);
}

.page-news .pageTitle::before {
    background-image: /* url(../images/common/ttl-mark--wht.svg), */ url(../images/common/ttl-news.jpg);
}

.page-contact .pageTitle::before {
    background-image: /* url(../images/common/ttl-mark--wht.svg), */ url(../images/common/ttl-contact.jpg);
}

.pageTitle__hdg {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    margin-top: -1.5em;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    color: #0c563c;
}

.pageTitle__hdg::before {
    content: attr(data-title) "";
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 0;
    margin-right: 0.25em;
    text-transform: uppercase;
}

@media (max-width: 374px) {
    .pageTitle__hdg {
        margin-top: -1.2em;
        font-size: 15px;
    }
    .pageTitle__hdg::before {
        font-size: 36px;
    }
}

@media (min-width: 576px) {
    .pageTitle::before {
        padding-top: 33.3%;
    }
}

@media (min-width: 768px) {
    .pageTitle {
        background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #f5f5f0), color-stop(50%, transparent));
        background-image: -webkit-linear-gradient(top, #f5f5f0 50%, transparent 50%);
        background-image: linear-gradient(180deg, #f5f5f0 50%, transparent 50%);
    }
    .pageTitle::before {
        width: 90%;
        padding-top: 288px;
    }
    .pageTitle__hdg {
        max-width: 1200px;
        margin-top: -2.0em;
        font-size: 22px;
    }
    .pageTitle__hdg::before {
        font-size: 72px;
        margin-right: 15px;
    }
}

@media (min-width: 1025px) {
    .pageTitle::before {
        width: 90%;
        padding-top: 384px;
    }
    .pageTitle__hdg {
        margin-top: -2.5em;
        font-size: 24px;
    }
    .pageTitle__hdg::before {
        font-size: 96px;
        margin-right: 15px;
    }
}

.ttl-double {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    white-space: nowrap;
    line-height: 1.2;
}

.ttl-double::before {
    content: attr(data-label) "";
    display: block;
    margin-bottom: .666em;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-align: center;
    text-transform: uppercase;
    color: #0c563c;
}

.ttl-double__hdg {
    margin-bottom: 1em;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.05em;
}

.ttl-double__em {
    display: inline-block;
    position: relative;
    z-index: 1;
    font-weight: 500;
    font-style: normal;
}

.ttl-double__box {
    position: relative;
    margin-left: .45em;
    margin-right: .45em;
    font-size: 120%;
    color: #0c563c;
}

.ttl-double__box b {
    position: relative;
    z-index: 3;
    font-weight: 500;
}

.ttl-double__box::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: -0.3em;
    bottom: -0.4em;
    right: -0.3em;
    left: -0.3em;
    display: block;
    width: calc(1.6em);
    height: calc(1.6em);
    padding-top: calc(1.6em);
    margin: auto;
    background-color: #fff;
    background-image: -webkit-linear-gradient(135deg, #f5f5f0 50%, #fff 50%), -webkit-linear-gradient(135deg, #dbdbd1 25%, #b8b7a3 25%, #b8b7a3 50%, #dbdbd1 50%, #dbdbd1 75%, #b8b7a3 75%, #b8b7a3);
    background-image: linear-gradient(-45deg, #f5f5f0 50%, #fff 50%), linear-gradient(-45deg, #dbdbd1 25%, #b8b7a3 25%, #b8b7a3 50%, #dbdbd1 50%, #dbdbd1 75%, #b8b7a3 75%, #b8b7a3);
    background-size: calc(100% - 6px) calc(100% - 6px), 4px 4px;
    background-position: center center;
    background-repeat: no-repeat, repeat;
}

.step-error .ttl-double::before {
    color: #ab0505;
}

@media (max-width: 374px) {
    .ttl-double::before {
        font-size: 14px;
    }
    .ttl-double__hdg {
        font-size: 20px;
    }
}

@media (min-width: 576px) {
    .ttl-double::before {
        font-size: 20px;
    }
    .ttl-double__hdg {
        font-size: 30px;
    }
}

@media (min-width: 1025px) {
    .ttl-double::before {
        font-size: 22px;
    }
    .ttl-double__hdg {
        font-size: 35px;
    }
}

.ttl-basic, .ttl-basic--bullet {
    margin-top: 30px;
    margin-bottom: 15px;
}

.ttl-basic--bullet {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #0c563c;
}

.ttl-basic--bullet::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 4px;
    margin-top: 1px;
    margin-right: 8px;
    background-color: #05ab71;
}

.ttl-number {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.ttl-number::before {
    content: attr(data-label) "";
    color: #0c563c;
}

.ttl-number__num {
    width: 66.6%;
    background-image: -webkit-gradient(linear, left top, right top, from(#4e4e4e), to(transparent));
    background-image: -webkit-linear-gradient(left, #4e4e4e calc(100% - 2em), transparent calc(100% - 2em));
    background-image: linear-gradient(90deg, #4e4e4e calc(100% - 2em), transparent calc(100% - 2em));
    background-size: 100% 1px;
    background-repeat: no-repeat;
    background-position: left center;
    text-align: right;
}

.ttl-number__hdg {
    width: 100%;
    margin-bottom: .5em;
    font-family: "YakuHanJP", "Noto Sans Japanese", sans-serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.2;
}

@media (min-width: 576px) {
    .ttl-number {
        font-size: 20px;
    }
    .ttl-number__hdg {
        font-size: 27px;
        margin-bottom: .5em;
    }
}

@media (min-width: 1025px) {
    .ttl-number {
        font-size: 22px;
    }
    .ttl-number__hdg {
        font-size: 35px;
        margin-bottom: 1em;
    }
}

/* 2-1-5.  Headings  [hdg-***]
-------------------------------------------------- */
.hdg-1 {
    font-size: 3.2rem;
    font-weight: 500;
}

.hdg-2 {
    font-size: 2.4rem;
    font-weight: 500;
}

.hdg-3 {
    font-size: 2.0rem;
    font-weight: 500;
}

.hdg-4 {
    font-size: 1.8rem;
    font-weight: 500;
}

.hdg-5 {
    font-size: 1.7rem;
    font-weight: 500;
}

.hdg-6 {
    font-size: 1.6rem;
    font-weight: 500;
}

.hdg-7 {
    font-size: 1.5rem;
    font-weight: 500;
}

.hdg-8 {
    font-size: 1.2rem;
    font-weight: 500;
}

@media (max-width: 374px) {
    .hdg-1 {
        font-size: 2.7rem;
    }
    .hdg-2 {
        font-size: 2.2rem;
    }
    .hdg-3 {
        font-size: 1.8rem;
    }
    .hdg-4 {
        font-size: 1.7rem;
    }
    .hdg-5 {
        font-size: 1.6rem;
    }
    .hdg-6 {
        font-size: 1.5rem;
    }
    .hdg-7 {
        font-size: 1.4rem;
    }
    .hdg-8 {
        font-size: 1.1rem;
    }
}

@media (min-width: 576px) {
    .hdg-1 {
        font-size: 4.0rem;
    }
    .hdg-2 {
        font-size: 3.0rem;
    }
    .hdg-3 {
        font-size: 2.7rem;
    }
    .hdg-4 {
        font-size: 2.2rem;
    }
    .hdg-5 {
        font-size: 1.8rem;
    }
    .hdg-6 {
        font-size: 1.6rem;
    }
    .hdg-7 {
        font-size: 1.5rem;
    }
    .hdg-8 {
        font-size: 1.2rem;
    }
}

@media (min-width: 1025px) {
    .hdg-1 {
        font-size: 4.8rem;
    }
    .hdg-2 {
        font-size: 3.6rem;
    }
    .hdg-3 {
        font-size: 3.2rem;
    }
    .hdg-4 {
        font-size: 2.4rem;
    }
    .hdg-5 {
        font-size: 2.0rem;
    }
    .hdg-6 {
        font-size: 1.8rem;
    }
    .hdg-7 {
        font-size: 1.6rem;
    }
    .hdg-8 {
        font-size: 1.2rem;
    }
}

/* 2-1-6.  Paragraph [prg-***]
-------------------------------------------------- */
.prg-xl p + p, .prg-l p + p, .prg-l2 p + p, .prg-m p + p, .prg-s p + p, .prg-xs p + p {
    margin-top: 1em;
}

.prg-xl {
    font-size: 2.0rem;
    line-height: 1.2;
}

.prg-l {
    font-size: 1.6rem;
    line-height: 1.8;
}

.prg-l2 {
    font-size: 1.4rem;
    line-height: 1.8;
}

.prg-m {
    font-size: 1.3rem;
    line-height: 1.8;
}

.prg-s {
    font-size: 1.2rem;
    line-height: 1.8;
}

.prg-xs {
    font-size: 1.0rem;
    line-height: 1.5;
}

@media (max-width: 374px) {
    .prg-xl {
        font-size: 1.8rem;
    }
    .prg-l {
        font-size: 1.5rem;
    }
    .prg-l2 {
        font-size: 1.4rem;
    }
    .prg-m {
        font-size: 1.3rem;
    }
    .prg-m {
        font-size: 1.3rem;
    }
    .prg-s {
        font-size: 1.0rem;
    }
    .prg-xs {
        font-size: 0.8rem;
    }
}

@media (min-width: 576px) {
    .prg-xl {
        font-size: 2.4rem;
    }
    .prg-l {
        font-size: 1.6rem;
    }
    .prg-l2 {
        font-size: 1.6rem;
    }
    .prg-m {
        font-size: 1.4rem;
    }
    .prg-m {
        font-size: 1.4rem;
    }
    .prg-s {
        font-size: 1.3rem;
    }
    .prg-xs {
        font-size: 1.2rem;
    }
}

.standby {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 40vh;
    font-family: "YakuHanJP", "Noto Sans Japanese", sans-serif;
}

.standby::before {
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "\f071";
    font-size: 180%;
    color: #ab0505;
}

.standby p {
    text-align: center;
}

.standby p::before {
    content: "Underconstruction";
    display: block;
    padding: .5em;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 150%;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    color: #0c563c;
}

@media (min-width: 768px) {
    .standby {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .standby::before {
        font-size: 200%;
    }
}

/* 2-1-7.  Nav       [nav-***]
-------------------------------------------------- */
/* 2-1-8.  List      [lst-***]
-------------------------------------------------- */
.lst-btn {
    width: 90%;
    margin-top: 30px;
    margin-right: auto;
    margin-left: auto;
}

.lst-btn__item {
    text-align: center;
}

.lst-btn__item + .lst-btn__item {
    margin-top: 15px;
}

@media (min-width: 576px) {
    .lst-btn {
        width: 100%;
    }
    .lst-btn__items {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-bottom: 0;
    }
    .lst-btn__item + .lst-btn__item {
        margin-top: 0;
        margin-left: 15px;
    }
}

.lst-table {
    width: 100%;
}

.lst-table__table {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-top: 1px solid #c5c5c5;
}

.lst-table__th, .lst-table__td {
    width: 100%;
    padding-left: 1em;
    padding-right: 1em;
}

.lst-table__th:nth-of-type(even), .lst-table__td:nth-of-type(even) {
    background-color: #f5f5f0;
}

.lst-table__th {
    padding-top: 1em;
    color: #0c563c;
}

.lst-table__td {
    padding-top: 0.666em;
    padding-bottom: 1em;
    border-bottom: 1px solid #c5c5c5;
}

@media (min-width: 576px) {
    .lst-table__th, .lst-table__td {
        padding-top: 1.5em;
        padding-bottom: 1.5em;
    }
    .lst-table__th {
        width: 12em;
        border-bottom: 1px solid #c5c5c5;
    }
    .lst-table__td {
        width: calc(100% - 12em);
    }
}

@media (min-width: 1025px) {
    .lst-table__th {
        width: 20em;
        padding-left: 3em;
    }
    .lst-table__td {
        width: calc(100% - 20em);
    }
}

.lst-zebra {
    width: 100%;
}

.lst-zebra__table {
    border-top: 1px solid #c5c5c5;
}

.lst-zebra__th {
    padding: .5rem 1rem 0;
    font-size: 10px;
    color: #0c563c;
}
.lst-zebra__td {
    width: 100%;
    padding: .5rem 1rem;
    border-bottom: 1px solid #c5c5c5;
}

.lst-zebra__th:nth-of-type(odd), .lst-zebra__td:nth-of-type(odd) {
    background-color: #fff;
}

.lst-zebra__th:nth-of-type(even), .lst-zebra__td:nth-of-type(even) {
    background-color: #f5f5f0;
}

@media (min-width: 576px) {
    .lst-zebra__table {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .lst-zebra__th {
        width: 8em;
        padding: .5em 1em;
        border-bottom: 1px solid #c5c5c5;
        font-size: 100%;
        color: #222;
    }
    .lst-zebra__td {
        width: calc(100% - 8em);
    }
}

.lst-prenum__items {
    counter-reset: lstnum;
}

.lst-prenum__item {
    position: relative;
    padding-left: 2em;
    line-height: 1.2;
}

.lst-prenum__item + .lst-prenum__item {
    margin-top: 0.666em;
}

.lst-prenum__item::before {
    position: absolute;
    top: .54em;
    left: 0;
    content: counter(lstnum);
    counter-increment: lstnum;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 1.25em;
    height: 1.25em;
    margin-top: -.2em;
    padding-top: 0.2em;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 80%;
    line-height: 1.2;
    background-color: #0c563c;
    color: #fff;
}

@media (min-width: 576px) {
    .lst-prenum__item + .lst-prenum__item {
        margin-top: 1em;
    }
}

.lst-contact__item {
    margin-top: 15px;
    line-height: 1.2;
    text-align: center;
}

.lst-contact__tel {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 26px;
    line-height: 1.2;
}

.lst-contact__tel i {
    font-size: 90%;
}

.lst-contact__time {
    display: inline-block;
    font-size: 92%;
    line-height: 1.2;
}

@media (min-width: 576px) {
    .lst-contact__items {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        /* padding-top: 15px; */
    }
    .lst-contact__item + .lst-contact__item {
        margin-left: 30px;
    }
}

/* 2-1-9.  Button    [btn-***]
-------------------------------------------------- */
.btn-basic, .btn-basic--resize, .btn-basic__posi, .btn-basic__nega, .btn-basic__home, .btn-frame, .btn-frame--prev, .btn-frame--next, .btn-frame--blu, .btn-frame--wht, .btn-icon, .btn-icon--home, .btn-icon--point, .btn-icon--email, .btn-icon--outwin {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    line-height: 1;
    font-family: "YakuHanJP", "Noto Sans Japanese", sans-serif;
    font-weight: 500;
    letter-spacing: 0;
    text-align: center;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    outline-color: transparent;
}

.btn-frame, .btn-frame--prev, .btn-frame--next, .btn-frame--blu, .btn-frame--wht {
    border-width: 1px;
    border-style: solid;
}

@media (min-width: 576px) {
    .btn-frame:hover, .btn-frame--prev:hover, .btn-frame--next:hover, .btn-frame--blu:hover, .btn-frame--wht:hover {
        background-color: #05ab71;
        border-color: #05ab71;
        color: #fff;
    }
}

.btn-basic__posi::after, .btn-frame::after, .btn-frame--next::after, .btn-frame--blu::after, .btn-frame--wht::after {
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "\f105";
    position: absolute;
    top: 0;
    right: .75em;
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: bold;
    font-size: 108%;
}

.btn-basic__nega::before, .btn-frame--prev::before {
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "\f104";
    position: absolute;
    top: 0;
    left: .75em;
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: bold;
    font-size: 108%;
}

.btn-basic, .btn-basic--resize {
    overflow: hidden;
    padding: .7em 1.5em .8em;
    color: #fff;
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
}

.btn-basic::before, .btn-basic::after, .btn-basic--resize::before, .btn-basic--resize::after {
    z-index: 5;
    position: relative;
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
}

.btn-basic::before, .btn-basic--resize::before {
    margin-right: 0.5em;
}

.btn-basic::after, .btn-basic--resize::after {
    margin-left: 0.5em;
}

.btn-basic__txt, .btn-basic--resize__txt {
    z-index: 5;
    position: relative;
}

.btn-basic__posi, .btn-basic__nega, .btn-basic__home {
    overflow: hidden;
    padding: 1.2em 1.5em;
    color: #fff;
    -webkit-transform: translateY(-1px);
    transform: translateY(-1px);
}

.btn-basic__posi {
    border-color: #0c563c;
    background-color: #0c563c;
    color: #fff;
}

.btn-basic__posi.disabled {
    opacity: 0.1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    border-color: #253e35;
    background-color: #253e35;
}

.btn-basic__nega {
    border-color: #222;
    background-color: #222;
    -webkit-box-shadow: 0 2px 0 #444;
    box-shadow: 0 2px 0 #444;
}

.btn-basic__home {
    border-color: #0c563c;
    background-color: #0c563c;
    color: #fff;
}

.btn-basic__home::before {
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "\f015";
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: normal;
    font-size: 200%;
    margin-right: 0.5em;
}

.btn-basic__txt {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.btn-basic__txt::after {
    content: attr(data-label) "";
    display: inline-block;
    margin-top: 0.333em;
    font-size: 80%;
    font-family: 'Lato';
    letter-spacing: 0;
}

@media (min-width: 576px) {
    .btn-basic, .btn-basic__posi, .btn-basic__nega, .btn-basic__home {
        width: 100%;
        -webkit-transition: 0s;
        transition: 0s;
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }
    .btn-basic--resize {
        width: 100%;
    }
}

@media (min-width: 768px) {
    .btn-basic__posi:not(.disabled):hover {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        background-color: #05ab71;
    }
    .btn-basic__nega:hover {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        background-color: #666;
        -webkit-box-shadow: 0 0 0 #888;
        box-shadow: 0 0 0 #888;
    }
    .btn-basic__home:hover {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        background-color: #05ab71;
    }
}

.btn-frame, .btn-frame--prev, .btn-frame--next, .btn-frame--blu, .btn-frame--wht {
    padding: .5em 1.5em .6em;
}

.btn-frame::before, .btn-frame::after, .btn-frame--prev::before, .btn-frame--prev::after, .btn-frame--next::before, .btn-frame--next::after, .btn-frame--blu::before, .btn-frame--blu::after, .btn-frame--wht::before, .btn-frame--wht::after {
    font-weight: 400;
}

.btn-frame--blu {
    border-color: #0c563c;
    color: #0c563c;
}

.btn-frame--wht {
    border-color: rgba(255, 255, 255, 0.5);
    color: #fff;
}

.btn-frame--txt {
    font-weight: 600;
}

.btn-small {
    text-align: center;
    color: #fff;
    background-color: #101010;
    background-repeat: no-repeat;
    background-position: right 3px bottom 3px;
    background-size: 9px 9px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229px%22%20height%3D%229px%22%20viewbox%3D%220%200%209%209%22%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%20255%2C%20255)%22%20d%3D%22M0.683%2C8.439%20L8.440%2C8.439%20L8.440%2C0.683%20L0.683%2C8.439%20Z%22%2F%3E%3C%2Fsvg%3E");
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
}

.btn-small:hover {
    background-color: #05ab71;
    background-size: 6px 6px;
}

.btn-more {
    display: block;
    width: 180px;
    height: 2.7em;
    font-size: 14px;
}

.btn-more::before, .btn-more__txt {
    display: block;
    height: 2.7em;
    line-height: 2.7em;
    padding: 0 2em;
    color: #fff;
    text-align: center;
    background-repeat: no-repeat;
    background-position: right 3px bottom 3px;
    background-size: 9px 9px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229px%22%20height%3D%229px%22%20viewbox%3D%220%200%209%209%22%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%20255%2C%20255)%22%20d%3D%22M0.683%2C8.439%20L8.440%2C8.439%20L8.440%2C0.683%20L0.683%2C8.439%20Z%22%2F%3E%3C%2Fsvg%3E");
}

.btn-more::before {
    content: "more";
    font-family: 'Roboto Condensed', sans-serif;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    background-color: #101010;
}

.btn-more__txt {
    display: none;
}

@media (min-width: 576px) {
    .btn-more {
        -webkit-transition: all ease 0.5s;
        transition: all ease 0.5s;
        -webkit-transform-style: preserve-3d;
        transform-style: preserve-3d;
    }

    .btn-more__txt {
        background-color: #05ab71;
    }

    .btn-more::before {
        -webkit-transform: translateZ(18.9px);
        transform: translateZ(18.9px);
    }

    .btn-more__txt {
        display: block;
        -webkit-transform: rotateX(-90deg) translateZ(-18.9px);
        transform: rotateX(-90deg) translateZ(-18.9px);
    }
}
@media (min-width: 576px) {
    .btn-more {
        width: 210px;
        font-size: 15px;
        height: 48px;
        font-size: 15px;
    }
    .btn-more::before, .btn-more__txt {
        display: block;
        height: 48px;
        line-height: 48px;
    }
    .btn-more::before {
        -webkit-transform: translateZ(24px);
        transform: translateZ(24px);
    }
    .btn-more__txt {
        -webkit-transform: rotateX(-90deg) translateZ(-24px);
        transform: rotateX(-90deg) translateZ(-24px);
    }
    .btn-more.is-active {
        -webkit-transform: rotateX(90deg);
        transform: rotateX(90deg);
    }
}

@media (min-width: 1025px) {
    .btn-more {
        width: 240px;
        height: 51.2px;
        font-size: 16px;
    }
    .btn-more::before, .btn-more__txt {
        display: block;
        height: 51.2px;
        line-height: 51.2px;
    }
    .btn-more::before {
        -webkit-transform: translateZ(25.6px);
        transform: translateZ(25.6px);
    }
    .btn-more__txt {
        -webkit-transform: rotateX(-90deg) translateZ(-25.6px);
        transform: rotateX(-90deg) translateZ(-25.6px);
    }
}

.btn-small {
    display: inline-block;
    font-size: 12px;
    padding: 0.4em 2em 0.4em;
}

@media (min-width: 576px) {
    .btn-small {
        font-size: 14px;
    }
}

.btn-icon, .btn-icon--home, .btn-icon--point, .btn-icon--email, .btn-icon--outwin {
    overflow: hidden;
    padding: .7em 1.5em .8em;
    padding: 1.2em 2.5em 1.3em;
    color: #fff;
}

.btn-icon::before, .btn-icon::after, .btn-icon--home::before, .btn-icon--home::after, .btn-icon--point::before, .btn-icon--point::after, .btn-icon--email::before, .btn-icon--email::after, .btn-icon--outwin::before, .btn-icon--outwin::after {
    z-index: 5;
    position: relative;
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
}

.btn-icon::before, .btn-icon--home::before, .btn-icon--point::before, .btn-icon--email::before, .btn-icon--outwin::before {
    margin-right: 0.5em;
}

.btn-icon::after, .btn-icon--home::after, .btn-icon--point::after, .btn-icon--email::after, .btn-icon--outwin::after {
    margin-left: 0.5em;
}

.btn-icon--txt {
    z-index: 5;
    position: relative;
    /* text-transform: uppercase; */
}

.btn-icon--home {
    background-color: #101010;
}

.btn-icon--home::before {
    content: "\f015";
}

.btn-icon--email {
    background-color: #101010;
}

.btn-icon--email::before {
    content: "\f003";
    /* outline */
    content: "\f0e0";
    /* filled */
}

.btn-icon--outwin {
    background-color: #101010;
}

.btn-icon--outwin::after {
    content: "\f2d2";
}

@media (min-width: 576px) {
    .btn-icon, .btn-icon--home, .btn-icon--point, .btn-icon--email, .btn-icon--outwin {
        width: 100%;
        padding: 1.2em 2.5em 1.3em;
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }
    .btn-icon:hover, .btn-icon--home:hover, .btn-icon--point:hover, .btn-icon--email:hover, .btn-icon--outwin:hover {
        background-color: #05ab71;
    }
    .btn-icon:active, .btn-icon--home:active, .btn-icon--point:active, .btn-icon--email:active, .btn-icon--outwin:active {
        -webkit-box-shadow: 0 0 0 transparent;
        box-shadow: 0 0 0 transparent;
    }
}

/* 2-1-10. Link      [lnk-***]
-------------------------------------------------- */
.lnk-none {
    text-decoration: none !important;
    color: inherit !important;
}

.lnk-tel, .lnk-tel--wht {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    pointer-events: auto;
    text-decoration: underline !important;
}

.lnk-tel:hover, .lnk-tel--wht:hover {
    text-decoration: none !important;
}

.lnk-tel {
    color: #0c563c;
}

.lnk-tel--wht {
    color: #fff !important;
}

.lnk-fax {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    pointer-events: none;
}

.lnk-udl {
    text-decoration: underline !important;
}

.lnk-udl:hover {
    text-decoration: none !important;
}

.lnk-bdr {
    border-bottom: 1px solid #0c563c;
    color: #0c563c;
}

.lnk-bdr--wht {
    border-bottom: 1px solid #fff;
    color: #fff;
}

.lnk-txt {
    display: inline;
    color: #666;
    -webkit-transition: .3s;
    transition: .3s;
}

.lnk-txt [class*="ti-"] {
    margin-left: 5px;
    font-size: 1.1rem;
}

@media (min-width: 576px) {
    .lnk-tel, .lnk-tel--wht {
        pointer-events: none;
        color: inherit;
        text-decoration: none !important;
    }
}

@media (min-width: 768px) {
    .js-lnkBox.is-active .lnk-txt, .lnk-txt:hover {
        color: #999;
    }
    .lnk-bdr:hover, .lnk-bdr--wht:hover {
        color: #05ab71;
        border-bottom: 1px solid transparent;
    }
}

/* 2-1-11. Icon      [ico-***]
-------------------------------------------------- */
/* 2-1-12. Label     [lbl-***]
-------------------------------------------------- */
.lbl-require, .lbl-anyitem {
    display: block;
    float: left;
    margin-right: 1em;
    padding: 0 .5em 0.1em;
    border-radius: 0.25em;
    font-family: "YakuHanJP", "Noto Sans Japanese", sans-serif;
    font-size: 92%;
    text-align: center;
    background-size: cover;
    color: #fff;
}

.lbl-require {
    background-color: #ab0505;
}

.lbl-anyitem {
    background-color: #0f3729;
}

.lbl-formissue {
    display: inline-block;
    margin-top: .5em;
    line-height: 1.2;
    cursor: default;
}

.lbl-formissue::after {
    content: attr(data-label) "";
    display: block;
    margin-top: .2em;
    font-size: 80%;
    font-family: 'Lato', sans-serif;
    color: #0c563c;
}

@media (min-width: 576px) {
    .lbl-formissue {
        margin-top: .333em;
    }
    .lbl-formissue::after {
        margin-top: .333em;
    }
}

.lbl-formitem {
    display: inline-block;
    margin-top: 1em;
    margin-bottom: 0.333em;
    cursor: default;
}

.lbl-eg {
    display: inline-block;
    margin-top: 2px;
    margin-bottom: .5em;
    font-size: 90%;
    color: #666;
}

/* 2-1-13. Form      [frm-***]
-------------------------------------------------- */
.frm-common input[type="text"],
.frm-common textarea,
.frm-common select,
.frm-common select > option {
    border: 1px solid #e3e2e0;
    font-size: 1.6rem;
}

.frm-common input[type="text"]:focus,
.frm-common textarea:focus,
.frm-common select:focus,
.frm-common select > option:focus {
    border-color: #e1c024;
    -webkit-box-shadow: 0 0 5px 0 rgba(225, 192, 36, 0.3);
    box-shadow: 0 0 5px 0 rgba(225, 192, 36, 0.3);
}

.frm-common input[type="text"],
.frm-common select,
.frm-common select > option {
    height: 3em;
    padding-left: 0.6em;
}

.frm-common label {
    display: inline-block;
}

.frm-common .frm-common__zip {
    width: 8em;
}

.frm-common .frm-common__zipset {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.frm-common__items--hol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.frm-common__items--hol li + li {
    margin-left: 30px;
}

.frm-common__rules {
    margin-top: 30px;
}

.frm-common__rules--txt {
    text-align: center;
}

.frm-common__rules--lbl a {
    display: inline-block;
}

.frm-common__rules--att {
    margin-top: .5em;
    font-size: 1.1rem !important;
    text-align: center;
}

.frm-common__button, .frm-common__confirm {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    text-align: center;
}

@media (min-width: 576px) {
    .frm-common__button, .frm-common__confirm {
        width: auto;
    }
}

.frm-common__button p {
    width: 100%;
    padding-top: 15px;
}

.frm-common__confirm {
    margin-top: 30px;
}

.frm-common__confirm--posi {
    margin-bottom: 15px;
}

.frm-common__confirm--posi, .frm-common__confirm--nega {
    width: 100%;
}

.frm-common__issue {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 3em;
    margin-top: .75em;
}

.frm-common__issue:nth-of-type(1) {
    margin-top: 0;
}

.frm-common__issue--others {
    width: calc(100% - 6em) !important;
    margin-left: 1em;
}

.frm-common__zipgroup {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media (max-width: 374px) {
    .frm-common__button, .frm-common__confirm {
        font-size: 80%;
    }
}

@media (min-width: 576px) {
    .frm-common__button, .frm-common__confirm {
        width: auto;
    }
    .frm-common__button p {
        width: 33.3%;
        padding-top: 30px;
    }
    .frm-common__confirm {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }
    .frm-common__confirm--posi {
        margin-left: 30px;
        margin-bottom: 0;
    }
    .frm-common__confirm--posi, .frm-common__confirm--nega {
        width: 33.3%;
    }
}

@media (min-width: 1025px) {
    .frm-common__button {
        padding-bottom: 60px;
    }
    .frm-common__issue {
        margin-top: .5em;
    }
}

/* 2-1-14. Media     [mda-***]
-------------------------------------------------- */
.mda-access {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 75%;
}

.mda-access__iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media (min-width: 576px) {
    .mda-access {
        padding-top: 160%;
    }
}

@media (min-width: 800px) {
    .mda-access {
        padding-top: 133.333%;
    }
}

@media (min-width: 1025px) {
    .mda-access {
        padding-top: 80%;
    }
}

/* 2-1-15. Card      [crd-***]
-------------------------------------------------- */
.crd-simple {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    height: calc(100% - 30px);
    margin-top: 30px;
    background-color: #fff;
    background-size: cover;
}

.crd-simple::before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 75%;
    background-size: cover;
    background-color: #0c563c;
}

.crd-simple__cont {
    width: calc(100% - 30px);
    margin: -45px 15px 15px;
    padding: 15px;
    background-color: rgba(255, 255, 255, 0.95);
}

.crd-simple__ttl {
    font-size: 18px;
    font-weight: 500;
}

.crd-simple__prg {
    margin-top: 1em;
    line-height: 1.8;
}

@media (min-width: 576px) {
    .crd-simple {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }
    .crd-simple::before {
        width: 33.3%;
        height: 0;
        padding-top: 24.975%;
    }
    .crd-simple__cont {
        width: 66.6%;
        margin: 0;
    }
    .crd-simple__ttl {
        font-size: 20px;
    }
}

@media (min-width: 1025px) {
    .crd-simple {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .crd-simple::before {
        width: 100%;
        height: 0;
        padding-top: 75%;
    }
    .crd-simple__cont {
        width: 100%;
        padding: 30px;
    }
    .crd-simple__ttl {
        font-size: 22px;
    }
}

/* 2-1-16. Pagenation
-------------------------------------------------- */
/* 2-1-17. Breadcrumbs
-------------------------------------------------- */
.breadcrumbs {
    width: 100%;
    background-color: #f5f5f0;
    color: #0c563c;
    font-size: 1.1rem;
    margin-top: 44px;
}

.breadcrumbs__inner{
    padding-top: 10px;
    padding-bottom: 10px;
}

@media (min-width: 1025px) {
    .breadcrumbs__inner{
        padding-top: 0px;
        padding-bottom: 0px;
    }
}

.breadcrumbs__inner > span:first-of-type{
    padding-right: 10px;

    a > span::before{
        font-family: 'icomoon' !important;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        content: "\f015";
        display: inline-block;
        margin-right: .5em;
    }

}  

.breadcrumbs__inner > span:not(:first-of-type){
    display: inline-block;
    padding: 0 10px;
}



@media (min-width: 576px) {
    .breadcrumbs {
        margin-top: 54px;
    }
}

@media (min-width: 1025px) {
    .breadcrumbs {
        padding-top: 1.5em;
        padding-bottom: 1.5em;
        margin-top: 80px;
    }
}

.breadcrumb__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
    line-height: 2;
}

.breadcrumb__item:not(:last-child)::after {
    margin: 0 .5em;
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "\f105";
}

.breadcrumb__item:first-of-type .breadcrumbs__lnk::before {
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "\f015";
    color: #1f90d4;
}

.breadcrumb__item:last-of-type {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 7em;
}

.breadcrumb__lnk {
    color: #0c563c;
}

.breadcrumb__item:first-of-type .breadcrumb__lnk span {
    display: none;
    margin-left: 0.5em;
}

.breadcrumb__item:first-of-type .breadcrumb__lnk::before {
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "\f015";
}

@media (min-width: 576px) {
    .breadcrumbs {
        font-size: 1.1rem;
    }
    .breadcrumb__item:last-of-type {
        width: 20em;
    }
}

@media (min-width: 1025px) {
    .breadcrumbs {
        font-size: 1.2rem;
    }
    .breadcrumb__item:first-of-type .breadcrumb__lnk span {
        display: inline;
    }
    .breadcrumb__lnk:hover {
        color: #05ab71;
    }
    .breadcrumb__lnk:hover span {
        text-decoration: underline;
    }
}

/* -----------------------------------------------
/* 2-2. Animation [act-***]
-------------------------------------------------- */
/* -----------------------------------------------
/* 2-3. OverLayerConfig [z-index]
-------------------------------------------------- */
.l-loader {
    z-index: 9001;
}

.headerSide {
    z-index: 2002;
}

#g-nav {
    z-index: 1000;
}

.globalNav__content {
    z-index: 1002;
}

.globalNav__bg {
    z-index: 1001;
}

#g-header {
    z-index: 901;
}

.flgPc #g-header {
    z-index: 3000;
}

.pagetop {
    z-index: 801;
}

.breadcrumbs {
    z-index: 701;
}

/* -----------------------------------------------
/* 2-4. Order [flex-order]
-------------------------------------------------- */