/* ------------------------------------------------------
content
------------------------------------------------------ */
.pages #header {
    background: var(--white-color);
}

.pages #header.header-fixed {
    background: rgba(255, 255, 255, 0.8);
}

.pages #main {
    padding-top: 90px;
}

.pages #content .section:not(:last-child) {
    padding: 0 0px 55px 0;
}

.pages #content .section .section {
    padding-top: 30px;
}

.pages #content .section p:last-child {
    margin-bottom: 0;
}

.pages .contents_detail {
    letter-spacing: 0.1em;
}

.pages .contents_detail p {
    line-height: 2;
}

.pages .contents_detail p:not(:last-child) {
    margin-bottom: 27px;
}

.pages .contents_detail a {
    text-decoration: underline;
}

.pages .contents_detail .hasimg {
    line-height: 0;
}

.pages .contents_detail ul li,
.pages .contents_detail ol li {
    list-style: inherit;
    margin-left: 15px;
}

.pages .contents_detail .wp-block-image {
    margin-bottom: 47px;
}

/* ------------------------------------------------------
h3 h4 h5 h6
------------------------------------------------------ */
.pages h3.pages_mainttl {
    font-size: 34px;
    text-align: center;
    color: var(--blue-color);
    margin-bottom: 45px;
}

.pages h3.pages_mainttl span.eng {
    display: block;
    font-family: var(--en-font);
    font-size: 26px;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #CCCCCC;
    text-transform: uppercase;
    margin-bottom: 7px;
}

.pages h3,
.pages h4,
.pages h5,
.pages h6 {
    font-weight: 700;
    letter-spacing: 0.1em;
}

/* ------------------------------------------------------
p_mainvisual
------------------------------------------------------ */
.pages #p_mainvisual {
    padding-top: 76px;
    position: relative;
}

.pages #p_mainvisual h2 {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.1em;
    color: var(--blue-color);
    margin-bottom: 55px;
}

.pages #p_mainvisual h2 span {
    display: block;
    font-family: var(--en-font);
	/*font-size: 80px;*/
	font-size: 94px;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1;
    color: #CCCCCC;
    margin-top: 7px;
}

.pages #p_mainvisual .p_mv_txt {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.72;
}

.pages #p_mainvisual .p_mv_cover {
    width: 100%;
    height: 30vw;
    margin-top: 76px;
    position: relative;
}

.pages #p_mainvisual .p_mv_cover .mv_maincover {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: all 1s cubic-bezier(.15, 0, .25, 1);
}

.pages #p_mainvisual .p_mv_cover .mv_maincover::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #01b3ed 0%, #55cc29 100%);
    top: 0;
    left: 0;
    opacity: .3;
}

.pages #p_mainvisual .p_mv_cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages #p_mainvisual .p_mv_cover .img-loader {
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #01b3ed 0%, #55cc29 100%);
    animation-duration: 1.2s;
    animation-timing-function: cubic-bezier(.15, 0, .25, 1);
    animation-fill-mode: forwards;
    position: absolute;
    top: 0;
    left: 0;
}

.pages #p_mainvisual .is-scroll {
    transform: translateY(0);
    opacity: 1;
}

.pages #p_mainvisual .is-animated .mv_maincover {
    opacity: 1;
    transition-delay: 1s;
}

.pages #p_mainvisual .is-animated .img-loader {
    animation-name: animatedbg;
}

@keyframes animatedbg {
    0% {
        transform-origin: left;
        transform: scaleX(0);
    }

    50% {
        transform-origin: left;
        transform: scaleX(1);
    }

    50.001% {
        transform-origin: right;
    }

    100% {
        transform-origin: right;
        transform: scaleX(0);
    }
}

.pages #p_mainvisual .p_mvdecor {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.pages #p_mainvisual .p_mvdecor::after {
    position: absolute;
    content: '';
    z-index: -1;
    pointer-events: none;
    background-image: url(../images/common/decor01.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 74.533vw;
    max-width: 1118px;
    height: 805px;
    max-height: 805px;
    top: -60px;
    right: -375px;
    animation: decoranimation02 40s linear infinite;
}

.pages #p_mainvisual .p_mvdecor .decor_circle {
    position: relative;
}

.pages #p_mainvisual .p_mvdecor .decor_circle::before,
.pages #p_mainvisual .p_mvdecor .decor_circle::after {
    position: absolute;
    content: '';
    border-radius: 50%;
}

.pages #p_mainvisual .p_mvdecor .decor_circle::before {
    width: 23.34vw;
    max-width: 239px;
    height: 23.34vw;
    max-height: 239px;
    background: rgba(1, 179, 237, 0.1);
    top: 50px;
    left: 335px;
    animation: 20s decorcircle infinite;
}

.pages #p_mainvisual .p_mvdecor .decor_circle::after {
    width: 40.82vw;
    max-width: 418px;
    height: 40.82vw;
    max-height: 418px;
    background: rgba(145, 195, 31, 0.1);
    top: 130px;
    left: -95px;
    animation: 20s decorcircle02 infinite;
}

/* ------------------------------------------------------
topic_path
------------------------------------------------------ */
.pages #topic_path {
    margin: 0 0 67px;
}

.pages #topic_path ul {
    padding: 38px 0 0;
}

.pages #topic_path li {
    display: inline-block;
    color: #3e3a39;
    font-size: 14px;
    line-height: 1.4;
}

.pages #topic_path li a {
    text-decoration: underline;
    color: #e06277;
}

.pages #topic_path li a:hover {
    text-decoration: none;
}

/* ------------------------------------------------------
table
------------------------------------------------------ */
.pages table {
    margin-bottom: 35px;
}

.pages table th,
.pages table td {
    font-size: 15px;
    line-height: 1.73;
    letter-spacing: 0.1em;
    padding: 21px 26px 22px;
    border-bottom-width: 1px;
    border-bottom-style: solid;
}

.pages table th {
    font-weight: 400;
    text-align: left;
    vertical-align: top;
    border-bottom-color: #CCCCCC;
}

.pages table td {
    border-right: 1px solid #CCCCCC;
    border-bottom-color: #CCCCCC;
}

.pages table.td_top td {
    vertical-align: top;
}

.pages table.td_center td {
    text-align: center;
}

.pages table.tb_fix {
    table-layout: fixed;
}

.pages table.tb_block th {
    width: 25%;
    color: var(--white-color);
    background: #8DC21F;
    border-bottom-color: var(--white-color);
}

.pages table.tb_block tr:first-child th {
    border-top: 1px solid #8DC21F;
}

.pages table.tb_block tr:last-child th {
    border-bottom-color: #8DC21F;
}

.pages table.tb_block tr:first-child td {
    border-top: 1px solid #CCCCCC;
}

.pages #content table:last-child {
    margin-bottom: 0;
}

.pages table td a {
    text-decoration: underline;
}

.pages table td ol li,
.pages table td ul li {
    list-style: inherit;
    margin-left: 15px;
}

/*-----txt_note-----*/
.pages .txt_note,
.pages .tb_notes {
    display: none;
}

.pages .txt_bold {
    font-weight: 700;
}

/* ------------------------------------------------------
under list
------------------------------------------------------ */
.pages .list01 li {
    margin-bottom: 22px;
    padding-left: 35px;
    position: relative;
}

.pages .list01 li::before {
    position: absolute;
    content: "";
    width: 20px;
    height: 3px;
    background: #1e3c72;
    top: 9px;
    left: 0;
}

.pages .list_check li {
    margin-bottom: 22px;
    padding-left: 35px;
    position: relative;
}

.pages .list_check li::before {
    position: absolute;
    content: "";
    width: 7px;
    height: 12px;
    border: solid #1e3c72;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    display: inline-block;
    top: 8px;
    left: 0;
}

.pages .list01:last-child,
.pages .list01 li:last-child,
.pages .list_check:last-child,
.pages .list_check li:last-child {
    margin-bottom: 0px;
}

/* ------------------------------------------------------
under frame
------------------------------------------------------ */
.pages .frame01 {
    background: rgba(255, 211, 216, 0.3);
    padding: 25px 30px 25px;
    margin: 0 auto 30px;
    border-radius: 10px;
    box-sizing: border-box;
}

.pages .frame01:last-child {
    margin: 0 auto;
}

/* ------------------------------------------------------
under_step
------------------------------------------------------ */
.pages .under_step dl {
    margin-bottom: 60px;
}

.pages .under_step dl:last-child {
    margin-bottom: 0px;
}

.pages .under_step dl dt {
    font-size: 18px;
    color: #fff;
    background: #e06277;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border: 2px solid #e06277;
    padding: 10px 20px 5px;
    box-sizing: border-box;
}

.pages .under_step dl dt span {
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    margin-right: 5px;
}

.pages .under_step dl dd {
    display: flex;
    align-items: center;
    border: 2px solid #e06277;
    padding: 20px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}

.pages .under_step dl:nth-child(odd) dd {
    flex-direction: row-reverse;
}

.pages .under_step dl dd .step_img {
    flex-shrink: 0;
    padding-left: 40px;
    margin-bottom: 0 !important;
    box-sizing: border-box;
}

.pages .under_step dl:nth-child(even) dd .step_img {
    padding: 0 40px 0 0;
}

/* ------------------------------------------------------
qa_dl
------------------------------------------------------ */
.pages .qa_dl dl {
    padding-left: 80px;
    padding-bottom: 60px;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
}

.pages .qa_dl dl:after {
    position: absolute;
    z-index: -1;
    left: 25px;
    top: 0;
    height: 100%;
    width: 1px;
    content: '';
    display: block;
    border-left: rgba(119, 119, 119, 0.30) 1px dotted;
}

.pages .qa_dl dl:last-child {
    padding-bottom: 0;
}

.pages .qa_dl dl dt,
.pages .qa_dl dl dd {
    position: inherit;
    z-index: 1;
}

.pages .qa_dl dl dt span,
.pages .qa_dl dl dd span {
    position: absolute;
    z-index: 1;
    left: -80px;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    color: #fff;
    font-size: 18px;
}

.pages .qa_dl dl dt {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
    color: #00478A;
    min-height: 50px;
    display: flex;
    align-items: center;
    line-height: 1.4em;
}

.pages .qa_dl dl dd {
    padding: 30px;
    background: rgba(109, 178, 216, 0.15);
}

/* ------------------------------------------------------
under_bnr
------------------------------------------------------ */
.pages .under_bnr_full {
    background: url(../images/under_btn_bg.jpg) no-repeat center;
    background-size: cover;
    width: 700px;
    height: 150px;
    border-radius: 8px;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.25);
    margin: 0 auto;
    transition: all 0.25s linear;
}

.pages .under_bnr_full a {
    font-size: 18px;
    line-height: 1.6;
    color: #fff;
    width: 100%;
    height: 100%;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 .5em;
}

/* ------------------------------------------------------
others
------------------------------------------------------ */
.pages .center {
    margin-bottom: 35px;
}

.pages .image_l {
    margin: 0 40px 15px 0;
}

.pages .image_r {
    margin: 0 0 15px 40px;
}

.pages .a_hover:hover {
    text-decoration: none;
}

.pages .wp-pagenavi {
    display: flex;
    justify-content: center;
    flex-flow: row wrap;
}

.pages .wp-pagenavi span,
.pages .wp-pagenavi a {
    font-size: 15px;
    font-weight: 500;
    color: var(--main-color);
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 50%;
    border: 0;
    margin: 0 5px 10px;
    position: relative;
}

.pages .wp-pagenavi a,
.pages .wp-pagenavi a:link,
.pages .wp-pagenavi a:visited {
    transition: all 0.3s ease;
    position: relative;
}

.pages .wp-pagenavi .current {
    background: #ced9de;
    position: relative;
}

.pages .wp-pagenavi a.previouspostslink,
.pages .wp-pagenavi a.nextpostslink {
    width: auto;
}

.pages .wp-pagenavi a.previouspostslink i,
.pages .wp-pagenavi a.nextpostslink i {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #CDDD09;
    position: relative;
    overflow: hidden;
}

.pages .wp-pagenavi a.nextpostslink i::before,
.pages .wp-pagenavi a.nextpostslink i::after,
.pages .wp-pagenavi a.previouspostslink i::before,
.pages .wp-pagenavi a.previouspostslink i::after {
    position: absolute;
    content: '';
    background-repeat: no-repeat;
    background-size: contain;
    width: 20px;
    height: 8px;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
}

.pages .wp-pagenavi a.nextpostslink {
    margin-left: 136px;
}

.pages .wp-pagenavi a.nextpostslink i {
    margin-right: 18px;
}

.pages .wp-pagenavi a.nextpostslink i::before,
.pages .wp-pagenavi a.nextpostslink i::after {
    background-image: url(../images/news/icon_next.svg);
    left: 50%;
}

.pages .wp-pagenavi a.nextpostslink i::after {
    left: -150%;
}

.pages .wp-pagenavi a.previouspostslink {
    margin-right: 136px;
}

.pages .wp-pagenavi a.previouspostslink i {
    margin-left: 18px;
}

.pages .wp-pagenavi a.previouspostslink i::before,
.pages .wp-pagenavi a.previouspostslink i::after {
    background-image: url(../images/news/icon_prev.svg);
    right: 25%;
}

.pages .wp-pagenavi a.previouspostslink i::after {
    right: -150%;
}

.pages .wp-pagenavi .first,
.pages .wp-pagenavi .last,
.pages .wp-pagenavi .pages {
    display: none;
}

.pages .button_control {
    width: 94%;
    max-width: 900px;
    padding: 100px 0;
    margin: 0 auto;
}

.pages .media_back {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f9f9f9;
    padding: 20px 0;
}

.pages .media_back li {
    width: calc(100% / 3);
    height: 56px;
}

.pages .media_back li:not(.special-btn) a {
    font-size: 20px;
    letter-spacing: 0.1em;
    color: var(--main-color);
    display: inline-flex;
    align-items: center;
    transition: all .3s ease;
}

.pages .media_back li:not(.special-btn) a i {
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    width: 56px;
    height: 56px;
    position: relative;
    top: -1px;
}

.pages .media_back li.prev-btn {
    text-align: right;
}

.pages .media_back li.prev-btn a i {
    background-image: url(../images/common/prev_icon.png);
    margin-right: 16px;
}

.pages .media_back li.next-btn a i {
    background-image: url(../images/common/next_icon.png);
    margin-left: 16px;
}

.pages .media_back li.special-btn {
    width: 254px;
    flex-shrink: 0;
    margin: 0 70px;
}

/* ------------------------------------------------------
p_company
------------------------------------------------------ */
.pages #company_intro {
    padding: 92px 0 108px;
    position: relative;
}

.pages #company_intro::before {
    position: absolute;
    content: '';
    background-image: url(../images/top/idx_staff_bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 100vw;
    height: 627px;
    top: -140px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
    pointer-events: none;
    animation: decoranimation03 40s linear infinite;
}

.pages #company_intro .company_intro_title {
    font-size: 34px;
    line-height: 1.65;
    color: var(--blue-color);
    text-align: center;
    margin-bottom: 44px;
}

.pages #company_intro .company_intro_txt {
    width: 100%;
    max-width: 900px;
    text-align: justify;
    line-height: 2.375;
    margin: 0 auto;
}

.pages #company_info {
    padding: 0 0 180px;
    position: relative;
}

.pages #company_info::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, #01b3ed 0%, #55cc29 100%);
    opacity: .75;
    top: 0;
    left: 0;
    z-index: -1;
}

.pages #company_info .company_gallery {
    display: flex;
}

.pages #company_info .company_gallery .item_image {
    width: calc(100% / 4);
    height: 26.667vw;
}

.pages #company_info .company_gallery .item_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages #company_info .company_frame {
    width: 94%;
    max-width: 1200px;
    background: var(--white-color);
    border-radius: 20px;
    margin: -130px auto 0;
    position: relative;
}

.pages #company_info .company_frame .inner {
    max-width: 1000px;
}

.pages .company_profile {
    padding: 87px 0 46px;
}

.pages .company_profile .pages_mainttl {
    margin-bottom: 65px;
}

.pages .company_offices {
    padding: 45px 0 119px;
}

.pages .company_offices .pages_mainttl {
    margin-bottom: 76px;
}

.pages .company_offices .office_item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 98px;
}

.pages .company_offices .office_item:last-child {
    margin-bottom: 0;
}

.pages .company_offices .office_item dl {
    width: 100%;
    max-width: 500px;
    border-top: 2px solid #8DC21F;
    margin-right: 30px;
    flex: 1;
}

.pages .company_offices .office_item dl dt {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 24px 0 22px;
}

.pages .company_offices .office_item dl dd .tb_office th,
.pages .company_offices .office_item dl dd .tb_office td {
    padding: 13px 26px 15px;
}

.pages .company_offices .office_item dl dd .tb_office tr:first-child th,
.pages .company_offices .office_item dl dd .tb_office tr:first-child td {
    border-top: 1px solid #CCCCCC;
}

.pages .company_offices .office_item dl dd .tb_office th {
    width: 17.5%;
    font-size: 18px;
    font-weight: 700;
    padding-right: 0;
}

.pages .company_offices .office_item dl dd .tb_office td {
    border-right: 0;
    padding: 16px 10px 17px;
}

.pages .company_offices .office_item .office_map {
    width: 100%;
    max-width: 420px;
	height: 300px;
}

.pages .company_offices .office_item .office_map iframe {
    width: 100%;
    height: 100%;
}

/* ------------------------------------------------------
p_about
------------------------------------------------------ */
#about #wrapper {
    overflow: inherit;
}

#about #p_mainvisual,
#about #footer {
    overflow: hidden;
}

.pages #about_mission {
    padding: 98px 0 111px;
    position: relative;
}

.pages #about_mission::after {
    position: absolute;
    content: '';
    background: url(../images/common/circle02.svg) no-repeat;
    background-size: contain;
    width: 42vw;
    max-width: 630px;
    height: 42vw;
    max-height: 630px;
    bottom: -230px;
    left: 37px;
    pointer-events: none;
    z-index: -1;
    animation: 20s decorcircle infinite;
}

.pages #about_mission .inner {
    max-width: 1000px;
    z-index: 1;
}

.pages #about_mission .pages_mainttl {
    margin-bottom: 82px;
    position: relative;
}

.pages #about_mission .pages_mainttl::before {
    position: absolute;
    content: '';
    width: 18.945vw;
    max-width: 194px;
    height: 18.945vw;
    max-height: 194px;
    background: rgba(1, 179, 237, 0.1);
    border-radius: 50%;
    top: -30px;
    left: 21%;
    animation: 20s decorcircle infinite;
}

.pages #about_intro {
    color: var(--white-color);
    padding: 13vh 0 0;
    position: relative;
}

.pages #about_intro::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #01b3ed 0%, #55cc29 100%);
    top: 0;
    left: 0;
    opacity: .75;
}

.pages #about_intro .about_cover {
    width: 100%;
    height: 100vh;
    position: sticky;
    top: 0;
    left: 0;
    z-index: -1;
}

.pages #about_intro .about_cover::before {
    position: absolute;
    content: '';
    background: linear-gradient(to bottom, #ffffff 0%, transparent 100%);
    width: 100%;
    height: 30vh;
    top: 0;
    left: 0;
}

.pages #about_intro .about_cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages #about_intro .about_pin {
    padding-bottom: 136px;
}

.pages #about_intro .about_intro_logo {
    text-align: center;
    margin-bottom: 51px;
}

.pages #about_intro .about_intro_title {
    font-size: 40px;
    line-height: 1.7;
    text-align: center;
    margin-bottom: 97px;
    position: relative;
}

.pages #about_intro .about_intro_title::before {
    position: absolute;
    content: '';
    width: 70px;
    height: 4px;
    background: var(--white-color);
    bottom: -49px;
    left: 50%;
    transform: translateX(-50%);
}

.pages #about_intro .about_intro_txt {
    font-size: 26px;
    font-weight: 700;
    line-height: 2.23;
    text-align: center;
}

.pages #about_intro .about_intro_txt p:not(:last-child) {
    margin-bottom: 58px;
}

.pages #about_reason {
    background: var(--white-color);
    padding: 97px 0 77px;
    overflow: hidden;
}

.pages #about_reason .pages_mainttl {
    margin-bottom: 58px;
}

.pages #about_reason .reason_card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    position: relative;
    z-index: 1;
}

.pages #about_reason .reason_card:last-child {
    margin-bottom: 0;
}

.pages #about_reason .reason_frame {
    width: 100%;
    max-width: 450px;
    flex: 1;
}

.pages #about_reason .reason_frame .reason_tag {
    font-family: var(--en-font);
    font-size: 20px;
    letter-spacing: 0.05em;
    color: #ccc;
    margin-bottom: 21px;
}

.pages #about_reason .reason_frame .reason_tag span {
    font-size: 250%;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1;
    margin-left: 7px;
    position: relative;
    top: 3px;
}

.pages #about_reason .reason_frame .reason_title {
    font-size: 22px;
    line-height: 1.72;
    margin-bottom: 23px;
}

.pages #about_reason .reason_frame .reason_txt {
    line-height: 2;
}

.pages #about_reason .reason_image {
    width: 55.6vw;
    max-width: 695px;
    height: 55.6vw;
    max-height: 695px;
    border-radius: 50%;
    margin-right: 25px;
    position: relative;
    transform: scale(.8);
    opacity: 0;
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
}

.pages #about_reason .is-effected .reason_image {
    opacity: 1;
    transform: scale(1);
}

.pages #about_reason .reason_image .image_item {
    width: 89.3%;
    height: 89.3%;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow: hidden;
}

.pages #about_reason .reason_image .image_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages #about_reason .reason_image .circle_animate {
    animation: circlerotate 80s linear infinite;
}

@keyframes circlerotate {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}

.pages #about_reason .reason_card::before {
    position: absolute;
    content: '';
    z-index: -1;
    pointer-events: none;
}

.pages #about_reason .reason_card:nth-child(1)::before {
    background-image: url(../images/top/idx_staff_bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 100vw;
    height: 627px;
    top: -30px;
    left: 43%;
    transform: translateX(-50%);
    animation: decoranimation03 40s linear infinite;
}

.pages #about_reason .reason_card:nth-child(2)::before {
    width: 37.391vw;
    max-width: 430px;
    height: 37.391vw;
    max-height: 430px;
    background: rgba(1, 179, 237, 0.1);
    border-radius: 50%;
    bottom: -290px;
    right: -24%;
    animation: 20s decorcircle infinite;
}

.pages #about_reason .reason_card:nth-child(3)::before {
    width: 100vw;
    max-width: 1450px;
    height: 28vw;
    max-height: 315px;
    background: linear-gradient(to right, rgba(109, 192, 214, 0.5) 0%, rgba(162, 190, 115, 0.5) 100%);
    border-radius: 160px;
    top: 120px;
    left: -26%;
    transform: rotate(23deg);
    animation: decoranimation04 55s linear infinite;
}

.pages #about_reason .reason_card:nth-child(even) {
    flex-direction: row-reverse;
}

.pages #about_reason .reason_card:nth-child(even) .reason_image {
    margin-right: 0;
    margin-left: 25px;
}

.pages #learn_more {
    padding-bottom: 172px;
}

.pages #learn_more .pages_mainttl {
    margin-bottom: 79px;
    position: relative;
    z-index: 1;
}

.pages #learn_more .pages_mainttl::after {
    position: absolute;
    content: '';
    background-image: url(../images/about/decor01.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 18.667vw;
    max-width: 280px;
    height: 16.867vw;
    max-height: 253px;
    top: -100px;
    right: -68px;
    z-index: -1;
}

.pages #learn_more .learn_more_list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 31px;
}

.pages #learn_more .learn_more_list li {
    width: calc((100% - 60px) / 2);
    height: 270px;
    margin: 0 60px 60px 0;
}

.pages #learn_more .learn_more_list li:nth-child(even) {
    margin-right: 0;
}

.pages #learn_more .learn_more_list li a {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: var(--white-color);
    border-radius: 20px;
    transform-origin: 50% 50%;
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
    overflow: hidden;
    position: relative;
}

.pages #learn_more .learn_more_list li h4 {
    font-family: var(--en-font);
    font-size: 40px;
    font-weight: 600;
    letter-spacing: 0.12em;
    margin-bottom: 8px;
}

.pages #learn_more .learn_more_list li .sub_txt {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 0;
}

.pages #learn_more .learn_more_list li .icon {
    width: 5.12vw;
    max-width: 64px;
    height: 5.12vw;
    max-height: 64px;
    border-radius: 50%;
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

.pages #learn_more .learn_more_list li .icon .cls-1 {
    fill: #fff;
}

.pages #learn_more .learn_more_list li .icon .cls-2 {
    fill: none;
    stroke: #fff;
    stroke-miterlimit: 10;
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
}

.pages #learn_more .learn_more_list li:nth-child(1) a {
    background: var(--blue-color);
}

.pages #learn_more .learn_more_list li:nth-child(2) a {
    background: #FBB03B;
}

.pages #learn_more .learn_more_list li:nth-child(3) a {
    background: #FF7BAC;
}

.pages #learn_more .learn_more_list li:nth-child(4) a {
    background: #8DC21F;
}

.pages #learn_more .learn_more_frame {
    position: relative;
    z-index: 1;
}

.pages #learn_more .learn_more_frame::before {
    position: absolute;
    content: '';
    background: url(../images/about/decor02.svg) no-repeat;
    background-size: contain;
    width: 18.667vw;
    max-width: 280px;
    height: 16.467vw;
    max-height: 247px;
    left: -31px;
    bottom: -97px;
    z-index: -1;
}

.pages #learn_more .learn_more_frame .learn_more_txt {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.75;
    text-align: center;
    margin-bottom: 75px;
}

.pages #learn_more .learn_more_frame .second_btn {
    max-width: 500px;
    height: 110px;
    margin: 0 auto;
}

.pages #learn_more .learn_more_frame .second_btn a {
    font-size: 24px;
    font-weight: 700;
    border-radius: 55px;
}

.pages #about_greeting {
    padding-bottom: 150px;
    position: relative;
    overflow: hidden;
}

.pages #about_greeting::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: #F5F5F5;
    top: 150px;
    left: 0;
    z-index: -2;
}

.pages #about_greeting .inner {
    padding-top: 180px;
}

.pages #about_greeting .inner::before {
    position: absolute;
    content: '';
    width: 100vw;
    height: 650px;
    background: var(--blue-color);
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    top: 0;
    left: 100px;
    z-index: -1;
}

.pages #about_greeting .about_greeting_frame {
    /*width: 70.4vw;
    max-width: 880px;*/
	width: 100%;
    background: var(--white-color);
    border-radius: 20px;
    padding: 72px 95px 88px;
    margin-left: auto;
    position: relative;
}

.pages #about_greeting .about_greeting_frame::before {
    position: absolute;
    content: '';
    background: url(../images/about/about_greeting_img01.jpg) no-repeat;
    background-position: 235px 0;
    background-size: cover;
    width: 100vw;
    height: 57.6vw;
    max-height: 720px;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    right: 50%;
    top: -90px;
    z-index: -1;
}

.pages #about_greeting .about_greeting_frame::after {
    position: absolute;
    content: '';
    background-image: url(../images/about/decor03.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 23.333vw;
    max-width: 350px;
    height: 19.933vw;
    max-height: 299px;
    bottom: 132px;
    left: -406px;
    z-index: -1;
}

.pages #about_greeting .about_greeting_frame .pages_mainttl {
    margin-bottom: 32px;
}

.pages #about_greeting .about_greeting_frame h4 {
    font-size: 27px;
    color: var(--blue-color);
    text-align: center;
    margin-bottom: 42px;
}

.pages #about_greeting .about_greeting_txt {
    line-height: 2.375;
    text-align: justify;
}

.pages #about_greeting .about_greeting_txt p:not(:last-child) {
    margin-bottom: 38px;
}

.pages #about_greeting .tag_name {
    font-weight: 700;
    text-align: right;
}

.pages #about_greeting .about_slogan {
    position: absolute;
    top: 57.8%;
    left: 0;
    transform: translateY(-50%);
    z-index: -1;
}

.pages #about_greeting .about_slogan::before {
    position: absolute;
    content: '';
    background: url(../images/about/about_slogan.png) repeat-x;
    background-size: 2930px 100%;
    width: 100vw;
    height: 130px;
    bottom: 0;
    left: 0;
    transition: all 1s linear;
    animation: sloganslide 40s linear infinite;
    pointer-events: none;
}

@keyframes sloganslide {
    0% {
        background-position: 2930px 0;
    }

    100% {
        background-position: 0 0;
    }
}

@keyframes sloganslide_sp {
    0% {
        background-position: 1352px 0;
    }

    100% {
        background-position: 0 0;
    }
}


/*2025.12.09追記*/
/* ==========================================================================
   代表挨拶 
   ========================================================================== */

.about_greeting_2col {
    display: flex;
    gap: 30px; 
	margin-bottom: 2em;
	align-items: center;
}

.about_greeting_txt_l {
    width: 45%;
    flex-shrink: 0; 
}

.about_greeting_r {
    width: calc(55% - 30px);
    flex-grow: 1; 
	margin-top:4em;
}
.about_greeting_r p {
    margin-bottom: 0 !important;
}
.about_greeting_txt_l img {
    max-width: 100%;
    height: auto;
}
.pages #about_greeting .about_greeting_frame .pages_mainttl {
    text-align: left;
}
.pages #about_greeting .about_greeting_frame h4 {
        text-align: left;
    }
.about_greeting_r img {
    border-radius: 15px;
}
@media (max-width: 1024px) {
    .about_greeting_2col {
        display: block;
        gap: 0; 
		margin-bottom: 0;
    }

    .about_greeting_txt_l {
        width: 100%;
        margin-bottom: 20px;
        text-align: center;
    }
    .about_greeting_txt_l img {
        display: block; 
        margin-inline: auto;
    }
    .about_greeting_r {
        width: 100%;
		margin-top: 0;
    }
	.pages #about_greeting .about_greeting_frame .pages_mainttl {
    text-align: center;
}
.pages #about_greeting .about_greeting_frame h4 {
        text-align: center;
        font-size: 22px !important;
    }
	.pages #about_greeting .about_greeting_frame h4 br{
		display:none;
	}
}
/* ------------------------------------------------------
p_service
------------------------------------------------------ */
.pages .service_tag {
    width: 100%;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 34px;
    font-weight: 700;
    color: var(--white-color);
    text-align: center;
    background: linear-gradient(to right, #efef84 0%, #cddd09 50%, #efef84 100%);
    margin-bottom: 70px;
}

.pages #service_intro {
    padding: 92px 0 30px;
    position: relative;
}

.pages #service_intro::before,
.pages #service_intro::after {
    position: absolute;
    content: '';
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    z-index: -1;
}

.pages #service_intro::before {
    background-image: url(../images/common/circle04.svg);
    width: 30.37vw;
    max-width: 410px;
    height: 30.37vw;
    max-height: 410px;
    top: -2%;
    right: 4.333vw;
    animation: 20s decorcircle infinite;
}

.pages #service_intro::after {
    background-image: url(../images/top/idx_staff_bg.png);
    width: 100vw;
    height: 627px;
    bottom: 15%;
    left: 43%;
    animation: decoranimation03 40s linear infinite;
}

.pages #service_intro .service_intro_headline {
    width: 94%;
    max-width: 900px;
    margin: 0 auto 84px;
    position: relative;
}

.pages #service_intro .service_intro_headline::before {
    position: absolute;
    content: '';
    width: 15.12vw;
    max-width: 189px;
    height: 15.12vw;
    max-height: 189px;
    background: rgba(145, 195, 31, 0.1);
    border-radius: 50%;
    top: 50%;
    left: -3vw;
    z-index: -1;
    pointer-events: none;
    animation: 20s decorcircle infinite;
}

.pages #service_intro .service_intro_title {
    font-size: 34px;
    line-height: 1.65;
    color: var(--blue-color);
    text-align: center;
    margin-bottom: 18px;
}

.pages #service_intro .service_intro_txt {
    line-height: 2.375;
    text-align: justify;
}

.pages #service_intro .service_intro_list {
    width: 94%;
    max-width: 1200px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    position: relative;
}

.pages #service_intro .service_intro_list li {
    width: calc((100% - 70px) / 3);
    box-shadow: 3px 3px 6px 0 rgba(137, 137, 137, 0.75);
    border-radius: 28px;
    background: var(--white-color);
    padding: 31px 40px 30px;
    margin: 0 35px 39px 0;
}

.pages #service_intro .service_intro_list li:nth-child(3n+3) {
    margin-right: 0;
}

.pages #service_intro .service_intro_list li figure {
    width: 100%;
    max-width: 106px;
    margin: 0 auto 23px;
}

.pages #service_intro .service_intro_list li h4 {
    font-size: 22px;
    color: var(--blue-color);
    text-align: center;
    margin-bottom: 20px;
}

.pages #service_intro .service_intro_list li .txt {
    line-height: 2;
    text-align: justify;
}

.pages #service_intro .service_intro_list li:nth-child(2).is-animated {
    transition-delay: .2s;
}

.pages #service_intro .service_intro_list li:nth-child(3).is-animated {
    transition-delay: .4s;
}

.pages #service_intro .service_intro_list li:nth-child(5).is-animated {
    transition-delay: .2s;
}

.pages #service_intro .service_intro_list li:nth-child(6).is-animated {
    transition-delay: .4s;
}

.pages #service_solutions {
    background: #E4F2F9;
    padding: 28px 0 53px;
    position: relative;
}

.pages #service_solutions::after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-left: 110px solid transparent;
    border-right: 110px solid transparent;
    border-top: 85px solid #E4F2F9;
    bottom: -82px;
    left: 50%;
    transform: translateX(-50%);
}

.pages #service_solutions .inner {
    max-width: 1000px;
}

.pages #service_solutions .pages_mainttl {
    margin-bottom: 23px;
}

.pages #service_solutions .service_solutions_txt {
    line-height: 2.375;
    text-align: center;
    margin-bottom: 57px;
}

.pages #service_solutions .service_solutions_list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}

.pages #service_solutions .service_solutions_list li {
    width: calc((100% - 40px) / 2);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--white-color);
    background: linear-gradient(to right, #01b3ed 0%, #55cc29 100%);
    border-radius: 25px;
    padding: 0 27px 11px;
    margin: 0 40px 21px 0;
    position: relative;
}

.pages #service_solutions .service_solutions_list li::before {
    position: relative;
    content: '';
    display: inline-block;
    background: url(../images/service/icon_check.svg) no-repeat;
    background-size: contain;
    width: 32px;
    height: 32px;
    margin-right: 32px;
    top: 9px;
}

.pages #service_solutions .service_solutions_list li:nth-child(even) {
    margin-right: 0;
}

.pages #service_support {
    padding: 131px 0 0;
}

.pages #service_support .pages_mainttl {
    margin-bottom: 36px;
    position: relative;
}

.pages #service_support .pages_mainttl::before {
    position: absolute;
    content: '';
    width: 20.16vw;
    max-width: 252px;
    height: 20.16vw;
    max-height: 252px;
    background: rgba(145, 195, 31, 0.1);
    border-radius: 50%;
    top: -70%;
    right: 18%;
    z-index: -1;
    pointer-events: none;
    animation: 20s decorcircle infinite;
}

.pages #service_support .service_support_txt {
    line-height: 2.375;
    text-align: center;
    margin-bottom: 140px;
}

.pages #service_support .support_list {
    display: flex;
    flex-wrap: wrap;
    position: relative;
}

.pages #service_support .support_list::before {
    position: absolute;
    content: '';
    width: 42.8vw;
    max-width: 642px;
    height: 42.8vw;
    max-height: 642px;
    background: rgba(1, 179, 237, 0.1);
    border-radius: 50%;
    top: -20%;
    left: -30%;
    animation: 20s decorcircle infinite;
    z-index: -1;
}

.pages #service_support .support_card {
    width: calc((100% - 60px) / 2);
    background: #f7f6f7;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    margin: 0 60px 48px 0;
    overflow: hidden;
}

.pages #service_support .support_card:nth-child(even) {
    margin-right: 0;
}

.pages #service_support .support_image {
    width: 100%;
    height: 18.153vw;
    max-height: 230px;
}

.pages #service_support .support_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages #service_support .support_component {
    padding: 0 30px 23px;
    margin-top: -11px;
}

.pages #service_support .support_component h4 {
    font-size: 22px;
    letter-spacing: 0.1em;
    color: #00b3ec;
    margin-bottom: 10px;
}

.pages #service_support .support_component h4 img {
    width: 10.88vw;
    max-width: 136px;
    margin-right: 20px;
    position: relative;
    top: 2px;
}

.pages #service_support .support_component .support_txt {
    line-height: 2.375;
    text-align: justify;
}

.pages #service_support .service_tag {
    margin: 47px 0 0;
}

.pages #service_creativity {
    padding: 74px 0 0;
}

.pages #service_creativity .pages_mainttl {
    margin-bottom: 55px;
}

.pages #service_creativity .creativity_card {
    min-height: 448px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 44px 23px 59px;
    margin-bottom: 40px;
    position: relative;
}

.pages #service_creativity .creativity_card::before {
    position: absolute;
    content: '';
    width: 100vw;
    height: 100%;
    background: linear-gradient(to right, rgba(242, 228, 199, 0.5) 0%, rgba(85, 204, 41, 0.5) 100%);
    top: 0;
    right: 0;
    z-index: -1;
    transition: all .8s cubic-bezier(.15, 0, .25, 1);
    transform: scale(0, 1);
    transform-origin: left top;
}

.pages #service_creativity .creativity_component {
    width: 100%;
    max-width: 670px;
    flex: 1;
    opacity: 0;
    transform: translateY(50px);
    transition: all .5s cubic-bezier(.15, 0, .25, 1);
}

.pages #service_creativity h4 {
    font-size: 22px;
    letter-spacing: 0.1em;
    color: var(--blue-color);
    margin-bottom: 44px;
}

.pages #service_creativity h4 span {
    display: block;
    font-family: var(--en-font);
    font-size: 80px;
    letter-spacing: 0;
    line-height: 1;
    color: var(--main-color);
    margin-bottom: 7px;
}

.pages #service_creativity .creativity_frame {
    line-height: 2.375;
    text-align: justify;
    background: var(--white-color);
    border-radius: 15px;
    padding: 9px 31px 20px;
}

.pages #service_creativity .creativity_title {
    font-size: 25px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 33px;
}

.pages #service_creativity .creativity_title span {
    display: inline-block;
    padding: 0 17px;
    position: relative;
}

.pages #service_creativity .creativity_title span::before,
.pages #service_creativity .creativity_title span::after {
    position: absolute;
    content: '';
    background-size: contain;
    width: 29px;
    height: 30px;
    top: 2px;
}

.pages #service_creativity .creativity_title span::before {
    background-image: url(../images/service/line01.svg);
    right: 100%;
}

.pages #service_creativity .creativity_title span::after {
    background-image: url(../images/service/line02.svg);
    left: 100%;
}

.pages #service_creativity .creativity_title i {
    display: inline-block;
    background: url(../images/service/icon_camera.svg) no-repeat;
    background-size: contain;
    width: 37px;
    height: 28px;
    margin-right: 23px;
    position: relative;
    top: 4px;
}

.pages #service_creativity .recommended_points li {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.pages #service_creativity .recommended_points li:last-child {
    margin-bottom: 0;
}

.pages #service_creativity .recommended_points li i {
    width: 70px;
    font-family: var(--en-font);
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 0.1em;
    font-style: normal;
    color: var(--white-color);
    padding-left: 10px;
    margin-right: 15px;
    position: relative;
    z-index: 1;
}

.pages #service_creativity .recommended_points li i::before {
    position: absolute;
    content: '';
    background: url(../images/service/icon_point.svg) no-repeat;
    background-size: contain;
    width: 70px;
    height: 58px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: -1;
}

.pages #service_creativity .recommended_points li span {
    width: 100%;
    max-width: 479px;
    min-height: 58px;
    display: flex;
    align-items: center;
    font-size: 22px;
    font-weight: 700;
    color: var(--blue-color);
    line-height: 1.3;
    letter-spacing: 0.1em;
    background: var(--white-color);
    border-radius: 33px;
    padding: 4px 35px;
    flex: 1;
}

.pages #service_creativity .creativity_image {
    margin-left: 25px;
    opacity: 0;
    transform: translateY(50px);
    transition: all .5s cubic-bezier(.15, 0, .25, 1);
}

.pages #service_creativity .creativity_card:nth-child(1) {
    padding-right: 40px;
}

.pages #service_creativity .creativity_card:nth-child(2) {
    flex-direction: row-reverse;
    padding: 17px 23px 10px 40px;
}

.pages #service_creativity .creativity_card:nth-child(2) .creativity_component {
    max-width: 565px;
}

.pages #service_creativity .creativity_card:nth-child(2) .creativity_image {
    width: 42.4vw;
    max-width: 530px;
    margin-left: 0;
    margin-right: 20px;
}

.pages #service_creativity .creativity_card:nth-child(2) .creativity_image img {
    border-radius: 22px;
}

.pages #service_creativity .creativity_card:nth-child(3) {
    padding-top: 23px;
    padding-bottom: 31px;
}

.pages #service_creativity .creativity_card:nth-child(3) .creativity_component {
    max-width: 100%;
}

.pages #service_creativity .creativity_card:nth-child(3) h4 {
    margin-bottom: 24px;
}

.pages #service_creativity .creativity_card:nth-child(3) .creativity_wrap {
    display: flex;
}

.pages #service_creativity .creativity_card:nth-child(3) .creativity_frame {
    width: calc((100% - 33px) / 2);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px 18px;
    background: #f7f6f7;
}

.pages #service_creativity .creativity_card:nth-child(3) .creativity_frame:nth-child(1) {
    margin-right: 33px;
}

.pages #service_creativity .creativity_card:nth-child(3) .creativity_contents {
    width: 100%;
    max-width: 220px;
    margin-left: 15px;
}

.pages #service_creativity .creativity_card:nth-child(3) .creativity_frame h5 {
    font-size: 22px;
    margin-bottom: 10px;
}

.pages #service_creativity .creativity_card:nth-child(3) .creativity_txt {
    line-height: 2.375;
    background: var(--white-color);
    border-radius: 20px;
    padding: 10px 10px;
}

.pages #service_creativity .creativity_card:nth-child(3) .creativity_txt p {
    letter-spacing: 0.05em;
}

.pages #service_creativity .creativity_card:nth-child(odd)::before {
    border-top-right-radius: 26px;
    border-bottom-right-radius: 26px;
}

.pages #service_creativity .creativity_card:nth-child(even)::before {
    background: linear-gradient(to right, rgba(85, 204, 41, 0.5) 0%, rgba(242, 228, 199, 0.5) 100%);
    border-top-left-radius: 26px;
    border-bottom-left-radius: 26px;
    left: 0;
    right: auto;
    transform-origin: right top;
}

.pages #service_creativity .creativity_card:last-child {
    margin-bottom: 0;
}

.pages #service_creativity .creativity_card.is-active::before {
    transform: scale(1, 1);
}

.pages #service_creativity .creativity_card.is-active .creativity_component,
.pages #service_creativity .creativity_card.is-active .creativity_image {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .8s;
}

.pages #service_flow {
    padding: 100px 0 97px;
    position: relative;
}

.pages #service_flow::after {
    position: absolute;
    content: '';
    background-image: url(../images/common/decor02.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 38.24vw;
    max-width: 478px;
    height: 38.64vw;
    max-height: 483px;
    top: -38%;
    right: -30px;
    animation: decoranimation02 40s linear infinite;
    z-index: -1;
}

.pages #service_flow .pages_mainttl {
    line-height: 1.65;
    margin-bottom: 68px;
    position: relative;
}

.pages #service_flow .pages_mainttl::before {
    position: absolute;
    content: '';
    background: url(../images/common/circle03.svg) no-repeat;
    background-size: contain;
    width: 19.2vw;
    max-width: 240px;
    height: 19.2vw;
    max-height: 240px;
    bottom: 0;
    left: 7vw;
    pointer-events: none;
    z-index: -1;
    animation: 20s decorcircle infinite;
}

.pages #service_flow .pages_mainttl span {
    margin-bottom: 2px;
}

.pages #service_flow .flow_notes {
    display: none;
}

.pages #service_flow .flow_step {
    display: flex;
}

.pages #service_flow .flow_step li {
    width: 190px;
    max-height: 200px;
    position: relative;
    transition: all .3s ease-out;
    opacity: 0;
    transform: translateX(-30px);
}

.pages #service_flow .step_headline {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    color: var(--white-color);
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    transition: all .2s ease;
}

.pages #service_flow .step_headline::before,
.pages #service_flow .step_headline::after {
    position: absolute;
    content: '';
    transition: all .2s ease;
    pointer-events: none;
}

.pages #service_flow .step_headline::before {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.pages #service_flow .step_headline::after {
    width: 0;
    height: 0;
    border-top: 100px solid transparent;
    border-left: 55px solid #333;
    border-bottom: 100px solid transparent;
    top: 50%;
    right: -53px;
    transform: translateY(-50%);
    z-index: 1;
}

.pages #service_flow .step_tag {
    font-family: var(--en-font);
    font-size: 28px;
    font-weight: 700;
    padding-bottom: 14px;
    margin-bottom: 17px;
    position: relative;
    z-index: 2;
}

.pages #service_flow .step_tag::after {
    position: absolute;
    content: '';
    width: 64px;
    height: 6px;
    background: var(--white-color);
    border-radius: 3px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.pages #service_flow .step_title {
    white-space: nowrap;
    position: relative;
    z-index: 2;
}

.pages #service_flow .step_txt {
    width: 100%;
    height: 100%;
    font-size: 14px;
    line-height: 2;
    text-align: justify;
    padding: 17px 17px;
    opacity: 0;
    visibility: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 6;
    position: relative;
    transition: all .2s ease;
}

.pages #service_flow .flow_step li:nth-child(1) {
    width: 170px;
    z-index: 6;
}

.pages #service_flow .flow_step li:nth-child(1) .step_headline::before {
    background: #39a2c6;
}

.pages #service_flow .flow_step li:nth-child(1) .step_headline::after {
    border-left-color: #39a2c6;
}

.pages #service_flow .flow_step li:nth-child(2) {
    z-index: 5;
}

.pages #service_flow .flow_step li:nth-child(2) .step_headline::before {
    background: #47afc2;
}

.pages #service_flow .flow_step li:nth-child(2) .step_headline::after {
    border-left-color: #47afc2;
}

.pages #service_flow .flow_step li:nth-child(3) {
    z-index: 4;
}

.pages #service_flow .flow_step li:nth-child(3) .step_headline::before {
    background: #55bcbd;
}

.pages #service_flow .flow_step li:nth-child(3) .step_headline::after {
    border-left-color: #55bcbd;
}

.pages #service_flow .flow_step li:nth-child(4) {
    z-index: 3;
}

.pages #service_flow .flow_step li:nth-child(4) .step_headline::before {
    background: #62c9b9;
}

.pages #service_flow .flow_step li:nth-child(4) .step_headline::after {
    border-left-color: #62c9b9;
}

.pages #service_flow .flow_step li:nth-child(5) {
    z-index: 2;
}

.pages #service_flow .flow_step li:nth-child(5) .step_headline::before {
    background: #70d6b4;
}

.pages #service_flow .flow_step li:nth-child(5) .step_headline::after {
    border-left-color: #70d6b4;
}

.pages #service_flow .flow_step li:nth-child(6) {
    z-index: 1;
}

.pages #service_flow .flow_step li:nth-child(6) .step_headline::before {
    background: #91e5c6;
}

.pages #service_flow .flow_step li:nth-child(6) .step_headline::after {
    border-left-color: #91e5c6;
}

.pages #service_flow .flow_step.is-active li {
    animation: stepactive .5s forwards ease-out;
}

.pages #service_flow .flow_step.is-active li:nth-child(2) {
    animation-delay: .2s;
}

.pages #service_flow .flow_step.is-active li:nth-child(3) {
    animation-delay: .4s;
}

.pages #service_flow .flow_step.is-active li:nth-child(4) {
    animation-delay: .6s;
}

.pages #service_flow .flow_step.is-active li:nth-child(5) {
    animation-delay: .8s;
}

.pages #service_flow .flow_step.is-active li:nth-child(6) {
    animation-delay: 1s;
}

@keyframes stepactive {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.pages #service_flow .flow_step li:hover {
    width: 245px;
    padding-left: 55px;
}

.pages #service_flow .flow_step li:nth-child(1):hover {
    width: 200px;
    padding-left: 0;
}

.pages #service_flow .flow_step li:hover .step_headline::before {
    background: #f7f6f7;
}

.pages #service_flow .flow_step li:hover .step_headline::after {
    border-left-color: #f7f6f7;
}

.pages #service_flow .flow_step li:hover .step_component {
    opacity: 0;
    visibility: hidden;
}

.pages #service_flow .flow_step li:hover .step_txt {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

.pages #service_works {
    background: #F7F6F7;
    padding: 65px 0 88px;
}

.pages #service_works .inner::after {
    position: absolute;
    content: '';
    background: url(../images/service/decor_works.png) no-repeat;
    background-size: contain;
    width: 17.733vw;
    max-width: 266px;
    height: 15.467vw;
    max-height: 232px;
    top: -107px;
    right: 0;
    pointer-events: none;
}

.pages #service_works .pages_mainttl {
    margin-bottom: 79px;
}

.pages #service_works .service_works_list {
    display: flex;
    flex-wrap: wrap;
}

.pages #service_works .service_works_list li {
    width: calc((100% - 60px) / 2);
    height: 270px;
    margin: 0 60px 0 0;
}

.pages #service_works .service_works_list li:nth-child(even) {
    margin-right: 0;
}

.pages #service_works .service_works_list li a {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: var(--white-color);
    border-radius: 20px;
    transform-origin: 50% 50%;
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
    overflow: hidden;
    position: relative;
}

.pages #service_works .service_works_list li h4 {
    font-family: var(--en-font);
    font-size: 40px;
    font-weight: 600;
    letter-spacing: 0.12em;
    margin-bottom: 8px;
}

.pages #service_works .service_works_list li .sub_txt {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 0;
}

.pages #service_works .service_works_list li .icon {
    width: 5.12vw;
    max-width: 64px;
    height: 5.12vw;
    max-height: 64px;
    border-radius: 50%;
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

.pages #service_works .service_works_list li .icon .cls-1 {
    fill: #fff;
}

.pages #service_works .service_works_list li .icon .cls-2 {
    fill: none;
    stroke: #fff;
    stroke-miterlimit: 10;
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
}

.pages #service_works .service_works_list li:nth-child(1) a {
    background: var(--blue-color);
}

.pages #service_works .service_works_list li:nth-child(2) a {
    background: #FBB03B;
}

.pages #service_case {
    padding: 40px 0 63px;
}

.pages #service_case .inner::after {
    position: absolute;
    content: '';
    background: url(../images/service/decor_case.png) no-repeat;
    background-size: contain;
    width: 17.267vw;
    max-width: 259px;
    height: 15.133vw;
    max-height: 227px;
    top: -75px;
    left: -16px;
    pointer-events: none;
}

.pages #service_case .pages_mainttl {
    line-height: 1.65;
    margin-bottom: 83px;
}

.pages #service_case .pages_mainttl span.eng {
    margin-bottom: 2px;
}

.pages #service_case .service_case_list {
    margin-bottom: 80px;
}

.pages #service_case .service_case_list .swiper-slide {
    width: 100%;
    max-width: 392px;
    margin: 0 25px;
}

.pages #service_case .service_case_list .swiper-slide a {
    display: block;
    border-radius: 6px;
    background: var(--white-color);
    box-shadow: 7px 7px 10px 0 rgba(183, 183, 183, 0.75);
    position: relative;
}

.pages #service_case .service_case_list .swiper-slide a::after {
    position: absolute;
    content: '';
    background: url(../images/service/icon_case.png) no-repeat;
    background-size: contain;
    width: 17px;
    height: 17px;
    bottom: 12px;
    right: 18px;
    pointer-events: none;
}

.pages #service_case .service_case_list figure {
    height: 270px;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    overflow: hidden;
}

.pages #service_case .service_case_list figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translateZ(0);
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
}

.pages #service_case .service_case_list .service_case_component {
    padding: 18px 45px 11px 15px;
}

.pages #service_case .service_case_list .service_case_subtxt {
    font-size: 11px;
    margin-bottom: 1px;
    letter-spacing: 0.04em;
    min-height: 17px;
}

.pages #service_case .service_case_list .service_case_txt {
    font-size: 13px;
    line-height: 2.1;
    letter-spacing: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    margin-bottom: 8px;
}

.pages #service_case .service_case_list .case_item_cate {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #e9e9e9;
    padding-top: 16px;
}

.pages #service_case .service_case_list .case_item_cate li {
    font-size: 14px;
    color: #999;
    margin: 0 8px 5px 0;
}

.pages #service_case .primary_btn {
    text-align: center;
}

.pages #service_price {
    background: linear-gradient(to right, #01b3ed 0%, #55cc29 100%);
    padding: 42px 0 122px;
}

.pages #service_price .inner {
    max-width: 1000px;
}

.pages #service_price .pages_mainttl {
    color: var(--white-color);
    margin-bottom: 31px;
}

.pages #service_price .pages_mainttl span {
    color: var(--white-color);
}

.pages #service_price .service_price_txt {
    text-align: center;
    line-height: 2.375;
    margin-bottom: 55px;
}

.pages #service_price .table_scroll {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    margin-bottom: 104px;
    overflow: hidden;
    position: relative;
}

.pages #service_price .tb_price {
    table-layout: fixed;
    background: var(--white-color);
}

.pages #service_price .tb_price thead th {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
    border-bottom: 0;
    padding-top: 28px;
    padding-bottom: 29px;
}

.pages #service_price .tb_price thead th span {
    width: 100%;
    max-width: 190px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 0.1em;
    background: var(--white-color);
    border-radius: 20px;
    margin: 0 auto;
}

.pages #service_price .tb_price thead th:nth-child(1) {
    color: var(--white-color);
    background: #FBB03B;
}

.pages #service_price .tb_price thead th:nth-child(2) {
    color: #70D6B4;
    background: #70D6B4;
}

.pages #service_price .tb_price thead th:nth-child(3) {
    color: #47AFC2;
    background: #47AFC2;
}

.pages #service_price .tb_price thead th:nth-child(4) {
    color: #39A2C6;
    background: #39A2C6;
    border-right: 1px solid #39A2C6;
}

.pages #service_price .tb_price tbody th,
.pages #service_price .tb_price tbody td {
    font-size: 16px;
    line-height: 2.375;
    text-align: center;
    padding: 6px 26px 9px;
}

.pages #service_price .tb_price tbody th {
    font-weight: 700;
    vertical-align: middle;
    background: var(--white-color);
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
}

.pages #service_price .tb_price tbody tr:first-child td {
    text-align: left;
}

.pages #service_price .tb_price tbody tr:nth-child(2) td span {
    font-family: var(--Outfit-font);
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-right: 4px;
}

.pages #service_price .tb_price tbody td i {
    display: block;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    border: 3px solid #70D6B4;
    margin: 0 auto;
    position: relative;
    top: 3px;
}

.pages #service_price .tb_price tbody td i.special_circle {
    width: 28px;
    height: 28px;
}

.pages #service_price .tb_price tbody td i.special_circle::before {
    position: absolute;
    content: '';
    width: 60%;
    height: 60%;
    border-radius: 50%;
    background: #70D6B4;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.pages #service_price .second_btn {
    max-width: 500px;
    height: 110px;
    margin: 0 auto;
}

.pages #service_price .second_btn a {
    font-size: 24px;
    font-weight: 700;
    border-radius: 55px;
}

/* ------------------------------------------------------
p_contact
------------------------------------------------------ */
.pages .p_contact #p_mainvisual .p_mv_cover {
    display: none;
}

.pages #contact_intro {
    padding: 183px 0 109px;
}

.pages #contact_intro .inner {
    max-width: 900px;
}

.pages #contact_intro .contact_intro_txt {
    line-height: 2.375;
    text-align: center;
    margin-bottom: 38px;
}

.pages #contact_intro .contact_intro_phone {
    text-align: center;
}

.pages #contact_intro .contact_intro_phone a {
    font-family: var(--Outfit-font);
    font-size: 52px;
    font-weight: 700;
    letter-spacing: 0;
    margin-right: 10px;
}

.pages #contact_intro .contact_intro_phone a i {
    display: inline-block;
    background: url(../images/common/icon_phone.png) no-repeat;
    background-size: contain;
    width: 36px;
    height: 36px;
    margin-right: 17px;
}

.pages #contact_form {
    padding: 122px 0 154px;
    position: relative;
}

.pages #contact_form::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, #01b3ed 0%, #55cc29 100%);
    opacity: .75;
    top: 0;
    left: 0;
    z-index: -1;
}

.pages #contact_form .inner {
    background: var(--white-color);
    border-radius: 20px;
    padding: 87px 0 101px;
}

.pages #contact_form .pages_mainttl {
    margin-bottom: 65px;
}

.pages #contact_form .snow-monkey-form {
    width: 94%;
    max-width: 1000px;
    margin: 0 auto;
}

.pages #contact_form .smf-form--letter .smf-item {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #ccc;
    padding: 27px 25px;
}

.pages #contact_form .smf-form--letter .smf-item:first-child {
    border-top: 1px solid #ccc;
}

.pages #contact_form .smf-form--letter .smf-item__col--label {
    width: 100%;
    max-width: 240px;
    display: flex;
    font-size: 15px;
    letter-spacing: 0.1em;
    padding: 14px 0 0;
}

.pages #contact_form .smf-item__description,
.pages #contact_form .gr_privacy .privacy_txt strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 20px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 2;
    color: var(--white-color);
    background-color: #ff544d;
    border-radius: 4px;
    margin-top: 0;
    margin-left: 19px;
    position: relative;
    top: 1px;
}

.pages #contact_form .smf-item__col--controls {
    width: 100%;
    max-width: 692px;
    flex: 1;
}

.pages #contact_form .input_custom,
.pages #contact_form .txt_custom {
    font-size: 16px;
    border-radius: 4px;
    border: 1px solid #ccc;
    padding: 5px 22px;
}

.pages #contact_form .input_custom::placeholder,
.pages #contact_form .txt_custom::placeholder {
    font-size: 16px;
    font-weight: 300;
    color: #ccc;
}

.pages #contact_form .input_custom {
    height: 50px;
}

.pages #contact_form .txt_custom {
    resize: none;
    height: 240px;
    padding-top: 15px;
}

.pages #contact_form .smf-label {
    margin-bottom: 10px;
}

.pages #contact_form .smf-label:last-child {
    margin-bottom: 0;
}

.pages #contact_form .smf-item label {
    font-size: 15px;
    letter-spacing: 0.1em;
}

.pages #contact_form .gr_checkbox .smf-item__col--controls {
    padding-top: 13px;
    padding-bottom: 10px;
}

.pages #contact_form .smf-form--letter .smf-item.gr_privacy {
    border-bottom: 0;
    padding-top: 40px;
}

.pages #contact_form .gr_privacy .privacy_txt {
    font-size: 15px;
    text-align: center;
    margin-bottom: 36px;
}

.pages #contact_form .gr_privacy .privacy_txt strong {
    top: 0;
    margin: 0 20px 0 0;
}

.pages #contact_form .gr_privacy .smf-item__col--label {
    display: none;
}

.pages #contact_form .gr_privacy .smf-item__col--controls {
    max-width: 100%;
}

.pages #contact_form .gr_privacy .smf-checkbox-control {
    width: 100%;
    height: 82px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    color: var(--white-color);
    background: linear-gradient(to right, #f6ac0e 0%, #ff544d 100%);
    border-radius: 15px;
}

.pages #contact_form .gr_privacy .smf-checkbox-control__control {
    margin-top: 0;
    margin-right: 15px;
    position: relative;
    top: 1px;
}

.pages #contact_form .gr_privacy .smf-error-messages {
    text-align: center;
}

.pages #contact_form .smf-action {
    margin: 73px 0 0;
}

.pages #contact_form .smf-action .smf-button-control__control {
    min-width: 254px;
    height: 54px;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    border: 4px solid #CDDD09;
   /* color: transparent;*/
    border-radius: 27px;
    background: none;
    padding: 0 12px 0 20px;
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
    position: relative;
}

.pages #contact_form .smf-action .smf-button-control__control::before {
    position: relative;
/*    content: '送信内容を確認する';*/
    color: var(--main-color);
    letter-spacing: 0.04em;
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
}

.pages #contact_form .smf-action .smf-button-control__control .smf-sending {
    display: inline-block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #CDDD09;
    margin-left: 10px;
    position: relative;
    right: auto;
    top: auto;
    transform: translateY(0);
    visibility: visible;
    overflow: hidden;
}

.pages #contact_form .smf-action .smf-button-control__control .smf-sending::before,
.pages #contact_form .smf-action .smf-button-control__control .smf-sending::after {
    position: absolute;
    content: '';
    background: url(../images/common/icon_arrow.svg) no-repeat;
    background-size: contain;
    width: 18px;
    height: 9px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
    animation: none;
    border: 0;
}

.pages #contact_form .smf-action .smf-button-control__control .smf-sending::after {
    left: -150%;
}

/* ------------------------------------------------------
p_news
------------------------------------------------------ */
.pages .p_news #p_mainvisual .p_mv_cover {
    display: none;
}

.pages .p_news .news_cate {
    padding: 192px 0 67px;
}

.pages .p_news .news_cate .news_cate_list {
    display: flex;
    flex-wrap: wrap;
}

.pages .p_news .news_cate .news_cate_list li {
    width: 100%;
    max-width: 211px;
    height: 51px;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 5px;
    transition: all .3s ease;
    cursor: pointer;
}

.pages .p_news .news_cate .news_cate_list li a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 0.1em;
    padding-bottom: 8px;
}

.pages .p_news .news_cate .news_cate_list li.active a {
    color: var(--white-color);
    background: url(../images/news/btn_bg.png) no-repeat;
    background-size: contain;
}

.pages #news_info {
    padding: 0 0 141px;
}

.pages #news_info .news_list {
    display: flex;
    flex-wrap: wrap;
}

.pages #news_info .news_card {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #b3b3b3;
    padding: 20px 17px;
    cursor: pointer;
}

.pages #news_info .news_card dl {
    width: 100%;
    margin-right: 20px;
    flex: 1;
}

.pages #news_info .news_card dl dt {
    font-size: 13px;
    letter-spacing: 0.1em;
    color: var(--blue-color);
    margin-bottom: 1px;
}

.pages #news_info .news_card dl dt .group_cate {
    margin-left: 11px;
}

.pages #news_info .news_card dl dt .group_cate span {
    display: inline-block;
    color: var(--white-color);
    background: #F6AC0E;
    border-radius: 10px;
    padding: 0 15px 1px;
    margin: 0 5px 5px 0;
}

.pages #news_info .news_card dl dd {
    font-size: 15px;
    line-height: 1.62;
    letter-spacing: 0.1em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
}

.pages #news_info .news_card figure {
    width: 100%;
    max-width: 175px;
    height: 100px;
    border-radius: 6px;
    overflow: hidden;
}

.pages #news_info .news_card figure a {
    width: 100%;
    height: 100%;
    display: block;
}

.pages #news_info .news_card figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages #news_info .wp-pagenavi {
    margin-top: 93px;
}

.news-details #p_mainvisual {
    padding-bottom: 75px;
}

.news-details #p_mainvisual h2 {
    margin-bottom: 0 !important;
}

.news-details #content {
    background: rgba(255, 255, 255, 0.6);
}

.pages .p_news .news_container {
    width: 94%;
    max-width: 1200px;
    display: flex;
    justify-content: space-between;
    padding: 55px 0 150px;
    margin: 0 auto;
}

.pages .p_news .sidearea {
    width: 100%;
    max-width: 270px;
    margin-right: 25px;
}

.pages .p_news .sidearea dl {
    margin-bottom: 31px;
}

.pages .p_news .sidearea dl:last-child {
    margin-bottom: 0;
}

.pages .p_news .sidearea dl dt {
    font-family: var(--en-font);
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #ccc;
    margin-bottom: 7px;
}

.pages .p_news .sidearea .sidenews_cate {
    width: 100%;
    background: linear-gradient(to right, rgba(1, 179, 237, 0.8) 0%, rgba(85, 204, 41, 0.8) 100%);
    border-radius: 14px;
    padding: 38px 30px 37px;
}

.pages .p_news .sidearea .sidenews_cate li {
    width: 100%;
    height: 30px;
    margin-bottom: 5px;
}

.pages .p_news .sidearea .sidenews_cate li:last-child {
    margin-bottom: 0;
}

.pages .p_news .sidearea .sidenews_cate li a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    color: var(--white-color);
    text-align: center;
    background: none;
    border-bottom: 1px solid var(--white-color);
    transition: all .3s ease;
    padding-top: 2px;
}

.pages .p_news .sidearea .sidenews_cate li.active a {
    color: var(--main-color);
    background: var(--white-color);
    border-radius: 15px;
    pointer-events: none;
}

.pages .p_news .sidearea .sidebg {
    background: #f7f7f7;
}

.pages .p_news .sidearea .l_tab_btns {
    display: flex;
    justify-content: space-between;
    background: var(--white-color);
}

.pages .p_news .sidearea .l_tab_btns li {
    width: 49%;
    height: 39px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--en-font);
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #ccc;
    text-align: center;
    background: #b2b2b2;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
}

.pages .p_news .sidearea .l_tab_btns li.is-active {
    background: #f7f7f7;
}

.pages .p_news .sidearea .tab_box {
    padding: 20px 13px 10px;
}

.pages .p_news .sidearea .tab_box.is-hidden {
    display: none;
}

.pages .p_news .sidearea .popular_articles {
    margin-bottom: 19px;
}

.pages .p_news .sidearea .popular_articles li {
    margin-bottom: 25px;
}

.pages .p_news .sidearea .popular_articles li:last-child {
    margin-bottom: 0;
}

.pages .p_news .sidearea .popular_articles li a {
    display: flex;
}

.pages .p_news .sidearea .popular_articles li figure {
    width: 100px;
    height: 100px;
    overflow: hidden;
    margin-right: 10px;
    flex-shrink: 0;
}

.pages .p_news .sidearea .popular_articles li figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages .p_news .sidearea .popular_articles li .article_item_cate li {
    font-size: 13px;
    color: #cccccc;
    letter-spacing: 0.1em;
    margin: 0 5px 3px 0;
}

.pages .p_news .sidearea .popular_articles li .title {
    font-size: 13px;
    line-height: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    margin-bottom: 2px;
}

.pages .p_news .sidearea .popular_articles li .date {
    font-size: 13px;
    color: var(--blue-color);
}

.pages .p_news .sidearea .tab_box .primary_btn a {
    min-width: inherit;
    font-size: 16px;
    border: 0;
    padding: 0 0;
}

.pages .p_news .sidearea .sideworks_list li {
    width: 100%;
    height: 210px;
    max-height: 210px;
    margin: 0 0 9px;
}

.pages .p_news .sidearea .sideworks_list li a {
    width: 100%;
    height: 100%;
    display: block;
    color: var(--white-color);
    text-align: center;
    border-radius: 20px;
    padding-top: 26px;
    position: relative;
    overflow: hidden;
    transform-origin: 50% 50%;
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
}

.pages .p_news .sidearea .sideworks_list li .tag {
    width: 100%;
    font-family: var(--en-font);
    font-size: 50px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    color: rgba(255, 255, 255, 0.3);
    text-align: center;
    position: absolute;
    top: 5px;
    left: 0;
}

.pages .p_news .sidearea .sideworks_list li figure {
    width: 100%;
    max-width: 144px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.pages .p_news .sidearea .sideworks_list li h4 {
    font-weight: 500;
    position: relative;
    z-index: 1;
}

.pages .p_news .sidearea .sideworks_list li .icon {
    width: 5.12vw;
    max-width: 64px;
    height: 5.12vw;
    max-height: 64px;
    border-radius: 50%;
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
    position: absolute;
    top: 50%;
    right: 28px;
    transform: translateY(-50%);
}

.pages .p_news .sidearea .sideworks_list li .icon .cls-1 {
    fill: #fff;
}

.pages .p_news .sidearea .sideworks_list li .icon .cls-2 {
    fill: none;
    stroke: #fff;
    stroke-miterlimit: 10;
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
}

.pages .p_news .sidearea .sideworks_list li:nth-child(1) a {
    background: #00b1ea;
}

.pages .p_news .sidearea .sideworks_list li:nth-child(2) a {
    background: #f9ae3b;
}

.pages .p_news .media_wrap {
    width: 100%;
    max-width: 800px;
    flex: 1;
}

.pages .p_news .media_wrap .media_headline {
    border-bottom: 1px solid #b3b3b3;
    padding-bottom: 34px;
    margin-bottom: 35px;
}

.pages .p_news .media_wrap .media_meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.pages .p_news .media_wrap .media_date {
    font-size: 13px;
    color: var(--blue-color);
    margin: 4px 33px 0 0;
}

.pages .p_news .media_wrap .media_gr_cate span {
    font-size: 13px;
    letter-spacing: 0.12em;
    color: var(--white-color);
    display: inline-block;
    background: #f6ac0e;
    border-radius: 10px;
    padding: 0 15px;
}

.pages .p_news .media_wrap .media_title {
    font-size: 34px;
    font-weight: 700;
    color: var(--blue-color);
}

.pages .p_news .media_wrap figure {
    width: 100%;
    height: 38.627vw;
    max-height: 450px;
    border-radius: 20px;
    margin-bottom: 54px;
    overflow: hidden;
}

.pages .p_news .media_wrap figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pages.news-details .p_news .media_wrap figure img {
    width: 100%;
    height: auto;
    /*object-fit: cover;*/
}
.pages.news-details .p_news .media_wrap figure {
    width: 100%;
    height: auto;
    max-height: initial;
}
.pages .p_news .media_wrap .button_control {
    width: 100%;
    padding-top: 200px;
}

/* ------------------------------------------------------
p_case
------------------------------------------------------ */
.pages #case_intro {
    padding: 84px 0 92px;
}

.pages #case_intro .case_intro_title {
    font-size: 34px;
    line-height: 1.65;
    color: var(--blue-color);
    text-align: center;
    margin-bottom: 27px;
}

.pages #case_intro .case_intro_txt {
    text-align: center;
}

.pages #case_success {
    height: 220px;
    color: var(--white-color);
    background: linear-gradient(to right, #01b3ed 0%, #55cc29 100%);
    box-shadow: 4px 4px 8px 0 rgba(198, 198, 198, 0.75);
}

.pages #case_success .inner {
    max-width: 1100px;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pages #case_success .tag {
    letter-spacing: 0;
    text-align: center;
    padding-left: 40px;
    margin-bottom: 0;
}

.pages #case_success .tag span {
    height: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.1em;
    background: #fbb03b;
    border-radius: 10px;
    padding: 0 34px 4px;
    margin-bottom: 11px;
}

.pages #case_success .number {
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 0;
}

.pages #case_success .number .animCounter {
    font-family: var(--Outfit-font);
    font-size: 80px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1;
    margin-right: 31px;
}

.pages #case_success figure {
    margin-top: -46px;
}

.pages #case_contents {
    padding: 133px 0 70px;
}

.pages #case_contents .case_list {
    width: 94%;
    max-width: 1130px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}

.pages #case_contents .case_list .case_item {
    width: calc((100% - 90px) / 3);
    margin: 0 15px 49px;
}

.pages #case_contents .case_list .case_item figure {
    width: 100%;
    height: 17.373vw;
    max-height: 209px;
    margin-bottom: 19px;
}

.pages #case_contents .case_list .case_item figure a {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 10px;
    overflow: hidden;
}

.pages #case_contents .case_list .case_item figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translateZ(0);
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
}

.pages #case_contents .case_list .case_item .case_title {
    margin-bottom: 10px;
}

.pages #case_contents .case_list .case_item h4 {
    font-size: 18px;
    line-height: 1.39;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    height: calc(1.39em * 2);
    margin-bottom: 11px;
}

.pages #case_contents .case_list .case_item .case_item_cate {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #e9e9e9;
    padding-top: 16px;
}

.pages #case_contents .case_list .case_item .case_item_cate li {
    font-size: 14px;
    margin: 0 8px 5px 0;
}

.pages #case_contents .case_list .case_item .case_item_cate li a {
    color: #999;
    transition: all .3s ease;
}

.pages #case_contents .wp-pagenavi {
    margin-top: 88px;
}

.pages .case_cate_contents #case_contents {
    padding-top: 44px;
}

.pages .case_cate_contents #case_contents .cate_name {
    font-size: 30px;
    letter-spacing: 0;
    text-align: center;
    margin-bottom: 47px;
}

.pages .case_cate_contents #case_contents .cate_name span {
    display: inline-block;
    margin-left: 30px;
}

.pages .p_case #headline_area {
    padding: 41px 0 59px;
}

.pages .p_case #headline_area .inner {
    max-width: 900px;
    border-bottom: 1px solid #eee;
    padding-bottom: 54px;
}

.pages .p_case #headline_area dl {
    display: flex;
    align-items: flex-end;
    margin-bottom: 9px;
}

.pages .p_case #headline_area dl dt {
    letter-spacing: 0.1em;
    margin-right: 20px;
}

.pages .p_case #headline_area dl dd ul li {
    font-size: 14px;
}

.pages .p_case #headline_area dl dd ul li a {
    color: #999;
    letter-spacing: 0.1em;
}

.pages .p_case #headline_area .headline_title {
    font-size: 32px;
    line-height: 1.3;
    margin-bottom: 36px;
}

.pages .p_case #headline_area .headline_video {
    width: 100%;
    height: 52.818vw;
    max-height: 506px;
    border-radius: 20px;
    margin-bottom: 62px;
    overflow: hidden;
}

.pages .p_case #headline_area .headline_video iframe {
    width: 100%;
    height: 100%;
}

.pages .p_case #headline_area .headline_video img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages .p_case #headline_area .tb_overview {
    border-top: 2px solid #cddd09;
    margin-bottom: 48px;
}

.pages .p_case #headline_area .tb_overview th,
.pages .p_case #headline_area .tb_overview td {
    padding: 15px 26px;
}

.pages .p_case #headline_area .tb_overview tr:first-child th,
.pages .p_case #headline_area .tb_overview tr:first-child td {
    border-top: 0;
}

.pages .p_case #headline_area .tb_overview th {
    font-size: 16px;
    font-weight: 700;
    color: var(--main-color);
    background: none;
    border-bottom-color: #ccc;
}

.pages .p_case #headline_area .tb_overview td {
    border-right: 0;
}

.pages .p_case #headline_area .headline_postcontent {
    line-height: 2;
}

.pages .p_case #headline_area .headline_postcontent h3,
.pages .p_case #headline_area .headline_postcontent h4,
.pages .p_case #headline_area .headline_postcontent h5,
.pages .p_case #headline_area .headline_postcontent h6 {
    margin-bottom: 0.45em;
}

.pages .p_case #headline_area .headline_postcontent h4 {
    font-size: 24px;
}

.pages .p_case #headline_area .headline_postcontent ul li,
.pages .p_case #headline_area .headline_postcontent ol li {
    list-style: inherit;
    margin-left: 15px;
}

.pages .p_case #headline_area .headline_postcontent a {
    text-decoration: underline;
}

.pages .p_case #contents_block {
    margin-bottom: 56px;
}

.pages .p_case #contents_block .inner {
    max-width: 900px;
}

.pages .p_case #contents_block h4 {
    font-size: 24px;
    background: #f3f4f5;
    padding: 21px 10px 24px 22px;
    margin-left: 3px;
    margin-bottom: 35px;
    position: relative;
}

.pages .p_case #contents_block h4::before {
    position: absolute;
    content: '';
    width: 6px;
    height: 100%;
    background: #cddd09;
    border-radius: 3px;
    top: 0;
    left: -3px;
}

.pages .p_case #contents_block h5 {
    font-size: 20px;
    color: var(--blue-color);
    padding-left: 22px;
    margin-bottom: 16px;
    position: relative;
}

.pages .p_case #contents_block h5::before {
    position: absolute;
    content: '';
    width: 4px;
    height: 100%;
    background: var(--blue-color);
    border-radius: 2px;
    top: 0;
    left: 0;
}

.pages .p_case #contents_block .block_txt {
    line-height: 2;
    margin-bottom: 48px;
}

.pages .p_case #contents_block .block_image {
    width: 100%;
    height: 52.818vw;
    max-height: 506px;
    border-radius: 20px;
    overflow: hidden;
}

.pages .p_case #contents_block .block_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages .p_case #case_summary .inner {
    max-width: 900px;
    text-align: justify;
    border: 1px solid #dcdcdc;
    padding: 22px 20px;
}

.pages .p_case #case_summary .case_summary_title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 18px;
}

.pages .p_case #case_summary .case_summary_txt {
    line-height: 1.75;
}

.pages .p_case #case_summary .case_summary_txt a {
    text-decoration: underline;
}

.pages .p_case #case_summary .case_summary_txt ul li,
.pages .p_case #case_summary .case_summary_txt ol li {
    list-style: inherit;
    margin-left: 15px;
}

/* ------------------------------------------------------
p_works
------------------------------------------------------ */
.pages .p_works #content {
    padding-bottom: 79px;
}

.pages #works_info {
    padding: 100px 0 103px;
}

.pages #works_info .inner {
    max-width: 1260px;
}

.pages #works_info .works_info_title {
    font-size: 34px;
    text-align: center;
    color: var(--blue-color);
    margin-bottom: 35px;
}

.pages #works_info .works_info_txt {
    line-height: 2.375;
    text-align: center;
    margin-bottom: 87px;
}

.pages #works_info .works_info_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.pages #works_info .works_info_list li {
    width: 100%;
    max-width: 570px;
    height: 312px;
    max-height: 312px;
    margin: 0 30px 35px;
}

.pages #works_info .works_info_list li a {
    width: 100%;
    height: 100%;
    display: block;
    color: var(--white-color);
    text-align: center;
    border-radius: 20px;
    padding-top: 30px;
    position: relative;
    overflow: hidden;
    transform-origin: 50% 50%;
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
}

.pages #works_info .works_info_list li .tag {
    width: 100%;
    font-family: var(--en-font);
    font-size: 110px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    color: rgba(255, 255, 255, 0.3);
    text-align: center;
    position: absolute;
    top: -20px;
    left: 0;
}

.pages #works_info .works_info_list li figure {
    width: 100%;
    max-width: 194px;
    margin: 0 auto 20px;
    position: relative;
    z-index: 1;
}

.pages #works_info .works_info_list li h4 {
    font-size: 22px;
    font-weight: 500;
    position: relative;
    z-index: 1;
}

.pages #works_info .works_info_list li .icon {
    width: 5.12vw;
    max-width: 64px;
    height: 5.12vw;
    max-height: 64px;
    border-radius: 50%;
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
    position: absolute;
    top: 50%;
    right: 28px;
    transform: translateY(-50%);
}

.pages #works_info .works_info_list li .icon .cls-1 {
    fill: #fff;
}

.pages #works_info .works_info_list li .icon .cls-2 {
    fill: none;
    stroke: #fff;
    stroke-miterlimit: 10;
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
}

.pages #works_info .works_info_list li:nth-child(1) a {
    background: #00b1ea;
}

.pages #works_info .works_info_list li:nth-child(2) a {
    background: #f9ae3b;
}

.pages .p_works .categories_contents {
    padding: 74px 0 66px;
}

.pages .p_works .categories_contents .inner {
    max-width: 1300px;
}

.pages .p_works .categories_contents .category_list {
    display: flex;
    flex-wrap: wrap;
}

.pages .p_works .categories_contents .category_list li {
    margin: 0 7px 9px 0;
}

.pages .p_works .categories_contents .category_list li a {
    font-size: 13px;
    letter-spacing: 0.017em;
    color: #aaaaaa;
    border-radius: 5px;
    border: 1px solid #eaeaea;
    padding: 1px 9px 2px;
    transition: all .3s ease;
}

.pages .p_works .categories_contents .category_list li.active a {
    color: var(--white-color);
    background: var(--blue-color);
    border-color: var(--blue-color);
}

.pages .p_works .contents_list {
    display: flex;
    flex-wrap: wrap;
    padding: 0 20px;
}

.pages .p_works .contents_list .item {
    width: calc((100% - 160px) / 4);
    margin: 0 20px 50px;
}

.pages .p_works .contents_list .item a {
    width: 100%;
    display: block;
}

.pages .p_works .contents_list .item figure {
    width: 100%;
    height: 14vw;
    margin-bottom: 12px;
    overflow: hidden;
}

.pages .p_works .contents_list .item figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translateZ(0);
    transition: all .6s cubic-bezier(.15, 0, .25, 1);
}

.pages .p_works .contents_list .item .item_title {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 2px;
}

.pages .p_works .contents_list .item .item_cate {
    display: flex;
    flex-wrap: wrap;
}

.pages .p_works .contents_list .item .item_cate li {
    font-size: 12px;
    color: var(--blue-color);
    position: relative;
}

.pages .p_works .contents_list .item .item_cate li::after {
    position: relative;
    content: '/';
    display: inline-block;
    margin: 0 3px;
}

.pages .p_works .contents_list .item .item_cate li:last-child::after {
    display: none;
}

.pages .p_works .wp-pagenavi {
    margin-top: 50px;
}

.pages.web-details #p_mainvisual .inner,
.pages.web-details #p_mainvisual .p_mv_cover,
.pages.movie-details #p_mainvisual .inner,
.pages.movie-details #p_mainvisual .p_mv_cover {
    display: none;
}

.pages.web-details .p_works .p_web {
    padding-bottom: 0;
}

.pages .works_headline {
    padding: 47px 0 80px;
}

.pages .works_headline .headline_component {
    margin-bottom: 79px;
}

.pages .works_headline .categories_group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 8px;
}

.pages .works_headline .categories_group li {
    font-size: 12px;
    letter-spacing: 0.1em;
    color: var(--blue-color);
    margin: 0 0 8px;
    position: relative;
}

.pages .works_headline .categories_group li::after {
    position: relative;
    content: '/';
    display: inline-block;
    margin: 0 3px;
}

.pages .works_headline .categories_group li:last-child::after {
    display: none;
}

.pages .works_headline .headline_title {
    font-size: 32px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 20px;
}

.pages .works_headline .link {
    text-align: center;
}

.pages .works_headline .main_photo {
    text-align: center;
    margin-bottom: 82px;
}

.pages .works_headline .main_details {
    width: 100%;
    max-width: 880px;
    line-height: 2;
    text-align: justify;
    margin: 0 auto 63px;
}

.pages .works_headline .main_details ul li,
.pages .works_headline .main_details ol li {
    list-style: inherit;
    margin-left: 15px;
}

.pages .works_headline .second_btn {
    max-width: 210px;
    height: 46px;
    margin: 0 auto;
}

.pages .works_headline .second_btn a {
    font-size: 14px;
}

.pages .p_works .content_details {
    padding: 103px 0 100px;
    position: relative;
}

.pages .p_works .content_details::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, #01b3ed 0%, #55cc29 100%);
    opacity: .75;
    top: 0;
    left: 0;
    z-index: -1;
}

.pages .p_works .content_details .block {
    width: 94%;
    max-width: 1200px;
    background: #f7f7f5;
    border-radius: 20px;
    padding: 119px 0 75px;
    overflow: hidden;
    margin: 0 auto 57px;
}

.pages .p_works .content_details .block:last-child {
    margin-bottom: 0;
}

.pages .p_works .content_details .desktop_layout,
.pages .p_works .content_details .smartphone_layout {
    width: 94%;
    max-width: 1080px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
}

.pages .p_works .content_details .desktop_layout li {
    width: calc((100% - 80px) / 2);
    margin: 0 20px 40px;
}

.pages .p_works .content_details .smartphone_layout li {
    width: calc((100% - 120px) / 3);
    margin: 0 20px 40px;
}

.pages .p_works .content_details .desktop_layout li img,
.pages .p_works .content_details .smartphone_layout li img {
    width: 100%;
}

/* ------------------------------------------------------
p_staff
------------------------------------------------------ */
.pages #staff_banner {
    padding: 83px 0 124px;
    position: relative;
}

.pages #staff_banner::after {
    position: absolute;
    content: '';
    width: 100%;
    height: 125px;
    background: #f5f6f6;
    bottom: 1px;
    left: 0;
    z-index: -1;
}

.pages #staff_banner .logo_banner {
    width: 100%;
    height: 37.945vw;
    max-height: 480px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 3%;
    background: linear-gradient(to right, #01b3ed 0%, #55cc29 100%);
}

.pages #staff_banner .staff_char {
    width: 94%;
    max-width: 1200px;
    display: flex;
    justify-content: space-between;
    padding: 0 35px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.pages #staff_banner .staff_char li {
    position: relative;
}

.pages #staff_banner .staff_char li:nth-child(1) {
    top: 23px;
}

.pages #staff_banner .staff_char li:nth-child(2) {
    left: -20px;
}

.pages #staff_banner .staff_char li:nth-child(3) {
    top: 39px;
}

.pages #staff_banner .staff_char li:nth-child(4) {
	top:17px;
    left: 41px;
}

.pages #staff_banner .staff_char li:nth-child(5) {
    top: 65px;
    left: 35px;
}

.pages #staff_info {
    padding: 65px 0 121px;
}

.pages #staff_info .staff_info_title {
    font-size: 34px;
    line-height: 1.65;
    color: var(--blue-color);
    text-align: center;
    margin-bottom: 180px;
}

.pages #staff_info .staff_list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
}

.pages #staff_info .staff_card {
    width: 100%;
    max-width: 600px;
    padding-right: 47px;
    position: relative;
}

.pages #staff_info .staff_card .tag_name {
    margin-bottom: 0;
    position: absolute;
    top: -40px;
    left: 35px;
}

.pages #staff_info .staff_card .tag_name::after {
    position: absolute;
    content: '';
    background: url(../images/staff/icon_line.png) no-repeat;
    background-size: contain;
    width: 81px;
    height: 43px;
    bottom: -32px;
    right: -104px;
}

.pages #staff_info .staff_card .tag_name span {
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-right: 15px;
    position: relative;
    top: 5px;
}

.pages #staff_info .staff_card .balloon {
    display: flex;
    align-items: center;
    padding: 15px 15px 10px 35px;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    cursor: pointer;
}

.pages #staff_info .staff_card .balloon .balloon_component {
    width: 100%;
}

.pages #staff_info .staff_card .balloon .balloon_title {
    font-size: 27px;
    line-height: 1.48;
    margin-bottom: 0;
}

.pages #staff_info .staff_card .balloon .balloon_txt {
    line-height: 2.375;
    color: var(--white-color);
    text-align: justify;
    margin-bottom: 0;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

.pages #staff_info .staff_card .balloon .balloon_link {
    position: absolute;
    bottom: 0;
    right: 0;
}

.pages #staff_info .staff_card .balloon .balloon_link a {
    font-family: var(--en-font);
    font-size: 14px;
    font-weight: 700;
    transition: all .3s ease;
}

.pages #staff_info .staff_card .balloon .balloon_link a::before {
    position: relative;
    content: '';
    width: 36px;
    height: 1px;
    display: inline-block;
    background: #231815;
    margin-right: 5px;
    top: -2px;
    transition: all .3s ease;
}

.pages #staff_info .staff_card .balloon svg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.pages #staff_info .staff_card .balloon .shape01 {
    fill: var(--white-color);
    stroke-miterlimit: 10;
    stroke-width: 7px;
    transition: all .3s ease;
}

.pages #staff_info .staff_card .circle {
    width: 460px;
    height: 460px;
    border-radius: 50%;
    margin-left: auto;
    pointer-events: none;
    position: relative;
    transition: all .3s ease;
}

.pages #staff_info .staff_card .circle .image01,
.pages #staff_info .staff_card .circle .image01_hv {
    position: absolute;
    bottom: 0;
    right: 66px;
    transition: all .3s ease;
}

.pages #staff_info .staff_card .circle .image01_hv {
    right: -3px;
    opacity: 0;
}

.pages #staff_info .staff_card .layer01 {
    width: 510px;
    height: 510px;
    position: absolute;
    top: -53px;
    right: -3px;
    z-index: -1;
    pointer-events: none;
}

.pages #staff_info .staff_card .layer01 .tag {
    font-family: var(--en-font);
    font-size: 60px;
    font-weight: 700;
}

.pages #staff_info .staff_card:nth-child(odd) {
    margin-top: 78px;
}

.pages #staff_info .staff_card:nth-child(1) .balloon {
    width: 387px;
    height: 247px;
    padding: 0 15px 24px 34px;
    bottom: 70px;
    left: 11px;
}

.pages #staff_info .staff_card:nth-child(1) .balloon .balloon_link {
    bottom: 50px;
    right: 50px;
}

.pages #staff_info .staff_card:nth-child(1) .balloon .shape01 {
    stroke: #b3d28e;
}

.pages #staff_info .staff_card:nth-child(1):hover .balloon .shape01 {
    fill: #91c13e;
    stroke: var(--white-color);
}

.pages #staff_info .staff_card:nth-child(1) .circle {
    background: rgba(179, 210, 142, 0.5);
}

.pages #staff_info .staff_card:nth-child(1) .circle .image01 {
    right: 8px;
}

.pages #staff_info .staff_card:nth-child(1) .layer01 .tag {
    fill: #b3d28e;
}

.pages #staff_info .staff_card:nth-child(2) .balloon,
.pages #staff_info .staff_card:nth-child(3) .balloon {
    width: 421px;
    height: 257px;
}

.pages #staff_info .staff_card:nth-child(2) .balloon {
    padding: 0 15px 25px 46px;
    bottom: 44px;
    left: 25px;
}

.pages #staff_info .staff_card:nth-child(2) .balloon .balloon_link {
    bottom: 25px;
    right: 85px;
}

.pages #staff_info .staff_card:nth-child(2) .balloon .shape01 {

    stroke: #fbcc8f;
}

.pages #staff_info .staff_card:nth-child(2):hover .balloon .shape01 {
    fill: #ffaa45;
    stroke: var(--white-color);
}

.pages #staff_info .staff_card:nth-child(2) .circle {
    background: rgba(251, 204, 143, 0.5);
}

.pages #staff_info .staff_card:nth-child(2) .circle .image01 {
    right: 8px;
}

.pages #staff_info .staff_card:nth-child(2) .circle .image01_hv {
    right: 24px;
}

.pages #staff_info .staff_card:nth-child(2) .layer01 .tag {
    fill: #fbcc8f;
}

.pages #staff_info .staff_card:nth-child(3) {
    margin-top: 204px;
    padding-right: 61px;
}

.pages #staff_info .staff_card:nth-child(3) .balloon {
    padding: 0 15px 38px 47px;
    bottom: 42px;
    left: 9px;
}

.pages #staff_info .staff_card:nth-child(3) .balloon .balloon_link {
    bottom: 25px;
    right: 85px;
}

.pages #staff_info .staff_card:nth-child(3) .balloon .shape01 {
    stroke: #b4e3e5;
}

.pages #staff_info .staff_card:nth-child(3):hover .balloon .shape01 {
    fill: #6ececc;
    stroke: var(--white-color);
}

.pages #staff_info .staff_card:nth-child(3) .circle {
    background: rgba(180, 227, 229, 0.5);
}

.pages #staff_info .staff_card:nth-child(3) .circle .image01 {
    right: -13px;
    top: -78px;
}

.pages #staff_info .staff_card:nth-child(3) .circle .image01_hv {
    right: 2px;
}

.pages #staff_info .staff_card:nth-child(3) .layer01 {
    top: -53px;
    right: 10px;
}

.pages #staff_info .staff_card:nth-child(3) .layer01 .tag {
    fill: #b4e3e5;
}

.pages #staff_info .staff_card:nth-child(4) {
    margin-top: 51px;
    padding-right: 0;
}

.pages #staff_info .staff_card:nth-child(4) figure {
    margin-left: -40px;
}

.pages #staff_info .staff_card:nth-child(5) .layer01,
.pages #staff_info .staff_card:nth-child(6) .layer01 {
    top: -53px;
    right: 8px;
}

.pages #staff_info .staff_card:nth-child(5) .tag_name,
.pages #staff_info .staff_card:nth-child(6) .tag_name {
    top: -15px;
    left: -50px;
}

.pages #staff_info .staff_card:nth-child(5) {
    margin-top: 224px;
    padding-right: 61px;
}

.pages #staff_info .staff_card:nth-child(5) .balloon {
    width: 410px;
    height: 257px;
    padding: 0 25px 42px 57px;
    bottom: 46px;
    left: 7px;
}

.pages #staff_info .staff_card:nth-child(5) .balloon .balloon_link {
    bottom: 35px;
    right: 65px;
}

.pages #staff_info .staff_card:nth-child(5) .balloon .shape01 {
    stroke: #ffd2e1;
}

.pages #staff_info .staff_card:nth-child(5):hover .balloon .shape01 {
    fill: #f995bb;
    stroke: var(--white-color);
}

.pages #staff_info .staff_card:nth-child(5) .circle {
    background: rgba(255, 210, 225, 0.5);
}

.pages #staff_info .staff_card:nth-child(5) .circle .image01 {
    right: 52px;
}

.pages #staff_info .staff_card:nth-child(5) .circle .image01_hv {
    right: 57px;
}

.pages #staff_info .staff_card:nth-child(5) .layer01 .tag {
    fill: #ffd2e1;
}

.pages #staff_info .staff_card:nth-child(6) {
    margin-top: 40px;
    padding-right: 59px;
}

.pages #staff_info .staff_card:nth-child(6) .balloon {
    width: 377px;
    height: 260px;
    padding: 0 0 28px 47px;
    bottom: -27px;
    left: 25px;
}

.pages #staff_info .staff_card:nth-child(6) .balloon .balloon_link {
    bottom: 20px;
    right: 65px;
}

.pages #staff_info .staff_card:nth-child(6) .balloon .shape01 {
    stroke: #fff278;
}

.pages #staff_info .staff_card:nth-child(6):hover .balloon .shape01 {
    fill: #efc100;
    stroke: var(--white-color);
}

.pages #staff_info .staff_card:nth-child(6) .circle {
    background: rgba(255, 242, 120, 0.5);
}

.pages #staff_info .staff_card:nth-child(6) .circle .image01 {
    right: 9px;
}

.pages #staff_info .staff_card:nth-child(6) .circle .image01_hv {
    right: -112px;
}

.pages #staff_info .staff_card:nth-child(6) .layer01 .tag {
    fill: #fff278;
}

.staff-details #p_mainvisual {
    padding-bottom: 75px;
}

.pages .staff_quote {
    width: 100%;
    min-height: 650px;
    display: flex;
    align-items: flex-end;
    padding-bottom: 35px;
    position: relative;
}

.pages .staff_quote::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #01b3ed 0%, #55cc29 100%);
    top: 0;
    left: 0;
    opacity: .3;
}

.pages .staff_quote .quote_title span {
    display: inline-block;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--blue-color);
    background: var(--white-color);
    padding: 9px 19px 10px 22px;
    margin-bottom: 15px;
}

.pages .staff_quote .quote_title span:last-child {
    margin-bottom: 0;
}

.pages .staff_quote .quote_title.setright {
    text-align: right;
}

.pages .staff_quote figure {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.pages .staff_quote figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages .staff_jobdes {
    padding: 120px 0 140px;
}

.pages .staff_jobdes .inner {
    max-width: 800px;
}

.pages .staff_jobdes .jobdes_tag {
    font-family: var(--en-font);
    font-size: 44px;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 0;
    position: absolute;
    top: -48px;
    left: 13px;
}

.pages .staff_jobdes .jobdes_frame {
    width: 100%;
    display: flex;
    justify-content: space-between;
    color: var(--white-color);
    border-radius: 20px;
    padding: 17px 46px 0px;
    overflow: hidden;
}
.pages.page-id-147 .staff_jobdes .jobdes_frame, .pages.page-id-155 .staff_jobdes .jobdes_frame {
	align-items: flex-end;
}

.pages .staff_jobdes .jobdes_frame .jobdes_component {
    width: 100%;
    max-width: 420px;
    text-align: justify;
    padding-top: 38px;
    margin-left: 20px;
	padding-bottom: 17px;
}

.pages .staff_jobdes .jobdes_frame .jobdes_title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 0;
}

.pages .staff_jobdes .jobdes_frame .jobdes_name {
    font-family: var(--en-font);
    font-size: 52px;
    letter-spacing: 0.05em;
    line-height: 1.3;
    margin-bottom: 13px;
}

.pages .staff_jobdes .jobdes_frame .jobdes_txt {
    font-size: 15px;
    font-weight: 400;
    line-height: 2.13;
}

.pages .staff_jobdes figure {
    width: 100%;
    max-width: 250px;
    line-height: 0;
}

.pages .staff_improve .card_container {
    display: flex;
    margin-bottom: 90px;
}

.pages .staff_improve .card_container:last-child {
    margin-bottom: 0;
}

.pages .staff_improve .card_image {
    width: 50%;
    line-height: 0;
}

.pages .staff_improve .card_image img {
    width: 100%;
}

.pages .staff_improve .card_contents {
    width: 50%;
    padding: 0 3% 50px 99px;
}

.pages .staff_improve .card_component {
    width: 33.333vw;
    margin-bottom: 73px;
}

.pages .staff_improve .card_component:last-child {
    margin-bottom: 0;
}

.pages .staff_improve .card_component .card_title {
    font-size: 32px;
    color: var(--blue-color);
    margin-bottom: 21px;
}

.pages .staff_improve .card_component .card_title span {
    display: block;
    font-family: var(--en-font);
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: #8dc21f;
    margin-bottom: 5px;
}

.pages .staff_improve .card_component .card_txt {
    line-height: 2;
}

.pages .staff_improve .card_component .card_txt p:not(:last-child) {
    margin-bottom: 32px;
}

.pages .staff_improve .card_container:nth-child(even) {
    flex-direction: row-reverse;
}

.pages .staff_improve .card_container:nth-child(even) .card_contents {
    padding: 0 99px 50px 3%;
}

.pages .staff_improve .card_container:nth-child(even) .card_component {
    margin-left: auto;
}

.staff-details #staff_banner {
    padding-top: 0 !important;
}

.staff-details #staff_banner .staff_char {
    padding: 0 63px;
}

.staff-details #staff_banner .staff_char a {
    display: block;
    position: relative;
}

.staff-details #staff_banner .char01 {
    opacity: 0;
    visibility: hidden;
    transition: opacity .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.staff-details #staff_banner .char02 {
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: opacity .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.staff-details #staff_banner .staff_char li.staff-active {
    opacity: .6;
    transition: opacity .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.staff-details #staff_banner .staff_char li:nth-child(1) {
    top: -3px;
}

.staff-details #staff_banner .staff_char li:nth-child(2) {
	top: -24px;
	left: 9px;
}

.staff-details #staff_banner .staff_char li:nth-child(3) {
    top: 19px;
    left: 19px;
}

.staff-details #staff_banner .staff_char li:nth-child(4) {
    top: -12px;
    left: 12px;
}

.staff-details #staff_banner .staff_char li:nth-child(5) {
	top: 42px;
    left: 21px;
}
.news-details h2 {
	color: var(--blue-color);
    margin-bottom: 15px;
}
.news-details hr {
    border-bottom: none;
    border-top: 1px solid #ddd;
}
/* MOZZILLA CSS */
@-moz-document url-prefix() {}

/* IE CSS */
@media screen\0 {}

/* EDGE 12+ CSS */
@supports (-ms-ime-align:auto) {}
