@charset "UTF-8";

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
l,
label,
legend,
mark,
menu,
nav,
object,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
var,
video {
    margin: 0;
    padding: 0
}

button,
h1,
h2,
h3,
h4,
h5,
h6,
input,
option,
select,
table,
textarea {
    font-size: 100%
}

blockquote,
q {
    quotes: none
}

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

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

input,
li,
ol,
textarea,
ul {
    margin: 0;
    padding: 0
}

li,
ol,
ul {
    list-style: none
}

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

caption,
th {
    text-align: left
}

:focus:not(:focus-visible) {
    outline: 0
}

a img,
img {
    border: 0
}

a {
    cursor: pointer;
    text-decoration: none;
    color: #1c1e1f
}

input:not([type=checkbox]) {
    -webkit-appearance: none;
    appearance: none
}

html {
    height: 100%;
    line-height: 1.6
}

body {
    position: relative;
    min-height: 100%;
    -webkit-text-size-adjust: 100%;
    color: #1c1e1f;
    letter-spacing: .025em;
    font-family: "YakuHanJP", "Noto Sans JP", "Noto Sans JP", "Noto Sans", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, sans-serif;
    overflow-x: hidden
}

@media print,
screen and (min-width:48em) {
    body {
        line-height: 1.75
    }
}

@media only screen and (max-width:47.9375em) {
    body {
        line-height: 1.75
    }
}

.l-cta,
main {
    position: relative
}

img {
    display: block;
    max-width: 100%
}

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

.l-cta {
    color: #fff;
    background-color: #1199ab;
    padding: 0 3.75rem
}

@media only screen and (max-width:47.9375em) {
    .l-cta {
        padding-top: .625rem;
        padding-right: 4.267%;
        padding-left: 4.267%
    }
}

.l-cta__inner {
    position: relative;
    max-width: 78.75rem;
    margin: 0 auto;
    z-index: 1
}

@media only screen and (max-width:47.9375em) {
    .l-cta__inner {
        max-width: 100%;
        padding: 0 0 32px
    }
}

@media print,
screen and (min-width:48em) {
    .l-cta__inner {
        padding-top: 70px;
        padding-bottom: 72px
    }
}

.l-cta__decoration {
    position: absolute;
    top: 52px;
    right: 51px;
    width: 250px;
    height: 160px;
    object-fit: cover;
    z-index: 0
}

@media only screen and (max-width:47.9375em) {
    .l-cta__decoration {
        display: none
    }
}

.l-cta__row {
    --mt: initial
}

.l-cta__row+.l-cta__row {
    margin-top: var(--mt)
}

.l-cta__row.-desc {
    --mt: 1.1875rem
}

.l-cta__row.-block {
    --mt: 3.3125rem
}

.l-cta__row.-block-desc {
    --mt: .5625rem
}

.l-cta__row.-block-button {
    --mt: 1.5625rem
}

.l-cta__flex {
    display: flex
}

@media only screen and (max-width:47.9375em) {
    .l-cta__flex {
        display: block
    }

    .l-cta__visual {
        width: 240px;
        margin: 0 auto;
        padding-bottom: .75rem
    }
}

@media print,
screen and (min-width:48em) {
    .l-cta__visual {
        max-width: 260px
    }
}

@media print,
screen and (min-width:64em) {
    .l-cta__visual {
        max-width: 300px
    }
}

@media print,
screen and (min-width:80em) {
    .l-cta__visual {
        max-width: 390px
    }
}

.l-cta__img {
    display: block
}

.l-cta__contents {
    flex: 1;
    margin-left: 36px
}

@media only screen and (max-width:47.9375em) {
    .l-cta__contents {
        margin-left: 0
    }
}

.l-cta__sub-heading {
    font-weight: 700;
    margin-right: 16px
}

@media only screen and (max-width:47.9375em) {
    .l-cta__sub-heading.-sp_none {
        display: none
    }
}

.l-cta__sub-text {
    font-size: .875rem;
    margin-right: 12px
}

@media only screen and (max-width:47.9375em) {
    .l-cta__sub-text {
        font-size: .75rem;
        margin-right: 0
    }
}

.l-cta__heading {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.4;
    position: relative
}

@media only screen and (max-width:47.9375em) {
    .l-cta__heading {
        font-size: 1.5rem;
        text-align: center
    }
}

.l-cta__button {
    display: block
}

@media only screen and (max-width:47.9375em) {
    .l-cta__button {
        margin-top: 20px
    }
}

@media print,
screen and (min-width:48em) {
    .l-cta__button {
        margin-top: 40px
    }
}

@media print,
screen and (min-width:87.5em) {
    .l-cta__button {
        display: flex
    }
}

.l-cta__info {
    font-weight: 700;
    align-items: center;
    margin-top: 14px
}

@media only screen and (max-width:47.9375em) {
    .l-cta__info {
        display: block
    }
}

@media print,
screen and (min-width:48em) {
    .l-cta__info {
        display: block
    }
}

@media print,
screen and (min-width:80em) {
    .l-cta__info {
        display: flex
    }
}

.l-cta__tel {
    position: relative
}

@media only screen and (max-width:47.9375em) {
    .l-cta__tel {
        display: block;
        text-align: center
    }
}

.l-cta__tel::before {
    content: "";
    width: 1px;
    height: 16px;
    background-color: #fff;
    position: absolute;
    bottom: 10px;
    right: 0
}

@media only screen and (max-width:47.9375em) {
    .l-cta__tel::before {
        display: none
    }
}

.l-cta__number {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff
}

@media only screen and (max-width:47.9375em) {
    .l-cta__number {
        font-size: 1.25rem
    }
}

@media print,
screen and (min-width:48em) {
    .l-cta__number {
        display: block
    }
}

@media print,
screen and (min-width:64em) {
    .l-cta__number {
        display: inline-block
    }
}

.l-cta__faq {
    margin-left: 12px;
    color: #fff;
    border-bottom: 1px solid transparent;
    transition: all cubic-bezier(.215, .61, .355, 1) .15s
}

@media only screen and (max-width:47.9375em) {
    .l-cta__faq {
        display: block;
        text-align: center;
        margin-top: 8px;
        margin-left: 0
    }
}

@media (hover:hover) {
    .l-cta__faq:hover {
        border-bottom: 1px solid #fff
    }
}

.l-header {
    background-color: #fff;
    width: 100%;
    transition: all cubic-bezier(.215, .61, .355, 1) .6s;
    z-index: 20000;
    box-shadow: 0 0 15px 0 rgba(9, 77, 89, .16);
    position: fixed
}

@media only screen and (max-width:63.9375em) {
    .l-header {
        height: 62px
    }
}

@media print,
screen and (min-width:64em) {
    .l-header {
        height: 80px;
        background-color: #fff
    }
}

.l-header__inner {
    padding: 16px 2% 12px
}

@media only screen and (max-width:63.9375em) {
    .l-header__inner {
        display: block;
        padding-right: 0;
        padding-left: 0;
        height: 0
    }
}

@media print,
screen and (min-width:64em) {
    .l-header__inner {
        padding-top: 8px;
        display: flex;
        justify-content: space-between;
        height: 75px;
    }
}

@media only screen and (max-width:63.9375em) {
    .l-header__inner.-visible {
        height: 100%
    }
}

.l-header__menu {
    align-items: center
}

@media only screen and (max-width:63.9375em) {
    .l-header__menu {
        display: block;
        opacity: 0;
        visibility: hidden
    }
}

@media print,
screen and (min-width:64em) {
    .l-header__menu {
        /*display: grid;*/
        display: flex;
        /*grid: "contact" 1fr "items" 30px/1fr;*/
        justify-items: end;
        /*margin-right: 7.5rem*/
        margin-right: 13.5rem;
        margin-left: 2.5rem;
    }
    /*050*/
    .l-header__menu_050 {
        display: flex;
        justify-items: end;
        margin-right: 7.5rem;
        margin-left: 2.5rem;
    }

    /*ids*/
    .l-header__menu_ids {
        display: flex;
        justify-items: end;
        margin-right: 7.5rem;
        margin-left: 2.5rem;
    }

}

@media only screen and (max-width:63.9375em) {
    .l-header__inner.-visible .l-header__menu {
        opacity: 1;
        visibility: visible;
        position: fixed;
        width: 100%;
        top: 60px;
        padding-right: 30px;
        padding-left: 30px;
        padding-bottom: 100px;
        height: 100vh;
        overflow: scroll;
        background-color: #fff
    }

    .l-header__contact {
        display: block;
        margin-top: 20px
    }

    .satori__popup_widget_88fc72c1056bcfeb {
        z-index: 1 !important
    }
}

@media print,
screen and (min-width:64em) {
    .l-header__contact {
        margin-left: 10px;
        display: flex;
        align-items: center;
        grid-area: contact
    }
}

@media only screen and (max-width:63.9375em) {
    .l-header__sp-buttons {
        display: flex
    }
}

@media print,
screen and (min-width:64em) {
    .l-header__sp-buttons {
        display: none
    }
}

@media only screen and (max-width:63.9375em) {
    .l-header__button {
        display: none
    }
}

@media print,
screen and (min-width:64em) {
    .l-header__button {
        display: flex
    }
}

.l-header__button a {
    font-size: .875rem;
    font-weight: 700;
    transition: color cubic-bezier(.215, .61, .355, 1) .25s
}

@media (hover:hover) {
    .l-header__button a:hover {
        color: #0fb4bf
    }
}
.l-header__logo {
    position: relative
}

/*@media print,
screen and (min-width:64em) {
    .l-header__logo {
        display: flex;
        width: 160px;
        height: 100%
    }
}*/

/*20250807TOPページ20周年ロゴ追加*/
@media print,
screen and (min-width:64em) {
    .l-header__logo {
        display: flex;
        width: 220px;
        height: 100%
    }
}

@media print,
screen and (min-width:64em) {
    .l-header__logo_050 ,.l-header__logo_rds,.l-header__logo_ids{
        display: flex;
        width: 160px;
        height: 100%
    }
}

.l-header__logo a {
    display: block
}

@media only screen and (max-width:63.9375em) {
    .l-header__inner.-visible .l-header__logo {
        display: block;
        position: fixed;
        top: 0;
        width: 100%;
        height: 60px;
        background-color: #fff;
        box-shadow: 0 0 15px 0 rgba(9, 77, 89, .15);
        z-index: 10
    }
}

.l-header__svg-white {
    position: absolute;
    display: none
}

@media only screen and (max-width:63.9375em) {
    .l-header__svg-white {
        width: 130px;
        top: 0;
        left: 16px
    }
}

@media print,
screen and (min-width:64em) {
    .l-header__svg-white {
        width: 160px;
        top: 12px;
        left: 0
    }
}

@media only screen and (max-width:63.9375em) {
    .l-header__inner.-visible .l-header__svg-white {
        display: none
    }
}

.l-header__svg-color {
    position: absolute;
    display: block
}
/*
@media only screen and (max-width:63.9375em) {
    .l-header__svg-color {
        width: 130px;
        left: 16px;
        top: 8px
    }
}

@media print,
screen and (min-width:64em) {
    .l-header__svg-color {
        width: 150px;
        top: 26px;
        left: 0
    }
}
*/

/*20250807TOPページ20周年ロゴ追加*/
@media only screen and (max-width:63.9375em) {
    .l-header__svg-color {
        width: 160px;
        top: 0px;
        left: 16px;
    }
}

@media only screen and (max-width:63.9375em) {
    .l-header__inner.-visible .l-header__svg-color {
        display: block;
        top: 24px
    }
}

@media only screen and (max-width:63.9375em) {
    .l-header__svg-color_050,.l-header__svg-color_rds,.l-header__svg-color_ids{
        width: 130px;
        left: 16px;
        top: 8px
    }
}

@media print,
screen and (min-width:64em) {
    .l-header__svg-color_050, .l-header__svg-color_rds, .l-header__svg-color_ids{
        width: 150px;
        top: 20px;
        left: 0
    }
}

.l-header__trial {
    display: none
}

.l-header__inquiry {
    display: none
}

@media print,
screen and (min-width:64em) {
    .l-header__trial {
        display: block;
        position: absolute;
        right: 0;
        width: 120px;
        top: 0;
        background: #fcf403;
        height: 75px;
        transition: background-color cubic-bezier(.215, .61, .355, 1) .25s
    }

    .l-header__inquiry {
        display: block;
        position: absolute;
        right: 120px;
        width: 120px;
        top: 0;
        background: #1199ab;
        height: 75px;
        color: #fff;
        line-height: 1.25;
    }
}

.l-header__trial a {
    display: flex;
    height: 100%;
    justify-content: center;
    flex-direction: column
}


.l-header__inquiry a {
    display: flex;
    height: 100%;
    justify-content: center;
    flex-direction: column;
    color: #fff;
    line-height: 1.25;
    
}

.l-header__trial .l-header__trial-icon {
    height: 32px
}

.l-header__inquiry .l-header__inquiry-icon {
    height: 15px;
    margin: 5px auto;
    filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(355deg) brightness(104%) contrast(103%);
}

.l-header__trial span {
    display: block;
    font-size: .8125rem;
    font-weight: 700;
    text-align: center;
    margin-top: 3px
}

.l-header__inquiry span {
    display: block;
    font-size: .8125rem;
    font-weight: 700;
    text-align: center;
    margin-top: 3px
}


@media (hover:hover) {
    .l-header__trial:hover {
        background-color: #fcca03
    }

    .l-header__inquiry:hover {
        background-color: #0fb4bf
    }
}

.l-header.-scroll {
    position: fixed;
    left: 0;
    background-color: #fff
}

@media print,
screen and (min-width:64em) {
    .l-header.-scroll {
        z-index: 100
    }
}

.l-footer {
    background-color: #0c323b;
    color: #fff
}

.l-footer__inner {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    margin-right: auto;
    margin-left: auto
}

@media only screen and (max-width:47.9375em) {
    .l-footer__inner {
        max-width: 100%;
        padding-top: 2.5rem;
        padding-right: 4.267%;
        padding-left: 4.267%;
        padding-bottom: 2.75rem
    }
}

@media print,
screen and (min-width:48em) {
    .l-footer__inner {
        max-width: 1240px;
        padding: 3.875rem 3.75rem 3.75rem
    }
}

.l-footer__flex {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

@media only screen and (max-width:47.9375em) {
    .l-footer__flex {
        display: block
    }
}

.l-footer__company {
    font-size: .75rem;
    width: 18%;
}

@media only screen and (max-width:47.9375em) {
    .l-footer__company {
        width: 100%;
    }
}

@media only screen and (max-width:47.9375em) {
    .l-footer__logo {
        max-width: 150px
    }
}

@media print,
screen and (min-width:48em) {
    .l-footer__logo {
        max-width: 220px
    }
}

.f-form table tbody td,
.l-footer__logo img {
    display: block;
    width: 100%
}

@media only screen and (max-width:47.9375em) {
    .l-footer__name {
        padding-top: 1.25rem
    }
}

@media print,
screen and (min-width:48em) {
    .l-footer__name {
        padding-top: 2.5rem
    }

    .l-footer__address,
    .l-footer__copy {
        margin-top: .3125rem
    }
}

.l-footer__sitemap {
    display: flex
}

@media only screen and (max-width:47.9375em) {
    .l-footer__sitemap {
        display: block
    }
}

@media print,
screen and (min-width:48em) {
    .l-footer__block {
        margin-right: 40px
    }
}

@media print,
screen and (min-width:64em) {
    .l-footer__block {
        margin-right: 60px
    }
}

.l-footer__block:last-of-type {
    margin-right: 0
}

@media only screen and (max-width:47.9375em) {
    .l-footer__block.-home {
        margin-top: 20px
    }
}

.l-footer__item {
    margin-top: .3125rem
}

@media only screen and (max-width:47.9375em) {
    .l-footer__item {
        margin-top: .625rem
    }
}

.l-footer__item a {
    color: #fff;
    transition: all cubic-bezier(.215, .61, .355, 1) .15s;
    border-bottom: 1px solid transparent
}

@media print,
screen and (min-width:48em) {
    .l-footer__item:hover a {
        border-bottom: 1px solid #fff
    }
}

@media only screen and (max-width:47.9375em) {
    .l-footer__sns {
        margin-top: .75rem
    }
}

@media print,
screen and (min-width:48em) {
    .l-footer__sns {
        margin-top: 1.875rem
    }
}

.l-footer-wrapper{
    font-size: .75rem;
    width: 52%;
}

@media only screen and (max-width:47.9375em) {
    .l-footer-wrapper{
        font-size: .75rem;
        width: 100%;
    }
}

.l-footer-sns{
    width: 20%;
}

@media only screen and (max-width:47.9375em) {
    .l-footer-sns{
        width: 100%;
        margin-top: 1.225rem;
    }
}

.l-footer-sns__wrapper{
    display: flex;
    margin-top: 5px;
}

.l-footer-sns__item{
    margin-right: 1rem;    
}

.l-footer__sns span {
    display: block;
    font-size: .625rem;
    margin-top: .5rem
}

.l-footer__icons {
    display: flex
}

.l-footer__icons a {
    display: block
}

.l-footer__facebook {
    margin-right: .625rem
}

.l-footer__bottom {
    border-top: 1px solid #194b54
}

.l-footer__bottom-inner {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    margin-right: auto;
    margin-left: auto
}


.l-footer__bottom-inner a{
    width: 100%;
}

@media only screen and (max-width:47.9375em) {
    .l-footer__bottom-inner {
        max-width: 100%;
        padding-top: 1.25rem;
        padding-right: 4.267%;
        padding-left: 4.267%;
        padding-bottom: 1.875rem
    }

    .l-footer__bottom-inner a{
        width: 100%;
    }
    
}

@media print,
screen and (min-width:48em) {
    .l-footer__bottom-inner {
        display: flex;
        justify-content: space-between;
        max-width: 1240px;
        padding: 1.75rem 3.75rem 1.875rem;
        width: 100%;
    }

    .l-footer__bottom-inner a{
        width: 22%;
    }
}

@media only screen and (max-width:47.9375em) {
    .l-footer__bottom-inner span {
        font-size: .875rem
    }

    .l-footer__bottom-buttons {
        display: block;
        margin-top: 10px;
        width: 100%;
    }
}

@media print,
screen and (min-width:48em) {
    .l-footer__bottom-buttons {
        display: flex;
        width: 78%;
        justify-content: flex-start;
    }
}

.l-footer__bottom-buttons a {
    color: #fff;
    border-bottom: 1px solid transparent;
    transition: all cubic-bezier(.215, .61, .355, 1) .15s
}

@media only screen and (max-width:47.9375em) {
    .l-footer__bottom-buttons li {
        margin-top: .625rem
    }
}

@media print,
screen and (min-width:48em) {
    .l-footer__bottom-buttons li {
        /*margin-right: 1.75rem*/
        width: 33.333%;
    }

    .l-footer__bottom-buttons li:hover a {
        border-bottom: 1px solid #fff
    }

    .l-footer__bottom-buttons li:last-of-type {
        margin-right: 0
    }
}

@media only screen and (max-width:47.9375em) {
    .l-footer__middle-inner {
        max-width: 100%;
        padding-top: 1.25rem;
        padding-right: 4.267%;
        padding-left: 4.267%;
        padding-bottom: 1.875rem
    }
}

@media print,
screen and (min-width:48em) {
    .l-footer__middle-inner {
        display: flex;
        justify-content: space-between;
        max-width: 1240px;
        padding: 1.75rem 3.75rem 1.875rem;
        margin: 0 auto;
    }
}

@media only screen and (max-width:47.9375em) {
    .l-footer__middle-buttons {
        display: block;
        margin-top: 10px
    }

    .l-footer__middle-buttons li{
        margin-right: 0;
        margin-bottom: 25px;
    }
    .l-footer__middle-buttons .l-cta__img{
        width: 190px;
        margin-top: 10px;
    }
}

@media print,
screen and (min-width:48em) {
    .l-footer__middle-buttons {
        display: flex
    }

    .l-footer__middle-buttons li{
        margin-right: 40px;
        margin-bottom:0;
    }
    .l-footer__middle-buttons .l-cta__img{
        width: 190px;
        margin-top: 20px;
    }
}





.l-footer__form {
    padding-top: .5625rem;
    padding-bottom: .625rem
}

.l-footer__form small {
    font-size: .75rem;
    display: block;
    text-align: center
}

.l-menu-button {
    display: block;
    position: absolute;
    z-index: 100;
    right: 10px;
    top: 10px;
    width: 60px;
    height: 46px;
    background-color: transparent;
    border: 0;
    outline: 0;
    cursor: pointer
}

@media print,
screen and (min-width:64em) {
    .l-menu-button {
        display: none
    }
}

.l-menu-button__line {
    border: 0;
    position: relative;
    width: 20px;
    height: 16px;
    padding: 0;
    left: 14px;
    display: block;
    background-color: transparent
}

.l-menu-button__line span {
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    top: 7px;
    left: 50%;
    transform: translate(-50%, 0);
    transform-origin: 50% 50%;
    transition: all cubic-bezier(.215, .61, .355, 1) .25s
}

.l-menu-button__line:after,
.l-menu-button__line:before {
    content: "";
    transition: transform cubic-bezier(.215, .61, .355, 1) .25s
}

.l-menu-button__line:before {
    top: 0;
    left: 0
}

.l-menu-button__line:after {
    bottom: 0;
    left: 0
}

.l-menu-button__line span,
.l-menu-button__line:after,
.l-menu-button__line:before {
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #1c1e1f
}

@media only screen and (max-width:63.9375em) {
    .l-menu-button.-active .l-menu-button__line span {
        width: 0;
        background-color: #1c1e1f
    }

    .l-menu-button.-active .l-menu-button__line:before {
        transform: translate(0, 7px) rotate(45deg);
        background-color: #1c1e1f
    }

    .l-menu-button.-active .l-menu-button__line:after {
        transform: translate(0, -7px) rotate(-45deg);
        background-color: #1c1e1f
    }
}

.l-menu-button__text {
    display: block;
    position: relative;
    font-weight: 700;
    text-align: center;
    font-size: .625rem;
    padding-top: 3px;
    white-space: nowrap
}

.home .l-menu-button.-active .l-menu-button__text {
    color: #1c1e1f
}

.browser-is-safari .l-menu-button__text,
.browser-is-ios-chrome .l-menu-button__text {
    left: 5px;
}

.browser-is-safari .l-menu-button__text.-visible,
.browser-is-ios-chrome .l-menu-button__text.-visible {
    left: 10px;
}

.l-menu-button__text1,
.l-menu-button__text2 {
    display: flex;
    justify-content: center;
    height: 20px;
    line-height: 1
}

.l-menu-button__text1 span,
.l-menu-button__text2 span {
    display: block;
    color: #fff
}

.l-menu-button__text1 span:nth-child(1),
.l-menu-button__text2 span:nth-child(1) {
    transition: transform cubic-bezier(.215, .61, .355, 1) .85s .05s
}

.l-menu-button__text1 span:nth-child(2),
.l-menu-button__text2 span:nth-child(2) {
    transition: transform cubic-bezier(.215, .61, .355, 1) .85s .1s
}

.l-menu-button__text1 span:nth-child(3),
.l-menu-button__text2 span:nth-child(3) {
    transition: transform cubic-bezier(.215, .61, .355, 1) .85s .15s
}

.l-menu-button__text1 span:nth-child(4),
.l-menu-button__text2 span:nth-child(4) {
    transition: transform cubic-bezier(.215, .61, .355, 1) .85s .2s
}

.l-menu-button.-active .l-menu-button__text1 span,
.l-menu-button.-active .l-menu-button__text2 span {
    transform: translate(0, -100%)
}

.l-page-top {
    box-sizing: border-box;
    visibility: hidden;
    opacity: 0;
    position: fixed;
    border-radius: 4px;
    z-index: 20;
    background-color: #fff;
    border: 2px solid #1199ab;
    overflow: hidden
}

@media only screen and (max-width:47.9375em) {
    .l-page-top {
        right: 20px;
        bottom: 20px;
        width: 40px;
        height: 40px;
        transform: translateY(10px);
        transition: all cubic-bezier(.215, .61, .355, 1) .6s
    }
}

@media print,
screen and (min-width:48em) {
    .l-page-top {
        right: 20px;
        bottom: 40px;
        width: 60px;
        height: 60px;
        box-shadow: 0 2px 15px 0 rgba(12, 37, 77, .1);
        transition: all cubic-bezier(.215, .61, .355, 1) .6s
    }
}

.l-page-top.-visible:not(.-under-page-top) {
    visibility: visible;
    opacity: 1;
    transform: translateY(0)
}

.l-page-top>a {
    position: relative;
    text-align: center
}

.l-page-top>a i,
.l-page-top>a:before {
    position: absolute;
    transition: all cubic-bezier(.215, .61, .355, 1) .3s
}

.l-page-top>a,
.l-page-top>a:before {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%
}

.l-page-top>a:before {
    content: "";
    top: 0;
    left: 0;
    background: #1199ab;
    transform: translate(0, 100%);
    z-index: 19
}

.l-page-top>a i {
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%226%22%3E%3Cpath%20%20d%3D%22M8.679%200L5%203.492%201.321%200%200%201.254%205%206l5-4.746z%22%20fill%3D%22%231199ab%22%2F%3E%3C%2Fsvg%3E);
    top: 42%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(180deg);
    margin-left: 0;
    z-index: 21
}

@media only screen and (max-width:47.9375em) {
    .l-page-top>a i {
        width: 15px;
        height: 15px
    }
}

@media print,
screen and (min-width:48em) {
    .l-page-top>a i {
        width: 18px;
        height: 18px
    }

    .l-page-top>a:hover:before {
        transform: translate(0, 0)
    }

    .l-page-top>a:hover i {
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100% auto;
        background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%226%22%3E%3Cpath%20%20d%3D%22M8.679%200L5%203.492%201.321%200%200%201.254%205%206l5-4.746z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E)
    }
}

.l-local-nav {
    background-color: #0c323b;
    position: sticky;
    z-index: 30
}

@media print,
screen and (max-width:79.9375em) {
    .l-local-nav__inner {
        padding-top: .5rem
    }
}

@media print,
screen and (min-width:80em) {
    .l-local-nav__inner {
        display: flex;
        padding: .875rem 1.875rem
    }
}

.l-local-nav__head {
    font-weight: 700;
    color: #fff;
    position: relative
}

@media print,
screen and (max-width:79.9375em) {
    .l-local-nav__head {
        padding-left: 1.25rem;
        padding-bottom: .625rem;
        font-size: .75rem
    }
}

@media print,
screen and (min-width:80em) {
    .l-local-nav__head {
        position: relative;
        padding-right: 18px;
        font-size: .875rem
    }
}

.l-local-nav__head:after {
    content: "";
    position: absolute;
    right: 0;
    width: 1px;
    height: 24px;
    background-color: #fff;
    opacity: .25
}

@media print,
screen and (max-width:79.9375em) {
    .l-local-nav__head:after {
        display: none
    }

    .l-local-nav__head span:first-child {
        position: relative;
        top: 4px
    }
}

.l-localheader__icon {
    display: none
}

@media print,
screen and (max-width:79.9375em) {
    .l-localheader__icon {
        position: absolute;
        top: 41%;
        right: 5.334%;
        display: inline-block;
        width: 13px;
        height: 5px
    }

    .l-localheader__icon::after,
    .l-localheader__icon::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        width: 8px;
        height: 2px;
        background-color: #fff
    }

    .l-localheader__icon::before {
        left: 0;
        transform: translate(0, 0) rotate(45deg)
    }

    .l-localheader__icon:after {
        right: 0
    }

    .l-local-nav__inner.is-active .l-localheader__icon::before,
    .l-localheader__icon:after {
        transform: translate(0, 0) rotate(-45deg)
    }

    .l-local-nav__inner.is-active .l-localheader__icon:after {
        transform: translate(0, 0) rotate(45deg)
    }

    .l-local-nav__body {
        height: 0;
        overflow: hidden;
        transition: all cubic-bezier(.215, .61, .355, 1) .25s
    }

    .l-local-nav__items {
        border-top: 1px solid #49666c
    }
}

@media print,
screen and (min-width:80em) {
    .l-local-nav__items {
        display: flex
    }
}

.l-local-nav__item {
    font-size: .875rem;
    margin-left: 1rem
}

@media print,
screen and (max-width:79.9375em) {
    .l-local-nav__item {
        padding-top: .625rem;
        padding-bottom: .5rem
    }
}

.l-local-nav__item a {
    color: #fff;
    display: block;
    transition: color cubic-bezier(.215, .61, .355, 1) .25s
}

@media (hover:hover) {
    .l-local-nav__item a:hover {
        color: #099db8
    }
}

.l-local-nav__item.-current a {
    color: #099db8
}

.l-sidebar {
    position: sticky;
    top: 120px
}

.l-sidebar__block {
    --mt: initial
}

.l-sidebar__block+.l-sidebar__block {
    margin-top: var(--mt)
}

.l-sidebar__block.-archives {
    --mt: 20px
}

@media print,
screen and (min-width:48em) {
    .l-sidebar__block.-archives {
        --mt: 30px
    }
}

.l-sidebar-layout {
    display: grid;
    grid-template: "side" auto "main" auto/1fr;
    gap: 40px
}

@media print,
screen and (min-width:48em) {
    .l-sidebar-layout {
        gap: 0 60px;
        grid-template: "main side" auto/1fr 350px
    }
}

.l-sidebar-layout__area.-main {
    grid-area: main
}

.l-sidebar-layout__area.-side {
    grid-area: side
}

.l-share-main-sidebar {
    display: grid;
    grid-template: "main" auto "sidebar" auto/1fr;
    gap: 40px
}

@media print,
screen and (min-width:48em) {
    .l-share-main-sidebar {
        grid-template: "share main" auto "share sidebar" auto/40px 1fr
    }
}

@media print,
screen and (min-width:64em) {
    .l-share-main-sidebar {
        grid-template: "share . main . sidebar" auto/40px 30fr 790fr 60fr 350fr;
        gap: 0
    }
}

.l-share-main-sidebar__area.-share {
    grid-area: share;
    display: none
}

@media print,
screen and (min-width:48em) {
    .l-share-main-sidebar__area.-share {
        display: block
    }
}

.l-share-main-sidebar__area.-main {
    grid-area: main
}

.l-share-main-sidebar__area.-sidebar {
    grid-area: sidebar
}

@media only screen and (max-width:63.9375em) {
    .l-menu-form {
        display: block;
        width: 108px;
        position: absolute;
        right: 78px;
        top: 14px
    }
}

@media print,
screen and (min-width:64em) {
    .l-menu-form {
        display: none
    }
}

@media only screen and (max-width:47.9375em) {
    .c-section-1 {
        margin-top: 54px
    }
}

@media print,
screen and (min-width:48em) {
    .c-section-1 {
        margin-top: 80px
    }
}

@media print,
screen and (min-width:64em) {
    .c-section-1 {
        margin-top: 114px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-section-2 {
        margin-top: 40px
    }
}

@media print,
screen and (min-width:48em) {
    .c-section-2 {
        margin-top: 70px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-section-3 {
        margin-top: 40px
    }
}

@media print,
screen and (min-width:48em) {
    .c-section-3 {
        margin-top: 60px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-section-3.-sp_mt-s {
        margin-top: 24px
    }

    .c-section-35 {
        margin-top: 40px
    }
}

@media print,
screen and (min-width:48em) {
    .c-section-35 {
        margin-top: 60px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-section-4 {
        margin-top: 40px
    }
}

@media print,
screen and (min-width:48em) {
    .c-section-4 {
        margin-top: 50px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-section-4.-sp_mt-s {
        margin-top: 24px
    }

    .c-section-5 {
        margin-top: 42px
    }
}

@media print,
screen and (min-width:48em) {
    .c-section-5 {
        margin-top: 47px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-section-5.-sp_mt-s {
        margin-top: 24px
    }

    .c-section-6 {
        margin-top: 30px
    }
}

@media print,
screen and (min-width:48em) {
    .c-section-6 {
        margin-top: 40px
    }
}

.c-section-65 {
    margin-top: 40px
}

.c-section-655 {
    margin-top: 24px
}

@media print,
screen and (min-width:48em) {
    .c-section-655 {
        margin-top: 40px
    }
}

.c-section-6_2 {
    margin-top: 16px
}

@media print,
screen and (min-width:48em) {
    .c-section-6_2 {
        margin-top: 40px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-section-7 {
        margin-top: 20px
    }
}

@media print,
screen and (min-width:48em) {
    .c-section-7 {
        margin-top: 35px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-section-8 {
        margin-top: 14px
    }
}

@media print,
screen and (min-width:48em) {
    .c-section-8 {
        margin-top: 20px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-section-8.-sp_mt-l {
        margin-top: 30px
    }

    .c-section-9 {
        margin-top: 10px
    }
}

@media print,
screen and (min-width:48em) {
    .c-section-9 {
        margin-top: 10px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-section-10 {
        margin-top: 8px
    }
}

@media print,
screen and (min-width:48em) {
    .c-section-10 {
        margin-top: 16px
    }
}

.c-section-11 {
    margin-top: 40px
}

@media print,
screen and (min-width:48em) {
    .c-section-11 {
        margin-top: 80px
    }
}

.c-section-1:first-child,
.c-section-2:first-child,
.c-section-3:first-child {
    margin-top: 0
}

@media print,
screen and (min-width:48em) {
    .c-heading-2+.c-section-2 {
        margin-top: 74px
    }
}

ul.c-list {
    --marker-color: #e2dcdc
}

ul.c-list li {
    position: relative;
    padding-left: 1em
}

ul.c-list li::before {
    content: "";
    position: absolute;
    top: .75em;
    left: 0;
    width: .375em;
    height: .375em;
    display: inline-block;
    background: var(--marker-color);
    border-radius: 50%
}

.c-heading-1 {
    font-size: var(--size);
    font-weight: 700;
    line-height: calc(var(--height), var(--size))
}

@media only screen and (max-width:47.9375em) {
    .c-heading-1 {
        --height: 2.125rem;
        --size: 1.5rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-heading-1 {
        --height: 4.5rem;
        --size: 2.5rem
    }

    .c-heading-1.-align-s_center {
        text-align: center
    }
}

.c-heading-1.-align_center {
    text-align: center
}

.c-heading-1.-page_top {
    font-size: var(--size)
}

@media only screen and (max-width:47.9375em) {
    .c-heading-1.-page_top {
        --height: 2.125rem;
        --size: 1.75rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-heading-1.-page_top {
        --height: 4.5rem;
        --size: 2.5rem
    }
}

.c-heading-1__sub {
    font-size: 1.125rem;
    margin-left: 12px;
    font-weight: 500
}

@media only screen and (max-width:47.9375em) {
    .c-heading-1__sub {
        font-size: .875rem;
        display: block;
        margin-left: 0
    }
}

.c-heading-1.-inversion {
    color: #1c1e1f
}

.c-heading-2 {
    --text-color: #1c1e1f;
    font-weight: 700;
    color: var(--text-color)
}

@media print,
screen and (min-width:48em) {
    .c-heading-2 {
        font-size: 2.25rem;
        line-height: 1.4
    }
}

@media only screen and (max-width:47.9375em) {
    .c-heading-2 {
        font-size: 1.5rem;
        line-height: 1.5866666667
    }
}

@media print,
screen and (min-width:48em) {

    .c-heading-2.-align-s_center,
    .c-heading-2.-align_center {
        text-align: center
    }
}

.c-heading-2.-color_white {
    --text-color: #fff
}

.c-heading-3 {
    font-weight: 700
}

@media print,
screen and (min-width:48em) {
    .c-heading-3 {
        font-size: 2rem;
        line-height: 1.4
    }
}

@media only screen and (max-width:47.9375em) {
    .c-heading-3 {
        font-size: 1.5rem;
        line-height: 1.4
    }
}

@media print,
screen and (min-width:48em) {
    .c-heading-3.-align-s_center {
        text-align: center
    }
}

.c-heading-3.-align_center {
    text-align: center
}

.c-heading-4,
.c-heading-5 {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.6
}

@media print,
screen and (min-width:48em) {
    .c-heading-4.-align-s_center {
        text-align: center
    }
}

.c-heading-4.-align_center {
    text-align: center
}

.c-heading-5 {
    font-size: 1.375rem;
    line-height: 1.6454545455
}

@media only screen and (max-width:47.9375em) {
    .c-heading-5 {
        font-size: 1rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-heading-5.-align_center {
        text-align: center
    }
}

.c-image {
    width: 100%;
    height: auto
}

.c-image.-fluid {
    max-width: 100%
}

.c-image.-proto {
    width: auto
}

.c-image.-center {
    margin-right: auto;
    margin-left: auto
}

.c-image.-round {
    border-radius: 10px
}

.c-inline-link {
    --text-color: #1c1e1f;
    --icon-transform: translateX(0);
    --transition-duration: .25s;
    --transition-easing: ease-in-out;
    display: inline;
    transition: color var(--transition-duration) var(--transition-easing);
    color: var(--text-color)
}

@media (hover:hover) {
    .c-inline-link:hover {
        --text-color: #1199ab;
        --icon-transform: translateX(.25em)
    }
}

.c-inline-link__icon {
    display: inline-block;
    margin-left: .4615384615em;
    margin-bottom: .0769230769em;
    width: .5384615385em;
    height: auto;
    transition: transform var(--transition-duration) var(--transition-easing);
    transform: var(--icon-transform)
}

.c-bar {
    isolation: isolate;
    position: relative;
    height: .125rem;
    background-color: #e2dcdc
}

.c-bar::after {
    content: "";
    display: block;
    width: 6.25rem;
    height: 100%;
    background-color: #1199ab;
    position: absolute;
    top: 0;
    left: 0
}

.c-bar.-size_s {
    height: .0625rem
}

.c-bar.-size_s::after {
    width: 1.875rem
}

.c-button {
    background-color: var(--bg-color);
    border: .0625rem solid var(--border-color);
    padding: var(--padding);
    max-width: var(--max-width);
    display: inline-block;
    font-weight: 700;
    font-size: var(--font-size);
    color: var(--text-color);
    text-align: center;
    border-radius: 4px;
    box-sizing: border-box;
    transition-property: color, background-color, border-color;
    transition-duration: .25s;
    transition-timing-function: ease-in-out;
    cursor: pointer;
    box-shadow: 0 5px 20px 0 rgba(9, 77, 89, .15);
    position: relative
}

.c-button.-center {
    margin: 0 auto;
    display: block
}

.c-button.-no_maw,
.c-button.-type_banner {
    max-width: none
}

.c-button.-block {
    display: block
}

.c-button.-icon_down-arrow {
    position: relative;
    padding-right: 1.6875rem;
    padding-left: 1.6875rem
}

.c-button.-has_text {
    flex-direction: column
}

.c-button.-has_text .c-button__text {
    margin-left: .375rem;
    margin-right: 1.25rem
}

.c-button.-has_text .c-button__sub {
    display: block;
    font-size: .75rem;
    text-align: center;
    font-weight: 500
}

@media only screen and (max-width:47.9375em) {
    .c-button.-has_text .c-button__text {
        white-space: nowrap
    }
}

@media print,
screen and (max-width:87.4375em) {
    .c-button .c-button__text.-fs_m {
        font-size: 1.125rem
    }
}

@media only screen and (max-width:47.9375em) {
    .c-button.-w250 {
        width: 100%
    }
}

@media print,
screen and (min-width:48em) {
    .c-button.-w250 {
        max-width: 250px;
        width: 250px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-button.-w300 {
        width: 100%
    }
}

@media print,
screen and (min-width:48em) {
    .c-button.-w300 {
        max-width: 300px;
        width: 300px
    }
}

.c-button.-size_s {
    --padding: .375rem 2rem .5rem 1.5rem;
    --max-width: 9rem;
    --font-size: 1rem
}

@media only screen and (max-width:47.9375em) {
    .c-button.-size_s {
        --max-width: 100%;
        width: 100%
    }
}

.c-button.-size_m {
    --padding: 1rem 1.5rem 1rem 1rem;
    --max-width: 15.625rem;
    --font-size: 1.125rem
}

@media only screen and (max-width:47.9375em) {
    .c-button.-size_m {
        --font-size: 1rem;
        --max-width: 100%;
        width: 100%;
        text-align: center
    }
}

.c-button.-size_l,
.c-button.c-tag.-type_post-industry,
.c-button.c-tag.-type_post-service {
    --padding: 1rem 1.5rem 1rem 1rem;
    --max-width: 18.75rem;
    --font-size: 1.125rem
}

@media only screen and (max-width:47.9375em) {

    .c-button.-size_l,
    .c-button.c-tag.-type_post-industry,
    .c-button.c-tag.-type_post-service {
        --padding: .625rem 1.125rem .75rem 1rem;
        --font-size: 1rem;
        --max-width: 100%;
        width: 100%;
        text-align: center
    }
}

.c-button.-size_s.-blank {
    --padding: .375rem 2rem .5rem 1.5rem;
    --max-width: 9rem;
    --font-size: 1rem;
    --padding: .5rem 2.3rem .375rem 1.4rem
}

@media only screen and (max-width:47.9375em) {
    .c-button.-size_s.-blank {
        --max-width: 100%;
        width: 100%
    }
}

.c-button.-size_m.-ft_s {
    font-size: .875rem
}

.c-button.-type_ye-top {
    --text-color: #1c1e1f;
    --bg-color: #fcf403;
    --border-color: #fcf403;
    --padding: .4375rem 2.8125rem .5rem 2.8125rem;
    --max-width: auto;
    --font-size: 1.25rem
}

@media (hover:hover) {
    .c-button.-type_ye-top:hover {
        --bg-color: #fcca03;
        --border-color: #fcca03
    }
}

@media only screen and (max-width:47.9375em) {
    .c-button.-type_ye-top {
        --padding: .4375rem 1.25rem .5rem 1.25rem;
        --font-size: 1rem;
        text-align: center;
        box-shadow: 0 5px 20px 0 rgba(21, 67, 138, .15)
    }
}

.c-button.-type_ye-detail {
    --text-color: #1c1e1f;
    --bg-color: #fcf403;
    --border-color: #fcf403;
    --padding: .4375rem .75rem .5rem 1rem;
    --max-width: auto;
    --font-size: 1.125rem
}

@media (hover:hover) {
    .c-button.-type_ye-detail:hover {
        --bg-color: #fcca03;
        --border-color: #fcca03
    }
}

@media only screen and (max-width:47.9375em) {
    .c-button.-type_ye-detail {
        --padding: .4375rem 0 .5rem 0;
        --font-size: 1rem;
        text-align: center;
        box-shadow: 0 5px 20px 0 rgba(21, 67, 138, .15)
    }
}

.c-button.-type_ye-detail-no-text {
    --text-color: #1c1e1f;
    --bg-color: #fcf403;
    --border-color: #fcf403;
    --padding: .4375rem .75rem .5rem 1rem;
    --max-width: auto;
    --padding: 1rem 1.5rem 1rem 1rem;
    --max-width: 18.75rem;
    --font-size: 1.125rem;
    max-width: none
}

@media (hover:hover) {
    .c-button.-type_ye-detail-no-text:hover {
        --bg-color: #fcca03;
        --border-color: #fcca03
    }
}

@media only screen and (max-width:47.9375em) {
    .c-button.-type_ye-detail-no-text {
        --padding: .4375rem 0 .5rem 0;
        --padding: .625rem 1.125rem .75rem 1rem;
        --font-size: 1rem;
        --max-width: 100%;
        width: 100%;
        text-align: center;
        box-shadow: 0 5px 20px 0 rgba(21, 67, 138, .15)
    }
}

.c-button.-type_ye-cta {
    --text-color: #1c1e1f;
    --bg-color: #fcf403;
    --border-color: #fcf403;
    --padding: .4375rem 1.25rem .5rem 1.25rem;
    --max-width: 25rem;
    --font-size: 1.25rem
}

@media (hover:hover) {
    .c-button.-type_ye-cta:hover {
        --bg-color: #fcca03;
        --border-color: #fcca03
    }
}

@media only screen and (max-width:47.9375em) {
    .c-button.-type_ye-cta {
        --padding: .4375rem 1.25rem .5rem 1.25rem;
        --max-width: auto;
        width: 100%;
        --font-size: 1rem;
        text-align: center;
        box-shadow: 0 5px 20px 0 rgba(21, 67, 138, .15);
        padding-left: 10px
    }
}

.c-button.-type_cta-white {
    --padding: .4375rem .75rem .5rem .75rem;
    --max-width: 25rem;
    --font-size: 1.25rem;
    --text-color: #fff;
    --bg-color: $accentColor;
    --border-color: #fff;
    margin-top: 12px;
    border: .125rem solid var(--border-color)
}

@media only screen and (max-width:47.9375em) {
    .c-button.-type_cta-white {
        --padding: .4375rem 1.5625rem .5rem 1.5625rem;
        --max-width: auto;
        width: 100%;
        --font-size: 1rem;
        text-align: center
    }
}

@media print and (hover:hover),
screen and (hover:hover) and (min-width:64em) {
    .c-button.-type_cta-white:hover {
        --bg-color: #fff;
        --text-color: #1199ab
    }
}

@media print,
screen and (min-width:1190px) {
    .c-button.-type_cta-white {
        margin-top: 0;
        margin-left: 20px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-button.-type_cta-white {
        padding-left: 14px
    }
}

.c-button.-type_cta-bg-white {
    --padding: 1rem 1.5rem 1rem 1rem;
    --max-width: 15.625rem;
    --font-size: 1.125rem;
    --text-color: #1199ab;
    --bg-color: #fff;
    --border-color: #1199ab
}

@media only screen and (max-width:47.9375em) {
    .c-button.-type_cta-bg-white {
        --font-size: 1rem;
        --max-width: 100%;
        width: 100%;
        text-align: center
    }
}

@media (hover:hover) {
    .c-button.-type_cta-bg-white:hover {
        --bg-color: #0fb4bf;
        --text-color: #fff
    }
}

.c-button.-type_bg-accent {
    --text-color: #fff;
    --bg-color: #1199ab;
    --border-color: #1199ab
}

@media (hover:hover) {
    .c-button.-type_bg-accent:hover {
        --bg-color: #0fb4bf;
        --border-color: #0fb4bf
    }
}

.c-button.-search {
    --padding: .5625rem 1.3125rem .5rem 1.5625rem
}

@media only screen and (max-width:47.9375em) {
    .c-button.-search {
        --max-width: 100%;
        width: 100%
    }
}

.c-button.-type_top-mail {
    --text-color: #fff;
    --bg-color: #1199ab;
    --border-color: #fff;
    --padding: .4375rem 1rem;
    --max-width: auto;
    --font-size: .875rem;
    border: .125rem solid var(--border-color);
    margin-top: 12px;
    text-align: center
}

@media only screen and (max-width:47.9375em) {
    .c-button.-type_top-mail {
        --text-color: #1199ab;
        --border-color: #1199ab;
        --bg-color: transparent
    }
}

@media print and (hover:hover),
screen and (hover:hover) and (min-width:64em) {
    .c-button.-type_top-mail:hover {
        --bg-color: #fff;
        --text-color: #1199ab
    }
}

@media only screen and (max-width:47.9375em) {
    .c-button.-type_top-mail {
        max-width: 100%;
        width: 100%
    }
}

.c-button.-type_header-ye {
    --text-color: #1c1e1f;
    --bg-color: #fcf403;
    --border-color: #fcf403;
    --padding: .3125rem .75rem;
    --max-width: 7.5rem;
    --font-size: .875rem;
    box-sizing: border-box;
    width: 7.5rem;
    font-size: .8125rem;
    text-align: center;
    margin-right: 10px;
    box-shadow: none;
    white-space: nowrap
}

@media (hover:hover) {
    .c-button.-type_header-ye:hover {
        --bg-color: #fcca03;
        --border-color: #fcca03
    }
}

@media only screen and (max-width:47.9375em) {
    .c-button.-type_header-ye {
        --max-width: 100%;
        width: 100%
    }
}

@media print,
screen and (max-width:79.9375em) {
    .c-button.-type_header-ye {
        max-width: 100%;
        width: 100%
    }
}

@media print,
screen and (min-width:80em) {
    .c-button.-type_header-ye {
        height: 100%
    }
}

@media print,
screen and (max-width:79.9375em) {
    .c-button.-type_header-ye.-sp_top {
        font-size: .75rem;
        max-width: 6.75rem;
        padding-right: .375rem;
        padding-left: .375rem
    }
}

.c-button.-type_header-wh {
    --text-color: #fff;
    --bg-color: #1199ab;
    --border-color: #fff;
    --padding: .3125rem .75rem;
    --max-width: 7.5rem;
    --font-size: .875rem;
    box-sizing: border-box;
    width: 7.5rem;
    font-size: .8125rem;
    text-align: center;
    border: .125rem solid #1199ab;
    box-shadow: none
}

@media print and (hover:hover),
screen and (hover:hover) and (min-width:64em) {
    .c-button.-type_header-wh:hover {
        --bg-color: #fff;
        --text-color: #1199ab
    }
}

@media only screen and (max-width:47.9375em) {
    .c-button.-type_header-wh {
        --max-width: 100%;
        width: 100%
    }
}

@media print,
screen and (max-width:79.9375em) {
    .c-button.-type_header-wh {
        max-width: 100%;
        width: 100%
    }
}

@media print,
screen and (min-width:80em) {
    .c-button.-type_header-wh {
        height: 100%
    }

    .l-header.-scroll .c-button.-type_header-wh {
        --text-color: #1199ab;
        --bg-color: #fff;
        --border-color: #1199ab
    }
}

@media print and (hover:hover),
screen and (min-width:80em) and (hover:hover) {
    .l-header.-scroll .c-button.-type_header-wh:hover {
        --bg-color: #0fb4bf;
        --text-color: #fff;
        --border-color: #0fb4bf
    }
}

@media (hover:hover) {
    .l-header.-scroll .c-button.-type_header-wh:hover {
        border: .125rem solid #0fb4bf
    }
}

.c-button.-disabled {
    --bg-color: #ced8db;
    --border-color: #ced8db;
    pointer-events: none;
    --text-color: #8e989c
}

@media only screen and (max-width:47.9375em) {
    .c-button.-mt_spS {
        margin-top: 14px
    }
}

.c-button__icon {
    position: absolute
}

.c-button__icon.-down-arrow {
    width: .529375em;
    height: .625em;
    right: 1.3125rem;
    top: 50%;
    transform: translateY(-50%)
}

.c-row {
    --margin-top: initial;
    --margin-bottom: initial;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom)
}

@media print,
screen and (min-width:48em) {
    .c-row.-h1 {
        --margin-bottom: 2.1875rem
    }
}

@media only screen and (max-width:47.9375em) {
    .c-row.-h1 {
        --margin-bottom: 1rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-row.-sub-heading+.c-row.-h1 {
        --margin-top: 1rem
    }
}

@media only screen and (max-width:47.9375em) {
    .c-row.-sub-heading+.c-row.-h1 {
        --margin-top: .3125rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-row.-h2 {
        --margin-top: 3.25rem;
        --margin-bottom: 3.4375rem
    }
}

@media only screen and (max-width:47.9375em) {
    .c-row.-h2 {
        --margin-top: 1.375rem;
        --margin-bottom: 1.5rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-row.-sub-heading+.c-row.-h2 {
        --margin-top: 1rem
    }
}

@media only screen and (max-width:47.9375em) {
    .c-row.-sub-heading+.c-row.-h2 {
        --margin-top: .4375rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-row.-h3 {
        --margin-top: 3.125rem;
        --margin-bottom: 1.25rem
    }
}

@media only screen and (max-width:47.9375em) {
    .c-row.-h3 {
        --margin-top: 1.625rem;
        --margin-bottom: .375rem
    }
}

.c-row.-sub-heading+.c-row.-h4 {
    --margin-top: .5rem
}

.c-row.-sub-heading {
    --margin-top: 3.125rem
}

.c-row.-point-section {
    --margin-top: 3.75rem;
    --margin-bottom: 3.75rem
}

.c-row.-link-card {
    --margin-top: 3.75rem
}

@media print,
screen and (min-width:48em) {
    .c-row.-text {
        --margin-top: 1.25rem;
        --margin-bottom: 1.25rem
    }
}

@media only screen and (max-width:47.9375em) {
    .c-row.-text {
        --margin-top: 1rem;
        --margin-bottom: 1rem
    }

    .c-row.-h3+.c-row.-text {
        --margin-top: .5rem
    }
}

.c-row.-h4+.c-row.-text {
    --margin-top: .375rem
}

.c-row.-banner {
    --margin-top: 5rem;
    --margin-bottom: 4.375rem
}

@media print,
screen and (min-width:48em) {
    .c-row.-image {
        --margin-top: 1.875rem;
        --margin-bottom: 1.875rem
    }
}

@media only screen and (max-width:47.9375em) {
    .c-row.-image {
        --margin-top: 1.25rem;
        --margin-bottom: 1.25rem
    }
}

.c-row.-faq,
.c-row.-service-link {
    --margin-top: 1.625rem;
    --margin-bottom: 1.625rem
}

@media print,
screen and (min-width:48em) {
    .c-row.-philosophy {
        --margin-top: 3.75rem
    }
}

@media only screen and (max-width:47.9375em) {
    .c-row.-philosophy {
        --margin-top: 2rem
    }

    .c-row.-philosophy+.-philosophy {
        --margin-top: 1.5rem
    }
}

.c-row.-wp-post-main {
    --margin-top: 9.375rem
}

.c-row.-feature-reason {
    --margin-top: 2.75rem
}

@media only screen and (max-width:47.9375em) {
    .c-row.-feature-result {
        --margin-top: 1.375rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-row.-feature-result {
        --margin-top: 2.75rem
    }
}

@media only screen and (max-width:47.9375em) {
    .c-row.-feature-result+.-feature-result {
        --margin-top: 2.5rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-row.-feature-result+.-feature-result {
        --margin-top: 3.75rem
    }
}

.c-row.-mb_0 {
    margin-bottom: 0
}

.c-row:first-child {
    margin-top: 0
}

.c-row:last-child {
    margin-bottom: 0
}

.c-sub-heading {
    --text-color: #1199ab;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.25;
    color: var(--text-color)
}

@media print,
screen and (min-width:48em) {
    .c-sub-heading {
        font-size: 1.125rem
    }
}

@media only screen and (max-width:47.9375em) {
    .c-sub-heading {
        font-size: .75rem
    }
}

.c-sub-heading.-align_center {
    text-align: center
}

@media print,
screen and (min-width:48em) {
    .c-sub-heading.-align-s_center {
        text-align: center
    }
}

@media only screen and (max-width:47.9375em) {
    .c-sub-heading.-align-xs_center {
        text-align: center
    }
}

.c-sub-heading.-color_white {
    --text-color: #fff
}

.c-tag {
    --width: 6.875rem;
    --height: 1.75rem;
    --padding: .25rem .625rem;
    --font-size: .625rem;
    width: var(--width);
    height: var(--height);
    background-color: var(--bg-color);
    color: var(--text-color);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--padding);
    font-size: var(--font-size);
    font-weight: 700
}

.c-tag,
.c-tag.-color_black,
.c-tag.-type_post-industry {
    --bg-color: #1a1b29;
    --text-color: #fff
}

.c-tag.-color_gray,
.c-tag.-type_post-service {
    --bg-color: #e2dcdc;
    --text-color: #1a1b29
}

.c-tag.-color_grayish-pink {
    --bg-color: #efd7d8;
    --text-color: #1a1b29
}

.c-tag.-size_s {
    --width: 5rem;
    --height: 1.4375rem;
    --padding: .0625rem .625rem;
    --font-size: .625rem
}

.c-tag.-size_m {
    --width: 6.875rem;
    --height: 1.75rem;
    --padding: .25rem .625rem;
    --font-size: .625rem
}

.c-tag.-size_l,
.c-tag.-type_post-industry,
.c-tag.-type_post-service {
    --width: 9.125rem;
    --height: 1.6875rem;
    --padding: .25rem .625rem;
    --font-size: .875rem
}

.c-text,
.p-cooperation-top__lead,
.p-wp-post>p {
    text-align: justify;
    line-break: strict
}

@media print,
screen and (min-width:48em) {

    .c-text,
    .p-cooperation-top__lead,
    .p-wp-post>p {
        font-size: 1rem;
        line-height: 2.125
    }
}

@media only screen and (max-width:47.9375em) {

    .c-text,
    .p-cooperation-top__lead,
    .p-wp-post>p {
        font-size: .875rem;
        line-height: 1.8571428571
    }
}

@media print,
screen and (min-width:48em) {

    .-align-s_center.p-cooperation-top__lead,
    .c-text.-align-s_center,
    .p-wp-post>p.-align-s_center {
        text-align: center
    }
}

.-align_center.p-cooperation-top__lead,
.c-text.-align_center,
.p-wp-post>p.-align_center {
    text-align: center
}

.-size_m.p-cooperation-top__lead,
.c-text.-size_m,
.p-wp-post>p.-size_m {
    font-size: 1rem
}

@media print,
screen and (min-width:48em) {

    .-size_m.p-cooperation-top__lead,
    .c-text.-size_m,
    .p-wp-post>p.-size_m {
        font-size: 1.125rem
    }
}

.-line_2.p-cooperation-top__lead,
.c-text.-line_2,
.p-wp-post>p.-line_2 {
    line-height: 2
}

@media only screen and (max-width:47.9375em) {

    .-size_sp-m.p-cooperation-top__lead,
    .c-text.-size_sp-m,
    .p-wp-post>p.-size_sp-m {
        font-size: 1rem
    }
}

.c-arrow {
    position: relative;
    top: 7px;
    margin-left: 2px;
    display: inline;
    vertical-align: baseline
}

.c-arrow::after,
.c-arrow::before {
    position: absolute;
    content: "";
    display: block;
    height: 14px;
    width: 10px;
    background-image: url(/wp-content/themes/rcm-w/assets/images/common/icon_right-accent.svg);
    background-repeat: no-repeat;
    background-size: contain;
    right: 0;
    top: 0;
    z-index: 1;
    transform: translate(15px, 0);
    transition: all cubic-bezier(.215, .61, .355, 1) .25s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

@media only screen and (max-width:47.9375em) {
    .c-arrow {
        top: .38em;
        margin-left: 0
    }
}

@media print,
screen and (min-width:48em) {

    .p-blog-panel__item:hover .c-arrow::after,
    .p-blog-panel__item:hover .c-arrow::before,
    .p-seminar-panel__item:hover .c-arrow::after,
    .p-seminar-panel__item:hover .c-arrow::before,
    a:hover .c-arrow::after,
    a:hover .c-arrow::before,
    button:hover .c-arrow::after,
    button:hover .c-arrow::before {
        transform: translate(19px, 0);
        background-image: url(/wp-content/themes/rcm-w/assets/images/common/icon_right-accent-light.svg)
    }
}

.browser-is-chrome .c-arrow {
    top: 7px
}

@media only screen and (max-width:47.9375em) {
    .browser-is-chrome .c-arrow {
        top: 6px
    }
}

.c-arrow.-black::after,
.c-arrow.-black::before {
    background-image: url(/wp-content/themes/rcm-w/assets/images/common/icon_right-black.svg)
}

@media print,
screen and (min-width:48em) {

    a:hover .c-arrow.-black::after,
    a:hover .c-arrow.-black::before,
    button:hover .c-arrow.-black::after,
    button:hover .c-arrow.-black::before {
        background-image: url(/wp-content/themes/rcm-w/assets/images/common/icon_right-black.svg)
    }
}

.c-arrow.-white::after,
.c-arrow.-white::before {
    background-image: url(/wp-content/themes/rcm-w/assets/images/common/icon_right-white.svg)
}

@media print,
screen and (min-width:48em) {

    a:hover .c-arrow.-hover_white::after,
    a:hover .c-arrow.-hover_white::before,
    a:hover .c-arrow.-white::after,
    a:hover .c-arrow.-white::before,
    button:hover .c-arrow.-hover_white::after,
    button:hover .c-arrow.-hover_white::before,
    button:hover .c-arrow.-white::after,
    button:hover .c-arrow.-white::before {
        background-image: url(/wp-content/themes/rcm-w/assets/images/common/icon_right-white.svg)
    }
}

@media print,
screen and (min-width:80em) {
    .c-arrow.-size_pc-s {
        margin-left: 4px
    }

    .c-arrow.-size_pc-s::after,
    .c-arrow.-size_pc-s::before {
        height: 10px;
        width: 10px
    }
}

.c-arrow.-size_s {
    top: .4em
}

@media only screen and (max-width:47.9375em) {
    .browser-is-chrome .c-arrow.-size_s {
        top: 6px
    }
}

.c-icon {
    position: relative;
    display: inline-block;
    height: 100px
}

.c-icon.-block {
    display: block
}

.c-icon.-mail {
    top: 0;
    width: 15px;
    height: 12px;
    margin-left: 2px;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2212%22%3E%3Cg%3E%3Cpath%20d%3D%22M.75%200h13.5a.75.75%200%2001.75.75v10.5a.75.75%200%2001-.75.75H.75a.75.75%200%2001-.75-.75V.75A.75.75%200%2001.75%200zM13.5%203.179L7.554%207.754%201.5%203.163v7.338h12zM1.883%201.5l5.663%204.247%201.469-1.118L13.126%201.5z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);
    transition: all cubic-bezier(.215, .61, .355, 1) .25s
}

@media only screen and (max-width:47.9375em) {
    .c-icon.-mail.-bg_white {
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100% auto;
        background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2212%22%3E%3Cg%3E%3Cpath%20d%3D%22M.75%200h13.5a.75.75%200%2001.75.75v10.5a.75.75%200%2001-.75.75H.75a.75.75%200%2001-.75-.75V.75A.75.75%200%2001.75%200zM13.5%203.179L7.554%207.754%201.5%203.163v7.338h12zM1.883%201.5l5.663%204.247%201.469-1.118L13.126%201.5z%22%20fill%3D%22%231199ab%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)
    }
}

@media print,
screen and (min-width:64em) {

    a:hover .c-icon.-mail.-bg_white,
    button:hover .c-icon.-mail.-bg_white {
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100% auto;
        background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2212%22%3E%3Cg%3E%3Cpath%20d%3D%22M.75%200h13.5a.75.75%200%2001.75.75v10.5a.75.75%200%2001-.75.75H.75a.75.75%200%2001-.75-.75V.75A.75.75%200%2001.75%200zM13.5%203.179L7.554%207.754%201.5%203.163v7.338h12zM1.883%201.5l5.663%204.247%201.469-1.118L13.126%201.5z%22%20fill%3D%22%231199ab%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)
    }
}

.c-icon.-mail.-cta {
    top: -1px
}

@media only screen and (max-width:47.9375em) {
    .c-icon.-mail.-cta {
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100% auto;
        background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2212%22%3E%3Cg%3E%3Cpath%20d%3D%22M.75%200h13.5a.75.75%200%2001.75.75v10.5a.75.75%200%2001-.75.75H.75a.75.75%200%2001-.75-.75V.75A.75.75%200%2001.75%200zM13.5%203.179L7.554%207.754%201.5%203.163v7.338h12zM1.883%201.5l5.663%204.247%201.469-1.118L13.126%201.5z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)
    }
}

@media print,
screen and (min-width:64em) {

    a:hover .c-icon.-mail.-cta,
    button:hover .c-icon.-mail.-cta {
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100% auto;
        background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2212%22%3E%3Cg%3E%3Cpath%20d%3D%22M.75%200h13.5a.75.75%200%2001.75.75v10.5a.75.75%200%2001-.75.75H.75a.75.75%200%2001-.75-.75V.75A.75.75%200%2001.75%200zM13.5%203.179L7.554%207.754%201.5%203.163v7.338h12zM1.883%201.5l5.663%204.247%201.469-1.118L13.126%201.5z%22%20fill%3D%22%231199ab%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)
    }
}

.c-icon.-mail.-accent {
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2212%22%3E%3Cg%3E%3Cpath%20d%3D%22M.75%200h13.5a.75.75%200%2001.75.75v10.5a.75.75%200%2001-.75.75H.75a.75.75%200%2001-.75-.75V.75A.75.75%200%2001.75%200zM13.5%203.179L7.554%207.754%201.5%203.163v7.338h12zM1.883%201.5l5.663%204.247%201.469-1.118L13.126%201.5z%22%20fill%3D%22%231199ab%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);
    margin-right: 6px;
    top: 1px
}

.c-icon.-mail.-on_button {
    margin-left: 4px
}

.c-icon.-mail.-ml_l {
    margin-left: 8px
}

.c-icon.-blank,
.c-icon.-blank.-s_white,
.c-icon.-tag {
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto
}

.c-icon.-blank {
    top: -.05em;
    width: 14px;
    height: 14px;
    margin-left: 13px;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%3E%3Cg%20fill%3D%22%231199ab%22%3E%3Cpath%20d%3D%22M12.1%2012.101H1.9v-10.2h3.78v-1.9H.949a.952.952%200%2000-.951.951v12.1a.952.952%200%2000.951.951h12.1a.952.952%200%2000.951-.951V8.32h-1.9z%22%2F%3E%3Cpath%20d%3D%22M7.378.001v1.957h3.284L5.417%207.201%206.8%208.584l5.244-5.245v3.284H14V.001z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);
    transform: translate(0, 0);
    transition: all cubic-bezier(.215, .61, .355, 1) .25s
}

@media print,
screen and (min-width:48em) {

    a:hover .c-icon.-blank,
    button:hover .c-icon.-blank {
        transform: translate(4px, 0);
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100% auto;
        background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%3E%3Cg%20fill%3D%22%230fb4bf%22%3E%3Cpath%20d%3D%22M12.1%2012.101H1.9v-10.2h3.78v-1.9H.949a.952.952%200%2000-.951.951v12.1a.952.952%200%2000.951.951h12.1a.952.952%200%2000.951-.951V8.32h-1.9z%22%2F%3E%3Cpath%20d%3D%22M7.378.001v1.957h3.284L5.417%207.201%206.8%208.584l5.244-5.245v3.284H14V.001z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)
    }
}

.c-icon.-blank.-s_white,
.c-icon.-tag {
    width: 12px;
    height: 12px
}

.c-icon.-blank.-s_white {
    top: -.05em;
    margin-left: 5px;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%3E%3Cg%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22M12.1%2012.101H1.9v-10.2h3.78v-1.9H.949a.952.952%200%2000-.951.951v12.1a.952.952%200%2000.951.951h12.1a.952.952%200%2000.951-.951V8.32h-1.9z%22%2F%3E%3Cpath%20d%3D%22M7.378.001v1.957h3.284L5.417%207.201%206.8%208.584l5.244-5.245v3.284H14V.001z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);
    transition: all cubic-bezier(.215, .61, .355, 1) .15s
}

@media print,
screen and (min-width:64em) {

    a:hover .c-icon.-blank.-s_white,
    button:hover .c-icon.-blank.-s_white {
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100% auto;
        background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%3E%3Cg%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22M12.1%2012.101H1.9v-10.2h3.78v-1.9H.949a.952.952%200%2000-.951.951v12.1a.952.952%200%2000.951.951h12.1a.952.952%200%2000.951-.951V8.32h-1.9z%22%2F%3E%3Cpath%20d%3D%22M7.378.001v1.957h3.284L5.417%207.201%206.8%208.584l5.244-5.245v3.284H14V.001z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)
    }
}

.c-icon.-blank.-absolute {
    position: absolute;
    top: 1.1em;
    width: 14px;
    height: 14px
}

.c-icon.-blank.-menu {
    top: 0;
    margin-left: 5px
}

.c-icon.-tag {
    top: 0;
    margin-right: 5px;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%3E%3Cpath%20d%3D%22M5.473%200l5.711.816L12%206.528l-5.3%205.3a.577.577%200%2001-.816%200L.169%206.119a.577.577%200%20010-.816zm1.632%204.9a1.154%201.154%200%20100-1.632%201.154%201.154%200%20000%201.632z%22%20fill%3D%22%23194b54%22%2F%3E%3C%2Fsvg%3E);
    transition: all cubic-bezier(.215, .61, .355, 1) .25s
}

.c-icon.-tag.-full-size {
    width: 100%;
    height: 0;
    padding-top: 100%
}

.c-icon.-tag.-no-mr,
.c-icon.-tel {
    margin-right: 0
}

.c-icon.-tag.-brighter {
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%3E%3Cpath%20d%3D%22M5.473%200l5.711.816L12%206.528l-5.3%205.3a.577.577%200%2001-.816%200L.169%206.119a.577.577%200%20010-.816zm1.632%204.9a1.154%201.154%200%20100-1.632%201.154%201.154%200%20000%201.632z%22%20fill%3D%22%23077887%22%2F%3E%3C%2Fsvg%3E)
}

.c-icon.-tel {
    top: -.025em;
    width: 16px;
    height: 16px;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2215.999%22%3E%3Cpath%20d%3D%22M16%2011.928v3.143a.889.889%200%2001-.827.887c-.388.027-.706.041-.951.041A14.221%2014.221%200%20010%201.778Q0%201.41.041.827A.889.889%200%2001.928%200h3.143a.444.444%200%2001.443.4c.02.2.039.367.057.491a12.356%2012.356%200%20001.073%203.556.4.4%200%2001-.131.5L3.6%206.321A11.6%2011.6%200%20009.679%2012.4l1.369-1.915a.411.411%200%2001.509-.132%2012.356%2012.356%200%20003.555%201.071c.124.018.286.037.489.057a.444.444%200%2001.4.443z%22%20fill%3D%22%231199ab%22%2F%3E%3C%2Fsvg%3E);
    transition: all cubic-bezier(.215, .61, .355, 1) .25s
}

.c-icon.-tel.-size_s {
    top: -.025em;
    width: 12px;
    height: 12px;
    margin-right: 2px
}

.c-icon.-tel,
.c-icon.-tel.-white {
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto
}

.c-icon.-tel.-white {
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2215.999%22%3E%3Cpath%20d%3D%22M16%2011.928v3.143a.889.889%200%2001-.827.887c-.388.027-.706.041-.951.041A14.221%2014.221%200%20010%201.778Q0%201.41.041.827A.889.889%200%2001.928%200h3.143a.444.444%200%2001.443.4c.02.2.039.367.057.491a12.356%2012.356%200%20001.073%203.556.4.4%200%2001-.131.5L3.6%206.321A11.6%2011.6%200%20009.679%2012.4l1.369-1.915a.411.411%200%2001.509-.132%2012.356%2012.356%200%20003.555%201.071c.124.018.286.037.489.057a.444.444%200%2001.4.443z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E)
}

@media print,
screen and (max-width:79.9375em) {
    .c-icon.-tel.-header {
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100% auto;
        background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2215.999%22%3E%3Cpath%20d%3D%22M16%2011.928v3.143a.889.889%200%2001-.827.887c-.388.027-.706.041-.951.041A14.221%2014.221%200%20010%201.778Q0%201.41.041.827A.889.889%200%2001.928%200h3.143a.444.444%200%2001.443.4c.02.2.039.367.057.491a12.356%2012.356%200%20001.073%203.556.4.4%200%2001-.131.5L3.6%206.321A11.6%2011.6%200%20009.679%2012.4l1.369-1.915a.411.411%200%2001.509-.132%2012.356%2012.356%200%20003.555%201.071c.124.018.286.037.489.057a.444.444%200%2001.4.443z%22%20fill%3D%22%231199ab%22%2F%3E%3C%2Fsvg%3E)
    }
}

@media print,
screen and (min-width:80em) {
    .l-header.-scroll .c-icon.-tel.-header {
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100% auto;
        background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2215.999%22%3E%3Cpath%20d%3D%22M16%2011.928v3.143a.889.889%200%2001-.827.887c-.388.027-.706.041-.951.041A14.221%2014.221%200%20010%201.778Q0%201.41.041.827A.889.889%200%2001.928%200h3.143a.444.444%200%2001.443.4c.02.2.039.367.057.491a12.356%2012.356%200%20001.073%203.556.4.4%200%2001-.131.5L3.6%206.321A11.6%2011.6%200%20009.679%2012.4l1.369-1.915a.411.411%200%2001.509-.132%2012.356%2012.356%200%20003.555%201.071c.124.018.286.037.489.057a.444.444%200%2001.4.443z%22%20fill%3D%22%231199ab%22%2F%3E%3C%2Fsvg%3E)
    }
}

.c-icon.-apple,
.c-icon.-arrow-down,
.c-icon.-arrow-down.-on_button {
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto
}

.c-icon.-arrow-down {
    top: -.175em;
    width: 10px;
    height: 6px;
    margin-left: 3px;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%226%22%3E%3Cpath%20%20d%3D%22M8.679%200L5%203.492%201.321%200%200%201.254%205%206l5-4.746z%22%20fill%3D%22%231c1e1f%22%2F%3E%3C%2Fsvg%3E);
    transition: all cubic-bezier(.215, .61, .355, 1) .25s
}

@media print,
screen and (min-width:80em) {

    .l-header.-scroll .c-icon.-arrow-down.-header,
    .p-header-nav__item.-current .c-icon.-arrow-down.-header {
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100% auto;
        background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%226%22%3E%3Cpath%20%20d%3D%22M8.679%200L5%203.492%201.321%200%200%201.254%205%206l5-4.746z%22%20fill%3D%22%231c1e1f%22%2F%3E%3C%2Fsvg%3E)
    }

    .p-header-nav__item.-current .c-icon.-arrow-down.-header {
        background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%226%22%3E%3Cpath%20%20d%3D%22M8.679%200L5%203.492%201.321%200%200%201.254%205%206l5-4.746z%22%20fill%3D%22%231199ab%22%2F%3E%3C%2Fsvg%3E)
    }
}

.c-icon.-apple,
.c-icon.-arrow-down.-on_button {
    width: 15px
}

.c-icon.-arrow-down.-on_button {
    height: 8px;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%226%22%3E%3Cpath%20%20d%3D%22M8.679%200L5%203.492%201.321%200%200%201.254%205%206l5-4.746z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E);
    margin-left: 8px
}

.c-icon.-apple {
    top: .26em;
    height: 19px;
    margin-right: 6px;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215.054%22%20height%3D%2218.481%22%3E%3Cpath%20d%3D%22M7.649%205.31c-.73%200-1.86-.83-3.05-.8a4.5%204.5%200%2000-3.82%202.32c-1.63%202.83-.42%207.01%201.17%209.31.78%201.12%201.7%202.38%202.92%202.34%201.17-.05%201.61-.76%203.03-.76s1.81.76%203.05.73c1.26-.02%202.06-1.14%202.83-2.27a10.05%2010.05%200%20001.28-2.63%204.079%204.079%200%2001-2.48-3.74%204.149%204.149%200%20012-3.51%204.329%204.329%200%2000-3.38-1.83c-1.54-.12-2.83.84-3.55.84zm2.6-2.36a4.043%204.043%200%2000.96-2.95%204.158%204.158%200%2000-2.72%201.4%203.867%203.867%200%2000-.98%202.86%203.448%203.448%200%20002.74-1.31z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E)
}

.c-icon.-google_play {
    top: .1em;
    width: 15px;
    height: 17px;
    margin-right: 8px;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215.003%22%20height%3D%2216.977%22%3E%3Cpath%20d%3D%22M.507%200l8.486%208.486-8.485%208.491A.83.83%200%20010%2016.21V.767A.833.833%200%2001.508%200zm9.075%209.077l1.918%201.919-9.113%205.277%207.2-7.2zm2.666-2.665l2.339%201.355a.833.833%200%20010%201.442l-2.34%201.355-2.075-2.078zM2.387.703L11.5%205.98%209.583%207.899l-7.2-7.2z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E)
}

.c-icon.-facebook,
.c-icon.-google_play,
.c-icon.-mss,
.c-icon.-twitter {
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto
}

.c-icon.-mss {
    top: .1em;
    width: 15px;
    height: 15px;
    margin-right: 8px;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2215%22%3E%3Cpath%20%20d%3D%22M7.083%200v7.083H0V0zm0%2015H0V7.917h7.083zm.833-15H15v7.083H7.917zM15%207.917V15H7.917V7.917z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E)
}

.c-icon.-facebook,
.c-icon.-twitter {
    top: 0;
    width: 24px;
    height: 24px;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20%20d%3D%22M24%2012.073A12%2012%200%201010.125%2024v-8.437H7.078v-3.49h3.047v-2.66c0-3.026%201.792-4.7%204.533-4.7a18.345%2018.345%200%20012.686.236v2.974h-1.513a1.74%201.74%200%2000-1.956%201.885v2.265H17.2l-.532%203.49h-2.8V24A12.054%2012.054%200%200024%2012.073z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E)
}

.c-icon.-twitter {
    top: 3px;
    width: 22px;
    height: 22px;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222.14%22%20height%3D%2218%22%3E%3Cpath%20d%3D%22M6.95%2018A12.84%2012.84%200%200019.88%205.07l-.01-.58a9.3%209.3%200%20002.27-2.36%209.22%209.22%200%2001-2.61.72%204.54%204.54%200%20002-2.52%209.2%209.2%200%2001-2.88%201.1%204.55%204.55%200%2000-7.86%203.11%204.17%204.17%200%2000.11%201.04A12.89%2012.89%200%20011.54.83%204.54%204.54%200%20002.96%206.9%204.46%204.46%200%2001.9%206.32v.06a4.55%204.55%200%20003.65%204.46%204.53%204.53%200%2001-1.2.16%204.34%204.34%200%2001-.86-.09%204.54%204.54%200%20004.24%203.15A9.13%209.13%200%20011.08%2016%208.26%208.26%200%20010%2015.94a12.66%2012.66%200%20006.94%202.05%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E)
}

.c-icon.-person {
    top: 0;
    width: 12px;
    height: 12px;
    margin-right: 5px;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%3E%3Cpath%20d%3D%22M0%200h12v12H0z%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M1%2012a4.5715%204.5715%200%20019.143%200zm4.571-5.143A3.429%203.429%200%20119%203.429a3.428%203.428%200%2001-3.429%203.428z%22%20fill%3D%22%23194b54%22%2F%3E%3C%2Fsvg%3E)
}

.c-icon.-calendar,
.c-icon.-person,
.c-icon.-search {
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto
}

.c-icon.-search {
    top: .25em;
    width: 20px;
    height: 20px;
    margin-left: 7px;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%3E%3Cg%3E%3Cg%3E%3Cpath%20d%3D%22M0%200h20v20H0z%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M15.339%2013.709a7.535%207.535%200%2000-.191-9.213A7.586%207.586%200%20004.5%203.305a7.586%207.586%200%2000-1.191%2010.652%207.585%207.585%200%200010.4%201.382l3.47%203.471%201.632-1.632zm-2.325-.815l-.115.114a5.246%205.246%200%2001-7.339%200%205.231%205.231%200%2001-1.6-3.7%205.238%205.238%200%20011.487-3.75%205.236%205.236%200%20013.7-1.6h.082a5.229%205.229%200%20013.667%201.488%205.236%205.236%200%20011.6%203.7%205.238%205.238%200%2001-1.482%203.748z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E);
    transition: all cubic-bezier(.215, .61, .355, 1) .25s
}

@media print,
screen and (min-width:48em) {

    a:hover .c-icon.-search,
    button:hover .c-icon.-search {
        transform: translate(4px, 0)
    }
}

.c-icon.-calendar {
    width: 16px;
    height: 16px;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M0%200h16v16H0z%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M5.6%200v1.6h4.8V0H12v1.6h3.2a.8.8%200%2001.8.8v12.8a.8.8%200%2001-.8.8H.8a.8.8%200%2001-.8-.8V2.4a.8.8%200%2001.8-.8H4V0zm8.8%205.6H1.6v8.8h12.8zm-3.971%201.709L11.56%208.44%207.6%2012.4%204.771%209.571%205.9%208.44l1.7%201.7%202.83-2.831z%22%20fill%3D%22%23077887%22%2F%3E%3C%2Fsvg%3E)
}

.c-icon.-calendar.-full-size {
    width: 100%;
    height: 0;
    padding-top: 100%
}

@media only screen and (max-width:47.9375em) {
    .c-icon.-calendar.-sp_s {
        width: 14px
    }
}

.c-icon.-calendar.-p_absolute {
    position: absolute;
    left: 0;
    top: 7px
}

@media only screen and (max-width:47.9375em) {
    .c-icon.-calendar.-p_absolute {
        top: 5px
    }
}

.c-block {
    position: relative;
    overflow: hidden
}

@media only screen and (max-width:47.9375em) {
    .c-block {
        padding: 2rem 4.267% 2.5rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-block {
        padding: 5.625rem 3.75rem 5rem
    }
}

.c-block.-no-overflow-hidden {
    overflow: initial
}

.c-block__inner {
    max-width: 1160px;
    position: relative;
    margin: auto
}

.c-block.-detail .c-block__inner {
    max-width: 920px
}

.c-block.-form {
    height: 100%;
    min-height: calc(100vh - 41px)
}

@media only screen and (max-width:47.9375em) {
    .c-block.-form {
        padding-top: 6.25rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-block.-form {
        padding-top: 9.875rem
    }
}

.c-block.-form .c-block__inner {
    max-width: 920px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 10px 20px 0 rgba(9, 77, 89, .15);
    padding-right: 7%;
    padding-left: 7%
}

@media only screen and (max-width:47.9375em) {
    .c-block.-form .c-block__inner {
        padding-top: 1.25rem;
        padding-bottom: 1.625rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-block.-form .c-block__inner {
        padding-top: 4.75rem;
        padding-bottom: 5rem
    }
}

.c-block.-share-sidebar {
    overflow: initial
}

@media only screen and (max-width:47.9375em) {
    .c-block.-share-sidebar {
        padding-top: 92px
    }
}

@media print,
screen and (min-width:48em) {
    .c-block.-share-sidebar {
        padding-top: 130px;
        padding-right: 100px;
        padding-left: 30px
    }
}

.c-block.-share-sidebar .c-block__inner {
    max-width: 1270px
}

.c-block.-breadcrumb-detail {
    padding: .625rem .625rem 0
}

@media print,
screen and (min-width:48em) {
    .c-block.-breadcrumb-detail {
        padding: 1rem 1.875rem 0
    }
}

.c-block.-breadcrumb-detail .c-block__inner {
    max-width: 1340px
}

@media only screen and (max-width:47.9375em) {
    .c-block.-detail-content {
        padding-top: 5.75rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-block.-detail-content {
        padding-top: 10.625rem
    }
}

.c-block.-anchor .c-block__inner,
.c-block.-detail-content .c-block__inner {
    max-width: 920px
}

@media print,
screen and (min-width:48em) {
    .c-block.-anchor {
        padding: 2.5rem 0
    }
}

@media print,
screen and (min-width:48em) {
    .c-block.-anchor .c-block__inner {
        display: flex;
        justify-content: center
    }
}

.c-block.-last {
    padding-bottom: 8.125rem
}

.c-block.-fill {
    background-color: #ebf3f5
}

.c-block.-fill_accent {
    background-color: #1199ab
}

.c-block.-overflow_inherit {
    overflow: inherit
}

@media print,
screen and (min-width:80em) {
    .c-block.-feature_1 {
        padding-bottom: 8rem
    }
}

@media only screen and (max-width:47.9375em) {
    .c-block.-feature_2 {
        padding-bottom: 3.75rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-block.-feature_2 {
        padding-bottom: 9.875rem
    }

    .c-block.-pt_m {
        padding-top: 5rem
    }

    .c-block.-pb_l {
        padding-bottom: 6.25rem
    }
}

.c-block.-pt_0 {
    padding-top: 0
}

@media only screen and (max-width:47.9375em) {
    .c-block.-sp_s {
        padding-top: 1.25rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-block.-case {
        padding-top: 3.75rem
    }
}

.c-block.-service-top {
    padding-top: 44px
}

@media print,
screen and (min-width:48em) {
    .c-block.-service-top {
        padding-top: 66px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-block.-cooperation_1 {
        padding-bottom: 0
    }
}

@media print,
screen and (min-width:48em) {
    .c-block.-cooperation_1 {
        padding-bottom: 0
    }
}

@media only screen and (max-width:47.9375em) {
    .c-block.-cooperation_2 {
        padding-top: 1.875rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-block.-cooperation_2 {
        padding-top: 1.875rem
    }
}

.c-block.-cooperation_3 {
    padding-bottom: 0
}

@media only screen and (max-width:47.9375em) {
    .c-block.-cooperation_3 {
        padding-top: 2.5rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-block.-cooperation_3 {
        padding-top: 5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .c-block.-cooperation_4 {
        padding-top: .875rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-block.-cooperation_4 {
        padding-top: 3.75rem;
        padding-bottom: 2.5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .c-block.-cooperation_4+.c-block.-cooperation_4 {
        padding-top: 2.5rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-block.-cooperation_5 {
        padding-bottom: .625rem
    }

    .c-column {
        display: flex
    }
}

.c-column__item.-flex {
    flex: 1
}

@media print,
screen and (min-width:64em) {
    .c-column__item.-flex-pc {
        flex: 1
    }
}

.c-column.-sp_reverse {
    display: flex
}

@media only screen and (max-width:47.9375em) {
    .c-column.-sp_reverse {
        flex-direction: column-reverse
    }
}

@media print,
screen and (min-width:48em) {
    .c-column.-sp_reverse {
        flex-direction: row
    }

    .c-column.-order-change {
        flex-direction: row-reverse
    }

    .c-column.-S-2-XS-1 {
        flex-wrap: wrap
    }
}

@media only screen and (max-width:47.9375em) {

    .c-column.-S-2-XS-1>.c-column__item:nth-child(0),
    .c-column.-S-2-XS-1>.c-column__item:nth-child(1) {
        margin-top: 0
    }
}

@media print,
screen and (min-width:48em) {
    .c-column.-S-2-XS-1>.c-column__item {
        width: 50%
    }

    .c-column.-S-2-XS-1>.c-column__item:nth-child(0),
    .c-column.-S-2-XS-1>.c-column__item:nth-child(1),
    .c-column.-S-2-XS-1>.c-column__item:nth-child(2) {
        margin-top: 0
    }

    .c-column.-S-2-XS-1.-n_rap {
        flex-wrap: nowrap
    }

    .c-column.-S-3-XS-1 {
        flex-wrap: wrap
    }
}

@media only screen and (max-width:47.9375em) {

    .c-column.-S-3-XS-1>.c-column__item:nth-child(0),
    .c-column.-S-3-XS-1>.c-column__item:nth-child(1) {
        margin-top: 0
    }
}

@media print,
screen and (min-width:48em) {
    .c-column.-S-3-XS-1>.c-column__item {
        width: 33.3%
    }

    .c-column.-S-3-XS-1>.c-column__item:nth-child(0),
    .c-column.-S-3-XS-1>.c-column__item:nth-child(1),
    .c-column.-S-3-XS-1>.c-column__item:nth-child(2) {
        margin-top: 0
    }
}

.c-card,
.c-column.-S-3-XS-2 {
    flex-wrap: wrap
}

@media only screen and (max-width:47.9375em) {
    .c-column.-S-3-XS-2>.c-column__item {
        width: 50%
    }

    .c-column.-S-3-XS-2>.c-column__item:nth-child(0),
    .c-column.-S-3-XS-2>.c-column__item:nth-child(1),
    .c-column.-S-3-XS-2>.c-column__item:nth-child(2) {
        margin-top: 0
    }
}

@media print,
screen and (min-width:48em) {
    .c-column.-S-3-XS-2>.c-column__item {
        width: 33.3%
    }

    .c-column.-S-3-XS-2>.c-column__item:nth-child(0),
    .c-column.-S-3-XS-2>.c-column__item:nth-child(1),
    .c-column.-S-3-XS-2>.c-column__item:nth-child(2) {
        margin-top: 0
    }

    .c-column.-M-4-XS-1 {
        flex-wrap: wrap
    }
}

@media print,
screen and (min-width:64em) {
    .c-column.-M-4-XS-1>.c-column__item {
        width: 25%
    }

    .c-column.-M-4-XS-1>.c-column__item:nth-child(0),
    .c-column.-M-4-XS-1>.c-column__item:nth-child(1),
    .c-column.-M-4-XS-1>.c-column__item:nth-child(2),
    .c-column.-M-4-XS-1>.c-column__item:nth-child(3),
    .c-column.-M-4-XS-1>.c-column__item:nth-child(4) {
        margin-top: 0
    }
}

@media only screen and (max-width:47.9375em) {
    .c-column.-S-2-M-3-XS-1 {
        display: block
    }
}

@media print,
screen and (min-width:48em) {
    .c-column.-S-2-M-3-XS-1 {
        flex-wrap: wrap
    }

    .c-column.-S-2-M-3-XS-1>.c-column__item {
        width: 50%
    }

    .c-column.-S-2-M-3-XS-1>.c-column__item:nth-child(0),
    .c-column.-S-2-M-3-XS-1>.c-column__item:nth-child(1),
    .c-column.-S-2-M-3-XS-1>.c-column__item:nth-child(2) {
        margin-top: 0
    }
}

@media print,
screen and (min-width:64em) {
    .c-column.-S-2-M-3-XS-1>.c-column__item {
        width: 33.3%
    }

    .c-column.-S-2-M-3-XS-1>.c-column__item:nth-child(0),
    .c-column.-S-2-M-3-XS-1>.c-column__item:nth-child(1),
    .c-column.-S-2-M-3-XS-1>.c-column__item:nth-child(2),
    .c-column.-S-2-M-3-XS-1>.c-column__item:nth-child(3) {
        margin-top: 0
    }
}

@media print,
screen and (min-width:48em) {
    .c-column.-S-4-XS-2 {
        flex-wrap: wrap
    }
}

@media only screen and (max-width:47.9375em) {
    .c-column.-S-4-XS-2>.c-column__item {
        width: 50%
    }

    .c-column.-S-4-XS-2>.c-column__item:nth-child(0),
    .c-column.-S-4-XS-2>.c-column__item:nth-child(1),
    .c-column.-S-4-XS-2>.c-column__item:nth-child(2) {
        margin-top: 0
    }
}

@media print,
screen and (min-width:48em) {

    .c-column.-S-4-XS-1>.c-column__item,
    .c-column.-S-4-XS-2>.c-column__item {
        width: 25%
    }

    .c-column.-S-4-XS-1>.c-column__item:nth-child(0),
    .c-column.-S-4-XS-1>.c-column__item:nth-child(1),
    .c-column.-S-4-XS-1>.c-column__item:nth-child(2),
    .c-column.-S-4-XS-1>.c-column__item:nth-child(3),
    .c-column.-S-4-XS-1>.c-column__item:nth-child(4),
    .c-column.-S-4-XS-2>.c-column__item:nth-child(0),
    .c-column.-S-4-XS-2>.c-column__item:nth-child(1),
    .c-column.-S-4-XS-2>.c-column__item:nth-child(2),
    .c-column.-S-4-XS-2>.c-column__item:nth-child(3),
    .c-column.-S-4-XS-2>.c-column__item:nth-child(4) {
        margin-top: 0
    }

    .c-column.-S-4-XS-1 {
        flex-wrap: wrap
    }
}

.c-column.-mx_10 {
    margin-right: -10px;
    margin-left: -10px
}

.c-column.-mx_10>.c-column__item {
    margin-right: 10px;
    margin-left: 10px
}

@media print,
screen and (min-width:48em) {
    .c-column.-mx_10.-S-2-M-3-XS-1>.c-column__item {
        width: calc(50% - 20px)
    }
}

@media print,
screen and (min-width:64em) {
    .c-column.-mx_10.-S-2-M-3-XS-1>.c-column__item {
        width: calc(33.3% - 20px)
    }
}

@media print,
screen and (min-width:48em) {
    .c-column.-mx_10.-S-2-XS-1>.c-column__item {
        width: calc(50% - 20px)
    }
}

.c-column.-mx_30 {
    margin-right: -30px;
    margin-left: -30px
}

.c-column.-mx_30>.c-column__item {
    margin-right: 30px;
    margin-left: 30px
}

@media print,
screen and (min-width:48em) {
    .c-column.-mx_30.-S-2-XS-1>.c-column__item {
        width: calc(50% - 60px)
    }

    .c-column.-mx_30.-S-3-XS-1 {
        margin-top: -54px
    }

    .c-column.-mx_30.-S-3-XS-1>.c-column__item {
        width: calc(33.3% - 60px);
        margin-top: 54px
    }

    .c-column.-mx_30.-S-2-M-3-XS-1>.c-column__item {
        width: calc(50% - 60px)
    }
}

@media print,
screen and (min-width:64em) {
    .c-column.-mx_30.-S-2-M-3-XS-1>.c-column__item {
        width: calc(33.3% - 60px)
    }
}

@media only screen and (max-width:47.9375em) {
    .c-column.-mx_30.-S-4-XS-2>.c-column__item {
        width: calc(50% - 60px)
    }
}

@media print,
screen and (min-width:48em) {

    .c-column.-mx_30.-S-4-XS-1>.c-column__item,
    .c-column.-mx_30.-S-4-XS-2>.c-column__item {
        width: calc(25% - 60px)
    }
}

.c-column.-mx_15 {
    margin-right: -15px;
    margin-left: -15px
}

.c-column.-mx_15>.c-column__item {
    margin-right: 15px;
    margin-left: 15px
}

@media print,
screen and (min-width:48em) {
    .c-column.-mx_15.-S-2-XS-1>.c-column__item {
        width: calc(50% - 30px)
    }
}

@media only screen and (max-width:47.9375em) {
    .c-column.-mx_15.-S-2-XS-2 {
        display: flex;
        margin-top: -34px;
        margin-right: -7px;
        margin-left: -7px
    }
}

@media print,
screen and (min-width:48em) {
    .c-column.-mx_15.-S-2-XS-2 {
        margin-top: -54px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-column.-mx_15.-S-2-XS-2>.c-column__item {
        margin-top: 34px;
        margin-right: 7px;
        margin-left: 7px;
        width: calc(50% - 14px)
    }
}

@media print,
screen and (min-width:48em) {
    .c-column.-mx_15.-S-2-XS-2>.c-column__item {
        margin-top: 54px;
        width: calc(50% - 30px)
    }

    .c-column.-mx_15.-S-3-XS-1 {
        margin-top: -54px
    }

    .c-column.-mx_15.-S-3-XS-1>.c-column__item {
        width: calc(33.3% - 30px);
        margin-top: 54px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-column.-mx_15.-S-3-XS-2 {
        display: flex;
        margin-top: -34px;
        margin-right: -7px;
        margin-left: -7px
    }
}

@media print,
screen and (min-width:48em) {
    .c-column.-mx_15.-S-3-XS-2 {
        margin-top: -54px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-column.-mx_15.-S-3-XS-2>.c-column__item {
        width: calc(50% - 14px);
        margin-top: 34px;
        margin-right: 7px;
        margin-left: 7px
    }
}

@media print,
screen and (min-width:48em) {
    .c-column.-mx_15.-S-3-XS-2>.c-column__item {
        width: calc(33.3% - 30px);
        margin-top: 54px
    }

    .c-column.-mx_15.-S-2-M-3-XS-1>.c-column__item {
        width: calc(50% - 30px)
    }
}

@media print,
screen and (min-width:64em) {
    .c-column.-mx_15.-S-2-M-3-XS-1>.c-column__item {
        width: calc(33.3% - 30px)
    }
}

@media only screen and (max-width:47.9375em) {
    .c-column.-mx_15.-S-4-XS-2>.c-column__item {
        width: calc(50% - 30px)
    }
}

@media print,
screen and (min-width:48em) {
    .c-column.-mx_15.-S-4-XS-2>.c-column__item {
        width: calc(25% - 30px)
    }

    .c-column.-mx_15.-M-4-XS-1 {
        margin-top: -38px
    }

    .c-column.-mx_15.-M-4-XS-1>.c-column__item {
        width: calc(33.3% - 30px);
        margin-top: 38px
    }
}

@media print,
screen and (min-width:64em) {
    .c-column.-mx_15.-M-4-XS-1>.c-column__item {
        width: calc(25% - 30px)
    }
}

.c-column.-mx_20 {
    margin-right: -19px;
    margin-left: -20px
}

.c-column.-mx_20>.c-column__item {
    margin-left: 20px;
    margin-right: 19px
}

@media print,
screen and (min-width:48em) {
    .c-column.-mx_20.-S-3-XS-1>.c-column__item {
        width: calc(33.3% - 39px)
    }

    .c-column.-mt_S-70>.c-column__item {
        margin-top: 70px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-column.-mt_S-70.-document .c-column__item {
        margin-top: 70px
    }
}

@media print,
screen and (min-width:48em) {
    .c-column+.c-column {
        margin-top: 74px
    }
}

@media only screen and (max-width:47.9375em) {
    .c-column.-list .c-column__item {
        margin-top: 0
    }
}

.c-column.-space_between {
    justify-content: space-between
}

@media only screen and (max-width:47.9375em) {
    .c-column.-service .c-column__item+.c-column__item {
        margin-top: 20px
    }

    .c-column.-layout {
        margin-top: 4px
    }

    .c-column.-layout .c-column__item+.c-column__item {
        margin-top: 10px
    }
}

@media print,
screen and (min-width:48em) {
    .c-column.-S-3-XS-1.-mt_66 {
        margin-top: -66px
    }
}

.c-column.-S-3-XS-1.-mt_66 .c-column__item {
    margin-top: 66px
}

@media only screen and (max-width:47.9375em) {
    .c-column.-S-3-XS-1.-mt_66 .c-column__item {
        margin-top: 22px
    }

    .c-column.-access-carry {
        display: block
    }
}

@media print,
screen and (min-width:48em) {
    .c-column.-access-carry {
        display: flex;
        flex-direction: row-reverse
    }
}

.c-column.-access-carry .c-column__item.-w-66 {
    width: calc(66% - 60px);
    margin-right: 60px;
    box-sizing: border-box
}

@media only screen and (max-width:47.9375em) {
    .c-column.-access-carry .c-column__item.-w-66 {
        width: 100%
    }
}

.c-card {
    --row-gap: 30px;
    --col-gap: 24px;
    display: flex;
    margin-top: calc(var(--col-gap)*-1);
    margin-right: calc(var(--row-gap)*-1)
}

@media only screen and (max-width:47.9375em) {
    .c-card {
        display: block;
        margin-top: -20px;
        margin-right: 0
    }
}

.c-card.-type_partner,
.c-card.-type_service {
    --col-gap: 30px
}

.c-card__item {
    display: flex;
    position: relative;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 20px 0 rgba(9, 77, 89, .15);
    transition: all cubic-bezier(.215, .61, .355, 1) .25s
}

@media only screen and (max-width:47.9375em) {
    .c-card__item {
        width: 100%;
        margin-top: 20px;
        margin-right: 0
    }
}

@media print,
screen and (min-width:48em) {
    .c-card__item {
        width: calc(50% - var(--col-gap));
        margin-top: var(--row-gap);
        margin-right: var(--col-gap)
    }
}

@media print,
screen and (min-width:64em) {
    .c-card__item {
        width: calc(33.3% - 24px)
    }

    .c-card.-type_service .c-card__item {
        width: calc(50% - var(--col-gap))
    }

    .c-card.-type_partner .c-card__item {
        width: calc(25% - var(--col-gap))
    }
}

@media (hover:hover) {
    .c-card__item:hover {
        box-shadow: 0 5px 30px 0 rgba(9, 77, 89, .25)
    }

    .c-card__item:hover .c-card__img {
        transform: scale(1.05)
    }

    .c-card__item:hover .c-card__title {
        color: #0fb4bf
    }
}

.c-card__link {
    box-sizing: border-box;
    width: 100%
}

@media only screen and (max-width:47.9375em) {
    .c-card__link {
        position: relative
    }
}

.c-card__content {
    box-sizing: border-box
}

@media only screen and (max-width:47.9375em) {
    .c-card__content {
        padding: 14px 16px 22px
    }
}

@media print,
screen and (min-width:48em) {
    .c-card__content {
        padding: 20px 24px 24px
    }
}

.c-card__content>:first-child {
    margin-top: 0
}

.c-card.-type_partner .c-card__content,
.c-card.-type_service .c-card__content {
    border-top: 1px solid #ced8db
}

@media print,
screen and (min-width:48em) {
    .c-card.-type_howto .c-card__content {
        padding: 30px
    }

    .c-card.-type_cooperation .c-card__content {
        padding: 16px 24px 18px
    }
}

.c-card__title {
    font-size: 1.125rem;
    font-weight: 700;
    position: relative;
    color: #1199ab;
    transition: color cubic-bezier(.215, .61, .355, 1) .25s;
    display: inline-block
}

.c-card__title span {
    line-height: 1.5
}

.c-card__text {
    display: block;
    margin-top: 16px;
    font-weight: 500
}

@media only screen and (max-width:47.9375em) {
    .c-card__text {
        margin-top: 8px
    }
}

.c-card__text.-mt_s {
    margin-top: 12px
}

.c-card.-type_cooperation .c-card__text {
    margin-top: 8px
}

.c-card__thumb {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 70%;
    overflow: hidden;
    background-color: #f1f2f2;
    border-radius: 10px 10px 0 0
}

.c-card.-type_service .c-card__thumb {
    padding-top: calc(200/565*100%)
}

.c-card.-type_partner .c-card__thumb {
    padding-top: calc(190/380*100%)
}

.c-card.-type_howto .c-card__thumb {
    background-color: #f2f8fa;
    padding-top: 50%
}

.c-card.-type_cooperation .c-card__thumb {
    padding-top: 38%;
    background-color: transparent;
    border-bottom: 1px solid #ced8db
}

.c-card__img {
    transition: transform cubic-bezier(.215, .61, .355, 1) .3s;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: contain
}

.c-card.-type_howto .c-card__img {
    padding: 24px
}

.c-card__img.-cooperation {
    object-fit: cover
}

@media print,
screen and (min-width:48em) {
    .c-card.-other .c-card__content {
        padding-top: 26px
    }
}

.c-card__item.-current {
    box-shadow: none;
    background-color: #ced8db
}

.c-card__item.-current .c-card__text,
.c-card__item.-current .c-card__title {
    color: #8e989c
}

ul.c-check li {
    font-size: .875rem
}

.c-check.-feature::before,
ul.c-check li::before {
    content: "";
    position: absolute;
    top: .625em;
    left: 0;
    width: 13px;
    height: 17px;
    display: inline-block;
    background-image: url(/wp-content/themes/rcm-w/assets/images/common/icon_check.svg);
    background-repeat: no-repeat;
    background-size: contain
}

@media only screen and (max-width:47.9375em) {
    ul.c-check.-material li {
        margin-top: .375rem;
        font-size: 1rem
    }
}

@media print,
screen and (min-width:48em) {
    ul.c-check.-material li {
        margin-top: .5rem;
        font-size: 1.125rem
    }
}

.c-check.-feature,
ul.c-check li {
    position: relative;
    padding-left: 1.875em
}

@media only screen and (max-width:47.9375em) {
    .c-check.-feature {
        font-size: .875rem
    }
}

.c-check.-feature::before {
    width: 17px
}

@media only screen and (max-width:47.9375em) {
    .c-check.-feature::before {
        width: 14px;
        height: 14px
    }
}

.c-check.-feature strong {
    color: #1199ab
}

@media print,
screen and (max-width:79.9375em) {
    .c-overlay {
        visibility: hidden;
        opacity: 0;
        position: fixed;
        z-index: 0;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: #fff;
        transition: all cubic-bezier(.215, .61, .355, 1) .25s
    }
}

@media print,
screen and (min-width:80em) {
    .c-overlay {
        display: none
    }
}

.c-overlay.-visible {
    visibility: visible;
    opacity: 1
}

.c-heading-sub {
    display: block;
    font-size: var(--size);
    font-weight: 700;
    color: #194b54
}

@media only screen and (max-width:47.9375em) {
    .c-heading-sub {
        --size: .875rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-heading-sub {
        --size: 1.125rem;
        text-align: center
    }
}

.c-heading-sub.-align_left {
    text-align: left
}

.c-note,
.p-faq__a p+p {
    margin-top: 1rem
}

.c-note li {
    font-size: .75rem;
    padding-left: 16px
}

.c-note li:before,
.c-section-sub::before,
.p-home-top__package p:before {
    content: "※";
    position: absolute;
    left: 0
}

@media only screen and (max-width:47.9375em) {
    .c-note li+li {
        margin-top: .5rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-note li+li {
        margin-top: .25rem
    }
}

.c-note.-simple li {
    padding-left: 0
}

.c-note.-simple li::before {
    display: none
}

.c-section-sub {
    display: block;
    font-weight: 700;
    color: #194b54;
    position: relative
}

@media only screen and (max-width:47.9375em) {
    .c-section-sub {
        padding-left: 1.75rem;
        font-size: .875rem
    }
}

@media print,
screen and (min-width:48em) {
    .c-section-sub {
        padding-left: 1.75rem
    }
}

.c-section-sub::before {
    content: "";
    width: 20px;
    height: 1px;
    background-color: #194b54;
    display: block;
    top: .8125rem
}

@media only screen and (max-width:47.9375em) {
    .c-section-sub::before {
        width: 16px;
        top: .75rem
    }
}

.c-seminar-tag {
    display: block;
    font-size: .875rem;
    white-space: nowrap;
    padding: 3px 10px;
    margin-top: 6px;
    margin-right: 6px;
    color: #194b54;
    background-color: #e1f1f5
}

@media only screen and (max-width:47.9375em) {
    .c-seminar-tag {
        padding-bottom: 1px
    }
}

.p-banner {
    background-color: #fff;
    border: .0625rem solid #1199ab
}

.p-banner__inner {
    padding: 2.5rem 3.75rem
}

.p-banner__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem
}

@media print,
screen and (min-width:48em) {
    .p-banner__layout {
        align-items: center;
        grid-template-columns: 1fr 18.75rem
    }
}

@media print,
screen and (min-width:80em) {
    .p-banner__layout {
        grid-template-columns: 1fr 22.5rem
    }
}

.p-banner__heading {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.6
}

@media print,
screen and (min-width:48em) {
    .p-bar-heading__b {
        margin-top: 1.5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-bar-heading__b {
        margin-top: .75rem
    }
}

.p-block-deco-h2__main {
    margin-top: 1.4375rem
}

.p-block-text-img__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.875rem
}

@media print,
screen and (min-width:48em) {
    .p-block-text-img__layout {
        grid-template-columns: 1fr 1fr;
        gap: 0 3.75rem
    }
}

.p-block-text-img__img {
    width: 100%;
    height: auto
}

.p-block-text-img__caption {
    margin-top: .75rem
}

.p-breadcrumbs {
    --color: #fff;
    --current-color: #84cad4;
    --decoration: none;
    --bg-icon: url("/wp-content/themes/rcm-w/assets/images/common/icon_right-white.svg");
    display: none
}

@media print,
screen and (min-width:48em) {
    .p-breadcrumbs {
        display: block;
        position: absolute;
        top: 90px;
        left: 30px;
        z-index: 2
    }
}

.p-breadcrumbs__inner {
    display: flex
}

.p-breadcrumbs__item {
    --text-color: var(--color);
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    font-size: .75rem;
    font-weight: 500
}

@media (hover:hover) {
    .p-breadcrumbs__item:hover {
        --decoration: underline
    }
}

.p-breadcrumbs__item::after {
    content: "";
    width: .3125rem;
    height: .5rem;
    display: inline-block;
    margin: 0 .625rem;
    position: relative;
    background-image: var(--bg-icon);
    background-size: contain;
    background-repeat: no-repeat
}

.p-breadcrumbs__item:last-child {
    --text-color: var(--current-color);
    flex: 1 1 auto;
    overflow: hidden
}

@media (hover:hover) {
    .p-breadcrumbs__item:last-child:hover {
        --decoration: none
    }
}

.p-breadcrumbs__item:last-child::after {
    display: none
}

.p-breadcrumbs__text {
    display: block;
    padding: .25rem 0;
    color: var(--text-color);
    -webkit-text-decoration: var(--decoration);
    text-decoration: var(--decoration);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.p-breadcrumbs.-inversion {
    --color: #1199ab;
    --current-color: #b7e0e6;
    --bg-icon: url("/wp-content/themes/rcm-w/assets/images/common/icon_right-accent.svg")
}

.p-cta-tel {
    display: flex;
    flex-direction: column;
    align-items: center
}

.p-cta-tel__text {
    font-size: .75rem
}

.p-cta-tel__main {
    font-family: Oswald, sans-serif;
    display: flex;
    align-items: center;
    line-height: 1.25
}

.p-cta-tel__main-prefix {
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: .04em
}

.p-cta-tel__main-colon {
    font-weight: 400;
    font-size: 1.25rem;
    padding: 0 .3125rem
}

.p-cta-tel__main-number {
    font-weight: 500;
    font-size: 1.5rem
}

.p-detail-link {
    --transition-duation: .2s;
    --transition-easing: ease-in-out;
    --text-color: #1c1e1f;
    --icon-transform: none;
    display: block;
    width: 8.75rem
}

@media (hover:hover) {

    .p-detail-link-hover:hover .p-detail-link,
    .p-detail-link:hover {
        --text-color: #1199ab;
        --icon-transform: translateX(.25rem)
    }
}

@media only screen and (max-width:47.9375em) {
    .p-detail-link+.p-detail-link {
        margin-top: .875rem
    }
}

.p-detail-link.-liquid {
    width: 100%
}

.p-detail-link__main {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.p-detail-link__text {
    font-size: .875rem;
    font-weight: 700;
    color: var(--text-color);
    transition: color var(--transition-duation) var(--transition-easing)
}

.p-detail-link__icon {
    display: block;
    transition: transform var(--transition-duation) var(--transition-easing);
    transform: var(--icon-transform)
}

.p-detail-link__row+.p-detail-link__row {
    margin-top: .5rem
}

@media only screen and (max-width:47.9375em) {
    .p-detail-link__row+.p-detail-link__row {
        margin-top: .9375rem
    }
}

.p-faq {
    border-top: .0625rem solid #ced8db;
    padding: 2.1875rem 0 1.6875rem
}

.p-faq:first-child {
    padding-top: 0;
    border-top: 0
}

.p-faq__q {
    font-weight: 700;
    line-height: 1.4285714286
}

@media only screen and (max-width:47.9375em) {
    .p-faq__q {
        font-size: 1.125rem;
        padding-left: 1.75rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-faq__q {
        font-size: 1.5rem;
        padding-left: 2.125rem
    }
}

.p-faq__q::before {
    content: "Q.";
    position: absolute;
    left: 0;
    font-family: Roboto, sans-serif;
    color: #1199ab;
    margin-right: .75rem
}

@media only screen and (max-width:47.9375em) {
    .p-faq__q::before {
        font-size: 1.25rem
    }
}

.p-faq__a {
    line-height: 1.75;
    font-size: 1rem;
    margin-top: .625rem
}

@media print,
screen and (min-width:48em) {
    .p-faq__a {
        font-size: 1.125rem;
        margin-top: 1.25rem
    }
}

.p-faq__a a {
    color: #1199ab;
    text-decoration: underline;
    transition: color cubic-bezier(.215, .61, .355, 1) .25s
}

@media (hover:hover) {
    .p-faq__a a:hover {
        color: #0fb4bf
    }
}

.p-faq__a a[target=_blank] {
    position: relative;
    padding-right: 1.0625rem;
    margin-right: .625rem;
    word-break: break-all
}

.p-detail-section__body a[target=_blank]::after,
.p-faq__a a[target=_blank]::after {
    content: "";
    display: inline-block;
    height: 14px;
    width: 14px;
    background-image: url(/wp-content/themes/rcm-w/assets/images/common/icon_link.svg);
    background-repeat: no-repeat;
    background-size: contain;
    margin-left: 8px;
    z-index: 1;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.p-filter-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: .9375rem 1.875rem
}

@media print,
screen and (min-width:48em) {
    .p-filter-buttons {
        gap: 1.5625rem 1.875rem;
        grid-template-columns: repeat(auto-fill, minmax(15.625rem, 1fr))
    }
}

.p-link-cards {
    display: grid;
    gap: 2.5rem;
    grid-template-columns: 1fr
}

@media print,
screen and (min-width:48em) {
    .p-link-cards.-col_2 {
        grid-template-columns: repeat(auto-fit, minmax(27.5625rem, 1fr))
    }

    .p-link-cards.-col_3 {
        grid-template-columns: repeat(auto-fit, minmax(21.875rem, 1fr))
    }
}

.p-link-card {
    --bg-color: #fff;
    --heading-color: #1c1e1f;
    --text-color: #1c1e1f;
    --scale: 1;
    --box-shadow: 0 0 .875rem rgba(170, 132, 132, .22);
    --transition-duration: .25s;
    --transition-easing: ease-in-out;
    position: relative;
    color: var(--text-color)
}

@media (hover:hover) {
    .p-link-card:hover {
        --scale: 1.02;
        --heading-color: #1199ab;
        --box-shadow: 0 0 .875rem rgba(170, 132, 132, .5)
    }
}

.p-link-card.-current {
    --bg-color: #e2e2e2;
    --heading-color: #555;
    --text-color: #555;
    --box-shadow: none
}

@media (hover:hover) {
    .p-link-card.-current:hover {
        --scale: 1;
        --heading-color: #555;
        --box-shadow: none
    }
}

.p-link-card__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition-property: transform, box-shadow;
    transition-duration: var(--transition-duration);
    transition-timing-function: var(--transition-easing);
    background-color: var(--bg-color);
    transform: scale(var(--scale));
    box-shadow: var(--box-shadow)
}

.p-link-card__inner {
    position: relative;
    padding: 2.5rem 2.5rem 2.25rem
}

.p-link-card__row+.p-link-card__row {
    margin-top: var(--mt)
}

.p-link-card__row.-desc {
    --mt: .875rem
}

.p-link-card__heading-main {
    color: var(--heading-color);
    font-size: 1rem;
    font-weight: 700;
    transition: color var(--transition-duration) var(--transition-easing);
    display: inline
}

.p-link-card__desc {
    color: var(--text-color);
    font-size: .875rem
}

.p-link-card__heading-icon {
    display: inline-block;
    margin-left: .6875rem;
    width: .875rem;
    height: auto
}

.p-link-media-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.875rem 0
}

.p-link-media-card {
    background-color: #fff
}

.p-link-media-card__inner {
    padding: 3.125rem 2.5rem
}

.p-link-media-card__layout {
    --grid-template: "sub" auto "heading" auto "image" auto "desc" auto "link" 1fr / 1fr;
    display: grid;
    grid-template: var(--grid-template);
    gap: 0 3.75rem
}

@media print,
screen and (min-width:48em) {
    .p-link-media-card__layout {
        --grid-template: "sub image" auto "heading image" auto "desc image" auto "link image" 1fr / 660fr 400fr
    }
}

.p-link-media-card__layout+.p-link-media-card__layout {
    margin-top: 4.5rem
}

.p-link-media-card__area {
    margin-top: var(--mt)
}

@media print,
screen and (min-width:48em) {
    .p-link-media-card__area {
        margin-top: var(--mt-s, var(--mt))
    }
}

.p-link-media-card__area.-sub-heading {
    grid-area: sub
}

.p-link-media-card__area.-heading {
    --mt: .625rem;
    grid-area: heading
}

.p-link-media-card__area.-desc {
    --mt: .875rem;
    grid-area: desc
}

.p-link-media-card__area.-image {
    --mt: .75rem;
    --mt-s: 0;
    grid-area: image
}

.p-link-media-card__area.-link {
    --mt: 1.25rem;
    grid-area: link
}

.p-link-media-card__image {
    width: 100%;
    height: auto
}

@media print,
screen and (min-width:48em) {
    .p-point-section {
        display: grid;
        grid-template: var(--grid-template);
        gap: 0 3.75rem;
        --grid-template: "number image" auto "heading image" auto "desc image" 1fr / 1fr 1fr
    }

    .p-point-section.-reverse,
    .p-point-section:nth-of-type(2n) {
        --grid-template: "image number" auto "image heading" auto "image desc" 1fr / 1fr 1fr
    }
}

.p-point-section+.p-point-section {
    margin-top: 4.5rem
}

.p-point-section__area.-number {
    grid-area: number
}

.p-point-section__area.-heading {
    grid-area: heading
}

@media print,
screen and (min-width:48em) {
    .p-point-section__area.-heading {
        margin-top: .625rem
    }
}

.p-point-section__area.-desc {
    grid-area: desc
}

@media print,
screen and (min-width:48em) {
    .p-point-section__area.-desc {
        margin-top: 1.25rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-point-section__area.-desc {
        margin-top: .75rem
    }
}

.p-point-section__area.-image {
    grid-area: image
}

@media only screen and (max-width:47.9375em) {
    .p-point-section__area.-image {
        margin-top: 20px
    }
}

.p-point-section__number {
    font-family: Oswald, sans-serif;
    color: #1199ab;
    font-weight: 500
}

@media print,
screen and (min-width:48em) {
    .p-point-section__number {
        font-size: 1.6875rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-point-section__number {
        font-size: 1.125rem
    }
}

.p-point-section__image,
.p-post-lead__image {
    width: 100%;
    height: auto
}

.p-post-lead__row+.p-post-lead__row {
    margin-top: var(--mt)
}

.p-post-lead__row.-image {
    --mt: 1.625rem
}

.p-post-tags {
    display: flex;
    flex-wrap: wrap;
    margin-top: -.625rem
}

.p-post-tag {
    margin-top: .625rem;
    margin-right: .625rem
}

.p-post-toc__entry {
    --transition-duration: .2s;
    --transition-easing: ease-in-out;
    --sub-heading-color: inherit;
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    border-top: .0625rem solid #e2dcdc;
    padding: .625rem 0
}

@media (hover:hover) {
    .p-post-toc__entry:hover {
        --sub-heading-color: #1199ab
    }
}

@media print,
screen and (min-width:48em) {
    .p-post-toc__entry {
        grid-template-columns: 9.5rem auto 1fr
    }
}

.p-post-toc__entry:last-of-type {
    border-bottom: .0625rem solid #e2dcdc
}

.p-post-toc__block.-separator {
    display: none
}

@media print,
screen and (min-width:48em) {
    .p-post-toc__block.-separator {
        display: block;
        margin: 0 1.125rem 0 1.25rem
    }
}

.p-post-toc__separator {
    height: 1.25rem;
    width: .0625rem;
    background-color: #e2dcdc
}

.p-post-toc__heading {
    font-size: 1rem
}

.p-post-toc__sub-heading {
    display: grid;
    grid-template-columns: 1fr auto;
    justify-content: space-between;
    align-items: center
}

.p-post-toc__sub-heading-text {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--sub-heading-color);
    transition: color var(--transition-duration) var(--transition-easing)
}

.p-post-toc__sub-heading-icon {
    width: .875rem;
    height: auto
}

.p-post-top__section+.p-post-top__section {
    margin-top: var(--mt)
}

.p-post-top__section.-bar {
    --mt: 3.75rem
}

.p-post-top__section.-meta {
    --mt: 3.125rem
}

.p-post-top__section.-lead {
    --mt: 3.5rem
}

.p-post-top__section.-toc {
    --mt: 2.9375rem
}

.p-post-top__row+.p-post-top__row {
    margin-top: var(--mt)
}

.p-post-top__row.-heading {
    --mt: .9375rem
}

.p-post-top__row.-tag {
    --mt: .4375rem
}

.p-post-top__row.-toc {
    --mt: 2.125rem
}

.p-other-cases {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5625rem
}

@media print,
screen and (min-width:48em) {
    .p-other-cases {
        grid-template-columns: repeat(auto-fill, minmax(21.875rem, 1fr))
    }
}

.p-other-cases.-gap_s {
    gap: .625rem
}

.p-other-case {
    --copy-color: inherit;
    --transition-duration: .25s;
    --transition-easing: ease-in-out;
    --image-scale: 1;
    display: flex;
    flex-direction: column
}

@media (hover:hover) {
    .p-other-case:hover {
        --copy-color: #1199ab;
        --image-scale: 1.1
    }
}

.p-other-case.-has_bg {
    background-color: #fff;
    padding: 1.25rem
}

.p-other-case__row {
    --margin-top: initial;
    --margin-top-s: initial;
    position: relative
}

.p-other-case__row+.p-other-case__row {
    margin-top: var(--margin-top)
}

@media print,
screen and (min-width:48em) {
    .p-other-case__row+.p-other-case__row {
        margin-top: var(--margin-top-s)
    }
}

.p-other-case__row.-tag {
    --margin-top: 1.875rem;
    --margin-top-s: 1.875rem;
    --margin-top: 1.25rem;
    --margin-top-s: 1.25rem
}

.p-other-case__row.-name {
    --margin-top: 1rem;
    --margin-top-s: 1rem
}

.p-other-case__row.-copy {
    --margin-top: .5rem;
    --margin-top-s: .5rem
}

.p-other-case__row.-desc {
    --margin-top: 1rem;
    --margin-top-s: 1rem
}

.p-other-case__row.-link {
    --margin-top: 1.75rem;
    --margin-top-s: 1.75rem
}

.p-other-case__row.-space {
    --margin-top-sp: auto;
    --margin-top-s: auto
}

.p-other-case__image-block {
    position: relative;
    width: fit-content;
    margin: 0 auto;
    overflow: hidden
}

.p-other-case__main-image {
    display: block;
    width: 100%;
    height: auto;
    transition: transform var(--transition-duration) var(--transition-easing);
    transform: scale(var(--image-scale))
}

.p-other-case__sub-image {
    position: absolute;
    width: 10rem;
    height: auto;
    bottom: 0
}

.p-other-case__tags {
    display: flex;
    align-items: center
}

.p-other-case__tag+.p-other-case__tag {
    margin-left: .3125rem
}

.p-other-case__name {
    font-size: .875rem;
    font-weight: 700
}

.p-other-case__copy {
    transition: color var(--transition-duration) var(--transition-easing);
    color: var(--copy-color);
    font-size: 1rem;
    font-weight: 700
}

.p-service-link-cards {
    display: grid;
    gap: 1.875rem;
    grid-template-columns: repeat(auto-fill, minmax(15.625rem, 1fr))
}

.p-service-link-card {
    --bg-color: #fff;
    --heading-color: #1c1e1f;
    --text-color: #1c1e1f;
    --scale: 1;
    --box-shadow: 0 0 .875rem rgba(170, 132, 132, .22);
    --transition-duration: .25s;
    --transition-easing: ease-in-out;
    position: relative;
    color: var(--text-color)
}

@media (hover:hover) {
    .p-service-link-card:hover {
        --scale: 1.02;
        --heading-color: #1199ab;
        --box-shadow: 0 0 .875rem rgba(170, 132, 132, .5)
    }
}

.p-service-link-card.-current {
    --bg-color: #e2e2e2;
    --heading-color: #555;
    --text-color: #555;
    --box-shadow: none
}

@media (hover:hover) {
    .p-service-link-card.-current:hover {
        --scale: 1;
        --heading-color: #555;
        --box-shadow: none
    }
}

.p-service-link-card__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition-property: transform, box-shadow;
    transition-duration: var(--transition-duration);
    transition-timing-function: var(--transition-easing);
    background-color: var(--bg-color);
    transform: scale(var(--scale));
    box-shadow: var(--box-shadow)
}

.p-service-link-card__inner {
    position: relative;
    padding: .875rem 1.25rem .75rem
}

.p-service-link-card__row.-desc {
    --mt: .875rem
}

.p-service-link-card__row+.p-service-link-card__row {
    margin-top: var(--mt)
}

.p-service-link-card__row.-bar {
    --mt: .625rem
}

.p-service-link-card__row.-desc {
    --mt: .75rem
}

@media only screen and (max-width:47.9375em) {
    .p-service-link-card__row.-desc {
        --mt: .0625rem
    }
}

.p-service-link-card__row.-tag {
    --mt: .1875rem
}

.p-service-link-card__heading {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center
}

.p-service-link-card__heading-main {
    color: var(--heading-color);
    font-size: 1rem;
    font-weight: 700;
    transition: color var(--transition-duration) var(--transition-easing);
    display: inline
}

.p-service-link-card__desc {
    color: var(--text-color);
    font-size: .875rem;
    line-height: 2
}

@media only screen and (max-width:47.9375em) {
    .p-service-link-card__desc {
        line-height: 1.8571428571
    }
}

.p-service-link-card__heading-icon {
    display: inline-block;
    margin-left: .6875rem;
    width: .875rem;
    height: auto
}

.p-company-link-cards {
    display: grid;
    grid-template-columns: 1fr
}

@media print,
screen and (min-width:48em) {
    .p-company-link-cards {
        gap: 1.875rem;
        grid-template-columns: repeat(auto-fit, minmax(21.875rem, 1fr))
    }
}

@media only screen and (max-width:47.9375em) {
    .p-company-link-cards {
        gap: 1.25rem
    }
}

.p-service-link-card__row.-image {
    margin-bottom: -32px
}

.p-service-link-card.-has_image .p-service-link-card__inner {
    padding: 1.25rem 1.25rem 1.375rem
}

.p-service-link-card.-has_image .p-service-link-card__heading {
    position: relative;
    display: inline-block;
    background-color: #fff;
    box-sizing: border-box;
    padding-top: 15px;
    padding-right: 15px
}

@media print,
screen and (min-width:48em) {
    .p-service-link-card.-has_image .p-service-link-card__heading {
        width: 204px
    }
}

@media only screen and (max-width:47.9375em) {
    .p-service-link-card.-has_image .p-service-link-card__heading {
        width: 177px
    }
}

@media print,
screen and (min-width:48em) {
    .p-service-link-card.-has_image .p-service-link-card__heading-main {
        font-size: 1.25rem
    }

    .p-service-link-card.-has_image .p-service-link-card__desc {
        font-size: 1rem
    }
}

.p-service-link-card__row.-desc.-has_image {
    margin-top: 3px
}

.p-technology-links {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.875rem
}

@media print,
screen and (min-width:48em) {
    .p-technology-links {
        grid-template-columns: repeat(auto-fit, minmax(21.875rem, 1fr))
    }
}

.p-technology-link {
    background: #fff
}

.p-technology-link__inner {
    padding: 1.875rem 1.875rem 1.25rem
}

.p-technology-link__row+.p-technology-link__row {
    margin-top: var(--mt)
}

.p-technology-link__row.-heading {
    --mt: 1.0625rem
}

.p-technology-link__row.-desc {
    --mt: .6875rem
}

.p-casestudy-section__body figcaption,
.p-technology-link__heading {
    text-align: center
}

.p-technology-link__image {
    width: 5rem;
    height: 5rem;
    object-fit: contain;
    margin: 0 auto
}

.p-philosophy-block {
    display: grid;
    gap: 15px 0
}

@media print,
screen and (min-width:48em) {
    .p-philosophy-block {
        gap: 20px 30px;
        grid-template: "title thumb" max-content "desc thumb" auto/1fr 47.5%
    }

    .p-philosophy-block__title {
        grid-area: title
    }

    .p-philosophy-block__image {
        grid-area: thumb
    }

    .p-philosophy-block__desc {
        grid-area: desc
    }
}

.p-wp-post {
    --mt: initial;
    --mt-s: initial;
    --mb: initial;
    --mb-s: initial
}

.p-wp-post>* {
    margin-top: var(--mt);
    margin-bottom: var(--mb)
}

@media print,
screen and (min-width:48em) {
    .p-wp-post>* {
        margin-top: var(--mt-s, var(--mt));
        margin-bottom: var(--mb-s, var(--mb))
    }
}

.p-wp-post>:first-child {
    margin-top: 0
}

.p-wp-post>:last-child {
    margin-bottom: 0
}

.p-wp-post>.p-block-deco-h2 {
    --mt: 3.625rem;
    --mb: 1.5625rem
}

.p-wp-post>.p-block-text-img {
    --mt: 1.5625rem;
    --mb: 1.5625rem
}

.p-wp-post>p {
    --mt: 1rem;
    --mb: 1rem
}

.p-wp-post>figure {
    --mt: 1.875rem;
    --mb: 1.875rem
}

.p-wp-post>figure>img {
    height: auto;
    margin: 0 auto
}

@media print,
screen and (min-width:48em) {
    .p-feature-about {
        display: grid;
        grid-template: "title thumb" auto "desc thumb" auto/1fr 300px;
        gap: 21px 60px
    }
}

.p-feature-about__title {
    grid-area: title
}

.p-feature-about__thumb {
    grid-area: thumb
}

@media only screen and (max-width:47.9375em) {
    .p-feature-about__thumb {
        margin-top: 21px
    }
}

.p-feature-about__desc {
    grid-area: desc
}

@media only screen and (max-width:47.9375em) {
    .p-feature-about__desc {
        margin-top: 13px
    }
}

@media print,
screen and (min-width:48em) {
    .p-feature-about__title-main {
        margin-top: 14px
    }
}

@media only screen and (max-width:47.9375em) {
    .p-feature-about__title-main {
        margin-top: 4px
    }
}

.p-strength-index-list {
    display: grid;
    grid-template-columns: 1fr
}

@media print,
screen and (min-width:48em) {
    .p-strength-index-list {
        grid-template-columns: repeat(auto-fit, minmax(23.3125rem, 1fr));
        gap: 2.5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-strength-index-list {
        gap: 1.25rem
    }
}

.p-strength-index {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border: 1px solid currentColor;
    box-sizing: border-box;
    background-color: #fff;
    color: #1c1e1f
}

@media only screen and (max-width:47.9375em) {
    .p-strength-index {
        padding: 22px 30px 23px
    }
}

@media print,
screen and (min-width:48em) {
    .p-strength-index {
        min-height: 185px;
        padding: 30px
    }
}

.p-strength-index:before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 40px;
    height: 85px;
    background-color: currentColor;
    -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
    clip-path: polygon(100% 0, 100% 100%, 0 100%)
}

.p-strength-index:after,
.p-subject-list li:before {
    content: "";
    background-size: contain;
    background-repeat: no-repeat
}

.p-strength-index:after {
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: 12px;
    height: 14px;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212.919%22%20height%3D%2215.061%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221.5%22%3E%3Cpath%20d%3D%22M6.46%200v14%22%2F%3E%3Cpath%20d%3D%22M12.389%208.071l-5.929%205.93-5.929-5.93%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)
}

@media (hover:hover) {
    .p-strength-index:hover {
        color: #1199ab
    }
}

.p-feature-result__number span,
.p-strength-index__number {
    font-family: Oswald, sans-serif;
    font-weight: 500;
    color: #1199ab
}

@media print,
screen and (min-width:48em) {
    .p-strength-index__number {
        font-size: 1.5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-strength-index__number {
        font-size: 1.125rem
    }
}

.p-strength-index__title {
    font-weight: 700;
    text-align: center
}

@media print,
screen and (min-width:48em) {
    .p-strength-index__title {
        margin-top: 14px;
        font-size: 1.25rem;
        line-height: 1.6
    }
}

@media only screen and (max-width:47.9375em) {
    .p-strength-index__title {
        margin-top: 2px;
        font-size: 1rem;
        line-height: 1.75
    }
}

.p-strength-links {
    display: grid;
    grid-template-columns: 1fr
}

@media print,
screen and (min-width:48em) {
    .p-strength-links {
        grid-template-columns: repeat(auto-fit, minmax(16.875rem, 1fr));
        gap: 1.875rem
    }
}

.p-feature-reason-list {
    display: grid
}

@media only screen and (max-width:47.9375em) {
    .p-feature-reason-list {
        gap: 13px
    }
}

@media print,
screen and (min-width:48em) {
    .p-feature-reason-list {
        grid-template-columns: repeat(auto-fit, minmax(35.625rem, 1fr));
        gap: 30px
    }
}

@media print,
screen and (min-width:64em) {
    .p-feature-reason-list {
        gap: 60px
    }
}

.p-feature-reason {
    display: grid;
    border-bottom: 1px solid #484954
}

@media print,
screen and (min-width:48em) {
    .p-feature-reason {
        padding-bottom: 23px;
        gap: 2px 20px;
        grid-template: "icon title" auto "icon desc" auto/81px 1fr
    }
}

@media only screen and (max-width:47.9375em) {
    .p-feature-reason {
        padding-bottom: 13px;
        gap: 8px 10px;
        grid-template: "icon title" auto "desc desc" auto/40px 1fr
    }
}

.p-feature-reason__icon {
    grid-area: icon;
    display: flex;
    align-items: center;
    justify-content: center
}

@media only screen and (max-width:47.9375em) {
    .p-feature-reason__icon img {
        max-height: 40px
    }
}

.p-feature-reason__title {
    grid-area: title;
    color: #fff
}

@media print,
screen and (min-width:48em) {
    .p-feature-reason__title {
        line-height: 2
    }
}

@media only screen and (max-width:47.9375em) {
    .p-feature-reason__title {
        font-size: .875rem;
        line-height: 1.8571428571;
        align-self: center
    }
}

.p-feature-reason__desc {
    grid-area: desc;
    color: #fff;
    line-height: 2
}

@media print,
screen and (min-width:48em) {
    .p-feature-reason__desc {
        font-size: .875rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-feature-reason__desc {
        font-size: .75rem
    }
}

.p-feature-results {
    background-color: #f4f4f4
}

@media only screen and (max-width:47.9375em) {
    .p-feature-results {
        padding: 40px 30px
    }
}

@media print,
screen and (min-width:48em) {
    .p-feature-results {
        padding: 60px
    }
}

.p-feature-result {
    display: flex;
    flex-direction: column;
    align-items: center
}

.p-feature-result__content {
    display: grid;
    margin-top: 23px
}

@media only screen and (max-width:47.9375em) {
    .p-feature-result__content {
        gap: 30px;
        grid-template-columns: repeat(auto-fit, minmax(7.625rem, 1fr))
    }
}

@media print,
screen and (min-width:48em) {
    .p-feature-result__content {
        gap: 60px 30px;
        grid-template-columns: repeat(auto-fit, minmax(21.25rem, 1fr))
    }

    .p-feature-result__content.-col_4 {
        grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr))
    }
}

.p-feature-result__desc {
    margin-top: 22px;
    text-align: center
}

.p-feature-result__genre {
    font-weight: 700
}

@media print,
screen and (min-width:48em) {
    .p-feature-result__genre {
        margin-top: 2px
    }
}

@media only screen and (max-width:47.9375em) {
    .p-feature-result__genre {
        font-size: .875rem;
        margin-top: 10px
    }
}

.p-feature-result__number-label {
    font-size: .75rem
}

.p-feature-result__number {
    font-weight: 700
}

@media only screen and (max-width:47.9375em) {
    .p-feature-result__number {
        font-size: .875rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-feature-result__number {
        font-size: 1.125rem
    }
}

.p-feature-result__number span {
    line-height: 1;
    margin-right: 3px;
    margin-left: 7px
}

@media print,
screen and (min-width:48em) {
    .p-feature-result__number span {
        font-size: 2.5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-feature-result__number span {
        font-size: 1.875rem
    }
}

.p-feature-result__employee+.p-feature-result__number {
    margin-top: 10px
}

.p-feature-result__icon {
    display: flex;
    align-items: center;
    justify-content: center
}

@media only screen and (max-width:47.9375em) {
    .p-feature-result__icon {
        width: 60px;
        height: 60px
    }
}

@media print,
screen and (min-width:48em) {
    .p-feature-result__icon {
        width: 100px;
        height: 100px
    }
}

.p-feature-result__icon img {
    max-height: 100%
}

.p-feature-result__employee {
    font-weight: 700;
    margin-top: -4px
}

@media only screen and (max-width:47.9375em) {
    .p-feature-result__employee {
        font-size: .875rem
    }
}

.p-subject {
    display: flex;
    flex-direction: column;
    background-color: #fff
}

@media only screen and (max-width:47.9375em) {
    .p-subject {
        padding: 30px 30px 56px;
        -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 25px), calc(50% + 25px) calc(100% - 25px), 50% 100%, calc(50% - 25px) calc(100% - 25px), 0 calc(100% - 25px));
        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 25px), calc(50% + 25px) calc(100% - 25px), 50% 100%, calc(50% - 25px) calc(100% - 25px), 0 calc(100% - 25px))
    }
}

@media print,
screen and (min-width:48em) {
    .p-subject {
        padding: 74px 80px 104px;
        -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 32px), calc(50% + 33px) calc(100% - 32px), 50% 100%, calc(50% - 33px) calc(100% - 32px), 0 calc(100% - 32px));
        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 32px), calc(50% + 33px) calc(100% - 32px), 50% 100%, calc(50% - 33px) calc(100% - 32px), 0 calc(100% - 32px))
    }
}

.p-subject-container {
    margin-top: 23px;
    filter: drop-shadow(0 0 40px rgba(170, 132, 132, .2))
}

@media print,
screen and (min-width:48em) {
    .p-subject__content {
        margin-top: 55px
    }
}

@media only screen and (max-width:47.9375em) {
    .p-subject__content {
        margin-top: 20px
    }
}

@media print,
screen and (min-width:48em) {
    .p-subject-list {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(20.375rem, 1fr));
        gap: 30px
    }
}

.p-subject-list li {
    display: flex;
    font-weight: 700
}

@media only screen and (max-width:47.9375em) {
    .p-subject-list li {
        font-size: .875rem;
        line-height: 1.8571428571;
        margin-top: 7px
    }
}

@media print,
screen and (min-width:48em) {
    .p-subject-list li {
        font-size: 1rem;
        line-height: 1.75
    }
}

.p-subject-list li:before {
    position: relative;
    display: block;
    background-image: url(/wp-content/themes/rcm-w/assets/images/feature/icon_feature_check.svg)
}

@media only screen and (max-width:47.9375em) {
    .p-subject-list li:before {
        top: .375rem;
        width: 18px;
        min-width: 18px;
        height: 14px;
        margin-right: 9px
    }
}

@media print,
screen and (min-width:48em) {
    .p-subject-list li:before {
        top: .125rem;
        width: 25px;
        min-width: 25px;
        height: 20px;
        margin-right: 10px
    }
}

.p-subject__accent {
    color: #1199ab
}

@media print,
screen and (min-width:48em) {
    .p-subject__accent {
        margin-top: 60px
    }
}

@media only screen and (max-width:47.9375em) {
    .p-subject__accent {
        margin-top: 15px
    }
}

.p-feature-result-button {
    width: 300px;
    margin-right: auto;
    margin-left: auto
}

.p-home-top {
    box-sizing: border-box;
    padding-right: 4.267%;
    padding-left: 4.267%;
    padding-bottom: 110px;
    background-color: #1199ab;
    color: #fff
}

@media only screen and (max-width:47.9375em) {
    .p-home-top {
        padding-bottom: 42px;
        color: #1c1e1f;
        background: linear-gradient(180deg, #1199ab 0, #1199ab 40%, #fff 40%, #fff 100%)
    }
}

@media only screen and (max-width:37.4375em) {
    .p-home-top {
        background: linear-gradient(180deg, #1199ab 0, #1199ab 35%, #fff 35%, #fff 100%)
    }
}

@media only screen and (max-width:31.1875em) {
    .p-home-top {
        background: linear-gradient(180deg, #1199ab 0, #1199ab 37%, #fff 37%, #fff 100%)
    }
}

@media only screen and (max-width:63.9375em) {
    .p-home-top {
        padding-top: 82px
    }
}

@media print,
screen and (min-width:64em) {
    .p-home-top {
        padding-top: 20px
    }
}

.p-home-top__inner {
    display: flex;
    position: relative;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto
}

@media only screen and (max-width:47.9375em) {
    .p-home-top__inner {
        display: block;
        box-sizing: border-box;
        width: 100%;
        position: relative
    }
}

.p-home-top__contents {
    position: relative;
    padding-top: 132px
}

@media only screen and (max-width:47.9375em) {
    .p-home-top__contents {
        padding-top: 55vw
    }
}

.p-home-top__sub {
    font-weight: 700
}

@media only screen and (max-width:47.9375em) {
    .p-home-top__sub {
        font-size: .875rem
    }
}

.p-home-top__main {
    line-height: 1.25;
    margin-top: 12px;
    font-feature-settings: "palt";
    letter-spacing: .25rem
}

@media only screen and (max-width:47.9375em) {
    .p-home-top__main {
        font-size: 2.75rem;
        text-align: center
    }
}

@media print,
screen and (min-width:48em) {
    .p-home-top__main {
        font-size: 4.375rem
    }
}

.p-home-top__text {
    font-weight: 700;
    margin-top: 12px;
    letter-spacing: .05em
}

@media only screen and (max-width:47.9375em) {
    .p-home-top__text {
        font-size: 1.375rem;
        text-align: center
    }
}

@media print,
screen and (min-width:48em) {
    .p-home-top__text {
        font-size: 2rem
    }
}

.p-home-top__button {
    margin-top: 22px;
    display: flex;
    flex-direction: column;
    flex: 1
}

.p-home-top__visual {
    max-width: 48vw;
    height: 100%;
    position: absolute;
    padding-top: 102px;
    right: -80px
}

@media only screen and (max-width:47.9375em) {
    .p-home-top__visual {
        max-width: 100%;
        width: 100%;
        padding-top: 0;
        right: 0
    }
}

@media print,
screen and (min-width:87.5em) {
    .p-home-top__visual {
        max-width: 744px
    }
}

.p-home-top__visual-img {
    position: relative;
    z-index: 1
}

@media print,
screen and (min-width:48em) {
    .p-home-top__visual-img {
        width: 1000px;
        top: 20px;
        max-width: none
    }
}

.p-home-top__img {
    position: absolute;
    z-index: 0
}

@media only screen and (max-width:47.9375em) {
    .p-home-top__img {
        display: none
    }
}

.p-home-top__img.-person1 {
    width: 154px;
    height: 120px;
    top: 78px;
    left: -102px
}

.p-home-top__img.-person2 {
    width: 255px;
    height: 200px;
    top: 225px;
    left: -50px
}

.p-home-top__img.-person3 {
    width: 248px;
    height: 140px;
    top: 94px;
    left: 320px
}

.p-home-top__package {
    position: absolute;
    bottom: -90px;
    max-width: 480px
}

@media only screen and (max-width:47.9375em) {
    .p-home-top__package {
        display: none
    }
}

.p-home-top__package p {
    font-size: .625rem;
    color: #99d3db;
    padding-left: 16px
}

.p-home-feature {
    display: flex;
    flex-wrap: wrap;
    margin-top: -3.125rem;
    margin-right: -3.75rem
}

@media only screen and (max-width:47.9375em) {
    .p-home-feature {
        display: block;
        margin-top: -1.25rem;
        margin-right: 0
    }
}

.p-home-feature__item {
    width: calc(50% - 60px);
    margin-top: 3.125rem;
    margin-right: 3.75rem;
    display: grid;
    grid-template: "head head" auto "img text" 1fr/140px 1fr;
    gap: 16px 30px;
    position: relative
}

@media only screen and (max-width:47.9375em) {
    .p-home-feature__item {
        grid-template: "img head" auto "img text" 1fr/80px 1fr;
        gap: 0 0;
        width: 100%;
        margin-top: 22px;
        position: relative
    }
}

@media print,
screen and (min-width:48em) {
    .p-home-feature__item {
        grid-template: "head head" auto "img text" 1fr/100px 1fr
    }
}

@media print,
screen and (min-width:64em) {
    .p-home-feature__item {
        grid-template: "head head" auto "img text" 1fr/160px 1fr;
        gap: 14px 28px
    }
}

@media (hover:hover) {
    .p-home-feature__item:hover .p-home-feature__bg {
        box-shadow: 0 5px 30px 0 rgba(9, 77, 89, .25)
    }
}

@media print and (hover:hover),
screen and (hover:hover) and (min-width:48em) {
    .p-home-feature__item:hover .p-home-feature__bg::before {
        transform: translate(-50%, -50%) scale(1.1)
    }
}

@media (hover:hover) {
    .p-home-feature__item:hover .p-home-feature__link span {
        color: #0fb4bf;
        border-bottom: 1px solid #0fb4bf
    }
}

.p-home-feature__img {
    grid-area: img;
    margin-top: -56px
}

@media only screen and (max-width:47.9375em) {
    .p-home-feature__img {
        margin-top: 8px
    }
}

.p-home-feature__bg,
.p-home-feature__bg::before,
.p-home-feature__link span {
    transition: all cubic-bezier(.215, .61, .355, 1) .25s;
    position: relative
}

.p-home-feature__bg {
    border-radius: 50%;
    overflow: hidden;
    background-color: #fff;
    box-shadow: 0 5px 20px 0 rgba(9, 77, 89, .15)
}

@media only screen and (max-width:47.9375em) {
    .p-home-feature__bg {
        width: 60px;
        height: 60px
    }
}

@media print,
screen and (min-width:48em) {
    .p-home-feature__bg {
        width: 80px;
        height: 80px
    }
}

@media print,
screen and (min-width:64em) {
    .p-home-feature__bg {
        width: 160px;
        height: 160px
    }
}

.p-home-feature__bg::before {
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

@media only screen and (max-width:47.9375em) {
    .p-home-feature__bg::before {
        width: 30px;
        height: 30px
    }
}

@media print,
screen and (min-width:48em) {
    .p-home-feature__bg::before {
        width: 42px;
        height: 42px
    }
}

@media print,
screen and (min-width:64em) {
    .p-home-feature__bg::before {
        width: 80px;
        height: 80px
    }
}

.p-home-feature__bg.-security::before {
    background-image: url(/wp-content/themes/rcm-w/assets/images/home/img_top_feature01.svg)
}

.p-home-feature__bg.-cooperation::before {
    background-image: url(/wp-content/themes/rcm-w/assets/images/home/img_top_feature02.svg)
}

.p-home-feature__bg.-diverse::before {
    background-image: url(/wp-content/themes/rcm-w/assets/images/home/img_top_feature03.svg)
}

@media print,
screen and (min-width:64em) {
    .p-home-feature__bg.-diverse::before {
        width: 74px;
        height: 74px
    }
}

.p-home-feature__bg.-light::before {
    background-image: url(/wp-content/themes/rcm-w/assets/images/home/img_top_feature04.svg)
}

.p-home-feature__title {
    grid-area: head;
    font-weight: 700;
    color: #194b54;
    padding-left: 170px
}

@media only screen and (max-width:47.9375em) {
    .p-home-feature__title {
        padding-left: 0
    }
}

@media print,
screen and (min-width:48em) {
    .p-home-feature__title {
        padding-left: 128px
    }
}

@media print,
screen and (min-width:64em) {
    .p-home-feature__title {
        padding-left: 188px
    }
}

.p-home-feature__num {
    font-size: .875rem;
    position: relative;
    top: -2px;
    margin-right: 10px;
    font-family: Roboto, sans-serif
}

.p-home-feature__num::before {
    content: "";
    width: 16px;
    height: 1px;
    background-color: #194b54;
    display: block;
    position: absolute;
    bottom: -2px
}

.p-home-feature__text {
    font-size: 1.5rem;
    line-height: 1.375;
    color: #1c1e1f;
    font-weight: 700
}

@media only screen and (max-width:47.9375em) {
    .p-home-feature__text {
        font-size: 1.25rem;
        margin-top: .625rem
    }
}

.p-home-feature__link {
    margin-top: .875rem
}

@media only screen and (max-width:47.9375em) {
    .p-home-feature__link {
        margin-top: .3125rem
    }
}

.p-home-feature__link span {
    color: #1199ab
}

@media only screen and (max-width:47.9375em) {
    .p-home-feature__link span {
        font-size: 1rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-home-feature__link span {
        font-size: 1.125rem;
        border-bottom: 1px solid transparent
    }
}

.p-feature-cta {
    background-color: #1199ab;
    position: relative;
    overflow: hidden;
    z-index: 0;
    margin-top: 42px
}

@media only screen and (max-width:47.9375em) {
    .p-feature-cta {
        margin-top: 30px
    }

    .p-feature-cta__inner {
        display: block;
        padding: 1.375rem 1.25rem 1.25rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-feature-cta__inner {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        padding: 3.125rem 3.75rem 3.4375rem
    }
}

.p-feature-cta__text {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.5;
    color: #fff
}

@media only screen and (max-width:47.9375em) {
    .p-feature-cta__text {
        font-size: 1rem;
        text-align: center
    }
}

@media print,
screen and (min-width:64em) {
    .p-feature-cta__text {
        font-size: 1.5rem
    }
}

.p-feature-cta__img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1
}

.p-home-cooperation {
    position: relative
}

@media only screen and (max-width:47.9375em) {
    .p-home-cooperation {
        margin-top: 6px
    }
}

@media print,
screen and (min-width:48em) {
    .p-home-cooperation {
        margin-top: 40px
    }
}

@media only screen and (max-width:63.9375em) {
    .p-home-cooperation__inner {
        display: block
    }
}

@media print,
screen and (min-width:64em) {
    .p-home-cooperation__inner {
        display: flex
    }
}

@media only screen and (max-width:63.9375em) {
    .p-home-cooperation__visual {
        position: relative;
        right: 0;
        width: 150%
    }
}

@media print,
screen and (min-width:64em) {
    .p-home-cooperation__visual {
        position: absolute;
        top: 100px;
        right: -110px;
        width: 35vw
    }
}

@media print,
screen and (min-width:80em) {
    .p-home-cooperation__visual {
        top: -76px;
        right: -30%;
        width: 906px;
        max-width: 906px
    }
}

@media print,
screen and (min-width:93.75em) {
    .p-home-cooperation__visual {
        right: -440px
    }
}

.p-home-cooperation__contents {
    max-width: 600px;
    display: flex;
    flex-wrap: wrap;
    margin-top: -12px;
    margin-right: -30px
}

@media only screen and (max-width:63.9375em) {
    .p-home-cooperation__contents {
        max-width: 100%;
        display: block;
        margin-top: 0;
        margin-right: 0
    }
}

.p-home-cooperation__item {
    width: calc(50% - 30px);
    margin-top: 16px;
    margin-right: 30px;
    padding-bottom: 1.125rem;
    border-bottom: 1px solid #dfeaed
}

@media only screen and (max-width:63.9375em) {
    .p-home-cooperation__item {
        width: 100%;
        margin-right: 0;
        padding-bottom: .75rem
    }

    .p-home-cooperation__item:nth-last-of-type(1) {
        border-bottom: none
    }
}

@media print,
screen and (min-width:64em) {

    .p-home-cooperation__item:nth-last-of-type(1),
    .p-home-cooperation__item:nth-last-of-type(2) {
        border-bottom: none
    }
}

.p-home-cooperation__title {
    font-size: 1.125rem;
    font-weight: 700
}

.p-home-cooperation__text {
    margin-top: 10px
}

@media only screen and (max-width:47.9375em) {
    .p-home-cooperation__text {
        margin-top: 8px
    }
}

.p-logo {
    display: flex;
    flex-wrap: wrap
}

@media only screen and (max-width:47.9375em) {
    .p-logo {
        margin-top: -10px;
        margin-right: -10px
    }
}

@media print,
screen and (min-width:48em) {
    .p-logo {
        margin-top: -20px;
        margin-right: -20px
    }
}

.p-logo__item {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center
}

@media only screen and (max-width:31.1875em) {
    .p-logo__item {
        max-height: 5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-logo__item {
        margin-top: 10px;
        margin-right: 10px;
        width: calc(50% - 10px)
    }
}

@media print,
screen and (min-width:48em) {
    .p-logo__item {
        margin-top: 20px;
        margin-right: 20px;
        width: calc(33.3% - 20px);
        max-height: 6.25rem
    }
}

@media print,
screen and (min-width:64em) {
    .p-logo__item {
        width: calc(14.28% - 20px)
    }
}

.p-logo__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-case-panel {
    display: flex;
    flex-wrap: wrap;
    margin-top: -30px;
    margin-right: -24px
}

@media only screen and (max-width:47.9375em) {
    .p-case-panel {
        display: block;
        margin-top: -20px;
        margin-right: 0
    }
}

.p-case-panel__item {
    margin-top: 30px;
    margin-right: 24px;
    display: flex;
    position: relative;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 20px 0 rgba(9, 77, 89, .15);
    transition: all cubic-bezier(.215, .61, .355, 1) .25s
}

@media only screen and (max-width:47.9375em) {
    .p-case-panel__item {
        width: 100%;
        margin-top: 20px;
        margin-right: 0
    }
}

@media print,
screen and (min-width:48em) {
    .p-case-panel__item {
        width: calc(50% - 24px)
    }
}

@media print,
screen and (min-width:64em) {
    .p-case-panel__item {
        width: calc(33.3% - 24px)
    }
}

@media (hover:hover) {
    .p-case-panel__item:hover {
        box-shadow: 0 5px 30px 0 rgba(9, 77, 89, .25)
    }

    .p-case-panel__item:hover .p-case-panel__img {
        transform: scale(1.05)
    }

    .p-case-panel__item:hover .p-case-panel__title {
        color: #0fb4bf
    }
}

.p-case-panel__link {
    box-sizing: border-box;
    width: 100%
}

@media only screen and (max-width:47.9375em) {
    .p-case-panel__link {
        position: relative
    }
}

.p-case-panel__content {
    box-sizing: border-box;
    position: relative
}

@media only screen and (max-width:47.9375em) {
    .p-case-panel__content {
        padding: 44px 21px 18px
    }
}

@media print,
screen and (min-width:48em) {
    .p-case-panel__content {
        padding: 56px 26px 24px
    }
}

.p-case-panel__content>:first-child {
    margin-top: 0
}

.p-case-panel__title {
    font-size: 1.125rem;
    font-weight: 700;
    margin-top: 6px;
    line-height: 1.4166666667;
    display: block;
    color: #1199ab;
    transition: color cubic-bezier(.215, .61, .355, 1) .25s
}

.p-case-panel__text {
    margin-top: 16px
}

.p-case-panel__thumb {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 55%;
    overflow: hidden;
    background-color: #f1f2f2;
    border-radius: 10px 10px 0 0;
    border-bottom: 1px solid #dfeaed
}

.p-case-panel__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform cubic-bezier(.215, .61, .355, 1) .3s
}

.p-case-panel__logo {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 140px;
    height: 70px;
    background-color: #fff;
    position: absolute;
    top: -30px;
    box-sizing: border-box;
    box-shadow: 0 5px 10px 0 rgba(9, 77, 89, .15);
    border-radius: 5px
}

.p-case-panel__logo img {
    width: 80%;
    display: block;
    height: auto;
    object-fit: contain
}

.p-case-panel__name {
    font-size: .875rem;
    display: block
}

.p-case-panel__body {
    padding: 10px 26px 25px;
    border-top: 1px solid #dfeaed
}

@media only screen and (max-width:47.9375em) {
    .p-case-panel__body {
        padding: 10px 14px 25px
    }
}

.p-case-panel__list {
    display: grid;
    grid: 1fr/96px 1fr;
    font-size: .875rem
}

.p-case-panel__list dt,
.p-casestudy-info__meta dt {
    font-weight: 700;
    position: relative;
    white-space: nowrap
}

.p-case-panel__list dt::after {
    content: ":";
    position: absolute;
    display: block;
    top: 0;
    right: 0
}

.p-case-panel__list dd {
    padding-left: 12px
}

.p-seminar-panel {
    display: flex;
    flex-wrap: wrap;
    margin-top: -30px;
    margin-right: -24px
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-panel {
        display: block;
        margin-right: 0
    }
}

.p-seminar-panel__item {
    width: 100%;
    margin-top: 30px;
    margin-right: 0;
    display: flex;
    position: relative;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 20px 0 rgba(9, 77, 89, .15);
    transition: all cubic-bezier(.215, .61, .355, 1) .25s
}

@media print,
screen and (min-width:64em) {
    .p-seminar-panel__item {
        width: calc(50% - 24px);
        margin-right: 24px
    }
}

@media (hover:hover) {
    .p-seminar-panel__item:hover {
        box-shadow: 0 5px 30px 0 rgba(9, 77, 89, .25)
    }

    .p-seminar-panel__item:hover .p-seminar-panel__title {
        color: #0fb4bf
    }
}

.p-seminar-panel__link {
    display: flex;
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.p-seminar-panel__info {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 150px;
    text-align: center;
    padding: 20px 30px 30px;
    border-right: 1px solid #dfeaed
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-panel__info {
        width: 106px;
        justify-content: center;
        padding: 20px 10px 30px
    }
}

.p-seminar-panel__type {
    font-size: .875rem;
    font-weight: 700;
    color: #1199ab;
    margin-top: 4px
}

.p-seminar-panel__badge {
    display: block;
    box-sizing: border-box;
    text-align: center;
    width: 90px;
    border-radius: 90px;
    padding-top: 3px;
    padding-bottom: 4px;
    margin-top: 14px;
    background-color: #fcf403;
    line-height: 1.4;
    color: #1c1e1f
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-panel__badge {
        width: 80px;
        font-size: .75rem
    }
}

.p-seminar-panel__badge.-closed {
    background-color: #077887;
    color: #fff
}

.p-seminar-panel__badge.-disabled {
    background-color: #dfeaed;
    color: #8e989c
}

.p-seminar-panel__badge.-external {
    background-color: #1c1e1f;
    color: #fff
}

.p-seminar-panel__img {
    width: 60px;
    height: 60px
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-panel__img {
        width: 40px;
        height: 40px
    }
}

.p-seminar-panel__contents {
    flex: 1;
    padding: 19px 30px 26px
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-panel__contents {
        padding: 16px 10px
    }
}

.p-seminar-panel__date {
    font-weight: 700;
    display: block
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-panel__date {
        font-size: .875rem
    }
}

.p-seminar-panel__title {
    display: block;
    font-size: 1.125rem;
    font-weight: 700;
    color: #1199ab;
    line-height: 1.4166666667;
    margin-top: 10px;
    transition: color cubic-bezier(.215, .61, .355, 1) .25s
}

.p-seminar-panel__category {
    display: flex;
    flex-wrap: wrap;
    margin-top: 12px
}

.p-seminar-panel__tag {
    display: block;
    font-size: .875rem;
    padding: 3px 10px;
    margin-top: 6px;
    margin-right: 6px;
    color: #194b54;
    background-color: #e1f1f5
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-panel__tag {
        padding-bottom: 1px
    }
}

.p-home-relation {
    position: relative;
    margin-top: 2.5rem
}

@media only screen and (max-width:47.9375em) {
    .p-home-relation {
        margin-top: 0
    }
}

.p-home-relation__inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between
}

@media only screen and (max-width:47.9375em) {
    .p-home-relation__inner {
        display: block
    }

    .p-home-relation__visual {
        position: static;
        right: 0;
        width: 100%
    }
}

@media print,
screen and (min-width:48em) {
    .p-home-relation__visual {
        flex: 1;
        max-width: 520px
    }
}

.p-home-relation__contents {
    max-width: 520px;
    display: block;
    margin-top: -12px
}

@media only screen and (max-width:47.9375em) {
    .p-home-relation__contents {
        max-width: 100%;
        display: block;
        margin-top: 0;
        margin-right: 0
    }
}

.p-home-relation__item {
    width: 100%;
    margin-right: 1.875rem;
    padding-top: 1rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid #dfeaed
}

@media only screen and (max-width:47.9375em) {
    .p-home-relation__item {
        width: 100%;
        margin-right: 0
    }

    .p-home-relation__item:nth-last-of-type(1) {
        border-bottom: none
    }
}

@media print,
screen and (min-width:48em) {
    .p-home-relation__item:nth-last-of-type(1) {
        border-bottom: none
    }
}

@media (hover:hover) {
    .p-home-relation__item:hover .p-home-relation__title {
        color: #0fb4bf
    }
}

.p-home-relation__title {
    font-size: 1.125rem;
    color: #1199ab;
    font-weight: 700;
    transition: color cubic-bezier(.215, .61, .355, 1) .25s
}

.p-home-relation__text {
    margin-top: 10px;
    display: inline-block
}

@media only screen and (max-width:47.9375em) {
    .p-home-relation__text {
        margin-top: 8px
    }

    .p-home-relation__box {
        margin-top: 24px
    }
}

.p-blog-panel {
    display: flex;
    flex-wrap: wrap;
    margin-top: -30px;
    margin-right: -24px
}

@media only screen and (max-width:47.9375em) {
    .p-blog-panel {
        display: block;
        margin-top: -20px;
        margin-right: 0
    }
}

.p-blog-panel__item {
    margin-top: 30px;
    margin-right: 24px;
    position: relative;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 20px 0 rgba(9, 77, 89, .15);
    transition: all cubic-bezier(.215, .61, .355, 1) .25s
}

@media only screen and (max-width:47.9375em) {
    .p-blog-panel__item {
        width: 100%;
        margin-top: 20px;
        margin-right: 0
    }
}

@media print,
screen and (min-width:48em) {
    .p-blog-panel__item {
        width: calc(50% - 24px)
    }
}

@media print,
screen and (min-width:64em) {
    .p-blog-panel__item {
        width: calc(33.3% - 24px)
    }
}

@media (hover:hover) {
    .p-blog-panel__item:hover {
        box-shadow: 0 5px 30px 0 rgba(9, 77, 89, .25)
    }

    .p-blog-panel__item:hover .p-blog-panel__img {
        transform: scale(1.05)
    }

    .p-blog-panel__item:hover .p-blog-panel__title {
        color: #0fb4bf
    }
}

.p-blog-panel__link {
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.p-blog-panel__content {
    box-sizing: border-box;
    position: relative
}

@media only screen and (max-width:47.9375em) {
    .p-blog-panel__content {
        padding: 14px 14px 18px
    }
}

@media print,
screen and (min-width:48em) {
    .p-blog-panel__content {
        padding: 20px 26px 24px
    }
}

.p-blog-panel__content>:first-child {
    margin-top: 0
}

.p-blog-panel__title {
    display: block;
    font-size: 1.125rem;
    font-weight: 700;
    margin-top: 6px;
    line-height: 1.4166666667;
    color: #1199ab;
    transition: color cubic-bezier(.215, .61, .355, 1) .25s
}

.p-blog-panel__text {
    margin-top: 16px
}

.p-blog-panel__date {
    font-size: .875rem;
    display: block
}

.p-blog-panel__thumb {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 50%;
    overflow: hidden;
    border-radius: 10px 10px 0 0
}

.p-blog-panel__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform cubic-bezier(.215, .61, .355, 1) .3s
}

.p-blog-panel__category {
    display: flex;
    flex-wrap: wrap;
    margin-top: 12px
}

.p-blog-panel__tag {
    display: block;
    font-size: .875rem;
    padding: 3px 10px;
    margin-top: 6px;
    margin-right: 6px;
    border-radius: 2px;
    color: #194b54;
    background-color: #e1f1f5
}

@media only screen and (max-width:47.9375em) {
    .p-blog-panel__tag {
        padding-bottom: 1px
    }
}

.p-news__item {
    --text-color: #1199ab;
    border-bottom: 1px solid #dfeaed
}

.p-news.-no-last-border .p-news__item:last-of-type {
    border-bottom: none
}

.p-news__inner {
    display: grid;
    grid-template: "newsDate newsTag" auto "newsTitle newsTitle" 1fr/auto 1fr;
    gap: 12px
}

@media only screen and (max-width:47.9375em) {
    .p-news__inner {
        padding-top: 1rem;
        padding-bottom: 1rem;
        gap: 0
    }
}

@media print,
screen and (min-width:48em) {
    .p-news__inner {
        padding: 1.25rem 0
    }

    .p-news.-single-line-s .p-news__inner {
        grid-template: "newsDate newsTag newsTitle" 1fr/116px 150px 1fr;
        padding-top: 1.125rem;
        padding-bottom: .875rem
    }
}

.p-news__date {
    grid-area: newsDate;
    font-feature-settings: "palt" 1;
    color: #1c1e1f;
    position: relative
}

@media only screen and (max-width:47.9375em) {
    .p-news__date {
        padding-right: 16px
    }
}

.p-news__category {
    grid-area: newsTag
}

.p-casestudy-section__body figcaption span,
.p-news.-single-line-s .p-news__tag {
    display: block
}

.p-news__tag+.p-news__tag {
    margin-top: 4px
}

.p-news__title {
    grid-area: newsTitle
}

@media only screen and (max-width:47.9375em) {
    .p-news__title {
        margin-top: .625rem
    }
}

@media (hover:hover) {
    .p-news__title:hover {
        --text-color: #0fb4bf
    }
}

.p-news__title-link {
    display: block;
    font-size: 1.125rem;
    color: var(--text-color);
    font-weight: 700;
    line-height: 1.4
}

.p-decoration-person {
    position: absolute;
    top: 0;
    right: 0
}

@media only screen and (max-width:47.9375em) {
    .p-decoration-person {
        opacity: .3
    }
}

.p-decoration-person.-home_function {
    width: 186px;
    height: 160px;
    z-index: 0;
    top: -.5rem;
    right: -16px
}

@media only screen and (max-width:47.9375em) {
    .p-decoration-person.-home_function {
        width: 120px;
        height: 100px;
        top: 0;
        right: 0
    }
}

.p-decoration-person.-home_case {
    width: 180px;
    height: 150px;
    z-index: 2;
    top: -2.75rem;
    right: 5px
}

@media only screen and (max-width:47.9375em) {
    .p-decoration-person.-home_case {
        width: 120px;
        height: 100px;
        top: 0;
        right: 0
    }
}

.p-decoration-person.-home_seminar {
    width: 197px;
    height: 140px;
    z-index: 0;
    top: -.5625rem;
    right: 5px
}

@media only screen and (max-width:47.9375em) {
    .p-decoration-person.-home_seminar {
        width: 140px;
        height: 100px;
        top: -.3125rem;
        right: 0
    }
}

.p-decoration-person.-home_blog {
    width: 172px;
    height: 160px;
    z-index: 0;
    top: -1.25rem;
    right: -18px
}

@media only screen and (max-width:47.9375em) {
    .p-decoration-person.-home_blog {
        width: 129px;
        height: 120px;
        top: 0;
        right: 0
    }
}

.p-decoration-person.-home_movie {
    width: 210px;
    height: 140px;
    z-index: 0;
    top: -1.875rem;
    right: 0
}

@media only screen and (max-width:47.9375em) {
    .p-decoration-person.-home_movie {
        width: 150px;
        height: 100px;
        top: 0;
        right: 0
    }
}

.p-decoration-img {
    position: absolute;
    top: 0;
    right: 0
}

.p-decoration-img.-top_news {
    z-index: 10;
    right: 0
}

@media only screen and (max-width:47.9375em) {
    .p-decoration-img.-top_news {
        width: 124px;
        top: -20px
    }
}

@media print,
screen and (min-width:48em) {
    .p-decoration-img.-top_news {
        width: 554px;
        top: -160px;
        right: -134px;
        display: block
    }
}

@media only screen and (max-width:63.9375em) {
    .p-header-nav {
        display: block
    }
}

@media print,
screen and (min-width:64em) {
    .p-header-nav {
        display: flex;
        position: relative;
        grid-area: items;
        flex-wrap: wrap;
    }
}

.p-header-nav__item {
    display: block;
    color: #1c1e1f;
    font-weight: 700;
    cursor: pointer;
    transition: color cubic-bezier(.215, .61, .355, 1) .25s
}

@media only screen and (max-width:63.9375em) {
    .p-header-nav__item {
        position: relative;
        font-size: 1rem;
        padding-top: 10px;
        padding-bottom: 8px;
        border-bottom: 1px solid #dfeaed
    }
}

@media print,
screen and (min-width:64em) {
    .p-header-nav__item {
        font-size: .875rem;
        margin-right: 15px
    }

    .p-header-nav__item:last-child {
        margin-right: 0
    }

    .p-header-nav__item.-current {
        color: #1199ab;
        border-bottom: 2px solid #1199ab
    }
}

@media (hover:hover) {
    .p-header-nav__item:hover {
        color: #1199ab
    }
}

@media print,
screen and (min-width:64em) {
    .p-header-nav__item.-arrow {
        margin-right: 30px
    }
}

.p-header-nav__item.-arrow::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    right: -16px;
    border-right: solid 2px #1c1e1f;
    border-bottom: solid 2px #1c1e1f;
    width: 7px;
    height: 7px;
    transform: rotate(45deg);
    transition: all cubic-bezier(.215, .61, .355, 1) .25s
}

@media only screen and (max-width:63.9375em) {
    .p-header-nav__item.-arrow::before {
        top: 18px;
        width: 9px;
        height: 9px;
        right: 8px
    }
}

@media print,
screen and (min-width:64em) {
    .p-header-nav__item.-arrow::before {
        top: 7px
    }
}

.p-header-nav__item.-arrow::after {
    display: none
}

@media print,
screen and (min-width:64em) {
    .p-header-nav__item.-arrow::after {
        content: "";
        display: block;
        position: absolute;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 8px 8px;
        border-color: transparent transparent #fff;
        left: 50%;
        bottom: -19px;
        z-index: 10005;
        opacity: 0;
        transition: opacity linear .15s;
        transform: translateX(-50%);
        /*display: none;*/
    }
}

@media (hover:hover) {
    .p-header-nav__hover-menu:hover .p-header-nav__item.-arrow::before {
        border-right: solid 2px #1199ab;
        border-bottom: solid 2px #1199ab
    }

    .p-header-nav__hover-menu:hover .p-header-nav__item.-arrow::after {
        opacity: 1
    }
}

@media only screen and (max-width:63.9375em) {
    .p-header-nav__hover-menu.is-active .p-header-nav__item.-arrow::before {
        transform: rotate(-136deg)
    }
}

@media print,
screen and (min-width:64em) {
    .p-header-nav__item.-arrow.-current::before {
        border-right: solid 2px #1199ab;
        border-bottom: solid 2px #1199ab
    }

    .l-header.-scroll .p-header-nav__item {
        color: #1c1e1f
    }
}

@media (hover:hover) {
    .l-header.-scroll .p-header-nav__item:hover {
        color: #1199ab
    }
}

@media print,
screen and (min-width:64em) {
    .l-header.-scroll .p-header-nav__item.-current {
        color: #1199ab;
        border-bottom: 2px solid #1199ab
    }
}

.p-header-nav__item.-arrow {
    position: relative
}

.l-header.-scroll .p-header-nav__item.-arrow::before {
    border-right: solid 2px #1c1e1f;
    border-bottom: solid 2px #1c1e1f
}

@media (hover:hover) {
    .l-header.-scroll .p-header-nav__item.-arrow:hover::before {
        border-right: solid 2px #1199ab;
        border-bottom: solid 2px #1199ab
    }
}

.l-header.-scroll .p-header-nav__item.-arrow.-current::before {
    border-right: solid 2px #1199ab;
    border-bottom: solid 2px #1199ab
}

.p-header-tel {
    display: flex;
    color: #1c1e1f;
    font-weight: 700;
    align-items: center;
    justify-content: center
}

@media only screen and (max-width:63.9375em) {
    .p-header-tel {
        margin-top: 10px
    }
}

@media print,
screen and (min-width:64em) {
    .p-header-tel {
        margin-left: 15px
    }
}

.p-header-tel__number {
    color: #1c1e1f;
    font-weight: 700
}

.p-header-tel__time {
    display: block;
    font-size: .75rem;
    padding-left: 12px;
    line-height: 1.2
}

@media print,
screen and (min-width:80em) {

    .l-header.-scroll .p-header-tel,
    .l-header.-scroll .p-header-tel__number {
        color: #1c1e1f
    }
}

.p-header-hover-menu {
    display: block;
    z-index: 1
}

@media only screen and (max-width:63.9375em) {
    .p-header-hover-menu {
        height: 0;
        overflow: hidden;
        transition: height cubic-bezier(.215, .61, .355, 1) .2s
    }
}

@media print,
screen and (min-width:64em) {
    .p-header-hover-menu {
        transition: all .25s ease-in-out;
        position: absolute;
        transform: translateY(10px);
        top: calc(100% + 5px);
        left: -57px;
        visibility: hidden;
        opacity: 0
    }
}

@media print and (hover:hover),
screen and (hover:hover) and (min-width:64em) {
    .p-header-nav__hover-menu:hover .p-header-hover-menu {
        visibility: visible;
        opacity: 1
    }
}

@media print,
/*2025.12.10　医療系向けサービスに伴うheader改修*/
screen and (min-width:64em) {
    .p-header-hover-menu__inner {
        background-color: #fff;
        cursor: initial;
        padding: 30px;
        border-radius: 10px;
        box-shadow: 0 5px 20px 0 rgba(9, 77, 89, .25);
        width: 669px;
    }
}

@media only screen and (max-width:63.9375em) {
    .p-header-hover-menu__heading {
        margin-top: 14px
    }
}

@media print,
screen and (min-width:64em) {
    .p-header-hover-menu__heading {
        display: flex;
        align-items: center
    }
}

@media only screen and (max-width:63.9375em) {
    .p-header-hover-menu__title {
        display: none
    }
}

@media print,
screen and (min-width:64em) {
    .p-header-hover-menu__title {
        margin-right: 12px;
        display: block;
        font-size: 1.125rem;
        font-weight: 700;
        color: #1c1e1f
    }
}

.p-header-hover-menu__category,
.p-header-hover-menu__item a {
    font-weight: 700;
    color: #1199ab
}

@media print,
screen and (min-width:64em) {
    .p-header-hover-menu__category {
        font-size: .875rem
    }
}

@media print and (hover:hover),
screen and (hover:hover) and (min-width:64em) {
    .p-header-hover-menu__category:hover {
        color: #0fb4bf
    }
}

@media only screen and (max-width:63.9375em) {
    .p-header-hover-menu__contents {
        padding-bottom: 10px;
        border-bottom: 1px solid #dfeaed
    }
}

@media print,
screen and (min-width:64em) {
    .p-header-hover-menu__contents {
        display: flex;
        flex-wrap: wrap
    }
}

@media only screen and (max-width:63.9375em) {
    .p-header-hover-menu__contents.-bd_none {
        border-bottom: none
    }

    .p-header-hover-menu__item {
        margin-top: 10px
    }
}

@media print,
screen and (min-width:64em) {
    .p-header-hover-menu__item {
        margin-top: 8px;
        margin-right: 32px
    }

    .p-header-hover-menu__item02 {
        margin-top: 0;
    }
}

@media print and (hover:hover),
screen and (hover:hover) and (min-width:64em) {
    .p-header-hover-menu__item:hover a {
        color: #0fb4bf
    }
}

@media print,
screen and (min-width:64em) {
    .p-header-hover-menu__item:last-of-type {
        margin-right: 0
    }
}

.p-header-hover-menu__sub-head {
    border-bottom: 1px solid #dfeaed
}

@media only screen and (max-width:63.9375em) {
    .p-header-hover-menu__sub-head {
        margin-top: 9px
    }
}

@media print,
screen and (min-width:64em) {
    .p-header-hover-menu__sub-head {
        margin-top: 11px
    }
}

.p-header-hover-menu__sub-title {
    font-weight: 700;
    color: #8e989c
}

.p-page-top {
    position: relative;
    background-color: #1199ab;
    overflow: hidden
}

@media print,
screen and (min-width:48em) {
    .p-page-top {
        --bg-height: 8.75rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-page-top {
        --bg-height: 3.125rem
    }
}

.p-page-top__bg {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
    width: auto;
    height: var(--bg-height)
}

@media only screen and (max-width:47.9375em) {
    .p-page-top__bg {
        margin-top: -.6875rem
    }
}

.p-page-top__inner {
    position: relative
}

@media only screen and (max-width:47.9375em) {
    .p-page-top__inner {
        padding: 5.375rem 1.25rem 2rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-page-top__inner {
        padding-top: 8rem;
        padding-bottom: 4.375rem
    }

    .p-page-top__inner.-detail {
        padding-top: 8rem;
        padding-bottom: 5.625rem
    }
}

.p-page-top__visual {
    position: absolute;
    top: 8px
}

@media only screen and (max-width:47.9375em) {
    .p-page-top__visual {
        width: 63vw;
        right: 0;
        opacity: .5
    }
}

@media print,
screen and (min-width:48em) {
    .p-page-top__visual {
        right: 30px
    }
}

@media only screen and (max-width:47.9375em) {
    .p-page-top.-feature .p-page-top__visual {
        top: 46px
    }
}

@media print,
screen and (min-width:48em) {
    .p-page-top.-feature .p-page-top__visual {
        top: 40px
    }
}

@media only screen and (max-width:47.9375em) {
    .p-page-top.-service .p-page-top__visual {
        width: calc(150/375*100vw);
        height: auto;
        right: 20px;
        top: 66px
    }
}

@media print,
screen and (min-width:48em) {
    .p-page-top.-service .p-page-top__visual {
        top: 69%;
        right: 50px;
        transform: translateY(-50%)
    }
}

@media only screen and (max-width:47.9375em) {
    .p-page-top.-news .p-page-top__visual {
        top: 77px;
        right: 12px;
        width: calc(186/375*100vw);
        height: auto
    }
}

@media print,
screen and (min-width:48em) {
    .p-page-top.-news .p-page-top__visual {
        top: 88px;
        right: 50px
    }
}

.p-page-top.-partners .p-page-top__visual {
    right: 10px
}

@media only screen and (max-width:47.9375em) {
    .p-page-top.-partners .p-page-top__visual {
        top: 96px;
        width: calc(162/375*100vw);
        height: auto
    }
}

@media print,
screen and (min-width:48em) {
    .p-page-top.-partners .p-page-top__visual {
        top: 120px;
        right: 66px
    }
}

.p-page-top.-seminar .p-page-top__visual {
    right: 20px
}

@media only screen and (max-width:47.9375em) {
    .p-page-top.-seminar .p-page-top__visual {
        top: 58px;
        width: calc(186/375*100vw);
        height: auto
    }
}

@media print,
screen and (min-width:48em) {
    .p-page-top.-seminar .p-page-top__visual {
        top: 48px;
        right: 48px
    }
}

.p-page-top.-faq .p-page-top__visual {
    top: 57px;
    right: 0;
    width: calc(182/375*100vw);
    height: auto
}

@media print,
screen and (min-width:48em) {
    .p-page-top.-faq .p-page-top__visual {
        width: auto;
        top: 63px;
        right: 50px
    }
}

.p-page-top.-common .p-page-top__visual {
    top: 71px;
    right: -10px;
    width: calc(156/375*100vw);
    height: auto
}

@media print,
screen and (min-width:48em) {
    .p-page-top.-common .p-page-top__visual {
        width: auto;
        top: 100px;
        right: 40px
    }
}

.p-page-top.-cooperation_service .p-page-top__visual {
    top: 26px;
    right: -110px
}

@media only screen and (max-width:47.9375em) {
    .p-page-top.-cooperation_service .p-page-top__visual {
        width: calc(275/375*100vw);
        height: auto
    }
}

@media print,
screen and (min-width:48em) {
    .p-page-top.-cooperation_service .p-page-top__visual {
        width: auto;
        top: 60px;
        right: 0
    }
}

.p-page-top.-casestudy .p-page-top__visual {
    top: 68px;
    height: auto
}

@media print,
screen and (min-width:48em) {
    .p-page-top.-casestudy .p-page-top__visual {
        width: auto;
        top: 83px
    }
}

.p-page-top.-howto .p-page-top__visual {
    top: 84px;
    right: -2px;
    width: calc(200/375*100vw);
    height: auto
}

@media print,
screen and (min-width:48em) {
    .p-page-top.-howto .p-page-top__visual {
        width: auto;
        top: 110px;
        right: 30px
    }
}

.p-page-top__head {
    color: #fff
}

@media print,
screen and (min-width:48em) {
    .p-page-top__head {
        text-align: center
    }
}

.p-page-top__desc {
    font-weight: 500
}

@media only screen and (max-width:47.9375em) {
    .p-page-top__desc {
        font-size: .875rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-page-top__desc {
        text-align: center;
        font-size: 1.125rem;
        margin-top: 10px
    }
}

.p-page-top__button {
    width: 360px;
    margin: 0 auto
}

@media only screen and (max-width:47.9375em) {
    .p-page-top__button {
        width: 100%;
        margin-top: 20px
    }
}

@media print,
screen and (min-width:48em) {
    .p-page-top__button {
        margin-top: 21px
    }
}

.p-search {
    background-color: #f1f2f2;
    border-radius: 10px;
    padding-top: 1rem;
    padding-bottom: 1rem
}

.p-search__head {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #ced8db;
    padding-bottom: 12px
}

.p-search__heading {
    font-weight: 700;
    color: #1c1e1f
}

@media print,
screen and (min-width:48em) {
    .p-search__heading {
        font-size: 1.125rem;
        padding-left: 1.875rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-search__heading {
        padding-left: 1.125rem
    }
}

.p-search__clear {
    background-color: transparent;
    border: 0;
    cursor: pointer;
    outline: 0;
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
    transition: color cubic-bezier(.215, .61, .355, 1) .25s
}

@media only screen and (max-width:47.9375em) {
    .p-search__clear {
        padding-right: 1.125rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-search__clear {
        padding-right: 1.875rem
    }
}

@media (hover:hover) {
    .p-search__clear:hover {
        color: #1199ab
    }
}

.p-search__body {
    padding-top: 1rem;
    padding-bottom: 1rem
}

@media only screen and (max-width:47.9375em) {
    .p-search__body {
        padding-right: 1.125rem;
        padding-left: 1.125rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-search__body {
        padding-right: 1.875rem;
        padding-left: 1.875rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-search__flex {
        display: block
    }
}

@media print,
screen and (min-width:48em) {
    .p-search__flex {
        display: flex;
        flex-wrap: wrap
    }
}

.p-search__flex.-casestudy {
    margin-top: -14px
}

.p-search__row {
    padding-top: 22px;
    padding-bottom: 14px;
    border-bottom: 1px solid #ced8db
}

@media only screen and (max-width:47.9375em) {
    .p-search__row {
        display: block
    }
}

@media print,
screen and (min-width:48em) {
    .p-search__row {
        display: grid;
        grid: 1fr/138px 1fr
    }
}

.p-search__row+.p-search__row {
    padding-top: 18px;
    border-bottom: none
}

.p-search__sub-head {
    display: block;
    font-weight: 700;
    color: #1c1e1f
}

@media print,
screen and (min-width:48em) {
    .p-search__sub-head {
        margin-right: 40px;
        width: 136px
    }
}

@media only screen and (max-width:47.9375em) {
    .p-search__sub-head {
        margin-bottom: 8px
    }
}

@media print,
screen and (min-width:48em) {
    .p-search__contents {
        display: flex;
        flex-wrap: wrap;
        margin-top: -4px
    }
}

@media only screen and (max-width:47.9375em) {
    .p-search__button {
        margin-top: 4px
    }
}

@media print,
screen and (min-width:48em) {
    .p-search__button {
        margin-top: 14px
    }
}

.p-pager,
.p-pager .nav-links {
    display: flex;
    justify-content: center;
    align-items: center
}

.p-pager {
    --transition-duration: .2s;
    --transition-easing: ease-in-out;
    --bg-color: transparent;
    --text-color: #1199ab;
    --current-bg-color: #1199ab
}

.p-pager .nav-links {
    gap: .1875rem
}

@media print,
screen and (min-width:48em) {
    .p-pager .nav-links {
        gap: .625rem
    }
}

.p-pager .page-numbers {
    border-radius: .125rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bg-color);
    color: var(--text-color);
    font-weight: 700;
    font-size: 1.125rem;
    width: 1.875rem;
    height: 1.875rem;
    transition: all var(--transition-duration) var(--transition-easing)
}

@media print,
screen and (min-width:48em) {
    .p-pager .page-numbers {
        width: 2.5rem;
        height: 2.5rem
    }
}

.p-pager .page-numbers.current {
    --bg-color: var(--current-bg-color);
    --text-color: #fff;
    pointer-events: none
}

.p-pager .page-numbers.dots {
    pointer-events: none
}

.p-pager .page-numbers.next::before,
.p-pager .page-numbers.prev::before {
    content: "";
    width: .625rem;
    height: .625rem;
    display: block;
    transition: border-color var(--transition-duration) var(--transition-easing);
    border-top: .1875rem solid var(--text-color);
    transform-origin: center
}

.p-pager .page-numbers.prev::before {
    border-left: .1875rem solid var(--text-color);
    transform: rotate(-45deg)
}

.p-pager .page-numbers.next::before {
    border-right: .1875rem solid var(--text-color);
    transform: rotate(45deg)
}

@media (hover:hover) {
    .p-pager .page-numbers:hover {
        --bg-color: #0fb4bf;
        --text-color: #fff
    }
}

.p-casestudy-info {
    background-color: #fff;
    box-shadow: 0 5px 20px 0 rgba(9, 77, 89, .15);
    border-radius: 10px;
    overflow: hidden
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-info__layout {
        display: flex
    }
}

.p-casestudy-info__block.-logo {
    display: flex;
    align-items: center
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-info__block.-logo {
        justify-content: center;
        padding-top: 1.875rem;
        padding-bottom: 1.875rem;
        border-bottom: 1px solid #dfeaed
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-info__block.-logo {
        border-right: 1px solid #dfeaed
    }
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-info__block.-text {
        padding: .9375rem 1rem 1.625rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-info__block.-text {
        padding: 30px
    }

    .p-casestudy-info__img-block {
        width: 180px;
        padding-right: 16px;
        padding-left: 16px
    }
}

.p-casestudy-info__img-block img {
    object-fit: contain
}

.p-casestudy-info__row.-title {
    font-size: 1.125rem;
    font-weight: 700
}

.p-casestudy-info__row.-details {
    margin-top: 12px
}

.p-casestudy-info__meta {
    display: grid;
    grid: 1fr/120px 1fr;
    font-size: .875rem;
    margin-top: 5px
}

.p-casestudy-info__meta dt::after {
    content: ":";
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    font-weight: 700
}

.p-casestudy-info__meta dd {
    padding-left: .75rem
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-block.-info {
        margin-top: 1.125rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-block.-info {
        margin-top: 2.5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-block.-lead {
        margin-top: 1.75rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-block.-lead {
        margin-top: 2rem
    }

    .p-casestudy-block.-lead p {
        font-size: 1.125rem;
        line-height: 2
    }
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-block.-summaries {
        margin-top: 2.375rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-block.-summaries {
        margin-top: 3.375rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-block.-comment {
        margin-top: 2.375rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-block.-comment {
        margin-top: 5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-block.-eyecatch {
        margin-top: 1.25rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-block.-eyecatch {
        margin-top: 2.5rem
    }
}

.p-casestudy-summaries {
    border-radius: 10px;
    background-color: #f1f2f2
}

.p-casestudy-summary:not(:last-of-type) {
    border-bottom: 4px solid #fff
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-summary__inner {
        padding: 22px 20px
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-summary__inner {
        padding: 26px 42px 26px 8px
    }

    .p-casestudy-summary__layout {
        display: flex;
        width: 100%
    }

    .p-casestudy-summary__block.-head {
        width: 20%;
        padding-top: 14px
    }
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-summary__head {
        display: flex;
        align-items: center
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-summary__head {
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center
    }
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-summary__head-icon-block {
        margin-right: 12px
    }

    .p-casestudy-summary__head-icon-block img {
        width: 50px;
        height: 50px
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-summary__block.-body {
        flex: 1;
        padding-left: 38px;
        box-sizing: border-box
    }
}

.p-casestudy-summary__head-label {
    display: inline-block;
    position: relative;
    font-size: 1.125rem;
    font-weight: 700;
    color: #1199ab;
    transition: color cubic-bezier(.215, .61, .355, 1) .25s
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-summary__head-label {
        margin-top: .9375rem
    }
}

.p-casestudy-summary__head-label::before,
.p-casestudy-summary__summary::before {
    content: "";
    display: inline-block;
    position: absolute;
    background-repeat: no-repeat;
    background-size: contain
}

.p-casestudy-summary__head-label::before {
    width: 18px;
    height: 13px;
    top: .875em;
    right: -1.5em;
    background-image: url(/wp-content/themes/rcm-w/assets/images/common/icon_right-accent.svg);
    transform: rotate(90deg)
}

@media (hover:hover) {
    .p-casestudy-summary__head-label:hover {
        color: #0fb4bf
    }

    .p-casestudy-summary__head-label:hover::before {
        background-image: url(/wp-content/themes/rcm-w/assets/images/common/icon_right-accent-light.svg)
    }
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-summary__summaries {
        margin-top: 1rem
    }
}

.p-casestudy-summary__summary {
    position: relative;
    padding-left: 1.625em
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-summary__summary {
        margin-top: .625rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-summary__summary {
        font-size: 1.125rem;
        margin-top: .5rem
    }
}

.p-casestudy-summary__summary::before {
    width: 16px;
    height: 12px;
    top: .625em;
    left: 0;
    background-image: url(/wp-content/themes/rcm-w/assets/images/common/icon_check.svg)
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-section {
        padding-top: 2.375rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-section {
        padding-top: 3.375rem
    }

    .p-casestudy-section+.p-casestudy-section {
        padding-top: 4.375rem
    }
}

.p-casestudy-section__heading-main {
    font-weight: 700;
    line-height: 1.4
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-section__heading-main {
        font-size: 1.375rem;
        margin-top: .625rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-section__heading-main {
        font-size: 2rem;
        margin-top: .625rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-section__body p {
        margin-top: 1.125rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-section__body p {
        font-size: 1.125rem;
        margin-top: 1.5rem
    }
}

.p-casestudy-section__body img {
    object-fit: contain;
    height: auto;
    width: 100%;
    border-radius: 10px
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-section__body img {
        margin-top: 30px
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-section__body img {
        margin-top: 2.25rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-section__body figcaption {
        margin-top: .625rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-section__body figcaption {
        margin-top: .875rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-section__body figcaption span {
        font-size: .75rem
    }
}

.p-casestudy-comment {
    background-color: #f1f2f2;
    border-radius: 8px
}

.p-casestudy-comment__inner {
    position: relative;
    display: grid;
    z-index: 1
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-comment__inner {
        grid: 45px 1fr/80px 1fr;
        grid-gap: 0;
        grid-template-areas: "icon head" "contents contents";
        padding: 1.25rem 1.25rem 1.875rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-comment__inner {
        grid: 45px 1fr/120px 1fr;
        grid-gap: 0;
        grid-template-areas: "icon head" "icon contents";
        padding: 2.5rem 2.25rem
    }
}

.p-casestudy-comment__icon {
    grid-area: icon
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-comment__icon {
        width: 60px;
        height: 60px
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-comment__icon {
        width: 120px;
        height: 120px
    }
}

.p-casestudy-comment__icon img {
    width: 100%;
    height: 100%
}

.p-casestudy-comment__heading {
    grid-area: head;
    font-weight: 700
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-comment__heading {
        font-size: 1.125rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-comment__heading {
        font-size: 1.375rem;
        padding-left: 35px
    }
}

.p-casestudy-comment__contents {
    grid-area: contents
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-comment__contents {
        padding-top: 1.75rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-comment__contents {
        padding-left: 35px
    }
}

.p-casestudy-comment__text,
.p-detail-section__body p {
    line-height: 2
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-comment__text {
        font-size: .875rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-comment__text {
        font-size: 1.125rem
    }
}

.p-casestudy-comment__info,
.p-casestudy-comment__info span {
    display: block
}

@media only screen and (max-width:47.9375em) {
    .p-casestudy-comment__info {
        margin-top: .75rem;
        font-size: .75rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-casestudy-comment__info {
        margin-top: .625rem;
        font-size: .875rem
    }
}

.p-casestudy-comment__deco {
    position: absolute;
    bottom: 30px;
    right: 30px;
    z-index: -1
}

.f-form table tbody th,
.f-form table tbody tr,
.p-feature-top__layout {
    display: block
}

@media print,
screen and (min-width:80em) {
    .p-feature-top__layout {
        display: flex
    }
}

.p-feature-top__contents {
    position: relative
}

@media print,
screen and (min-width:80em) {
    .p-feature-top__contents {
        max-width: 646px
    }
}

@media print,
screen and (max-width:79.9375em) {
    .p-feature-top__area.-body {
        margin-top: 1.5rem
    }
}

@media print,
screen and (min-width:80em) {
    .p-feature-top__area.-body {
        margin-top: 2.125rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-feature-top__area.-body p+p {
        margin-top: 1.375rem
    }
}

.p-feature-top__area.-image {
    width: 100%;
    height: auto
}

@media print,
screen and (min-width:80em) {
    .p-feature-top__area.-image {
        position: absolute;
        top: -165px;
        right: -465px;
        max-width: 900px
    }
}

.p-feature-top__area.-image img {
    width: 100%;
    display: block;
    height: auto
}

@media only screen and (max-width:47.9375em) {
    .p-feature-anchor {
        position: relative;
        left: 0;
        bottom: 0;
        width: 100%
    }
}

@media print,
screen and (min-width:48em) {
    .p-feature-anchor {
        position: absolute;
        bottom: -106px;
        left: 50%;
        z-index: 2;
        transform: translateX(-50%)
    }
}

@media print,
screen and (min-width:80em) {
    .p-feature-anchor {
        bottom: -156px
    }
}

@media only screen and (max-width:47.9375em) {
    .p-feature-problems {
        display: block
    }
}

@media print,
screen and (min-width:48em) {
    .p-feature-problems {
        display: flex;
        justify-content: center
    }
}

.p-feature-problems__area {
    position: relative
}

.p-feature-problems__area::after {
    content: "";
    position: absolute;
    bottom: -20px;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid
}

@media print,
screen and (min-width:48em) {
    .p-feature-problems__area.-balloon-left {
        margin-right: 3.75em
    }
}

.p-feature-problems__area.-balloon-left::after {
    border-width: 0 30px 30px 0;
    border-color: transparent #fff transparent transparent;
    right: 20px
}

@media only screen and (max-width:47.9375em) {
    .p-feature-problems__area.-balloon-right {
        margin-top: 2.5em
    }
}

@media print,
screen and (min-width:48em) {
    .p-feature-problems__area.-balloon-right::after {
        border-width: 30px 30px 0 0;
        border-color: #fff transparent transparent;
        left: 20px
    }
}

@media only screen and (max-width:47.9375em) {
    .p-feature-problems__area.-balloon-right::after {
        border-width: 0 30px 30px 0;
        border-color: transparent #fff transparent transparent;
        right: 20px
    }

    .p-feature-problems__area.-image {
        display: none
    }
}

@media print,
screen and (min-width:48em) {
    .p-feature-problems__area.-image {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: -204px
    }
}

.p-feature-problems__area.-image::after {
    display: none
}

.p-feature-summaries {
    background-color: #fff;
    box-shadow: 0 5px 20px 0 rgba(9, 77, 89, .15);
    border-radius: 10px
}

@media only screen and (max-width:47.9375em) {
    .p-feature-summaries {
        display: block
    }
}

@media print,
screen and (min-width:48em) {
    .p-feature-summaries {
        display: flex
    }
}

.p-feature-summary {
    position: relative;
    box-sizing: border-box;
    padding-top: 15px;
    padding-right: 22px;
    padding-left: 22px
}

@media only screen and (max-width:47.9375em) {
    .p-feature-summary {
        padding-bottom: 15px
    }

    .p-feature-summary:not(:last-of-type) {
        border-bottom: 2px solid #ced8db
    }
}

@media print,
screen and (min-width:48em) {
    .p-feature-summary {
        width: 25%;
        padding-bottom: 32px
    }

    .p-feature-summary:not(:last-of-type) {
        border-right: 2px solid #ced8db
    }
}

.p-feature-summary__icon {
    position: absolute;
    top: 1.625rem;
    right: 1.625rem;
    z-index: 0
}

.p-feature-summary__inner {
    position: relative;
    z-index: 1
}

.p-feature-summary__sub-num {
    position: relative;
    font-family: Roboto, sans-serif;
    font-size: .875rem;
    font-weight: 700;
    color: #194b54
}

.p-feature-summary__sub-num:after {
    content: "";
    position: absolute;
    bottom: 2px;
    left: 0;
    width: 16px;
    height: 1px;
    background-color: #194b54
}

.p-feature-summary__row.-heading {
    margin-top: .1875em
}

.p-feature-summary__heading {
    font-size: 1.375rem;
    font-weight: 700;
    color: #194b54
}

.p-feature-summary__sub-text {
    margin-top: .625em;
    line-height: 1.4
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section+.p-detail-section {
        margin-top: 2.5rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section+.p-detail-section {
        margin-top: 5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body {
        margin-top: 1.25rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body {
        margin-top: 2.5rem
    }
}

.p-detail-section__body>:first-child {
    margin-top: 0
}

.p-detail-section__body img {
    object-fit: contain;
    margin: 0 auto;
    height: 100%;
    border-radius: 8px
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body img {
        margin-top: 2rem;
        margin-bottom: 2rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body img {
        margin-top: 2.5rem;
        margin-bottom: 2.5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body p {
        margin-top: 1.5rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body p {
        margin-top: 2.5rem;
        font-size: 1.125rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body p+p {
        margin-top: 2rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body p+p {
        margin-top: 1.5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body h2 {
        font-size: 1.375rem;
        margin-top: 1.5rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body h2 {
        font-size: 2rem;
        margin-top: 2.5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body h3 {
        font-size: 1.125rem;
        margin-top: 1.5rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body h3 {
        font-size: 1.5rem;
        margin-top: 2.5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body h4 {
        font-size: 1.125rem;
        margin-top: 1.5rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body h4 {
        font-size: 1.375rem;
        margin-top: 2.25rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body h5 {
        font-size: 1rem;
        margin-top: 1.25rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body h5 {
        font-size: 1.25rem;
        margin-top: 1.875rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body h6 {
        font-size: 1rem;
        margin-top: 1.25rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body h6 {
        font-size: 1.125rem;
        margin-top: 1.875rem
    }
}

@media only screen and (max-width:47.9375em) {

    .p-detail-section__body h2+p,
    .p-detail-section__body h3+p,
    .p-detail-section__body h4+p,
    .p-detail-section__body h5+p,
    .p-detail-section__body h6+p {
        margin-top: 1.875rem
    }
}

@media print,
screen and (min-width:48em) {

    .p-detail-section__body h2+p,
    .p-detail-section__body h3+p,
    .p-detail-section__body h4+p,
    .p-detail-section__body h5+p,
    .p-detail-section__body h6+p {
        margin-top: 1.5rem
    }
}

.p-detail-section__body table {
    width: 100%;
    margin-top: 1.25rem
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body table {
        font-size: 1.125rem
    }
}

.p-detail-section__body table tr {
    line-height: 1.75
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body table tr {
        border-top: 1px solid #ced8db;
        border-bottom: 1px solid #ced8db
    }
}

.p-detail-section__body table th {
    background-color: #f2f8fa
}

/*20241212修正*/
.price_certification{
    font-size: 13px;
    font-weight: normal;
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body table th {
        display: block;
        padding: .625rem .875rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body table th {
        width: 15rem;
        padding: .75rem 1.25rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body table td {
        display: block;
        padding: .875rem .875rem .75rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body table td {
        padding: .625rem 1.25rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body ul {
        margin-top: .875rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body ul {
        margin-top: 1.5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body ul ul {
        margin-top: .5rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body ul ul {
        margin-top: .625rem
    }
}

.p-detail-section__body ul li {
    position: relative;
    word-break: break-all;
    line-height: 1.75
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body ul li {
        margin-top: .5rem;
        padding-left: 1.5rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body ul li {
        margin-top: .625rem;
        padding-left: 1.25rem;
        font-size: 1.125rem
    }

    .p-detail-section__body ul li::before {
        top: .875rem
    }
}

.p-detail-section__body ul li::before {
    content: "";
    box-sizing: border-box;
    position: absolute;
    left: 0;
    background-color: #8e989c;
    border-radius: 50%;
    width: 6px;
    height: 6px
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body ul li::before {
        top: .875rem;
        left: .25rem
    }
}

.p-detail-section__body ul li ul li::before {
    background-color: transparent;
    border: 1px solid #8e989c
}

.p-detail-section__body ul li ul li ul li::before {
    border: 0;
    background-color: #8e989c;
    border-radius: 0;
    width: 10px;
    height: 1px
}

.p-detail-section__body ol {
    counter-reset: number;
    list-style-type: none
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body ol {
        margin-top: .875rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body ol {
        margin-top: 1.5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body ol ol {
        margin-top: .375rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body ol ol {
        margin-top: .5rem
    }
}

.p-detail-section__body ol li {
    position: relative;
    margin-top: .5rem
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body ol li {
        margin-top: .375rem;
        padding-left: 1.375rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-section__body ol li {
        padding-left: 1.5625rem
    }
}

.p-detail-section__body ol li::before {
    content: counter(number) ". ";
    counter-increment: number;
    display: inline-block;
    position: absolute;
    left: 0;
    font-size: 1.125rem;
    color: #8e989c;
    font-weight: 700
}

@media only screen and (max-width:47.9375em) {
    .p-detail-section__body ol li::before {
        font-size: 1rem
    }
}

.p-detail-section__body a {
    color: #1199ab;
    text-decoration: underline;
    transition: color cubic-bezier(.215, .61, .355, 1) .25s
}

@media (hover:hover) {
    .p-detail-section__body a:hover {
        color: #0fb4bf
    }
}

.p-detail-section__body a[target=_blank] {
    position: relative;
    padding-right: 1.0625rem;
    margin-right: .625rem;
    word-break: break-all
}

@media only screen and (max-width:47.9375em) {
    .p-layout-section {
        display: grid;
        grid: "head head" auto " image image" 1fr "text text" auto/100%
    }
}

@media print,
screen and (min-width:48em) {
    .p-layout-section.-odd {
        display: grid;
        grid: "head image" auto "text image" 1fr/1fr 1fr;
        grid-gap: 0 80px
    }
}

@media print,
screen and (min-width:80em) {
    .p-layout-section.-odd {
        grid: "head image" auto "text image" 1fr/560px 1fr
    }
}

@media print,
screen and (min-width:48em) {
    .p-layout-section.-even {
        display: grid;
        grid: "image head" auto "image text" 1fr/1fr 1fr;
        grid-gap: 0 80px
    }
}

@media print,
screen and (min-width:80em) {
    .p-layout-section.-even {
        grid: "image head" auto "image text" 1fr/1fr 560px
    }
}

.p-layout-section__row.-sub-heading {
    font-weight: 700;
    color: #194b54;
    display: flex
}

.p-layout-section__num {
    display: block;
    top: .1875em;
    position: relative;
    font-family: Roboto, sans-serif;
    font-size: .875rem;
    font-weight: 700;
    color: #194b54;
    margin-right: .5em
}

.p-layout-section__num:after {
    content: "";
    position: absolute;
    bottom: 5px;
    left: 0;
    width: 16px;
    height: 1px;
    background-color: #194b54
}

.p-feature-summary__sub-text {
    font-size: .875rem
}

.p-layout-section__image {
    grid-area: image
}

@media only screen and (max-width:47.9375em) {
    .p-layout-section__image {
        margin-top: 1rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-layout-section__image {
        margin-top: 1.875rem
    }
}

.p-layout-section__image img {
    width: 100%;
    height: auto
}

@media print,
screen and (min-width:48em) {
    .p-layout-section__image.-s_mt0 {
        margin-top: 0
    }
}

.p-layout-section__row.-heading {
    font-weight: 700
}

@media only screen and (max-width:47.9375em) {
    .p-layout-section__row.-heading {
        margin-top: .5rem;
        font-size: 1.375rem;
        line-height: 1.4
    }
}

@media print,
screen and (min-width:48em) {
    .p-layout-section__row.-heading {
        margin-top: 1rem;
        font-size: 2rem;
        line-height: 1.4
    }
}

@media only screen and (max-width:47.9375em) {
    .p-layout-section__row.-heading.-sp_center {
        text-align: center
    }
}

.p-layout-section__area.-head {
    grid-area: head
}

.p-layout-section__area.-body {
    grid-area: text;
    line-height: 2
}

@media only screen and (max-width:47.9375em) {
    .p-layout-section__area.-body {
        margin-top: 1.25rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-layout-section__area.-body {
        margin-top: 1.5rem
    }

    .p-layout-section__area.-body p+p {
        margin-top: .625rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-layout-section__row.-link {
        margin-top: 1.25rem;
        padding-right: 1.875rem;
        padding-left: 1.875rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-layout-section__row.-link {
        margin-top: 1.875rem
    }
}

.p-balloon {
    position: relative;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 20px 0 rgba(9, 77, 89, .15)
}

.p-balloon__label {
    position: absolute;
    border-radius: 50%;
    background-color: #194b54;
    text-align: center;
    color: #fff;
    font-weight: 700
}

@media only screen and (max-width:47.9375em) {
    .p-balloon__label {
        top: 20px;
        left: 20px;
        width: 4em;
        height: 4em;
        font-size: .75rem;
        padding-top: 14px
    }
}

@media print,
screen and (min-width:48em) {
    .p-balloon__label {
        top: -36px;
        left: -36px;
        width: 5em;
        height: 5em;
        padding-top: 27px
    }
}

@media only screen and (max-width:47.9375em) {
    .p-balloon__inner {
        padding: 1.1875rem 1.25rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-balloon__inner {
        padding: 1.875rem
    }
}

.p-balloon__heading {
    font-weight: 700;
    padding-left: 1.75rem
}

@media only screen and (max-width:47.9375em) {
    .p-balloon__heading {
        padding-left: 3.75em;
        line-height: 1.5
    }
}

@media print,
screen and (min-width:48em) {
    .p-balloon__heading {
        font-size: 1.25rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-balloon__row.-body {
        margin-top: 1.625em
    }
}

@media print,
screen and (min-width:48em) {
    .p-balloon__row.-body {
        margin-top: 1.125em
    }
}

@media only screen and (max-width:47.9375em) {
    .p-list__item {
        margin-top: .5em;
        line-height: 1.5
    }
}

@media print,
screen and (min-width:48em) {
    .p-list__item {
        margin-top: .625em
    }
}

.p-anchor {
    background-color: #fff;
    box-shadow: 0 5px 20px 0 rgba(9, 77, 89, .15);
    border-radius: 10px
}

@media only screen and (max-width:47.9375em) {
    .p-anchor {
        width: 100%;
        padding: 1rem 1.25rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-anchor {
        width: 720px;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
        padding: 1rem 2.5rem .875rem
    }
}

@media print,
screen and (min-width:64em) {
    .p-anchor {
        width: 920px
    }
}

@media only screen and (max-width:47.9375em) {
    .p-anchor__box {
        display: block
    }
}

@media print,
screen and (min-width:48em) {
    .p-anchor__box {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin-top: -.625rem
    }

    .p-anchor__box.-faq {
        justify-content: left;
        margin-right: -30px
    }
}

.p-anchor__box.-faq .p-anchor__link {
    display: inline-block
}

@media print,
screen and (min-width:48em) {
    .p-anchor__block {
        border-bottom: 1px solid #ced8db;
        width: calc(33.3% - 30px);
        margin-right: 30px;
        padding-bottom: .625rem
    }
}

.p-anchor__block:nth-last-of-type(1) {
    border-bottom: none
}

@media print,
screen and (min-width:48em) {

    .p-anchor__block:nth-last-of-type(2),
    .p-anchor__block:nth-last-of-type(3) {
        border-bottom: none
    }
}

.p-anchor__link {
    display: block;
    position: relative;
    margin-right: 2.25em;
    white-space: nowrap;
    font-weight: 700;
    color: #1199ab;
    transition: color cubic-bezier(.215, .61, .355, 1) .25s
}

@media only screen and (max-width:47.9375em) {
    .p-anchor__link {
        padding-top: .375rem;
        padding-bottom: .375rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-anchor__link {
        margin-top: .625rem
    }
}

.p-anchor__link::after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 13px;
    height: 12px;
    top: .875em;
    transform: rotate(90deg);
    background-image: url(/wp-content/themes/rcm-w/assets/images/common/icon_right-accent.svg);
    background-repeat: no-repeat;
    background-size: contain
}

@media only screen and (max-width:47.9375em) {
    .p-anchor__link:after {
        left: auto;
        margin-left: .375em;
        top: 1.125em
    }
}

@media print,
screen and (min-width:48em) {
    .p-anchor__link::after {
        right: -1.125em
    }
}

@media (hover:hover) {
    .p-anchor__link:hover {
        color: #0fb4bf
    }

    .p-anchor__link:hover::after {
        background-image: url(/wp-content/themes/rcm-w/assets/images/common/icon_right-accent-light.svg)
    }
}

.p-anchor.-plain {
    background-color: transparent;
    box-shadow: none
}

@media only screen and (max-width:47.9375em) {
    .p-anchor.-plain {
        padding: 0
    }
}

@media print,
screen and (min-width:48em) {
    .p-anchor.-plain {
        display: flex;
        align-items: center;
        justify-content: center;
        width: auto
    }

    .p-voices {
        display: flex;
        flex-wrap: wrap;
        margin-top: -30px;
        margin-right: -30px
    }
}

.p-voice {
    background-color: #f1f2f2;
    border-radius: 8px;
    box-sizing: border-box
}

@media only screen and (max-width:47.9375em) {
    .p-voice {
        margin-top: 20px
    }
}

@media print,
screen and (min-width:48em) {
    .p-voice {
        margin-top: 30px;
        margin-right: 30px;
        width: calc(50% - 30px)
    }
}

@media print,
screen and (min-width:64em) {
    .p-voice {
        width: calc(33.3% - 30px)
    }
}

@media only screen and (max-width:47.9375em) {
    .p-voice__inner {
        padding: .625rem 1.25rem 1.375rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-voice__inner {
        padding: 1.5rem 1.875rem
    }
}

.p-voice__row.-heading {
    position: relative;
    display: flex;
    font-size: .875rem;
    text-align: left
}

.p-voice__row.-heading:after {
    content: "";
    position: absolute;
    width: 35px;
    height: 24px;
    top: 0;
    right: 0;
    background-image: url(/wp-content/themes/rcm-w/assets/images/feature/img_voice_comma.svg);
    background-repeat: no-repeat;
    background-size: contain
}

@media only screen and (max-width:47.9375em) {
    .p-voice__row.-heading::after {
        top: 12px
    }

    .p-voice__icon {
        position: relative;
        top: .75rem;
        width: 2.8125rem;
        height: 2.5rem
    }
}

.p-voice__person {
    position: relative;
    padding-top: .5rem;
    margin-left: 1rem;
    font-weight: 500;
    z-index: 1
}

@media only screen and (max-width:47.9375em) {
    .p-voice__row.-body {
        margin-top: .875rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-voice__row.-body {
        margin-top: 1.625rem
    }
}

.p-voice__heading {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.4
}

.p-voice__body {
    font-size: .875rem;
    margin-top: .5rem
}

.p-heading-logo {
    display: flex
}

@media print,
screen and (min-width:48em) {
    .p-heading-logo {
        justify-content: center
    }
}

.p-heading-logo__logo {
    display: block;
    margin-right: .75rem
}

@media only screen and (max-width:47.9375em) {
    .p-heading-logo__logo {
        width: 11.75rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-heading-logo__logo {
        width: 15.25rem
    }
}

.p-feature-trust {
    border: 2px solid #ced8db;
    box-sizing: border-box;
    position: relative
}

@media only screen and (max-width:47.9375em) {
    .p-feature-trust {
        padding: 1.875rem 1.875rem 2.5rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-feature-trust {
        padding: 2.5rem 3.75rem
    }
}

.p-feature-trust:before {
    content: "";
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 40px;
    height: 40px;
    background-image: url(/wp-content/themes/rcm-w/assets/images/feature/img_feature-truest-deco.svg)
}

@media print,
screen and (min-width:48em) {
    .p-feature-trust__inner {
        display: flex
    }

    .p-feature-trust__block.-image {
        width: 220px;
        padding-top: 1.5rem
    }
}

.p-feature-trust__block.-text {
    margin-top: 24px
}

@media print,
screen and (min-width:48em) {
    .p-feature-trust__block.-text {
        margin-top: 0;
        flex: 1
    }
}

.p-feature-trust__row.-heading {
    margin-top: .5rem
}

@media only screen and (max-width:47.9375em) {
    .p-feature-trust__row.-body {
        margin-top: .1875rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-feature-trust__row.-body {
        margin-top: .75rem
    }
}

.p-feature-trust__body {
    line-height: 2
}

@media print,
screen and (min-width:48em) {
    .p-feature-trust__body p+p {
        margin-top: .625rem
    }
}

.p-feature-trust__image.-pc {
    display: none
}

@media print,
screen and (min-width:48em) {
    .p-feature-trust__image.-pc {
        display: block;
        width: 70%;
        height: auto;
    }

    .p-feature-trust__image.-sp {
        display: none
    }
}

.p-feature-trust__image.-sp{
    width: 50%;
    height: auto;
    margin: 0 auto;
}

.p-toc {
    background-color: #f1f2f2;
    border-radius: 8px
}

@media only screen and (max-width:47.9375em) {
    .p-toc__inner {
        padding: 1rem 1.25rem .625rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-toc__inner {
        padding: 1.875rem 1.875rem 1.25rem
    }
}

.p-toc__heading {
    font-weight: 700;
    font-size: 1.125rem
}

@media print,
screen and (min-width:48em) {
    .p-toc__row.-body {
        margin-top: .5rem
    }
}

.p-toc__entry {
    padding-top: .5rem;
    padding-bottom: .5rem
}

.p-toc__entry:not(:last-of-type) {
    border-bottom: 1px solid #ced8db
}

.p-toc__link {
    color: #1199ab;
    transition: all cubic-bezier(.215, .61, .355, 1) .25s
}

@media (hover:hover) {
    .p-toc__link:hover {
        color: #0fb4bf;
        border-bottom: 1px solid #0fb4bf
    }
}

@media only screen and (max-width:47.9375em) {
    .p-detail-block.-meta-info {
        margin-top: 1rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-block.-meta-info {
        margin-top: 1.5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-detail-block.-body {
        margin-top: 2.5rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-detail-block.-body {
        margin-top: 3.5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-button-area {
        margin-right: 1.875rem;
        margin-left: 1.875rem
    }
}

.p-image-button-banner {
    background-color: #f2f8fa;
    border-radius: 10px
}

@media print,
screen and (min-width:64em) {
    .p-image-button-banner {
        width: 920px;
        margin: 0 auto
    }
}

.p-image-button-banner.-type_bg {
    position: relative;
    background-color: #f3f4f5
}

.p-image-button-banner__inner {
    display: flex;
    align-items: center
}

@media only screen and (max-width:63.9375em) {
    .p-image-button-banner__inner {
        justify-content: center;
        flex-direction: column;
        padding: 1.25rem 1.875rem
    }
}

@media print,
screen and (min-width:64em) {
    .p-image-button-banner__inner {
        padding: 2.75rem 2.25rem
    }

    .p-image-button-banner.-type_bg .p-image-button-banner__inner {
        display: grid;
        grid-template-columns: 475fr 95fr 250fr;
        padding: 2rem 2.5rem
    }
}

.p-image-button-banner__area.-image {
    position: relative
}

@media print,
screen and (min-width:64em) {
    .p-image-button-banner__area.-image {
        flex: 0 0 160px;
        align-self: stretch;
        margin-top: -2.75rem;
        margin-bottom: -2.75rem
    }
}

.p-image-button-banner__image-block {
    position: relative;
    width: 83px;
    height: 70px
}

@media print,
screen and (min-width:64em) {
    .p-image-button-banner__image-block {
        width: 100%;
        height: 100%
    }
}

.p-image-button-banner__image-block img {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: auto
}

@media only screen and (max-width:63.9375em) {
    .p-image-button-banner__area.-heading {
        margin-top: .75rem
    }
}

@media print,
screen and (min-width:64em) {
    .p-image-button-banner__area.-heading {
        padding-right: 2.5rem;
        padding-left: 2.5rem
    }

    .p-image-button-banner.-type_bg .p-image-button-banner__area.-heading {
        padding: 0
    }
}

.p-image-button-banner__heading {
    display: block;
    font-weight: 700;
    line-height: 1.5
}

@media only screen and (max-width:63.9375em) {
    .p-image-button-banner__heading {
        text-align: center;
        font-size: 1.125rem
    }
}

@media print,
screen and (min-width:64em) {
    .p-image-button-banner__heading {
        flex: 1;
        font-size: 1.5rem
    }
}

@media only screen and (max-width:63.9375em) {
    .p-image-button-banner__area.-button {
        width: 100%;
        margin-top: .875rem;
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center
    }
}

@media print,
screen and (min-width:64em) {
    .p-image-button-banner__area.-button {
        width: 250px
    }
}

.p-image-button-banner__bg img {
    position: absolute;
    bottom: 0;
    left: 0
}

@media print,
screen and (min-width:48em) {
    .p-image-button-banner__bg img {
        width: 222px;
        height: auto
    }
}

.p-service-card {
    display: flex;
    flex-wrap: wrap;
    margin-top: -30px;
    margin-right: -24px
}

@media only screen and (max-width:47.9375em) {
    .p-service-card {
        display: block;
        margin-top: -20px;
        margin-right: 0
    }
}

.p-service-card__item {
    display: flex;
    position: relative;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 20px 0 rgba(9, 77, 89, .15);
    transition: all cubic-bezier(.215, .61, .355, 1) .25s
}

@media only screen and (max-width:47.9375em) {
    .p-service-card__item {
        width: 100%;
        margin-top: 20px;
        margin-right: 0
    }
}

@media print,
screen and (min-width:48em) {
    .p-service-card__item {
        width: calc(50% - 24px);
        margin-top: 30px;
        margin-right: 24px
    }
}

@media print,
screen and (min-width:64em) {
    .p-service-card__item {
        width: calc(33.3% - 24px)
    }
}

@media (hover:hover) {
    .p-service-card__item:hover {
        box-shadow: 0 5px 30px 0 rgba(9, 77, 89, .25)
    }

    .p-service-card__item:hover .p-service-card__img {
        transform: scale(1.05)
    }

    .p-service-card__item:hover .p-service-card__title {
        color: #0fb4bf
    }
}

.p-service-card__link {
    box-sizing: border-box;
    width: 100%
}

@media only screen and (max-width:47.9375em) {
    .p-service-card__link {
        position: relative
    }
}

.p-service-card__content {
    box-sizing: border-box;
    border-top: 1px solid #ced8db
}

@media only screen and (max-width:47.9375em) {
    .p-service-card__content {
        padding: 14px 16px 22px
    }
}

@media print,
screen and (min-width:48em) {
    .p-service-card__content {
        padding: 20px 24px 24px
    }
}

.p-service-card__content>:first-child {
    margin-top: 0
}

.p-service-card__title {
    font-size: 1.125rem;
    font-weight: 700;
    position: relative;
    color: #1199ab;
    transition: color cubic-bezier(.215, .61, .355, 1) .25s;
    display: inline-block
}

.p-service-card__text {
    display: block;
    margin-top: 16px;
    font-weight: 500
}

@media only screen and (max-width:47.9375em) {
    .p-service-card__text {
        margin-top: 8px
    }
}

.p-service-card__thumb {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 70%;
    overflow: hidden;
    background-color: #f1f2f2;
    border-radius: 10px 10px 0 0
}

.p-service-card__img {
    transition: transform cubic-bezier(.215, .61, .355, 1) .3s;
    position: absolute;
    top: 0
}

@media print,
screen and (min-width:48em) {
    .p-service-card.-other .p-service-card__content {
        padding-top: 26px
    }
}

.p-service-card__item.-current {
    box-shadow: none;
    background-color: #ced8db
}

.p-service-card__item.-current .p-service-card__text,
.p-service-card__item.-current .p-service-card__title {
    color: #8e989c
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-block.-info {
        margin-top: 1.125rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-seminar-block.-info {
        margin-top: 2.5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-block.-lead {
        margin-top: 1.75rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-seminar-block.-lead {
        margin-top: 2rem
    }

    .p-seminar-block.-lead p {
        font-size: 1.125rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-block.-summaries {
        margin-top: 2.375rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-seminar-block.-summaries {
        margin-top: 3.375rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-block.-comment {
        margin-top: 2.375rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-seminar-block.-comment {
        margin-top: 5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-block.-visual {
        margin-top: 1.25rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-seminar-block.-visual {
        margin-top: 2.5rem
    }
}

.p-cooperation-top__contents img,
.p-seminar-block.-visual img {
    display: block;
    width: 100%;
    height: auto
}

.p-seminar-tags {
    display: flex;
    flex-wrap: wrap
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-tags {
        margin-top: .625rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-seminar-tags {
        margin-top: 1.5rem
    }
}

.p-seminar-info {
    border-radius: 10px;
    box-shadow: 0 5px 20px 0 rgba(9, 77, 89, .15)
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-info__inner {
        padding-bottom: .5rem
    }
}

.p-seminar-info__body {
    display: grid
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-info__body {
        grid: "head" auto "contents" 1fr " button" auto/100%
    }
}

@media print,
screen and (min-width:48em) {
    .p-seminar-info__body {
        grid: "head button" 114px "contents contents" 1fr/auto 1fr
    }
}

@media print,
screen and (min-width:64em) {
    .p-seminar-info__body {
        grid: "head button" 114px "contents contents" 1fr/520px 1fr
    }
}

@media print,
screen and (min-width:48em) {
    .p-seminar-info__body.-external {
        grid: "head button" 134px "contents contents" 1fr/auto 1fr
    }
}

@media print,
screen and (min-width:64em) {
    .p-seminar-info__body.-external {
        grid: "head button" 134px "contents contents" 1fr/520px 1fr
    }
}

.p-seminar-info__head {
    grid-area: head
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-info__head {
        padding: .75rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-seminar-info__head {
        padding: 1.25rem 1.875rem
    }
}

.p-seminar-info__date {
    display: flex
}

.p-seminar-info__date span {
    display: block;
    font-weight: 700;
    font-size: 1.25rem
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-info__date span {
        font-size: 1.125rem
    }
}

.p-seminar-info__week {
    margin-right: .5rem;
    margin-left: .5rem
}

@media print,
screen and (min-width:48em) {
    .p-seminar-info__type {
        font-size: 1.125rem
    }
}

.p-seminar-info__button {
    grid-area: button
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-info__button {
        padding-top: 0;
        padding-right: 1.125rem;
        padding-left: 1.125rem;
        padding-bottom: .75rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-seminar-info__button {
        padding: 1.25rem;
        display: flex;
        justify-content: center;
        flex-direction: column;
        padding-left: 100px
    }
}

@media print,
screen and (min-width:64em) {
    .p-seminar-info__button {
        align-items: center
    }
}

.p-seminar-info__note {
    font-size: .875rem;
    margin-top: .25rem;
    text-align: center
}

.p-seminar-info__contents {
    border-top: 1px solid #ced8db;
    grid-area: contents
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-info__contents {
        padding: .5rem 1rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-seminar-info__contents {
        padding: 1.625rem 1.875rem .75rem
    }
}

.p-seminar-info__row {
    position: relative;
    line-height: 1.75
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-info__row {
        font-size: .875rem;
        padding-bottom: .625rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-seminar-info__row {
        display: flex;
        font-size: 1.125rem;
        padding-bottom: .75rem
    }
}

.p-seminar-info__row:not(:last-of-type) {
    border-bottom: 1px solid #ced8db
}

@media print,
screen and (min-width:48em) {
    .p-seminar-info__row+.p-seminar-info__row {
        padding-top: .75rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-info__row+.p-seminar-info__row {
        padding-top: .75rem
    }
}

.p-seminar-info__title {
    font-weight: 700;
    color: #1199ab;
    position: relative;
    top: 0
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-info__title {
        padding-left: 1.3125rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-seminar-info__title {
        padding-left: 1.5rem;
        width: 8.75rem
    }
}

.p-seminar-info__text {
    flex: 1
}

@media only screen and (max-width:47.9375em) {
    .p-seminar-info__text {
        padding-top: .3125rem
    }
}

.p-archive-links {
    --side-padding: 16px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(9, 77, 89, .15)
}

@media print,
screen and (min-width:48em) {
    .p-archive-links {
        --side-padding: 20px
    }
}

.p-archive-links__head {
    display: grid;
    grid-template-columns: 14px 1fr;
    gap: 8px;
    align-items: center;
    background-color: #e1f1f5;
    padding: 16px var(--side-padding) 17px
}

@media print,
screen and (min-width:48em) {
    .p-archive-links__head {
        grid-template-columns: 16px 1fr
    }
}

.p-archive-links__separator {
    display: block;
    height: 1px;
    background-color: #ced8db
}

.p-archive-links__heading {
    color: #077887;
    font-size: 1rem;
    font-weight: 700
}

@media print,
screen and (min-width:48em) {
    .p-archive-links__heading {
        font-size: 1.125rem
    }
}

.p-archive-links__entry {
    display: block;
    background-color: #fff;
    padding: 12px var(--side-padding);
    font-size: .875rem;
    transition: color cubic-bezier(.215, .61, .355, 1) .25s
}

@media (hover:hover) {
    .p-archive-links__entry:hover {
        color: #1199ab
    }
}

.p-archive-links__entry.-current {
    background-color: #e1f1f5
}

.p-archive-links__entry+.p-archive-links__entry {
    border-top: 1px solid #ced8db
}

.p-archive-links__entry:last-child {
    padding-bottom: 16px
}

.p-archive-links__entry-block,
.p-news-tag {
    display: inline-block
}

.p-archive-links__entry-block.-count {
    margin-left: 4px
}

.p-news-tag {
    text-align: center;
    padding: 6px 12px;
    border-radius: 90px;
    line-height: 1.2;
    box-sizing: border-box;
    font-size: .75rem;
    background-color: #e1f1f5;
    color: #1c1e1f;
    margin-right: 8px
}

.p-news-tag.-new {
    background-color: #1199ab;
    color: #fff
}

.p-news.-single-line-s .p-news-tag,
.p-news.-single-line-s .p-news-tag.-new {
    background-color: #fff;
    color: #1199ab
}

.p-news-meta {
    display: flex
}

.p-news-meta__block {
    margin-right: 8px
}

.p-sns-button {
    position: sticky;
    top: 120px
}

.p-sns-button__item {
    display: block;
    transition: opacity .2s ease
}

@media print,
screen and (min-width:80em) {
    .p-sns-button__item {
        margin-right: 0
    }
}

.p-sns-button__item+.p-sns-button__item {
    margin-top: 12px
}

@media (hover:hover) {
    .p-sns-button__item:hover {
        opacity: .8
    }
}

.p-sns-button__icon {
    display: block;
    width: 40px;
    height: 40px
}

@media print,
screen and (min-width:48em) {
    .p-catelist {
        display: flex;
        justify-content: center
    }
}

.p-catelist__title {
    display: block;
    font-weight: 700;
    font-size: 1.125rem
}

@media only screen and (max-width:47.9375em) {
    .p-catelist__category {
        margin-top: .375rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-catelist__category {
        display: flex;
        margin-left: 1.875rem
    }
}

.p-catelist__item {
    font-weight: 700;
    border-radius: 2px;
    font-size: 1.125rem
}

@media only screen and (max-width:47.9375em) {
    .p-catelist__item {
        margin-top: .625rem;
        display: block
    }
}

@media print,
screen and (min-width:48em) {
    .p-catelist__item {
        margin-right: 1.25rem
    }
}

.p-catelist__item.-current {
    background-color: #1199ab;
    padding-right: 1rem;
    padding-left: 1rem
}

@media only screen and (max-width:47.9375em) {
    .p-catelist__item.-current {
        width: fit-content;
        padding-top: .25rem;
        padding-bottom: .25rem
    }
}

.p-catelist__link {
    color: #1c1e1f;
    transition: all cubic-bezier(.215, .61, .355, 1) .25s
}

.p-catelist__link span {
    color: #1199ab
}

@media (hover:hover) {
    .p-catelist__link:hover {
        color: #1199ab
    }
}

.p-catelist__item.-current .p-catelist__link,
.p-catelist__item.-current .p-catelist__link span {
    color: #fff
}

@media only screen and (max-width:47.9375em) {
    .p-floating-anchor {
        margin-top: 16px
    }
}

@media print,
screen and (min-width:48em) {
    .p-floating-anchor {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%, 50%);
        z-index: 1
    }
}

.p-partner-summaries {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px
}

@media print,
screen and (min-width:48em) {
    .p-partner-summaries {
        grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
        gap: 30px
    }
}

.p-partner-summary {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 20px 0 rgba(9, 77, 89, .15);
    padding: 20px
}

@media print,
screen and (min-width:48em) {
    .p-partner-summary {
        padding: 30px
    }
}

.p-partner-summary__row {
    --mt: initial
}

.p-partner-summary__row.-sub-heading {
    --mt: 5px
}

.p-partner-summary__row.-description {
    --mt: 3px
}

.p-partner-summary__row.-link {
    --mt: 12px
}

.p-partner-summary__row+.p-partner-summary__row {
    margin-top: var(--mt)
}

.p-partner-summary__name {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.5
}

@media print,
screen and (min-width:48em) {
    .p-partner-summary__name {
        font-size: 1.5rem
    }
}

.p-partner-summary__sub-heading {
    font-size: 1rem;
    font-weight: 700;
    line-height: 2.1111111111
}

@media print,
screen and (min-width:48em) {
    .p-partner-summary__sub-heading {
        font-size: 1.125rem
    }
}

.p-partner-summary__link {
    font-size: 1rem;
    font-weight: 700;
    color: #1199ab
}

@media only screen and (max-width:47.9375em) {
    .p-cooperation-top__lead {
        font-size: 1rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-cooperation-top__lead {
        text-align: center
    }
}

@media only screen and (max-width:47.9375em) {
    .p-cooperation-top__contents {
        margin-top: 2rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-cooperation-top__contents {
        margin-top: 2.75rem
    }
}

.p-contact-box {
    background-color: #fff;
    border-radius: 10px
}

.p-contact-box.-bg_gray {
    background-color: #f1f2f2
}

.p-contact-box__inner {
    padding: 22px 24px 24px
}

@media print,
screen and (min-width:48em) {
    .p-contact-box__inner {
        padding: 38px 40px 40px
    }
}

.p-contact-box__row {
    --mt: initial
}

.p-contact-box__row+.p-contact-box__row {
    margin-top: var(--mt)
}

.p-contact-box__row.-button {
    --mt: 16px
}

@media print,
screen and (min-width:48em) {
    .p-contact-box__row.-button {
        --mt: 22px
    }
}

.p-contact-box__heading {
    font-weight: 700;
    font-size: 1rem;
    text-align: center;
    line-height: calc(33.6/24)
}

@media print,
screen and (min-width:48em) {
    .p-contact-box__heading {
        font-size: 1.5rem
    }
}

.p-cooperation-list__head {
    display: flex;
    align-items: center
}

@media print,
screen and (min-width:48em) {
    .p-cooperation-list__head {
        justify-content: center;
        flex-direction: column
    }
}

.p-cooperation-list__image {
    border-radius: 50%;
    background-color: #fff;
    position: relative
}

@media only screen and (max-width:47.9375em) {
    .p-cooperation-list__image {
        width: 3.75rem;
        height: 3.75rem;
        margin-right: 1rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-cooperation-list__image {
        width: 8.75rem;
        height: 8.75rem
    }
}

.p-cooperation-list__image.-fill {
    background-color: #f2f8fa
}

.p-cooperation-list__image img {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

@media only screen and (max-width:47.9375em) {
    .p-cooperation-list__image img {
        width: 32px;
        height: 32px
    }
}

@media print,
screen and (min-width:48em) {
    .p-cooperation-list__title {
        margin-top: 1.5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-cooperation-list__contents {
        margin-top: 2.125rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-cooperation-list__contents {
        margin-top: 2.125rem
    }

    .p-cooperation-list__items {
        display: flex;
        flex-wrap: wrap;
        margin-right: -2.5rem
    }

    .p-cooperation-list__items.-even .p-cooperation-list__item:nth-last-of-type(1),
    .p-cooperation-list__items.-even .p-cooperation-list__item:nth-last-of-type(2),
    .p-cooperation-list__items.-odd .p-cooperation-list__item:nth-last-of-type(1) {
        border-bottom: none
    }

    .p-cooperation-list__items.-only {
        justify-content: center
    }
}

.p-cooperation-list__item {
    padding-top: 1rem;
    padding-bottom: 1.125rem;
    border-bottom: 1px solid #ced8db
}

@media print,
screen and (min-width:48em) {
    .p-cooperation-list__item {
        width: calc(50% - 40px);
        margin-right: 2.5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-cooperation-list__item:last-of-type {
        border-bottom: none
    }
}

.p-cooperation-list__item-title {
    color: #1199ab;
    font-size: 1.125rem;
    font-weight: 700
}

.p-cooperation-list__item-text {
    margin-top: .625rem
}

@media only screen and (max-width:47.9375em) {
    .p-cooperation-anchor {
        position: relative;
        margin-top: 1.875rem;
        left: 0;
        bottom: 0;
        width: 100%
    }
}

@media print,
screen and (min-width:48em) {
    .p-cooperation-anchor {
        position: absolute;
        bottom: -108px;
        left: 50%;
        z-index: 2;
        transform: translateX(-50%)
    }
}

@media print,
screen and (min-width:80em) {
    .p-cooperation-anchor {
        bottom: -108px
    }
}

.p-cooperation-grid {
    display: grid;
    grid: "head" auto "text" auto "button" auto "img" auto/1fr
}

@media only screen and (max-width:47.9375em) {
    .p-cooperation-grid {
        grid: "head" auto "img" auto "text" auto "button" auto/1fr
    }
}

.p-cooperation-grid__head {
    grid-area: head
}

.p-cooperation-grid__text {
    grid-area: text
}

.p-cooperation-grid__button {
    grid-area: button
}

@media only screen and (max-width:47.9375em) {
    .p-cooperation-grid__button {
        padding-right: 1.875rem;
        padding-left: 1.875rem
    }
}

.p-cooperation-grid__image {
    grid-area: img
}

@media print,
screen and (min-width:48em) {
    .p-cooperation-grid__image {
        width: 800px;
        height: 400px;
        margin: 0 auto
    }
}

@media only screen and (max-width:63.9375em) {
    .p-material-block {
        display: block;
        margin-top: 1.375rem
    }
}

@media print,
screen and (min-width:64em) {
    .p-material-block {
        margin-top: 2.125rem;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(1, 1fr);
        grid-gap: 100px
    }
}

.p-material-block__summary {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.p-material-block__image {
    width: 400px;
    height: 280px
}

.p-material-block__image img {
    display: block;
    object-fit: contain;
    width: 400px;
    height: 280px
}

.p-material-block__title {
    font-weight: 700;
    font-size: 1.5rem
}

.p-material-block__textarea {
    margin-top: 2.875rem
}

@media only screen and (max-width:63.9375em) {
    .p-material-block__text {
        margin-top: .625rem
    }
}

@media print,
screen and (min-width:64em) {
    .p-material-block__text {
        font-size: 1.125rem;
        margin-top: 1.125rem
    }
}

@media only screen and (max-width:63.9375em) {
    .p-material-block__form {
        margin-top: 2.25rem
    }
}

.p-check-block {
    background-color: #edf5f7;
    border-radius: 10px;
    padding: 1.875rem
}

.p-check-block strong {
    margin-bottom: .75rem
}

@media only screen and (max-width:63.9375em) {
    .p-home-movie__flex {
        display: block
    }
}

@media print,
screen and (min-width:64em) {
    .p-home-movie__flex {
        display: flex;
        flex-direction: row-reverse
    }
}

@media print,
screen and (min-width:48em) {
    .p-home-movie__contents {
        padding-top: 1.5rem
    }
}

@media print,
screen and (min-width:64em) {
    .p-home-movie__contents {
        margin-left: 5rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-home-movie__movie {
        margin-top: 1.25rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-home-movie__movie {
        width: 480px
    }
}

@media only screen and (max-width:47.9375em) {
    .p-home-movie__movie iframe {
        width: 100%
    }
}

.p-home-movie__title {
    font-weight: 700
}

@media only screen and (max-width:47.9375em) {
    .p-home-movie__title {
        font-size: .875rem;
        margin-top: .3125rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-home-movie__title {
        font-size: 1.25rem;
        margin-left: .375rem
    }
}

@media only screen and (max-width:47.9375em) {
    .p-home-movie__text {
        font-size: .875rem;
        margin-top: .625rem
    }
}

@media print,
screen and (min-width:48em) {
    .p-home-movie__text {
        margin-top: 1.75rem
    }
}

.f-form {
    padding-top: 14px
}

.f-form.-page_detail {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 20px 0 rgba(9, 77, 89, .15)
}

@media only screen and (max-width:47.9375em) {
    .f-form.-page_detail {
        padding: .3125rem 1rem 1.875rem
    }
}

@media print,
screen and (min-width:48em) {
    .f-form.-page_detail {
        padding: 2.25rem 7.5rem 3.75rem
    }
}

.f-form table {
    width: 100%
}

@media only screen and (max-width:47.9375em) {
    .f-form table tbody tr {
        margin-top: 1rem
    }
}

@media print,
screen and (min-width:48em) {
    .f-form table tbody tr {
        margin-top: 1.25rem
    }
}

.f-form input,
.f-form textarea {
    width: 100%;
    padding: 12px 16px;
    border-radius: 4px;
    border: 2px solid #ced8db;
    font-family: inherit
}

.f-form input::placeholder,
.f-form textarea::placeholder {
    color: #8e989c
}

.f-form select {
    width: 100%;
    padding: 12px 16px;
    border-radius: 4px;
    border: 2px solid #ced8db;
    -webkit-appearance: none;
    appearance: none
}

.f-form .required {
    display: block;
    width: 40px;
    height: 20px;
    border-radius: 2px;
    background-color: #fc8403;
    font-size: .75rem;
    font-weight: 700;
    color: #fff;
    margin-left: .75rem
}

.f-form .required::before {
    content: "必須";
    display: block;
    text-align: center
}

.f-form .d-md-flex {
    display: flex;
    align-items: center
}

.f-form .lbl {
    font-weight: 700
}

.f-form .form-control {
    margin-top: .5rem
}

.f-form .d-flex {
    display: flex;
    margin-right: -20px
}

.f-form .form-element-wrap {
    width: 100%;
    width: calc(50% - 20px);
    margin-right: 20px
}

.f-form .f-check,
.f-form .form-checkbox-field {
    display: flex;
    justify-content: center
}

.f-form .form-checkbox-field label {
    display: flex;
    position: relative;
    padding-left: 20px
}

@media only screen and (max-width:47.9375em) {
    .f-form .form-checkbox-field label {
        padding-left: 8px
    }
}

.f-form .form-checkbox-field label>input {
    width: 16px;
    height: 16px;
    padding-top: 3px;
    position: absolute;
    top: 7px;
    border: 2px solid #ced8db
}

.f-form .form-checkbox-field .form-checkbox-field-text.form-agree {
    font-weight: 700
}

@media only screen and (max-width:47.9375em) {
    .f-form .form-checkbox-field .form-checkbox-field-text.form-agree {
        font-size: .875rem
    }
}

.f-form .form-checkbox-field .form-checkbox-field-text.form-agree a,
.f-form-side .box-faq.text-center.md a {
    color: #1199ab;
    transition: all cubic-bezier(.215, .61, .355, 1) .25s;
    text-decoration: underline
}

.f-form .form-checkbox-field .form-checkbox-field-text.form-agree a[target=_blank]::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 2px;
    margin-right: 4px;
    transform: translateY(2px);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%3E%3Cg%20fill%3D%22%231199ab%22%3E%3Cpath%20d%3D%22M12.1%2012.101H1.9v-10.2h3.78v-1.9H.949a.952.952%200%2000-.951.951v12.1a.952.952%200%2000.951.951h12.1a.952.952%200%2000.951-.951V8.32h-1.9z%22%2F%3E%3Cpath%20d%3D%22M7.378.001v1.957h3.284L5.417%207.201%206.8%208.584l5.244-5.245v3.284H14V.001z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)
}

@media (hover:hover) {
    .f-form .form-checkbox-field .form-checkbox-field-text.form-agree a[target=_blank]:hover::after {
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100% auto;
        background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%3E%3Cg%20fill%3D%22%230fb4bf%22%3E%3Cpath%20d%3D%22M12.1%2012.101H1.9v-10.2h3.78v-1.9H.949a.952.952%200%2000-.951.951v12.1a.952.952%200%2000.951.951h12.1a.952.952%200%2000.951-.951V8.32h-1.9z%22%2F%3E%3Cpath%20d%3D%22M7.378.001v1.957h3.284L5.417%207.201%206.8%208.584l5.244-5.245v3.284H14V.001z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)
    }

    .f-form .form-checkbox-field .form-checkbox-field-text.form-agree a:hover {
        color: #0fb4bf
    }
}

.f-form .f-check {
    flex-direction: column
}

.f-form .form-button-input {
    background-color: #1199ab;
    border: .0625rem solid #1199ab;
    padding: 1rem 1.5rem 1rem 1rem;
    max-width: 300px;
    font-weight: 700;
    font-size: 1.125rem;
    color: #fff;
    text-align: center;
    border-radius: 4px;
    box-sizing: border-box;
    transition-property: color, background-color, border-color;
    transition-duration: .25s;
    transition-timing-function: ease-in-out;
    cursor: pointer;
    box-shadow: 0 5px 20px 0 rgba(9, 77, 89, .15);
    display: block;
    margin-top: 1rem;
    margin-right: auto;
    margin-left: auto
}

@media print and (hover:hover),
screen and (hover:hover) and (min-width:64em) {
    .f-form .form-button-input:hover {
        background-color: #0fb4bf;
        border-color: #0fb4bf
    }
}

.f-form .form-checkbox-field input[type=checkbox],
.f-form .form-radio-field input[type=radio] {
    width: 0;
    height: 0;
    visibility: hidden;
    opacity: 0;
    padding: 0
}

.f-form .form-radio-field .form-radio-field-text {
    display: inline-block;
    position: relative;
    padding: 4px 0 4px 25px;
    cursor: pointer;
    font-weight: 700
}

.f-form .form-radio-field .form-radio-field-text .icon {
    width: 20px;
    height: 20px;
    border: 2px solid #ced8db;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 9px
}

.f-form .form-radio-field input[type=radio]:checked+.form-radio-field-text .icon {
    border: 2px solid #1199ab
}

.f-form .form-radio-field input[type=radio]:checked+.form-radio-field-text .icon:after {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    position: absolute;
    background: #1199ab;
    left: 4px;
    top: 4px
}

.f-form .list-radio {
    margin-top: 10px
}

.f-form .form-checkbox-field .form-checkbox-field-text.form-agree {
    padding-left: 10px
}

@media only screen and (max-width:47.9375em) {
    .f-form .form-checkbox-field .form-checkbox-field-text.form-agree {
        padding-left: 26px
    }
}

.f-form .form-checkbox-field .form-checkbox-field-text.form-agree::before {
    content: "";
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: 5px;
    left: 0;
    width: 18px;
    height: 18px;
    background-color: #fff;
    border-style: solid;
    border-color: #ced8db;
    border-width: 2px;
    border-radius: 3px;
    transition: all cubic-bezier(.215, .61, .355, 1) .15s
}

.f-form .form-checkbox-field input[type=checkbox]:checked+.form-checkbox-field-text.form-agree::after {
    box-sizing: border-box;
    content: "";
    display: block;
    position: absolute;
    transform: rotate(-45deg) scaleX(1);
    width: 10px;
    height: 6px;
    border-left: 2px solid #1199ab;
    border-bottom: 2px solid #1199ab;
    border-radius: 0;
    left: 5px;
    top: 13px;
    transition: transform .125s ease-in-out;
    transform-origin: left
}

.f-form .form-select {
    position: relative
}

.f-form .form-select:after,
.f-select__select-block:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 26px;
    right: 16px;
    border-right: solid 2px #8e989c;
    border-bottom: solid 2px #8e989c;
    width: 8px;
    height: 8px;
    transform: rotate(45deg)
}

.f-form .f-flex,
.f-select {
    display: flex;
    align-items: center
}

.f-form .hidden {
    display: none !important
}

.f-form .invisible {
    visibility: hidden !important
}

.f-form .sm,
.f-form .sm-inline,
.f-form .sm-inline-block,
.f-form.-material .zcwf_title {
    display: none !important
}

.f-form.-material .zcwf_row.-mt_30 {
    margin-top: 1.875rem
}

.f-form.-material .zcwf_row label {
    display: flex;
    align-items: center;
    font-weight: 700
}

.f-form.-material .form-button-none,
.f-form.-material .zcwf_row.wfrm_fld_dpNn {
    display: none
}

.zcwf_row+.zcwf_row {
    margin-top: 1.125rem
}

@media print,
screen and (min-width:48em) {
    .f-select {
        margin-right: 60px
    }
}

@media only screen and (max-width:47.9375em) {
    .f-select.-sp_block {
        display: block
    }

    .f-select.-sp_mt-s {
        margin-top: .875rem
    }
}

.f-select.-mt_s {
    margin-top: .875rem
}

.f-select__label {
    font-weight: 700;
    white-space: nowrap;
    margin-right: 20px
}

.f-select__select-block {
    width: 100%;
    position: relative
}

.f-select__select-block:after {
    top: 19px
}

@media print,
screen and (min-width:48em) {
    .f-select__select-block {
        width: 320px
    }
}

.f-select__select {
    padding: 12px 16px;
    border-radius: 4px;
    border: 2px solid #ced8db;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    background-color: #fff;
    font-weight: 700
}

.f-checkbox,
.f-checkbox>label {
    box-sizing: border-box;
    position: relative
}

.f-checkbox {
    --primary-color: #1199ab;
    --border-color: #ced8db;
    --text-color: #1c1e1f;
    --bg-color: #fff;
    display: block;
    width: fit-content;
    margin-right: 20px
}

@media print,
screen and (min-width:48em) {
    .f-checkbox {
        margin-top: 4px
    }
}

@media (hover:hover) {
    .f-checkbox:hover {
        --border-color: var(--primary-color);
        --text-color: var(--primary-color)
    }
}

@media only screen and (max-width:47.9375em) {
    .f-checkbox+.f-checkbox {
        margin-top: 6px
    }
}

.f-checkbox>label {
    height: 100%;
    padding-left: 25px;
    margin-right: 11px;
    line-height: 1.4;
    cursor: pointer;
    color: var(--text-color);
    display: inline-block;
    font-weight: 700;
    transition: all cubic-bezier(.215, .61, .355, 1) .1s
}

.f-checkbox>label::after,
.f-checkbox>label::before {
    box-sizing: border-box;
    content: "";
    display: block;
    position: absolute
}

.f-checkbox>label::before {
    top: 2px;
    left: 0;
    width: 18px;
    height: 18px;
    background-color: var(--bg-color);
    border-style: solid;
    border-color: var(--border-color);
    border-width: 2px;
    border-radius: 3px;
    transition: all cubic-bezier(.215, .61, .355, 1) .15s
}

.f-checkbox>label::after {
    width: 10px;
    height: 6px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    border-radius: 0;
    left: 5px;
    top: 10px;
    transform: rotate(-45deg) scaleX(0);
    transition: transform .125s ease-in-out;
    transform-origin: left
}

.f-checkbox>input {
    position: absolute;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px)
}

.f-checkbox>input:checked+label {
    color: var(--primary-color)
}

.f-checkbox>input:checked+label::before {
    --bg-color: var(--primary-color);
    --border-color: var(--primary-color)
}

.f-checkbox>input:checked+label::after {
    transform: rotate(-45deg) scaleX(1)
}

.f-checkbox.-error label:before {
    background-color: #fdf5f5;
    border-color: #d00
}

.f-checkbox.-block {
    --margin-top: 8px
}

.f-checkbox.-block+.f-checkbox.-block {
    margin-top: var(--margin-top)
}

.f-checkbox.-box {
    width: 18px;
    height: 18px
}

.f-checkbox.-box>label {
    width: 18px;
    height: 18px;
    padding-left: 0
}

.f-checkbox.-box>label::before {
    top: 50%;
    transform: translateY(-50%)
}

@media print,
screen and (min-width:48em) {
    .f-checkbox.-font_large>label:before {
        top: 2px
    }

    .f-checkbox.-font_large>label:after {
        top: 11px
    }
}

.f-checkbox>input[type=checkbox]:disabled+label::before {
    border-color: #ccc !important
}

.f-checkbox>input[type=checkbox]:disabled+label::after {
    display: none
}

.f-form-side .sm,
.f-form-side .sm-inline,
.f-form-side .sm-inline-block {
    display: none !important
}

.f-form-side .box-faq.text-center.md {
    text-align: center;
    margin-top: 1.5rem;
    font-weight: 700
}

@media (hover:hover) {
    .f-form-side .box-faq.text-center.md a a:hover {
        color: #0fb4bf
    }
}

@media only screen and (max-width:47.9375em) {
    .u-hide-xs {
        display: none !important
    }
}

@media print,
screen and (min-width:48em) {
    .u-hide-s {
        display: none !important
    }
}

@media print,
screen and (min-width:64em) {
    .u-hide-m {
        display: none !important
    }
}

@media print,
screen and (min-width:80em) {
    .u-hide-l {
        display: none !important
    }
}

@media only screen and (max-width:47.9375em) {
    .u-show-s {
        display: none !important
    }
}

@media only screen and (max-width:63.9375em) {
    .u-show-m {
        display: none !important
    }
}

@media print {
    .u-hide-print {
        display: none !important
    }
}

.screen-reader-text,
.u-visually-hidden {
    position: absolute;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px)
}

@media only screen and (max-width:47.9375em) {
    .u-remove-br-xs br {
        display: none
    }
}

.p-feature-result-logo {
    max-width: 880px;
    margin-right: auto;
    margin-left: auto;
    display: grid
}

@media print,
screen and (min-width:48em) {
    .p-feature-result-logo {
        gap: 20px;
        grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr))
    }
}

@media only screen and (max-width:47.9375em) {
    .p-feature-result-logo {
        gap: 10px;
        grid-template-columns: repeat(auto-fit, minmax(6.5625rem, 1fr))
    }
}