@charset "UTF-8";
.groupservicewrapper {
  max-width: 1000px;
  margin: 0 auto; }

/* top ---------------------------------------*/
.groupservicekv {
  height: 380px;
  position: relative;
  margin-bottom: 30px;
  padding-top: 80px; }

.groupservicekv-2 {
  height: 380px;
  position: relative;
  margin-bottom: 30px;
  padding-top: 120px; }

.groupservicekv-title {
  font-size: 42px;
  line-height: 1.3;
  color: #0666a8;
  font-weight: bold;
  margin-bottom: 42px;
  position: relative;
  z-index: 2; }

.groupservicekv-image {
  position: absolute;
  right: 0;
  top: 0; }
  .groupservicekv-image img {
    width: auto;
    height: 380px; }

.groupservicekv-ribbon {
  position: absolute;
  top: 70px;
  z-index: 2;
  width: 240px;
  left: 370px; }

.groupservicekv-ribbon-2 {
  position: absolute;
  top: 0;
  z-index: 3;
  width: 360px;
  left: 0; }

.groupservicekv-title small {
  display: block;
  font-size: 27px;
  padding-top: 10px; }

.groupservicekv-text {
  width: 380px;
  line-height: 1.75;
  letter-spacing: 0.09em;
  text-align: justify;
  position: relative;
  z-index: 2;
  background: #fff;
  padding: 10px 10px 10px 0; }
  .groupservicekv-text small {
    display: block;
    font-size: 12px;
    padding-top: 5px; }
  .groupservicekv-text .small {
    display: block;
    font-size: 14px;
    padding-top: 5px;
    color: #000;
    font-weight: normal;
    margin-top: 1em; }
  .groupservicekv-text.midashi {
    width: 26em;
    color: #0666a8;
    font-size: 20px;
    font-weight: bold;
    background: rgba(255, 255, 255, 0.7); }

.groupservicelead {
  margin-bottom: 100px; }
  .groupservicelead p {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6; }
  .groupservicelead small {
    font-size: 13px;
    line-height: 1.6; }

/* graph ---------------------------------------*/
.groupservicegraph {
  background: #F3FAFE;
  padding: 70px;
  margin-bottom: 60px; }

.groupservicegraph-title-wrapper {
  margin-bottom: 50px; }

.groupservicegraph-title {
  background: #0666a8;
  color: #fff;
  font-weight: bold;
  font-size: 22px;
  letter-spacing: 0.1em;
  line-height: 1.4;
  padding: 20px 40px; }

.groupservicegraph-image {
  text-align: center; }

/* table ---------------------------------------*/
.groupservicetable-wrapper {
  border-bottom: 1px solid #d9d9d9;
  padding-bottom: 100px;
  margin-bottom: 50px; }
  .groupservicetable-wrapper h3 {
    font-size: 1.14em;
    font-weight: 900; }

.groupservicetable-data {
  text-align: right;
  padding-top: 25px;
  font-size: 13px; }

/* feature ---------------------------------------*/
.groupservicefeature {
  margin-bottom: 90px; }
  .groupservicefeature .table-blue th {
    padding: 20px 10px 20px 20px; }

.groupservicefeature-title {
  background: #68bdf3;
  color: #fff;
  font-weight: bold;
  font-size: 22px;
  letter-spacing: 0.1em;
  line-height: 1.4;
  padding: 20px 40px; }

.groupservicefeature-sub {
  line-height: 1.6;
  font-size: 1.3em; }
  .groupservicefeature-sub span {
    border-bottom: 5px solid #68bdf3; }
    .groupservicefeature-sub span i {
      font-size: 2em; }

.groupservicefeature-list > li {
  margin-bottom: 35px; }

/* company ---------------------------------------*/
.groupservicecompany-text {
  font-size: 1.14em; }

.groupservicecompany-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .groupservicecompany-list li {
    width: calc(50% - 10px);
    margin-bottom: 20px; }
    .groupservicecompany-list li a {
      display: block;
      border: 2px solid #0666a8;
      text-align: center;
      height: 60px;
      position: relative; }
      .groupservicecompany-list li a span {
        color: #0666a8;
        position: absolute;
        left: 10%;
        top: 50%;
        transform: translate(0%, -50%);
        width: 80%;
        font-weight: bold;
        font-size: 18px; }
        .groupservicecompany-list li a span::before {
          content: '';
          display: inline-block;
          vertical-align: middle;
          margin-right: 15px;
          background: url("../img/common/icon_blank.png") 0 0 no-repeat;
          background-size: 100%;
          width: 12px;
          height: 12px; }

/* 火災保険 ---------------------------------------*/
.groupservicekv-2.firekv {
  padding-top: 100px; }

.groupservicekv.firekv .groupservicekv-ribbon {
  left: 200px;
  width: 280px; }

.groupservicemessage {
  border: 2px solid #d21b26;
  margin-bottom: 40px;
  position: relative;
  padding: 40px 20px 20px; }
  .groupservicemessage .groupservicemessage-title {
    position: absolute;
    left: 50%;
    top: -25px;
    transform: translate(-50%, 0);
    display: inline-block;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.8;
    color: #fff;
    background: #aaa;
    padding: 6px 60px;
    border-radius: 30px;
    letter-spacing: 0.1em;
    background-color: #d21b26; }

.groupservicelarge {
  border-top: 1px solid #d9d9d9;
  padding-top: 50px; }

/* small pc */
@media screen and (max-width: 768px) {
  .groupservicewrapper {
    margin: 0 15px; }

  /* top ---------------------------------------*/
  .groupservicekv {
    height: auto;
    margin-top: 120px;
    margin-bottom: 30px;
    padding-top: 0px; }

  .groupservicekv-2 {
    height: auto;
    margin-top: 0;
    margin-bottom: 30px;
    padding-top: 0;
    display: flex;
    flex-direction: column; }

  .groupservicekv-title {
    position: absolute;
    left: 0;
    top: -60px;
    font-size: 30px;
    margin-bottom: 0px; }

  .groupservicekv-image {
    position: relative;
    margin-bottom: 4px;
    order: 3; }
    .groupservicekv-image img {
      width: 101.7%;
      max-width: 101.7%;
      height: auto; }

  .groupservicekv-ribbon-2 {
    position: relative;
    top: 0px;
    width: 100%;
    left: 0px;
    order: 2; }

  .groupservicekv-text {
    width: auto; }
    .groupservicekv-text.midashi {
      order: 1;
      width: auto; }

  .groupservicelead {
    margin-bottom: 80px; }
    .groupservicelead p {
      font-size: 20px;
      font-weight: bold;
      line-height: 1.7;
      letter-spacing: 0.05em; }

  /* graph ---------------------------------------*/
  .groupservicegraph {
    background: #F3FAFE;
    padding: 30px 20px;
    margin-bottom: 60px; }

  .groupservicegraph-title-wrapper {
    margin-bottom: 20px; }

  .groupservicegraph-title {
    font-size: 21px;
    letter-spacing: 0.1em;
    line-height: 1.4;
    padding: 20px 20px; }

  .groupservicegraph-image {
    text-align: center; }

  /* feature ---------------------------------------*/
  .groupservicefeature-title {
    font-size: 22px;
    letter-spacing: 0.1em;
    line-height: 1.4;
    padding: 20px 20px; }

  /* table ---------------------------------------*/
  .groupservicetable-wrapper {
    border-bottom: none;
    padding-bottom: 0px;
    margin-bottom: 80px; }
    .groupservicetable-wrapper h3 {
      padding-left: 10px; }
    .groupservicetable-wrapper .table-blue tr {
      border: 1px solid #d9d9d9; }
    .groupservicetable-wrapper .table-blue th {
      padding: 28px 10px 28px 20px; }

  .groupservicetable-data {
    padding-top: 15px; }

  /* company ---------------------------------------*/
  .groupservicecompany-list {
    display: block; }
    .groupservicecompany-list li {
      width: 100%;
      margin-bottom: 20px; }
      .groupservicecompany-list li a {
        height: 85px; }
        .groupservicecompany-list li a span::before {
          width: 13px;
          height: 13px; }

  /* 火災保険 ---------------------------------------*/
  .groupservicekv-2.firekv {
    padding-top: 0; }

  .groupservicekv.firekv .groupservicekv-ribbon {
    left: 0px;
    width: 100%; }

  .groupservicemessage {
    margin-bottom: 25px; }
    .groupservicemessage .groupservicemessage-title {
      position: absolute;
      left: 7%;
      top: -20px;
      transform: translate(0, 0);
      width: 86%;
      font-size: 18px;
      line-height: 1.4;
      padding: 6px 0px;
      border-radius: 35px;
      letter-spacing: 0.1em;
      text-align: center; }
    .groupservicemessage p {
      line-height: 1.85; }

  .groupservicelarge {
    border-top: none;
    padding-top: 0px; } }
/* バナー ---------------------------------------*/
.groupservice-banner {
  margin-top: -50px;
  margin-bottom: 50px; }

/* WEB更新 ---------------------------------------*/
.groupservice-webcar-bg {
  background: #F3FAFE;
  padding: 40px 40px 30px;
  margin-bottom: 60px; }

.groupservice-webcar-title-wrapper {
  display: flex;
  align-items: center;
  margin-bottom: 60px; }

.groupservice-webcar-title-image {
  width: 65px;
  height: 65px;
  margin-right: 15px; }

.groupservice-webcar-title {
  font-size: 32px;
  color: #00a595;
  font-weight: bold;
  letter-spacing: 4px;
  flex: 1; }

.modaleindex-btn-list li {
  background-color: #fff; }

.groupservice-webcar-btn {
  position: relative; }
  .groupservice-webcar-btn:before {
    content: '';
    background: url(/img/common/icon_pdf.png) 0 0 no-repeat;
    background-size: 100%;
    width: 32px;
    height: 32px;
    position: absolute;
    top: 50%;
    left: 15px;
    z-index: 20;
    transform: translate(0, -50%); }
  .groupservice-webcar-btn.movie:before {
    background: url(/img/common/btn_movie.png) 0 0 no-repeat;
    background-size: 100%; }
  .groupservice-webcar-btn.link:before {
    background: url(/img/common/icon_blank.png) 0 0 no-repeat;
    background-size: 100%;
    width: 20px;
    height: 20px;
    left: 25px; }
  .groupservice-webcar-btn a {
    background: #fff;
    padding: 20px 10px 20px 60px;
    border: 2px solid #0666a8;
    text-align: left;
    display: block;
    height: 100%;
    color: #0666a8;
    font-size: 18px;
    font-weight: bold; }
    .groupservice-webcar-btn a.img {
      padding: 10px 10px 10px 60px;
      text-align: center; }
      .groupservice-webcar-btn a.img img {
        margin-left: -40px;
        width: 385px;
        max-width: 100%; }
    .groupservice-webcar-btn a.qr {
      display: flex;
      align-items: center;
      justify-content: space-between; }
      .groupservice-webcar-btn a.qr .qr_name {
        flex: 1;
        margin-right: 1em; }
      .groupservice-webcar-btn a.qr .qr_code {
        width: 100px; }
        .groupservice-webcar-btn a.qr .qr_code img {
          width: 100%;
          height: auto;
          margin-left: 0; }

.groupservice-webcar-btn-list li {
  margin-bottom: 20px; }
  .groupservice-webcar-btn-list li:last-child {
    margin-bottom: 0; }

@media screen and (min-width: 1281px) {
  .groupservice-webcar-btn-list.row2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .groupservice-webcar-btn-list.row2 li {
      width: calc(50% - 10px); } }
@media screen and (max-width: 768px) {
  .qr_code {
    display: none; }

  .productsvehicle-title-wrapper {
    padding: 0 20px; }

  .groupservice-webcar-title {
    font-size: 21px; }

  .groupservice-webcar-bg {
    padding: 20px 20px 10px;
    margin-bottom: 40px; }

  .webcar .productsliving-title {
    font-size: 21px; }

  .webcar .productsvehicle-title-wrapper {
    margin-bottom: 40px; } }
.groupservice-webcar-subtitle {
  position: relative;
  overflow: hidden;
  background: #68bdf3;
  font-weight: bold;
  padding: 10px 35px 10px 35px;
  font-size: 20px;
  letter-spacing: 0.07em;
  color: #fff; }
  .groupservice-webcar-subtitle span {
    /*display: block;
    background: #68bdf3;
    font-weight: bold;
    padding: 10px 35px 10px 35px;
    position: relative;
    font-size: 18px;
    letter-spacing: 0.07em;
    color: #fff;
    &.dark { background:#0666a8;}*/ }
    .groupservice-webcar-subtitle span.sub {
      display: block;
      font-size: 0.8em;
      margin-bottom: 0.4em;
      color: #F3FAFE;
      font-weight: normal; }
  .groupservice-webcar-subtitle.dark {
    background: #0666a8; }
  .groupservice-webcar-subtitle:after {
    display: block;
    content: '';
    background: -webkit-linear-gradient(bottom, #3780d7 0%, #62afdc 100%);
    background: -o-linear-gradient(bottom, #3780d7 0%, #62afdc 100%);
    background: linear-gradient(to top, #3780d7 0%, #62afdc 100%);
    background-size: 100%;
    width: 5px;
    height: 100%;
    position: absolute;
    left: 0px;
    top: 0%; }

/*.url { font-size: 11px; word-break: break-all; padding: 1em 40px 0;}*/
#douga_banner_area {
  margin-top: -110px;
  padding-top: 110px; }

.douga_banner_area {
  display: flex;
  background-color: #020516;
  padding: 15px;
  margin: 0 0 60px; }
  .douga_banner_area .douga_banner {
    margin-left: 25px;
    flex: 1; }
    .douga_banner_area .douga_banner .banner img {
      width: 100%;
      height: auto; }
    .douga_banner_area .douga_banner .link {
      position: relative; }
      .douga_banner_area .douga_banner .link a {
        display: block;
        position: relative;
        transition: all .25s ease;
        padding: 10px 0;
        width: 300px;
        height: 50px;
        max-width: 100%;
        margin: 20px auto 0; }
    .douga_banner_area .douga_banner small {
      color: #fff; }

.youtube {
  width: calc((100% - 25px) / 2); }

@media screen and (max-width: 767px) {
  #douga_banner_area {
    margin-top: -135px;
    padding-top: 85px; }

  .douga_banner_area {
    display: block; }
    .douga_banner_area > div {
      width: 100%; }
    .douga_banner_area .douga_banner {
      width: 100%;
      margin-left: 0px;
      margin-top: 10px; }
      .douga_banner_area .douga_banner .irontopfooter-cv-btn1 span {
        font-size: 82%; }

  .groupservice-webcar-subtitle {
    padding: 10px 15px; } }
/* WEB renewal */
.wapper-lightb {
  border-bottom: solid #68bdf3 3px; }

.wapper-lightb > div {
  border-style: solid;
  border-color: #68bdf3;
  border-width: 0 3px; }

.wapper-darkb {
  border-bottom: solid #0666a8 3px;
  margin-top: 40px; }

.wapper-darkb > div {
  border-style: solid;
  border-color: #0666a8;
  border-width: 0 3px; }

[class^="wapper-"] ul, [class^="wapper-"] p {
  margin-left: 20px;
  margin-right: 20px; }

.wapper-darkb p img {
  width: 100%;
  max-width: 800px;
  height: auto; }

@media screen and (max-width: 768px) {
  [class^="wapper-"] ul, [class^="wapper-"] p {
    margin-left: 10px;
    margin-right: 10px; } }
