@media only screen and (max-width: 767px){
    .sp-none{
        display:none;
    }
}
@media only screen and (min-width: 768px){
    .pc-none{
        display: none;
    }
}
/* ##############################################################################

    COMMON

############################################################################## */
.flex {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
@media screen and (max-width: 768px) {
    .flex-sp-block {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}
.flex-a-ctr {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
.txt-ctr, .txt-ctr-pc {
    text-align: center;
}
.mgn-btm64{
    margin-bottom: 64px;
}
.mgn-btm80 {
    margin-bottom: 80px;
}
.mgn-top80{
    margin-top: 80px;
}
.mgn-btm8 {
    margin-bottom: 8px;
}
.page-title-container::after{
    display: none;
}
.mce-content-body a {
    border-bottom: 1px solid;
    color: #2a79c1;
    padding-bottom: 2px;
}
/* cursor
**************************************** */


/* layout
**************************************** */
.pos_rel {
    position: relative
}
/* --- inner --- */
.inner {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}
.inner-sm { max-width: 880px; }
.inner-lg { max-width: 1600px; }
.inner-xl { max-width: calc(100% - 120px); }

/* --- section_pdg --- */
.section_pdg {
    padding-top: 96px;
    padding-bottom: 96px;
}
.section_pdg-sm {
    padding-top: 64px;
    padding-bottom: 64px;
}
.section_half_area {
    position: relative;
}
.section_half_area .scroll-text {
    top: 40px;
    bottom: auto;
}
.section_half {
    position: relative;
}
.section_half .imgarea,
.section_half .txtarea {
    width: 50%;
}
.section_half .imgarea {
    background: #aaa;
    z-index: 5;
    width: calc(50% - 60px);
    max-width: 980px;
    margin-left: 40px;
    margin-right: 20px;
}
.section_half .txtarea {
    position: relative;
    margin-top: 184px;
    padding-top: 140px;
    width: 55%;
    margin-left: -5%;
    z-index: 2;
}
.section_half .decoration_ttl {
    position: absolute;
    top: -68px;
    margin-left: -16px;
    white-space: nowrap;
}
.section_half_area:nth-child(odd) .section_half {
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}
.section_half_area:nth-child(odd)  .imgarea {
    margin-right: 40px;
    margin-left: 20px;
}
.section_half_area:nth-child(odd)  .txtarea {
    margin-right: -5%;
}


.section_half .txtarea .contents {
    max-width: 600px;
    margin: 0 auto;
}

.section_half .txtarea .content:not(:last-child) {
    margin-bottom: 24px;
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
    .section_half .txtarea {
        margin-top: 80px;
        padding-top: 80px;
        padding-bottom: 80px;
    }
}

@media screen and  (max-width: 767px) {
    .inner { width: 88%; }
    .section_pdg,
    .section_pdg-sm {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .section_half,
    .section_half_area:nth-child(odd) .section_half {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-bottom: 24px;
    }
    .section_half .txtarea,
    .section_half_area:nth-child(odd) .txtarea {
        width: 100%;
        margin: auto;
        padding-top: 80px;
    }
    .section_half .imgarea,
    .section_half_area:nth-child(odd) .imgarea {
        width: 90%;
        margin: 0 auto -40px;
    }
    .section_half .decoration_ttl {
        z-index: 1000;
        top: 54px;
        right: 24px;
        max-width: 80%;
        white-space: pre-wrap;
        text-align: right;
        opacity: .33;
    }
}

/* flex
**************************************** */
/* --- ã–ã£ãã‚Šflexãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆ --- */
.flex-col1 {
    display: block;
}
.flex-col2,
.flex-col3,
.flex-col4 {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.flex-col2 > * {
    width: 48.5%;
    margin-right: 3%;
    margin-bottom: 3%;
}
.flex-col2:not(.flex-reverse) > *:nth-child(even),
.flex-col2.flex-reverse > *:nth-child(odd) {
    margin-right: 0;
}
.flex-col3 > * {
    width: 31.33%;
    margin-right: 3%;
    margin-bottom: 3%;
}
.flex-col3 > *:nth-child(3n) { margin-right: 0; }
.flex-col4 > * {
    width: 23.5%;
    margin-right: 2%;
    margin-bottom: 2%;
}
.flex-col4 > *:nth-child(4n) { margin-right: 0; }

@media screen and (max-width: 767px) {
    .flex-sp-block.flex-col2 > * {
        width: 100%;
        margin-right: 0;
        margin-bottom: 6%;
    }
    .flex-sp-block.flex-col2 > *:last-child {
        margin-bottom: 0;
    }

    /* --- ã–ã£ãã‚Šflexãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆ - sp --- */
    .flex-sp-col1 > * {
        width: 100%;
        margin: 0 0 3%;
    }
    .flex-sp-col2 > *,
    .flex-sp-col2.flex-col3 > *:nth-child(3n) {
        width: 48.5%;
        margin-right: 3%;
        margin-bottom: 3%;
    }
    .flex-sp-col2 > *:nth-child(even) {
        margin-right: 0;
    }
    .flex-sp-col3 > *,
    .flex-sp-col3.flex-col4 > *:nth-child(4n) {
        width: 31.33%;
        margin-right: 3%;
        margin-bottom: 3%;
    }
    .flex-sp-col3 > *:nth-child(3n) {
        margin-right: 0;
    }
}

/* bg
**************************************** */
.bg-white,
.bg-alternate:nth-child(even) {
    background-color: #fff;
}
.bg-light,
.bg-alternate:nth-child(odd) {
    background-color: #eceef4;
}


/* ttl
**************************************** */

/* --- page_ttl --- */
.page_ttl {
    position: relative;
    z-index: 10;
    overflow: hidden;
    line-height: 1.5;
    background-color: #2e323a;
    background-size: cover;
    background-position: center;
    color: #fff;
    padding: 10% 0;
    min-height: 520px;
    margin-top: -100px;
}
.archive .page_ttl {
    display: none;
}
.page_ttl--bg {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    min-height: 520px;
    margin-top: -2vh;

    background: center no-repeat;
    background-size: cover;
    z-index: -1;
    opacity: .95;
}
.page_ttl--bg::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    background: rgba(0,0,0,0.1);
    /*opacity: .25;*/
    pointer-events: none;
}
.page_ttl-jp {
    display: block;
    font-size: 2.5rem; /* 40px */
    letter-spacing: .2em;
    padding-left: .2em;
    text-shadow: 0 0 32px rgba(0, 0, 0, 50%);
}
.page_ttl-en {
    display: inline-block;
    text-transform: uppercase;
    font-size: .75rem; /* 12px */
    letter-spacing: .27em;
    padding-left: .27em;
}
.page_ttl-en-bg {
    font-size: 15rem; /* 240px */
    text-transform: capitalize;
    position: absolute;
    width: 100%;
    height: .75em;
    top: 0;
    bottom: 0;
    margin: auto;
    opacity: .75;
    z-index: -1;
    color: #2a79c1;
    /*mix-blend-mode: exclusion;*/
}

/* --- section_ttl --- */
.section_ttl {
    margin-bottom: 24px;
    font-size: 2.5rem; /* 40px */
    font-weight: normal;
    line-height: 1.6;
    letter-spacing: .1em;
}
.section_ttl-sm { font-size: 2.625rem; /* 42px */ }
.section_catch {
    text-align: center;
    font-size: 1.25rem; /* 20px */
    font-weight: 700;
}

.decoration_ttl {
    position: relative;
    z-index: 10;
    font-size: 10.5rem; /* 145px */
} 
.decoration_ttl-sm {
    font-size: 6.25rem; /* 100px */
}

/* --- heading --- */

.heading-line {
    position: relative;
    padding-bottom: 40px;
}
.heading-line::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 1px;
    background-color: #2a79c1;
}
.heading-line.txt-ctr::before {
    right: 0;
    margin: auto;
}
.heading-1 {
    font-size: 4.4rem; /* 40px */
    letter-spacing: .15em;
    margin-bottom: 48px;
}
.heading-2 { 
    font-size: 3.2rem; /* 32px */
    letter-spacing: .15em;
    margin-bottom: 48px;
}
.heading-3 {
    font-size: 2.4rem; /* 24px */
    letter-spacing: .15em;
    margin-bottom: 48px;
}
.heading-4 {
    font-size: 2rem; /* 20px */
    letter-spacing: .15em;
    margin-bottom: 40px;
}
.heading-5 {
    font-size: 1.6rem; /* 16px */
    letter-spacing: .15em;
    margin-bottom: 40px;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
    .single-people .page_ttl--bg {
        margin-top: -4vh;
        margin-bottom: 1vh;
    }
}
@media screen and (max-width: 767px) {

    /* --- page_ttl --- */
    .page_ttl {
        padding: 37% 0 30%;
        min-height: 0;
    }
    .page_ttl-jp {
        font-size: 1.214rem; /* 17px */
    }
    .page_ttl-en-bg {
        font-size: 6.5rem; /* 91px */
    }
    .page_ttl--bg {
        top: 0;
        min-height: 0;
    }

    /* --- section_ttl --- */
    .section_ttl {
        font-size: 1.714rem; /* 24px */
    }
    .section_catch {
        font-size: .857rem; /* 12px */
    }

    /* .decoration_ttl */
    .decoration_ttl {
        font-size: 6.286rem; /* 88px */
    } 
    .decoration_ttl-sm {
        font-size: 4rem; /* 56px */
    }


    /* --- heading --- */
    .heading-1 { 
        font-size: 1.5rem; /* 21px */
        margin-bottom: 24px;
    }
    .heading-2 { 
        font-size: 1.357rem; /* 19px */
        margin-bottom: 24px;
    }
    .heading-3 { 
        font-size: 1.214rem; /* 17px */
        margin-bottom: 24px;
    }
    .heading-4 { 
        font-size: 1.071rem; /* 15px */
        margin-bottom: 24px;
    }
    .heading-line {
        padding-bottom: 16px;
    }
}

/* breadcrumbs
**************************************** */
.breadcrumbs {
    font-size: 1.4rem; /* 12px */
    position: absolute;
    z-index: 10;
    bottom: 40px;
    left: 56px;
    right: 56px;
    text-align: left;
}
.single-people .breadcrumbs {
    text-align: right;
}
.breadcrumbs a {
    color: #fff;
    position: relative;
    padding-right: 17px;
    display: inline-block;
    margin-right: 12px;
}
.breadcrumbs a::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3px 0 3px 4px;
    border-color: transparent transparent transparent #ffffff;
}
.breadcrumbs .breadcrumb_last {
    display: table-cell; 
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .breadcrumbs {
        bottom: 16px;
        right: 16px;
        left: 16px;
        font-size: .714rem; /* 10px */
        letter-spacing: .05em;
    }
    .breadcrumbs a {
        padding-right: 10px;
        margin-right: 3px;
    }
    .breadcrumbs a::after {
        border-width: 2px 0 2px 3px;
    }
}


/* txt
**************************************** */
.txt-lg { font-size: 1.8rem; /* 18px */ }
.txt-xl { font-size: 2rem; /* 20px */ }
.txt-sm { 
    font-size: 1.4rem; /* 14px */ 
    line-height: 1.8;
}
.txt-xs {
    font-size: 1.2rem; /* 12px */
    line-height: 1.8;
}
.txt-xxs {
    display: block;
    font-size: .4rem; /* 6.4px */
    line-height: 1.6;
    letter-spacing: .2em;
}
.txt-wh { color: #fff; }
.txt-attention {
    font-size: .875rem; /* 14px */ 
    color: #999;
}
.txt-attention-kome {
    position: relative;
    padding-left: 1.4em;
}
.txt-attention-kome::before {
    content: 'â€»';
    position: absolute;
    left: 0;
    top: 0;
}
.txtarea p:not(:last-child) {
    margin-bottom: 1em;
}
.bold {
    font-family: 'Montserrat', 'Koburina Gothic W6 JIS2004', 'YuGothic', 'æ¸¸ã‚´ã‚·ãƒƒã‚¯', sans-serif ;
    font-weight: bold;
}
.txt-color01 {
    color: #2a79c1;
}

/* --- font --- */

@font-face {
    font-family: 'houstiny';
    /*ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã¸ã®ãƒ‘ã‚¹ï¼ˆè¤‡æ•°æŒ‡å®šã®å ´åˆã€ä¸Šã‹ã‚‰é †ã«èª­ã¿è¾¼ã¾ã‚Œã‚‹ï¼‰*/
    src: url("../fonts/Houstiny_Alt.woff") format("woff");
}

.font-jp {
    font-family: 'Montserrat', 'Shuei KakuGo Gin M', sans-serif;
    font-weight: 400;
}
.font-jp-bold,
b {
    font-family: 'Montserrat', 'Shuei KakuGo Gin B', sans-serif;
    font-family: "Shippori Mincho", sans-serif;
    font-weight: 600;
    -webkit-font-smoothing: antialiased;
}
.font-en {
    font-family: "Cormorant Garamond", serif;
    line-height: .5em;
    font-weight: 400;
    letter-spacing: 0;
    padding-top: .25em;
    text-transform: capitalize;
    -webkit-font-smoothing: antialiased;
}

/* table & list
**************************************** */
table { width: 100%; }

/* --- table_default --- */
.table_default th, 
.table_default td {
    padding: 16px 8px;
}
.table_default th {
    border-bottom: 2px solid #2a79c1;
}
.table_default td {
    padding: 16px 16px;
    border-bottom: 1px solid #2a79c1;
    border-left: 4px solid #fff;
}

/* --- table_line --- */
.table_line th,
.table_line td {
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 24px;
    padding-right: 24px;
}
.table_line th {
    background-color: #2a79c1;
    border: 1px solid #2a79c1;
    color: #fff;
    font-size: 1.063rem; /* 17px */
}
.table_line td {
    border: 1px solid #D2D2D2;
    font-size: .938rem; /* 15px */
}

/* --- list ---- */
.list { list-style-type: none; }
.list li:not(:last-child) { margin-bottom: 4px; }
.list li {
    position: relative;
    padding-left: 1.4em;
    line-height: 1.7;
}
.list-disc li::before,
.list-square li::before,
.list-circle li::before {
    content: '';
    position: absolute;
    left: 0;
    top: .6em;
    width: 8px;
    height: 8px;
    border-radius: 6px;
    background-color: #2a79c1;
}
/* æ•°å­—ä»˜ããƒªã‚¹ãƒˆ */
.list-num {
    padding-left: 1.4em;
    list-style-type: decimal;
}
.list-num li { padding-left: 0; }
.list-num li::before { display: none; }
/* ç™½ä¸¸ä»˜ããƒªã‚¹ãƒˆ */
.list-circle li::before {
    border: 1px solid #2a79c1;
    background-color: transparent;
}
/* å››è§’ä»˜ããƒªã‚¹ãƒˆ */
.list-square li::before {
    border-radius: 0;
    background-color: #2a79c1;
}
/* å…¥ã‚Œå­ã®ã‚¹ã‚¿ã‚¤ãƒ« */
.list li ul { margin-top: 16px; }
.list li ul li::before {
    width: 6px;
    height: 6px;
    top: .8em;
}

/* --- dlãƒªã‚¹ãƒˆ --- */
.list-dl {
    position: relative;
    border-top: 1px solid #ddd;
}
.list-dl dt {
    position: absolute;
    padding: 20px;
    color: #2a79c1;
    font-weight: 700;
}
.list-dl dd {
    padding: 20px 24px 20px 200px;
    border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 767px) {
    .list-dl dt {
        padding: 12px;
        position: static;
    }
    .list-dl dd {
        padding: 0 12px 12px 12px;
    }
}

/* btn
**************************************** */
.btn a,
.btn i {
    position: relative;
    display: inline-block;
    max-width: 300px;
    min-width: 240px;
    overflow: hidden;
    height: 64px;
    line-height: 64px;
    z-index: 10;
}
.btn-color a,
.btn-color i {
    position: relative;
    width: 240px;
    font-size: .875rem; /* 14px */
    color: #fff;
    padding: 0 32px;
    text-align: center;
    letter-spacing: .215em;
}
.btn-color a::before,
.btn-color i::before {
    content: "";
    position: absolute;
    background-color: #2a79c1;
    border-radius: 32px;
    display: block;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: -1;
    transition: all .5s cubic-bezier(0.51, 0.01, 0, 0.98);
}
.btn-color a:hover::before,
.btn-color i:hover::before {
    -webkit-transform: scale(0.92);
    -ms-transform: scale(0.92);
    transform: scale(0.92);
}
.btn-color .icon {
    position: relative;
    width: 11px;
    display: inline-block;
    height: 11px;
    margin-right: 16px;
}
.btn-color .icon::before,
.btn-color .icon::after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 11px;
    height: 1px;
    background-color: #fff;
}
.btn-color .icon::after {
    width: 1px;
    height: 11px;
}
.btn-white a,
.btn-white i {
    border-color: #fff;
    color: #fff;
}

.btn-line a,
.btn-line i {
    color: #2a79c1;
    border-bottom: 1px solid #eceef4;
}
.btn-line a::before,
.btn-line a::after,
.btn-line i::before,
.btn-line i::after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    transition: all .5s cubic-bezier(0.51, 0.01, 0, 0.98);
}
.btn-line a::before,
.btn-line i::before {
    width: 15px;
    height: 15px;
    background-color: #2a79c1;
    border-radius: 8px;
}
.btn-line a::after,
.btn-line i::after {
    right: 26px;
    width: 5px;
    height: 5px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* --- btn-entry --- */

.btn-entry button,
.btn-entry a {
    position: relative;
    z-index: 10;
    display: inline-block;
    min-width: 360px;
    padding: 24px 80px;
    margin: 0 4px 8px;
    border-radius: 60px;
    background: #2a79c1;
    color: #fff;
    font-size: 83%;
    line-height: 1.3;
    border: none;
    transition: all .5s cubic-bezier(0.51, 0.01, 0, 0.98);
    box-sizing: border-box;
}
.btn-entry button:hover,
.btn-entry a:hover {
    background: #1864aa;
}
.btn-entry a .icon {
    position: relative;
    top: -3px;
}
.btn-entry .font-jp-bold {
    display: block;
    letter-spacing: .2em;
    font-size: 150%;
    margin-bottom: 4px;
}
.btn-entry small {
    display: block;
    letter-spacing: .2em;
}


.flex .btn + .btn { margin-left: 16px; }

@media screen and (max-width: 767px) {
    .btn {
        text-align: center;
    }
    .btn a,
    .btn i {
        padding: 0 24px;
        height: 52px;
        line-height: 52px;
        width: 200px;
        min-width: 200px;
    }
    .btn-line {
        line-height: 1;
    }
    .btn-line a,
    .btn-line i {
        width: 100%;
        max-width: 100%;
        margin-bottom: 0;
        padding: 0;
        text-align: left;
        margin-right: 0;
    }
    .btn-entry button,
    .btn-entry a {
        min-width: 0;
        width: 100%;
        padding: 16px;
    }

    .flex .btn,
    .flex .btn + .btn {
        margin-top: 4px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* cta
**************************************** */
.cta {
    padding: 200px 0 0;
    background: #000 center no-repeat;
    background-size: cover;
}
.cta .box {
    margin-bottom: -120px;
}
.cta .decoration_ttl {
    font-size: 6.25rem; /* 100px */
}
.cta .txtarea .cta--txt {
    margin-bottom: 56px;
}
.cta .btn a {
    width: 240px;
    padding-right: 26px;
    text-align: center;
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
    .cta {
        padding-top: 128px;
    }
}

@media screen and  (max-width: 767px) {
    .cta {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .cta .box {
        margin-bottom: 0;
    }
    .cta .txtarea .cta--txt {
        font-size: .857rem; /* 12px */
        line-height: 1.8;
        text-align: left;
        margin-bottom: 24px;
    }
    .cta .txtarea .cta--txt br {
        display: none;
    }
    .cta .btn {
        width: 100%;
    }
    .cta .btn a {
        width: 100%;
    }
    .cta--btn.btn a {
        min-width: 0;
    }
}

/* box
**************************************** */
.box {
    padding: 104px;
    box-shadow: 0px 0px 25.92px 1.08px rgba(173, 173, 173, 0.1);
}
@media screen and (max-width: 767px) {
    .box {
        padding: 24px;
    }
}

/* scroll-text
*************************************************** */
.scroll-text {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    width: 100%;
    height: 200px;
    background-image: url(../images/common/scroll-text.svg);
    background-size: auto 100%;
    opacity: .5;
}
.scroll-text-white {
    background-image: url(../images/common/scroll-text-blue.svg);
}
.scroll-text-top {
    bottom: auto;
    top: 40px;
}


@media screen and (max-width: 767px) {
    .scroll-text {
        height: 80px;
    }
}


/* cta-page
**************************************** */
.cta-page {
    padding: 80px 0 40px;
    background-color: #eee;
}
.cta-page a:hover {
    opacity: .6;
}
.cta-page .imgarea {
    margin-bottom: 12px;
}

@media screen and  (max-width: 767px) {
    .cta-page {
        padding: 40px 0 24px;
    }
    .cta-page .imgarea {
        margin-bottom: 8px;
    }
}


/* page-entry
*************************************************** */
.page-entry .header {
    position: absolute;
}
.page-entry.header-sm .header .inner {
    transform: translateY(0);
}
.page-entry.header_color.header-sm::before {
    opacity: 0;
}
.entry .scroll-text {
    top: 120px;
    bottom: auto;
    z-index: -1;
}
.cta--tel.box {
    padding: 0;
    margin-bottom: 24px;
}
.contact--form {
    background-color: #fff;
}

@media screen and  (max-width: 767px) {
    .contact--txt.txt-ctr {
        text-align: left;
    }
}

/* page-thanks
*************************************************** */
@media screen and  (max-width: 767px) {
    .page-thanks .inner.txt-ctr {
        text-align: left;
    }
}

/* 404
*************************************************** */
.page-404 .content-404 p {
    margin-bottom: 40px;
    font-size: 1.125rem; /* 18px */
}
@media screen and  (max-width: 767px) {
    .page-404 .content-404 p {
        margin-bottom: 24px;
        font-size: 1rem; /* 14px */
    }
}

/* page-sitemap
*************************************************** */
.sitemap--list { width: 49%; }
.sitemap--list-page.sitemap--list > li { margin-bottom: 10px; }
.sitemap--list-posts.sitemap--list .sitemap--item-ttl:not(:first-child) { margin-top: 10px; }
.sitemap--list-posts.sitemap--list > .sitemap--item-child { margin-bottom: 16px; }
.sitemap--list li a {
    display: block;
    text-decoration: none;
}
.sitemap--list li a:hover {
    color: #4267b2;
    text-decoration: underline;
}
.sitemap--item-ttl { font-weight: bold; }
.sitemap--item:not(.sitemap--item-ttl) { font-size: .875rem; /* 14px */ }

/* --- category --- */
.sitemap--list li.sitemap--item-child a { padding-left: 8px; }
.sitemap--list li.sitemap--item-child.sitemap--item-page { padding: 6px 0 6px 24px; }
.sitemap--list li.sitemap--item-taxonomy ul { letter-spacing: -.4em; }
.sitemap--list li.sitemap--item-taxonomy ul li {
    display: inline-block;
    padding: 0;
    margin-right: 8px;
    letter-spacing: normal;
}

@media screen and (max-width: 767px) {
    .sitemap--list { width: 100%; }
    .sitemap--list-posts.sitemap--list > .sitemap--item-child { margin-bottom: 8px; }
}


/* ##############################################################################

    ARCHIVE

############################################################################## */

/* post
**************************************** */
.post { position: relative; }
.post--link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}
.post--date {
    color: #aaa;
    font-size: .875rem; /* 14px */
}
.cat_list {
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.cat_list a {
    display: inline-block;
    vertical-align: middle;
    font-size: .813rem; /* 13px */
    background-color: #2a79c1;
    color: #f6f6f6;
    line-height: 1;
    padding: 6px 12px;
    float: left;
    margin-right: 4px;
    margin-bottom: 4px;
    white-space: nowrap;
    border-radius: 16px;
}
.no-image {
    background-size: 80% auto!important;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #eee;
}


/* archive-people
**************************************** */
.people_main .scroll-text {
    bottom: 0;
}
.people_main .post-people {
    margin-bottom: 16px;
}

/* archive-job
**************************************** */
.requirements--nav-link {
    position: relative;
    display: inline-block;
    min-width: 200px;
    padding: 16px 32px;
    color: #a1a1a1;
    text-align: center;
    line-height: 1;
    letter-spacing: .3em;
    border-radius: 50px;
    border: 2px solid #a1a1a1;
    transition: all .5s cubic-bezier(0.51, 0.01, 0, 0.98);
}
.requirements--nav-link:hover {
    transform: scale(0.94);
}
li .requirements--nav-link {
    margin-bottom: 16px;
}
li:not(:last-child) .requirements--nav-link {
    margin-right: 16px;
}
.requirements--nav-link.new-graduates {
    color: #3badd3;
}
.requirements--nav-link.mid-career {
    color: #2a79c1;
}
@media screen and (max-width: 767px) {
    .requirements--nav-link {
        min-width: auto;
    }
    .cat_list--list:nth-child(-n+3) {
        width: 100%;
    }
    .cat_list--list:nth-child(-n+3) .requirements--nav-link {
        width: 100%;
    }
    .cat_list--list {
        width: 100%;
    }
    .requirements--nav-link {
        width: 98%;
        font-size: .929rem; /* 13px */
        padding: 12px 0;
        letter-spacing: 0.1em;
    }
}

/* archive-crosstalk
**************************************** */
.post-crosstalk {
    position: relative;
    z-index: 10;
    border: 1px solid #f8f8f8;
    background-color: #fff;
    box-shadow: 0px 0px 25.92px 1.08px rgba(173, 173, 173, 0.1);
    transition: all .5s cubic-bezier(0.51, 0.01, 0, 0.98);
}
.post-crosstalk:hover {
    box-shadow: 0px 0px 25.92px 1.08px rgba(173, 173, 173, 30%);
    transform: scale(0.98);
}
.post-crosstalk .post--img {
    padding-top: 56.25%;
    background: center no-repeat;
    background-size: cover;
}
.post-crosstalk .post--txtarea {
    padding: 32px 28px 40px;
}
.post-crosstalk .post--txtarea .heading-3 {
    margin-bottom: 24px;
}

@media screen and (max-width: 767px) {
    .post-crosstalk .post--txtarea {
        padding: 24px 20px;
    }
    .post-crosstalk .post--txtarea .heading-3 {
        margin-bottom: 16px;
    }
}




/* ##############################################################################

    SINGLE

############################################################################## */

/* single-people
**************************************** */
.single-crosstalk .page_ttl,  
.single-people .page_ttl {
    text-align: left;
    padding: 33% 0 10%;
    max-height: 95vh;
}
.single-crosstalk .page_ttl-en-bg,
.single-people .page_ttl-en-bg {
    width: 88%;
    left: 0;
    right: 0;
    top: 16%;
}
.single-crosstalk .page_ttl-jp,
.single-people .page_ttl-jp {
    padding-left: 0;
    margin-left: -0.1em;
}
.people-info * {
    position: relative;
    padding-right: 1em;
    margin-right: .5em;
}
.people-info *:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
    width: .5em;
    height: 1px;
    border-top: 1px solid;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    opacity: .5;
}

@media screen and (max-width: 767px) {
    .single-people .page_ttl {
        padding: 50% 0 13%;
    }
    .single-crosstalk .page_ttl {
        padding: 50% 0 15%;
    }
    .single-people .page_ttl--bg,
    .single-crosstalk .page_ttl--bg {
        background-position: center right 40%;
    }
    .single-people .page_ttl .name {
        font-size: .786rem; /* 11px */
    }
    .single-people .page_ttl .people-info {
        display: none;
    }
    .people--contents .imgarea {
        width: 100%;
    }
}


/* single-job
**************************************** */
.job_main .scroll-text {
    bottom: 72px;
}
.list-detail:not(:last-child) {
    margin-bottom: 24px;
}


/* single-crosstalk
**************************************** */

/* crosstalk_people */
.people-list {
    max-width: 292px;
    margin: 0 32px;
}
.people-list .heading-4 {
    margin-bottom: 16px;
}

/* crosstalk_contents */
.talk {
    position: relative;
    z-index: 10;
}
.talk:not(:last-child),
.talk--contents:not(:last-child) {
    margin-bottom: 112px;
}
.talk .right {
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}
.talk .right .serif::before {
    left: auto;
    right: -14px;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}
.talk .icon-area {
    width: 96px;
}
.talk .icon-area .img {
    width: 96px;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 8px;
}
.talk .serif {
    position: relative;
    width: calc(100% - 144px);
    padding: 24px 40px;
    border-radius: 8px;
    background: #f8f8f8;
}
.talk .serif::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 16px 8px 0;
    border-color: transparent #f8f8f8 transparent transparent;
    position: absolute;
    left: -14px;
    top: 0;
    bottom: 1em;
    margin: auto;
}
.talk--contents .imgarea {
    position: relative;
    z-index: 10;
}
.talk--contents .scroll-text {
    bottom: 0;
    top: 0;
    margin: auto;
}
@media screen and (max-width: 767px) {
    .people-list {
        margin: 0 16px;
    }
    .talk--contents .imgarea {
        width: 100%;
    }
    .talk:not(:last-child),
    .talk--contents:not(:last-child) {
        margin-bottom: 48px;
    }
    .talk .icon-area,
    .talk .icon-area .img {
        width: 56px;
    }
    .talk .icon-area .img {
        margin-bottom: 4px;
    }
    .talk .serif {
        width: calc(100% - 72px);
        padding: 16px;
        font-size: .857rem; /* 12px */
        line-height: 1.7;
        letter-spacing: 0.08em;
        -ms-text-justify: inter-ideograph;
        text-justify: inter-ideograph;
        text-align: justify;
    }
}

/* single-briefing
**************************************** */
.iframe {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}
.iframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.map {
    border: 1px solid #ddd;
    margin-top: 1em;
}


/* single-pass
**************************************** */
#pass p {
    margin-bottom: 1em;
}
#pass input[name="post_password"] {
    padding: 5px;
    border: solid 1px #aaa;
    outline: none;
}
#pass input[type="submit"] {
    padding: 4px 16px;
    letter-spacing: .15em;
    background-color: #ddd;
    border-radius: 4px;
    outline: none;
    border: none;
    cursor: pointer;
    transition: all .4s ease-out;
}
#pass input[type="submit"]:hover {
    opacity: .7;
}
.single .pass {
    width: 100%;
}
.single .pass p:first-child {
    margin-bottom: 16px;
}

@media screen and (max-width: 767px) {
    .single .pass p:first-child {
        text-align: left;
    }
}

/* wp-pagenavi
**************************************** */
.wp-pagenavi {
    position: relative;
    z-index: 10;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
    width: 100%;
    margin-top: 40px;
    margin-right: 0;
    font-weight: 700;
}
.wp-pagenavi .pages {
    display: block;
    text-align: center;
    width: 100%;
    margin-bottom: 1em;
}
.wp-pagenavi a,
.wp-pagenavi .current {
    position: relative;
    padding: .5em 2.5em;
    color: #2a79c1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    border-radius: 32px;
    border: 2px solid;
}
.wp-pagenavi .current {
    opacity: 0.5;
}
.wp-pagenavi a:hover {
    opacity: 0.75;
    transform: scale(0.94);
}
.wp-pagenavi > *:not(.pages) {
    max-width: calc(100% / 2.6);
}
.archive .wp-pagenavi > *:not(.pages) {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 40px;
    height: 40px;
}
.wp-pagenavi > *:not(.pages) {
    margin-bottom: 4px; 
}
.wp-pagenavi > *:not(.pages):not(:last-child) {
    margin-right: 4px;
}
.wp-pagenavi .extend {
    width: 24px !important;
}
.wp-pagenavi a[rel="prev"]::before,
.wp-pagenavi a[rel="next"]::before,
.wp-pagenavi .first::before,
.wp-pagenavi .last::before,
.wp-pagenavi .first::after,
.wp-pagenavi .last::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    border-top: 2px solid;
    border-right: 2px solid;
}
.wp-pagenavi a[rel="prev"]::before,
.wp-pagenavi a[rel="next"]::before,
.wp-pagenavi .first::before,
.wp-pagenavi .last::before,
.wp-pagenavi .first::after,
.wp-pagenavi .last::after {
    width: 6px;
    height: 6px;
}
.wp-pagenavi a[rel="prev"],
.wp-pagenavi .first,
.wp-pagenavi .first {
    padding-right: 4em;
}
.wp-pagenavi a[rel="next"],
.wp-pagenavi .last,
.wp-pagenavi .last {
    padding-left: 4em;
}
.wp-pagenavi a[rel="prev"]::before,
.wp-pagenavi .first::before,
.wp-pagenavi .first::after {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    right: 1.5em;
}
.wp-pagenavi a[rel="next"]::before,
.wp-pagenavi .last::before,
.wp-pagenavi .last::after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    left: 1.5em;
}
.wp-pagenavi-single a[rel="prev"]::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.wp-pagenavi-single a[rel="next"]::before {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}
.wp-pagenavi .first::before,
.wp-pagenavi .last::before {
    left: -6px;
}
.wp-pagenavi .first::after,
.wp-pagenavi .last::after {
    right: -6px;
}

@media screen and (max-width: 767px) {
    .wp-pagenavi {
        margin-top: 24px;
    }
    .archive .wp-pagenavi > *:not(.pages) {
        width: 32px;
        height: 32px;
    }
    .wp-pagenavi-single a[rel="prev"],
    .wp-pagenavi-single a[rel="next"] {
        width: auto;
        text-indent: -9999px;
        padding: 0 2em;
    }
    .wp-pagenavi > *:not(.pages) {
        padding: .5em 2em;
    }
    .wp-pagenavi .first::before,
    .wp-pagenavi .last::before {
        left: -5px;
    }
    .wp-pagenavi .first::after,
    .wp-pagenavi .last::after {
        right: -5px;
    }

}


/* ##############################################################################

    FORMY

############################################################################## */
#formy_form {
    font-family: 'Montserrat', 'YuGothic', 'æ¸¸ã‚´ã‚·ãƒƒã‚¯', sans-serif;
}
#formy_form .formy_table { 
    width: 100%;
}
#formy_form .formy_th,
#formy_form .formy_td {
    padding: 16px;
    vertical-align: middle;
    width: 100%;
}
#formy_form .formy_tr:not(:first-child) .formy_th,
#formy_form .formy_tr:not(:first-child) .formy_td {
    border-top: solid 1px #eee;
}
#formy_form .formy_tr:last-child .formy_th,
#formy_form .formy_tr:last-child .formy_td {
    border-bottom: solid 1px #eee;
}
#formy_form .formy_tr__option .formy_th,
#formy_form .formy_tr__option .formy_td {
    padding-top: 0;
}
#formy_form .formy_th {
    font-weight: normal;
    white-space: nowrap;
    text-align: left;
    width: 350px;
}
#formy_form .formy_table input[type="text"],
#formy_form .formy_table input[type="email"],
#formy_form .formy_table input[type="tel"],
#formy_form .formy_table input[type="date"],
#formy_form .formy_table input[type="password"],
#formy_form .formy_table textarea {
    width: 100%;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    vertical-align: bottom;
}
#formy_form .formy_table input[type="text"],
#formy_form .formy_table input[type="email"],
#formy_form .formy_table input[type="tel"],
#formy_form .formy_table input[type="date"],
#formy_form .formy_table input[type="password"],
#formy_form select,
#formy_form textarea {
    margin: 0;
    padding: 5px 15px;
    border: 1px solid #ccc;
    font: inherit;
    font-size: 1.6rem; /* 16px */
    background: #fff;box-shadow: none;
}
#formy_form textarea { height: 100px; }
#formy_form select { height: 40px; }
#formy_form ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
#formy_form input:hover { opacity: .7; }
#formy_form textarea:hover { opacity: .7; }
#formy_form input:focus { outline: none; }
#formy_form .parsley-validated {  background-color: #eee; }
#formy_form .parsley-error {  background-color: #fee; }
#formy_form .parsley-success {  background-color: #fff; }
.help_text {
    font-size: .875rem; /* 14px */
    color: #999;
}
.hidden_help { display: none; }
.formy_privacy div {
    overflow-y: scroll;
    height: 140px;
    border: solid 1px #ccc;
    font-size: .875rem; /* 14px */
    padding: 8px 16px;
}
.requiredIcon {
    background-color: #ff5f5f;
    color: #fff;
    margin: 0 0 0 1em;
    font-size: .75rem; /* 12px */
    padding: 2px 8px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    float: right;
    font-weight: bold;
}
#formy_btn {
    padding-top: 32px;
    text-align: center;
}
#formy_btn input {
    min-width: 220px;
    padding: 20px 40px;
    margin-right: 4px;
    margin-left: 4px;
    border: none;
    border-radius: 3px;
    color: #fff;
    font-size: inherit;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    letter-spacing: .15em;
    font-weight: bold;
    transition: all .5s cubic-bezier(0.51, 0.01, 0, 0.98);
}
#formy_form ul li input[type="radio"],
#formy_form ul li input[type="checkbox"] { display: none !important; }
#formy_form ul li label {
    position: relative;
    display: inline-block;
    padding: .25em 8px .25em 36px;
    line-height: 1.6;
    vertical-align: top;
    cursor: pointer;
}
#formy_form ul li label:hover { opacity: .7; }
#formy_form ul li label::before {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    left: 6px;
    top: 9px;
    background: #ced0d6;
}
#formy_form ul li input[type="radio"] + label::before { border-radius: 10px; }
#formy_form ul li input[type="radio"]:checked + label,
#formy_form ul li input[type="checkbox"]:checked + label {
    color: #e75f5f;
    font-weight: bold;
}
#formy_form ul li input[type="radio"]:checked + label::before,
#formy_form ul li input[type="checkbox"]:checked + label::before {
    border-color: #e75f5f;
}
#formy_form ul li input[type="radio"]:checked + label::after,
#formy_form ul li input[type="checkbox"]:checked + label::after {
    content: "";
    width: 10px;
    height: 18px;
    top: 2px;
    left: 9px;
    border-right: 2px solid #e75f5f;
    border-bottom: 2px solid #e75f5f;
    display: block;
    position: absolute;
    z-index: 10;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.formy_confirm,
.wpcf7-confirm { background-color: #4dbaff; }
.formy_submit_disabled { background-color: #ccc; }
#formy_btn .formy_submit_disabled:hover {
    opacity: 1;
    cursor: default;
}
.autoConfirmBack,
.wpcf7-back { background-color: #aaa; }
.formy_send,
.wpcf7-submit { background-color: #ff6600; }
#total_required {
    padding: 16px;
    color: #f55555;
    text-align: center;
}
span.wpcf7-not-valid-tip {
    display: inline;
}
.wpcf7c-conf {
    background-color: transparent;
    border: 0 !important;
}
.wpcf7c-conf[type="checkbox"]:checked + input[type="hidden"] + label,
.wpcf7c-conf[type="radio"]:checked + input[type="hidden"] + label {
    padding-left: 15px !important;
    color: #333 !important;
}
.wpcf7c-conf[type="checkbox"]:checked + input[type="hidden"] + label::before,
.wpcf7c-conf[type="checkbox"]:checked + input[type="hidden"] + label::after,
.wpcf7c-conf[type="checkbox"] + label,
.wpcf7c-conf[type="radio"]:checked + input[type="hidden"] + label::before,
.wpcf7c-conf[type="radio"]:checked + input[type="hidden"] + label::after,
.wpcf7c-conf[type="radio"] + label {
    display: none !important;
}

@media print, screen and (min-width: 768px) {
    #formy_btn .wpcf7-form-control:not(:last-child) {
        margin-right: 6px;
    }
}
@media screen and (max-width: 767px) {
    .autoConfirmBack,
    #formy_btn .wpcf7-form-control:not(:last-child) { margin-bottom: 8px; }
}

/* ãƒªã‚­ãƒ£ãƒ—ãƒãƒ£ãƒ»ã‚­ãƒ£ãƒ—ã‚·ãƒ§ãƒ³
**************************************** */
.grecaptcha-badge { visibility: hidden; }
.recaptcha_policy {
    padding: 0;
    margin-top: 2rem;
    color: #333;
    font-size: .625rem; /* 10px */
    text-align: center;
    letter-spacing: 0;
}
.recaptcha_policy a {
    color: #69ABDB;
    font-size: .75rem; /* 12px */
    text-decoration: underline;
}

@media screen and (max-width: 767px) {
    .recaptcha_policy {
        text-align: left;
    }
}

@media screen and (max-width: 767px) {
    #formy_form .formy_th,
    #formy_form .formy_td {
        display: block;
        width: auto;
        padding-left: 0;
        padding-right: 0;
    }
    #formy_form .formy_th {
        border-bottom:none;
        padding-bottom: 8px;
        white-space: normal;
        font-weight: bold;
    }
    #formy_form .formy_td { padding-top: 0; }
    #formy_form .formy_tr:not(:first-child) .formy_td {
        border-top: 0;
    }
    #formy_btn { padding-top: 8px; }
    #formy_btn input {
        width: 100%;
        margin-right: 0;
        margin-left: 0;
        background-size: contain;
        background-position: center;
    }
    .autoConfirmBack { margin-bottom: 8px; }
    #formy_form .formy_table input[type="text"],
    #formy_form .formy_table input[type="email"],
    #formy_form .formy_table input[type="tel"],
    #formy_form .formy_table input[type="date"],
    #formy_form .formy_table input[type="password"],
    #formy_form select,
    #formy_form textarea {
        width: 100%;
        font-size: 16px; /* iOSã§ã‚ºãƒ¼ãƒ é˜²æ­¢ */
    }
}

/* ##############################################################################

    PAGE

############################################################################## */


/* page-company
*************************************************** */
.company_image {
    transform: translateY(-176px);
    margin-bottom: -80px;
}
.flex-textarea .txtarea {
    position: relative;
    z-index: 10;
    max-width: 720px;
    margin-left: auto;
}
.vision_area--contents:not(:last-child) {
    margin-bottom: 64px;
}
.txtarea--more {
    position: relative;
    padding-bottom: 96px;
}
.txtarea--more--contents {
    max-height: 100px;
    overflow: hidden;
    position: relative;
    transition: 1s ease;
}
.txtarea--more--contents::before {
    transition: 1s ease;
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(236,238,244,0), rgba(236,238,244, 1));
}
.txtarea--btn {
    position: absolute;
    bottom: 0;
    left: 0;
    text-align: center;
    z-index: 10;
}
.txtarea--more--contents.active {
    max-height: 100%;
}
.txtarea--more--contents.active::before {
    opacity: 0;
}
.txtarea--btn.active {
    opacity: 0;
}

/* company_movie */
.slick-youtube {
    z-index: 10;
}
.slick-youtube .slick-slide,
.youtube-list {
    width: 960px;
}
.youtube {
    width: calc(100% - 64px);
    margin: auto;
}

/* company_information */
.enkaku:not(:last-child) {
    margin-bottom: 8px;
}
.enkaku--ttl {
    width: 8em;
}
.enkaku--text {
    width: calc(100% - 8em);
}

/* company_registration */
.registration-list {
    box-shadow: 0px 0px 25.92px 1.08px rgba(173, 173, 173, 0.1);
    padding: 32px;
    position: relative;
    z-index: 10;
}
.registration-list .imgarea {
    height: 200px;
    width: 100%;
}
.registration-list .imgarea img {
    max-height: 200px;
}
@media screen and (max-width: 1080px) and (min-width: 768px) {
    .slick-youtube .slick-slide,
    .youtube-list {
        width: 720px;
    }
    .youtube {
        width: calc(100% - 24px);
    }
}

@media screen and (max-width: 767px) {
    .company_message .mgn-btm120 {
        margin-bottom: 8px;
    }
    .company_vision {
        padding-top: 0;
    }
    .company_vision .company_image {
        transform: none;
        margin-bottom: 48px;
    }
    .company_vision .company_image .inner-lg {
        width: 100%;
    }
    .slick-youtube .slick-slide,
    .youtube-list {
        width: 320px;
    }
    .youtube {
        width: calc(100% - 24px);
    }
    .enkaku {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        font-size: 1rem; /* 14px */
    }
    .enkaku--text {
        width: 100%;
    }
    .registration-list {
        padding: 16px;
    }
    .registration-list .imgarea {
        height: 128px;
    }
    .registration-list .imgarea img {
        max-height: 128px;
    }
}
/* Wysiwyg editor
 **************************************** */
.mce-content-body {
  word-break: break-word;
  text-align: justify;
  text-justify: inter-ideograph;
  -ms-text-justify: inter-ideograph;
}
.mce-content-body ul {
  list-style: disc;
}
.mce-content-body ol {
  list-style: decimal;
}
.mce-content-body ul:not(:first-child),
.mce-content-body ol:not(:first-child) {
  margin-top: 1em;
}
.mce-content-body ul:not(:last-child),
.mce-content-body ol:not(:last-child) {
  margin-bottom: 1em;
}
.mce-content-body ul li,
.mce-content-body ol li {
  position: relative;
  margin: 0;
  border-bottom: none;
  padding: 0;
  margin-left: 1.25em;
  padding-top: .25em;
  line-height: 1.8;
  letter-spacing: .08em;
}
.mce-content-body img {
  margin: 1em 0;
  max-width: 100%;
  height: auto;
}
.mce-content-body hr {
  background: transparent;
}
.mce-content-body .alignleft {
  float: left;
  clear: left;
  margin-right: 1em;
  margin-bottom: 1em;
}
.mce-content-body .alignright {
  float: right;
  clear: right;
  margin-left: 1em;
  margin-bottom: 1em;
}
.mce-content-body .aligncenter {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1em;
}
.mce-content-body img.aligncenter {
  display: block;
}
.mce-content-body .alignleft:last-child,
.mce-content-body .alignright:last-child,
.mce-content-body .aligncenter:last-child {
  margin-bottom: 0;
}
.mce-content-body p {
  letter-spacing: .1em;
}
.mce-content-body p:not(:last-child) {
  margin-bottom: 1.5em;
}
.mce-content-body strong {
  font-weight: bold;
}
.mce-content-body blockquote {
  margin: 1em 0;
  padding: 15px 40px;
  border-radius: 3px;
  position: relative;
  display: inline-block;
  font-style: oblique;
  color: #666;
  background-color: #f8f8f8;
}
.mce-content-body blockquote p { margin-bottom: 0; }
.mce-content-body blockquote::before,
.mce-content-body blockquote::after {
  content: '';
  position: absolute;
  width: 1em;
  height: 1em;
  opacity: .25;
}
.mce-content-body blockquote::before {
  background-image: url('../images/common/icon-quote_left.svg');
  top: 13px;
  left: 10px;
}
.mce-content-body blockquote::after {
  background-image: url('../images/common/icon-quote_right.svg');
  bottom: 13px;
  right: 10px;
}
.mce-content-body a {
  border-bottom: 1px solid;
  color: #2a79c1;
  padding-bottom: 2px;
}
.mce-content-body a:hover {
  border-color: transparent;
}
.mce-content-body .footer_text small {
  display: block;
  margin-top: 8px;
  text-align: right;
}
.mce-content-body table {
  border: none;
  height: auto !important;
}
.mce-content-body table:not(:first-child) { margin-top: 1em; }
.mce-content-body table:not(:last-child) { margin-bottom: 1em; }
.mce-content-body th,
.mce-content-body td,
.mce-content-body tr {
  height: auto !important;
}
.mce-content-body th,
.mce-content-body td {
  padding: 12px 20px;
  border: 1px solid #ccc;
  line-height: 1.5;
  vertical-align: middle;
}
.mce-content-body th {
  min-width: 120px;
  text-align: left;
  font-family: 'Montserrat', 'Shuei KakuGo Gin B', sans-serif;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
}
.mce-content-body sup {
  font-size: .75rem; /* 12px */
  color: #555;
}

/* iframe */
.mce-content-body .iframe {
  position: relative;
  margin-bottom: 40px;
}
.mce-content-body .iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mce-content-body .iframe--youtube,
.mce-content-body .iframe--google_map {
  padding-top: calc( 9 / 16 * 100% );
}

.bg-alternate.company_vision {
    background-color: rgb(235, 240, 244);
}
.bg-alternate.company_information {
    background-color: #fff;
}

.page-id-22 .page-wrapper,
.page-id-12 .page-wrapper{
    background: #eceef4;
}

.page-id-22 .page-wrapper {
	padding-bottom: 0;
}
/* ============================================================
   One Day (daily flow) section — moved from top page to About
   ============================================================ */
.flow-area {
    margin-top: 100px;
    padding-bottom: 40px;
}
.flow-area .wrapper {
    width: min(1000px, 90%);
    margin-inline: auto;
}
.flow-area .sec-title {
    text-align: center;
}
.flow-area .sec-title .top-text {
    color: #3B86C0;
    font-size: clamp(3.4rem, 4.5vw, 6.6rem);
    line-height: 1.1;
    letter-spacing: 0.04em;
}
.flow-area .sec-title .bottom-text {
    margin-top: 0.25em;
    color: #3B86C0;
    font-size: clamp(1.4rem, 1.6vw, 1.8rem);
    letter-spacing: 0.08em;
}
.flow-area .flow-lead {
    margin: 30px auto 60px;
    text-align: center;
    font-size: clamp(15px, 1.4vw, 18px);
    line-height: 2;
    letter-spacing: 0.06em;
    color: #4a4d4e;
}
.flow-list {
    position: relative;
    list-style: none;
    padding: 0;
    margin: 0;
}
.flow-list::before {
    content: "";
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 92px;
    width: 1px;
    background: linear-gradient(to bottom, #d6be98, #3B86C0);
}
.flow-item {
    position: relative;
    display: grid;
    grid-template-columns: 84px 1fr;
    gap: 44px;
    padding: 16px 0 26px;
}
.flow-item::before {
    content: "";
    position: absolute;
    left: 86px;
    top: 24px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #3B86C0;
    box-shadow: 0 0 0 4px rgba(59, 134, 192, 0.12);
    z-index: 1;
}
.flow-item .flow-time {
    font-size: clamp(20px, 2vw, 28px);
    font-weight: 600;
    color: #3B86C0;
    letter-spacing: 0.04em;
    text-align: right;
    line-height: 1.3;
}
.flow-item .flow-topic {
    margin-bottom: 10px;
    font-size: clamp(17px, 1.7vw, 21px);
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #282b2c;
}
.flow-item .flow-text {
    font-size: clamp(14px, 1.3vw, 16px);
    line-height: 1.9;
    letter-spacing: 0.04em;
    color: #55595a;
}
@media screen and (max-width: 768px) {
    .flow-area {
        margin-top: 60px;
    }
    .flow-area .flow-lead {
        margin: 24px auto 40px;
        text-align: left;
    }
    .flow-list::before {
        left: 58px;
    }
    .flow-item {
        grid-template-columns: 58px 1fr;
        gap: 26px;
        padding: 12px 0 22px;
    }
    .flow-item::before {
        left: 52px;
        top: 20px;
    }
    .flow-item .flow-time {
        font-size: 1.35rem;
    }
}
