@charset "UTF-8";
@media screen and (min-width: 768px), print {
  /* PCのCSS */
  .sp {
    display: none;
  }
  .seo_bread_list a,
  .seo_bread_list {
    color: #fff !important;
    font-size: 14px;
  }
.contentsmain-img{ }
.contentsmain-img img{width: 100%; height: auto;}

  #contentsmain {
    margin-top: -74px;
    letter-spacing: 0;
    font-weight: 400;
  }
  .contentsmain-underblock {
    text-align: center;
    margin-top: 20px;
    padding-bottom: 120px;
    margin-left: auto;
    margin-right: auto;
    width: 1100px;
    position: relative;
  }
  .contentsmain-underblock-img {
    margin-bottom: 30px;
  }
  .contentsmain-underblock-bg-l {
    left: 0;
    bottom: 0;
    position: absolute;
  }
  .contentsmain-underblock-bg-r {
    right: 0;
    bottom: 0;
    position: absolute;
  }
  #contents01 {
    background: url("../images/workstyle/contents01-bg.png") repeat-y top center;
    padding: 70px 0 150px;
    text-align: center;
  }
  #contents01 .inner-Box01 h2,
  #contents01 .inner-Box02 h2,
  #contents01 .inner-Box03 h2 {
    font-size: 73px;
    font-weight: 900;
  }
  #contents01 .inner-Box01,
  #contents01 .inner-Box02,
  #contents01 .inner-Box03 {
    margin-bottom: 100px;
  }
  .contents01-enttl {
    font-size: 19px;
    color: #0a3a72;
    margin-bottom: 40px;
  }
  .contents01-w-block {
    background-color: #fff;
    padding: 50px 50px 70px;
    width: 1200px;
    font-weight: 400;
    margin: 0 auto;
  }
  .contents-listbox {
    display: flex;
    flex-wrap: wrap;
    margin: 0 70px;
  }
  .contents-listbox li {
    width: 50%;
    text-align: left;
    padding: 40px;
    background-image: linear-gradient(to right, #000 1px, transparent 1px);
    background-size: 4px 2px;
    background-position: left bottom;
    background-repeat: repeat-x, repeat-y;
  }
  .contents-listbox li:nth-child(odd) {
    background-image: linear-gradient(to right, #000 1px, transparent 1px),
      linear-gradient(to bottom, #000 1px, transparent 1px);
    background-size: 4px 2px, 2px 4px;
    background-position: left bottom, right bottom; /* ← 修正点 */
    background-repeat: repeat-x, repeat-y;
    padding-left: 0;
  }

  .contents-listbox li.nodotted {
    background-image: linear-gradient(to bottom, #000 1px, transparent 1px);
    background-size: 2px 4px;
    background-position: right bottom;
    background-repeat: repeat-y;
  }
  .contents-listbox li.nodotted02 {
    background: none;
  }

  .contents-listbox-ttl {
    font-size: 24px;
    color: #0a3a72;
    font-weight: 900;
    margin-bottom: 13px;
    letter-spacing: 0;
  }
  .o-icon {
    background: url("../images/workstyle/icon-square.png") no-repeat center left;
    background-size: 20px 20px;
    padding-left: 30px;
  }
  .inner-Box03 .contents01-w-block {
    display: flex;
    align-items: center;
  }
  .inner-Box03-righttextarea {
    text-align: left;
    margin-left: 70px;
  }
  .inner-Box03-righttextarea .contents-listbox-ttl {
    margin-top: 30px;
  }
  .inner-Box03-righttextarea .contents-listbox-ttl:first-child {
    margin-top: 0;
  }
  #contents02 {
    letter-spacing: 0;
    font-weight: 400;
    line-height: 1.75;
  }
  #contents02 .inner-Box {
    width: 1100px;
    margin: -100px auto 0;
    text-align: center;
  }
  .contents02-photo {
    margin-bottom: 40px;
    box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.1);
  }
  .contents02-ttl {
    margin-bottom: 40px;
  }
  .inner-Box03-righttextarea div {
    margin-bottom: 20px;
  }
  .inner-Box03-righttextarea div:last-child {
    margin-bottom: 0;
  }

  #contentsbottom .inner-Box2 {
    margin: 0 auto;
    position: relative;
    width: 1100px;
  }
  #contentsbottom .inner-Box2 ul {
    display: -webkit-box;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #contentsbottom .inner-Box2 ul li {
    position: relative;
    width: 340px;
    margin-right: 40px;
  }
  #contentsbottom .inner-Box2 ul li:nth-child(3n) {
    margin-right: 0px;
  }
  #contentsbottom .inner-Box2 ul li a {
  }
  #contentsbottom .inner-Box2 ul li a:hover {
  }
  #contentsbottom .inner-Box2 figure {
    position: relative;
    top: 0;
    left: 0;
    margin: 0 0 15px;
  }
  #contentsbottom .inner-Box2 figure img {
  }
  #contentsbottom .inner-Box2 p.ltext {
    font-size: 16px;
    line-height: 1.75;
    font-weight: 400;
    letter-spacing: 0px;
    margin-bottom: 30px;
    position: relative;
  }
  #contentsbottom {
    padding: 110px 0 60px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1450px) {
  /* ブレイクポイント　必要であれば */
}

@media screen and (max-width: 767px) {
  /* SPのCSS */

  .main-title {
    margin-bottom: 0;
  }
  .contentsmain-img {
    margin-bottom: 4.83vw;
  }
  .contentsmain-underblock {
    padding: 0 4.11vw 48.31vw;
    text-align: center;
    position: relative;
    font-size: 3.86vw;
  }
  .contentsmain-underblock-img {
    width: 82.13vw;
    margin: 0 auto 7.25vw;
  }
  .contentsmain-underblock-bg-l {
    width: 36.96vw;
    bottom: 0;
    left: 9.66vw;
    position: absolute;
  }
  .contentsmain-underblock-bg-r {
    width: 33.82vw;
    bottom: 0;
    right: 9.66vw;
    position: absolute;
  }

  #contents01 {
    background: url("../images/workstyle/contents01-bg.png") repeat-y top center;
    padding: 9.66vw 0 26.57vw;
    text-align: center;
  }
  #contents01 .inner-Box01 h2,
  #contents01 .inner-Box02 h2,
  #contents01 .inner-Box03 h2 {
    font-size: 9.66vw;
    font-weight: 900;
    line-height: 1.27;
  }
  #contents01 .inner-Box01,
  #contents01 .inner-Box02 {
    margin-bottom: 9.66vw;
  }
  .contents01-enttl {
    font-size: 3.38vw;
    color: #0a3a72;
    margin-top: 1.21vw;
    margin-bottom: 5.8vw;
  }
  .contents01-w-block {
    background-color: #fff;
    padding: 4.11vw 4.11vw 4.83vw;
    margin: 0 4.11vw;
    font-size: 3.86vw;
  }
  .contents-listbox p {
    text-align: left;
    font-size: 3.86vw;
  }
  p.contents-listbox-ttl {
    font-size: 5.80vw;
    color: #0a3a72;
    font-weight: 900;
    margin-bottom: 13px;
    letter-spacing: 0;
    text-align: left;
    line-height: 1.5;
  }
  .o-icon {
    background: url("../images/workstyle/icon-square.png") no-repeat center left;
    background-size: 20px 20px;
    padding-left: 30px;
  }
  .inner-Box03-righttextarea {
    text-align: left;
  }
  .inner-Box03-righttextarea div {
    background-image: linear-gradient(to right, #000 1px, transparent 1px);
    background-size: 4px 2px;
    background-position: left bottom;
    background-repeat: repeat-x;
    padding: 4.83vw 4.11vw;
  }
  .inner-Box03-righttextarea div:last-child {
    background: none;
  }
  .contents-listbox li {
    text-align: left;
    padding: 4.83vw 2.42vw;
    background-image: linear-gradient(to right, #000 1px, transparent 1px);
    background-size: 4px 2px;
    background-position: left bottom;
    background-repeat: repeat-x, repeat-y;
  }
  .contents-listbox li:last-child {
    background: none;
  }
  #contents02 {
    text-align: center;
    font-size: 3.86vw;
  }
  .contents02-photo {
    margin: 0 8.21vw;
    margin-top: -12.08vw;
    margin-bottom: 7.25vw;
    box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.1);
  }
  .contents02-ttl {
    width: 78.99vw;
    margin: 0 auto 9.66vw;
  }
  .contents02-text {
    margin: 0 3.86vw;
    line-height: 1.75;
    letter-spacing: 0;
  }

  #contentsbottom .inner-Box2 {
    margin: 0 9vw;
    position: relative;
  }
  #contentsbottom .inner-Box2 ul {
    display: -webkit-box;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #contentsbottom .inner-Box2 ul li {
    position: relative;
    margin-bottom: 0.66vw;
  }
  #contentsbottom .inner-Box2 ul li:nth-child(3n) {
    margin-right: 0vw;
  }
  #contentsbottom .inner-Box2 ul li a {
  }
  #contentsbottom .inner-Box2 ul li a:hover {
  }
  #contentsbottom .inner-Box2 figure {
    position: relative;
    top: 0;
    left: 0;
    margin: 0 0 3.62vw;
  }
  #contentsbottom .inner-Box2 figure img {
  }
  #contentsbottom .inner-Box2 p.ltext {
    font-size: 3.86vw;
    line-height: 1.75;
    font-weight: 400;
    letter-spacing: 0vw;
    margin-bottom: 7.25vw;
    position: relative;
  }
  #contentsbottom {
    padding-top: 14.49vw;
  }
}
