@charset "UTF-8";
/*------------------------------------------------------------
	Child - Background
------------------------------------------------------------*/
#video-area {
    position: fixed;
    z-index: -1;
    top: -250px;
    right:0;
    left:0;
    bottom:0;
    overflow: hidden;
    filter:grayscale(100%) brightness(50%);
}
#video {
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 177.77777778vh;
    height: 56.25vw;
    min-height: 100%;
    min-width: 100%;
}
#video-area.is-img-01 {
    top: 0;
    background: url("../video/video_01.png") no-repeat top -210px center;
    background-size: 100%;
}
#video-area.is-img-02 {
    top: 0;
    background: url("../video/video_02.png") no-repeat top -210px center;
    background-size: 100%;
}
.p-bg-01 {
    width: 1300px;
    font-size: 0;
    position: absolute;
    right: -500px;
    top: 0;
    opacity: 0.5;
}
/*------------------------------------------------------------
	Child - Background - Devices
------------------------------------------------------------*/
@media screen and (max-width: 1366px) {
    #video-area.is-img-01 {
        background-position: top -100px center;
        background-size: 1450px;
    }
    #video-area.is-img-02 {
        background-position: top -150px center;
        background-size: 1450px;
    }
    .p-bg-01 {
        width: 900px;
        top: 0;
        right: -400px;
    }
}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 767px) {
    #video-area.is-img-01 {
        background-position: top -180px center;
        background-size: 1500px;
    }
    #video-area.is-img-02 {
        background-position: top -50px center;
        background-size: 800px;
    }
}
@media screen and (max-width: 539px) {
    #video-area.is-img-02 {
        background-position: top 0 center;
        background-size: 600px;
    }
}
@media screen and (max-width: 414px) {
}
/*------------------------------------------------------------
	Child - Main/Title
------------------------------------------------------------*/
.p-main {
    padding-top: 50px;
    position: relative;
    overflow: hidden;
}
.p-ttl-wrp {
    padding-bottom: 170px;
    position: relative;
}
.p-ttl-wrp.is-nm {
    padding-left: 130px;
}
.p-ttl-en,
.p-ttl {
    color: #FFF;
}
.p-ttl-en {
    font-family: 'Roboto', sans-serif;
    font-size: 3.2rem;
    font-weight: 500;
    opacity: 0.3;
    line-height: 1.2;
}
.p-ttl {
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.1em;
}
.p-ttl-s {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #FFF;
    margin-bottom: 10px;
}
.p-ttl-nm {
    font-family: 'Oswald', sans-serif;
    font-size: 8rem;
    font-weight: 400;
    line-height: 1;
    opacity: 0.3;
    position: absolute;
    top: -0.2em;
    left: 0.1em;
    margin: auto;
}
.p-sc-ttl-en {
    font-family: 'Roboto', sans-serif;
    font-size: 2.5rem;
    font-weight: 500;
    opacity: 0.15;
    line-height: 1.2;
}
.p-sc-ttl {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.1em;
}
.p-sc-ttl.is-nm {
    font-family: 'Oswald', sans-serif;
}
/*------------------------------------------------------------
	Child - Main - Devices
------------------------------------------------------------*/
@media screen and (max-width: 1366px) {
}
@media screen and (max-width: 1024px) {
    .p-ttl-en {
        font-size: 2.5rem;
    }
    .p-ttl {
        font-size: 2rem;
    }
    .p-ttl-s {
        font-size: 1.2rem;
    }
    .p-ttl-wrp {
        padding-bottom: 130px;
    }
    .p-ttl-nm {
        font-size: 6rem;
    }
    .p-ttl-wrp.is-nm {
        padding-left: 110px;
    }
}
@media screen and (max-width: 767px) {
    .p-main {
        padding-top: 20px;
    }
    .p-ttl-en {
        font-size: 2rem;
    }
    .p-ttl {
        font-size: 1.5rem;
    }
    .p-sc-ttl-en {
        font-size: 2rem;
    }
    .p-sc-ttl {
        font-size: 1.4rem;
    }
    .p-ttl-s {
        font-size: 1rem;
    }
    .p-ttl-wrp {
        padding-bottom: 60px;
    }
    .p-ttl-nm {
        font-size: 4.5rem;
    }
    .p-ttl-wrp.is-nm {
        padding-left: 65px;
    }
}
@media screen and (max-width: 539px) {
}
@media screen and (max-width: 414px) {
}
/*------------------------------------------------------------
	Child - Article/Text
------------------------------------------------------------*/
.p-art {
    padding: 100px 0 100px;
    min-height: 400px;
    border-left: 0;
    border-right: 0;
    background-color: #EEE;
    background-image: url("../img/abs_k_01.svg"), url("../img/abs_k_02.svg");
    background-position: top -200px left -400px, right -300px bottom -200px;
    background-repeat: no-repeat;
    background-size: 900px;
    position: relative;
}
.p-art.is-wh {
    background: #FFF;
}
.p-art.is-upper-fit {
    padding-top: 0;
    border-top: 1px solid transparent;
}
/*------------------------------------------------------------
	Child - Article - Devices
------------------------------------------------------------*/
@media screen and (max-width: 1366px) {
}
@media screen and (max-width: 1024px) {
    .p-art {
        padding: 80px 0 80px;
    }
    .p-art.is-upper-fit {
        padding-top: 0;
    }
}
@media screen and (max-width: 767px) {
    .p-art {
        padding: 50px 0;
        background-size: 600px;
    }
    .p-art.is-xs-fit {
        padding: 0;
    }
    .p-art.is-upper-fit {
        padding-top: 0;
    }
}
@media screen and (max-width: 539px) {
}
@media screen and (max-width: 414px) {
}
/*------------------------------------------------------------
	Child - Section
------------------------------------------------------------*/
.p-sc {
    padding-top: 100px;
}
.p-sc-img {
    font-size: 0;
    text-align: center;
}
.p-sc-img img {
    max-width: 100%;
    filter: drop-shadow(5px 5px 10px rgba(0,0,0,0.1));
}
.p-sc-info-ttl {
    font-size: 2.2rem;
    line-height: 1.6;
    font-weight: 600;
    letter-spacing: 0.05em;
}
.p-sc-info-ttl * {
    font-weight: 600;
}
.p-sc-info-ttl.is-sm {
    font-size: 1.8rem;
}
.p-sc-info-txt {
    font-size: 1.1rem;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-top: 25px;
    text-align: justify;
}
.p-sc-info-txt.is-lg {
    font-size: 1.3rem;
    font-weight: 600;
}
/*------------------------------------------------------------
	Child - Section - Devices
------------------------------------------------------------*/
@media screen and (max-width: 1366px) {
    .p-sc-info-ttl {
        font-size: 2.4rem;
    }
}
@media screen and (max-width: 1024px) {
    .p-sc {
        padding-top: 80px;
    }
    .p-sc-info-ttl {
        font-size: 2rem;
    }
    .p-sc-info-ttl.is-sm {
        font-size: 1.6rem;
    }
}
@media screen and (max-width: 767px) {
    .p-sc {
        padding-top: 50px;
    }
    .p-sc-info-ttl {
        font-size: 1.4rem;
    }
    .p-sc-info-ttl.is-sm {
        font-size: 1.2rem;
    }
    .p-sc-info-txt {
        font-size: 1rem;
        line-height: 1.8;
        margin-top: 15px;
    }
    .p-sc-info-txt.is-lg {
        font-size: 1rem;
    }
}
@media screen and (max-width: 539px) {
}
@media screen and (max-width: 414px) {
}
/*------------------------------------------------------------
	Child - More
------------------------------------------------------------*/
.p-more {
    margin-top: 30px;
}
.p-more.is-center {
    text-align: center;
}
.p-more > a {
    position: relative;
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: 0.05em;
    display: inline-block;
    border-bottom: 3px solid #222;
    padding-right: 80px;
    padding-bottom: 10px;
}
.p-more > a:before {
    content: url("../img/more_k.png");
    position: absolute;
    top: 0;
    right: 10px;
    transition: 0.2s;
    opacity: 0.2;
}
.p-more.is-w > a {
    color: #FFF;
    border-color: #FFF;
}
.p-more.is-w > a:before {
    content: url("../img/more_w.png");
    opacity: 0.4;
}
.is-link:hover .p-more > a:before,
.p-more > a:hover:before {
    right: 0;
}
/*----------------------------------------
	Child - More - Devices
----------------------------------------*/
@media screen and (max-width: 1024px) {
    .p-more {
        margin-top: 20px;
    }
    .p-more > a {
        font-size: 0.9rem;
        padding-right: 50px;
        padding-bottom: 10px;
    }
    .p-more > a:before {
        transform: scale(0.5);
        transform-origin: right center;
        right: 0;
    }
    .p-more.is-w > a:before {
        content: url("../img/more_w.png");
        opacity: 0.4;
    }
    .p-more > a:hover:before {
        right: 0;
    }
}
@media screen and (max-width: 767px) {
    .p-more {
        margin-top: 15px;
        transform: scale(0.9);
    }
}
@media screen and (max-width: 539px) {
}
@media screen and (max-width: 414px) {
}
/*------------------------------------------------------------
	Common - Text/Table
------------------------------------------------------------*/
.p-txt {
    font-size: 1.1rem;
    letter-spacing: 0.15em;
    line-height: 2;
}
.p-txt + .p-txt {
    margin-top: 25px;
}
.p-tb-01 {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    min-width: 750px;
    background: #FFF;
}
.p-tb-01 th,
.p-tb-01 td {
    border: rgba(0,0,0,0.2) 1px solid;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    padding: 15px;
    text-align: left;
}
.p-tb-01 th {
    font-weight: 600;
}
.p-tb-01 th.is-1,
.p-tb-01 td.is-1 {
	width: 8.33%;
}
.p-tb-01 th.is-2,
.p-tb-01 td.is-2 {
	width: 16.66%;
}
.p-tb-01 th.is-3,
.p-tb-01 td.is-3 {
	width: 25%;
}
.p-tb-01 th.is-4,
.p-tb-01 td.is-4 {
	width: 33.33%;
}
.p-tb-01 th.is-5,
.p-tb-01 td.is-5 {
	width: 41.66%;
}
.p-tb-01 th.is-6,
.p-tb-01 td.is-6 {
	width: 50%;
}
/*------------------------------------------------------------
	Common - Text / Table - Devices
------------------------------------------------------------*/
@media screen and (max-width: 1366px) {
}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 767px) {
    .p-txt {
        font-size: 1rem;
    }
    .p-txt + .p-txt {
        margin-top: 15px;
    }
    .p-tb-01 th,
    .p-tb-01 td {
        font-size: 0.9rem;
        padding: 10px;
    }
}
@media screen and (max-width: 539px) {
}
@media screen and (max-width: 414px) {
}
/*------------------------------------------------------------
	Business - Index
------------------------------------------------------------*/
.p-bs-sc {
    margin-top: 0;
    filter: drop-shadow(5px 5px 10px rgba(0,0,0,0.05));
    background: rgba(255,255,255,1);
}
.p-bs-sc + .p-bs-sc {
    margin-top: 50px;
}
.p-bs-info {
    padding: 40px 50px 50px;
    transition: 0.3s;
}
.p-bs-sc.is-link:hover .p-bs-info {
    opacity: 0.6;
}
.p-bs-img {
    font-size: 0;
    text-align: center;
    position: relative;
    transition: 0.2s;
}
.p-bs-img img {
    max-width: 100%;
    filter: brightness(80%);
    transition: 0.3s;
}
@media screen and (min-width: 1367px) {
    .p-bs-sc.is-link:hover {
        transform: translate(10px,0);
    }
}
.p-bs-sc.is-link:hover .p-bs-img img {
    filter: brightness(120%);
}
.p-bs-info-nm {
    position: absolute;
    font-size: 10rem;
    line-height: 1;
    font-family: 'Oswald', sans-serif;
    bottom: 0;
    right: 0;
    opacity: 0.4;
    color: #FFF;
}
.p-bs-info-nm.is-rv {
    right: inherit;
    left: 0;
}
.p-bs-info-ttl {
    font-size: 2.8rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: 0.1em;
}
/*------------------------------------------------------------
	Business - Devices
------------------------------------------------------------*/
@media screen and (max-width: 1366px) {
    .p-bs-info-ttl {
        font-size: 2.4rem;
    }
}
@media screen and (max-width: 1024px) {
    .p-bs-sc + .p-bs-sc {
        margin-top: 15px;
    }
    .p-bs-info {
        padding: 0 25px 15px;
    }
    .p-bs-info-ttl {
        font-size: 2rem;
    }
    .p-bs-info-nm {
        font-size: 8rem;
    }
}
@media screen and (max-width: 767px) {
    .p-bs-sc {
        filter: none;
        background: none;
    }
    .p-bs-sc + .p-bs-sc {
        margin-top: 30px;
        padding-top: 30px;
        border-top: #AAA 1px dotted;
    }
    .p-bs-info {
        text-align: center;
    }
    .p-bs-info-ttl {
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 539px) {
    .p-bs-info-nm {
        font-size: 6rem;
    }
}
@media screen and (max-width: 414px) {
}
/*------------------------------------------------------------
	Business - Detail - Intro
------------------------------------------------------------*/
.p-bs-intro-sc {
    margin-top: -60px;
    filter: drop-shadow(5px 5px 10px rgba(0,0,0,0.05));
    background: rgba(255,255,255,1);
}
.p-bs-intro-info {
    padding: 40px 50px 50px;
}
.p-bs-intro-img {
    font-size: 0;
    text-align: center;
    position: relative;
    transition: 0.2s;
}
.p-bs-intro-img img {
    max-width: 100%;
}
.p-bs-intro-info-ttl {
    font-size: 2.2rem;
    line-height: 1.6;
    font-weight: 600;
    letter-spacing: 0.1em;
}
.p-bs-intro-info-txt {
    font-size: 1.1rem;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-top: 25px;
    text-align: justify;
}
.p-bs-fl-wrp {
    padding: 80px 0;
    border-bottom: 1px solid rgba(0,0,0,0.2);
}
.p-bs-fl-ttl,
.p-bs-fl-item {
    text-align: center;
}
.p-bs-fl-ttl {
    font-size: 1.3rem;
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-weight: 500;
}
.p-bs-fl-item {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-weight: 600;
    position: relative;
}
.p-bs-fl-item + .p-bs-fl-item:before {
	position: absolute;
	content: "";
	font-size: 0;
	top: 0px;
	left: -8px;
    bottom: 0;
	width: 1px;
	height: 1px;
	z-index: 1;
    margin: auto;
	pointer-events: none;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #222;
    border-left: 8px solid transparent;
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	transform: rotate(90deg);
}
.p-bs-fl-item > a {
    display: block;
    border: #222 3px solid;
    border-radius: 100px;
    padding: 5px 10px 6px;
    font-weight: 600;
}
.p-bs-fl-item > a:hover {
    background: rgba(0,0,0,0.05);
}
.p-bs-fl-item > a * {
    font-weight: 600;
}
/*------------------------------------------------------------
	Business - Detail - Intro - Devices
------------------------------------------------------------*/
@media screen and (max-width: 1366px) {
    .p-bs-intro-info-ttl {
        font-size: 2.4rem;
    }
    .p-bs-fl-item > a {
        padding: 8px 10px 9px;
    }
    .p-bs-fl-item + .p-bs-fl-item:before {
        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        transform: rotate(180deg);
        left: 0;
        right: 0;
        top: -25px;
        bottom: inherit;
    }
}
@media screen and (max-width: 1024px) {
    .p-bs-intro-sc {
        margin-top: 0;
        padding: 30px 0;
        filter: drop-shadow(5px 5px 10px rgba(0,0,0,0.05));
    }
    .p-bs-intro-sc + .p-bs-intro-sc {
        margin-top: 15px;
    }
    .p-bs-intro-info {
        padding: 0;
    }
    .p-bs-intro-info-ttl {
        font-size: 2rem;
    }
    .p-bs-fl-ttl {
        font-size: 1.2rem;
    }
    .p-bs-fl-item > a {
        border-width: 2px;
    }
}
@media screen and (max-width: 767px) {
    .p-bs-fl-wrp {
        padding: 40px 0;
    }
    .p-bs-intro-sc + .p-bs-intro-sc {
        margin-top: 30px;
        padding-top: 30px;
    }
    .p-bs-intro-info-ttl {
        font-size: 1.4rem;
    }
    .p-bs-intro-info-txt {
        font-size: 1rem;
        line-height: 1.8;
        margin-top: 15px;
    }
    .p-bs-fl-ttl {
        font-size: 1rem;
    }
    .p-bs-fl-item {
        font-size: 1rem;
    }
    .p-bs-fl-item + .p-bs-fl-item:before {
        top: -18px;
        bottom: inherit;
        border-width: 7px;
    }
}
@media screen and (max-width: 539px) {
    .p-bs-intro-info-nm {
        font-size: 6rem;
    }
}
@media screen and (max-width: 414px) {
}
/*------------------------------------------------------------
	Business - Procedure - Section
------------------------------------------------------------*/
.p-bs-pr {
    background: #FFF;
    filter: drop-shadow(5px 5px 10px rgba(0,0,0,0.05));
    padding-top: 50px;
    margin-top: 120px;
}
.p-bs-pr-ttl-en {
    font-family: 'Roboto', sans-serif;
    font-size: 2.4rem;
    font-weight: 500;
    opacity: 0.2;
    line-height: 1.2;
    text-align: center;
    padding: 0 20px;
}
.p-bs-pr-ttl {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-align: center;
    padding: 0 20px;
}
.p-bs-pr-ttl + * {
    margin-top: 50px;
}
.p-bs-pr-sc {
    padding: 50px 50px;
    border-top: #AAA 1px dotted;
    position: relative;
}
.p-bs-pr-sc.is-st {
    background: #EDF5FC;
}
.p-bs-pr-sc:before {
    position: absolute;
    content: "";
    width: 1px;
    background: #222;
    top: 90px;
    bottom: -80px;
    left: 75px;
    z-index: 1;
}
.p-bs-pr-sc:last-child:before {
    display: none;
}
.p-bs-pr-sc-img {
    font-size: 0;
    text-align: center;
}
.p-bs-pr-sc-img img {
    max-width: 100%;
}
.p-bs-pr-sc-info {
    padding-left: 60px;
}
.p-bs-pr-sc-info-ttl {
    font-size: 2.2rem;
    line-height: 1.6;
    font-weight: 600;
    letter-spacing: 0.1em;
    position: relative;
}
.p-bs-pr-sc-info-txt {
    font-size: 1rem;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-top: 25px;
    text-align: justify;
}
.p-bs-pr-sc-nm {
    position: absolute;
    font-family: 'Oswald', sans-serif;
    width: 40px;
    height: 40px;
    line-height: 1.45;
    font-size: 1.6rem;
    background: #222;
    border-radius: 100%;
    color: #FFF;
    text-align: center;
    left: -55px;
    top: 10px;
    padding-left: 0.1em;
    z-index: 2;
}
.p-bs-pr-sc-onl {
    position: absolute;
    font-size: 1.1rem;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: 0.1em;
    background: #2C709F;
    color: #FFF;
    right: 0;
    top: 12px;
    min-width: 130px;
    text-align: center;
    padding: 8px 5px 10px 5px;
    border-radius: 100px;
}
.p-bs-pr-mm {
    max-width: 1150px;
    margin: 50px auto 0;
    padding: 45px 45px;
    border: #2C709F 4px solid;
    background: #EDF5FC;
    position: relative;
    filter: drop-shadow(5px 5px 10px rgba(0,0,0,0.05));
}
.p-bs-pr-mm:before {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
    border: #2C709F 4px solid;
    background: #EDF5FC;
    border-left: 0;
    border-bottom: 0;
    top: -19px;
    left: 0;
    right: 0;
    margin: auto;
}
.p-bs-pr-mm-img {
    font-size: 0;
    text-align: center;
}
.p-bs-pr-mm-img img {
    max-width: 100%;
}
.p-bs-pr-mm-info-ttl {
    font-size: 2rem;
    line-height: 1.6;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #2C709F;
    position: relative;
}
.p-bs-pr-mm-info-txt {
    font-size: 1rem;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-top: 20px;
    text-align: justify;
}
/*------------------------------------------------------------
	Business - Procedure - Section - Devices
------------------------------------------------------------*/
@media screen and (max-width: 1366px) {
    .p-bs-pr {
        padding-top: 30px;
    }
    .p-bs-pr-ttl + * {
        margin-top: 30px;
    }
    .p-bs-pr-sc {
        padding: 30px 30px;
    }
    .p-bs-pr-sc-info-ttl {
        font-size: 2.4rem;
    }
    .p-bs-pr-sc:before {
        display: none;
    }
    .p-bs-pr-mm {
        padding: 30px 30px;
    }
}
@media screen and (max-width: 1024px) {
    .p-bs-pr {
        margin-top: 80px;
    }
    .p-bs-pr-sc {
        padding: 25px 25px;
    }
    .p-bs-pr-sc-info {
        padding-left: 50px;
    }
    .p-bs-pr-sc-info-ttl {
        font-size: 2rem;
    }
    .p-bs-pr-sc-info-txt {
        margin-top: 15px;
    }
    .p-bs-pr-sc-nm {
        transform: scale(0.85);
        transform-origin: left top;
    }
    .p-bs-pr-sc-onl {
        transform: scale(0.85);
        transform-origin: right top;
    }
    .p-bs-pr-mm {
        padding: 25px 25px;
    }
    .p-bs-pr-mm-info-ttl {
        font-size: 1.6rem;
    }
    .p-bs-pr-mm-info-txt {
        margin-top: 15px;
    }
}
@media screen and (max-width: 767px) {
    .p-bs-pr {
        margin-top: 50px;
        padding-top: 20px;
    }
    .p-bs-pr-sc {
        padding: 20px 20px;
    }
    .p-bs-pr-sc-info {
        padding-left: 0;
    }
    .p-bs-pr-sc-info-ttl {
        font-size: 1.3rem;
        padding-left: 40px;
    }
    .p-bs-pr-ttl-en {
        text-align: left;
        font-size: 1.6rem;
    }
    .p-bs-pr-ttl {
        text-align: left;
        font-size: 1.4rem;
    }
    .p-bs-pr-sc-info-txt {
        margin-top: 10px;
        line-height: 1.8;
    }
    .p-bs-pr-sc-nm {
        transform: scale(0.7);
        transform-origin: left top;
        top: 3px;
        left: 0;
        padding-left: 0;
    }
    .p-bs-pr-sc-onl {
        transform: scale(0.7);
        top: 3px;
    }
    .p-bs-pr-mm,
    .p-bs-pr-mm:before {
        border-width: 3px;
    }
    .p-bs-pr-mm-info-ttl {
        font-size: 1.3rem;
    }
    .p-bs-pr-mm-info-txt {
        margin-top: 10px;
        line-height: 1.8;
    }
}
@media screen and (max-width: 539px) {
}
@media screen and (max-width: 414px) {
}
/*------------------------------------------------------------
	Company/Recruit - Section
------------------------------------------------------------*/
.p-cmp-sc {
    background: #FFF;
    padding: 60px 80px 100px;
}
.p-cmp-sc + .p-cmp-sc {
    margin-top: 100px;
}
/*----------------------------------------
	Company/Recruit - Section - Devices
----------------------------------------*/
@media screen and (max-width: 1366px) {
    .p-cmp-sc {
        padding: 60px 50px 80px;
    }
}
@media screen and (max-width: 1024px) {
    .p-cmp-sc {
        padding: 30px 30px 30px;
    }
    .p-cmp-sc + .p-cmp-sc {
        margin-top: 80px;
    }
}
@media screen and (max-width: 767px) {
    .p-cmp-sc {
        padding: 20px 15px 20px;
    }
    .p-cmp-sc + .p-cmp-sc {
        margin-top: 50px;
    }
}
@media screen and (max-width: 539px) {
    .p-cmp-sc.is-xxs-full {
        margin-left: -15px;
        margin-right: -15px;
        padding-bottom: 0;
    }
}
@media screen and (max-width: 414px) {
}
/*------------------------------------------------------------
	Company/Recruit - Chart
------------------------------------------------------------*/
.p-chart-ttl {
    padding-top: 15px;
}
.p-chart-item {
    display: flex;
    flex-wrap: wrap;
    font-size: 1.1rem;
    line-height: 2;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}
.p-chart-cat,
.p-chart-date,
.p-chart-txt {
    padding: 25px 0 25px 0;
    position: relative;
}
.p-chart-txt-sep {
    display: block;
    margin-top: 15px;
}
.p-chart-date.is-new:after {
    position: absolute;
    content: "NEW";
    top: 25px;
    right: 20px;
    background: #222;
    color: #FFF;
    width: 80px;
    text-align: center;
}
.p-chart-cat {
    font-weight: 600;
    width: 230px;
}
.p-chart-date {
    font-family: 'Roboto', sans-serif;
    font-weight: 600;
    width: 280px;
}
.p-chart-txt {
    flex: 1;
}
.p-chart.is-hs .p-chart-date {
    position: relative;
    padding-left: 30px;
}
.p-chart.is-hs .p-chart-date:before {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    background: #222;
    border-radius: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
.p-chart.is-hs .p-chart-date:after {
    position: absolute;
    content: "";
    width: 1px;
    background: #222;
    top: 50%;
    bottom: -50%;
    left: 5px;
}
.p-chart.is-hs .p-chart-item:last-child .p-chart-date:after {
    display: none;
}
/*----------------------------------------
	Company/Recruit - Chart - Devices
----------------------------------------*/
@media screen and (max-width: 1024px) {
    .p-chart {
        margin-top: 25px;
        padding-top: 0;
        border-top: 1px solid rgba(0,0,0,0.15);
    }
    .p-chart-item:last-child {
        border-bottom: 0;
    }
    .p-chart-cat,
    .p-chart-date {
        padding-left: 0;
    }
    .p-chart-date.is-new:after {
        top: 15px;
    }
}
@media screen and (max-width: 767px) {
    .p-chart {
        margin-top: 10px;
    }
    .p-chart-item {
        font-size: 1rem;
        line-height: 1.8;
    }
    .p-chart-cat,
    .p-chart-date,
    .p-chart-txt {
        padding-top: 15px;
        padding-bottom: 15px;
    }
    .p-chart.is-hs .p-chart-date {
        padding-left: 0;
    }
    .p-chart.is-hs .p-chart-date:before,
    .p-chart.is-hs .p-chart-date:after {
        display: none;
    }
}
@media screen and (max-width: 539px) {
    .p-chart-cat,
    .p-chart-date,
    .p-chart-txt {
        width: 100%;
        padding-left: 0;
    }
    .p-chart-cat,
    .p-chart-date {
        border-bottom: 0;
        padding-bottom: 0;
        margin-bottom: 5px;
    }
    .p-chart-date.is-new:after {
        top: 15px;
        right: 0;
        font-size: 0.8rem;
        width: 60px;
    }
    .p-chart-txt {
        padding-top: 0;
    }
}
@media screen and (max-width: 414px) {
}
/*------------------------------------------------------------
	Contact
------------------------------------------------------------*/
.p-inq-txt {
    font-size: 1.1rem;
    line-height: 2;
    letter-spacing: 0.05em;
}
.p-inq-txt.is-center {
    text-align: center;
}
.p-inq-txt + * {
    margin-top: 50px;
}
.p-inq-txt-s {
    margin-bottom: 15px;
}
.p-inq-rq {
    color: #FF0000;
}
.p-inq .p-chart {
    border-top: 1px solid rgba(0,0,0,0.1);
}
.p-inq select,
.p-inq input[type="tel"],
.p-inq input[type="email"],
.p-inq input[type="text"],
.p-inq textarea {
    width: 100%;
    border: rgba(0,0,0,0.1) 1px solid;
    line-height: 1.8;
    font-size: 1rem;
    padding: 5px 15px;
    background: rgba(0,0,0,0.02);
    color: #AAA;
    border-radius: 5px;
    overflow: hidden;
}
.p-inq .is-half select,
.p-inq .is-half input[type="tel"],
.p-inq .is-half input[type="email"],
.p-inq .is-half input[type="text"] {
    width: 50%;
}
.p-inq textarea {
    min-height: 150px;
}
.p-inq select:focus,
.p-inq input[type="tel"]:focus,
.p-inq input[type="email"]:focus,
.p-inq input[type="text"]:focus,
.p-inq textarea:focus {
    border-color: #222;
    outline: 0;
    background: none;
    color: #222;
}
.p-btn {
    margin-top: 50px;
}
.p-btn-item > button,
.p-btn-item > a {
    width: 100%;
    display: block;
    text-align: center;
    font-size: 1.1rem;
    line-height: 1.6;
    color: #FFF;
    font-weight: 500;
    padding: 20px 15px;
    cursor: pointer;
    background: #222;
}
.p-btn-item > button:hover,
.p-btn-item > a:hover {
    opacity: 0.7;
}
/*----------------------------------------
	Contact - Devices
----------------------------------------*/
@media screen and (max-width: 1024px) {
    .p-btn-item > button,
    .p-btn-item > a {
        font-size: 1rem;
    }
}
@media screen and (max-width: 767px) {
    .p-inq-txt {
        font-size: 1rem;
        line-height: 1.8;
    }
    .p-inq select,
    .p-inq input[type="tel"],
    .p-inq input[type="email"],
    .p-inq input[type="text"],
    .p-inq textarea {
        padding: 3px 10px;
    }
    .p-btn-item > button,
    .p-btn-item > a {
        font-size: 1rem;
        padding: 15px 15px;
    }
}
@media screen and (max-width: 539px) {
    .p-inq .is-half select,
    .p-inq .is-half input[type="tel"],
    .p-inq .is-half input[type="email"],
    .p-inq .is-half input[type="text"] {
        width: 100%;
    }
}
@media screen and (max-width: 414px) {
}
/*------------------------------------------------------------
	FAQ
------------------------------------------------------------*/
.p-qa-item {
    letter-spacing: 0.15em;
}
.p-qa-item + .p-qa-item {
	margin-top: 15px;
}
.p-qa-item-q {
	font-size: 1.1rem;
    line-height: 2;
    font-weight: 700;
	cursor: pointer;
	transition: 0.15s;
	position: relative;
	padding: 25px 60px 25px 25px;
    border: rgba(0,0,0,0.2) 1px solid;
}
.p-qa-item-q:hover {
	opacity: 0.8;
}
.p-qa-item-a {
    position: relative;
	font-size: 1.1rem;
    line-height: 2;
	padding: 25px 25px 35px;
}
.p-qa-switch {
	position: absolute;
	width: 45px;
	height: 45px;
	right: 25px;
	top: 0;
	bottom: 0;
	margin: auto;
}
.p-qa-switch:before,
.p-qa-switch:after {
	position: absolute;
	content: "";
	background: #222;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	transition: 0.3s;
}
.p-qa-switch:before {
	width: 1px;
	height: 25px;
}
.p-qa-switch:after {
	width: 25px;
	height: 1px;
}
.p-qa-item-q.is-active .p-qa-switch:before,
.p-qa-item-q.is-active .p-qa-switch:after {
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	transform: rotate(90deg);
}
.p-qa-item-q.is-active .p-qa-switch:after {
	opacity: 0;
}
.p-qa-item-txt-att {
	font-size: 0.9rem;
	line-height: 1.8;
	text-indent: -1em;
	margin-left: 1em;
}
* + .p-qa-item-txt-att {
	margin-top: 5px;
}
.p-qa {
	counter-reset: pointnum;
}
.p-qa-item {
	counter-increment: pointnum;
}
.p-qa-item-q,
.p-qa-item-a {
    text-indent: -40px;
    padding-left: 80px;
}
.p-qa-item-q:before,
.p-qa-item-a:before {
    font-family: 'Oswald', sans-serif;
	font-size: 140%;
	line-height: 1.6;
	font-weight: 500;
    display: inline-block;
    width: 40px;
    text-align: center;
    transform: translateX(10px) ;
}
.p-qa-item-q:before {
	content: "Q"counter(pointnum)".";
    opacity: 0.8;
}
.p-qa-item-a:before {
	content: "A"counter(pointnum)".";
    opacity: 0.3;
}
/*------------------------------------------------------------
	Faq - Devices
------------------------------------------------------------*/
@media screen and (max-width: 1366px) {
}
@media screen and (max-width: 1024px) {
    .p-qa-switch {
        transform: scale(0.8);
        right: 10px;
    }
}
@media screen and (max-width: 767px) {
    .p-qa {
        margin-left: -15px;
        margin-right: -15px;
    }
    .p-qa-item {
        line-height: 1.8;
        letter-spacing: 0.1em;
    }
    .p-qa-item + .p-qa-item {
        margin-top: 0;
    }
    .p-qa-item-q {
        padding: 15px 30px 15px 45px;
        border: 0;
    }
    .p-qa-item-a {
        padding: 15px 15px 15px 40px;
        background: rgba(0,0,0,0.02);
    }
    .p-qa-item-q:before,
    .p-qa-item-a:before {
        width: 30px;
    }
    .p-qa-item-q,
    .p-qa-item-a {
        text-indent: -30px;
        font-size: 1rem;
        line-height: 1.8;
        letter-spacing: 0.05em;
        border-top: rgba(0,0,0,0.1) 1px solid;
    }
    .p-qa-switch {
        top: 15px;
        bottom: inherit;
        right: 7px;
        transform: scale(0.65);
        transform-origin: top right;
    }
    .p-qa-item-txt-att {
        font-size: 0.9rem;
    }
}
@media screen and (max-width: 539px) {
    .p-qa-item-q:before,
    .p-qa-item-a:before {
        font-size: 110%;
        width: 30px;
    }
}
/*------------------------------------------------------------
	Case Study
------------------------------------------------------------*/
.p-cs-sc {
    filter: drop-shadow(5px 5px 10px rgba(0,0,0,0.05));
    background: rgba(255,255,255,1);
}
.p-cs-sc + .p-cs-sc {
    margin-top: 50px;
}
.p-cs-sc-info {
    padding: 40px 50px 50px;
}
.p-cs-sc-img {
    font-size: 0;
    text-align: center;
    position: relative;
    transition: 0.2s;
}
.p-cs-sc-img img {
    max-width: 100%;
}
.p-cs-sc-info-ttl {
    font-size: 2rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: 0.1em;
}
.p-cs-sc-info-ttl + .p-cs-sc-info-txt {
    margin-top: 20px;
}
.p-cs-sc-info-txt {
    font-size: 1.1rem;
    font-weight: 400;
    letter-spacing: 0.15em;
    line-height: 1.8;
    margin-top: 15px;
}
/*------------------------------------------------------------
	Case Study - Devices
------------------------------------------------------------*/
@media screen and (max-width: 1366px) {
}
@media screen and (max-width: 1024px) {
    .p-cs-sc {
        background: none;
    }
    .p-cs-sc + .p-cs-sc {
        margin-top: 50px;
        padding-top: 50px;
        border-top: #AAA 1px dotted;
    }
    .p-cs-sc-info {
        padding: 0;
    }
    .p-cs-sc-info-ttl {
        font-size: 1.5rem;
    }
}
@media screen and (max-width: 767px) {
    .p-cs-sc + .p-cs-sc {
        margin-top: 30px;
        padding-top: 30px;
    }
    .p-cs-sc-info-ttl {
        font-size: 1.2rem;
    }
    .p-cs-sc-info-txt {
        font-size: 1rem;
    }
}
@media screen and (max-width: 539px) {
}
@media screen and (max-width: 414px) {
}
/*------------------------------------------------------------
	Result
------------------------------------------------------------*/
.p-art-inr.is-wh {
    background: #FFF;
    padding: 75px 75px;
}
.p-art-inr + .p-art-inr {
    margin-top: 75px;
}
.p-art-inr-ttl {
    font-size: 2.2rem;
    line-height: 1.6;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-align: center;
}
.p-art-inr-txt {
    font-size: 1.1rem;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-top: 25px;
    text-align: center;
}
.p-art-inr-ct {
    font-size: 1.1rem;
    letter-spacing: 0.1em;
    line-height: 2;
    margin: 30px auto 0;
    padding: 15px 15px 20px;
    text-align: center;
    max-width: 600px;
    background: #2C709F;
    color: #FFF;
}
.p-art-inr-ct-mk {
    font-weight: 600;
    font-size: 120%;
    margin-right: 5px;
    border-bottom: dashed 1px #FFF;
    padding-bottom: 3px;
}
.p-art-inr-box {
    margin-top: 50px;
}
.p-art-inr-box:first-child {
    margin-top: 0;
}
.p-art-inr-img-ttl {
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-align: center;
    margin: 25px 0 15px;
}
.p-art-inr-img {
    font-size: 0;
    text-align: center;
}
.p-art-inr-img.is-wh {
    background: #FFF;
    padding: 25px;
    filter: drop-shadow(5px 5px 10px rgba(0,0,0,0.1));
}
.p-art-inr-img img {
    max-width: 100%;
}
.p-rst-tb {
    table-layout: fixed;
    border-collapse: collapse;
    width: 100%;
    border: #2C709F 1px solid;
    border-bottom: 0;
}
.p-rst-tb th {
    font-size: 1.2rem;
    line-height: 1.8;
    font-weight: 700;
    text-align: left;
    background: #2C709F;
    color: #FFF;
    width: 280px;
    border-bottom: #FFF 1px solid;

}
.p-rst-tb td {
    font-size: 1.1rem;
    line-height: 1.8;
    border-bottom: #2C709F 1px solid;
    background: #FFF;
}
.p-rst-tb th,
.p-rst-tb td {
    padding: 20px 20px;
}
.p-rst-tb th > a {
    font-weight: 600;
    color: #FFF;
    border-bottom: solid 1px #FFF;
}
.p-rst-tb th > a:hover {
    opacity: 0.7;
}
.p-rst-tb-ttl {
    font-size: 1.2rem;
    font-weight: 600;
}
* + .p-rst-tb-ttl {
    margin-top: 15px;
}
.p-rst-tb-mk {
    color: #2C709F;
    font-weight: 600;
    padding: 0 3px;
}
a.p-rst-tb-mk {
    border-bottom: solid 1px #2C709F;
}
a.p-rst-tb-mk:hover {
    opacity: 0.7;
}
.p-rst-tb-mk > sup {
    font-weight: 600;
}
.p-rst-tb td li {
    text-indent: -0.75em;
    margin-left: 0.75em;
}
.p-rst-tb td li:before {
    content: "● ";
    color: #2C709F;
    font-size: 70%;
}
.p-rst-tb td li + li {
    margin-top: 5px;
}
/*------------------------------------------------------------
	Result - Devices
------------------------------------------------------------*/
@media screen and (max-width: 1366px) {
    .p-art-inr-ttl {
        font-size: 2.4rem;
    }
    .p-art-inr-img-ttl {
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 1024px) {
    .p-art-inr.is-wh {
        padding: 30px 30px;
    }
    .p-art-inr-ttl {
        font-size: 2rem;
    }
}
@media screen and (max-width: 767px) {
    .p-art-inr.is-wh {
        padding: 30px 15px 15px;
    }
    .p-art-inr + .p-art-inr {
        margin-top: 50px;
    }
    .p-art-inr-box {
        margin-top: 30px;
    }
    .p-art-inr-box:first-child {
        margin-top: 0;
    }
    .p-art-inr-ttl {
        font-size: 1.4rem;
    }
    .p-art-inr-txt {
        font-size: 1rem;
        line-height: 1.8;
        margin-top: 15px;
    }
    .p-art-inr-img.is-wh {
        padding: 15px;
    }
    .p-art-inr-img-ttl {
        font-size: 1.2rem;
        margin: 15px 0 10px;
    }
    .p-art-inr-ct {
        padding: 15px 15px 15px;
        max-width: inherit;
        font-size: 1.1rem;
    }
    .p-rst-tb th {
        width: 150px;
        font-size: 1.1rem;
    }
    .p-rst-tb td {
        font-size: 1rem;
    }
    .p-rst-tb-ttl {
        font-size: 1.1rem;
    }
}
@media screen and (max-width: 539px) {
    .p-art-inr-ct-mk {
        font-size: 100%;
        padding-bottom: 0;
    }
    .p-rst-tb,
    .p-rst-tb tr,
    .p-rst-tb th,
    .p-rst-tb td {
        display: block;
        width: inherit;
        border: 0;
    }
    .p-rst-tb td {
        padding: 15px 15px;
    }
    .p-rst-tb th {
        padding: 10px 15px;
        color: #2C709F;
        background: rgba(44,112,159,0.15);
    }
    .p-rst-tb th > a {
        color: #2C709F;
        border-color: #2C709F;
    }
    .p-rst-tb tr {
        border: #2C709F 1px solid;
        background: #FFF;
    }
    .p-rst-tb tr + tr {
        margin-top: 15px;
    }
}
@media screen and (max-width: 414px) {
}