@charset "UTF-8";
/* CSS Document */
/*===================================================
	画面用CSS（PC/SMP）
===================================================*/
/*////////////////////////////////////////////////////////////
	TOP
///////////////////////////////////////////////////////////*/
@media (max-width: 1024px) {
  .topMain .topKvPanel {
    padding: 0 30px;
  }
  .topMain .topKvPanel .topKv {
    height: calc(100vh - 150px);
  }
  .topMain .topKvPanel .kvTitleBox {
    position: absolute;
    left: 15px;
    bottom: 80px;
    width: 90%;
    max-width: 380px;
    padding: 0 10px;
  }
  .topMain .topKvPanel .kvTitleBox .kvTitle01 {
    padding: 0 10px 15px;
    background: url(https://shin-osaka.co.jp/system_panel/uploads/images/top_kv_ttl_line.png) center bottom no-repeat;
    background-size: 100% auto;
  }
  .topMain .topKvPanel .kvTitleBox .kvTitle02 {
    padding: 5px 10px 0;
  }
  .topMain .topKvPanel .scrollBox {
    left: 10px;
  }
  .topMain .topMainContainer {
    padding: 0 13px 50px;
  }
  .topMain .sec01 {
    padding: 50px 0;
  }
  .topMain .sec01 .secBox .leftBox {
    padding: 20px 0;
  }
  .topMain .sec01 .secBox .leftBox .ttl01 {
    font-size: 18px;
    letter-spacing: 0.1em;
  }
  .topMain .sec01 .secBox .leftBox .ttl02 {
    font-size: 12px;
  }
  .topMain .sec01 .secBox .rightBox .btnMore {
    margin: 20px auto 0;
  }
  .topMain .sec01 .img {
    max-width: 220px;
    margin: 50px auto 0;
  }
  .topMain .sec02 {
    padding: 50px 0;
  }
  .topMain .sec02 .listBox .ul .li + .li {
    margin: 30px 0 0;
  }
  .topMain .sec02 .listBox .ul .dl {
    margin: 10px 0 0;
  }
  .topMain .sec02 .listBox .ul .dl .dt {
    margin: 0 0 10px;
    font-size: 18px;
    letter-spacing: 0.1rem;
  }
  .topMain .sec02 .btnMore {
    margin: 40px auto 0;
  }
  .topMain .sec03 {
    padding: 50px 0;
  }
  .topMain .sec03 .secBox .txtBox {
    padding: 20px 0 0;
  }
  .topMain .sec03 .secBox .txtBox .txt {
    margin: 0 0 20px;
  }
  .topMain .sec03 .secBox .txtBox .btnMore {
    margin: 0 auto;
  }
  .topMain .sec03 .img {
    width: 180px;
    margin: 40px auto 0;
  }
  .topMain .sec04 {
    padding: 50px 0;
  }
  .topMain .sec04 .titleBox {
    margin: 30px 0 40px;
  }
  .topMain .sec04 .titleBox .title {
    max-width: 280px;
    margin: 0 auto 30px;
  }
  .topMain .sec04 .titleBox .line {
    max-width: 500px;
    margin: 0 auto 30px;
  }
  .topMain .sec04 .listBox .ul .li + .li {
    margin: 20px 0 0;
  }
  .topMain .sec04 .listBox .ul .ttl .span {
    font-size: 14px;
  }
  .topMain .sec04 .listBox .ul .ttl .em {
    font-size: 20px;
    letter-spacing: 0.1em;
  }
  .topMain .sec04 .img {
    max-width: 240px;
    margin: 40px auto 0;
  }
  .topMain .sec05 {
    padding: 50px 0;
  }
  .topMain .sec05 .newsPanel {
    margin: 30px 0 0;
  }
  .topMain .sec05 .webgene-blog .webgene-header {
    display: none;
  }
  .topMain .sec05 .webgene-blog .webgene-item + .webgene-item {
    margin: 40px 0 0;
  }
  .topMain .sec05 .btnMore {
    margin: 40px auto 0;
  }
  .topMain .sec05 .img {
    width: 240px;
    margin: 40px auto 0;
  }
}
/*////////////////////////////////////////////////////////////
	ページ共通
///////////////////////////////////////////////////////////*/
@media (max-width: 1024px) {
  .pageMainContainer {
    padding: 0 20px 60px;
  }

  .pageSec01 {
    margin: 0 0 60px;
    padding: 50px 0;
  }
  .pageSec01 .secBox .leftBox {
    padding: 0 0 20px;
  }
  .pageSec01 .secBox .leftBox .ttl01 {
    font-size: 18px;
    letter-spacing: 0.1em;
  }
  .pageSec01 .secBox .leftBox .ttl02 {
    font-size: 12px;
  }
  .pageSec01 .visionImg {
    max-width: 220px;
    margin: 50px auto 0;
  }
  .pageSec01 .serviceImg {
    max-width: 180px;
    margin: 50px auto 0;
  }
  .pageSec01 .worksImg {
    max-width: 240px;
    margin: 50px auto 0;
  }
  .pageSec01 .styleImg {
    max-width: 240px;
    margin: 50px auto 0;
  }
}
/*////////////////////////////////////////////////////////////
	vision
///////////////////////////////////////////////////////////*/
@media (max-width: 1024px) {
  .visionMain .sec02 .secContainer01 {
    margin: 0 0 50px;
  }
  .visionMain .sec02 .secContainer01 .pageTitleBox {
    margin: 0 0 30px;
  }
  .visionMain .sec02 .secContainer01 .secBox {
    margin: 0 0 40px;
  }
  .visionMain .sec02 .secContainer01 .secBox .imgBox {
    max-width: 240px;
    margin: 0 auto;
  }
  .visionMain .sec02 .secContainer01 .secBox .txtBox {
    padding: 20px 0;
  }
  .visionMain .sec02 .secContainer01 .secBox .txtBox .ttl {
    margin: 0 0 15px;
    font-size: 20px;
  }
  .visionMain .sec02 .secContainer02 {
    margin: 0 0 40px;
    padding: 50px 0;
  }
  .visionMain .sec02 .secContainer02 .cntTtl {
    top: -15px;
    font-size: 20px;
  }
  .visionMain .sec02 .secContainer02 .secBox + .secBox {
    margin: 40px 0 0;
  }
  .visionMain .sec02 .secContainer02 .secBox .txtBox {
    padding: 20px 0 0;
  }
  .visionMain .sec02 .secContainer02 .secBox .txtBox .ttlBox {
    display: block;
    margin: 0 0 15px;
  }
  .visionMain .sec02 .secContainer02 .secBox .txtBox .ttlBox .ttl {
    margin: 10px 0 0;
    font-size: 20px;
  }
  .visionMain .sec02 .secContainer02 .secBox .txtBox .ttlBox .num {
    font-size: 40px;
  }
  .visionMain .sec02 .secContainer03 {
    padding: 40px 0 60px;
  }
  .visionMain .sec02 .secContainer03 .ttl {
    margin: 0 0 15px;
    font-size: 20px;
  }
  .visionMain .sec02 .secContainer03 .secBox .imgBox {
    max-width: 450px;
    margin: 0 auto 20px;
  }
  .visionMain .sec02 .arrow {
    width: 50px;
  }
  .visionMain .sec03 {
    padding: 40px 0;
  }
  .visionMain .sec03 .topTxt {
    padding: 10px 0 30px;
  }
  .visionMain .sec03 .secBox + .secBox {
    margin: 40px 0 0;
  }
  .visionMain .sec03 .secBox .txtBox {
    padding: 20px 0 0;
  }
  .visionMain .sec03 .secBox .txtBox .ttl {
    margin: 0 0 15px;
    font-size: 20px;
  }
  .visionMain .sec03 .img {
    width: 200px;
    margin: 40px auto 0;
  }
}
/*////////////////////////////////////////////////////////////
	service
///////////////////////////////////////////////////////////*/
@media (max-width: 1024px) {
  .serviceMain .sec02 {
    margin: 0 0 40px;
    padding: 40px 0;
  }
  .serviceMain .sec02 .secBoxList {
    margin: 40px 0 0;
  }
  .serviceMain .sec02 .secBox .dl .dt {
    margin: 0 0 10px;
  }
  .serviceMain .sec02 .secBox .dl .dt .num {
    font-size: 40px;
  }
  .serviceMain .sec02 .secBox .dl .dt .ttl {
    position: absolute;
    top: 0;
    left: 20px;
    bottom: 0;
    width: 100%;
    height: 25px;
    margin: auto 0;
    font-size: 20px;
  }
  .serviceMain .sec02 .img {
    width: 220px;
    margin: 40px auto 0;
  }
  .serviceMain .sec03 {
    margin: 0 0 60px;
  }
  .serviceMain .sec03 .pageTitleBox {
    margin: 0 0 40px;
  }
  .serviceMain .sec03 .secPanel + .secPanel {
    margin: 40px 0 0;
  }
  .serviceMain .sec03 .secBox .txtBox {
    padding: 20px 0 0;
  }
  .serviceMain .sec03 .secBox .txtBox .ttlBox {
    margin: 0 0 10px;
  }
  .serviceMain .sec03 .secBox .txtBox .ttlBox .num {
    margin: 0 10px 0 0;
    font-size: 24px;
  }
  .serviceMain .sec03 .secBox .txtBox .ttlBox .ttl {
    font-size: 20px;
  }
  .serviceMain .sec03 .detailBox .ttl {
    top: -15px;
    font-size: 20px;
  }
  .serviceMain .sec04 {
    padding: 50px 0;
  }
  .serviceMain .sec04 .secBox .txtBox {
    padding: 20px 0 0;
  }
  .serviceMain .sec04 .secBox .txtBox .txt {
    margin: 0 0 20px;
  }
  .serviceMain .sec04 .secBox .txtBox .btnMore {
    margin: 0 auto;
  }
  .serviceMain .sec04 .img {
    width: 180px;
    margin: 40px auto 0;
  }
}
/*////////////////////////////////////////////////////////////
	works
///////////////////////////////////////////////////////////*/
@media (max-width: 1024px) {
  .worksMain .sec02 .pageTitleBox {
    margin: 0 0 30px;
  }
  .worksMain .sec02 .mv {
    margin: 0 0 15px;
  }
  .worksMain .sec02 .secPanel {
    padding: 30px 0;
  }
  .worksMain .sec02 .secPanel .ttlBox {
    font-size: 20px;
  }
  .worksMain .sec02 .secPanel .txtBox {
    padding: 15px 0 0;
  }
  .worksMain .sec02 .secPanel .txtBox .cateBox {
    margin: 0 0 20px;
  }
  .worksMain .sec02 .secPanel .txtBox .cateBox .dl + .dl {
    margin: 15px 0 0;
  }
}
/*////////////////////////////////////////////////////////////
	recruit
///////////////////////////////////////////////////////////*/
@media (max-width: 1024px) {
  .recruitMain .sec02 {
    margin: 0 0 60px;
  }
  .recruitMain .sec02 .secPanel {
    margin: 20px 0 0;
    padding: 20px;
  }
  .recruitMain .sec02 .secPanel .secBox .txtBox {
    padding: 20px 0 0;
  }
  .recruitMain .sec02 .secPanel .secBox .txtBox .ttl {
    margin: 0 0 10px;
    font-size: 20px;
  }
  .recruitMain .sec02 .secPanel .secBox .txtBox .dl {
    margin: 10px 0 0;
  }
  .recruitMain .sec02 .secPanel .secBox .txtBox .dl .dt {
    margin: 0 0 5px;
  }
  .recruitMain .sec03 {
    margin: 0 0 60px;
  }
  .recruitMain .sec03 .listBox .ul .li + .li {
    margin: 30px 0 0;
  }
  .recruitMain .sec03 .listBox .ul .dl {
    margin: 10px 0 0;
  }
  .recruitMain .sec03 .listBox .ul .dl .dt {
    margin: 0 0 10px;
    font-size: 18px;
    letter-spacing: 0.1rem;
  }
  .recruitMain .sec03 .btnMore {
    margin: 40px auto 0;
  }
  .recruitMain .sec04 {
    margin: 0 0 60px;
    padding: 40px 0;
  }
  .recruitMain .sec04 .secBoxList {
    margin: 40px 0 0;
  }
  .recruitMain .sec04 .secBox .dl .dt {
    margin: 0 0 10px;
  }
  .recruitMain .sec04 .secBox .dl .dt .num {
    font-size: 40px;
  }
  .recruitMain .sec04 .secBox .dl .dt .ttl {
    position: absolute;
    top: 0;
    left: 20px;
    bottom: 0;
    width: 100%;
    height: 25px;
    margin: auto 0;
    font-size: 20px;
  }
  .recruitMain .sec05 {
    margin: 0 0 60px;
  }
  .recruitMain .sec05 .infoBox {
    margin: 20px 0;
  }

  .recruitMain .sec05 .infoBox .dl + .dl {
    margin: 20px 0 0;
  }

  .recruitMain .sec05 .infoBox .dl .dd {
    width: 100%;
    padding: 5px 15px;
  }

  .recruitMain .sec06 {
    padding: 40px 0;
  }
  .recruitMain .sec06 .pageTitleBox {
    margin: 0 0 20px;
  }
  .recruitMain .sec06 .topTxt {
    margin: 0 0 20px;
  }
}
/*////////////////////////////////////////////////////////////
	style
///////////////////////////////////////////////////////////*/
@media (max-width: 1024px) {
  .styleMain .sec02 {
    margin: 0 0 60px;
  }
  .styleMain .sec02 .secBox {
    margin: 20px 0 0;
  }
  .styleMain .sec02 .secBox .img {
    max-width: 340px;
    margin: 0 auto 20px;
  }
  .styleMain .sec02 .secBox .txtBox .txt p + p {
    margin: 15px 0 0;
  }
  .styleMain .sec02 .secBox .btnMore {
    margin: 20px auto 0;
  }
  .styleMain .sec03 .secBox {
    margin: 20px 0 40px;
  }
  .styleMain .sec03 .secBox .img {
    max-width: 340px;
    margin: 0 auto 20px;
  }
  .styleMain .sec03 .secBox .txtBox .txt p + p {
    margin: 15px 0 0;
  }
  .styleMain .sec03 .listBox {
    margin: 0 0 40px;
  }
  .styleMain .sec03 .listBox .ul .li + .li {
    margin: 20px 0 0;
  }
  .styleMain .sec03 .listBox .ul .li .box .span {
    font-size: 12px;
  }
  .styleMain .sec03 .listBox .ul .li .box .em {
    font-size: 20px;
  }
  .styleMain .sec03 .specialBox .dl + .dl {
    margin: 30px 0 0;
  }
  .styleMain .sec03 .specialBox .dl .dt {
    padding: 20px 10px;
  }
  .styleMain .sec03 .specialBox .dl .dt .span {
    font-size: 12px;
  }
  .styleMain .sec03 .specialBox .dl .dt .em {
    font-size: 20px;
  }
  .styleMain .sec03 .specialBox .dl .dd {
    padding: 10px;
  }
  .styleMain .slidePanel {
    margin: 0 0 60px;
  }
  .styleMain .slidePanel .slideBox .ul .li {
    width: 50%;
  }
  .styleMain .sec04 .pageTitleBox {
    margin: 0 0 40px;
  }
  .styleMain .sec04 .secPanel + .secPanel {
    margin: 40px 0 0;
  }
  .styleMain .sec04 .secBox .photo.top {
    max-width: 320px;
    margin: 0 auto;
  }
  .styleMain .sec04 .secBox .txtBox {
    padding: 20px 0 0;
  }
  .styleMain .sec04 .secBox .txtBox .ttlBox {
    margin: 0 0 10px;
  }
  .styleMain .sec04 .secBox .txtBox .ttlBox .num {
    margin: 0 10px 0 0;
    font-size: 24px;
  }
  .styleMain .sec04 .secBox .txtBox .ttlBox .ttl {
    font-size: 20px;
  }
  .styleMain .sec04 .detailBox .ttl {
    top: -15px;
    font-size: 20px;
  }
  .styleMain .sec04 .detailBox .photoList .photo {
    margin: 20px 0 0;
  }
}
/*////////////////////////////////////////////////////////////
	company
///////////////////////////////////////////////////////////*/
@media (max-width: 1024px) {
  .companyMain .sec02 {
    margin: 0 0 60px;
  }
  .companyMain .sec02 .secBox {
    padding: 30px 0 50px;
  }
  .companyMain .sec02 .secBox .txtBox {
    padding: 20px 0 0;
  }

  .companyMain .sec02 .secBox .txtBox .infoBox .dl + .dl {
    margin: 20px 0 0;
  }

  .companyMain .sec02 .secBox .txtBox .infoBox .dl .dd {
    width: 100%;
    padding: 5px 15px;
  }
  .companyMain .sec03 .historyBox {
    padding: 30px 0 50px;
  }
  .companyMain .sec03 .historyBox .dl .dt {
    width: 90px;
    padding: 10px 0 20px;
  }
  .companyMain .sec03 .historyBox .dl .dt:after {
    top: 17px;
  }
  .companyMain .sec03 .historyBox .dl .dd {
    width: calc(100% - 79px);
    padding: 10px 0px 20px 20px;
  }
  .companyMain .sec03 .historyBox .dl .dd p + p {
    margin: 20px 0 0;
  }
}
/*////////////////////////////////////////////////////////////
	contact
///////////////////////////////////////////////////////////*/
@media (max-width: 1024px) {
  .contactMain .sec01 {
    margin: 40px 0 60px;
  }
  .contactMain .sec02 .telBox {
    padding: 20px;
  }
  .contactMain .sec02 .telBox .tel a {
    font-size: 30px;
  }
}
/*////////////////////////////////////////////////////////////
	form
///////////////////////////////////////////////////////////*/
@media (max-width: 1024px) {
  .formMain .contactForm .formBox + .formBox {
    margin-top: 40px;
  }
  .formMain .contactForm .formBox h3 {
    margin-bottom: 0;
    font-size: 18px;
  }
  .formMain .contactForm .formBox > .dl {
    display: block;
    width: 100%;
    padding: 10px;
  }
  .formMain .contactForm .formBox > .dl > * {
    display: block;
  }
  .formMain .contactForm .formBox > .dl.line .dt {
    padding: 10px 0;
  }
  .formMain .contactForm .formBox > .dl > .dt {
    display: block;
    width: 100%;
    margin: 0 0 5px;
    padding: 10px 0;
  }
  .formMain .contactForm .formBox > .dl > .dt .span {
    float: none;
    width: auto;
    margin-right: 10px;
    font-size: 16px;
  }
  .formMain .contactForm .formBox > .dl > .dt .span br {
    display: none;
  }
  .formMain .contactForm .formBox > .dl > .dt .em {
    float: none;
    font-size: 12px;
    vertical-align: middle;
  }
  .formMain .contactForm .formBox > .dl > .dt .aside {
    margin-top: 5px;
  }
  .formMain .contactForm .formBox > .dl > .dt .aside p {
    font-size: 12px;
  }
  .formMain .contactForm .formBox > .dl > .dt .aside p br {
    display: none;
  }
  .formMain .contactForm .formBox > .dl > .dd {
    display: block;
    width: 100%;
  }
  .formMain .contactForm .formBox .radioList01 .list {
    display: block;
    margin: 0;
  }
  .formMain .contactForm .formBox .radioList01 .list + .list {
    margin: 20px 0 0;
  }
  .formMain .contactForm .formBox .checkList01 .ul .li {
    display: block;
  }
  .formMain .contactForm .formBox .checkList01 .ul .li + .li {
    margin: 10px 0 0;
  }
  .formMain .contactForm .formBox .checkList01 .checkItem {
    display: inline-block;
    padding: 0 5px 0 0;
  }
  .formMain .contactForm .formBox .checkList01 .checkItem + input {
    display: inline-block;
    width: 150px;
  }
  .formMain .contactForm .formBox .addressBox .dl,
.formMain .contactForm .formBox .dateBox .dl {
    display: block;
  }
  .formMain .contactForm .formBox .addressBox .dl .dt,
.formMain .contactForm .formBox .dateBox .dl .dt {
    display: block;
    width: 100%;
  }
  .formMain .contactForm .formBox .addressBox .dl .dd,
.formMain .contactForm .formBox .dateBox .dl .dd {
    display: block;
  }
  .formMain .contactForm .formBox .dateBox input[type=text] {
    width: 70px;
  }
  .formMain .contactForm .formBox .dateBox .radioList {
    display: block;
    margin: 10px 0 0;
  }
  .formMain .contactForm .formBox .selectBox {
    width: 180px;
  }
  .formMain .contactForm .formBox .privacy .agreeBox {
    height: 250px;
    padding: 20px 10px;
  }
  .formMain .contactForm .fileUploadBox {
    display: block;
  }
  .formMain .contactForm .fileUploadBox .fileBox {
    width: 100%;
  }
  .formMain .contactForm .fileUploadBox .fileArea {
    display: block;
  }
  .formMain .contactForm .fileUploadBox .fileArea .inputFile {
    width: 200px;
  }
  .formMain .contactForm .fileUploadBox .fileArea > p,
.formMain .contactForm .fileUploadBox .fileArea .fileTxt {
    width: 100%;
    margin: 10px 0 0;
  }
  .formMain .contactForm .fileUploadTitleBox {
    margin: 40px 0 20px;
  }
  .formMain .contactForm .fileUploadTitleBox .fileUploadTitle p {
    padding: 0 15px 0 0;
    font-size: 20px;
  }
}
/*////////////////////////////////////////////////////////////
	news
///////////////////////////////////////////////////////////*/
@media (max-width: 1024px) {
  .newsMain .catePanel {
    max-width: 260px;
    margin: 0 auto 40px;
  }
  .newsMain .catePanel .webgene-item {
    margin: 10px 0 0;
  }
  .newsMain .blogPanel--list .webgene-blog .webgene-item + .webgene-item {
    margin: 60px 0 0;
  }
  .newsMain .blogPanel--list .webgene-pagination {
    margin: 60px auto 0;
  }
  .newsMain .blogPanel--detail {
    padding: 30px 20px 60px;
  }
  .newsMain .blogPanel--detail .webgene-blog .ttlBox {
    font-size: 20px;
  }
  .newsMain .blogPanel--detail .webgene-blog .slickSlide {
    margin: 0 0 40px;
  }
  .newsMain .blogPanel--detail .webgene-blog .slickSlide .slider .li > div {
    padding: 0 0 70%;
  }
  .newsMain .blogPanel--detail .webgene-blog .thumb-item.slider .li > div {
    overflow: hidden;
    position: relative;
    padding: 0 0 100%;
  }
  .newsMain .blogPanel--detail .webgene-blog .thumb-item.slider .li img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .newsMain .blogPanel--detail .webgene-blog .slick-prev {
    left: -25px;
  }
  .newsMain .blogPanel--detail .webgene-blog .slick-next {
    right: -25px;
  }
  .newsMain .blogPanel--detail .btnBackBox {
    margin: 50px 0 0;
  }
  .newsMain .blogPanel--detail .btnBack {
    width: 180px;
  }
}

@media (min-width: 700px) {
.p1721527835955 br:nth-child(2), .brdisplaynone br, .p1721528207351 br:nth-child(2),.p1721528018879 br:nth-child(2){
  display:none;
}
}

@media (max-width: 700px) {
.blogSection .secWrap01{
  padding:0;
}
 .blogSection .secWrap{
    padding:0;
}

}
@media (max-width: 1020px) {
  .recruitMain .sec05 .listBox .ul .li + .li {
    margin: 30px 0 0;
  }
}
@media (max-width: 700px) {
    .companyMain .sec02 .secBox .txtBox .infoBox .dl {
    display: block;
  }
    .companyMain .sec02 .secBox .txtBox .infoBox .dl .dt {
    width: 100%;
    padding: 5px 15px;
  }
    .recruitMain .sec05 .infoBox .dl .dt {
    width: 100%;
    padding: 5px 15px;
  }
    .recruitMain .sec05 .infoBox .dl {
    display: block;
  }
 
}

@media (max-width: 700px) {
.companyMain .sec03 .secWrap01{
     0 0 0 20px;
}
}
