@charset "UTF-8";
.page-top {
  display: none !important; }

.bg {
  background: #F9F8F4;
  color: #000;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-weight: 700;
  /*400*/
  font-style: normal;
  line-height: 2; }

@media print, screen and (min-width: 860px) {
  .pc {
    display: block; } }
@media screen and (max-width: 859px) {
  .pc {
    display: none !important; } }

@media screen and (max-width: 859px) {
  .sp {
    display: block; } }
@media print, screen and (min-width: 860px) {
  .sp {
    display: none !important; } }

.x-small {
  font-size: 75%; }

.small {
  font-size: 90%; }

.youtube {
  margin-top: 0;
  position: relative;
  padding-bottom: 56.25%;
  /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden; }
  .youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.contents-box {
  background: #FBF2D0;
  border-radius: 50px;
  padding: 100px 120px; }
  @media screen and (max-width: 859px) {
    .contents-box {
      padding: 100px 15px; } }
  @media print, screen and (min-width: 860px) {
    .contents-box {
      position: relative; } }
  @media screen and (max-width: 859px) {
    .contents-box h2 {
      background: url("../img/housingsupport/bg_title_sp.png") no-repeat center center;
      padding: 2em 0;
      background-size: contain;
      text-align: center;
      font-size: 27px;
      letter-spacing: 0.2em;
      padding: 0.6em 0; } }
  @media print, screen and (min-width: 860px) {
    .contents-box h2 {
      width: 100px;
      position: absolute;
      top: 53px;
      left: -50px; } }
  .contents-box p {
    margin: 0; }
  .contents-box .text ul.list {
    margin: 0;
    padding-left: 2em; }
    .contents-box .text ul.list li {
      list-style: none;
      text-indent: -1em;
      line-height: 1.5;
      margin-bottom: 1em; }
      .contents-box .text ul.list li:before {
        content: "●";
        position: relative;
        top: 1px;
        left: -0.8em;
        line-height: 1.7; }
  .contents-box .text ol.no {
    padding-left: 1.9em; }
    .contents-box .text ol.no li {
      list-style: none;
      text-indent: -1.9em; }
      .contents-box .text ol.no li.small {
        text-indent: -1em; }

/*-----------------------------
ナビゲーション
------------------------------*/
section.nav .pc .omoiyari-nav-wrap {
  -js-display: flex;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center; }
  section.nav .pc .omoiyari-nav-wrap .omoiyari-title {
    width: 60%;
    -js-display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    align-items: center; }
    section.nav .pc .omoiyari-nav-wrap .omoiyari-title .omoiyari-title-logo {
      width: 186px; }
    section.nav .pc .omoiyari-nav-wrap .omoiyari-title .omoiyari-title-text {
      width: calc(100% - 186px);
      padding-left: 10px;
      font-size: 15px; }
  section.nav .pc .omoiyari-nav-wrap .omoiyari-nav {
    width: 40%; }
    section.nav .pc .omoiyari-nav-wrap .omoiyari-nav ul {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-end;
      padding: 0; }
      section.nav .pc .omoiyari-nav-wrap .omoiyari-nav ul li {
        padding: 0 18px;
        list-style: none;
        font-size: 17px; }
        section.nav .pc .omoiyari-nav-wrap .omoiyari-nav ul li a {
          color: #000;
          position: relative; }
          section.nav .pc .omoiyari-nav-wrap .omoiyari-nav ul li a:after {
            content: "";
            display: block;
            width: 100%;
            height: 3px;
            border-radius: 1.5px;
            position: absolute;
            bottom: -1em;
            left: 0; }
          section.nav .pc .omoiyari-nav-wrap .omoiyari-nav ul li a:hover {
            text-decoration: none; }
            section.nav .pc .omoiyari-nav-wrap .omoiyari-nav ul li a:hover:after {
              background: #000; }
        section.nav .pc .omoiyari-nav-wrap .omoiyari-nav ul li.stay a:after {
          background: #000; }
section.nav .sp {
  background: #1296A0; }
  section.nav .sp .omoiyari-nav {
    padding: 20px;
    color: #fff; }
    section.nav .sp .omoiyari-nav ul {
      padding: 0;
      margin: 0; }
      section.nav .sp .omoiyari-nav ul li {
        list-style: none;
        font-size: 17px;
        margin: 1em 0; }
        section.nav .sp .omoiyari-nav ul li:before {
          content: "";
          display: inline-block;
          width: 8px;
          height: 11px;
          background: url("../img/icon_arrow_w.png") no-repeat center center;
          background-size: contain;
          margin-right: 0.8em; }
        section.nav .sp .omoiyari-nav ul li a {
          color: #fff;
          text-decoration: none; }
        section.nav .sp .omoiyari-nav ul li ul {
          padding-left: 1em;
          display: none; }
        section.nav .sp .omoiyari-nav ul li li {
          font-size: 16px;
          margin: 0; }
          section.nav .sp .omoiyari-nav ul li li a {
            text-decoration: underline; }
          section.nav .sp .omoiyari-nav ul li li:before {
            content: "・";
            background: none;
            margin-right: 0.8em; }
        section.nav .sp .omoiyari-nav ul li.stay:before {
          transform: rotate(90deg); }
        section.nav .sp .omoiyari-nav ul li.stay ul {
          display: block; }

/*-----------------------------
sec-main
------------------------------*/
.sec-main {
  overflow: hidden; }
  .sec-main .sp.omoiyari-title-wrap {
    -js-display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    align-items: center; }
    .sec-main .sp.omoiyari-title-wrap .omoiyari-title-logo {
      width: 48%; }
    .sec-main .sp.omoiyari-title-wrap .omoiyari-title-text {
      width: 52%;
      padding-left: 0.8em; }
  .sec-main .keyv-wrap {
    width: 100%;
    max-width: 100%; }
    @media print, screen and (min-width: 860px) {
      .sec-main .keyv-wrap {
        position: relative;
        display: grid;
        grid-template-columns: 1fr 4fr;
        grid-column-gap: 30px;
        grid-template-areas: "area1 area2" "area1 area3"; }
        .sec-main .keyv-wrap .keyv-title {
          grid-area: area1;
          display: flex;
          align-items: center;
          width: 20%; }
          .sec-main .keyv-wrap .keyv-title p {
            writing-mode: vertical-lr;
            font-size: 18px; }
          .sec-main .keyv-wrap .keyv-title .pc {
            font-size: 35px;
            writing-mode: vertical-lr; }
          .sec-main .keyv-wrap .keyv-title h2 {
            margin: 0;
            white-space: nowrap; }
        .sec-main .keyv-wrap .keyv-img {
          grid-area: area2;
          overflow: visible; }
          .sec-main .keyv-wrap .keyv-img img {
            width: 1200px;
            max-width: 1200px; }
        .sec-main .keyv-wrap .keyv-text {
          grid-area: area3;
          width: 70%;
          padding-left: 70px; }
        .sec-main .keyv-wrap .soudan-btn {
          position: absolute;
          bottom: 80px;
          right: -115px;
          width: 166px;
          height: 165px; }
          .sec-main .keyv-wrap .soudan-btn .sp-btn {
            display: none; }
          .sec-main .keyv-wrap .soudan-btn.scrollin {
            position: fixed;
            bottom: 80px;
            right: 80px;
            z-index: 10; } }
    @media screen and (max-width: 859px) {
      .sec-main .keyv-wrap .soudan-btn {
        width: 55%;
        margin: 1em auto; }
        .sec-main .keyv-wrap .soudan-btn .sp-btn {
          display: none; }
        .sec-main .keyv-wrap .soudan-btn.scrollin {
          position: fixed;
          width: 67px;
          height: 67px;
          bottom: 20px;
          right: 20px;
          z-index: 10; }
          .sec-main .keyv-wrap .soudan-btn.scrollin .pc-btn {
            display: none; }
          .sec-main .keyv-wrap .soudan-btn.scrollin .sp-btn {
            display: block; } }
    .sec-main .keyv-wrap .keyv-img .sp {
      margin: 0 -10px; }
    .sec-main .keyv-wrap .keyv-text .text {
      font-size: 17px; }

.omoiyari-top .sec-main {
  padding-bottom: 115px; }
.omoiyari-top .keyv-wrap {
  width: 100%;
  max-width: 100%; }
  @media print, screen and (min-width: 860px) {
    .omoiyari-top .keyv-wrap {
      margin-left: -105px;
      /*
      .soudan-btn{
      	bottom: 80px;
      }*/ }
      .omoiyari-top .keyv-wrap .keyv-title {
        width: 260px;
        position: relative;
        top: -3em; }
        .omoiyari-top .keyv-wrap .keyv-title .pc {
          width: 113px; }
      .omoiyari-top .keyv-wrap .keyv-img img {
        width: 1080px;
        max-width: 1080px; }
      .omoiyari-top .keyv-wrap .keyv-text {
        width: 100%;
        padding-left: 0; } }

/*-----------------------------
事業概要
------------------------------*/
.sec-summary {
  padding: 47px 0; }
  @media screen and (max-width: 859px) {
    .sec-summary {
      padding-top: 150px; } }
  @media screen and (max-width: 859px) {
    .sec-summary .container {
      padding: 0 !important; }
      .sec-summary .container h2 {
        margin-top: -145px; } }
  .sec-summary .contents-box-inner .box-item {
    border-bottom: 1px dotted #000;
    padding: 1em 0; }
    .sec-summary .contents-box-inner .box-item.-last {
      border-bottom: none; }
    @media print, screen and (min-width: 860px) {
      .sec-summary .contents-box-inner .box-item {
        -js-display: flex;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap; }
        .sec-summary .contents-box-inner .box-item .title {
          width: 20%;
          font-size: 18px; }
        .sec-summary .contents-box-inner .box-item .text {
          width: 80%;
          font-size: 16px; } }
  @media screen and (max-width: 859px) {
    .sec-summary .contents-box-inner {
      position: relative; }
      .sec-summary .contents-box-inner .chara {
        position: absolute;
        width: 98px;
        height: 145px;
        right: 0; } }

/*-----------------------------
全体の仕組み
------------------------------*/
.sec-system {
  padding: 47px 0; }
  @media screen and (max-width: 859px) {
    .sec-system .contents-box {
      padding: 0;
      background: none;
      margin: 0 -10px; }
      .sec-system .contents-box h2 {
        margin: 0 0 -40px;
        position: relative; } }

/*-----------------------------
Q&A
------------------------------*/
.sec-faq {
  padding: 90px 0; }
  .sec-faq h2 {
    text-align: center;
    font-size: 35px; }
  @media print, screen and (min-width: 860px) {
    .sec-faq .faq-wrap {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-left: -25px;
      margin-right: -25px; }
      .sec-faq .faq-wrap .faq-item {
        width: 50%;
        padding: 25px; }
        .sec-faq .faq-wrap .faq-item .faq-item-inner {
          height: 100%; } }
  .sec-faq .faq-wrap .faq-item-inner {
    border-radius: 20px;
    padding: 20px 24px; }
    @media screen and (max-width: 859px) {
      .sec-faq .faq-wrap .faq-item-inner {
        padding: 20px 15px; } }
    .sec-faq .faq-wrap .faq-item-inner h3 {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: center;
      justify-content: center;
      margin: 0 0 -10px;
      text-align: center; }
      .sec-faq .faq-wrap .faq-item-inner h3 .icon.w {
        width: 47px; }
      .sec-faq .faq-wrap .faq-item-inner h3 .icon.m {
        width: 53px; }
      .sec-faq .faq-wrap .faq-item-inner h3 .text {
        padding: 1em 2em;
        font-size: 23px;
        line-height: 1.5;
        letter-spacing: 0.1em; }
    .sec-faq .faq-wrap .faq-item-inner .faq-box {
      background: #fff;
      border-radius: 5px;
      padding: 15px 20px;
      margin-bottom: 10px;
      position: relative;
      z-index: 1; }
      .sec-faq .faq-wrap .faq-item-inner .faq-box p {
        padding-left: 66px; }
        @media screen and (max-width: 859px) {
          .sec-faq .faq-wrap .faq-item-inner .faq-box p {
            padding-left: 60px; } }
      .sec-faq .faq-wrap .faq-item-inner .faq-box .faq-q {
        font-size: 18px;
        position: relative;
        line-height: 1.5;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        padding-left: 0;
        /*&:before{
        	content: "Q";
        	width: 48px;
        	height: 48px;
        	border-radius: 24px;
        	font-size: 18px;
        	color: #fff;
        	display: flex;
        	justify-content: center;
        	align-items: center;
        	position: absolute;
        	top: 0;
        	left: 0;
        }*/ }
        .sec-faq .faq-wrap .faq-item-inner .faq-box .faq-q .icon {
          width: 48px;
          height: 48px;
          border-radius: 24px;
          font-size: 18px;
          color: #fff;
          display: flex;
          justify-content: center;
          align-items: center; }
          @media screen and (max-width: 859px) {
            .sec-faq .faq-wrap .faq-item-inner .faq-box .faq-q .icon {
              font-size: 14px;
              width: 38px;
              height: 38px; } }
        .sec-faq .faq-wrap .faq-item-inner .faq-box .faq-q .text {
          width: calc(100% - 60px);
          padding-left: 18px; }
      .sec-faq .faq-wrap .faq-item-inner .faq-box .faq-a {
        position: relative;
        font-size: 15px;
        line-height: 1.5; }
        .sec-faq .faq-wrap .faq-item-inner .faq-box .faq-a:before {
          content: "";
          display: block;
          width: 40px;
          height: 41px;
          background: url("../img/housingsupport/icon_a.png") no-repeat center center;
          background-size: contain;
          position: absolute;
          top: 0;
          left: 0; }
          @media screen and (max-width: 859px) {
            .sec-faq .faq-wrap .faq-item-inner .faq-box .faq-a:before {
              width: 31px;
              height: 33px; } }
    .sec-faq .faq-wrap .faq-item-inner.-red {
      background: #F9DDD2; }
      @media screen and (max-width: 859px) {
        .sec-faq .faq-wrap .faq-item-inner.-red {
          margin-bottom: 50px; } }
      .sec-faq .faq-wrap .faq-item-inner.-red h3 {
        color: #4C1700; }
      .sec-faq .faq-wrap .faq-item-inner.-red .faq-box .faq-q {
        color: #4C1700;
        /*&:before{
        	background: #4C1700;
        }*/ }
        .sec-faq .faq-wrap .faq-item-inner.-red .faq-box .faq-q .icon {
          background: #4C1700; }
    .sec-faq .faq-wrap .faq-item-inner.-blue {
      background: #C4E5F7; }
      .sec-faq .faq-wrap .faq-item-inner.-blue h3 {
        color: #003E68; }
      .sec-faq .faq-wrap .faq-item-inner.-blue .faq-box .faq-q {
        color: #003E68;
        /*&:before{
        	background: #003E68;
        }*/ }
        .sec-faq .faq-wrap .faq-item-inner.-blue .faq-box .faq-q .icon {
          background: #003E68; }

/*-----------------------------
こんなお悩みありませんか？
------------------------------*/
@media screen and (max-width: 859px) {
  .sec-soudan {
    padding-top: 200px; } }
@media screen and (max-width: 859px) {
  .sec-soudan .container {
    padding: 0; } }
.sec-soudan .contents-box {
  padding: 100px 120px 100px 170px; }
  @media screen and (max-width: 859px) {
    .sec-soudan .contents-box {
      padding: 285px 20px 40px; } }
  @media screen and (max-width: 859px) {
    .sec-soudan .contents-box h2 {
      padding: 0;
      background: none;
      margin-top: -480px; } }
  @media print, screen and (min-width: 860px) {
    .sec-soudan .contents-box h2 {
      width: 210px;
      position: absolute;
      top: 53px;
      left: -105px; } }
  .sec-soudan .contents-box ul.list li {
    font-size: 15px;
    margin-bottom: 0.2em; }
    .sec-soudan .contents-box ul.list li:before {
      left: -0.3em;
      top: -1px;
      font-size: 13px; }
@media print, screen and (min-width: 860px) {
  .sec-soudan .box-wrap {
    -js-display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -20px;
    margin-right: -20px; }
    .sec-soudan .box-wrap .box-item {
      width: 50%;
      padding: 20px; } }
@media screen and (max-width: 859px) {
  .sec-soudan .box-wrap .box-item {
    padding-bottom: 50px; } }
.sec-soudan .box-wrap .box-item .title {
  font-size: 23px;
  text-align: center;
  margin-bottom: 0.5em; }

/*-----------------------------
香川おもいやりネットワーク事業って？
------------------------------*/
.sec-about {
  padding: 124px 0; }
  @media screen and (max-width: 859px) {
    .sec-about {
      padding: 10px 0; } }
  .sec-about .about-box {
    background: url("../img/top/bg_support01.png"), url("../img/top/bg_support02.png");
    background-repeat: no-repeat,no-repeat;
    background-position: 96% 0,4% 100%;
    background-size: 415px auto,415px auto;
    padding: 78px 0 50px;
    margin-bottom: 20px; }
    @media screen and (max-width: 859px) {
      .sec-about .about-box {
        background-position: calc(100% + 100px) 0, -100px 100%;
        background-size: 309px auto,309px auto;
        padding: 182px 0 30px; } }
    @media print, screen and (min-width: 860px) {
      .sec-about .about-box .narrow-container {
        max-width: 680px; } }
    .sec-about .about-box .container {
      position: relative; }
      @media print, screen and (min-width: 860px) {
        .sec-about .about-box .container .chara {
          position: absolute;
          bottom: 0;
          right: 0;
          width: 196px; } }
      @media screen and (max-width: 859px) {
        .sec-about .about-box .container .chara {
          width: 53%;
          margin: 1em auto; } }
  .sec-about .sec-title {
    text-align: center; }
    .sec-about .sec-title .copy {
      font-size: 18px;
      line-height: 1.5; }
    .sec-about .sec-title h2 {
      font-size: 27px;
      line-height: 1.5; }
  .sec-about .sec-img {
    width: 357px;
    margin: 1em auto; }
    @media screen and (max-width: 859px) {
      .sec-about .sec-img {
        width: 71.2%; } }
  .sec-about .about-contact {
    padding: 45px 0 30px; }
    @media print, screen and (min-width: 860px) {
      .sec-about .about-contact {
        -js-display: flex;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap; }
        .sec-about .about-contact .title {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 102px; }
        .sec-about .about-contact .body {
          width: calc(100% - 102px);
          padding-left: 25px; }
          .sec-about .about-contact .body .address {
            -js-display: flex;
            display: -webkit-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            flex-wrap: wrap; }
            .sec-about .about-contact .body .address .p-code {
              width: 7em;
              line-height: 1.5;
              margin: 0.5em 0; }
            .sec-about .about-contact .body .address .p-address {
              width: calc(100% - 7em);
              padding-left: 1em;
              line-height: 1.5;
              margin: 0.5em 0; } }
    @media screen and (max-width: 859px) {
      .sec-about .about-contact .title {
        display: inline-block;
        padding: 0 2em; }
        .sec-about .about-contact .title p {
          margin: 0; } }
    .sec-about .about-contact .title {
      font-size: 16px;
      text-align: center;
      color: #fff;
      letter-spacing: 0.1em;
      background: #AA2207; }
    .sec-about .about-contact .body .name {
      font-size: 18px;
      margin: 0;
      line-height: 1.5; }
      @media screen and (max-width: 859px) {
        .sec-about .about-contact .body .name {
          margin: 1em 0 0.8em; } }
    .sec-about .about-contact .body .tel {
      color: #AA2207;
      line-height: 1.5;
      margin: 0; }
      @media screen and (max-width: 859px) {
        .sec-about .about-contact .body .tel {
          margin-top: 1em; } }
    @media screen and (max-width: 859px) {
      .sec-about .about-contact .body .address p {
        margin: 0;
        line-height: 1.5; } }
  @media print, screen and (min-width: 860px) {
    .sec-about .about-flow {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-left: -16px;
      margin-right: -16px; }
      .sec-about .about-flow .flow-item {
        width: calc(100% / 3);
        padding: 16px; }
        .sec-about .about-flow .flow-item dl {
          margin: 0;
          padding: 0; }
          .sec-about .about-flow .flow-item dl dd {
            margin: 0.5em 0 0;
            line-height: 1.5; } }
  @media screen and (max-width: 859px) {
    .sec-about .about-flow .flow-item dl {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; }
      .sec-about .about-flow .flow-item dl dt {
        width: 108px; }
      .sec-about .about-flow .flow-item dl dd {
        width: calc(100% - 108px);
        padding-left: 18px;
        margin: 0.5em 0 0;
        line-height: 1.5; } }
  .sec-about .about-case {
    padding: 50px 60px;
    border-radius: 30px;
    background: #fff;
    margin-bottom: 85px; }
    @media screen and (max-width: 859px) {
      .sec-about .about-case {
        margin: 100px -10px;
        padding: 75px 20px; } }
    .sec-about .about-case .case-item {
      line-height: 1.5; }
      .sec-about .about-case .case-item .box .box-title {
        color: #fff;
        padding: 1em;
        border-radius: 2px;
        text-align: center;
        letter-spacing: 0.8em; }
        @media print, screen and (min-width: 860px) {
          .sec-about .about-case .case-item .box .box-title {
            -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
            margin: 0 1em 0 0; } }
        .sec-about .about-case .case-item .box .box-title.kadai-title {
          background: #000; }
        .sec-about .about-case .case-item .box .box-title.shien-title {
          background: #FF6529; }
      .sec-about .about-case .case-item .box .shien-body {
        color: #FF6529; }
        .sec-about .about-case .case-item .box .shien-body .detail-title {
          margin: 0; }
      .sec-about .about-case .case-item .box.case-kadai:after {
        content: "";
        width: 8px;
        height: 14px;
        background: url("../img/icon_arrow.png") no-repeat center center;
        background-size: contain;
        display: block; }
        @media screen and (max-width: 859px) {
          .sec-about .about-case .case-item .box.case-kadai:after {
            margin: 2em auto;
            transform: rotate(90deg); } }
      .sec-about .about-case .case-item .box.case-kadai .kadai-body .kadai-item {
        -js-display: flex;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 1em; }
        .sec-about .about-case .case-item .box.case-kadai .kadai-body .kadai-item .detail-title {
          width: 6.5em;
          margin: 0; }
        .sec-about .about-case .case-item .box.case-kadai .kadai-body .kadai-item .detail-description {
          width: calc(100% - 6.5em);
          padding-left: 1em;
          margin: 0; }
        .sec-about .about-case .case-item .box.case-kadai .kadai-body .kadai-item.-last {
          margin-bottom: 0; }
      .sec-about .about-case .case-item .box.case-shien .shien-body .detail-title {
        font-size: 18px; }
      @media print, screen and (min-width: 860px) {
        .sec-about .about-case .case-item {
          -js-display: flex;
          display: -webkit-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
          margin-left: -18px;
          margin-right: -18px; }
          .sec-about .about-case .case-item .case-title {
            padding: 0 18px;
            width: 15.6%; }
          .sec-about .about-case .case-item .case-kadai {
            padding: 18px 100px 18px 18px;
            position: relative;
            width: calc(44.5% + 80px);
            display: flex; }
            .sec-about .about-case .case-item .case-kadai:after {
              position: absolute;
              top: 50%;
              right: 40px;
              transform: translateY(-50%); }
          .sec-about .about-case .case-item .case-shien {
            padding: 18px 18px 18px 0;
            width: 30%;
            display: flex; } }
      @media screen and (max-width: 859px) {
        .sec-about .about-case .case-item.-first {
          margin-bottom: 85px; } }

.sec-download {
  padding-bottom: 70px; }
  .sec-download h2 {
    font-size: 35px; }
    @media screen and (max-width: 859px) {
      .sec-download h2 {
        display: none; } }
  @media print, screen and (min-width: 860px) {
    .sec-download .download-wrap {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; }
      .sec-download .download-wrap h2 {
        writing-mode: vertical-lr;
        width: 135px;
        margin: 0; }
      .sec-download .download-wrap .download-body {
        width: calc(100% - 135px); }
        .sec-download .download-wrap .download-body .thumb-wrap {
          -js-display: flex;
          display: -webkit-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
          margin-left: -10px;
          margin-right: -10px; }
          .sec-download .download-wrap .download-body .thumb-wrap .thumb-item {
            width: 25%;
            padding: 10px; }
            .sec-download .download-wrap .download-body .thumb-wrap .thumb-item .thumb {
              margin: 1em 0 0.2em; }
            .sec-download .download-wrap .download-body .thumb-wrap .thumb-item .caption {
              display: block;
              line-height: 1.5; }
        .sec-download .download-wrap .download-body a {
          color: #000; }
        .sec-download .download-wrap .download-body .text-red {
          color: #AA2207; } }
  @media screen and (max-width: 859px) {
    .sec-download .download-wrap {
      padding-top: 320px; }
      .sec-download .download-wrap .download-body .thumb-wrap .thumb-item {
        width: 70%;
        margin: 0 auto; } }
  .sec-download .download-item {
    border-bottom: 1px solid #000;
    padding: 1.5em 0; }
    .sec-download .download-item .title {
      padding-left: 36px;
      position: relative;
      font-size: 18px;
      cursor: pointer;
      margin: 0; }
      .sec-download .download-item .title:before {
        content: "";
        height: 18px;
        width: 18px;
        background: url("../img/top/icon_plus.png") no-repeat center center;
        background-size: contain;
        display: block;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%); }
      .sec-download .download-item .title.active {
        margin: 0; }
        .sec-download .download-item .title.active:before {
          background: url("../img/top/icon_minus.png") no-repeat center center;
          background-size: contain; }
    .sec-download .download-item .summary {
      padding-left: 36px; }
      .sec-download .download-item .summary .text {
        margin: 0 0 1em; }
      .sec-download .download-item .summary .file-list {
        background: #fff;
        border-radius: 2px;
        padding: 5px 2em; }
        .sec-download .download-item .summary .file-list li {
          list-style: none;
          padding: 5px 0; }
        .sec-download .download-item .summary .file-list a {
          display: flex;
          align-items: center;
          justify-content: space-between;
          color: #000;
          text-decoration: none; }
          .sec-download .download-item .summary .file-list a span {
            display: block;
            text-align: left;
            width: 95%;
            padding: 0 1.5em;
            line-height: 1.5; }
          .sec-download .download-item .summary .file-list a:before {
            content: "";
            width: 28px;
            height: 30px;
            display: block;
            background: url("../img/top/icon_pdf.png") no-repeat center center;
            background-size: contain; }
          .sec-download .download-item .summary .file-list a:after {
            content: "";
            width: 10px;
            height: 13px;
            display: block;
            background: url("../img/top/icon_download.png") no-repeat center center;
            background-size: contain; }
          .sec-download .download-item .summary .file-list a.doc:before {
            background: url("../img/top/icon_doc.png") no-repeat center center;
            background-size: contain; }
          .sec-download .download-item .summary .file-list a.xls:before {
            background: url("../img/top/icon_xls.png") no-repeat center center;
            background-size: contain; }
    @media print, screen and (min-width: 860px) {
      .sec-download .download-item .download-item-summary-wrap {
        -js-display: flex;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: -1em;
        margin-right: -1em; }
        .sec-download .download-item .download-item-summary-wrap .thumb {
          width: 40%;
          padding: 0 1em; }
        .sec-download .download-item .download-item-summary-wrap .text {
          width: 60%;
          padding: 0 1em; } }
    .sec-download .download-item.-first {
      border-top: 1px solid #000; }

/*-----------------------------
バナー
------------------------------*/
.sec-banner {
  padding: 45px 0 100px; }
  .sec-banner .banner-wrap .banner-item a {
    display: block;
    border-radius: 20px;
    border: 1.5px solid #000;
    padding: 1.5em;
    color: #000;
    text-decoration: none;
    text-align: center; }
    .sec-banner .banner-wrap .banner-item a span {
      position: relative; }
      .sec-banner .banner-wrap .banner-item a span:after {
        content: "";
        display: inline-block;
        position: absolute;
        right: -30px;
        top: 50%;
        transform: translateY(-50%);
        width: 12px;
        height: 15px;
        background: url("../img/icon_back.png") no-repeat center center;
        background-size: contain; }
  @media screen and (max-width: 859px) {
    .sec-banner .banner-wrap .banner-item.-back a {
      padding: 1em; }
      .sec-banner .banner-wrap .banner-item.-back a span:after {
        position: relative;
        top: 8px;
        right: -20px; } }
  .sec-banner .banner-wrap .banner-item.-anniversary a span:after {
    width: 28px;
    height: 28px;
    position: absolute;
    right: -50px;
    top: 50%;
    transform: translateY(-50%);
    background: url("../img/icon_10.png") no-repeat center center;
    background-size: contain; }
  .sec-banner .banner-wrap .banner-item.-support a span:after {
    width: 27px;
    height: 30px;
    position: absolute;
    right: -50px;
    top: 50%;
    transform: translateY(-50%);
    background: url("../img/icon_house.png") no-repeat center center;
    background-size: contain; }
  @media print, screen and (min-width: 860px) {
    .sec-banner .banner-wrap {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-justify-content: center;
      justify-content: center;
      margin-left: -14px;
      margin-right: -14px; }
      .sec-banner .banner-wrap .banner-item {
        width: 50%;
        padding: 14px;
        font-size: 17px; } }
  @media screen and (max-width: 859px) {
    .sec-banner .banner-wrap {
      padding: 10px; }
      .sec-banner .banner-wrap .banner-item {
        font-size: 18px;
        line-height: 1.2; } }
