@charset "UTF-8";

/* ===============================================
   header_banner
   =============================================== */

#header_banner {
    width: 100%;
    min-width: 1000px;
    margin: 0 auto;
    border-bottom: none;
    background-color: #fffeef;
    overflow: hidden;
}

#header_banner .inner {
    position: relative;
    width: 1000px;
    text-align: left;
    margin: 0 auto;
}

#header_banner .inner a {
    display: inline-block;
}

#header_banner .inner .newstxt {
    padding: 13px 0 11px;
}

#header_banner .inner p {
    padding: 0;
}

#header_banner .inner .importance {
    color: #e51312;
    font-size: 122%;
    padding-left: 25px;
    background: url(/person/img/home/ico_importance.png) left center no-repeat;
}

#header_banner .inner .newstxt_area a {
    display: inline-block;
    color: #666;
    font-weight: normal;
    padding: 0;
    background: none;
}

#header_banner .inner .closebtn {
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -8px;
}

#header_banner .inner .closebtn a {
    padding: 0;
    margin: 0;
    background: none;
}

@media only screen and (max-width: 640px) {
    #header_banner {
        min-width: 100%;
    }
    #header_banner .inner {
        width: auto;
        padding: 0 10px;
    }
    #header_banner .inner .importance {
        display: block;
        line-height: 16px;
        padding-left: 20px;
        margin-bottom: 5px;
        background-size: 16px 16px;
    }
    #header_banner .inner .closebtn {
        display: table-cell;
        width: 20px;
        vertical-align: top;
        position: static;
        top: auto;
        right: auto;
    }
    .u_for_sp2 {
        display: inherit;
    }
}


/* ===============================================
   mv
   =============================================== */

.mv {
    display: none;
}
.mv.slick-initialized {
    display: block;
}
.mv img{
    width: 100%;
    display: block;
}
.mv h2 {
    color: #fff;
    font-size: 189%;
    text-align: center;
    padding-top: 260px;
}

.mv .scroll {
    text-align: center;
    padding-top: 420px;
}

.mv .scroll a {
    color: #fff;
    padding-bottom: 46px;
    background: url(/person/img/home/arrow_down01.png) bottom center no-repeat;
}

.hihe-link-corp p {
    color: #fff;
    line-height: 2em;
}

.hihe-link-corp a {
    display: block;
    background: #fff url(/person/common/img/arrow_recommend.png) 96% center no-repeat;
    width: 480px;
    margin: 40px auto 50px;
    height: 76px;
    line-height: 76px;
    color: #10459d;
    font-weight: bold;
    border-radius: 36px;
    border: solid 1px #fff;
}

@media only screen and (max-width: 640px) {
    .mv img{
        display: none;
    }
    .mv h2 {
        padding-top: 70px;
    }
    .mv .scroll {
        padding-top: 0;
        margin-top: -15%;
    }
    .mv .scroll a {
        padding-bottom: 23px;
        background-size: 28px auto;
    }
    .hihe-link-corp p {
        padding: 0 10px;
    }
    .hihe-link-corp a {
        width: 250px;
        height: 50px;
        border-radius: 25px;
        line-height: 50px;
        margin-top: 25px;
        margin-bottom: 30px;
    }
}


/* ===============================================
   common
   =============================================== */

h3.title01 {
    color: #fff;
    font-size: 189%;
    font-weight: bold;
    margin-bottom: 20px;
}

h3.title02 {
    color: #1d50a3;
    font-size: 189%;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}

h3.title03link a {
    min-height: 99px;
    padding: 10px;
    color: #000;
    font-weight: bold;
    text-align: left;
    padding-top: 25px;
    padding-left: 100px;
    display: inline-block;
}

h3.title03 {
    min-height: 79px;
    color: #000;
    padding: 10px;
    font-weight: bold;
    text-align: left;
    padding-top: 25px;
    padding-left: 100px;
    display: inline-block;
}

h3.title03link span,
h3.title03 span {
    font-size: 189%;
    vertical-align: middle;
    padding-left: 15px;
}

h3.title03link.home-security a {
    margin-bottom: 60px;
    background: #fff url(/person/img/home/ico_home-security.png) left 10px center no-repeat;
    border: solid 1px #1d50a3;
    border-left-width: 6px;
}

h3.title03.personal-security {
    margin-bottom: 30px;
    background: url(/person/img/home/ico_personal-security.png) left 10px center no-repeat;
}

h3.title03.life-support {
    margin-bottom: 60px;
    background: url(/person/img/home/ico_life-support.png) left 10px center no-repeat;
}

h3.title04 {
    font-size: 109%;
    font-weight: bold;
    text-align: left;
    margin-bottom: 30px;
}

h4.title01 {
    color: #fff;
    font-size: 117%;
    font-weight: bold;
    text-align: center;
    line-height: 36px;
    background-color: #1d50a3;
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
    border-radius: 25px;
}

h3.title04.service_select {
    background-color: #f1f1f1;
    padding: 10px;
    border: solid 1px #f1f1f1;
    border-left: solid 6px #1d50a3;
}

.description {
    text-align: center;
    line-height: 1.8;
}

@media only screen and (min-width: 641px) {
    h3.title03link a:hover {
        background-color: #1d50a3;
        color: #fff;
    }
    h3.title03link a:hover span {
        color: #fff;
    }
}

@media only screen and (max-width: 640px) {
    h3.title01 {
        font-size: 150%;
        margin-bottom: 10px;
    }
    h3.title02 {
        font-size: 150%;
        margin-bottom: 10px;
    }
    h3.title03link a {
        min-height: auto;
        padding-top: 0;
        padding-left: 50px;
        margin-bottom: 20px;
        width: 100%;
        padding-bottom: 0;
    }
    h3.title03 {
        min-height: auto;
        padding-top: 0;
        padding-left: 50px;
        margin-bottom: 20px;
        width: 100%;
        padding-bottom: 0;
    }
    h3.title03link span,
    h3.title03 span {
        display: block;
        font-size: 150%;
        padding-left: 0;
    }
    h3.title03link.home-security a {
        margin-bottom: 30px;
        background-size: 41px;
        background-position: center left;
        padding-top: 10px;
        padding-bottom: 10px;
    }
    h3.title03.personal-security {
        background-size: 42px;
        background-position: center left;
    }
    h3.title03.life-support {
        margin-bottom: 30px;
        background-size: 38px;
        background-position: center left;
    }
    h3.title04 {
        margin-bottom: 15px;
    }
}


/* ===============================================
   background
   =============================================== */

.sc01_container {
    background: url(/person/img/home/bg02.jpg) top center no-repeat;
    background-size: cover;
}

.sc02_container {
    background: url(/person/img/home/bg03.jpg) top center no-repeat;
    background-size: cover;
}

.sc03_container {
    background: url(/person/img/home/bg04.jpg) top center no-repeat;
    background-size: cover;
}

.sc05_container {
    background-color: #f3f8ff;
}

.sc06_container {
    background: url(/person/img/home/bg05.jpg) top center no-repeat;
    background-size: cover;
}

.sc07_container {
    background-color: #f0f0f0;
}

/* ===============================================
   link_container
   =============================================== */

.link_container {
    text-align: center;
    padding: 85px 0 70px;
    background: url(/person/img/home/bg01.jpg) top center repeat;
}

@media only screen and (max-width: 640px) {
    .link_container {
        padding: 20px 0 15px;
    }
    .link_container img {
        width: 21px;
    }
}


/* ===============================================
   title_container
   =============================================== */

.title_container {
    padding-top: 160px;
    margin: -90px auto 0;
}

@media only screen and (max-width: 640px) {
    .title_container {
        padding-top: 85px;
        margin: -45px auto 0;
    }
}


/* ===============================================
   linkBlock
   =============================================== */

.linkBlock {
    width: 100%;
}

.bg-transmission {
    padding: 30px;
    background-color: rgba( 255, 255, 255, 0.5);
}

.bg-transmission .left {
    float: left;
    width: 450px;
}

.bg-transmission .right {
    float: right;
    width: 450px;
}
/*.bg-transmission .txtBlock {
    clear: both;
    margin: 10px 0 0 0;
}

.bg-transmission .txtBlock a {
    text-decoration: underline;
    padding: 0 0 0 13px;
    background: url(/person/img/home/arrow_txtlink.png) left center no-repeat;
}*/
.linkBlock li {
    float: left;
    display: table;
    min-height: 120px;
    margin-top: 20px;
}

.linkBlock.col3 li {
    width: 320px;
}

.linkBlock.col3 li:nth-child(-n+3) {
    margin-top: 0;
}

.linkBlock.col3 li:nth-child(3n+2) {
    width: 360px;
    padding: 0 20px;
}

.linkBlock.col2 li {
    width: 450px;
}

.linkBlock.col2 li:nth-child(-n+2) {
    margin-top: 0;
}

.linkBlock.col2 li:nth-child(even) {
    width: 550px;
    padding-left: 100px;
}

.linkBlock.col1 li {
    width: 100%;
    text-align: left;
}

.linkBlock li a .img {
    display: table-cell;
}

.linkBlock li a .img img {
    display: block;
    width: 101px;
    height: 94px;
    background-color: #fff;
}

.linkBlock li a .ttl {
    display: table-cell;
    text-align: left;
    vertical-align: middle;
    padding-left: 20px;
}

.linkBlock li a .ttl span {
    display: block;
    color: #777;
    font-size: 84%;
    font-weight: normal;
}

.linkBlock.link01 li {
    display: block;
}

.linkBlock.link01 li a {
    display: block;
    box-shadow: 0px 0px 3px 1px #ddd;
    -moz-box-shadow: 0px 0px 3px 1px #ddd;
    -webkit-box-shadow: 0px 0px 3px 1px #ddd;
    position: relative;
    width: 100%;
    height: 120px;
    overflow: hidden;
}

.linkBlock.link01 li .inner {
    position: absolute;
    height: 100%;
    width: 100%;
    transition: all 200ms 0s ease;
    background-color: #f1f1f1;
}

.linkBlock.link01 li .inner table {
    border-left: 6px solid #163d7b;
    font-size: 117%;
    font-weight: bold;
    width: 100%;
    height: 100%;
}

.linkBlock.link01 li .inner table td {
    vertical-align: middle;
    width: 110px;
}

.linkBlock.link01 li .inner table td img {
    display: block;
    margin: 0 auto;
}

.linkBlock.link01 li .inner table th {
    vertical-align: middle;
    padding: 5px;
    box-sizing: border-box;
}

.linkBlock.link01 li .inner table th img {
    display: block;
    margin: 0 auto;
}

.linkBlock.link01 li .inner table th p {
    font-size: 64%;
    margin: 10px 0 0;
    text-align: left;
}

.linkBlock.link01 li .inner.top {
    top: 0;
}

.linkBlock.link01 li .inner.top p {
    font-size: 117%;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #f1f1f1;
    border-left: 6px solid #163d7b;
    margin: 0;
    font-weight: bold;
    padding-left: 25px;
    padding-top: 47px;
}

.linkBlock.link01 li .inner.top p.row2 {
    padding-top: 35px;
}

.linkBlock.link01 li .inner.bottom {
    top: 100%;
    background-color: #fff;
    border-color: #1d50a3;
}

.linkBlock.link01 li .inner.bottom table {
    border-color: #1d50a3;
}

.linkBlock.link02 li a {
    display: table-cell;
    font-size: 117%;
    font-weight: bold;
    vertical-align: middle;
    padding-left: 25px;
    border-left: 6px solid #1d50a3;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background: url(/person/common/img/arrow_white.svg) 93% center no-repeat, url(/person/img/home/bg_btn.png) left top repeat-x;
    background-size: 8px 16px, 1px 100%;
    box-shadow: 0px 0px 3px 1px #ddd;
    -moz-box-shadow: 0px 0px 3px 1px #ddd;
    -webkit-box-shadow: 0px 0px 3px 1px #ddd;
}

.linkBlock.link02 li a span.txt-span-small {
    font-size: 80%;
}
.linkBlock.link02 li a span.txt-span-01 {
    font-size: 65%;
}
.linkBlock.link02 li a span.txt-span-02 {
    font-size: 90%;
}
<!--
 .linkBlock.link02 li a:hover span.txt-span-01 {
    color: #fff;
}
-->

@media only screen and (min-width: 641px) {
    .linkBlock.link01 li a:hover .inner.top {
        top: -100%;
    }
    .linkBlock.link01 li a:hover .inner.bottom {
        top: 0;
    }
    .linkBlock.link01 li a:hover .inner img {
        opacity: 1;
    }
}

@media only screen and (max-width: 640px) {
    .bg-transmission {
        padding: 20px 10px;
    }
    .bg-transmission .left,
    .bg-transmission .right {
        float: none;
        width: 100%;
    }
    .bg-transmission .right {
        margin-top: 20px;
    }
    .linkBlock li {
        float: none;
        min-height: auto;
        margin-top: 10px;
    }
    .linkBlock.col3 li,
    .linkBlock.col2 li {
        width: 100%;
    }
    .linkBlock.col3 li:nth-child(-n+3),
    .linkBlock.col2 li:nth-child(-n+2) {
        margin-top: 10px;
    }
    .linkBlock.col3 li:nth-child(3n+2),
    .linkBlock.col2 li:nth-child(even) {
        width: 100%;
        padding: 0;
    }
    .linkBlock.link01 li .inner {
        position: static;
        border-color: #1d50a3;
        background-color: #fefefe;
    }
    .linkBlock.link01 li a {
        height: auto;
    }
    .linkBlock.link01 li .inner table {
        min-height: 120px;
    }
    .linkBlock.link01 li .inner table th img {
        max-width: 100%;
        height: auto;
    }
    .linkBlock.link01 li .inner table th p {
        font-size: 80%;
        margin-top: 5px;
    }
    .linkBlock.link01 li .inner.top {
        display: none;
    }
    .linkBlock.link02 li a {
        display: block;
        padding: 15px 20px 15px 15px;
        background-size: 6px auto, 1px 100%;
    }
    .linkBlock li a .img {
        width: 30%;
    }
    .linkBlock li a .img img {
        width: 100%;
        height: auto;
        background-color: transparent;
    }
    .linkBlock li a .ttl {
        padding-left: 10px;
    }
}


/* ===============================================
   typelinkBlock
   =============================================== */

.typelinkBlock {
    width: 100%;
}

.typelinkBlock li {
    float: left;
    display: table;
    width: 320px;
    text-align: left;
    margin-left: 20px;
}

.typelinkBlock li:first-child {
    margin-left: 0;
}

.typelinkBlock li a {
    display: block;
    padding: 15px;
    border: 1px solid #eee;
    background-color: #fcfcfc;
}

.typelinkBlock li a .img,
.typelinkBlock li a .icon,
.typelinkBlock li a .ttl {
    display: table-cell;
    vertical-align: middle;
}

.typelinkBlock li a .img img,
.typelinkBlock li a .icon img {
    display: block;
}

.typelinkBlock li a .icon {
    padding-left: 20px;
}

.typelinkBlock li a .ttl {
    font-size: 109%;
    font-weight: bold;
    padding-left: 15px;
}

@media only screen and (max-width: 640px) {
    .typelinkBlock li {
        float: none;
        width: 100%;
        margin-top: 10px;
        margin-left: 0;
    }
    .typelinkBlock li:first-child {
        margin-top: 0;
    }
    .typelinkBlock li a span {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .typelinkBlock li a .img {
        width: 30%;
    }
    .typelinkBlock li a .img img {
        width: 100%;
    }
    .typelinkBlock li a .icon {
        width: 10%;
        padding-left: 15px;
    }
    .typelinkBlock li a .ttl {
        width: 60%;
        padding-left: 10px;
    }
}


/* ===============================================
   firstlinkBlock
   =============================================== */

.firstlinkBlock {
    width: 100%;
    margin-top: 50px;
}

.firstlinkBlock li {
    float: left;
    display: table;
    width: 450px;
    text-align: left;
    margin-left: 100px;
}

.firstlinkBlock li:first-child {
    margin-left: 0;
}

.firstlinkBlock li a {
    display: block;
}

.firstlinkBlock li.first-layout01 .img {
    display: table-cell;
    vertical-align: top;
    width: 180px;
}

.firstlinkBlock li.first-layout01 .ttl {
    display: table-cell;
    vertical-align: middle;
}

.firstlinkBlock li .img img {
    display: block;
    width: 100%;
}

.firstlinkBlock li .ttl {
    font-weight: bold;
    padding-left: 20px;
}

.firstlinkBlock li .ttl span {
    display: block;
    font-size: 84%;
    font-weight: normal;
    line-height: 1.8;
    margin-top: 15px;
}

.firstlinkBlock li.first-layout02 {
    position: relative;
}

.firstlinkBlock li.first-layout02 .img {
    width: 180px;
    position: absolute;
    top: 0;
    left: 0;
}

.firstlinkBlock li.first-layout02 .movie {
    width: 180px;
}

.firstlinkBlock li.first-layout02 .ttl {
    padding-left: 0;
}

.firstlinkBlock li.first-layout02 .img + a {
    padding-left: 200px;
}

ul.firstlinkBlock-3w{
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-top: 50px;
}

ul.firstlinkBlock-3w li{
    position: relative;
    box-sizing: border-box;
    width: 30.3%;
    margin: 0 1.3%;
    float: left;
}

ul.firstlinkBlock-3w li h6{
    font-weight: 600;
    text-align: center;
    margin: 0 auto 8px auto;
}

ul.firstlinkBlock-3w li p{
    margin: 0;
    font-size: 90%;
}

ul.firstlinkBlock-3w li img{
    display: block;
    width: 100%;
    max-width: 218px;
    margin: 0 auto 8px auto;
}


@media only screen and (max-width: 640px) {
    .firstlinkBlock {
        margin-top: 25px;
    }
    .firstlinkBlock li {
        float: none;
        width: 100%;
        margin-top: 20px;
        margin-left: 0;
    }
    .firstlinkBlock li:first-child {
        margin-top: 0;
    }
    .firstlinkBlock li a span {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .firstlinkBlock li.first-layout01 a .img {
        width: 40%;
    }
    .firstlinkBlock li a .img img {
        width: 100%;
    }
    .firstlinkBlock li a .ttl {
        padding-left: 10px;
    }
    .firstlinkBlock li a .ttl span {
        margin-top: 10px;
    }
    .firstlinkBlock li.first-layout02 .img {
        width: 40%;
    }
    .firstlinkBlock li.first-layout02 .movie {
        width: 100%;
    }
    .firstlinkBlock li.first-layout02 .ttl {
        padding-left: 10px;
        display: inline-block;
    }
    .firstlinkBlock li.first-layout02 .img + a {
        padding-left: 40%;
    }
    
    ul.firstlinkBlock-3w{
    margin-top: 50px;
}

ul.firstlinkBlock-3w li{
    width: 100%;
    margin: 0;
    float:none;
}

ul.firstlinkBlock-3w li h6{
    width: 100%;
    max-width: 218px;
    margin: 0 auto 8px auto;
}

ul.firstlinkBlock-3w li p{
    width: 100%;
    max-width: 218px;
    margin: 0 auto 20px auto;
}
    
    
ul.firstlinkBlock-3w li:last-child p{
    margin: 0 auto;
}

}


/* ===============================================
   bnrlinkBlock
   =============================================== */

.bnrlinkBlock {
    width: 100%;
    padding: 0 30px;
}

.bnrlinkBlock li {
    float: left;
    width: 25%;
    text-align: left;
    padding: 0 10px;
}

.bnrlinkBlock li a {
    display: block;
}

.bnrlinkBlock li a img {
    display: block;
    margin-bottom: 10px;
    width: 100%;
}

.bnrlinkBlock li a .txt {
    color: #fff;
    text-decoration: underline;
    padding-left: 16px;
    background: url(/person/img/home/arrow_bnrlink.png) left center no-repeat;
    display: block;
}

.bnrlinkBlock .slick-next {
    right: 0;
}

.bnrlinkBlock .slick-prev {
    left: 0;
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

.bnrlinkBlock .slick-next,
.bnrlinkBlock .slick-prev {
    width: 11px;
    height: 19px;
}

.bnrlinkBlock .slick-prev:before,
.bnrlinkBlock .slick-next:before {
    content: "";
    display: block;
    width: 11px;
    height: 19px;
    background: url(/person/img/home/arrow_link.png)no-repeat center;
    background-size: cover;
}

@media only screen and (max-width: 640px) {
    .bnrlinkBlock {
        padding: 0;
    }
    .bnrlinkBlock li {
        float: none;
        width: 100%;
        margin-top: 20px;
        margin-left: 0;
    }
    .bnrlinkBlock li:first-child {
        margin-top: 0;
    }
    .bnrlinkBlock li a img {
        width: 100%;
    }
}


/* ===============================================
   while_container
   =============================================== */

.while_container {
    display: table;
    width: 100%;
    background-color: #f6f7f8;
}

.while_container .txtBlock,
.while_container .bnrBlock {
    display: table-cell;
    text-align: left;
    vertical-align: middle;
    width: 500px;
}

.while_container .txtBlock {
    padding: 60px 0;
}

.while_container .txtBlock p {
    padding: 5px 0;
}

.while_container .txtBlock a {
    font-size: 125%;
    text-decoration: underline;
    padding-left: 13px;
    background: url(/person/img/home/arrow_txtlink.png) left center no-repeat;
}

.while_container .txtBlock.only-txt {
    width: 100%;
}

.while_container .bnrBlock a {
    display: block;
    background: #fff url(/person/common/img/arrow_blue.svg) 96% center no-repeat;
    background-size: 8px 16px;
}

.while_container .bnrBlock a .img,
.while_container .bnrBlock a .icon,
.while_container .bnrBlock a .ttl {
    display: table-cell;
    vertical-align: middle;
}

.while_container .bnrBlock a .img img,
.while_container .bnrBlock a .icon img {
    display: block;
}

.while_container .bnrBlock:first-child a .icon img {
    width: 58px;
    height: 52px;
    padding: 5px;
    background-color: #fff;
}

.while_container .bnrBlock:last-child a .icon img {
    width: 58px;
    height: 58px;
    padding: 5px;
    background-color: #fff;
}

.while_container .bnrBlock a .icon {
    padding-left: 20px;
}

.while_container .bnrBlock a .ttl {
    color: #1d50a3;
    font-size: 125%;
    font-weight: bold;
    padding-left: 15px;
}

.while_container .bnrBlock.bnrBlock02 {
    padding-right: 30px;
}

.while_container .bnrBlock.bnrBlock02 + .bnrBlock02 {
    padding-right: 0;
    padding-left: 30px;
}

.while_container .bnrBlock.bnrBlock02 a {
    height: 100px;
    display: table;
    width: 100%;
}

@media only screen and (max-width: 640px) {
    .while_container {
        padding: 15px 0;
    }
    .while_container .txtBlock,
    .while_container .bnrBlock {
        display: block;
        width: 100%;
    }
    .while_container .txtBlock {
        padding: 15px 0;
    }
    .while_container .txtBlock a {
        font-size: 109%;
    }
    .while_container .bnrBlock {
        margin-bottom: 15px;
    }
    .while_container .bnrBlock img {
        width: 100%;
    }
    .while_container .bnrBlock a {
        background-size: 5px auto;
    }
    .while_container .bnrBlock a span {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .while_container .bnrBlock a .img {
        width: 30%;
    }
    .while_container .bnrBlock a .img img {
        width: 100%;
    }
    .while_container .bnrBlock a .icon {
        width: 12%;
        padding-left: 10px;
    }
    .while_container .bnrBlock a .ttl {
        width: 58%;
        padding: 10px 20px 10px 10px;
    }
    .while_container .bnrBlock.bnrBlock02 {
        padding-right: 0;
    }
    .while_container .bnrBlock.bnrBlock02 + .bnrBlock02 {
        padding-left: 0;
    }
}


/* ===============================================
   btnBlock01
   =============================================== */

.btnBlock01 {
    width: 580px;
    margin: 70px auto;
}

.btnBlock01 a {
    display: block;
    color: #fff;
/*    font-size: 134%; */
    text-align: center;
    line-height: 75px;
    background: #1d50a3 url(/person/common/img/arrow_link-area.png) 96% center no-repeat;
    border-radius: 50px;
    border: solid 1px #1d50a3;
}

.btnBlock01 a:hover {
    color: #ccc;
}

@media only screen and (max-width: 640px) {
    .btnBlock01 {
        width: auto;
        padding: 0 10px;
        margin: 35px auto;
    }
    .btnBlock01 a {
        line-height: 1.5;
        padding: 15px 25px 15px 15px;
        background-size: 5px auto;
    }
}

@media only screen and (min-width: 641px) {
    #header_banner .inner .newstxt_area a:hover span {
        color: #263594;
    }
    .hihe-link-corp a:hover {
        color: #fff;
        border-color: #fff;
        background-color: #10459d;
    }
    .while_container .bnrBlock a:hover {
        background-color: #1d50a3;
        background-image: url(/person/common/img/arrow_white.svg);
        background-size: 8px 16px;
    }
    .while_container .bnrBlock a:hover .ttl {
        color: #fff;
    }
    .while_container .bnrBlock a:hover .icon img {
        opacity: 1;
    }
    .linkBlock.link02 li a:hover {
        background: #1d50a3 url(/person/common/img/arrow_white.svg) 93% center no-repeat;
        color: #fff;
        background-size: 8px 16px;
    }
    .linkBlock.link02 li a:hover img {
        opacity: 1;
    }
    .linkBlock.link02 li a:hover span.txt-span-small {
        color: #fff;
    }
    .linkBlock.link02 li a:hover span.txt-span-02 {
        color: #fff;
    }
    .linkBlock.link02 li a:hover .ttl {
        color: #fff;
    }
    .linkBlock.link02 li a:hover .ttl span {
        color: #fff;
    }
    .linkBlock li a:hover .ttl span {
        color: #263594;
    }
    .btnBlock01 a:hover {
        background-color: #fff;
        color: #1d50a3;
    }
    .typelinkBlock li a:hover .ttl {
        color: #263594;
    }
    .firstlinkBlock li a:hover .ttl {
        color: #263594;
    }
    .firstlinkBlock li a:hover .ttl span {
        color: #263594;
    }
    .bnrlinkBlock li a:hover img {
        opacity: 1;
    }
    .bnrlinkBlock li a:hover .box-img {
        position: relative;
    }
    .bnrlinkBlock li a:hover .box-img:after {
        content: "";
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(255, 255, 255, 0.5);
    }
    .bnrlinkBlock li a:hover .txt {
        opacity: 0.5;
    }
}


/* ===============================================
   sub_container
   =============================================== */


/*---- link-area ----*/

.sub_container .link-area {
    display: table;
    width: 100%;
    padding-bottom: 70px;
}

.sub_container .link-area .left {
    display: table-cell;
    width: 50%;
    padding: 45px 0 50px;
    background-color: #f2f2f2;
}

.sub_container .link-area .right {
    display: table-cell;
    width: 50%;
    padding: 45px 0 50px;
    background-color: #ebebeb;
}

.sub_container .link-area .left div {
    float: right;
    width: 500px;
    text-align: center;
}

.sub_container .link-area .right div {
    float: left;
    width: 500px;
    text-align: center;
}

.sub_container h3.title02 {
    font-size: 100%;
    color: #242424;
    font-weight: bold;
    text-align: left;
}

.sub_container .link-area span {
    font-weight: bold;
}

.sub_container .link-area a {
    display: block;
    width: 376px;
    height: 60px;
    color: #fff;
    line-height: 60px;
    margin: 32px auto 0;
    background: #666 url(/person/common/img/arrow_link-area.png) 96% center no-repeat;
}


/*link area with image background*/

.sub_container.bg_image .link-area span {
    color: #fff;
}

.sub_container.bg_image .link-area .left {
    background: url('/person/common/img/arrow_link-area_bg01.jpg') no-repeat center;
    background-size: cover;
}

.sub_container.bg_image .link-area .left a {
    background-color: #1d50a3;
    background-image: url(/person/common/img/arrow_yellow.svg);
    background-position: 96% center;
    background-repeat: no-repeat;
    background-size: 8px 16px;
}

.sub_container.bg_image .link-area .right {
    background: url('/person/common/img/arrow_link-area_bg02.jpg') no-repeat center;
    background-size: cover;
}

.sub_container.bg_image .link-area .right a {
    background-color: #fff100;
    background-image: url(/person/common/img/arrow_glay.svg);
    background-position: 96% center;
    background-repeat: no-repeat;
    background-size: 8px 16px;
    color: #000;
}

@media only screen and (min-width:641px) {
    .sub_container.bg_image .link-area .left a:hover {
        background-color: #fff;
        color: #1d50a3;
    }
    .sub_container.bg_image .link-area .right a:hover {
        background-color: #696969;
        color: #fff100;
    }
}

@media only screen and (max-width:640px) {
    .sub_container .link-area {
        display: block;
        width: 100%;
        padding-bottom: 50px;
    }
    .sub_container .link-area .left,
    .sub_container .link-area .right {
        display: block;
        width: 100%;
        padding: 20px 0 25px;
    }
    .sub_container .link-area .left div,
    .sub_container .link-area .right div {
        float: none;
        display: inline-block;
        width: 90%;
        vertical-align: middle;
        margin: 0 5%;
    }
    .sub_container .link-area a {
        width: 100%;
        height: 40px;
        line-height: 40px;
        margin: 15px auto 0;
        background-size: 5px auto;
    }
}


/*---- column-area ----*/

.sub_container .column-area {
    margin-top: 0;
}

.sub_container .column-area.type02 {
    padding-bottom: 0;
    margin-top: 0;
    border-bottom: none;
}

.sub_container .column-area ul {
    width: 100%;
}

.sub_container .column-area ul li {
    float: left;
    width: 300px;
    margin-top: 40px;
    margin-left: 50px;
}

.sub_container .column-area ul li:nth-child(-n+3) {
    margin-top: 0;
}

.sub_container .column-area ul li:nth-child(3n+1) {
    margin-left: 0;
}

.sub_container .column-area ul li a {
    display: block;
}

.sub_container .column-area ul li a .date {
    display: block;
    color: #cd1a1a;
    font-size: 72%;
    font-weight: bold;
    text-decoration: none;
    margin: 10px 0 5px;
}

.sub_container .column-area ul li a .txt {
    text-decoration: underline;
}

.sub_container .column-area ul li a:hover {
    text-decoration: none;
}

@media only screen and (min-width:641px) {
    .sub_container .column-area ul li a:hover .txt {
        color: #263594;
    }
    .sub_container .view-area ul li a:hover .title {
        color: #263594;
    }
    .sub_container .view-area ul li a:hover .txt {
        color: #263594;
    }
}

@media only screen and (max-width:640px) {
    .sub_container .column-area {
        padding-bottom: 25px;
        margin-top: 0;
    }
    .sub_container .column-area ul {
        display: block;
    }
    .sub_container .column-area ul li {
        float: none;
        width: 100%;
        margin-top: 20px;
        margin-left: 0;
    }
    .sub_container .column-area ul li:nth-child(-n+3) {
        margin-top: 20px;
    }
    .sub_container .column-area ul li:first-child {
        margin-top: 0;
    }
    .sub_container .column-area ul li a .date {
        margin: 5px 0 3px;
    }
    .sub_container .column-area ul li img {
        width: 100%;
    }
}


/*---- view-area ----*/

.sub_container .view-area {
    margin-top: 50px;
}

.sub_container .view-area ul {
    width: 100%;
}

.sub_container .view-area ul li {
    float: left;
    width: 500px;
}

.sub_container .view-area ul li.box01 {
    padding-right: 50px;
    border-right: 1px dotted #e8e8e8;
}

.sub_container .view-area ul li.box02 {
    padding-left: 50px;
}

.sub_container .view-area ul li span {
    display: block;
    text-align: left;
}

.sub_container .view-area ul li .image {
    float: left;
    width: 170px;
}

.sub_container .view-area ul li .icon,
.sub_container .view-area ul li .title,
.sub_container .view-area ul li .txt {
    margin-left: 200px;
}

.sub_container .view-area ul li .icon {
    width: 120px;
    color: #19a69c;
    ;
    font-size: 72%;
    font-weight: bold;
    text-align: center;
    line-height: 25px;
    margin-bottom: 10px;
    background-image: url(../../img/products/viewarea/icon_.png);
    background-repeat: no-repeat;
    background-size: 25px;
}

.sub_container .view-area ul li .icon.type01 {
    background-color: #fff;
}

.sub_container .view-area ul li .title {
    font-weight: bold;
    margin-bottom: 10px;
}

@media only screen and (max-width:640px) {
    .sub_container .view-area {
        margin-top: 25px;
    }
    .sub_container .view-area ul li {
        float: none;
        width: 100%;
    }
    .sub_container .view-area ul li.box01,
    .sub_container .view-area ul li.box02 {
        padding: 0;
    }
    .sub_container .view-area ul li.box01 {
        padding: 0 0 15px;
        margin-bottom: 20px;
        border-right: none;
        border-bottom: 1px dotted #e8e8e8;
    }
    .sub_container .view-area ul li .image {
        float: left;
        width: 30%;
    }
    .sub_container .view-area ul li .image img {
        width: 100%;
    }
    .sub_container .view-area ul li .icon,
    .sub_container .view-area ul li .title,
    .sub_container .view-area ul li .txt {
        margin-left: 32%;
    }
    .sub_container .view-area ul li .icon {
        width: 100px;
        line-height: 20px;
        margin-bottom: 5px;
        background-size: 20px;
    }
}


/* ===============================================
   guide_container
   =============================================== */

.guide_container ul {
    width: 100%;
}

.guide_container ul li {
    float: left;
    display: table;
    width: 486px;
    vertical-align: middle;
}

.guide_container ul li:nth-child(odd) {
    padding-right: 28px;
}

.guide_container.col1 ul li {
    padding: 0;
    float: none;
    margin: 0 auto;
}

.guide_container ul li a {
    display: block;
    font-weight: bold;
    padding: 30px 37px 30px;
    border: 1px solid #e5e5e5;
    background-image: url(/person/common/img/arrow_aqua.svg);
    background-position: 96% center;
    background-repeat: no-repeat;
    background-size: 12px 24px;
}

@media only screen and (min-width:641px) {
    .guide_container ul li a:hover {
        background-color: #1d50a3;
        background-image: url(/person/common/img/arrow_white.svg);
    }
    .guide_container ul li a:hover span {
        color: #ffffff;
    }
    .guide_container ul li a:hover img {
        opacity: 1;
    }
}

.guide_container ul li a span {
    display: table-cell;
    vertical-align: middle;
}

.guide_container ul li a span img {
    margin-right: 26px;
    padding: 5px;
    background-color: #fff;
}

@media only screen and (max-width:640px) {
    .guide_container ul,
    .guide_container ul li {
        float: none;
        display: block;
        width: 100%;
    }
    .guide_container ul li:nth-child(odd) {
        padding-right: 0;
        margin-bottom: 10px;
    }
    .guide_container ul li a {
        padding: 15px 20px 10px;
        background-size: 10px auto;
    }
    .guide_container ul li a span img {
        width: 38px;
        height: auto;
        margin-right: 18px;
    }
}


/* ===============================================
   ancherposition
   =============================================== */

.ancherposition {
    padding: 90px 0;
    margin: -20px 0;
}

@media only screen and (max-width:640px) {
    .ancherposition {
        padding: 70px 0;
        margin: 0 0 -20px;
    }
}

/* ===============================================
   cp_bnr_area
   =============================================== */
.cp_bnr_area {
    text-align: center;
    margin-bottom: 60px;
}

@media only screen and (max-width:640px) {
    .cp_bnr_area {
        width: auto;
        padding: 0 10px;
        margin-bottom: 40px;
    }
    .cp_bnr_area img{
        max-width: 100%;
    }
}

/* ===============================================
   faq_container
   =============================================== */

.faq_container h3.ttl-persontop-h3 {
    margin-bottom: 50px;
}

.faq_container .question-answer {
    font-size: 16px;
}

.faq_container .question-answer .question,
.faq_container .question-answer .answer {
    width: 100%;
    float: left;
}

.faq_container .question-answer .icon span {
    display: inline-block;
    padding: 2px 10px;
    margin-right: 10px;
    float: left;
    font-weight: bold;
}

.faq_container .question-answer .content01 {
    float: left;
    width: 900px;
    line-height: 27px;
}

.faq_container .question-answer .content01 p{
    float: left;
    text-align: justify;
}

.faq_container .question-answer .question {
    padding: 10px;
    background: #10459d;
}

.faq_container .question-answer .question .icon span {
    color: #fff;
    float: left;
}

.faq_container .question-answer .question .content01 p{
    font-weight: bold;
    letter-spacing: 1px;
    color: #fff;
}

.faq_container .question-answer .answer {
    padding: 10px;
    background-color: #fff;

}

.faq_container .question-answer .answer .icon span {
    color: #1d50a3;
    background-color: yellow;
}

.faq_container .question-answer ul li {
    padding-left: 18px;
}

.faq_container a.link-faq {
    display: block;
    width: 276px;
    height: 51px;
    border: solid 1px #dddddd;
    border-bottom-width: 2px;
    font-size: 117%;
    line-height: 51px;
    padding-left: 12px;
    border-radius: 3px;
    background: #fff url(/person/common/img/arrow_recommend.png)no-repeat right 12px center;
    margin: 0 auto;
}

.faq_container ul.list-link-faq {
    border-top: solid 1px #cccccc;
    border-bottom: solid 1px #cccccc;
    padding: 20px 0;
    margin-top: 50px;
}

.faq_container ul.list-link-faq li {
    width: 50%;
    float: left;
}

.faq_container ul.list-link-faq li p {
    font-size: 167%;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
}

@media only screen and (max-width: 640px) {
    .faq_container {
        padding-bottom: 40px;
    }
    .faq_container h3.ttl-persontop-h3 {
        margin-bottom: 20px;
    }
    .faq_container .question-answer .question {
        padding: 0;
        background: #10459d;
    }
    .faq_container .question-answer .question .icon {
        width: 40px;
    }
    .faq_container .question-answer .content01 {
        width: 85%;
        float: right;
    }
    .faq_container .question-answer .question .content01 p{
        font-size: 85%;
        line-height: 175%;
        color: #fff;
    }
    .faq_container .question-answer .answer {
        padding: 0;
    }
    .faq_container .question-answer .content01 p{
        font-size: 85%;
        line-height: 175%;
        padding-right: 15px;
    }
    .faq_container ul.list-link-faq {
        padding: 10px 0;
        margin-top: 25px;
    }
    .faq_container ul.list-link-faq li {
        width: 100%;
        float: none;
    }
    .faq_container ul.list-link-faq li p {
        font-size: 128%;
    }
    .faq_container ul.list-link-faq li + li {
        margin-top: 18px;
        padding-top: 15px;
        border-top: solid 1px #cccccc;
    }
}

h3.ttl-persontop-h3 {
    width: 100%;
    font-size: 150%;
    color: #1e51a2;
    text-align: center;
    padding: 10px 20px;
    background-image: url(/person/img/person/bg-ttl01.png), url(/person/img/person/bg-ttl02.png);
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: left top, right bottom;
    border: solid 1px #e0e0e0;
    margin-top: 35px;
}

/* ===============================================
   20220809 price background
   =============================================== */

table.priceTable.mt20 {
    background: #ffffff;
}

/* ===============================================
   vioce_container
   =============================================== */
.vioce_container h3.ttl-voice-h3 {
    margin-bottom: 50px;
}
.vioce_container h3.ttl-voice-h3 {
    width: 100%;
    color: #1e51a2;
    text-align: center;
    padding: 10px 20px;
    background-image: url(/person/img/person/bg-ttl01.png), url(/person/img/person/bg-ttl02.png);
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: left top, right bottom;
    border: solid 1px #e0e0e0;
    margin-top: 35px;
}
.vioce_container .box {
    padding: 25px 30px;
    margin-top: 30px;
    background-color: #ffffff;
}

.vioce_container .box:first-child {
    margin-top: 0;
}

.vioce_container .box dl {
    width: 100%;
}

.vioce_container .box dl dt {
    font-weight: bold;
    text-align: left;
    padding-bottom: 12px;
}

.vioce_container .box dl dt .area {
    color: #666;
    padding-right: 20px;
}

.vioce_container .box dl dt .name {
    font-size: 150%;
}

.vioce_container .box dl dd {
    text-align: left;
    padding-top: 20px;
}

.vioce_container .box dl dd img {
    float: left;
    margin-right: 40px;
}

.vioce_container .box dl dd .detail {
    font-weight: bold;
    margin-bottom: 10px;
}

.vioce_container .box dl dd .txt {
    font-size: 84%;
    line-height: 1.8;
}

@media only screen and (max-width:640px) {
    .vioce_container h3.ttl-persontop-h3 {
        font-size: 117%;
    }
    .vioce_container .box {
        padding: 10px 15px;
        margin-top: 15px;
    }
    .vioce_container .box dl dt .area {
        padding-right: 10px;
    }
    .vioce_container .box dl dd {
        padding-top: 10px;
    }
    .vioce_container .box dl dd img {
        margin-right: 20px;
    }
}

@media only screen and (max-width: 640px) {
    .faq_container {
        padding-bottom: 40px;
    }
    .faq_container h3.ttl-persontop-h3 {
        margin-bottom: 20px;
    }
}
/* ===============================================
   price 20220810
   =============================================== */

.price h3.ttl-persontop-h3 {
    margin-bottom: 50px;
}

@media only screen and (max-width: 640px) {
    .price {
        padding-bottom: 40px;
    }
    .price h3.ttl-persontop-h3 {
        margin-bottom: 20px;
    }
}
