@charset "utf-8";

/*================================
Layout
================================*/
body {
    position: relative;
    overflow-x: hidden;
}

html.nonScroll,
body.nonScroll {
    overflow: hidden;
}

.wrapper {
    position: relative;
}

.inner {
    margin-inline: auto;
}

.w1300 {
    width: 100%;
    max-width: 1340px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1242 {
    width: 100%;
    max-width: 1282px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1230 {
    width: 100%;
    max-width: 1270px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1226 {
    width: 100%;
    max-width: 1266px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1216 {
    width: 100%;
    max-width: 1256px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1207 {
    width: 100%;
    max-width: 1247px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1191 {
    width: 100%;
    max-width: 1231px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1190 {
    width: 100%;
    max-width: 1230px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1136 {
    width: 100%;
    max-width: 1176px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1160 {
    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1156 {
    width: 100%;
    max-width: 1196px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1147 {
    width: 100%;
    max-width: 1187px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1108 {
    width: 100%;
    max-width: 1148px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1102 {
    width: 100%;
    max-width: 1142px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1100 {
    width: 100%;
    max-width: 1140px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1080 {
    width: 100%;
    max-width: 1120px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1085 {
    width: 100%;
    max-width: 1125px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1055 {
    width: 100%;
    max-width: 1095px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1023 {
    width: 100%;
    max-width: 1063px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w1000 {
    width: 100%;
    max-width: 1040px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w950 {
    width: 100%;
    max-width: 990px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w932 {
    width: 100%;
    max-width: 972px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w920 {
    width: 100%;
    max-width: 960px;
    margin-inline: auto;
    padding-inline: 20px;
}
.w870 {
    width: 100%;
    max-width: 910px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w840 {
    width: 100%;
    max-width: 880px;
    margin-inline: auto;
    padding-inline: 20px;
}


/*================================
Common
================================*/

/*================================
Header
================================*/
header {
    height: 90px;
}

.header {
    position: fixed;
    top: 0;
    width: 100%;
    background: rgba(255,255,255,0.8);
    z-index: 100;
}

.header .header_inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 90px;
    column-gap: 20px;
}

.hamburger {
    display: none;
}

.header .header_right nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    column-gap: 30px;
}

.gnav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    column-gap: 20px;
}

.gnav a {
    font-size: 14px;
    font-weight: 600;
}

.gnav li.current a {
    color: #999999;
}

.gnav .sub-menu {
    display: none;
}

.header_contact .gnav_btn {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    column-gap: 20px;
}

.header_contact .gnav_btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 19px 30px;
    height: 47px;
    line-height: 1;
    font-size: 15px;
    font-weight: 600;
    color: #FFF;
    border-radius: 20px;
}

/*================================
Contents Common
================================*/
.col2 {
    display: flex;
}

.contents .section_inner {
    padding-top: 90px;
}

.header_type1 .title {
    display: flex;
    flex-direction: column;
    text-align: center;
    margin-bottom: 65px;
}

.header_type1 .title .main {
    order: 2;
    margin-top: 65px;
    font-size: 50px;
    font-weight: 900;
}

.header_type1 .title .main strong {
    color: var(--color-focusblue);
    font-weight: 900;
}

.header_type1 .title .sub {
    position: relative;
    order: 1;
    font-size: 19px;
    color: #666;
}

.header_type1 .title .sub:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -28px;
    transform: translateX(-50%);
    width: 143px;
    height: 1px;
    background: #666;
}

.header_type2 .title {
    display: flex;
    flex-direction: column;
    text-align: center;
    margin-bottom: 60px;
    font-size: 50px;
}

.header_type2 .title span {
    font-size: 16px;
}

.header_type3 {
    position: relative;
}

.header_type3:after {
    content: "";
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 129px;
    height: 4px;
    background: var(--color-focusblue);
}

.plus .header_type3:after { 
    background: var(--color-mainorange);
}

.contact .header_type3:after,
.leach .header_type3:after,
.about-us .header_type3:after,
.blog .header_type3:after { 
    background: #CEA363;
}

.example_list_plus  .header_type3:after{
    background: var(--color-mainorange);
}

.header_type3 .title {
    display: flex;
    flex-direction: column;
    text-align: center;
    margin-bottom: 65px;
}

.header_type3 .title .main {
    order: 2;
    margin-top: 70px;
    font-size: 50px;
    font-weight: 700;
}

.check_list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 20px;
}

.check_list li {
    display: flex;
    align-items: center;
    column-gap: 20px;
}

.check_list li:before {
    content: "";
    display: block;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: var(--color-mainyellow) url(../img/common/icon/icon_check@2x.webp) no-repeat center center;
    background-size: 16px 14px ;
}

.check_list li strong {
    display: inline;
    background: linear-gradient(transparent 90%, #CEA461 10%);
    flex-basis: content;
}

.cta {
    background: var(--color-mainyellow);
}

.cta .section_inner {
    padding: 47px 0 97px 0;
}

.cta .section_header {
    text-align: center;
}

.cta .section_header .logo {
    margin-bottom: 66px;
}

.cta .section_header .title {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 42px;
    font-weight: 900;
    color: #293334;
}

.cta .section_contents {
    margin-top: 110px;
}

.cta .cta_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    position: relative;
    justify-content: space-between;
    column-gap: 15px;
    padding: 94px 26px 26px;
    background: #FFF;
    border-radius: 20px;
}

.cta .cta_list:before {
    content: "";
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    width: 184px;
    height: 114px;
    background: url(../img/common/deco/deco_cta@2x.webp) no-repeat center center / cover;
}

.cta .cta_list .label {
    font-size: 19px;
    font-weight: 900;
    color: #333333;
    text-align: center;
}

.cta .cta_list .btn_wrap {
    margin-top: 26px;
}

.cta .cta_list .btn_cta {
    width: 100%;
    height: 104px;
    font-size: 22px;
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.4);
}

.cta .cta_list .btn_cta:hover {
    opacity: 1;
}

.btn_cta.arrow::before,
.btn_cta.arrow::after {
    width: 14px;
    left: 30px;
}

.side_slash:before,
.side_slash::after {
  background-color: #000;
  border-radius: 5px;
  content: "";
  height: 3px;
  width: 1.2em;
}
.side_slash::before {
  margin-right: 10px;
  transform: translateY(0.1em) rotate(55deg);
}
.side_slash::after {
  margin-left: 10px;
  transform: translateY(0.1em) rotate(-55deg);
}

/*================================
Home
================================*/
.home_mv {
    position: relative;
    display: flex;
    width: 100%;
    height: 680px;
    background: #EFC12D url(../img/home/bg_home_mv.webp) no-repeat center right / contain;
}

.home_mv_inner {
    position: relative;
    padding: 124px 0 114px 0;
}

.home_mv .catch {
    position: relative;
    font-size: 44px;
    line-height: 1.5;
    z-index: 1;
}

.home_mv .catch strong,
.home_mv .summary strong {
    color: var(--color-mainblue);
    background: rgba(255,255,255,0.8);
}

.home_mv .summary {
    position: relative;
    margin-top: 38px;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.4;
    z-index: 1;
}

.home_mv img {
    position: absolute;
    right: 50px;
    bottom: 114px;
}
.home_mv .btn_large {
    width: 474px;
    height: 87px;
    margin-top: 48px;
    padding: 0 47px;
    font-size: 19px;
}
.home_mv .btn_large.arrow::before,
.home_mv .btn_large.arrow::after {
    left: 47px;
}

.home_problem1 {
    position: relative;
    margin-top: 100px;
    background: #F4F1EE url(../img/home/bg_home_problem.webp) no-repeat center center / contain;
}

.home_problem1 .title {
    position: relative;
    left: 50%;
    transform: translateY(-38px) translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 554px;
    height: 76px;
    padding-inline: 20px;
    color: #FFF;
    font-size: 27px;
    font-weight: 700;
    background: var(--color-mainblue);
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.4);
}

.home_problem1 .title:before {
    content: "";
    position: absolute;
    left: 30px;
    display: block;
    width: 27px;
    height: 41px;
    background: url(../img/common/icon/icon_light@2x.webp) no-repeat center center / cover;
}

.problem1_list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 35px;
    row-gap: 28px;
    margin-top: 130px;
}

.problem1_list .item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 40px;
    width: calc(50% - 17.5px);
    padding-inline: 40px;
    height: 200px;
    background: #FFF;
    border-radius: 15px;
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.4);
}

.problem1_list .item .text {
    display: flex;
    align-items: center;
    column-gap: 20px;
    flex: 1;
    font-size: 20px;
    font-weight: 700;
}

.problem1_list .item .text:before {
    content: "";
    display: block;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: var(--color-mainyellow) url(../img/common/icon/icon_check@2x.webp) no-repeat center center;
    background-size: 34px 28px ;
}

.home_problem1_solve {
    position: relative;
    margin-top: 125px;
    margin-bottom: 69px;
    padding-block: 52px 14px;
    font-size: 40px;
    color: #FFF;
    text-align: center;
    background: var(--color-mainblue);
}

.home_problem1_solve span {
    position: relative;
    display: block;
    width: fit-content;
    margin-inline: auto;
    font-size: 30px;
    font-weight: 500;
}

.home_problem1_solve span strong {
    font-size: 40px;
}

.home_problem1_solve span:before {
    content: "";
    position: absolute;
    bottom: -24px;
    left: -170px;
    width: 187px;
    height: 223px;
    background: url(../img/home/img_home_problem_solve@2x.webp) no-repeat center center / cover;
    z-index: 1;
}

.home_problem1_solve:after {
    content: "";
    position: absolute;
    bottom: -69px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 50vw solid transparent;
    border-left: 50vw solid transparent;
    border-top: 70px solid var(--color-mainblue);
    border-bottom: 0;
}

.home_casestudies1 {
    padding-bottom: 90px;
}

.home_casestudies1 .title {
    font-size: 29px;
    font-weight: 700;
    text-align: center;
    color: var(--color-mainblue);
}

.home_casestudies1 .casestudies_list {
    margin-top: 78px;
}

.casestudies_list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 20px;
}

.casestudies_list .item {
    background: var(--color-mainbeige);
}

.casestudies_list .item > .label {
    padding: 10px;
    text-align: center;
    font-size: 21px;
    font-weight: 700;
    background: var(--color-mainyellow);
}

.casestudies_list .item > .col2 {
    justify-content: space-between;
    align-items: center;
    column-gap: 40px;
    padding: 44px 50px 30px 35px;
}

.casestudies_list > .item:nth-child(even) .col2 {
    flex-direction: row-reverse;
}

.casestudies_list .item .title {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #CCCCCC;
    font-size: 35px;
    font-weight: 900;
    color: #1A334B;
    text-align: left;
}

.casestudies_list .item .title strong {
    color: var(--color-focusblue);
    font-weight: 900;
}

.casestudies_list .check_list .item {
    font-size: 20px;
    font-weight: 700;
}

.home_casestudies1 .more .btn .btn_large {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 95px;
    margin-top: 70px;
    margin-inline: auto;
    padding: 0 47px 0 90px;
    font-size: 22px;
    font-weight: 700;
}

.home_casestudies1 .more .btn .arrow:before,
.home_casestudies1 .more .btn .arrow:after {
    left: 47px;
}

.home_reason {
    background: #F8F7F6;
    padding-bottom: 110px;
}

.home_reason1 .title {
    font-size: 22px;
    font-weight: 700;
    text-align: center;
    color: var(--color-mainblue);
}

.home_reason .home_reason1_list {
    margin-top: 120px;
}

.home_reason1_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 40px;
    margin-inline: auto;
}

.home_reason1_list .item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 68px 0 37px 0;
    background: #FFF;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
}

.home_reason1_list .item .label {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 50%;
    top: -26.5px;
    transform: translateX(-50%);
    width: 287px;
    max-width: 100%;
    height: 53px;
    font-size: 19px;
    font-weight: 700;
    color: #FFF;
    border-radius: 9999px;
    background: var(--color-mainblue);
}

.home_reason1_list .item .img {
    display: flex;
    align-items: center;
    height: 181px;
}

.home_reason1_list .item .text {
    margin-top: 30px;
    font-size: 45px;
    font-weight: 900;
    color: var(--color-mainblue);
    text-align: center;
}

.home_reason1_list .item .text span {
    font-size: 23px;
}

.home_reason1_list .item .text .sub {
    margin-top: 10px;
    font-size: 18px;
    font-weight: 700;
    color: #000;
}

.home_aboutus .section_header .title {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 27px;
    color: var(--color-mainblue);
}

.home_aboutus .section_header .title img {
    width: 265px;
    height: auto;
    margin-bottom: 50px;
}

.home_aboutus .home_aboutus1 {
    margin-top: 80px;
    padding: 120px 110px 87px;
    background: var(--color-mainbeige);
    border-radius: 50px;
}

.home_aboutus .home_aboutus1 .summary {
    font-size: 17px;
    font-weight: 500;
    line-height: 2.2;
    letter-spacing: 0.1em;
}

.home_aboutus .home_aboutus1 .summary strong {
    color: var(--color-focusblue);
}

.home_aboutus .home_aboutus1 .btn_wrap {
    margin-top: 70px;
}

.btn a.more {
    width: 264px;
    height: 62px;
    margin-inline: auto;
    font-size: 15px;
}

.btn a.more.arrow:before,
.btn a.more.arrow:after {
    left: 47px;
}

.home_column {
    padding: 140px 0;
}

.home_column_list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 25px;
}

.home_column_list .item {
    display: flex;
    align-items: center;
    column-gap: 20px;
}

.home_column_list .item .date {
    width: 6em;
    font-size: 16px;
    font-weight: 700;
}

.home_column_list .item .cat {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 28px;
    font-size: 12px;
    color: #FFF;
    border-radius: 9999px;
    background: #000;
}

.home_column_list .item .title {
    flex: 1;
}

.home_column .more {
    margin-top: 40px;
}

/*================================
Page Common
================================*/
.page_mv {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 400px;
    background: #EFC12D url(../img/common/bg_page_mv.webp) no-repeat center center / cover;
}

.page_mv .title {
    font-size: 37px;
    font-weight: 900;
}

.breadcrumbs_list {
    display: flex;
    align-items: center;
    padding: 12px 22px;
}

.breadcrumbs_list .item,
.breadcrumbs_list .item a {
    font-size: 13px;
}

.breadcrumbs_list .item a {
    color: #268190;
}

.breadcrumbs_list .item:before {
    content: "＞";
    margin: 0 10px;
}

.breadcrumbs_list .item:first-of-type:before {
    display: none
}

.services_feature_list {
    /* display: grid;
    grid-template-columns: 1fr 1fr; */
    gap: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.services_feature_list .item {
    display: flex;
    flex-direction: column;
    /* display: grid; */
    row-gap: 60px;
    /* grid-template-rows: subgrid;
    grid-row: span 3; */
    padding: 26px 28px 40px 28px;
    background: #FFF;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
    text-align: center;
    width: 588px;
}

.services_feature_list .item .title {
    font-size: 23px;
    font-weight: 700;
    background: #006699;
    padding: 13px 10px;
    color: #FFF;
    border-radius: 20px;
}

.plus .services_feature_list .item .title {
    background: #FB883B;
}
.recruit .services_feature_list .item .title {
    background: #006699;
}

.services_feature_list .item .summary {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
}

.page_nav {
    padding: 55px 20px;
}

.page_nav_list {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 10px;
}

.page_nav_list li a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    padding: 0 40px;
    background: #293334;
    border-radius: 9999px;
    font-size: 15px;
    font-weight: 700;
    color: #FFF;
}

.page_nav_list li.current a {
    background: #CCCCCC;
}

.page_nav_list li a:before,
.page_nav_list li a:after {
    left: 14px;
}

/*================================
About Us
================================*/
.aboutus_message .aboutus_message1 {
    margin-top: 150px;
}

.aboutus_message .aboutus_message1 > .title {
    font-size: 45px;
    text-align: center;
}

.aboutus_message .aboutus_message1 .col2 {
    margin-top: 90px;
    column-gap: 60px;
}

.aboutus_message .aboutus_message1 .col2 .text {
    flex: 1;
}

.aboutus_message .aboutus_message1 .col2 .text p {
    font-size: 17px;
    font-weight: 500;
    line-height: 2.2;
}

.aboutus_message .aboutus_message1 .col2 .img {
    width: 487px;
}

.aboutus_message .aboutus_message1 .col2 .img img {
    width: 100%;
}

.aboutus_message .aboutus_message1 .col2 .img .caption {
    margin-top: 20px;
    text-align: center;
}

.aboutus_about {
    margin-top: 256px;
}

.aboutus_about .section_header .title img {
    width: 265px;
    margin-inline: auto;
}

.aboutus_about .section_header .title .main {
    margin-top: 70px;
    font-size: 27px;
    color: #003366;
}

.aboutus_about .aboutus_about1 {
    margin-top: 65px;
}

.aboutus_about .aboutus_about1 p {
    text-align: center;
    font-size: 17px;
    font-weight: 500;
    line-height: 2.2;
    text-align: center;
}

.aboutus_about .aboutus_about2 {
    margin-top: 237px;
    padding: 136px 0;
    background: #244869;
}

.aboutus_about .aboutus_about2 .aboutus_mission_list {
    display: flex;
    justify-content: center;
    column-gap: 40px;
}

.aboutus_about .aboutus_about2 .item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 43px 20px 70px;
    background: #FFF;
    border-radius: 50px;
}


.aboutus_about .aboutus_about2 .item .title {
    position: relative;
    padding-bottom: 30px;
    font-size: 26px;
    font-weight: 500;
}

.aboutus_about .aboutus_about2 .item .title:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 129px;
    height: 2px;
    background: #1A334B;
}

.aboutus_about .aboutus_about2 .item .lead {
    margin-top: 44px;
    font-size: 31px;
    font-weight: 700;
    text-align: center;
}

.aboutus_about .aboutus_about2 .item p {
    margin-top: 42px;
    padding-inline: 40px;
    font-size: 16px;
    font-weight: 700;
    color: #19334B;
    text-align: center;
    line-height: 1.8;
}

.aboutus_value .section_header .sub {
    font-size: 24px;
}

.aboutus_value .aboutus_message1 {
    margin-top: 100px;
}

.aboutus_value .aboutus_message1 .lead .title {
    font-size: 35px;
    color: #003366;
    text-align: center;
    font-weight: 600;
}

.aboutus_value_list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 88px;
    margin-top: 110px;
}

.aboutus_value_list .item {
    position: relative;
    display: flex;
    align-items: center;
    column-gap: 70px;
    padding: 106px 70px;
    background: #F1F0EC;
    border-radius: 20px;
}

.aboutus_value_list .item .label {
    position: absolute;
    top: -43px;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 106px;
    height: 106px;
    transform: translateX(-50%);
    font-size: 41px;
    font-weight: 500;
    color: #FFF;
    line-height: 1;
    background: #244869;
    border-radius: 50%;
}

.aboutus_value_list .item .title {
    font-size: 34px;
    font-weight: 700;
    color: #244768;
}

.aboutus_value_list .item .img {
    width: 160px;
    text-align: center;
}

.aboutus_value_list .item .text p {
    margin-top: 20px;
    font-size: 19px;
    font-weight: 500;
}

.aboutus_results {
    margin-top: 280px;
}

.aboutus_results1 {
    margin-top: 140px;
}

.aboutus_results1 .lead .title {
    text-align: center;
    font-size: 35px;
    color: #19334B;
}

.aboutus_results1 .lead p {
    margin-top: 40px;
    font-size: 22px;
    text-align: center;
    font-weight: 600;
}

.aboutus_results1 .home_reason1_list {
    margin-top: 115px;
}

.aboutus_results_business_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 45px;
    margin-top: 80px;
}

.aboutus_results_business_list .item {
    position: relative;
    text-align: center;
    background: #333333;
    padding: 80px 20px 60px;
}

.aboutus_results_business_list .item .title {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -27.5px;
    left: 50%;
    transform: translateX(-50%);
    width: 278px;
    height: 55px;
    font-size: 19px;
    font-weight: 500;
    color: #FFF;
    background: #996600;
    border-radius: 9999px;
}

.aboutus_results_business_list .item p {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    color: #FFF;
    text-align: center;
}

.aboutus_results1_message {
    margin-top: 50px;
    font-size: 31px;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
}

.aboutus_results1_message strong {
    color: #006699;
}

.aboutus_company {
    margin-top: 290px;
    padding-bottom: 220px;
}

.aboutus_company1 {
    margin-top: 108px;
}

.table_type1 {
    border-top: 1px solid rgba(102,102,102,0.48);
    border-right: 1px solid rgba(102,102,102,0.48);
}

.table_type1 .item {
    display: grid;
    grid-template-columns: 222px 1fr;
    border-bottom: 1px solid rgba(102,102,102,0.48);
    border-left: 1px solid rgba(102,102,102,0.48);
}

.table_type1 .label {
    display: flex;
    align-items: center;
    padding: 25px;
    font-size: 17px;
    font-weight: 500;
    background: #F4F4F2;
    border-right: 1px solid rgba(102,102,102,0.48);
}

.table_type1 .detail {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 25px;
    font-size: 17px;
    font-weight: 500;
}

/*================================
Experts
================================*/
.experts_pr .section_inner {
    padding-block: 104px 114px;
    background: var(--color-subbeige);
}

.experts_pr .col2 {
    justify-content: space-between;
    align-items: center;
    column-gap: 60px;
}

.experts_pr .col2 .text {
    flex: 1;
    padding-left: 50px;
}

.experts_pr .col2 .text .catch {
    font-size: 47px;
    font-weight: 900;
    color: #19334B;
    line-height: 1.6;
    text-align: center;
}

.experts_pr .col2 .text .catch strong {
    color: #B89252;
}

.experts_pr .col2 .text .message_box {
    margin-top: 40px;
}

.experts_pr .col2 .text .summary {
    margin-top: 30px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.7;
    text-align: center;
}

.experts_reason {
    background: rgba(200,215,225,0.15);
}

.experts_reason .section_inner {
    padding-top: 130px;
    padding-bottom: 140px;
}

.experts_reason .services_feature_list .item .title {
    background: #1A334B;
}

.experts_example {
    background: var(--color-subbeige);
    padding-bottom: 200px;
}

.experts_example1 .title {
    font-size: 29px;
    font-weight: 700;
    text-align: center;
    color: var(--color-mainblue);
}

.experts_example1 .problem1_list .item .text:before {
    background-color: #CEA461;
}

.experts_interview .section_inner {
    padding-bottom: 140px;
}

.experts_interview1 {
    padding: 100px 50px 130px;
    background: rgba(153,194,206,0.24);
    border-radius: 30px;
}

.experts_interview_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 85px 55px;
}

.experts_interview_list .item {
    text-align: center;
}

.experts_interview_list .item .profile {
    margin-top: 50px;
    font-size: 18px;
    font-weight: 700;
    color: var(--color-mainblue);
    line-height: 1.8;
}

.experts_interview_list .item .summary {
    margin-top: 50px;
}

.message_box {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px;
    margin-top: 140px;
    margin-inline: auto;
    color: #FFF;
    font-size: 21px;
    font-weight: 700;
    background: #1A334B;
    border-radius: 9999px;
}

.experts_interview .more .btn .btn_large {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 95px;
    margin-top: 70px;
    margin-inline: auto;
    padding: 0 47px 0 90px;
    font-size: 22px;
    font-weight: 700;
    border: 3px solid #006699;
    color: #006699;
}

.experts_interview .more .btn .arrow:before,
.experts_interview .more .btn .arrow:after {
    left: 47px;
}

/*================================
Services
================================*/
.services_problem {
    background: rgba(233,227,221,0.23) url(../img/services/bg_services_problem1.webp) no-repeat center center / contain;
}
.services_problem .section_header .title .main {
    color: #003366;
}

.services_problem1_list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 65px 23px;
    margin-inline: auto;
}

.services_problem1_list .item {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 343px;
    padding-top: 55px;
    text-align: center;
    border-radius: 30px;
    background: #FFF;
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.4);
}

.services_problem1_list .item:before {
    content: "";
    width: 52px;
    height: 54px;
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/services/deco_services_problem1_list@2x.webp) no-repeat center center / cover;
}

.services_problem1_list .item .text {
    font-size: 19px;
    font-weight: 900;
    color: #19334B;
}

.services_problem1_list .item .img {
    margin-top: 30px;
}

.services_problem1_solve {
    position: relative;
    margin-top: 150px;
    padding: 80px 20px 110px;
    background: #244869;
    text-align: center;
    font-size: 35px;
    line-height: 1.8;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #FFF;
}

.services_problem1_solve:before {
    content: "";
    width: 51px;
    height: 78px;
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/services/deco_light_large@2x.webp) no-repeat center center / cover;
}

.services_problem1_solve:after {
    content: "";
    width: 46px;
    height: 44px;
    position: absolute;
    bottom: 36px;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/services/deco_doublearrow@2x.webp) no-repeat center center / cover;
}

.services_three .section_header .title {
    position: relative;
    width: fit-content;
    margin-inline: auto;
}

.services_three .section_header .title:before {
    content: "";
    width: 109px;
    height: 162px;
    position: absolute;
    top: 10px;
    left: -109px;
    background: url(../img/services/deco_services_three@2x.webp) no-repeat center center / cover;
}

.services_three .services_three1 {
    padding-bottom: 145px;
}

.services_service_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    border-right: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
    padding: 0 0;
}

.services_service_list > .item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    border-top: 1px solid #CCCCCC;
    border-left: 1px solid #CCCCCC;
    padding: 0 0 55px 0;
}

.services_service_list .head {
    position: relative;
    background: #F4F3F0;
    padding: 45px 20px;
}

.services_service_list .head_box {
    position: relative;
}

.services_service_list .head .title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background: rgba(255,255,255,0.9);
    width: calc(100% - 30px);
    padding: 10px 0;
    font-size: 22px;
    text-align: center;
}

.services_service_list .head_box img {
    width: 100%;
}

.services_service_list .head .lead {
    margin-top: 48px;
    font-size: 19px;
    font-weight: 700;
    text-align: center;
    line-height: 1.8;
}

.services_service_list .body {
    padding: 55px 17px;
}

.services_service_list .body .label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    height: 40px;
    margin-inline: auto;
    padding-inline: 30px;
    font-size: 15px;
    text-align: center;
    color: #FFF;
    background: rgba(51,51,51,0.95);
    text-align: center;
    border-radius: 9999px;
}

.services_service_list .body .check_list {
    margin-top: 50px;
}

.services_service_list .body .check_list li {
    align-items: flex-start;
    font-size: 17px;
    font-weight: 700;
}

.services_service_list .body .check_list li:before {
    top: 3px;
}

.services_service_list .foot {
    padding: 0 20px;
}

.services_service_list .btn_service_list {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    height: 100px;
    width: 100%;
    row-gap: 10px;
    font-size: 21px;
    font-weight: 700;
    background-color: #E35914;
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.4);
}

.services_service_list .btn_service_list span {
    display: block;
    font-size: 15px;
}

.services_service_list .btn_service_list:before,
.services_service_list .btn_service_list:after {
    width: 12px;
    left: 24px;
}

.services_compare {
    padding-bottom: 250px;
    background: rgba(214,230,239,0.65);
}

.services_compare .section_header .title {
    position: relative;
    width: fit-content;
    margin-inline: auto;
}

.services_compare .section_header .title:before {
    content: "";
    width: 96px;
    height: 153px;
    position: absolute;
    top: 10px;
    right: -109px;
    background: url(../img/services/deco_services_compare@2x.webp) no-repeat center center / cover;
}

.services_compare_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 20px;
    margin-top: 120px;
}

.services_compare_list .item {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: subgrid;
    grid-row: span 14;
    row-gap: 30px;
    padding-block: 45px;
    text-align: center;
    border-top: 77px solid #006699;
    border-right: 10px solid #006699;
    border-bottom: 77px solid #006699;
    border-left: 10px solid #006699;
    background: #FFF;
}

.services_compare_list .item.plus {
    border-color: #FB883B;
}

.services_compare_list .item.recruit {
    border-color: #006699;
}

.services_compare_list .item .title {
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - 40px);
    height: 66px;
    font-size: 20px;
    font-weight: 700;
    color: #FFF;
    background: #006699;
    border: 2px solid #FFF;
}

.services_compare_list .item.plus .title {
    background: #FB883B;
}
.services_compare_list .item.recruit .title {
    background: #006699;
}

.services_compare_list .item .label {
    width: 239px;
    margin-inline: auto;
    padding: 10px 10px;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    color: #FFF;
    background: #666666;
}

.services_compare_list .item .summary {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.8;
}

.services_compare_list .item .summary strong {
    color: #990000;
}

.header_type_service {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 192px;
    background: #006699;
}

.plus .header_type_service {
    background: #FB883B;
}

.recruit .header_type_service {
    background: #006699;
}

.header_type_service .title {
    font-size: 43px;
    font-weight: 900;
    color: #FFF;
}

.header_type_service .title span {
    display: block;
    font-size: 16px;
    text-align: center;
}

.header_type_service2 .title {
    position: relative;
    display: flex;
    flex-direction: column;
    text-align: center;
    margin-bottom: 65px;
}

.header_type_service2 .title .main {
    order: 2;
    margin-top: 20px;
    font-size: 40px;
    font-weight: 900;
}
.header_type_service2 .title .sub {
    position: relative;
    order: 1;
    font-size: 16px;
    color: #999;
    font-family: serif;
}

.header_type_service2 .title p {
    order: 3;
    margin-top: 10px;
    font-size: 26px;
    font-weight: 700;
    color: #006699;
}

.header_type_service2 .title:not(:has(p)) {
    margin-bottom: 130px;
}

.header_type_service2 .title:not(:has(p)):after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -25px;
    transform: translateX(-50%);
    width: 100px;
    height: 4px;
    background: #006699;
}

.plus .header_type_service2 .title:not(:has(p)):after {
    background: #FB883B;
}

.services_point1 {
    padding: 97px 20px 160px;
}

.services_point1 .lead {
    font-size: 38px;
    font-weight: 900;
    line-height: 1.6;
    color: #006699;
    text-align: center;
}

.plus .services_point1 .lead{
    color: #FB883B;
}

.services_point_box {
    position: relative;
    max-width: 1023px;
    margin-top: 100px;
    margin-inline: auto;
    padding: 50px 20px;
    background: #FFF;
    border: 4px solid #006699;
    border-radius: 4px;
}

.services_point_box .title {
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 185px;
    height: 35px;
    background: #006699;
    font-size: 15px;
    font-weight: 700;
    border-radius: 9999px;
    color: #FFF;
}

.plus .services_point_box .title {
    background: #FB883B;
}

.services_point_box .title:before {
    content: "";
    position: absolute;
    width: 29px;
    height: 16px;
    left: 20px;
    background: url(../img/services/deco_services_point@2x.webp) no-repeat center center / cover;
}

.plus .services_point_box {
    border-color: #FB883B;
}

.services_point_box p {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
}

.services_reseach_interview {
    padding-bottom: 100px;
}

.services_reseach_interview1 {
    background: rgba(212,176,117,0.24);
    padding: 100px;
    border-radius: 30px;
}

.services_reseach_interview1 .col2 {
    justify-content: space-between;
    column-gap: 60px;
}

.services_reseach_interview1 .col2 .text {
    flex: 1;
}

.services_reseach_interview1 .col2 .text p {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.9;
}

.services_reseach_interview1 .feature {
    margin-top: 65px;
    background: #FFF;
}

.services_reseach_interview1 .feature .title {
    padding: 15px;
    font-size: 18px;
    color: #FFF;
    background: #CEA461;
    text-align: center;
}

.services_reseach_interview1 .feature .check_list {
    width: fit-content;
    margin-inline: auto;
    padding: 45px 20px;
}

.services_reseach_interview1 .feature .check_list li:before {
    background-color: #CEA461;
}

.services_reseach_interview1 .feature .check_list li {
    font-size: 19px;
    font-weight: 700;
}

.services_reseach_interview .more .btn .btn_large {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 95px;
    margin-top: 70px;
    margin-inline: auto;
    padding: 0 47px 0 90px;
    font-size: 22px;
    font-weight: 700;
    border: 3px solid #006699;
    color: #006699;
}

.services_reseach_interview .more .btn .arrow:before,
.services_reseach_interview .more .btn .arrow:after {
    left: 47px;
    width: 12px;
}

.services_feature {
    padding-bottom: 140px;
    background: #E9E3DD;
}

.research .services_feature .services_feature_list .item .summary strong {
    color: #006699;
}

.plus .services_feature .services_feature_list .item .summary strong {
    color: #FB883B;
}

.services_recommend_list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 20px;
    margin-inline: auto;
}

.services_recommend_list .item {
    display: grid;
    grid-template-columns: 200px 1fr;
    border: 3px solid #006699;
}

.plus .services_recommend_list .item {
    border-color: #FB883B;
}

.services_recommend_list .item .title {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #006699;
    font-size: 28px;
    color: #FFF;
}

.plus .services_recommend_list .item .title {
    background-color: #FB883B;
}

.services_recommend_list .item .title span {
    font-size: 68px;
    color: rgba(255,255,255,0.5);
}

.services_recommend_list .item .text {
    padding: 45px 60px;
}

.services_recommend_list .check_list li {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.7;
}

.services_recommend_list .check_list li:before {
    background-color: #CEA461;
}
.services_recommend_list .check_list li {
    font-size: 19px;
    font-weight: 700;
}

.services_flow {
    margin-top: 140px;
    padding-bottom: 140px;
    background: #E9E3DD;
}

.services_flow_list {
    display: grid;
    column-gap: 33px;
    width: fit-content;
    margin-inline: auto
}

.services_flow_list.col5 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.services_flow_list.col6 {
    grid-template-columns: 1fr 1fr 1fr;
}

.services_flow_list .item {
    display: grid;
    /* grid-template-rows: subgrid;
    grid-row: span 3; */
    position: relative;
    width: 100%;
    min-width: 210px;
    min-height: 300px;
    background: #FFF;
    border-radius: 6px;
    margin-bottom: 57px;
    padding: 74px 0 26px 0;
    text-align: center;
}

.services_flow_list .item > .label {
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    flex-direction: column;
    background: var(--color-focusblue);
    color: #FFF;
    font-size: 12px;
    font-weight: 700;
    position: absolute;
    top: -34.5px;
    left: 50%;
    transform: translateX(-50%);
    width: 69px;
    height: 69px;
    border-radius: 50%;
}



.plus .services_flow_list .item > .label {
    background-color: #FB883B;
}

.services_flow_list .item > .label span {
    font-size: 27px;
    line-height: 1;
}

.services_flow_list .item .img {
    height: 84px;
}

/* .services_flow_list .text {
    align-self: center;
} */

.services_flow_list .item .title {
    margin-top: 30px;
    font-size: 20px;
    line-height: 1.2;
    color: #006699;
}

.plus .services_flow_list .item .title {
    color: #FB883B;
}

.services_flow_list .item .title .sub {
    margin-top: 7px;
    font-size: 14px;
    color: #000;
}

.services_flow_list .item .title .sub span {
    display: block;
    font-size: 12px;
}

.faq_list {
    border-top: 1px solid #CCCCCC;
    border-left: 1px solid #CCCCCC;
    border-right: 1px solid #CCCCCC;
}


.faq_list details {
    border-bottom: 1px solid #CCC;
    transition: all 0.3s ease;
}

.faq_list .question {
    position: relative;
    display: flex;
    align-items: center;
    column-gap: 10px;
    padding: 20px 100px 20px 20px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    cursor: pointer;
}

.faq_list .question:after {
    content: "";
    position: absolute;
    right: 30px;
    width: 24px;
    height: 13px;
    background: url(../img/services/icon_faq_arrow.webp) no-repeat center center / cover;
    transition: all 0.3s ease;
}

.faq_list details[open] .question:after {
    transform:  rotate(-180deg);
}

.faq_list .question .icon_q {
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    width: 33px;
    height: 33px;
    line-height: 1;
    background: #003B59;
    border-radius: 50%;
}

.faq_list .question .icon_q:before {
    content: "Q";
    transform: translateY(-0.1em);
    font-size: 19px;
    color: #FFF;
}

/* .faq_list .question .icon_q:before {
    content: "Ｑ";
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    width: 33px;
    height: 33px;
    line-height: 1;
    background: #003B59;
    color: #FFF;
    border-radius: 50%;
    font-size: 19px;
} */

.faq_list .answer .icon_a {
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    width: 33px;
    height: 33px;
    line-height: 1;
    background: #CC3300;
    border-radius: 50%;
}

.faq_list .answer .icon_a:before {
    content: "A";
    transform: translateY(-0.07em) translateX(0.03em);
    font-size: 19px;
    font-weight: 700;
    color: #FFF;
}

.faq_list .answer {
    display: flex;
    align-items: center;
    column-gap: 10px;
    padding: 20px;
    background: #FBFAF9;
    border-top: 1px solid #CCC;
}

/* .faq_list .answer:before {
    content: "Ａ";
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    width: 33px;
    height: 33px;
    line-height: 1;
    background: #CC3300;
    color: #FFF;
    border-radius: 50%;
    font-size: 19px;
    font-weight: 700;
} */

.faq_list .answer p {
    flex: 1;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
}

.faq_list details::details-content {
    transition:
      height 0.4s,
      opacity 0.4s,
      content-visibility 0.4s allow-discrete;
    height: 0;
    opacity: 0;
    overflow: clip;
}

.faq_list details[open]::details-content {
    opacity: 1;
}

@supports (interpolate-size: allow-keywords) {
  :root {
    interpolate-size: allow-keywords;
  }
  details[open]::details-content {
    height: auto;
  }
}

@supports not (interpolate-size: allow-keywords) {
  details[open]::details-content {
    height: 150px;
    overflow-y: scroll;
  }
}

.faq_list summary::marker {
    display: none;
    content: "";
}

.faq_list summary::-webkit-details-marker {
  display: none;
}

section + .page_nav {
    margin-top: 150px;
    margin-bottom: 50px;
}

/*================================
Example
================================*/
.example_list_wrap {
    padding: 0 0 260px 0;
}
.example_list_research {
    background: var(--color-subbeige);
}

.example_list {
    margin-top: 140px;
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 115px;
}

.example_list .item {
    position: relative;
    padding: 134px 40px 70px;
    background: #FFF;
    box-shadow: 0px 10px 15px 5px rgba(0, 0, 0, 0.1);
}

.example_list .item > .title {
    position: absolute;
    top: -67px;
    left: 50%;
    transform: translateX(-50%);
    width: 134px;
    height: 134px;
    border-radius: 50%;
}

.example_list .item > .title {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background: var(--color-focusblue);
    color: #FFF;
    font-size: 14px;
    font-weight: 700;
}

.example_list .item > .title span {
    font-size: 50px;
    line-height: 1;
}

.example_list .col2 {
    justify-content: space-between;
    column-gap: 40px;
}

.example_list .item:nth-of-type(odd) .col2 {
    flex-direction: row-reverse;
}

.example_list .col2 .text {
    flex: 1;
}

.example_list .col2 .text .title {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0;
}

.example_list .col2 .text .check_title {
    margin-top: 35px;
    padding: 8px 0;
    font-size: 18px;
    font-weight: 700;
    color: #FFF;
    text-align: center;
    background: var(--color-focusblue);
}


.example_list .check_list {
    margin-top: 30px;
    padding: 0 10px;
    row-gap: 18px;
}


.example_list .check_list li:before {
    flex: none;
    background-color: #CEA461;
}


.example_list .check_list li {
    font-size: 17px;
    font-weight: 700;
}

.example_list .btn_wrap {
    margin-top: 50px;
    justify-self: flex-end;
}

.example_list .btn_wrap .btn a {
    width: 287px;
    height: 53px;
    padding: 0 47px;
    line-height: 1;
}

.example_list .btn_wrap .btn a span {
    transform: translateY(-1px);
}

.example_list .btn_wrap .btn .arrow:before,
.example_list .btn_wrap .btn .arrow:after {
    width: 10px;
    left: 24px;
}

.example_list_plus .example_list .item > .title {
    background: var(--color-mainorange);
}

.example_list_plus .example_list .col2 .text .check_title {
    background: var(--color-mainorange);
}

.modal_bg {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0,0,0,0.8);
    z-index: 1000;
}

.modal_box {
    display: none;
    position: absolute;
    height: 100vh;
    top: 50px;
    left: 50%;
    transform: translateX(-50%) ;
    width: 95%;
    height: calc(100vh - 100px);
    padding: 120px 60px;
    z-index: 1001;
    background: #FFF;
    overflow: auto;
}

.modal_box .modal_inner {
    position: relative;
    padding-top: 130px;
    background: #EEEDE9;
}

.modal_box .modal_inner > .label {
    position: absolute;
    top: -67px;
    left: 50%;
    transform: translateX(-50%);
    width: 134px;
    height: 134px;
    border-radius: 50%;
}

.modal_box .modal_inner > .label {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background: var(--color-focusblue);
    color: #FFF;
    font-size: 14px;
    font-weight: 700;
}

.modal_box.plus .modal_inner > .label {
    background-color: #FB883B;
}

.modal_box .modal_inner > .label span {
    font-size: 50px;
    line-height: 1;
}

.modal_box .modal_inner > .title {
    padding-inline: 40px;
    font-size: 42px;
    font-weight: 700;
    text-align: center;
    color: var(--color-focusblue);
}

.modal_box.plus .modal_inner > .title {
    color: var(--color-mainorange);
}

.modal_box .modal_inner > .check_title {
    position: relative;
    margin-top: 80px;
    padding: 32px 0 22px;
    font-size: 22px;
    font-weight: 700;
    color: #FFF;
    background: var(--color-focusblue);
    text-align: center;
}

.modal_box.plus .modal_inner > .check_title {
    background-color: #FB883B;
}

.modal_box .modal_inner > .check_title:before {
    content: "";
    position: absolute;
    top: -29px;
    left: 50%;
    transform: translateX(-50%);
    width: 33px;
    height: 49px;
    background: url(../img/case-studies/deco_person@2x.webp) no-repeat center center / cover;
}

.modal_box .modal_inner > .check_list {
    width: fit-content;
    margin-top: 60px;
    margin-inline: auto;
    padding-inline: 20px;
}

.modal_box .modal_inner > .check_list li {
    font-size: 24px;
    font-weight: 700;
}

.modal_box .modal_inner > .check_list li:before {
    background-color: #CEA461;
}

.modal_box .modal_inner .data {
    position: relative;
    justify-content: space-between;
    margin-top: 80px;
}

.modal_box .modal_inner .data > .title {
    position: absolute;
    top: -19px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 206px;
    height: 39px;
    font-size: 16px;
    font-weight: 500;
    color: #FFF;
    background: #000;
    border-radius: 9999px;
}

.modal_box .modal_inner .data .col2 {
    justify-content: space-between;
    align-items: center;
    column-gap: 30px;
    padding: 55px 30px 35px;
    background: #FFF;
    border-radius: 20px;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
}

.modal_box .modal_inner .data .col2 .img img {
    width: 220px;
    height: auto;
    max-width: 100%;
}

.modal_box .modal_inner .data .col2 .text {
    flex: 1;
}

.modal_box .modal_inner .data .col2 .point_list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 10px;
}

.modal_box .modal_inner .data .col2 .point_list li {
    position: relative;
    padding-left: 1.5em;
    font-size: 17px;
    font-weight: 700;
}

.modal_box .modal_inner .data .col2 .point_list li:before {
    content: "●";
    position: absolute;
    left: 0;
    color: #80A435;
    margin-right: 0.5em;
}

.modal_box.plus .modal_inner .data .col2 .point_list li:before {
    color: var(--color-mainorange);
}

.process_list {
    margin-top: 80px;
}

.process_list .item > .title {
    padding: 14px;
    background: #6290A6;
    font-size: 20px;
    font-weight: 700;
    color: #FFF;
    text-align: center;
}

.plus .process_list .item > .title {
    background: var(--color-mainorange);
}

.process_list .process_box {
    justify-content: space-between;
    align-items: center;
    column-gap: 30px;
    padding: 50px 40px;
}

.process_list .process_box .text {
    flex: 1;
    font-size: 19px;
    font-weight: 500;
    line-height: 2.2;
}

.modal_close {
    position: absolute;
    right: -20px;
    top: -83px;
    width: 46px;
    height: 46px;
    border: 2px solid #000;
    border-radius: 2px;
    cursor: pointer;
}

.modal_close:last-of-type {
    top: inherit;
    right: -20px;
    bottom: -83px;
}

.modal_close:before {
    content: "";
    position: absolute;
    width: 26px;
    height: 4px;
    background: #000;
    top: 20px;
    right: 8px;
    transform: rotate(45deg);
}

.modal_close:after {
    content: "";
    position: absolute;
    width: 26px;
    height: 4px;
    background: #000;
    top: 20px;
    right: 8px;
    transform: rotate(-45deg);
}

/*================================
Blog
================================*/
.blog_wrap {
    align-items: flex-start;
    margin-top: 147px;
    column-gap: 60px;
}

.blog_main {
    flex: 1;
}

.blog_list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(315px, 1fr));
    column-gap: 10px;
}

.blog_list .item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
}

.blog_list .item .img {
    border: 1px solid #CCCCCC;
}

.blog_list .item .img img {
    width: 100%;
}

.blog_list .item .cat {
    margin-top: 15px;
    width: fit-content;
    min-width: 136px;
    margin-inline: auto;
    padding: 6px 20px;
    background: #1A334B;
    color: #FFF;
    text-align: center;
}

.blog_list .item .date {
    margin-top: 13px;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}

.blog_list .item .title {
    margin-top: 13px;
    margin-bottom: 60px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}

.pager {
    display: flex;
    align-items: center;
    justify-content: center;
	margin:0 auto;
	padding:32px 0 160px 0;
	border-top:1px solid #ccc;
}

.pager_inner {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-flow:row wrap;
	flex-flow:row wrap;
	-webkit-justify-content:center;
	justify-content:center;
}

.back,
.next {
	position:relative;
	box-sizing:border-box;
	margin:10px 0;
	border:1px solid #999;
	width:22px;
	height:22px;
	text-indent:-9999px;
}

.back a,
.next a {
	display:block;
	width:100%;
	height:100%;
	text-indent:-9999px;
}

.back::after,
.next::after {
	position:absolute;
	top:calc(50% - 4px);
	display:block;
	box-sizing:border-box;
	border-top:1px solid #ccc;
	width:8px;
	height:8px;
	content:"";
	pointer-events: none;
}

.back::after {
	border-left:1px solid #ccc;
	left:calc(50% - 2px);
	transform:rotate(315deg);
}

.pager ol {
	display:-webkit-inline-flex;
	display:inline-flex;
	-webkit-flex-flow:row wrap;
	flex-flow:row wrap;
	-webkit-justify-content:center;
	justify-content:center;
	margin:0 10px;
	list-style-type:none;
}

.pager ol li {
	margin:12px 0;
	/* padding:0 20px; */
	line-height:18px;
	font-size:18px;
}

.pager ol li a {
	display: block;
	color:#000;
	text-decoration:none;
    padding: 0 20px;
}

.pager ol li a:hover,
.pager ol li.current a {
	color:#006699;
}

.pager ol li+li {
	border-left:1px solid #ccc;
}

.next::after {
	border-right:1px solid #ccc;
	left:calc(50% - 6px);
	transform:rotate(45deg);
}

.back:hover::after,
.next:hover::after {
	border-color:#006699;
}

.blog_nav {
    width: 180px;
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 46px;
}

.blog_nav .blog_nav_box .title {
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 500;
    color: #8C7F66;
    border-bottom: 2px solid #8C7F66;
}

.blog_nav .blog_nav_box ul {
    padding: 0 11px;
}

.blog_nav .blog_nav_box ul li a {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.8;
}

/* single */
.blog_content > .title {
    position: relative;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.56;
    padding-bottom: 30px;
}

.blog_content > .title:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 129px;
    height: 4px;
    background: #CEA363;
}

.blog_content .meta {
    display: flex;
    align-items: center;
    column-gap: 10px;
    margin-top: 40px;
    font-weight: 500;
}

.blog_content .meta .date {
    display: flex;
    align-items: center;
    column-gap: 10px;
}

.blog_content .meta .date:after {
    content: "|";
}

.blog_content .content_nav {
    margin-top: 40px;
    padding: 30px 30px;
    background: #EBE5D7;
}

.blog_content .content_nav .title {
    padding-bottom: 10px;
    font-weight: 700;
    border-bottom: 1px dotted #8C7F66;
    text-align: center;
}

.blog_content .content_nav ul {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 10px;
    margin-top: 20px;
}
.blog_content .content_nav ul li a {
    font-weight: 500;
}

.blog_content .content {
    margin-top: 40px;
}

.blog_content .content p {
    margin-bottom: 70px;
    font-size: 18px;
    font-weight: 500;
    line-height: 2.2;
}

.blog_content .content figure {
    display: block;
    margin-bottom: 70px;
}

.blog_content .content h2 {
    font-size: 26px;
    padding-top: 90px;
    margin-top: -90px;
    margin-bottom: 30px;
}

.blog_content .content h3 {
    font-size: 23px;
    padding-top: 90px;
    margin-top: -90px;
    margin-bottom: 20px;
}

.single_nav {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 10px;
    margin-top: 70px;
    margin-bottom: 160px;
	padding:32px 0 160px 0;
	border-top:1px solid #ccc;
}

.single_nav .item {
    display: flex;
    align-items: center;
}

.single_nav .item a {
    line-height: 1;
}

.single_nav .item.single_back,
.single_nav .item.single_next {
    display: flex;
    align-items: center;
    column-gap: 10px;
}

.single_nav .item.single_back:after {
    content: "|";
    font-size: 16px;
    line-height: 1;
}

.single_nav .item.single_next:before {
    content: "|";
    font-size: 16px;
    line-height: 1;
}


/*================================
Form Common
================================*/
.form_able {
    position: relative;
    margin-top: 136px;
    padding: 75px 120px 50px;
    background: #EBE5D7;
    border-radius: 20px;
    text-align: center;
}

.form_able .title {
    position: absolute;
    top: -27.5px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 470px;
    height: 55px;
    font-size: 23px;
    font-weight: 500;
    color: #FFF;
    line-height: 1;
    background: #1A334A;
    border-radius: 9999px;
}

.form_able .lead {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.8;
}

.form_able .summary {
    margin-top: 50px;
    padding: 55px 20px;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    line-height: 2;
    border-radius: 20px;
    background: #FFF;
}

.form_able .summary a {
    color: #267F90;
}

.form {
    margin-top: 75px;
}

.form .message {
    font-size: 16px;
}

.form .form_list {
    display: grid;
    grid-template-columns: 219px 1fr;
    align-items: center;
    row-gap: 48px;
    margin-top: 50px;
    overflow: hidden;
}

.form .form_list dt {
    position: relative;
    padding-right: 40px;
    font-weight: 700;
}

.form .form_list dd {
    position: relative;
    font-weight: 500;
}

.form .form_list dd .notes {
    margin-bottom: 18px;
    color: #666666;
}

.form .form_list dd .notes a {
    color: #268090;
}

.form .form_list dd:after {
    content: "";
    position: absolute;
    left: -239px;
    bottom: -24px;
    width: calc(100% + 239px);
    border-top: 1px solid #EBEBEB;
}

.form .form_list .hide span {
    visibility: hidden;
    width: 0;
}

.form .form_list input[type=text],
.form .form_list input[type=tel],
.form .form_list input[type=email],
.form .form_list textarea {
    width: 100%;
    background: #F9F9F9;
    padding: 10px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 500;
    border: 1px solid #CCCCCC;
}

.form .form_list input[type=text],
.form .form_list input[type=tel],
.form .form_list input[type=email] {
    max-width: 33em;
}

.form .form_list textarea {
    height: 10em;
}

.form input[type=checkbox],
.form input[type=radio] {
    margin-right: 0.5em;
}

.form label:has(input[type=checkbox]){
    display: block;
    margin: 10px 0 0;
}

.form_submit {
    margin-top: 60px;
    text-align: center;
}

.form_submit input[type=submit] {
    width: fit-content;
    height: 80px;
    padding-inline: 84px 64px;
    font-size: 23px;
    font-weight: 700;
    color: #FFF;
    text-align: center;
    border-radius: 10px;
    background: #1A334B url(../img/common/icon/icon_mail@2x.webp) no-repeat center left 35px;
    background-size: 24px 18px;
    transition: opacity 0.3s ease;
}

.form_submit input[type=submit]:hover {
    opacity: 0.5;
}

.privacypolicy {
    padding-bottom: 300px;
}

.privacypolicy_list {
    display: flex;
    flex-direction: column;
    row-gap: 40px;
    margin-top: 90px;
}

.privacypolicy_list .item .title {
    font-size: 18px;
    font-weight: 500;
}

.privacypolicy_list .item .detail p,
.privacypolicy_list .item .detail ul {
    margin-top: 15px;
    line-height: 1.8;
}

.privacypolicy_list .item .detail p + ul {
    margin-top: 0;
}

.privacypolicy_list .item .detail ul {
    list-style: disc;
}

.privacypolicy_list .item .detail ul li {
    margin-left: 1.25em;
}

/*================================
Footer
================================*/
.footer_nav {
    background: #2A3334;
}

.footer_nav .col2 {
    justify-content: space-between;
    align-items: center;
    padding-block: 80px 235px;
}

.footer_nav .col2 nav {
    display: flex;
    justify-content: flex-start;
    column-gap: 100px;
}

.fnav {
    position: relative;
    display: flex;
    flex-direction: column;
    row-gap: 14px;
}

.fnav .home {
    position: absolute;
    top: -44px;
    left: 0;
}

.fnav li a {
    font-size: 16px;
    font-weight: 700;
    color: #FFF;
}

.fnav li.current > a {
    color: #999;
}

.fnav .sub-menu{
    display: flex;
    flex-direction: column;
    row-gap: 14px;
    margin-top: 14px;
}

.fnav .sub-menu li {
    padding-left: 1em;
}

.fnav .sub-menu li a:before {
    content: "＞";
    font-weight: 700;
    margin-right: 8px;
}

.footer_nav .logo {
    display: flex;
    flex-direction: column;
    align-content: flex-end;
    text-align: center;
}

.footer_nav .logo img {
    width: fit-content;
    margin-inline: auto;
}

.footer_nav .logo .copyright {
    margin-top: 12px;
    font-size: 9px;
    color: #FFF;
    letter-spacing: 0.1em;
}

.footer_cta {
    position: fixed;
    bottom: 0;
    width: 100%;
    padding-block: 24px 38px;
    background: rgba(233,233,233,0.89);
}

.footer_cta .col2 {
    justify-content: center;
    align-items: center;
    column-gap: 8px;
}

.footer_cta .col2 .item {
    width: 100%;
    max-width: 406px;
}

.footer_cta .btn_footer_cta {
    width: 100%;
    max-width: 406px;
    height: 73px;
    font-size: 18px;
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.4);
}

.btn_footer_cta.arrow::before,
.btn_footer_cta.arrow::after {
    width: 12px;
    left: 30px;
}

.backtotop {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 5;
    transition: all 0.2s ease;
}

.backtotop a {
    display: block;
    width: 46px;
    height: 46px;
    border: 5px solid rgba(133,133,133,1);
    border-radius: 50%;
}

.backtotop a::before,
.backtotop a::after {
  content: "";
  position: absolute;
  top: calc(50% - 7px);
  left: calc(50% - 2.5px);
  width: 4px;
  height: 14px;
  background-color: rgba(133,133,133,1);
  transform-origin: 50% 2.5px;
}

.backtotop a::before {
  transform: rotate(45deg);
}

.backtotop a::after {
  transform: rotate(-45deg);
}


/*================================
Footer
================================*/
section:not(.footer_cta) {
  opacity: 0;
}
.fadein_animation_start{
  animation-name: fadein_animation;
  animation-delay: 0.6s;
  animation-duration: 1.5s;
  animation-fill-mode: both;
}
@keyframes fadein_animation{
  0% {
    opacity: 0;
  }
  100%{
    opacity: 1;
    transform: translate(0);
  }
}
.slideup{
  transform: translateY(50px);
}
.slidedown{
  transform: translateY(-50px);
}
.slideright{
  transform: translateX(50px);
}
.slideleft{
  transform: translateX(-50px);
}

.home_mv {
    opacity: 0;
    animation: fadein_animation 1.5s ease 0s 1 forwards;
}

.home_mv .catch {
    opacity: 0;
    animation: fadein_animation 1.5s ease 1s 1 forwards;
}

.home_mv .summary {
    opacity: 0;
    animation: fadein_animation 1.5s ease 1.5s 1 forwards;
}

.home_mv .catch img {
    opacity: 0;
    animation: fadein_animation 1.5s ease 1s 1 forwards;
}

.home_mv .btn_wrap {
    opacity: 0;
    animation: fadein_animation 1.5s ease 2.0s 1 forwards;
}




.form .btn .btn_large.more {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    height: 95px;
    margin-top: 140px;
    margin-inline: auto;
    padding: 0 47px 0 82px;
    font-size: 22px;
    font-weight: 700;
    border-radius: 14px;
}
