@charset "UTF-8";

html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
}

main h1 {
    text-align: center;
    font-size:2.8rem;
    margin-bottom:60px;
}
main h2 {
    font-family: 'M PLUS 1p', sans-serif;
    font-size:2.4rem;
    line-height: 1.3;
}
picture {
    position: relative;
}
picture .la-change{
    position: absolute;
    bottom: 16px;
    right: 16px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius:4px;
    padding: 2px 6px 2px 10px;
}
picture .la-change a {
    color:#888;
    font-size:1.4rem;
}
picture .la-change a:hover {
    color:#444;
}
.page-wrap .fa-file-pdf {
    font-size:2.4rem;
    color:#FF4D6B;
}
.business {
    margin-bottom:100px;
}
.business-inner {
    width:90%;
    margin:0 auto;
}
.business h1 {
    margin-bottom:50px;
}
.business h2 {
    margin-bottom:30px;
}
.blk-cf {
    margin-bottom:40px;
}
.about-cf {
    padding-bottom:40px;
}
.about-cf .box-logo {
    text-align: center;
    margin-bottom:20px;
}
.about-cf .box-logo .txt-supplemant {
    font-size:1.2rem;
}
.about-cf .box-logo .logo-owb img {
    width:80%;
}
.about-cf .col-r-r img {
    width:100%;
    height:auto;
}
.about-cf .btn-to-owb a {
    display: block;
    width:80%;
    height:48px;
    text-align: center;
    border:1px solid #ccc;
    border-radius:4px;
    background-color: #fff;
    margin:0 auto;
    color:#555;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
    transition: all 200ms;
}
.about-cf .btn-to-owb a:hover {
    border-color:#000;
    color: rgba(255, 255, 255, 1.0);
    box-shadow: rgba(0, 0, 0, 0.8) 0 48px 0px 0 inset;
}
.about-service {
    padding-bottom:30px;
}
.about-service h3 {
    display: flex;
    align-items: center;
    font-size:1.8rem;
    margin-bottom:20px;
}
.about-service h3:before,
.about-service h3:after {
    content: "";
    height: 1px;
    background: #555;
    flex-grow: 1;
}
.about-service h3:before {
    margin-right: 1rem;
}
.about-service h3:after {
    margin-left: 1rem;
}
.about-service .col-r-l {
    margin-bottom:20px;
}
.about-service .col-r-r {
    text-align: center;
}
.about-service .col-r-r img {
    width:90%;
    height:auto;
}
.midashi-sub {
    font-size:1.8rem;
}
.one-box {
    border-bottom:1px dotted #ccc;
    padding:30px 0
}
.one-box:first-child {
    border-top:1px dotted #ccc;
}
.one-box .one-box-l {
    text-align: center;
}
.one-box .one-box-l a:hover img {
    opacity:0.7;
    transition: 0.3s;
}
.one-box .one-box-l img {
    width:60%;
    height:auto;
}
.one-box h3 {
    position: relative;
    font-size:1.8rem;
    font-weight:bold;
    padding-left:16px;
    margin-bottom:20px;
}
.one-box h3::before {
    content:"";
    position: absolute;
    top: 0;
    left: 0;
    width:8px;
    height:100%;
    border-radius:4px;
    background: #ccc;
}
.one-box .dl-track {
    margin-bottom:20px;
}
.one-box .dl-track dl {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
}
.one-box .dl-track dt {
    width:7em;
}
.one-box .dl-track dd {
    width:calc(100% - 7em);
}
.one-box .linkto-site {
    text-align: right;
}

.operate-system {
    margin-bottom:100px;
    background-color: #FBFBFB;
    padding:40px 0 10px;
}
.operate-system-inner {
    width:90%;
    margin:0 auto;
}
.ope-box {
    margin-bottom:40px;
}
.ope-box h2 {
    margin-bottom:20px;
}
.ope-box dl {
    position:relative;
	margin-left: 0.3em;
	padding:0 0 20px 0;
}
.ope-box dl:last-of-type  {
    padding-bottom:0;
}
.ope-box dl::before {
    content:"";
	position:absolute;
	top: 16px;
	left:0;
	height:100%;
	border-left: 1px solid #888;
}
.ope-box dt {
    font-weight:bold;
    list-style-type:none;
	position: relative;
	padding-left: 1.6em;
}
.ope-box dt::before {
    content:"";
	position: absolute;
	top: 1.6rem;
	left:0;
	width: 1em;
	border-top: 1px solid #888;
}
.ope-box dl:last-of-type dt::before {
	height:115px; /*-- 左の横線が見えないよう白で隠している。飛び出たりしたらここ調整する。 --*/
	background-color: #FBFBFB;
}
.ope-box dd {
    padding-left: 1.4em;
    font-size:1.4rem;
}

.profile {
    margin-bottom:100px;
}
.profile-inner {
    width:90%;
    margin:0 auto;
}
.dl-profile {
    margin-bottom:60px;
}
.dl-profile dl {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    border-bottom:1px solid #ccc;
    padding:20px 0;
}
.dl-profile dt {
    width:6em;
}
.dl-profile dd {
    width:calc(100% - 6em);
}
.ul-financial {
    margin-bottom:60px;
}
.ul-financial li {
    border-bottom:1px solid #ccc;
    padding:20px 0;
}
.ul-financial li a {
    display: inline-block;
}
.ul-group h2 {
    margin-bottom:10px;
}
.ul-group ul {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
}
.ul-group li {
    width:48%;
    margin-right:2%;
    text-align: center;
}
.ul-group li:last-of-type {
    margin-right:0;
}
.ul-group li a {
    display: block;
    border:1px solid #ccc;
    border-radius:4px;
}
.ul-group li a img {
    width:90%;
}
.ul-group li a p:nth-child(2) {
    font-size:0.8rem;
    background-color:#f9f9f9;
    border-bottom-left-radius:4px;
    border-bottom-right-radius:4px;
    padding:4px;
}

.contact {
    background-color: #FBFBFB;
    padding:40px 0 80px;
}
.contact-inner {
    width:90%;
    margin:0 auto;
}
.contact h2 {
    margin-bottom:20px;
}
.about-owb {
    margin-bottom:60px;
}
.time-contact dl {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
}
.time-contact dl:last-of-type {
    margin-bottom:30px;
} 
.time-contact dt {
    width:5em;
}
.br-pc {
    display: none;
}
.time-contact dd {
    width:calc(100% - 5em);
}
.btn-contact-form a {
    display: block;
    width:80%;
    height:48px;
    margin:0 auto;
    border:1px solid #ccc;
    border-radius:4px;
    background-color: #fff;
    text-align: center;
    color:#555;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
    transition: all 200ms;
}
.btn-contact-form a:hover {
    box-shadow: rgba(0, 0, 0, 0.8) 0 48px 0px 0 inset;
    border-color:#000;
    color:#fff;
}
.form-aseetmanagement .form-table {
    background-color: #fff;
    border:1px solid #aaa;
    border-radius:4px;
    margin-bottom:20px;
}
.form-aseetmanagement dl {
    border-top:1px solid #aaa;
}
.form-aseetmanagement dl:first-child {
    border-top:0;
}
.form-aseetmanagement dl:first-child dt {
    border-top-left-radius:4px;
    border-top-right-radius:4px;
}
.form-aseetmanagement dt {
    border-bottom:1px solid #aaa;
    background-color: #f2f2f2;
    display: flex;
    align-items: center;
    padding:10px;
}
.form-aseetmanagement dt .icon-red {
    font-size:1.1rem;
    color:#fff;
    background-color: #FC4D6B;
    display: inline-block;
    height:20px;
    line-height: 20px;
    border-radius:10px;
    text-align: center;
    margin-left:12px;
    padding: 0 8px;
    white-space: nowrap;
}
.form-aseetmanagement dd {
    padding:10px;
}
.form-aseetmanagement dl:first-child dd {
    border-bottom-left-radius:4px;
    border-bottom-right-radius:4px;
}
.form-aseetmanagement dd input {
    border:1px solid #ccc;
    border-radius: 4px;
    width:100%;
    height: 48px;
    display: block;
    padding: 0 8px;
    font-size:1.6rem;
    z-index: 1;
}
.form-aseetmanagement dd input.large-box {
    height:200px;
}
.form-aseetmanagement dd input::placeholder,
.form-aseetmanagement dd textarea.large-box::placeholder {
    color:#aaa;
    font-size: 1.6rem;
}
.form-aseetmanagement dd input:focus::placeholder,
.form-aseetmanagement dd textarea.large-box:focus::placeholder {
    color:#fff;
}
.form-aseetmanagement dd input:focus,
.form-aseetmanagement dd textarea.large-box:focus {
    outline: none;
    border:1px solid #f99;
}
.form-aseetmanagement dd textarea.large-box {
    width: 100%;
    height: 200px;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding:8px;
}
.form-aseetmanagement dd textarea.large-box[type=text]{
    font-size: 1.6rem;
  }
.form-aseetmanagement dd .checkbox {
    margin-bottom:4px;
}
.form-aseetmanagement dd .checkbox input {
    display: none;
}
.form-aseetmanagement dd .checkbox span {
    position: relative;
	padding-left: 40px;
    cursor: pointer;
}
.form-aseetmanagement dd .checkbox span::before {
    font-family: 'FontAwesome';
	content: "\f096";
    color: #ccc;
    font-size: 36px;
    position: absolute;
    top: -24px;
    left: 0;
}
.form-aseetmanagement dd .checkbox span a {
    color:#08f;
}
.form-aseetmanagement dd .checkbox span a:hover {
    color:#08c;
}
.form-aseetmanagement dd .checkbox input:checked + span::before {
    content: "\f046";
    color: #888;
}
.form-aseetmanagement button {
    display: block;
    width:80%;
    height:48px;
    margin:0 auto;
    border:1px solid #ccc;
    border-radius:4px;
    background-color: #fff;
    font-size:1.6rem;
    color:#555;
    cursor: pointer;
    transition: all 200ms;
}
.form-aseetmanagement button:hover {
    box-shadow: rgba(0, 0, 0, 0.8) 0 48px 0px 0 inset;
    border-color:#000;
    color:#fff;
}

/*=======================
メディアクエリ　768px〜
=======================*/
@media screen and (min-width: 768px) {

    main h1 {
        font-size: 3.6rem;
    }
    main h2 {
        font-size: 3.6rem;
    }

    .about-cf {
        padding-bottom: 80px;
    }
    .about-cf .box-logo .txt-supplemant {
        font-size: 1.4rem;
    }
    .about-cf .box-logo .logo-owb img {
        width: 50%;
    }
    .about-cf .col-r-r {
        text-align: center;
        margin-bottom:20px;
    }
    .about-cf .col-r-r img {
        width:50%;
    }
    .about-service .col-r-r img {
        width:50%;
    }
    .about-service {
        padding-bottom: 60px;
    }
    .one-box .one-box-l img {
        width:36%;
    }

    .operate-system {
        padding: 70px 0 10px;
    }
    .ope-box dl:last-of-type dt::before {
        height: 87px; /*-- 組織図の線の下が飛び出るので、覆い隠してるものの高さ --*/
    }

    .dl-profile {
        margin-bottom: 80px;
    }
    .ul-financial {
        margin-bottom: 80px;
    }

    .contact {
        padding-top:60px;
    }
    .form-aseetmanagement {
        width:80%;
        margin:0 auto;
    }
}

/*=======================
メディアクエリ　960px〜
=======================*/
@media screen and (min-width: 960px) {

    html {
        scroll-padding-top: 100px;
    }
    main h1 {
        text-align: left;
        font-size:4.2rem;
    }
    main h2 {
        font-size:4.2rem;
        
    }

    .title-bnr {
        margin-bottom:200px;
    }
    .col {
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
    }
    .col-l {
        width:25%;
        height:100%;
        position: -webkit-sticky;
        position: sticky;
        top: 180px;
        left: 0;
        padding-top:50px;
        text-align: center;
        z-index: 1;
    }
    .col-r {
        width:75%;
    }
    .col-r-wrap {
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
    }
    .business {
        margin-bottom:90px;
    }
    .blk-cf h2 {
        margin-bottom: 80px;
    }
    .about-cf .col-r-l {
        width:430px;
    }
    .about-cf .col-r-r {
        width:calc(100% - 430px);
    }
    .about-cf .box-logo {
        margin-bottom:50px;
    }
    .about-cf .box-logo .txt-supplemant {
        font-size:1.6rem;
    }
    .about-cf .box-logo .logo-owb img {
        width: 334px;
    }
    .about-cf .col-r-r img {
        width:90%;
    }
    .about-cf .col-r-wrap {
        margin-bottom:50px;
    }
    .about-cf .btn-to-owb a {
        width:540px;
        height:72px;
        background-color: #fff;
        font-size:1.8rem;
    }
    .about-cf .btn-to-owb a:hover {
        box-shadow: rgba(0, 0, 0, 0.8) 0 72px 0px 0 inset;
    }
    .about-service h3 {
        font-size:2.6rem;
        margin-bottom: 50px;
    }
    .about-service h3::before {
        margin-right: 1.6rem;
    }
    .about-service h3::after {
        margin-left: 1.6rem;
    }
    .about-service .col-r-l {
        width:408px;
        margin-right:48px;
    }
    .about-service .col-r-r {
        width:calc(100% - 456px);
    }
    .about-service .col-r-r img {
        width:100%;
    }
    .midashi-sub {
        font-size:3.0rem;
        margin-bottom: 20px;
    }
    .one-box {
        border:0;
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
        padding:60px 0 0 0;
    }
    .one-box:first-child {
        border:0;
        padding-top:0;
    }
    .one-box .one-box-l {
        width:250px;
        margin-right:40px;
    }
    .one-box .one-box-l img {
        width:100%;
    }
    .one-box .one-box-r {
        width:calc(100% - 290px);
    }
    .one-box h3 {
        font-size:1.8rem;
        padding-left:0;
    }
    .one-box h3::before {
        display: none;
    }
    .blk-cf h2 {
        margin-bottom: 60px;
    }

    .operate-system {
        padding:120px 0;
    }
    .ope-box {
        margin-bottom:140px;
    }
    .ope-box:last-of-type {
        margin-bottom:0;
    }
    .ope-box dl::before {
        top: 20px;
    }
    .ope-box dl:last-of-type dt::before {
        height: 110px; /*-- 組織図の線の下が飛び出るので、覆い隠してるものの高さ --*/
    }
    .ope-box dt {
        font-size:2.2rem;
    }
    .ope-box dt::before {
        top: 2rem; /*-- 組織図の線の上の位置の調整 --*/
    }
    .ope-box dd {
        font-size:1.6rem;
        padding-left:2.2em;
    }
    .profile {
        margin-bottom:120px;
    }
    .dl-profile {
        margin-bottom:100px;
    }
    .ul-financial {
        margin-bottom:100px;
    }
    .ul-financial h2 {
        margin-bottom:10px;
    }
    .ul-pdf {
        margin-bottom:100px;
    }
    .ul-pdf h2 {
        margin-bottom:40px;
    }
    .ul-group h2 {
        margin-bottom:40px;
    }
    .ul-group li {
        width:270px;
        margin:0 10px;
    }
    .ul-group li a img {
        width: 80%;
        margin: 10px 10px 5px 10px;
    }
    .ul-group li a:hover {
        opacity: 0.7;
    }
    .ul-group li a p:nth-child(2) {
        font-size: 1.2rem;
    }

    .contact {
        padding-top:120px;
    }
    .contact h2 {
        margin-bottom:40px;
    }
    .time-contact dl:last-of-type {
        margin-bottom:50px;
    }
    .btn-contact-form a {
        width:540px;
        height:72px;
        margin-bottom:140px;
        font-size:1.8rem;
        transition: all 200ms;
    }
    .btn-contact-form a:hover {
        box-shadow: rgba(0, 0, 0, 0.8) 0 72px 0px 0 inset;
    }
    .form-aseetmanagement {
        width:100%;
    }
    .form-aseetmanagement .form-table {
        border-bottom-left-radius:0;
        margin-bottom:50px;
    }
    .form-aseetmanagement dl {
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
    }
    .form-aseetmanagement dl:first-child dt {
        border-top-right-radius:0;
    }
    .form-aseetmanagement dl:last-of-type dt {
        border-bottom-left-radius:0;
    }
    .form-aseetmanagement dt {
        -ms-flex-pack: center;
        -webkit-box-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        width:40%;
        border-right:1px solid #aaa;
        border-bottom:0;
        padding:20px 0;
        width:40%;
    }
    .form-aseetmanagement dd {
        width:calc(100% - 40%);
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
        -ms-flex-align: center;
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        padding:15px;
    }
    .form-aseetmanagement .txt-supplement {
        font-size:1.2rem;
    }
    .form-aseetmanagement button {
        width:540px;
        height:72px;
        font-size:1.8rem;
    }
    .form-aseetmanagement button:hover {
        box-shadow: rgba(0, 0, 0, 0.8) 0 72px 0px 0 inset;
    }
}

/*=======================
メディアクエリ　1200px〜
=======================*/
@media screen and (min-width: 1200px) {
    .col-l {
        width:430px;
    }
    .col-r {
        width:770px;
    }

}

/*=======================
エラー表記
=======================*/

input.err,
select.err,
textarea.err,
span.err > input[type^=checkbox] {
    border: 1px solid #FF4D6B !important;
    background-color: #FFF1F1;
}

div.formError {
    padding: 0.2em 0.5em 0;
    background-color: #FF4D6B;
    border-radius: 4px;
    width: 100%;
    margin-top:-4px;
}

div.formErrorMsg {
    font-size: 0.8em;
    color: #FFF;
}
