@charset "UTF-8";
/* ----------------------------------------------------------------------

	Compiled from _scss/top.scss

---------------------------------------------------------------------- */
.mod-text_ttl02 {
  padding-left: 35px;
  background-image: url(/img/common/icon_h2_l.svg);
  background-size: 20px auto;
  background-repeat: no-repeat;
  background-position: 0 15px;
}
.mod-text_ttl02 .text-main {
  display: inline-block;
  font-size: 50px;
  font-weight: 700;
}
.mod-text_ttl02 .text-sub {
  display: inline-block;
  font-size: 22px;
  font-weight: 400;
}
.mod-text_ttl02 > span + .text-sub {
  margin-left: 20px;
}
.mod-text_ttl02 br + .text-sub {
  display: block;
  margin-top: -3px;
  margin-left: 0;
}

@media only screen and (max-width: 736px) {
  .mod-text_ttl02 {
    padding-left: 30px;
    background-image: url(/img/common/icon_h2_s.svg);
    background-size: 20px auto;
    background-position: 0 8px;
  }
  .mod-text_ttl02 .text-main {
    font-size: 36px;
  }
  .mod-text_ttl02 .text-s　ub {
    font-size: 14px;
  }
  .mod-text_ttl02 > span + .text-sub {
    margin-left: 10px;
  }
}
.wrp-maincts .mod-btn .inner-btn {
  margin-right: auto;
  margin-left: auto;
}

@media only screen and (min-width: 737px), print {
  .wrp-maincts .mod-btn {
    margin-top: 30px;
  }
  .wrp-maincts .mod-btn .inner-btn {
    width: 320px;
    height: 60px;
  }
}
@media only screen and (max-width: 736px) {
  .wrp-maincts .mod-btn {
    margin-top: 20px;
  }
  .wrp-maincts .mod-btn .inner-btn {
    width: 240px;
    height: 45px;
  }
}
.cts-mainvis {
  position: relative;
}
.cts-mainvis .slider {
  position: relative;
  width: 100%;
}
.cts-mainvis .slider:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 724px;
  height: 500px;
  margin-left: -668px;
  background-image: url(/img/top/bg_mainvis.svg);
  background-size: auto 100%;
  z-index: -1;
}
.cts-mainvis .slider li .inner-slide {
  position: relative;
  display: block;
  height: 500px;
  overflow: hidden;
  z-index: 2;
}
.cts-mainvis .slider li .inner-slide img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  vertical-align: bottom;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: -1;
}
.cts-mainvis .slider li .inner-slide .area-text {
  position: relative;
  width: 100%;
  height: 500px;
  z-index: 2;
}
.cts-mainvis .slider li .inner-slide .area-text:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 724px;
  height: 100%;
  margin-left: -668px;
  background-image: url(/img/top/bg_mainvis.svg);
  background-size: auto 100%;
  z-index: -1;
}
.cts-mainvis .slider li.wave-01 .inner-slide .area-text:before {
  background-image: url(/img/top/bg_mainvis_01.svg);
}
.cts-mainvis .slider li.wave-02 .inner-slide .area-text:before {
  background-image: url(/img/top/bg_mainvis_02.svg);
}
.cts-mainvis .slider li.wave-03 .inner-slide .area-text:before {
  background-image: url(/img/top/bg_mainvis_03.svg);
}
.cts-mainvis .slider li .inner-slide .area-text .inner-area {
  position: absolute;
  top: 0;
  left: 50%;
  display: table;
  width: 724px;
  height: 100%;
  margin-left: -475px;
  padding-top: 35px;
}
.cts-mainvis .slider li .inner-slide .area-text .inner-area .text-dtl {
  display: table-cell;
  vertical-align: middle;
}
.cts-mainvis .slider li .inner-slide .area-text .inner-area .mod-btn .inner-btn {
  margin-right: 0;
  margin-left: 0;
}

.slick-arrow {
  position: absolute;
  top: 50%;
  width: 48px;
  height: 48px;
  text-indent: -9999px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 2;
  outline: 0;
}
.slick-arrow:after {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1em;
  height: 1em;
  color: #fff;
  font-size: 48px;
  text-indent: 0;
  display: inline-block;
  vertical-align: text-bottom;
  font-family: "iconfont";
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1 !important;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
  text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2);
}
.slick-arrow.slick-next {
  right: 0;
}
.slick-arrow.slick-next:after {
  content: "\EA07";
}
.slick-arrow.slick-prev {
  left: 0;
}
.slick-arrow.slick-prev:after {
  content: "\EA03";
}

.slick-dots {
  margin-top: 5px;
  text-align: center;
}
.slick-dots li {
  display: inline-block;
  margin: 0 2px;
}
.slick-dots li button {
  width: 45px;
  height: 4px;
  background-color: #ccc;
  font-size: 0;
  outline: 0;
}
.slick-dots li.slick-active button {
  background-color: #173987;
}

@media only screen and (min-width: 737px), print {
  .cts-mainvis {
    margin-bottom: 10px;
  }
  .cts-mainvis .area-text .text-main {
    color: #fff;
    font-size: 70px;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.1;
    text-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
  }
  .cts-mainvis .area-text .text-sub {
    display: inline-block;
    min-width: 280px;
    margin-top: 20px;
    margin-right: auto;
    margin-left: auto;
    padding-left: 12px;
    border-left: 2px solid #fff;
    color: #fff;
    font-size: 20px;
    font-weight: 400;
    text-align: left;
  }
}
@media screen and (max-width: 1220px) {
  .cts-mainvis .slider li .inner-slide img {
    width: auto;
    height: 100%;
  }
}
@media only screen and (max-width: 736px) {
  .cts-mainvis {
    margin-bottom: 30px;
  }
  .cts-mainvis .slider:before {
    display: none;
  }
  .cts-mainvis .slider li .inner-slide {
    overflow: hidden;
    position: relative;
    height: auto;
    padding-top: 114.66%;
  }
  .cts-mainvis .slider li .inner-slide:before, .cts-mainvis .slider li .inner-slide:after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(/img/top/bg_mainvis.svg);
    background-size: auto 100%;
    z-index: 2;
  }
  .cts-mainvis .slider li.wave-01 .inner-slide:before, .cts-mainvis .slider li.wave-01 .inner-slide:after {
    background-image: url(/img/top/bg_mainvis_01.svg);
	background-size: auto 100%;
  }
  .cts-mainvis .slider li.wave-02 .inner-slide:before, .cts-mainvis .slider li.wave-02 .inner-slide:after {
    background-image: url(/img/top/bg_mainvis_02.svg);
	background-size: auto 100%;
  }
  .cts-mainvis .slider li.wave-03 .inner-slide:before, .cts-mainvis .slider li.wave-03 .inner-slide:after {
    background-image: url(/img/top/bg_mainvis_03.svg);
	background-size: auto 100%;
  }
  .cts-mainvis .slider li .inner-slide:before {
    top: 0;
    left: -75%;
    background-position: 100% 0;
  }
  .cts-mainvis .slider li .inner-slide:after {
    bottom: 0;
    right: -75%;
    background-position: 0 100%;
  }
  .cts-mainvis .slider li .inner-slide .area-text {
    position: absolute;
    bottom: 30px;
    left: 0;
    width: 100%;
    height: auto;
    padding: 0 10px;
    text-align: center;
    z-index: 3;
  }
  .cts-mainvis .slider li .inner-slide .area-text:before {
    display: none;
  }
  .cts-mainvis .slider li .inner-slide .area-text .inner-area {
    position: static;
    width: 100%;
    margin-left: 0;
  }
  .cts-mainvis .slider li .inner-slide .area-text .text-main {
    color: #fff;
    font-size: 50px;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 0.9;
    text-align: center;
    text-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
  }
  .cts-mainvis .slider li.slide-03 .inner-slide .area-text .text-main,
  .cts-mainvis .slider li.slide-04 .inner-slide .area-text .text-main {
	line-height: 1.1;
  }
  .cts-mainvis .slider li .inner-slide .area-text .text-sub {
    display: inline-block;
    min-width: 240px;
    margin-top: 20px;
    margin-right: auto;
    margin-left: auto;
    padding-left: 12px;
    color: #fff;
    border-left: 2px solid #fff;
    text-align: left;
  }
  .cts-mainvis .slider li .inner-slide .area-text .mod-btn .inner-btn {
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .slick-arrow {
    top: auto;
    bottom: -10px;
    width: 30px;
    height: 30px;
    -webkit-transform: translate(0);
    -moz-transform: translate(0);
    transform: translate(0);
  }
  .slick-arrow:after {
    color: #333;
    font-size: 30px;
    text-shadow: none;
  }
  .slick-arrow.slick-next {
    right: 5px;
  }
  .slick-arrow.slick-prev {
    left: 5px;
  }

  .slick-dots {
    margin-top: 10px;
  }
}
.cts-service .mod-btn {
  margin-top: 40px;
}
.cts-service .mod-text_ttl02 + div, .cts-service .mod-text_ttl02 + p {
  margin-top: 20px;
}

@media only screen and (min-width: 737px), print {
  .cts-service .mod-clm.mod-clm_4_1 li:nth-child(n+5), .cts-service .mod-clm.mod-clm_4_2 li:nth-child(n+5) {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 736px) {
  .cts-service {
    margin-top: 10px;
  }
  .cts-service .mod-text_ttl02 + div, .cts-service .mod-text_ttl02 + p {
    margin-top: 10px;
  }
  .cts-service .mod-btn {
    margin-top: 30px;
  }
}
.cts-proposal {
  padding: 50px 0 60px;
}

@media only screen and (min-width: 737px), print {
  .cts-proposal {
    background-color: #f9f9f9;
    background-image: url(/img/top/bg_proposal_pc.jpg);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: right top;
  }
  .cts-proposal .list-proposal {
    width: 690px;
    margin-top: -10px;
  }
  .cts-proposal .list-proposal li {
    float: left;
    width: 50%;
  }
  .cts-proposal .list-proposal li:nth-child(even) {
    border-right: 1px solid #ccc;
  }
  .cts-proposal .wrp-ttl {
    width: 100%;
    max-width: 1090px;
    height: 100px;
    margin-right: auto;
    margin-left: auto;
    padding: 0 20px;
  }
  .cts-proposal .wrp-ttl .mod-text_ttl02 .text-main {
    display: inline-block;
  }
  .cts-proposal .wrp-ttl .mod-text_ttl02 .text-sub {
    display: inline-block;
    margin-left: 20px;
  }
}
@media only screen and (max-width: 736px) {
  .cts-proposal {
    padding: 0 0;
  }
  .cts-proposal .wrp-ttl {
    margin-bottom: 15px;
    padding: 0 20px;
  }
  .cts-proposal .wrp-ttl .mod-text_ttl02 .text-sub {
    font-size: 13px;
  }
  .cts-proposal > .inner-cts {
    padding-top: 140px;
    background-image: url(/img/top/bg_proposal_sp.jpg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: right top;
  }
  .cts-proposal .list-proposal li {
    box-sizing: border-box;
    float: left;
    width: 50%;
  }
  .cts-proposal .list-proposal li a {
    padding: 2px 10px;
  }
}
.cts-worry {
  padding: 50px 0 60px;
  background-color: #f6f6f6;
}
.cts-worry .list-worry {
  margin-top: 30px;
}
.cts-worry .list-worry li:nth-child(n+4) {
  margin-top: 40px;
}
.cts-worry .list-worry li a {
  display: table;
  width: 100%;
  height: 100%;
}
.cts-worry .list-worry li a .img {
  display: table-cell;
  vertical-align: middle;
}
.cts-worry .list-worry li a .img img {
  box-sizing: border-box;
  width: 150px;
  border-radius: 50%;
  border: 4px solid #fff;
  box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.2);
}
.cts-worry .list-worry li a .text {
  box-sizing: border-box;
  display: table-cell;
  width: 100%;
  padding-left: 20px;
  font-size: 15px;
  font-weight: 500;
  vertical-align: middle;
}
.cts-worry .list-worry li a .text b {
  display: block;
  color: #24a3d0;
  font-size: 26px;
  font-weight: 500;
}
.cts-worry .mod-btn {
  margin-top: 40px;
}

@media only screen and (min-width: 737px), print {
  .cts-worry .list-worry li a {
    height: auto!important;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
  .cts-worry .list-worry li a .img img {
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
  .cts-worry .list-worry li a:hover {
    color: #24a3d0;
  }
  .cts-worry .list-worry li a:hover .img img {
    box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.3);
  }
}
@media only screen and (max-width: 736px) {
  .cts-worry {
    padding: 30px 0 40px;
  }
  .cts-worry .list-worry li:nth-child(odd) {
    padding-right: 8px;
  }
  .cts-worry .list-worry li:nth-child(even) {
    padding-left: 8px;
  }
  .cts-worry .list-worry li:nth-child(-n+2) {
    margin-top: 0;
  }
  .cts-worry .list-worry li:nth-child(n+3) {
    margin-top: 25px;
  }
  .cts-worry .list-worry li a {
    display: block;
    padding: 0 15px;
  }
  .cts-worry .list-worry li a .img {
    display: block;
    text-align: center;
  }
  .cts-worry .list-worry li a .img img {
    width: 100%;
    box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.2);
  }
  .cts-worry .list-worry li a .text {
    display: block;
    margin-top: 3px;
    padding-left: 0;
    font-size: 14px;
    line-height: 1.4;
    text-align: center;
  }
  .cts-worry .list-worry li a .text b {
    font-size: 22px;
  }
}
.cts-company .logo_company {
  margin-top: 30px;
  text-align: center;
}
.cts-company .logo_company img {
  margin-right: auto;
  margin-left: auto;
  max-width: 100%;
}

@media only screen and (min-width: 737px), print {
  .cts-company {
    margin-top: 50px !important;
  }
  .cts-company + .mod-cts {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 736px) {
  .cts-company {
    padding: 40px 0 10px;
    border-top: 1px solid #ccc;
  }
  .cts-company .logo_company {
    margin-top: 20px;
  }
  .cts-company .logo_company img {
    width: 100%;
  }
}
