﻿html {
    font-size: 62.5%;
    box-sizing: border-box;
    line-height: 1
}

*,
*::before,
*::after {
    box-sizing: inherit
}

body {
    position: relative;
    line-height: 1;
    background: #fff;
    color: #333;
    font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    font-weight: 400;
    font-size: 1.6rem;
    font-style: normal;
    line-height: 1.6;
    margin: 0
}

@media screen and (max-width: 743px) {
    body {
        font-size: 1.4rem
    }
}

table {
    box-sizing: border-box;
    margin: 20px 0;
    border: solid 1px #606060;
    width: 100%
}

table tbody tr th,
table thead tr th {
    padding: .5em;
    border: solid 1px #606060;
    vertical-align: middle;
    text-align: left;
    line-height: 1.4
}

table tbody tr td,
table thead tr td {
    padding: .5em;
    border: solid 1px #606060;
    vertical-align: middle;
    line-height: 1.4
}

table tbody tr:last-child:last-child,
table thead tr:last-child:last-child {
    border-bottom: 0
}

table tbody th {
    min-width: 100px
}

aside table {
    width: 100%
}

strong {
    font-weight: bold
}

img {
    max-width: 100%;
    vertical-align: bottom
}

ul {
    list-style: none;
    padding: 0
}

picture {
    display: block
}

a:link,
a:visited,
a:hover,
a:active {
    text-decoration: none
}

a img:hover {
    filter: alpha(opacity=70);
    -webkit-transition: .3s;
    transition: .3s
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: rgba(0, 0, 0, 0);
    font-weight: inherit
}

html {
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%
}

* {
    font-weight: normal;
    font-style: normal
}

*,
*::before,
*::after {
    box-sizing: border-box
}

*:not(br) {
    line-height: 1.6
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

nav ul {
    list-style: none
}

ul li {
    list-style: none
}

li {
    list-style: none;
    line-height: 0
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: rgba(0, 0, 0, 0)
}

a:focus,
a:hover,
a:active {
    outline: none !important
}

a:link,
a:visited {
    text-decoration: none
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold
}

del {
    text-decoration: line-through
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0
}

section,
article,
main {
    width: 100%;
    height: auto
}

select {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    padding: 0;
    border: none;
    width: auto;
    height: auto;
    background: none;
    outline: none;
    color: #fff;
    font-size: inherit
}

select::-ms-expand {
    display: none
}

figure,
picture {
    line-height: 1
}

.c-header {
    position: relative;
    right: 0;
    left: 0;
    z-index: 10;
    padding-top: 10px;
    padding-bottom: 10px;
    height: 25vh
}

@media screen and (max-width: 1200px) {
    .c-header {
        padding: 5px 1em 8px
    }
}

@media screen and (max-width: 743px) {
    .c-header {
        height: 30vh
    }

    .c-header h1 img,
    .c-header p img {
        width: 178px
    }
}

.c-header::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%
}

.c-header__single {
    height: auto;
    background: url("../img/mv1_ts.jpg") no-repeat center/cover
}

.c-header__single::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url("../img/screen.png") repeat center/200px;
    opacity: 1
}

.c-header__single .c-breadcrumb {
    position: relative
}

.c-header__slider {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%
}

.c-header__slider>div {
    height: 100%
}

.c-header__slider .swiper-slide {
    position: relative
}

.c-header__slider .swiper-slide>div {
    position: relative;
    width: 100%;
    height: 100%
}

.c-header__slider .swiper-slide>div::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background: url("../img/screen.png") repeat center/200px;
    opacity: 1
}

.c-header__slider .swiper-slide>div img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.c-header__slider .swiper-slide>a {
    display: flex;
    align-items: center;
    position: absolute;
    top: 55%;
    right: 0;
    bottom: 45%;
    left: 0;
    margin: auto;
    padding: 3em;
    max-width: 1100px;
    height: fit-content;
    font-size: 2.2rem;
    font-weight: bold;
    color: #fff;
    text-shadow: 1px 1px 1px #000
}

@media screen and (max-width: 960px) {
    .c-header__slider .swiper-slide>a {
        padding: 1em
    }
}

.c-header__slider .swiper-slide>a .swiper-slide__postDate {
    display: inline-block;
    margin-right: 1em;
    line-height: 1.3;
    font-weight: normal;
    text-shadow: none
}

.c-header__slider .swiper-slide>a .swiper-slide__postDate .postDate__line1 {
    display: block;
    text-align: center
}

.c-header__slider .swiper-slide>a .swiper-slide__postDate .postDate__line2 {
    display: inline-block;
    text-align: center
}

.c-header__slider .swiper-slide>a .swiper-slide__postDate .postDate__line1 {
    font-size: 1.4rem
}

.c-header__slider .swiper-slide>a .swiper-slide__postDate .postDate__line2 {
    font-size: 1.8rem;
    color: hsla(0, 0%, 100%, .9)
}

.c-header__slider .swiper-slide>a .swiper-slide__postTitle {
    display: inline-block;
    position: relative;
    width: fit-content;
    text-decoration: underline;
    text-decoration-thickness: .05em;
    text-underline-offset: .3em
}

.c-header__spBtn {
    display: none
}

@media screen and (max-width: 960px) {
    .c-header__spBtn {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        width: 50px;
        height: 50px;
        cursor: pointer;
        z-index: 300
    }

    .c-header__spBtn.bg {
        background: #1a2873;
        transition: .6s
    }

    .c-header__spBtn span {
        position: absolute;
        width: 30px;
        height: 3px;
        right: 10px;
        background-color: #fff;
        transition: all .3s;
        box-sizing: border-box
    }

    .c-header__spBtn span:first-child {
        top: 13px
    }

    .c-header__spBtn span:nth-child(2) {
        top: 23px
    }

    .c-header__spBtn span:nth-child(3) {
        top: 33px
    }

    .c-header__spBtn.open span:first-child {
        transform: rotate(-45deg);
        top: 22px
    }

    .c-header__spBtn.open span:nth-child(2) {
        opacity: 0
    }

    .c-header__spBtn.open span:nth-child(3) {
        transform: rotate(45deg);
        top: 22px
    }
}

.c-header__wrap {
    max-width: 1100px;
    margin: 0 auto
}

.c-header .c-header__top {
    font-size: 13px;
    color: #fff;
    font-weight: 500
}

@media screen and (max-width: 960px) {
    .c-header .c-header__top {
        font-size: 10px
    }
}

.c-header .c-header__bottom {
    display: flex;
    justify-content: space-between
}

.c-header .c-header__bottom nav {
    display: flex
}

@media screen and (max-width: 960px) {
    .c-header .c-header__bottom nav {
        position: fixed;
        right: -100%;
        top: 0;
        width: 100%;
        height: auto;
        background-color: #1a2873;
        transition: all .3s;
        z-index: 200;
        display: block;
        padding: 50px 30px 30px;
        box-sizing: border-box
    }

    .c-header .c-header__bottom nav.open {
        right: 0
    }
}

.c-header .c-header__bottom nav ul {
    display: flex
}

@media screen and (max-width: 960px) {
    .c-header .c-header__bottom nav ul {
        display: block
    }
}

.c-header .c-header__bottom nav ul li {
    padding: 0 10px
}

@media screen and (max-width: 960px) {
    .c-header .c-header__bottom nav ul li {
        padding: 0;
        text-align: center;
        margin-bottom: 30px
    }
}

.c-header .c-header__bottom nav ul li a,
.c-header .c-header__bottom nav ul li span {
    display: block;
    padding: 0 10px;
    font-size: min(14px, 2vw);
    line-height: 2;
    color: #fff;
    font-weight: 500;
    position: relative
}

@media screen and (max-width: 960px) {

    .c-header .c-header__bottom nav ul li a,
    .c-header .c-header__bottom nav ul li span {
        display: inline-block
    }
}

.c-header .c-header__bottom nav ul li a::after,
.c-header .c-header__bottom nav ul li span::after {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    bottom: -1px;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .3s
}

.c-header .c-header__bottom nav ul li a:hover::after,
.c-header .c-header__bottom nav ul li span:hover::after {
    transform: scale(1, 1)
}

.c-header .c-header__bottom nav .hBtn a {
    display: block;
    border: 1px solid #fff;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    padding: 0px 25px;
    margin-left: 20px
}

@media screen and (max-width: 960px) {
    .c-header .c-header__bottom nav .hBtn a {
        margin-left: 0;
        padding: 8px 25px;
        text-align: center
    }
}

.c-header .c-header__bottom nav .hBtn a:hover {
    color: #1a2873;
    background: #fff;
    transition: .3s
}

#nav ul li.has-submenu {
    position: relative
}

#nav ul li.has-submenu>.submenu {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
    background: #0f2463;
    border-radius: 6px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .2s ease;
    z-index: 999
}

@media screen and (max-width: 960px) {
    #nav ul li.has-submenu>.submenu {
        display: none;
        position: relative;
        top: auto;
        left: auto;
        transform: none
    }
}

#nav ul li.has-submenu>.submenu>li {
    list-style: none
}

@media screen and (max-width: 960px) {
    #nav ul li.has-submenu>.submenu>li {
        margin-bottom: 10px
    }
}

#nav ul li.has-submenu>.submenu>li>a {
    display: block;
    padding: 8px 12px;
    font-size: 14px;
    color: #fff;
    border-radius: 4px;
    text-decoration: none
}

#nav ul li.has-submenu>.submenu>li>a:hover {
    background: hsla(0, 0%, 100%, .15)
}

#nav ul li.has-submenu:hover>.submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto
}

@media screen and (max-width: 960px) {
    #nav ul li.has-submenu:hover>.submenu {
        display: block
    }
}

.c-footer {
    background: #1a2873;
    text-align: center
}

.c-footer__inner {
    padding: 25px 0
}

.c-footer__text {
    font-size: 14px;
    margin-bottom: 10px;
    color: #fff
}

.c-footer__copy {
    font-size: 12px;
    color: #fff;
    padding: 15px 0
}

.p-home .pc {
    display: block !important
}

.p-home .sp {
    display: none !important
}

.p-home .sec__inner {
    max-width: 1100px;
    margin: 0 auto
}

.p-home .modTitle01 {
    font-size: 13px;
    position: relative;
    margin-bottom: 50px
}

.p-home .modTitle01 img {
    margin-right: 15px
}

.p-home .modTitle01:after {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background: #1a2873;
    position: absolute;
    bottom: -20px;
    left: 0
}

.p-home .modTitle02 {
    font-size: 16px;
    margin-bottom: 40px;
    text-align: center
}

.p-home .modTitle02 span {
    position: relative;
    display: inline-block;
    margin-bottom: 15px
}

.p-home .modTitle02 span:before {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background: #1a2873;
    position: absolute;
    top: 50%;
    left: -50px
}

.p-home .modTitle02 span:after {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background: #1a2873;
    position: absolute;
    top: 50%;
    right: -50px
}

.p-home .js-fade {
    opacity: 0;
    visibility: hidden;
    transform: translateY(50px);
    transition: opacity 1s, visibility 1s, transform 1s
}

.p-home .scroll {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px)
}

.p-home .mvWrap {
    background: linear-gradient(90deg, #fff 0%, #fff 15%, #1a2873 15%, #1a2873 100%);
    height: 100vh;
    min-height: 693px
}

.p-home .mvWrap2 {
    background: url(https://selva-consulting.jp/assets//img/mv_img.jpg) no-repeat left top
}

.p-home header {
    max-width: 1100px;
    margin: 0 auto;
    padding-top: 10px
}

.p-home header .header__top {
    font-size: 13px;
    color: #fff;
    font-weight: 500
}

.p-home header .header__bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.p-home header .header__bottom nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.p-home header .header__bottom nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.p-home header .header__bottom nav ul li {
    padding: 0 10px
}

.p-home header .header__bottom nav ul a,
.p-home header .header__bottom nav ul span {
    display: block;
    padding: 0 10px;
    font-size: 14px;
    line-height: 2;
    color: #fff;
    font-weight: 500;
    position: relative
}

.p-home header .header__bottom nav ul a::after {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    bottom: -1px;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .3s
}

.p-home header .header__bottom nav ul a:hover::after {
    transform: scale(1, 1)
}

.p-home header .header__bottom nav .hBtn a {
    display: block;
    border: 1px solid #fff;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    padding: 0px 25px;
    margin-left: 20px
}

.p-home header .header__bottom nav .hBtn a:hover {
    color: #1a2873;
    background: #fff;
    transition: .3s
}

.p-home .mv {
    padding: 140px 0 120px
}

.p-home .mv h2 {
    max-width: 1100px;
    margin: 0 auto 70px;
    text-align: center
}

.p-home .mv .mv__text {
    max-width: 1100px;
    margin: 0 auto;
    color: #fff;
    font-size: 18px;
    text-align: right;
    font-weight: 500;
    letter-spacing: .03rem
}

.p-home .sec01 .sec__inner {
    padding: 100px 0 120px
}

.p-home .sec01 .message {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 30px;
    padding-right: 30px
}

.p-home .sec01 .message__text {
    flex: 1;
    margin-right: 30px
}

.p-home .sec01 .message__text .text {
    line-height: 2.1
}

/* ==============================
   Service
============================== */

.p-home .secService {
    background: #fff;
}

.p-home .secService .sec__inner {
    padding: 100px 0 120px;
}

.p-home .serviceHead {
    margin-bottom: 30px;
    padding: 0 30px;
}

.p-home .serviceHead__title {
    display: flex;
    align-items: baseline;
    gap: 20px;
    position: relative;
    margin-bottom: 55px;
    padding-bottom: 25px;
}

.p-home .serviceHead__title::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 44px;
    height: 1px;
    background: #1a2873;
}

.p-home .serviceHead__en {
    line-height: 1;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 68px;
    font-weight: normal;
    letter-spacing: .02em;
    color: #cdd0e2;
}

.p-home .serviceHead__ja {
    font-size: 13px;
    color: #333;
}

.p-home .serviceHead__lead {
    line-height: 2;
    font-size: 16px;
    color: #777;
}

.p-home .serviceList {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 15px;
    padding: 0 30px;
}

.p-home .serviceCard {
    display: flex;
    flex-direction: column;
    width: calc((100% - 30px) / 3);
    padding: 30px 20px;
    border: 1px solid #dedfe7;
    border-radius: 4px;
    background: #f8f8fa;
}

.p-home .serviceCard__label {
    position: relative;
    margin-bottom: 20px;
    padding-bottom: 14px;
    line-height: 1;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
    letter-spacing: .18em;
    color: #9ea5c5;
}

.p-home .serviceCard__label::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 26px;
    height: 1px;
    background: #1a2873;
}

.p-home .serviceCard__title {
    margin-bottom: 16px;
    line-height: 1.45;
    font-size: 20px;
    font-weight: 800;
    color: #1a2873;
}

.p-home .serviceCard__catch {
    margin-bottom: 18px;
    line-height: 1.7;
    font-size: 14px;
    font-weight: 500;
    color: #222;
}

.p-home .serviceCard__text {
    margin-bottom: 25px;
    line-height: 2;
    font-size: 14px;
    color: #777;
}

.p-home .serviceCard__text span {
    font-weight: 700;
    color: #0554f2;
}

.p-home .serviceCard__btn {
    margin-top: auto;
}

.p-home .serviceCard__btn a {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    position: relative;
    line-height: 1.5;
    font-size: 14px;
    font-weight: 700;
    color: #1a2873;
}

.p-home .serviceCard__btn a::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: -4px;
    left: 0;
    height: 1px;
    background: #1a2873;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .3s;
}

.p-home .serviceCard__btn a:hover::after {
    transform: scaleX(1);
}

.p-home .serviceCard__btn span {
    font-size: 18px;
    transition: transform .3s;
}

.p-home .serviceCard__btn a:hover span {
    transform: translateX(5px);
}

@media screen and (max-width: 960px) {

    .p-home .secService .sec__inner {
        padding: 20px 0 100px;
    }

    .p-home .serviceHead__en {
        font-size: 58px;
    }

    .p-home .serviceList {
        gap: 18px;
    }

    .p-home .serviceCard {
        width: calc((100% - 36px) / 3);
        padding: 30px 22px;
    }

    .p-home .serviceCard__title {
        font-size: 18px;
    }

    .p-home .serviceCard__text {
        font-size: 13px;
    }
}


/* SP */
@media screen and (max-width: 743px) {

    .p-home .secService .sec__inner {
        padding: 30px 3% 60px;
    }

    .p-home .serviceHead {
        margin-bottom: 40px;
        padding: 0;
    }

    .p-home .serviceHead__title {
        gap: 12px;
        margin-bottom: 40px;
        padding-bottom: 20px;
    }

    .p-home .serviceHead__en {
        font-size: 45px;
    }

    .p-home .serviceHead__ja {
        font-size: 12px;
    }

    .p-home .serviceHead__lead {
        line-height: 1.9;
        font-size: 14px;
    }

    .p-home .serviceList {
        display: block;
        padding: 0;
    }

    .p-home .serviceCard {
        width: 100%;
        padding: 30px 25px;
    }

    .p-home .serviceCard:not(:last-child) {
        margin-bottom: 20px;
    }

    .p-home .serviceCard__label {
        margin-bottom: 30px;
    }

    .p-home .serviceCard__title {
        margin-bottom: 15px;
        font-size: 19px;
    }

    .p-home .serviceCard__catch {
        font-size: 14px;
    }

    .p-home .serviceCard__text {
        margin-bottom: 25px;
        line-height: 1.9;
        font-size: 13px;
    }
}

.p-home .sec02 {
    position: relative
}

.p-home .sec02:after {
    content: "";
    display: block;
    width: 1px;
    height: 60px;
    background: #1a2873;
    position: absolute;
    bottom: -30px;
    left: 50%
}

.p-home .sec02 .sec__inner {
    background: #f2f2f2;
    box-sizing: border-box;
    padding: 80px 50px 160px
}

.p-home .sec02 .business {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.p-home .sec02 .business dl {
    width: 48%;
    text-align: center
}

.p-home .sec02 .business dl dt {
    font-size: 26px;
    line-height: 1.4;
    font-weight: 800;
    color: #1a2873;
    margin-bottom: 20px
}

.p-home .sec02 .business dl dd:nth-child(2) {
    margin-bottom: 20px;
    line-height: 1.8
}

.p-home .sec03 .company__table {
    width: 100%;
    max-width: 800px;
    margin: 0 auto 60px
}

.p-home .sec03 .sec__inner {
    padding: 120px 0 160px
}

.p-home .sec03 .company__table th,
.p-home .sec03 .company__table td {
    border-bottom: 1px solid #e3e3e3;
    padding: 25px 25px;
    font-weight: normal
}

.p-home .sec03 .company__table th {
    width: 160px
}

.p-home .sec03 .company__table td .mrb25 {
    margin-bottom: 25px
}

.p-home .sec03 .company__table td .mapBtn {
    display: inline-block;
    margin-left: 15px
}

.p-home .sec03 .company__table td .mapBtn a {
    border: 1px solid #0554f2;
    color: #0554f2;
    font-size: 13px;
    font-weight: 500;
    padding: 0 15px
}

.p-home .sec03 .company__table td .mapBtn a:hover {
    color: #fff;
    background: #0554f2;
    transition: .3s
}

.p-home .sec03 .company__maps {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.p-home .sec03 .company__maps dl dt {
    font-size: 26px;
    color: #1a2873;
    font-weight: 900
}

.p-home .sec03 .company__maps dl dd:nth-child(2) {
    margin-bottom: 15px;
    line-height: 1.4;
    font-size: 14px
}

.p-home .secForm {
    background: #f2f2f2;
    position: relative
}

.p-home .secForm .sec__inner {
    padding: 120px 0 120px
}

.p-home .secForm:before {
    content: "";
    display: block;
    width: 1px;
    height: 60px;
    background: #1a2873;
    position: absolute;
    top: -30px;
    left: 50%
}

.p-home .secForm .form__lead {
    text-align: center;
    margin-bottom: 50px
}

.p-home .secForm .form__lead span {
    color: #0554f2
}

.p-home .secForm .form__table {
    width: 100%;
    max-width: 660px;
    margin: 0 auto 20px
}

.p-home .secForm .form__table th,
.p-home .secForm .form__table td {
    padding-bottom: 20px;
    vertical-align: middle
}

.p-home .secForm .form__table th {
    width: 180px;
    font-weight: normal;
    text-align: left;
    padding-right: 10px
}

.p-home .secForm .form__table th .required {
    display: inline-block;
    background: #0554f2;
    font-size: 13px;
    color: #fff;
    padding: 0 5px;
    margin-left: 10px
}

.p-home .secForm .form input[type=text],
.p-home .secForm .form input[type=email],
.p-home .secForm .form input[type=url],
.p-home .secForm .form input[type=tel],
.p-home .secForm .form textarea {
    width: 100%;
    font-size: 16px;
    border-radius: 6px;
    border: 1px solid #d5d5d5;
    background: #fff;
    padding: 16px 12px;
    box-sizing: border-box
}

.p-home .secForm .form input[type=checkbox] {
    margin-right: 5px
}

.p-home .secForm .privacy {
    text-align: center
}

.p-home .secForm .privacy p {
    margin-bottom: 15px;
    font-size: 14px
}

.p-home .secForm .privacy p a {
    text-decoration: underline
}

.p-home .secForm .privacy p a:hover {
    text-decoration: none
}

.p-home .secForm button[type=submit] {
    display: block;
    border: 1px solid #1a2873;
    background: #fff;
    padding: 18px 40px 18px 90px;
    margin: 50px auto 0;
    box-shadow: 3px 3px 3px 2px #1a2873;
    box-shadow: 5px 5px #1a2873
}

.p-home .secForm button[type=submit] span {
    color: #1a2873;
    font-size: 18px;
    font-weight: 800;
    background: url(https://selva-consulting.jp/assets//img/arrow.png) no-repeat center right;
    padding-right: 80px
}

.p-home .secForm button[type=submit]:hover {
    background: #1a2873;
    transition: .3s
}

.p-home .secForm button[type=submit]:hover span {
    background: url(https://selva-consulting.jp/assets//img/arrow_w.png) no-repeat center right;
    transition: .3s;
    color: #fff
}

.p-home .secForm .p-home-submit {
    display: block;
    border: 1px solid #1a2873;
    background: #fff;
    margin: 50px auto 0;
    width: fit-content;
    box-shadow: 3px 3px 3px 2px #1a2873;
    box-shadow: 5px 5px #1a2873
}

.p-home .secForm .p-home-submit:hover {
    transition: .3s
}

.p-home .secForm .p-home-submit:hover>input {
    border: none;
    transition: .3s;
    background: #1a2873 url(https://selva-consulting.jp/assets//img/arrow_w.png) no-repeat 85% center;
    color: #fff
}

.p-home .secForm .p-home-submit>input {
    display: block;
    padding: 18px 120px 18px 90px;
    border: none;
    color: #1a2873;
    font-size: 18px;
    font-weight: 800;
    background: url(https://selva-consulting.jp/assets//img/arrow.png) no-repeat 85% center
}

.p-home .secForm .p-home-submit .wpcf7-spinner {
    display: none
}

.p-home footer {
    background: #1a2873;
    text-align: center
}

.p-home footer .footer__inner {
    padding: 25px 0
}

.p-home footer .footer__text {
    font-size: 14px;
    margin-bottom: 10px;
    color: #fff
}

.p-home footer .copy {
    font-size: 12px;
    color: #fff;
    padding: 15px 0
}

@media screen and (max-width: 1200px) {
    .p-home header {
        padding: 5px 1em 8px
    }
}

@media screen and (max-width: 960px) {
    .p-home header .header__bottom nav {
        position: fixed;
        right: -100%;
        top: 0;
        width: 100%;
        height: auto;
        background-color: #1a2873;
        transition: all .3s;
        z-index: 200;
        display: block;
        padding: 50px 30px 30px;
        box-sizing: border-box
    }

    .p-home header .header__bottom nav.open {
        right: 0
    }

    .p-home header .header__bottom nav ul {
        display: block
    }

    .p-home header .header__bottom nav ul li {
        padding: 0;
        text-align: center;
        margin-bottom: 30px
    }

    .p-home header .header__bottom nav ul li a {
        display: inline-block
    }

    .p-home header .header__bottom nav .hBtn a {
        margin-left: 0;
        padding: 8px 25px;
        text-align: center
    }
}

@media screen and (max-width: 743px) {
    .p-home .pc {
        display: none !important
    }

    .p-home .sp {
        display: block !important
    }

    .p-home .modTitle01 {
        font-size: 12px;
        margin-bottom: 40px
    }

    .p-home .modTitle01 img {
        margin-right: 15px
    }

    .p-home .modTitle01:after {
        width: 20px
    }

    .p-home .modTitle02 {
        font-size: 12px;
        margin-bottom: 30px
    }

    .p-home .modTitle02 span:before {
        width: 20px;
        left: -30px
    }

    .p-home .modTitle02 span:after {
        width: 20px;
        right: -30px
    }

    .p-home .mvWrap {
        padding-bottom: 30px;
        min-height: 80vh
    }

    .p-home .mvWrap2 {
        background: url(https://selva-consulting.jp/assets//img/mv_img.jpg) no-repeat center top;
        background-size: cover;
        margin-right: 55px;
        height: calc(80vh - 30px)
    }

    .p-home header .header__top {
        font-size: 10px
    }

    .p-home header h1 img {
        width: 178px
    }

    .p-home #spBtn {
        position: fixed;
        top: 0;
        right: 0;
        width: 50px;
        height: 50px;
        cursor: pointer;
        z-index: 300
    }

    .p-home #spBtn.bg {
        background: #1a2873;
        transition: .6s
    }

    .p-home #spBtn span {
        position: absolute;
        width: 30px;
        height: 3px;
        right: 10px;
        background-color: #fff;
        transition: all .3s;
        box-sizing: border-box
    }

    .p-home #spBtn span:first-child {
        top: 13px
    }

    .p-home #spBtn span:nth-child(2) {
        top: 23px
    }

    .p-home #spBtn span:nth-child(3) {
        top: 33px
    }

    .p-home #spBtn.open span:first-child {
        transform: rotate(-45deg);
        top: 22px
    }

    .p-home #spBtn.open span:nth-child(2) {
        opacity: 0
    }

    .p-home #spBtn.open span:nth-child(3) {
        transform: rotate(45deg);
        top: 22px
    }

    .p-home .mv {
        padding: 100px 0 100px;
        margin: 0 calc(-55px + 3%) 0 3%
    }

    .p-home .mv h2 {
        text-align: right;
        margin-bottom: 30px
    }

    .p-home .mv h2 img.sp {
        display: inline-block !important
    }

    .p-home .mv .mv__text {
        font-size: 14px;
        letter-spacing: 0
    }

    .p-home .sec01 .sec__inner {
        padding: 60px 3%
    }

    .p-home .sec01 .message {
        display: block;
        padding-left: 0;
        padding-right: 0
    }

    .p-home .sec01 .message__text {
        margin-right: 0;
        margin-bottom: 15px
    }

    .p-home .sec02:after {
        height: 40px;
        bottom: -20px
    }

    .p-home .sec02 .sec__inner {
        padding: 40px 3% 60px
    }

    .p-home .sec02 .business {
        display: block
    }

    .p-home .sec02 .business dl {
        width: 100%;
        margin-bottom: 30px
    }

    .p-home .sec02 .business dl dt {
        font-size: 22px;
        margin-bottom: 10px
    }

    .p-home .sec02 .business dl dd:nth-child(2) {
        margin-bottom: 10px
    }

    .p-home .sec03 .sec__inner {
        padding: 60px 3% 60px
    }

    .p-home .sec03 .company__table {
        margin: 0 auto 30px
    }

    .p-home .sec03 .company__table th,
    .p-home .sec03 .company__table td {
        padding: 15px 10px
    }

    .p-home .sec03 .company__table th {
        width: 60px
    }

    .p-home .sec03 .company__maps {
        display: block
    }

    .p-home .sec03 .company__maps dl {
        margin-bottom: 10px
    }

    .p-home .sec03 .company__maps dl dd iframe {
        width: 100%;
        height: auto;
        aspect-ratio: 16/9
    }

    .p-home .sec03 .company__maps dl dt {
        font-size: 22px
    }

    .p-home .sec03 .company__maps dl dd:nth-child(2) {
        margin-bottom: 10px
    }

    .p-home .secForm .sec__inner {
        padding: 60px 4% 70px;
    }

    .p-home .secForm:before {
        height: 40px;
        top: -20px
    }

    .p-home .secForm .form__table th,
    .p-home .secForm .form__table td {
        display: block;
        width: 100%;
        padding-bottom: 10px
    }

    .p-home .secForm .form__table th {
        padding-right: 0;
        padding-bottom: 5px
    }

    .p-home .secForm .form__lead {
        text-align: left;
        margin-bottom: 20px
    }

    .p-home .secForm button[type=submit] {
        padding: 18px 10px 18px 10px;
        text-align: center;
        width: 90%;
        margin: 30px auto 0;
        max-width: 360px
    }

    .p-home footer .footer__inner {
        padding: 15px 0
    }

    .p-home footer .footer__logo img {
        width: 178px
    }
}

.u-bl__sp {
    display: block
}

@media screen and (min-width: 600px) {
    .u-bl__sp {
        display: none !important
    }
}

.u-bl__tb {
    display: block
}

@media screen and (min-width: 743px) {
    .u-bl__tb {
        display: none !important
    }
}

.u-bl__lt {
    display: block
}

@media screen and (min-width: 960px) {
    .u-bl__lt {
        display: none !important
    }
}

.u-bl__pc {
    display: block
}

@media screen and (min-width: 1200px) {
    .u-bl__pc {
        display: none !important
    }
}

.u-bl--tb {
    display: none
}

@media screen and (min-width: 743px) {
    .u-bl--tb {
        display: block !important
    }
}

.u-bl--lt {
    display: none
}

@media screen and (min-width: 960px) {
    .u-bl--lt {
        display: block !important
    }
}

.u-bl--pc {
    display: none
}

@media screen and (min-width: 1200px) {
    .u-bl--pc {
        display: block !important
    }
}

.u-tx-line__sp {
    display: inline
}

@media screen and (min-width: 600px) {
    .u-tx-line__sp {
        display: none !important
    }
}

.u-tx-line__tb {
    display: inline
}

@media screen and (min-width: 960px) {
    .u-tx-line__tb {
        display: none !important
    }
}

.u-tx-line--sp {
    display: none
}

@media screen and (min-width: 600px) {
    .u-tx-line--sp {
        display: inline !important
    }
}

.u-tx-line--tb {
    display: none
}

@media screen and (min-width: 960px) {
    .u-tx-line--tb {
        display: inline !important
    }
}

.is-fadeOut {
    opacity: 0 !important;
    transition: .35s
}

.is-fadeIn {
    opacity: 1 !important;
    transition: .35s
}

.is-hidden {
    visibility: hidden !important
}

.is-none {
    display: none !important
}

.is-openLi {
    padding: auto !important
}

.is-closeLi {
    padding: 0 !important
}

.is-heightAuto {
    height: auto !important
}

.is-transition__05 {
    transition: .5s
}

.is-transition__2 {
    transition: 2s
}

.is-floatReserved {
    opacity: 0
}

.is-floatReserved__MT50 {
    margin-top: 50px;
    opacity: 0
}

.is-floatReserved__MT100 {
    margin-top: 100px;
    opacity: 0
}

.is-floatReserved__MT175 {
    margin-top: 175px;
    opacity: 0
}

.is-floatReserved__MT200 {
    margin-top: 200px;
    opacity: 0
}

.is-floatReserved__MR200 {
    margin-right: 200px;
    opacity: 0
}

.is-floatReserved__ML200 {
    margin-left: 200px;
    opacity: 0
}

.is-floatReserved__MR1600 {
    margin-right: 1600px;
    opacity: 0
}

.is-floatReserved__ML1600 {
    margin-left: 1600px;
    opacity: 0
}

.is-floatReserved__T250 {
    top: 250px;
    opacity: 0;
    transition: 2s
}

.is-floatReserved__T500 {
    top: 500px;
    opacity: 0;
    transition: 2s
}

.is-floatReserved__BGs50p-BGpx90p {
    background-position: 50%;
    background-position-x: 90%
}

.is-flowReservedLeft {
    left: -100%;
    opacity: 0;
    transition: 1.5s
}

.is-flowReservedRight {
    right: -100%;
    opacity: 0;
    transition: 1.5s
}

.is-floatReserved__WD0 {
    width: 0;
    opacity: 0;
    transition: 2.5s
}

.is-floatUp__p5s {
    opacity: 1 !important;
    transition: .5s !important
}

.is-floatUp__p75s {
    opacity: 1 !important;
    transition: .75s !important
}

.is-floatUp__1s {
    opacity: 1 !important;
    transition: 1s !important
}

.is-floatUp {
    opacity: 1 !important;
    transition: 1.5s !important
}

.is-floatUp__2s {
    opacity: 1 !important;
    transition: 2s !important
}

.is-floatUp__3s {
    opacity: 1 !important;
    transition: 3s !important
}

.is-floatUp__4s {
    opacity: 1 !important;
    transition: 4s !important
}

.is-floatUp__MT {
    margin-top: 0 !important;
    opacity: 1 !important;
    transition: 1.5s !important
}

.is-floatUp__MR0 {
    margin-right: 0 !important;
    opacity: 1 !important;
    transition: 1.5s !important
}

.is-floatUp__ML {
    margin: auto !important;
    opacity: 1 !important;
    transition: 1.5s !important
}

.is-floatUp__MR0 {
    margin-right: 0 !important;
    opacity: 1 !important;
    transition: 1.5s !important
}

.is-floatUp__ML {
    margin: auto !important;
    opacity: 1 !important;
    transition: 1.5s !important
}

.is-floatUp__WD55P {
    width: 55%;
    opacity: 1;
    transition: 1.5s
}

.is-floatUp__T0 {
    top: 0 !important;
    opacity: 1
}

.is-flowLeft {
    left: 0 !important;
    opacity: 1 !important
}

.is-flowRight {
    right: 0 !important;
    opacity: 1 !important
}

.is-floatUP__BGExpand {
    background-size: 80%;
    background-position: right;
    transition: 4s
}

.is-highLighted {
    color: #ffec58 !important
}

#body_wrap {
    background: #f2f2f2
}

.u-home .top #content {
    padding-top: 0 !important
}

.u-home .l-content {
    margin: 0 !important;
    padding-top: 0 !important
}

.u-home .l-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: inherit !important
}

.u-home table th,
.u-home table td {
    border: none
}

@media screen and (max-width: 1200px) {
    .l-content {
        padding-top: 2em
    }
}

@media screen and (max-width: 960px) {
    .l-content {
        padding-top: 2em
    }
}

@media screen and (max-width: 743px) {
    .l-content {
        padding-top: 2em
    }
}

@media screen and (min-width: 1200px) {
    .l-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        max-width: 1100px !important
    }
}

.wp-singular .l-mainContent__inner {
    padding: 1em;
    background: #fff
}

@media screen and (max-width: 743px) {
    .wp-singular .l-mainContent__inner {
        background: inherit
    }
}

.p-mainVisual__textLayer.l-parent.l-container.u-ta-c {
    justify-content: flex-end
}

.p-mainVisual__textLayer.l-parent.l-container.u-ta-c .p-postList {
    border: none !important
}

.p-mainVisual__textLayer.l-parent.l-container.u-ta-c .p-postList__link {
    display: inline-block;
    margin-bottom: 3rem;
    border: none !important
}

.p-mainVisual__textLayer.l-parent.l-container.u-ta-c .p-postList__meta {
    font-size: 1.5rem
}

.p-mainVisual__textLayer.l-parent.l-container.u-ta-c .p-postList__title {
    position: relative;
    font-size: 3rem
}

.p-mainVisual__textLayer.l-parent.l-container.u-ta-c .p-postList__title::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #fff
}

.p-mainVisual .swiper-pagination {
    display: none !important
}

.p-postSlider {
    height: fit-content
}

.p-breadcrumb {
    position: absolute;
    bottom: 0;
    z-index: 1;
    width: 100%;
    background: rgba(0, 0, 0, 0) !important;
    color: #fff
}

.p-articleThumb {
    margin: 2em -1em;
    width: fit-content
}

@media screen and (min-width: 743px) {

    #sidebar .-type-list .p-postList__title,
    .-type-card .p-postList__excerpt {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2
    }
}

.p-postList__title {
    padding: 0 .5em !important
}

.p-profileBox {
    background: #fff
}

.c-pageTitle[data-style=b_bottom] .c-pageTitle__inner {
    font-weight: bold
}

.c-categoryList:before {
    display: none
}

.c-postTitle__ttl {
    font-weight: bold
}

@media screen and (max-width: 743px) {

    .p-postList.-type-card .p-postList__item .p-postList__body,
    .p-postList.-type-thumb .p-postList__item .p-postList__body {
        display: flex;
        flex-direction: column;
        justify-content: center
    }
}

.p-postList.-type-list .p-postList__link {
    background: #fff;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, .2392156863)
}

@media screen and (max-width: 960px) {
    .p-postList.-type-list .p-postList__link {
        display: flex;
        justify-content: flex-start;
        align-items: center
    }

    .p-postList.-type-list .p-postList__link .p-postList__body {
        padding-left: 1.5em
    }
}

@media screen and (max-width: 743px) {

    .-type-card .p-postList__title,
    .-type-list .p-postList__title,
    .-type-list2 .p-postList__title {
        font-size: 3vw
    }
}

.p-fixBtnWrap {
    bottom: 7.5em
}

.grecaptcha-badge {
    z-index: 1
}

/* ==============================
   Common Section Title
   左寄せ: sectionTitle--left
   中央寄せ: sectionTitle--center
============================== */

.p-home .sectionTitle {
    position: relative;
    line-height: 1.5;
    font-size: 32px;
    font-weight: 700;
    color: #1a2873;
}

.p-home .sectionTitle--left {
    padding-bottom: 20px;
    text-align: left;
}

.p-home .sectionTitle--left::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 1px;
    background: #1a2873;
}

.p-home .sectionTitle--center {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    text-align: center;
}

.p-home .sectionTitle--center::before,
.p-home .sectionTitle--center::after {
    content: "";
    flex: 0 0 40px;
    width: 40px;
    height: 1px;
    background: #1a2873;
}

.p-home .partnerIntro>.sec__inner>.sectionTitle {
    margin-bottom: 50px;
}

@media screen and (max-width: 743px) {
    .p-home .sectionTitle {
        font-size: 25px;
    }

    .p-home .sectionTitle--left {
        padding-bottom: 18px;
    }

    .p-home .sectionTitle--left::after {
        width: 30px;
    }

    .p-home .sectionTitle--center {
        gap: 15px;
    }

    .p-home .sectionTitle--center::before,
    .p-home .sectionTitle--center::after {
        flex-basis: 24px;
        width: 24px;
    }

    .p-home .partnerIntro>.sec__inner>.sectionTitle {
        margin-bottom: 45px;
    }
}


/* ==============================
   Partner Intro
============================== */

.p-home .partnerIntro {
    background: #fff;
}

.p-home .partnerIntro .sec__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 100px 30px 120px;
}

/* 導入 */
.p-home .partnerIntro__head {
    margin-bottom: 3%;
    text-align: center;
}

.p-home .partnerIntro__main {
    margin-bottom: 18px;
    line-height: 1.6;
    font-size: 27px;
    font-weight: 600;
    color: #1a2873;
}

.p-home .partnerIntro__lead {
    line-height: 1.8;
    font-size: 17px;
    font-weight: 500;
    color: #333;
}

.p-home .partnerIntro__body {
    max-width: 880px;
    margin: 0 auto;
}

.p-home .partnerIntro__visual {
    width: 40%;
    margin: 0 auto;
    margin-bottom: 3%;
}

.p-home .partnerIntro__visual img {
    width: 100%;
}

.p-home .partnerIntro__body>p {
    margin-bottom: 30px;
    line-height: 2;
    text-align: center;
}

.p-home .partnerIntro__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    margin: 0 0 25px;
    padding: 1px;
    background: #dedfe7;
}

.p-home .partnerIntro__list li {
    position: relative;
    padding: 20px 20px 20px 48px;
    background: #f8f8fa;
    line-height: 1.6;
    font-size: 15px;
    font-weight: 500;
    color: #333;
}

.p-home .partnerIntro__list li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 22px;
    width: 12px;
    height: 6px;
    border-left: 2px solid #1a2873;
    border-bottom: 2px solid #1a2873;
    transform: translateY(-70%) rotate(-45deg);
}

.p-home .partnerIntro__note {
    margin-top: 40px;
    padding: 28px 35px;
    background: #f2f2f2;
    text-align: center;
}

.p-home .partnerIntro__note p {
    line-height: 1.9;
    font-weight: 500;
    color: #333;
}

.p-home .partnerIntro__note p+p {
    margin-top: 10px;
}


/* ==============================
   Common CTA
   他セクションでも共通使用
============================== */

.p-home .commonCta {
    margin-top: 55px;
    text-align: center;
}

.p-home .commonCta__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 360px;
    padding: 19px 35px;
    border: 1px solid #1a2873;
    background: #fff;
    box-shadow: 5px 5px #1a2873;
    transition:
        background .3s,
        color .3s,
        transform .3s,
        box-shadow .3s;
}

.p-home .commonCta__btn span {
    position: relative;
    display: block;
    padding-right: 65px;
    line-height: 1.5;
    font-size: 17px;
    font-weight: 800;
    color: #1a2873;
    transition: color .3s;
}

.p-home .commonCta__btn span::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: 0;
    font-size: 21px;
    font-weight: 400;
    transform: translateY(-50%);
    transition: transform .3s;
}

.p-home .commonCta__btn:hover {
    background: #1a2873;
    transform: translate(3px, 3px);
    box-shadow: 2px 2px #1a2873;
}

.p-home .commonCta__btn:hover span {
    color: #fff;
}

.p-home .commonCta__btn:hover span::after {
    transform: translate(5px, -50%);
}


/* ==============================
   Partner Intro - SP
============================== */

@media screen and (max-width: 743px) {

    .p-home .partnerIntro .sec__inner {
        padding: 60px 4% 70px;
    }

    .p-home .partnerIntro__head {
        margin-bottom: 3%;
    }

    .p-home .partnerIntro__main {
        margin-bottom: 15px;
        font-size: 21px;
    }

    .p-home .partnerIntro__lead {
        font-size: 15px;
    }

    .p-home .partnerIntro__visual {
    width: 90%;
    }

    .p-home .partnerIntro__body>p {
        margin-bottom: 22px;
        line-height: 1.9;
    }

    .p-home .partnerIntro__list {
        display: block;
        margin: 0px 0 28px;
        padding: 0;
        background: transparent;
    }

    .p-home .partnerIntro__list li {
        padding: 3.5% 2.5% 3.5% 9.5%;
        border-bottom: 1px solid #dedfe7;
        font-size: 14px;
    }

    .p-home .partnerIntro__list li:first-child {
        border-top: 1px solid #dedfe7;
    }

    .p-home .partnerIntro__list li::before {
        left: 15px;
    }

    .p-home .partnerIntro__note {
        margin-top: 30px;
        padding: 22px 20px;
    }

    .p-home .partnerIntro__note p {
        line-height: 1.8;
    }

    .p-home .commonCta {
        margin-top: 40px;
        padding: 0 10px;
    }

    .p-home .commonCta__btn {
        width: 100%;
        min-width: 0;
        max-width: 360px;
        padding: 18px 20px;
    }

    .p-home .commonCta__btn span {
        width: 100%;
        padding-right: 40px;
        font-size: 16px;
    }
}

/* ==============================
   Partner Contact
============================== */

.p-home .partnerContact {
    max-width: 880px;
    margin: 0 auto;
}

.p-home .partnerContact__lead {
    margin-bottom: 28px;
    text-align: center;
    line-height: 1.8;
    font-size: 20px;
    font-weight: 700;
    color: #1a2873;
}

.p-home .partnerContact__cases {
    max-width: 760px;
    margin: 0 auto 35px;
    background: #fff;
    border: 1px solid #dedfe7;
}

.p-home .partnerContact__cases p {
    position: relative;
    padding: 18px 30px 18px 60px;
    line-height: 1.7;
    font-size: 15px;
    font-weight: 500;
    color: #333;
}

.p-home .partnerContact__cases p+p {
    border-top: 1px solid #e5e5e5;
}

.p-home .partnerContact__cases p::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 30px;
    width: 12px;
    height: 6px;
    border-left: 2px solid #1a2873;
    border-bottom: 2px solid #1a2873;
    transform: translateY(-70%) rotate(-45deg);
}

.p-home .partnerContact__text {
    max-width: 760px;
    margin: 0 auto;
}

.p-home .partnerContact__text p {
    line-height: 2;
    color: #555;
}

.p-home .partnerContact__text p+p {
    margin-top: 20px;
}

.p-home .partnerContact__message {
    margin-top: 40px;
    text-align: center;
}

.p-home .partnerContact__message p {
    line-height: 1.9;
    font-weight: 500;
    color: #333;
}

.p-home .partnerContact__message p:last-child {
    font-weight: 700;
    color: #1a2873;
}

@media screen and (max-width: 743px) {

    .p-home .partnerContact {
        width: 100%;
    }

    .p-home .partnerContact__lead {
        margin-bottom: 22px;
        font-size: 17px;
    }

    .p-home .partnerContact__cases {
        margin-bottom: 28px;
    }

    .p-home .partnerContact__cases p {
        padding: 16px 15px 16px 45px;
        font-size: 14px;
    }

    .p-home .partnerContact__cases p::before {
        left: 20px;
    }

    .p-home .partnerContact__text p {
        line-height: 1.9;
    }
    .p-home .partnerContact__text {
        text-align: center;
    }

    .p-home .partnerContact__text p+p {
        margin-top: 18px;
    }

    .p-home .partnerContact__message {
        margin-top: 30px;
    }

    .p-home .partnerContact__message p {
        line-height: 1.8;
    }
}


/* ==============================
   Partner Cases
============================== */

.p-home .partnerCases {
    background: #f8f8fa;
}

.p-home .partnerCases .sec__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 80px 30px 90px;
}

.p-home .partnerCases__head {
    margin-bottom: 45px;
}

.p-home .partnerCases__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 45px;
    max-width: 100%;
}

.p-home .partnerCases__item {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 5px;
    padding: 26px 0;
    border-top: 1px solid #d9dbe5;
}

.p-home .partnerCases__item:nth-last-child(-n + 2) {
    border-bottom: 1px solid #d9dbe5;
}

.p-home .partnerCases__item:last-child {
    grid-column: 1 / 2;
}

.p-home .partnerCases__num {
    padding-top: 2px;
    line-height: 1;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    color: #c3c7dc;
}

.p-home .partnerCases__content h3 {
    position: relative;
    margin-bottom: 12px;
    padding-left: 14px;
    line-height: 1.5;
    font-size: 19px;
    font-weight: 700;
    color: #1a2873;
}

.p-home .partnerCases__content h3::before {
    content: "";
    position: absolute;
    top: .3em;
    bottom: .3em;
    left: 0;
    width: 2px;
    background: #1a2873;
}

.p-home .partnerCases__content p {
    line-height: 1.8;
    font-size: 14px;
    color: #555;
}

.p-home .partnerCases__content p+p {
    margin-top: 4px;
}

.p-home .partnerCases__subList {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 12px 0;
}

.p-home .partnerCases__subList li {
    position: relative;
    padding: 6px 10px 6px 27px;
    border: 1px solid #dedfe7;
    background: #fff;
    line-height: 1.4;
    font-size: 12px;
    color: #333;
}

.p-home .partnerCases__subList li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 11px;
    width: 8px;
    height: 4px;
    border-left: 2px solid #1a2873;
    border-bottom: 2px solid #1a2873;
    transform: translateY(-70%) rotate(-45deg);
}


@media screen and (max-width: 960px) {

    .p-home .partnerCases__list {
        gap: 0 28px;
    }

    .p-home .partnerCases__item {
        grid-template-columns: 44px 1fr;
        gap: 14px;
    }

    .p-home .partnerCases__num {
        font-size: 24px;
    }

    .p-home .partnerCases__content h3 {
        font-size: 17px;
    }

    .p-home .partnerCases__content p {
        font-size: 13px;
    }
}

@media screen and (max-width: 743px) {

    .p-home .partnerCases .sec__inner {
       padding: 60px 4% 70px;
    }

    .p-home .partnerCases__head {
        margin-bottom: 30px;
    }

    .p-home .partnerCases__list {
        display: block;
    }

    .p-home .partnerCases__item {
        display: grid;
        grid-template-columns: 42px 1fr;
        gap: 2px;
        padding: 24px 0;
    }

    .p-home .partnerCases__item:last-child {
        grid-column: auto;
        border-bottom: 1px solid #d9dbe5;
    }

    .p-home .partnerCases__item:nth-last-child(2) {
        border-bottom: none;
    }

    .p-home .partnerCases__num {
        font-size: 23px;
    }

    .p-home .partnerCases__content h3 {
        margin-bottom: 10px;
        padding-left: 12px;
        font-size: 17px;
    }

    .p-home .partnerCases__content p {
        line-height: 1.8;
        font-size: 13px;
    }

    .p-home .partnerCases__subList {
        margin: 10px 0;
    }

    .p-home .partnerCases__subList li {
        padding: 6px 9px 6px 25px;
        font-size: 12px;
    }
}

/* ==============================
   Partner Fields
============================== */

.p-home .partnerFields {
    background: #fff;
}

.p-home .partnerFields .sec__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 100px 30px 110px;
}

.p-home .partnerFields__head {
    margin-bottom: 50px;
}

.p-home .partnerFields__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.p-home .partnerFields__card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 28px 22px 25px;
    border: 1px solid #dedfe7;
    border-radius: 4px;
    background: #f8f8fa;
}

.p-home .partnerFields__label {
    position: relative;
    margin-bottom: 18px;
    padding-bottom: 12px;
    line-height: 1;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
    letter-spacing: .16em;
    color: #9ea5c5;
}

.p-home .partnerFields__label::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 26px;
    height: 1px;
    background: #1a2873;
}

.p-home .partnerFields__cardTitle {
    margin-bottom: 20px;
    line-height: 1.45;
    font-size: 20px;
    font-weight: 700;
    color: #1a2873;
}

.p-home .partnerFields__tags {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 7px;
}

.p-home .partnerFields__tags li {
    padding: 6px 10px;
    border: 1px solid #dfe1e9;
    border-radius: 2px;
    background: #fff;
    line-height: 1.45;
    font-size: 13px;
    color: #444;
}

.p-home .partnerFields__note {
    position: relative;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid #dedfe7;
    line-height: 1.8;
    font-size: 13px;
    color: #666;
}


@media screen and (max-width: 960px) {

    .p-home .partnerFields .sec__inner {
        padding: 80px 30px 90px;
    }

    .p-home .partnerFields__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .p-home .partnerFields__cardTitle {
        font-size: 18px;
    }
}


@media screen and (max-width: 743px) {

    .p-home .partnerFields .sec__inner {
        padding: 60px 4% 70px;
    }

    .p-home .partnerFields__head {
        margin-bottom: 35px;
    }

    .p-home .partnerFields__list {
        display: block;
    }

    .p-home .partnerFields__card {
        padding: 25px 20px;
    }

    .p-home .partnerFields__card+.partnerFields__card {
        margin-top: 15px;
    }

    .p-home .partnerFields__label {
        margin-bottom: 15px;
    }

    .p-home .partnerFields__cardTitle {
        margin-bottom: 17px;
        font-size: 19px;
    }

    .p-home .partnerFields__tags {
        gap: 6px;
    }

    .p-home .partnerFields__tags li {
        padding: 6px 9px;
        font-size: 12px;
    }

    .p-home .partnerFields__note {
        margin-top: 18px;
        padding-top: 15px;
        font-size: 13px;
    }
}


.p-home .pointBox {
    position: relative;
    overflow: hidden;
    padding: 38px 40px 40px;
    border: 1px solid #d5d8e6;
    background: #f8f8fa;
}

.p-home .pointBox::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: #1a2873;
}

.p-home .pointBox__head {
    margin-bottom: 30px;
}

.p-home .pointBox__title {
    margin-bottom: 12px;
    line-height: 1.5;
    font-size: 23px;
    font-weight: 700;
    color: #1a2873;
}

.p-home .pointBox__lead {
    line-height: 1.8;
    font-size: 15px;
    color: #555;
}

.p-home .pointBox__cases {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid #dfe1e9;
    background: #dfe1e9;
}

.p-home .pointBox__case {
    min-width: 0;
    padding: 20px 22px;
    background: #fff;
}

.p-home .pointBox__case:last-child {
    grid-column: 1 / -1;
}

.p-home .pointBox__caseLabel {
    margin-bottom: 8px;
    line-height: 1;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
    letter-spacing: .12em;
    color: #9ea5c5;
}

.p-home .pointBox__caseText {
    margin-bottom: 10px;
    line-height: 1.7;
    font-size: 14px;
    font-weight: 500;
    color: #333;
}

.p-home .pointBox__caseAnswer {
    line-height: 1.6;
    font-size: 14px;
    font-weight: 700;
    color: #1a2873;
}

.p-home .partnerFields_btm {
    margin-top: 45px;
    text-align: center;
}

@media screen and (max-width: 960px) {

    .p-home .pointBox {
        padding: 32px 30px 35px;
    }

    .p-home .pointBox__title {
        font-size: 21px;
    }

    .p-home .pointBox__case {
        padding: 18px 20px;
    }
}


@media screen and (max-width: 743px) {

    .p-home .partnerFields_btm {
        margin-top: 30px;
    }

    .p-home .pointBox {
        padding: 28px 18px 22px;
    }

    .p-home .pointBox__head {
        margin-bottom: 24px;
    }

    .p-home .pointBox__title {
        margin-bottom: 10px;
        font-size: 19px;
    }

    .p-home .pointBox__lead {
        font-size: 14px;
    }

    .p-home .pointBox__cases {
        display: block;
        border: 1px solid #dfe1e9;
        background: #fff;
    }

    .p-home .pointBox__case {
        padding: 18px 16px;
    }

    .p-home .pointBox__case+.pointBox__case {
        border-top: 1px solid #dfe1e9;
    }

    .p-home .pointBox__case:last-child {
        grid-column: auto;
    }

    .p-home .pointBox__caseLabel {
        margin-bottom: 7px;
        font-size: 12px;
    }

    .p-home .pointBox__caseText,
    .p-home .pointBox__caseAnswer {
        font-size: 13px;
    }
}


/* ==============================
   Partner Benefits
============================== */

.p-home .partnerBenefits {
    background: #f8f8fa;
}

.p-home .partnerBenefits .sec__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 90px 30px 100px;
}

.p-home .partnerBenefits__head {
    margin-bottom: 55px;
}

.p-home .partnerBenefits__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 55px;
    max-width: 1000px;
    margin: 0 auto;
}

.p-home .partnerBenefits__item {
    padding: 27px 0 30px;
    border-top: 1px solid #d9dbe5;
}

.p-home .partnerBenefits__item:nth-last-child(2) {
    border-bottom: 1px solid #d9dbe5;
}

.p-home .partnerBenefits__item--last {
    grid-column: 1 / -1;
    border-bottom: 1px solid #d9dbe5;
}

.p-home .partnerBenefits__itemHead {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 15px;
}

.p-home .partnerBenefits__mark {
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    margin-top: 9px;
    border: 2px solid #1a2873;
    transform: rotate(45deg);
}

.p-home .partnerBenefits__itemHead h3 {
    line-height: 1.55;
    font-size: 19px;
    font-weight: 700;
    color: #1a2873;
}

.p-home .partnerBenefits__itemText {
    padding-left: 22px;
}

.p-home .partnerBenefits__itemText p {
    line-height: 1.85;
    font-size: 14px;
    color: #555;
}

.p-home .partnerBenefits__itemText p+p {
    margin-top: 5px;
}


/* ==============================
   Target Companies
============================== */

.p-home .partnerBenefits__target {
    display: grid;
    grid-template-columns: 32% 1fr;
    max-width: 1000px;
    margin: 55px auto 0;
    border-top: 3px solid #1a2873;
    background: #fff;
}

.p-home .partnerBenefits__targetTitle {
    padding: 34px 30px;
    border-right: 1px solid #e0e1e7;
}

.p-home .partnerBenefits__targetTitle h3 {
    margin-bottom: 17px;
    line-height: 1.55;
    font-size: 21px;
    font-weight: 700;
    color: #1a2873;
}

.p-home .partnerBenefits__targetTitle p {
    line-height: 1.85;
    font-size: 14px;
    color: #555;
}

.p-home .partnerBenefits__targetBody {
    padding: 30px 32px;
}

.p-home .partnerBenefits__targetList {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 28px;
    margin-bottom: 25px;
}

.p-home .partnerBenefits__targetList li {
    position: relative;
    padding: 11px 10px 11px 23px;
    border-bottom: 1px solid #e2e3e9;
    line-height: 1.5;
    font-size: 13px;
    color: #333;
}

.p-home .partnerBenefits__targetList li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 2px;
    width: 8px;
    height: 4px;
    border-left: 2px solid #1a2873;
    border-bottom: 2px solid #1a2873;
    transform: translateY(-70%) rotate(-45deg);
}

.p-home .partnerBenefits__targetMessage {
    padding: 18px 22px;
    background: #f2f2f2;
}

.p-home .partnerBenefits__targetMessage p {
    line-height: 1.8;
    font-size: 14px;
    color: #333;
}

.p-home .partnerBenefits__targetMessage p.p_point {
    font-weight: 700;
    color: #1a2873;
}


@media screen and (max-width: 960px) {

    .p-home .partnerBenefits .sec__inner {
        padding: 75px 30px 85px;
    }

    .p-home .partnerBenefits__list {
        column-gap: 35px;
    }

    .p-home .partnerBenefits__target {
        grid-template-columns: 35% 1fr;
    }

    .p-home .partnerBenefits__targetTitle {
        padding: 30px 25px;
    }

    .p-home .partnerBenefits__targetBody {
        padding: 27px 25px;
    }
}


/* ==============================
   SP
============================== */

@media screen and (max-width: 743px) {

    .p-home .partnerBenefits .sec__inner {
        padding: 60px 4% 70px;
    }

    .p-home .partnerBenefits__head {
        margin-bottom: 35px;
    }

    .p-home .partnerBenefits__list {
        display: block;
    }

    .p-home .partnerBenefits__item {
        padding: 23px 0;
    }

    .p-home .partnerBenefits__item:nth-last-child(2) {
        border-bottom: none;
    }

    .p-home .partnerBenefits__item--last {
        border-bottom: 1px solid #d9dbe5;
    }

    .p-home .partnerBenefits__itemHead {
        gap: 11px;
        margin-bottom: 12px;
    }

    .p-home .partnerBenefits__mark {
        width: 7px;
        height: 7px;
        margin-top: 8px;
    }

    .p-home .partnerBenefits__itemHead h3 {
        font-size: 17px;
    }

    .p-home .partnerBenefits__itemText {
        padding-left: 18px;
    }

    .p-home .partnerBenefits__itemText p {
        font-size: 13px;
    }

    .p-home .partnerBenefits__target {
        display: block;
        margin-top: 35px;
    }

    .p-home .partnerBenefits__targetTitle {
        padding: 25px 20px;
        border-right: 0;
        border-bottom: 1px solid #e0e1e7;
    }

    .p-home .partnerBenefits__targetTitle h3 {
        margin-bottom: 12px;
        font-size: 17px;
    }

    .p-home .partnerBenefits__targetTitle p {
        font-size: 13px;
    }

    .p-home .partnerBenefits__targetBody {
        padding: 10px 20px 22px;
    }

    .p-home .partnerBenefits__targetList {
        display: block;
        margin-bottom: 20px;
    }

    .p-home .partnerBenefits__targetList li {
        padding: 10px 8px 10px 22px;
        font-size: 13px;
    }

    .p-home .partnerBenefits__targetMessage {
        padding: 16px 15px;
    }

    .p-home .partnerBenefits__targetMessage p {
        font-size: 13px;
    }
}

/* ==============================
   Project Examples
============================== */

.p-home .projectExamples {
    background: #fff;
}

.p-home .projectExamples .sec__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 95px 30px 105px;
}

.p-home .projectExamples__head {
    margin-bottom: 45px;
    text-align: center;
}

.p-home .projectExamples__lead {
    margin-top: 25px;
    line-height: 1.9;
    font-size: 16px;
    color: #555;
}

.p-home .projectExamples__body {
    max-width: 1000px;
    margin: 0 auto;
}

.p-home .projectExamples__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid #d9dbe5;
    border-left: 1px solid #d9dbe5;
}

.p-home .projectExamples__list li {
    position: relative;
    min-height: 45px;
    padding: 15px 18px 15px 43px;
    border-right: 1px solid #d9dbe5;
    border-bottom: 1px solid #d9dbe5;
    background: #f8f8fa;
    line-height: 1.6;
    font-size: 14px;
    font-weight: 500;
    color: #333;
}

.p-home .projectExamples__list li::before {
    content: "";
    position: absolute;
    top: 23px;
    left: 20px;
    width: 9px;
    height: 5px;
    border-left: 2px solid #1a2873;
    border-bottom: 2px solid #1a2873;
    transform: rotate(-45deg);
}

.p-home .projectExamples__list li:last-child {
    grid-column: span 2;
}

.p-home .projectExamples__note {
    margin-top: 22px;
    text-align: center;
    line-height: 1.8;
    font-size: 16px;
    color: #555;
}

.p-home .projectExamples__proposal {
    margin-top: 60px;
    border: 1px solid #d5d8e6;
    background: #fff;
}

.p-home .projectExamples__proposalHead {
    position: relative;
    padding: 30px 34px 28px;
    background: #f2f2f2;
    border-bottom: 1px solid #dfe1e9;
    text-align: center;
}

.p-home .projectExamples__proposalHead::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    background: #1a2873;
}

.p-home .projectExamples__proposalHead h3 {
    margin-bottom: 12px;
    line-height: 1.55;
    font-size: 21px;
    font-weight: 700;
    color: #1a2873;
}

.p-home .projectExamples__proposalHead p {
    line-height: 1.9;
    font-size: 14px;
    color: #555;
}

.p-home .projectExamples__proposalBody {
    padding: 30px 34px 32px;
}

.p-home .projectExamples__voices {
    margin: 0 auto 25px;
    max-width: 550px;
}

.p-home .projectExamples__voices p {
    position: relative;
    padding: 13px 15px 13px 38px;
    border-bottom: 1px solid #e2e3e9;
    line-height: 1.7;
    font-size: 14px;
    font-weight: 500;
    color: #333;
}

.p-home .projectExamples__voices p:first-child {
    border-top: 1px solid #e2e3e9;
}

.p-home .projectExamples__voices p::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 14px;
    width: 8px;
    height: 8px;
    border: 2px solid #1a2873;
    transform: translateY(-50%) rotate(45deg);
}

.p-home .projectExamples__proposalMessage {
    padding: 20px 24px;
    background: #f8f8fa;
    text-align: center;
}

.p-home .projectExamples__proposalMessage p {
    line-height: 1.85;
    font-size: 15px;
    color: #333;
}

.p-home .projectExamples__proposalMessage p+p {
    margin-top: 8px;
}

.p-home .projectExamples__proposalMessage p:last-child {
    font-weight: 700;
    color: #1a2873;
}

/* ==============================
   Tablet
============================== */

@media screen and (max-width: 960px) {

    .p-home .projectExamples .sec__inner {
        padding: 80px 30px 90px;
    }

    .p-home .projectExamples__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .p-home .projectExamples__list li:last-child {
        grid-column: auto;
    }

    .p-home .projectExamples__proposal {
        grid-template-columns: 36% 1fr;
    }

    .p-home .projectExamples__proposalHead {
        padding: 28px 28px 26px;
    }

    .p-home .projectExamples__proposalBody {
        padding: 27px 28px 30px;
    }
}


/* ==============================
   SP
============================== */

@media screen and (max-width: 743px) {

    .p-home .projectExamples .sec__inner {
        padding: 60px 4% 70px;
    }

    .p-home .projectExamples__head {
        margin-bottom: 30px;
    }

    .p-home .projectExamples__lead {
        margin-top: 20px;
        text-align: left;
        font-size: 14px;
    }

    .p-home .projectExamples__list {
        display: block;
        border-left: 0;
    }

    .p-home .projectExamples__list li {
        min-height: 0;
        padding: 15px 15px 15px 40px;
        border-right: 0;
        font-size: 13px;
    }

    .p-home .projectExamples__list li::before {
        top: 21px;
        left: 17px;
    }

    .p-home .projectExamples__note {
        margin-top: 18px;
        text-align: left;
        font-size: 13px;
    }

    .p-home .projectExamples__proposal {
        margin-top: 35px;
    }

    .p-home .projectExamples__proposalHead {
        padding: 24px 20px 22px;
    }

    .p-home .projectExamples__proposalHead h3 {
        margin-bottom: 10px;
        font-size: 17px;
    }

    .p-home .projectExamples__proposalHead p {
        font-size: 13px;
    }

    .p-home .projectExamples__proposalBody {
        padding: 20px;
    }

    .p-home .projectExamples__voices {
        margin-bottom: 18px;
    }

    .p-home .projectExamples__voices p {
        padding: 11px 8px 11px 30px;
        font-size: 13px;
    }

    .p-home .projectExamples__voices p::before {
        left: 10px;
        width: 7px;
        height: 7px;
    }

    .p-home .projectExamples__proposalMessage {
        padding: 16px 15px;
    }

    .p-home .projectExamples__proposalMessage p {
        font-size: 13px;
    }
}


/* ==============================
   Consultation Guide
============================== */

.p-home .consultationGuide {
    background: #f8f8fa;
}

.p-home .consultationGuide .sec__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 95px 30px 105px;
}

.p-home .consultationGuide__head {
    margin-bottom: 45px;
    text-align: center;
}

.p-home .consultationGuide__lead {
    margin-top: 25px;
    line-height: 1.9;
    font-size: 16px;
    color: #555;
}

.p-home .consultationGuide__point {
    margin: 0 auto;
    padding: 38px 40px 40px;
}


/* ==============================
   Information List
============================== */

.p-home .consultationGuide__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid #dfe1e9;
    background: #dfe1e9;
}

.p-home .consultationGuide__list li {
    position: relative;
    min-height: 58px;
    padding: 17px 16px 17px 43px;
    background: #fff;
    line-height: 1.6;
    font-size: 14px;
    font-weight: 500;
    color: #333;
}

.p-home .consultationGuide__list li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 19px;
    width: 10px;
    height: 5px;
    border-left: 2px solid #1a2873;
    border-bottom: 2px solid #1a2873;
    transform: translateY(-70%) rotate(-45deg);
}

.p-home .consultationGuide__list li:last-child {
    grid-column: span 2;
}

.p-home .consultationGuide__message {
    margin-top: 30px;
    padding: 23px 26px;
    background: #fff;
    text-align: center;
}

.p-home .consultationGuide__message p {
    line-height: 1.85;
    font-size: 15px;
    color: #333;
}

.p-home .consultationGuide__message p+p {
    margin-top: 8px;
}

.p-home .consultationGuide__message p:first-child {
    font-weight: 500;
}

.p-home .consultationGuide__message p:last-child {
    font-weight: 700;
    color: #1a2873;
}


/* ==============================
   Tablet
============================== */

@media screen and (max-width: 960px) {

    .p-home .consultationGuide .sec__inner {
        padding: 80px 30px 90px;
    }

    .p-home .consultationGuide__point {
        padding: 32px 30px 34px;
    }

    .p-home .consultationGuide__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .p-home .consultationGuide__list li:last-child {
        grid-column: auto;
    }
}

@media screen and (max-width: 743px) {

    .p-home .consultationGuide .sec__inner {
        padding: 60px 4% 70px;
    }

    .p-home .consultationGuide__head {
        margin-bottom: 30px;
    }

    .p-home .consultationGuide__lead {
        margin-top: 20px;
        text-align: left;
        font-size: 14px;
    }

    .p-home .consultationGuide__point {
        padding: 27px 18px 22px;
    }

    .p-home .consultationGuide__list li {
        min-height: 0;
        padding: 14px 12px 14px 39px;
        font-size: 13px;
    }

    .p-home .consultationGuide__list li+li {
        border-top: 1px solid #dfe1e9;
    }

    .p-home .consultationGuide__list li::before {
        left: 16px;
    }

    .p-home .consultationGuide__message {
        margin-top: 22px;
        padding: 18px 12px;
    }

    .p-home .consultationGuide__message p {
        font-size: 13px;
    }
}

/* ==============================
   FAQ
============================== */

.p-home .faqSection {
    background: #fff;
}

.p-home .faqSection .sec__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 95px 30px 105px;
}

.p-home .faqSection__head {
    margin-bottom: 50px;
}

.p-home .faqList {
    margin: 0 auto;
    border-top: 1px solid #d9dbe5;
}

.p-home .faqItem {
    border-bottom: 1px solid #d9dbe5;
}

.p-home .faqItem__question {
    display: grid;
    grid-template-columns: 48px 1fr 30px;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 24px 20px;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    font-family: inherit;
    transition: background .3s;
}

.p-home .faqItem__question:hover {
    background: #f8f8fa;
}

.p-home .faqItem__q {
    line-height: 1;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-weight: 500;
    color: #1a2873;
}

.p-home .faqItem__questionText {
    line-height: 1.7;
    font-size: 15px;
    font-weight: 500;
    color: #333;
}

.p-home .faqItem__icon {
    position: relative;
    display: block;
    width: 20px;
    height: 20px;
    margin-left: auto;
}

.p-home .faqItem__icon::before,
.p-home .faqItem__icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: #1a2873;
    transform: translate(-50%, -50%);
    transition: transform .3s, opacity .3s;
}

.p-home .faqItem__icon::before {
    width: 18px;
    height: 1px;
}

.p-home .faqItem__icon::after {
    width: 1px;
    height: 18px;
}

.p-home .faqItem.is-open .faqItem__icon::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(90deg);
}

.p-home .faqItem__answer {
    max-height: 0;
    overflow: hidden;
    background: #f8f8fa;
    transition: max-height .4s ease;
}

.p-home .faqItem__answerInner {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 10px;
    padding: 24px 20px 26px;
}

.p-home .faqItem__a {
    line-height: 1;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-weight: 500;
    color: #9ea5c5;
}

.p-home .faqItem__answerText p {
    line-height: 1.9;
    font-size: 14px;
    color: #555;
}

.p-home .faqItem__answerText p+p {
    margin-top: 6px;
}

@media screen and (max-width: 743px) {

    .p-home .faqSection .sec__inner {
        padding: 60px 4% 70px;
    }

    .p-home .faqSection__head {
        margin-bottom: 35px;
    }

    .p-home .faqItem__question {
        grid-template-columns: 36px 1fr 24px;
        gap: 3px;
        padding: 18px 10px;
    }

    .p-home .faqItem__q {
        font-size: 20px;
    }

    .p-home .faqItem__questionText {
        font-size: 14px;
    }

    .p-home .faqItem__icon {
        width: 18px;
        height: 18px;
    }

    .p-home .faqItem__icon::before {
        width: 16px;
    }

    .p-home .faqItem__icon::after {
        height: 16px;
    }

    .p-home .faqItem__answerInner {
        grid-template-columns: 36px 1fr;
        gap: 3px;
        padding: 18px 10px 20px;
    }

    .p-home .faqItem__a {
        font-size: 20px;
    }

    .p-home .faqItem__answerText p {
        font-size: 13px;
    }
}