@charset "utf-8";

/*--------------------要素--------------------*/
* {
    box-sizing: border-box;
}

body {
    overflow-x: hidden;
    color: #282828;
    font-size: 16px;
    font-family:
        "ヒラギノ角ゴ Pro W3",
        "Hiragino Kaku Gothic Pro",
        "メイリオ",
        Meiryo,
        "ＭＳ　Ｐゴシック",
        "MS PGothic",
        sans-serif;
}

.logo {
    float: left;
    position: relative;
    margin-top: 5px;
}

.logo a {
    color: #282828;
}

.logo span {
    font-size: 10px;
    position: absolute;
    left: 70px;
    top: 10px;
    font-weight: bold;
    width: 250px;
}

.logo .sp_logo {
    display: none;
}

.titleHeader {
    font-size: 3.42em;
    font-family: 'Montserrat', sans-serif;
    /*text-shadow:0px 1px #ffffff, 0px -1px #000000;*/
}

h3 {
    padding-bottom: 20px;
    color: #9696b4;
    font-weight: bold;
    font-size: 1.28em;
}

img {
    /*object-fit:cover;*/
}

p {
    display: inline;
}

p a {
    color: #9696b4;
    font-weight: bold;
    /*transition:0.2s;*/
}

p a:hover {
    border-radius: 5px;
    color: #bebedc;
}

a {
    text-decoration: none;
    color: #6e6e8c;
}

a:hover {
    /*opacity:0.5;*/
}

a.box {
    /*transition:0.2s;*/
}

a.box:hover {
    background: #9696b4 !important;
}

.box {
    background: #282828;
}

.center {
    margin: 0px auto;
    max-width: 1000px;
    overflow: hidden;
}

.child {
    display: none;
}

/*.main *[id*="scroll"]:first-of-type{
    margin-top:-163px;
    padding-top:213px;
}
.main *[id*="scroll"]:nth-of-type(n+2){
    margin-top:-63px;
    padding-top:163px;
}*/

.pws {
    color: #ff0000;
}

.sentence {
    margin: -0.5em 0em;
    line-height: 2em;
}

.clr {
    overflow: visible !important;
}

.clr:after {
    content: "";
    clear: both;
    display: block;
}

.m0 {
    margin: 0 !important
}

.mb0 {
    margin-bottom: 0 !important
}

.mb5 {
    margin-bottom: 5px !important
}

.mb10 {
    margin-bottom: 10px !important
}

.mb20 {
    margin-bottom: 20px !important
}

.mb30 {
    margin-bottom: 30px !important
}

.mb40 {
    margin-bottom: 40px !important
}

.mb80 {
    margin-bottom: 80px !important
}

.ml0 {
    margin-left: 0 !important
}

.ml5 {
    margin-left: 5px !important
}

.ml10 {
    margin-left: 10px !important
}

.ml20 {
    margin-left: 20px !important
}

.ml30 {
    margin-left: 30px !important
}

.ml40 {
    margin-left: 40px !important
}

.mr0 {
    margin-right: 0 !important
}

.mr5 {
    margin-right: 5px !important
}

.mr10 {
    margin-right: 10px !important
}

.mr20 {
    margin-right: 20px !important
}

.mr30 {
    margin-right: 30px !important
}

.mr40 {
    margin-right: 40px !important
}

.mt0 {
    margin-top: 0 !important
}

.mt5 {
    margin-top: 5px !important
}

.mt10 {
    margin-top: 10px !important
}

.mt15 {
    margin-top: 15px !important
}

.mt20 {
    margin-top: 20px !important
}

.mt30 {
    margin-top: 30px !important
}

.mt40 {
    margin-top: 40px !important
}

.mt60 {
    margin-top: 60px !important
}

.mt80 {
    margin-top: 80px !important
}

.p0 {
    padding: 0 !important
}

.pb0 {
    padding-bottom: 0 !important
}

.pb5 {
    padding-bottom: 5px !important
}

.pb10 {
    padding-bottom: 10px !important
}

.pb20 {
    padding-bottom: 20px !important
}

.pb30 {
    margin-bottom: 30px !important
}

.pb40 {
    padding-bottom: 40px !important
}

.pl0 {
    padding-left: 0 !important
}

.pl5 {
    padding-left: 5px !important
}

.pl10 {
    padding-left: 10px !important
}

.pl20 {
    padding-left: 20px !important
}

.pl30 {
    padding-left: 30px !important
}

.pl40 {
    padding-left: 40px !important
}

.pr0 {
    padding-right: 0 !important
}

.pr5 {
    padding-right: 5px !important
}

.pr10 {
    padding-right: 10px !important
}

.pr20 {
    padding-right: 20px !important
}

.pr30 {
    padding-right: 30px !important
}

.pr40 {
    padding-right: 40px !important
}

.pt0 {
    padding-top: 0 !important
}

.pt5 {
    padding-top: 5px !important
}

.pt10 {
    padding-top: 10px !important
}

.pt20 {
    padding-top: 20px !important
}

.pt30 {
    padding-top: 30px !important
}

.pt40 {
    padding-top: 40px !important
}

/*--------------------レイアウト--------------------*/

.navigation {
    float: right;
}

.navigation a {
    color: #282828;
}

.navigation li {
    float: left;
    position: relative;
    line-height: 70px;
}

.sp_navigation {
    display: none;
}

/*h1 + .child{
    top:64px;
}*/

header {
    display: table;
    margin: 0px auto;
    border-bottom: 5px solid #6e6e8c;
    width: 100%;
}

header p {
    padding-left: 20px;
}

header li:not(.list) .parent {
    margin-left: 20px;
}

header .parent {
    display: block;
    color: #282828;
    text-align: center;
    /*transition:0.2s;*/
}

header .parent:hover {
    color: #9696b4;
}

header .center {
    overflow: visible;
    position: relative;
}

.siteDescription {
    position: absolute;
    left: 70px;
    top: 15px;
    font-size: 11px;
}

.accordion a span {
    border-right: 1px solid #dcdcdc;
    display: block;
}

.accordion li {
    width: 160px;
}

.accordion li ul {
    position: absolute;
    background: #282828;
    opacity: 1;
    top: 70px;
    right: 0;
    width: 100%;
    display: none;
    overflow: hidden;
    z-index: 1;
    border-radius: 0 0 3px 3px;
}

.accordion li ul a {
    color: #ffffff;
}

.accordion li:first-child a span {
    border-left: 1px solid #dcdcdc;
}

/*.navigation .accordion li{
    position:static;
}*/
.navigation .accordion li ul li {
    float: none;
    height: auto;
    line-height: 1.5;
}

.accordion li ul li a {
    display: block;
    margin: -0.5em 0em;
    padding: 20px 0;
    text-align: center;
    font-size: 0.85em;
    line-height: 2em;
    /*transition:0.2s;*/
    border-top: 1px solid #646464;
}

.accordion li ul li a:hover {
    color: #787878;
}

.accordion li ul li:first-child a {
    border: none;
}

footer .copyright {
    padding: 20px 0;
    background: #282828;
    color: #fff;
    text-align: center;
    font-size: 0.85em;
}

footer a {
    color: #ffffff;
}

footer a:hover {
    text-decoration: underline;
}

footer .bg {
    overflow: hidden;
    background: #282828;
    line-height: 3rem;
}

footer .resize {
    float: right;
    overflow: hidden;
    margin-top: 0.75rem;
}

footer .resize li {
    float: left;
    margin: -0.75rem 0rem;
    padding: 0rem 0.375rem;
    background-color: #505050;
    color: #282828;
    cursor: pointer;
    /*transition:0.2s;*/
}

footer .resize li:hover {
    background-color: #ffffff;
}

footer .resize li:nth-last-child(2) {
    margin-right: 0.75rem;
}

footer .scroll {
    float: left;
}

footer .scroll a {
    display: block;
    padding: 0px 40px;
    background: url(../images/icon/line_y_black.gif) repeat-y left;
    text-align: center;
    /*transition:0.2s;*/
}

footer .scroll a:hover {
    color: #787878;
}

footer .scroll li {
    float: left;
}

footer .scroll li:last-child a {
    background-image:
        url(../images/icon/line_y_black.gif),
        url(../images/icon/line_y_black.gif);
    background-position:
        left,
        right;
    background-repeat:
        repeat-y,
        repeat-y;
}

.footerLogo {
    float: left;
    margin-left: 30px;
}

.footerMenu {
    background-color: #343434;
    overflow: hidden;
}

.footerMenu ul {
    float: left;
    margin-left: 40px;
}

.footerMenu ul:first-child {
    margin: 0;
}

.footerMenu li {
    margin: 10px 0 0 1.25em;
    list-style-type: disc;
    color: #fff;
    font-size: 14px;
}

.footerMenu li:first-child {
    font-weight: bold;
    font-size: 16px;
    margin: 0;
    list-style: none;
}

.footerMenuContents {
    display: table;
    margin: 40px auto;
}

.main {
    overflow: hidden;
    padding: 60px 0;
    background: #f5f5f5;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 2px 2px 0px inset;
    /*transition:0.2s;*/
}

.main .titleHeader,
.main .titleSubHeader {
    display: block;
    text-align: center;
}

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

.main a,
.main p,
.main small {
    display: inline-block;
    /*margin:-0.5em 0em;*/
    line-height: 1.8em;
}

/*.main .titleHeader{
    padding-top:100px;
}*/

.main .titleHeader:first-child {
    /*padding-top:0px;*/
}

.mainContent {
    margin: 29px auto 0 auto;
    padding-top: 40px;
    overflow: hidden;
    max-width: 1000px;
    position: relative;
    /*background:#fafafa;
    box-shadow:rgba(0, 0, 0, 0.1) 0px 0px 4px 0px;*/
}

.mainContent:before {
    content: "";
    height: 1px;
    width: 100px;
    border-top: 1px dashed #aaa;
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -50px;
}

.mainContentWrap:nth-child(n+2) {
    margin-top: 60px;
    padding: 60px 0;
    background: #ebebeb;
}

.main .titleHeader+p {
    padding: 20px 0px;
}

.mainHeaderWrap {
    text-align: center;
}

.mainHeader {
    font-size: 25px;
    font-family: 'Montserrat', sans-serif;
}

.mainSubHeader {
    margin-top: 20px;
}

.title {
    position: relative;
    padding: 70px 0px 100px 0px;
    text-align: center;
}

.title:after {
    position: absolute;
    bottom: -12px;
    left: 50%;
    margin: 0px -12px;
    width: 24px;
    height: 12px;
    background: url(../images/icon/arrow.png) no-repeat;
    content: "";
}

.title .titleHeader {
    color: #9696b4;
    /*letter-spacing:-0.05em;*/
    text-transform: uppercase;
    font-size: 35px;
    font-weight: bold;
}

.title p {
    display: inline-block;
    padding-top: 20px;
}

.titleMenu {
    margin: 40px auto 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.titleMenu a {
    margin: 0 0 0 30px;
    color: #282828;
    height: 60px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4rem;
    border-radius: 3px;
    position: relative;
    border: 1px solid rgba(0, 0, 0, 0);
}

.titleMenu a:before {
    content: "";
    border-left: 1px solid #dcdcdc;
    width: 1px;
    height: 100%;
    position: absolute;
    left: -15px;
    top: 0;
}

.titleMenu a:first-child {
    margin: 0;
}

.titleMenu a:first-child:before {
    display: none;
}

.titleMenu a:hover {
    border: 1px solid #9696b4;
    background: #ebebf0;
}

.titleMenu .select,
.titleMenu .select:hover {
    background-color: #9696b4;
    border-color: #9696b4;
    color: #fff;
}

.titleMenu .small {
    font-size: 12px;
}

.visual {
    width: 100%;
}

.breadcrumb {
    margin-top: 15px;
}

.breadcrumb li {
    background: url(../images/icon/breadcrumbAngle.png) left center no-repeat;
    background-size: 8px auto;
    padding-left: 18px;
    margin-left: 10px;
    float: left;
    font-size: 12px;
}

.breadcrumb li:first-child {
    background: none;
    padding: 0;
    margin: 0;
}

.breadcrumb a:hover {
    text-decoration: underline;
}

.moreButton {
    padding: 15px;
    border: 1px solid #9696b4;
    color: #9696b4;
    display: table;
    margin: 0 auto;
    text-align: center;
    font-size: 12px;
}

.moreButton:hover {
    background-color: #9696b4;
    color: #fff;
}

.moreLink {
    font-size: 12px;
    margin-top: 10px;
}

.moreLink:hover {
    opacity: 1;
    text-decoration: underline;
}

.flexCenter {
    align-items: center;
    display: flex;
    justify-content: center;
}

.noHeader .breadcrumb {
    background: #f5f5f5;
    display: table;
    width: 100%;
    max-width: initial;
    overflow: visible;
    margin: 0;
    padding-top: 15px;
}

.noHeader .main {
    box-shadow: none;
    padding-top: 20px;
}

.img_pc {
    display: block;
}

.img_sp {
    display: none;
}

.space {
    display: table;
    margin-top: 15px;
}

.space + br {
    display: none;
}

.line {
    background: linear-gradient(transparent 75%, #ffde94 0);
    font-weight: bold;
    color: #c39123;
    background-position: center bottom 52px;
}

.bizMenu {
    display: flex;
    justify-content: space-between;
}

.bizMenu a {
    background: #fff;
    border: 1px solid #dcdcdc;
    border-radius: 5px;
    margin-left: 10px;
    width: 20%;
    text-decoration: none;
    overflow: hidden;
}

.bizMenu a:hover {
    background: #f5f5ff;
    border-color: #6e6e8c;
}

.bizMenu a:first-child {
    margin: 0;
}

.bizMenu img {
    width: 100%;
}

.bizMenu_content {
    text-align: center;
    margin: 20px 15px;
}

.bizMenu_content span {
    display: table;
    margin: 0 auto;
    line-height: 1.3rem;
}

.bizMenu_content .bizMenu_exp {
    padding-top: 15px;
    font-size: 13px;
    color: #000;
    margin-top: 10px;
    border-top: 1px dashed #dcdcdc;
    display: block;
}

.bizMenu_title {
    color: #6e6e8c;
    font-size: 15px;
    font-weight: bold;
}

#boxer.mobile .boxer-caption p {
    position: relative;
    top: -5px;
}



/*-----ホーム-----*/
#home .news {
    position: relative;
    display: table;
    margin: 80px auto;
    /*transition:0.2s;*/
}

#home .news img {
    vertical-align: middle;
}

#home .news dl {
    overflow: hidden;
    padding-bottom: 20px;
    line-height: 2;
}

#home .news dl:nth-child(n+9) {
    display: none;
}

#home .news dl:nth-child(8) {
    padding-bottom: 0px;
}

#home .news dt,
#home .news dd {
    float: left;
}

#home .news dt {
    width: 80px;
    background: #282828;
    color: #ffffff;
    text-align: center;
}

#home .news dd {
    display: table;
    padding-left: 20px;
}

#home .news dd:last-child {
    float: none;
}

#home .news .grid_a {
    position: relative;
    display: table-cell;
    padding: 80px;
    /*width:320px;*/
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    background-color: #dcdcdc;
    vertical-align: middle;
}

#home .news .grid_a a {
    text-decoration: underline;
    font-weight: normal;
    color: #282828;
}

#home .news .grid_a a:hover {
    text-decoration: none;
    opacity: 1;
}

#home .news .grid_aHeader {
    padding-bottom: 20px;
    font-size: 3.42em;
    font-family: 'Montserrat', sans-serif;
}

#home .news .grid_a p {
    margin: -0.5em 0em;
    line-height: 2em;
}

#home .news .grid_a .skip {
    position: absolute;
    right: 0px;
    bottom: 0px;
    width: 0px;
    height: 0px;
    border: 20px solid transparent;
    border-right-color: #505050;
    border-bottom-color: #505050;
    /*transition:0.2s;*/
}

#home .news .grid_a .skip:hover {
    border-right-color: #9696b4;
    border-bottom-color: #9696b4;
}

#home .news .grid_b {
    overflow: hidden;
    padding-left: 40px;
}

#home .main {
    padding: 60px 0;
}

/*ホーム：お知らせ*/
#home .homeInformation.main {
    background-color: #fff;
    box-shadow: none;
}

#home .homeInformation h3 {
    padding-bottom: 0px;
    font-size: 15px;
    line-height: 1.3rem;
    color: #6e6e8c;
}

#home .homeInformation p {
    font-size: 12px;
    color: #282828;
    visibility: hidden;
    margin-top: 5px;
}

#home .homeInformation img {
    width: 100%;
    height: 120px;
    object-fit: cover;
}

#home .homeInformation ul {
    display: flex;
    flex-wrap: wrap;
    overflow: visible;
    margin-top: 30px;
}

#home .homeInformation li {
    float: left;
    margin: 20px 0 0 20px;
    width: 235px;
    border: 1px solid #dcdcdc;
    overflow: hidden;
}

#home .homeInformation li:nth-child(-n+4) {
    margin-top: 0;
}

#home .homeInformation li:nth-child(4n+1) {
    margin-left: 0;
}

#home .homeInformation li a:hover {
    opacity: 0.8;
}

/*#home .homeInformation li > a{
    float:left;
    margin:0px 20px 20px 0px;
    padding:20px;
    width:150px;
    color:#ffffff;
    text-align:center;
    font-weight:bold;
    line-height:1.5em;
}
#home .homeInformation li > a:nth-child(2n){
    margin-right:0px;
}
#home .homeInformation li > a:nth-last-child(-n+2){
    margin-bottom:0px;
}
#home .homeInformation li > a:nth-of-type(-n+2){
    margin-top:40px;
}
#home .homeInformation li > a:before{
    display:block;
    margin-top:-0.25em;
    content:"";
}
#home .homeInformation li > a:after{
    display:block;
    margin-bottom:-0.25em;
    content:"";
}*/
#home .homeInformation .moreButton {
    width: 150px;
    margin-top: 40px;
    display: table;
}

#home .homeInformationContent {
    padding: 15px;
    line-height: 1.5;
    border-top: 1px solid #dcdcdc;
}

#home .homeInformationContent div p:not(:first-child) {
    display: none;
}

#home .homeInformationContent span {
    font-size: 12px;
}

#home .homeInformationBusiness.homeInformation.main {
    background-color: #f0f0f0;
}

#home .homeInformationBusinessHeader {
    text-align: center;
    font-size: 24px;
}

#home .homeInformationBusiness li {
    width: 235px;
    border: none;
    border-radius: 3px;
    background: #fafafa;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 4px 0px;
}

#home .homeInformationBusiness .homeInformationContent {
    text-align: center;
}

#home .homeInformationBusiness p {
    width: auto;
}

#home .homeInformationBusiness h3 {
    font-size: 15px;
}

#home .bizMenu {
    margin-top: 30px;
}



/*-----会社情報-----*/
/*#cp .about p{
    width:500px;
    float:left;
    margin-left:40px;
}

#cp .about p br{
    display:none;
}*/

#cp .about img {
    float: left;
    width: 480px;
}

#cp .outline table {
    /*padding-left:80px;
    width:380px;*/
    display: block;
    overflow: hidden;
}

#cp .outline tr {
    display: flex;
}

#cp .outline tr:not(:last-child),
#cp .outline tr:only-child {
    /*background:url(../images/icon/line_x.gif) repeat-x bottom;*/
    border-bottom: 1px solid #c8c8c8;
}

/*#cp .outline tr:nth-child(2) td{
    padding-bottom:0px;
    
}*/

#cp .outline td:nth-child(2) {
    border-left: 1px dashed #c8c8c8;
    padding-left: 15px;
}

#cp .outline tr:first-child td {
    padding-top: 0px;
}

#cp .outline tr:last-child td {
    background: none;
}

#cp .outline td {
    margin: 20px 0px 22px 0px;
}

#cp .outline td:nth-child(1) {
    padding-right: 15px;
}

/*#cp .outline td:nth-child(2):before{
    padding-left:15px;
    content:"";
    background:url(../images/icon/line_y.gif) repeat-y left;
}*/

#cp .outline td small {
    font-size: 12px;
}

#cp .outline tbody {
    float: left;
    padding-left: 20px;
    width: 33.3%;
}

#cp .outline tbody:nth-child(3n+1) {
    padding-left: 0px;
    /*width:294px;*/
}

#cp .outline .business {
    display: flex;
    flex-wrap: wrap;
    padding-top: 20px;
}

#cp .outline .business h3 {
    padding: 2px 0px 5px 0px;
    overflow: hidden;
}

#cp .outline .business h3 a {
    color: #9696b4;
    text-decoration: underline;
    font-size: 18px;
    line-height: 1.5rem;
}

#cp .outline .business h3 a:hover {
    text-decoration: none;
}

#cp .outline .business p {
    display: block;
    font-size: 0.85em;
    overflow: hidden;
}

#cp .outline .business a img:hover {
    opacity: 0.7;
}

#cp .outline .business img {
    float: left;
    overflow: hidden;
    border: 2px solid #f0f0f0;
    width: 140px;
}

#cp .outline .business a,
#cp .outline .business .outlineBusinessNoLink img {
    margin-right: 20px;
}

#cp .outline .business a:hover {
    text-decoration: underline;
}

#cp .outline .business li {
    padding: 20px;
    width: calc(50% - 10px);
    border: 4px solid #dcdcdc;
    background: linear-gradient(-45deg, #f0f0f0 25%, #fafafa 25%, #fafafa 50%, #f0f0f0 50%, #f0f0f0 75%, #fafafa 75%, #fafafa);
    background-size: 6px 6px;
    box-sizing: border-box;
    display: flex;
    margin: 20px 0 0 20px;
}

#cp .outline .business li:nth-child(2n+1) {
    margin-left: 0;
}

#cp .outline .place {
    overflow: hidden;
    clear: both;
}

#cp .outline .place li {
    float: left;
    padding: 50px 0px 0px 20px;
    width: calc(33% - 11px);
}

#cp .outline .place li:nth-child(-n+3) {
    padding-top: 0px;
}

#cp .outline .place li:nth-child(3n+1) {
    padding-left: 0px;
}

#cp .outline .place li p {
    font-size: 0.85em;
}

#cp .outline .place li p:nth-of-type(n+2) {
    display: block;
    padding-top: 20px;
}

#cp .outlineContentA {
    border: 4px solid #dcdcdc;
    padding: 40px;
    margin-top: 40px;
    overflow: hidden;
}

#cp .outlineContentA:first-of-type {
    margin: 0;
}

#cp .outline .ecoAction21 {
    margin-top: 20px;
    display: table;
    width: 100%;
}

#cp .outline .ecoAction21 .boxer,
#cp .outline .ecoAction21ContentB {
    display: table-cell;
}

#cp .outline .ecoAction21 .boxer:hover {
    opacity: 0.7;
}

#cp .outline .ecoAction21 p {
    margin-top: 10px;
}

#cp .outline .ecoAction21ContentA {
    display: table;
    margin: 0 auto;
    width: 600px;
}

#cp .outline .ecoAction21ContentB {
    vertical-align: middle;
    padding-left: 20px;
}

#cp .outline .ecoAction21 img {
    width: 200px;
}

#cp .outline .ecoAction21Header {
    font-weight: bold;
    font-size: 18px;
}

#cp .outline .lawyer {
    line-height: 1.5rem;
    padding-top: 20px;
    display: flex;
    border-top: 1px solid #c8c8c8;
}

#cp .outline .lawyerData {
    border-left: 1px dashed #c8c8c8;
    padding-left: 20px;
    margin-left: 20px;
}

#cp .history {
    display: flex;
}

#cp .history h3 {
    padding: 0px;
    color: #b4b4b4;
    text-align: center;
    font-size: 2.57em;
}

#cp .history dl div {
    display: block;
    padding: 20px 0px;
    border-top: 1px dashed #dcdcdc;
}

#cp .history dl div:first-of-type {
    padding-top: 40px;
    border: none;
}

#cp .history dt,
#cp .history dd {
    line-height: 2em;
}

#cp .history dt {
    display: table;
    float: left;
}

#cp .history dd {
    display: table;
    padding-left: 20px;
}

#cp .history span {
    display: block;
    overflow: hidden;
    margin: 20px 0px;
    height: 2px;
    text-indent: 100%;
}

#cp .history .grid_a {
    width: calc(50% - 40px);
}

#cp .history .grid_b {
    padding-left: 40px;
    margin-left: 40px;
    border-left: 1px solid #dcdcdc;
    width: 50%;
}

#cp .iso {
    display: table;
    /*background:#fafafa url(../images/cp_iso.png) no-repeat center;*/
}

#cp .iso p {
    display: table-cell;
    width: 660px;
    vertical-align: middle;
}

#cp .iso a {
    display: table-cell;
    float: left;
    margin: 20px 0px 0px 80px;
    padding: 30px 0px;
    width: 300px;
    background: #282828;
    color: #ffffff;
    vertical-align: middle;
    text-align: center;
}

#cp .iso a:first-of-type {
    margin-top: 0px;
}

#cp .iso span {
    padding-right: 10px;
    font-weight: bold;
    font-size: 1.71em;
}

#cp .mascot {
    display: table;
}

#cp .mascot h3 {
    padding-bottom: 15px;
    color: #282828;
    font-size: 2.57em;
}

#cp .mascot .grid_a {
    position: relative;
    display: block;
    width: 200px;
    height: 200px;
    border: solid 20px #ffffff;
    border-radius: 50%;
    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);
}

#cp .mascot .grid_a:before {
    position: absolute;
    right: -10px;
    bottom: -10px;
    content: "®";
    font-size: 12px;
}

#cp .mascot .grid_a img {
    width: 160px;
}

#cp .mascot .grid_b {
    display: table-cell;
    vertical-align: middle;
    text-align: left;
    padding-left: 40px;
}

#cp .mascot .grid_b p {
    display: table;
    margin-top: 20px;
    font-size: 12px;
    color: #787878;
}

#cp .mascot .grid_b span {
    line-height: 1.5rem;
}

#cp .mascot .grid_b font {
    font-weight: bold;
    color: #419bcd;
}

#cp .about p {
    width: 500px;
}

#cp .cpA {
    background: var(--bg-image-url) no-repeat;
    padding: 30px;
    min-height: 280px;
}

#cp .cpB {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
}

#cp .cpB h2 {
    color: #9696b4;
    font-size: 34px;
    line-height: 2.8rem;
    margin-bottom: 15px;
}

/*会社情報*/
#business .detail {
    position: relative;
}

#business .grid_a li {
    display: block;
    margin: -0.25em 0em;
    padding: 10px 0px;
    width: 220px;
    border-radius: 4px;
    /*background:#282828;
    color:#ffffff;*/
    text-align: center;
    line-height: 1.5em;
    border: 1px solid #dcdcdc;
}

#business .grid_a li:nth-child(n+2) {
    margin-top: 20px;
}

#business .grid_a li:first-child {
    margin-top: 0em;
}

#business .grid_a li:last-child {
    margin-bottom: 0em;
}

/*#business .grid_b{
    padding-left:40px;
    width:740px;
}*/
#business .grid_b .grid_bHdr {
    display: block;
}

#business .grid_bHdr {
    padding-bottom: 15px;
    line-height: normal;
    font-size: 30px;
    color: #9696b4;
    display: none;
}

#business .grid_b p {
    display: inline-block;
    margin-bottom: 20px;
}

#business .grid_b a {
    text-decoration: underline;
}

#business .grid_b a:hover {
    text-decoration: none;
}

#business .grid_b img {
    margin-bottom: 40px;
}

#business .grid_c {
    width: 100%;
    clear: both;
    overflow: hidden;
    box-sizing: border-box;
}

#business .grid_c li {
    float: left;
    overflow: hidden;
    margin: 20px 20px 0 0;
    width: 125px;
    height: 125px;
    border: 5px solid #ffffff;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 4px 0px;
    /*transition:0.2s;*/
}

#business .grid_c li:nth-child(7n) {
    margin-right: 0;
}

#business .grid_c li:nth-child(-n+7) {
    margin-top: 0;
}

#business .grid_c li:hover {
    /*    box-shadow:rgba(0, 0, 0, 0.5) 0px 0px 4px 0px;*/
    border-color: #9696b4;
}

#business .grid_c img {
    height: 125px;
    width: 125px;
    object-fit: cover;
}

#business .grid_cHdr {
    margin-top: 30px;
    display: inline-block;
    border-left: 4px solid #9696b4;
    padding-left: 9px;
    font-size: 16px;
}

#business .flexLayout {
    display: flex;
    justify-content: space-between;
}

#business .flexLayout img {
    margin: 0 0 0 20px;
    width: 300px;
    max-height: 225px;
}

#business .flexLayout .caption {
    font-size: 12px;
    display: block;
    margin-top: 10px;
}

#business .flexLayout .caption:before {
    content: "";
    border: 6px solid transparent;
    border-bottom: 8px solid #969696;
    position: relative;
    top: -12px;
    margin-right: 5px;
}

#business .flexLayout.column {
    flex-direction: column;
}

#business .flexLayout.column img {
    margin: 0;
    width: 300px;
}

#business .flexLayout.column .image {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px 50px;
}

#business .bizHeader_small {
    display: block;
    font-size: 22px;
    padding: 20px 25px 15px 25px;
    background: #dce6f0;
    margin: 70px 0 30px 0;
    width: 100%;
}

#business .busho {
    display: flex;
    align-items: start;
    -ms-flex-align: start;
    width: calc(50% - 10px);
}

#business .bushoTitle {
    background: #fff;
    width: 200px;
    border: 1px solid #c8c8c8;
    position: relative;
    padding: 10px 0;
    text-align: center;
}

#business .bushoTitle:after {
    content: "";
    position: absolute;
    right: -20px;
    top: 50%;
    border-top: 1px solid #c8c8c8;
    width: 20px;
    height: 1px;
}

#business .bushoName {
    position: relative;
    margin-top: 20px;
    padding-left: 10px;
}

#business .bushoName:before {
    content: "";
    position: absolute;
    left: -20px;
    top: 50%;
    border-top: 1px solid #c8c8c8;
    width: 20px;
    height: 1px;
}

#business .bushoName:first-child {
    margin: 0;
}

#business .bushoContent {
    margin: 11px 0 0 40px;
    position: relative;
}

#business .bushoContent:before {
    content: "";
    position: absolute;
    left: -21px;
    top: 8px;
    border-left: 1px solid #c8c8c8;
    width: 10px;
    height: calc(100% - 15px);
}

#business .flexLayout_busho {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 20px;
    margin-top: 20px;
}


/*-----お知らせ-----*/
#information .main h3 {
    margin: -0.25em 0em;
    padding-bottom: 0px;
    line-height: 1.5em;
    font-size: 18px;
}

#information .main p {
    display: block;
    margin-top: 10px;
}

#information .main img {
    width: 150px;
    height: 113px;
    object-fit: cover;
    float: left;
    margin-right: 20px;
    border: 1px solid #dcdcdc;
}

#information .main ul {
    display: flex;
    flex-wrap: wrap;
}

#information .main li {
    margin-top: 20px;
    padding: 20px;
    border-radius: 3px;
    background: #fafafa;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 4px 0px;
    display: block;
    width: 100%;
}

#information .main li:first-child {
    margin: 0;
}

#information .main li>a {
    float: left;
    margin: 0px 20px 20px 0px;
    padding: 20px;
    width: 150px;
    color: #ffffff;
    text-align: center;
    font-weight: bold;
    line-height: 1.5em;
}

#information .main li>a:nth-child(2n) {
    margin-right: 0px;
}

#information .main li>a:nth-last-child(-n+2) {
    margin-bottom: 0px;
}

#information .main li>a:nth-of-type(-n+2) {
    margin-top: 40px;
}

#information .main li>a:before {
    display: block;
    margin-top: -0.25em;
    content: "";
}

#information .main li>a:after {
    display: block;
    margin-bottom: -0.25em;
    content: "";
}

#information .main li span {
    display: block;
    color: #969696;
    margin-top: 10px;
    font-size: 13px;
}

#information .main li .boxContent {
    margin-top: 15px;
}

#information .main li .boxContent .box {
    float: left;
    color: #9696b4;
    background: none;
    border: 1px solid #9696b4;
    padding: 10px 15px;
    margin-left: 10px;
    font-size: 12px;
}

#information .main li .boxContent .box:hover {
    color: #fff;
}

#information .main li .boxContent .box:first-child {
    margin: 0;
}

#information .newsListContent {
    float: left;
    width: 740px;
}

#information p a {
    color: #4b4b91;
    text-decoration: underline;
}

#information p a:hover {
    text-decoration: none;
}



/*-----その他-----*/

/*customKcs20211105start*/
.main.resize_target#wrappersizing01 {
    padding-bottom: 80px !important;
}

/*customKcs20211105end*/


#others.othersTop .main {
    padding-bottom: 0;
}

#others .access .grid_a {
    overflow: hidden;
    padding-left: 40px;
}

#others .access .grid_a>h3 {
    padding: 40px 0px 10px 0px;
}

#others .access .grid_a>h3:first-of-type {
    padding-top: 40px;
}

#others .accessTime {
    padding: 40px;
    border-radius: 4px;
    background: linear-gradient(-45deg, #141414 25%, #282828 25%, #282828 50%, #141414 50%, #141414 75%, #282828 75%, #282828);
    background-size: 6px 6px;
    color: #ffffff;
    text-align: center;
    clear: both;
    max-width: 505px;
}

#others .accessTime h3 {
    padding: 0px;
    color: #ffffff;
}

#others .accessTime p {
    padding-top: 20px;
    font-size: 0.71em;
}

#others .accessTime time {
    display: inline-block;
    padding-top: 20px;
    font-weight: bold;
    font-size: 1.28em;
}

#others .contact>p {
    display: block;
    float: right;
    padding: 80px 120px 0px 0px;
    width: 440px;
    font-size: 0.85em;
}

#others .contact .grid_a {
    float: left;
}

#others .contact .grid_a ul {
    padding-bottom: 2px;
    cursor: pointer;
}

#others .contact .grid_a ul:first-child {
    padding-top: 0px !important;
}

#others .contact .grid_a ul:last-child {
    padding-bottom: 0px !important;
}

#others .contact .grid_a .address,
#others .contact .grid_a .mail,
#others .contact .grid_a .tel,
#others .contact .grid_a .fax {
    display: none;
    margin: -0.2em 0em;
    font-size: 0.85em;
    line-height: 1.4em;
    padding-left: 20px;
}

#others .contact .grid_a .on .tel,
#others .contact .grid_a .on .fax {
    display: none !important;
}

#others .contact .grid_a .address {
    background: url(../images/icon/address.png) no-repeat left 2px center;
}

#others .contact .grid_a .detail {
    padding: 20px 0px 20px 40px;
    border-left: solid 10px #282828;
}

#others .contact .grid_a .detail:hover {
    border-left-color: #9696b4;
}

#others .contact .grid_a .mail,
#others .contact .grid_a .fax {
    margin-top: 10px;
}

#others .contact .grid_a .mail {
    background: url(../images/icon/mail.png) no-repeat left center;
}

#others .contact .grid_a .name {
    margin: -0.2em 0em;
    font-weight: bold;
    font-size: 1.28em;
    line-height: 1.4em;
}

#others .contact .grid_a .on {
    padding: 40px 0px;
}

#others .contact .grid_a .on li {
    display: block;
}

#others .contact .grid_a .on .detail {
    /*add_20211105_padding:0px 0px 0px 40px;*/
    padding: 1px 0px 0px 40px;
    border-color: #9696b4;
}

#others .contact .grid_a .on .name {
    margin: -0.2em 0em;
    padding-bottom: 20px;
    color: #9696b4;
    font-weight: bold;
    line-height: 1.4em;
}

#others .contact .grid_b {
    float: right;
    text-align: center;
}

#others .contact .grid_b>div {
    float: left;
}

#others .contact .grid_b p {
    display: table;
}

#others .contact .grid_b address {
    font-weight: bold;
    font-size: 1.42em;
}

#others .contact .grid_b address:nth-of-type(n+2) {
    display: none;
}

#others .contact .grid_b div div {
    margin: 0 auto 40px auto;
    width: 180px;
    height: 180px;
    border-radius: 90px;
    background-color: #282828;
}

#others .contact .grid_b div div img {
    padding-top: 70px;
}

#others .contact .grid_b .tel {
    margin-left: 21px;
}

#others .contact .grid_b .fax {
    padding-left: 80px;
}

#others .contact .accessTime {
    margin-top: 40px;
    min-width: 100%;
}

#others .large_text .links a {
    height: 80px;
}

#others .links ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

#others .links a {
    color: #668661;
    text-align: center;
    font-weight: bold;
    font-size: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 80px;
    border: 2px solid #668661;
    border-radius: 3px;
}

#others .links a:hover {
    background-color: #668661;
    color: #fff;
}

/*規約*/

#others .tac h3 {
    padding-bottom: 20px;
    font-size: 1.71em;
}

#others .tac p:last-child,
#others .tac ol:last-child {
    padding: 0px;
}

#others .tac p {
    padding-bottom: 80px;
}

#others .tac p.before {
    display: block;
    padding-bottom: 40px;
}

#others .tac ol,
#others .tac ul {
    display: inline-block;
    margin: -0.5em 0em;
    list-style-position: inside;
    line-height: 2em;
}

#others .tac ol {
    list-style-type: decimal;
    padding-bottom: 80px;
}

#others .tac ol ul {
    margin: 0px;
}

#others .tac ul {
    padding-left: 1.5em;
    list-style-type: disc;
}

#others .tac li {
    padding-left: 1em;
    width: 100%;
    text-indent: -1em;
}

/*その他：サイトマップ*/
#others .siteMap {
    display: flex;
    flex-wrap: wrap;
}

#others .siteMap a {
    color: #646482;
}

#others .siteMap a:hover {
    text-decoration: underline;
}

#others .siteMap li {
    list-style: disc;
    margin-left: 1.25em;
}

#others .siteMap ul {
    margin-left: 20px;
    float: left;
    width: 320px;
    padding: 20px;
    border: 1px solid #dcdcdc;
}

#others .siteMap ul:first-child {
    margin: 0;
}

#others .siteMap .siteMapHdr {
    list-style: none;
    margin: 0;
}

#others .siteMap .siteMapHdr a {}

/*その他：インラインフレーム*/

#iframe {
    margin: 0px auto;
    width: 800px;
    padding: 80px 80px 0px 80px;
}

#iframe h1 {
    float: none;
    padding-bottom: 40px;
    width: auto;
    height: auto;
    border: none;
    background: none !important;
    color: #9696b4;
    text-indent: 0px;
    font-weight: bold;
    font-size: 1.71em;
    cursor: default;
}

#iframe p {
    display: block;
    margin: -0.5em 0em;
    padding-bottom: 80px;
    line-height: 2em;
}

#iframe table {
    margin: -0.5em 0em;
    padding-bottom: 80px;
    line-height: 2em;
}

#iframe tr {
    background: url(../images/icon/line_x.gif) repeat-x bottom;
}

#iframe tr:last-child {
    background-image: none;
}

#iframe tr:last-child td {
    padding-bottom: 0px;
}

#iframe tr:first-child td {
    padding-top: 0px;
}

#iframe td {
    display: table-cell;
    padding: 20px 0px 22px 0px;
}

#iframe td:first-child {
    padding-right: 40px;
}

#iframe td:last-child {
    text-indent: -22px;
}

#iframe td:last-child:before {
    padding-left: 22px;
    background: url("../images/icon/line_y.gif") repeat-y left;
    content: "";
}

#iframe ol+p {
    margin-top: -40px;
}

#iframe ol {
    display: inline-block;
    margin: -0.5em 0em;
    padding: 0px 0px 80px 1.25em;
    list-style-position: inside;
    text-indent: -1.25em;
    line-height: 2em;
}

#iframe .detail {
    padding-bottom: 40px;
}

/*jQueryプラグイン*/

a.slidesjs-next,
a.slidesjs-previous,
a.slidesjs-play,
a.slidesjs-stop {
    display: block;
    display: none;
    float: left;
    overflow: hidden;
    margin-right: 5px;
    width: 12px;
    height: 0px;
    background-image: url(../images/btns-next-prev.png);
    background-repeat: no-repeat;
    text-indent: -9999px;
}

a.slick-slide:hover {
    opacity: 0.8;
}

.slick-dots li button:before {
    font-size: 20px;
}

.slick-dots li {
    margin: 0 3px;
}

.slick-dotted.slick-slider {
    margin-bottom: 40px;
}

.slick-dots {
    bottom: -31px;
}

.bwWrapper {
    position: relative;
    display: block;
}

.large_text {
    font-size: 114%;
}

.medium_text {
    font-size: 100%;
}

/*.slides{
    position:relative;
    left:50%;
    margin-left:-1000px;
    width:2000px;
    z-index:-1;
}

.slides img{
    z-index:-1;
}

.slides ul{
    position:absolute;
    top:511px;
    right:440px;
}

.slides ul a,
.slides .slidesjs-next,
.slides .slidesjs-play,
.slides .slidesjs-stop{
    margin-left:10px;
}

.slides ul li{
    float:left;
}

.slidesjs-slide{
    height:500px;
}

.slides .slidesjs-container{
    z-index:0;
}

.slidesjs-pagination li a{
  display:block;
  float:left;
  overflow:hidden;
  padding-top:13px;
  width:13px;
  height:0;
  background-image:url(../images/icon/pagination.png);
  background-position:0 0;
}

.slidesjs-pagination li a.active,
.slidesjs-pagination li a:hover.active{
  background-position:0px -13px;
}

.slidesjs-pagination li a:hover{
  background-position:0px -26px !important;
}*/

#scroll_top {
    height: 0px;
}

@media all and (-ms-high-contrast: none) {
    #home .homeInformation img {
        height: auto;
    }

    #business .flexLayout img {
        width: auto;
    }

    #business .grid_c img {
        width: auto;
    }

    #business .grid_b a {
        display: flex;
        justify-content: center;
    }

    #cp .outline tr {
        padding: 20px 0;
    }

    #cp .outline .top {
        padding-top: 0;
    }

    /*#others .contact .grid_b .tel{
        margin-left:55px;
    }*/
}