@charset "UTF-8";


/*  ====================================================
  MV
===================================================== */
.lower-style .mv {
  height: 220px;
  margin: 80px 0 30px;
  overflow-x: hidden;
  display: flex;
  align-items: center;
  position: relative;
  background: url(../images/common/mv_bg.jpg) no-repeat center center;
  /*background: url(../images/top/crm_mv.jpg) no-repeat center center;*/
  background-size: cover;
}

.mv-inner {
  width: 100%;
  max-width: 1130px;
  margin: 0 auto;
  padding: 10px 15px;
}

.mv-ttl-sub {
  width: 100%;
  margin-bottom: 5px;
  line-height: 1.2;
  font-size: 18px;
  font-weight: bold;
  color: var(--c-white);
  text-shadow: 0 0 3px rgba(0,0,0,0.3);
}

.mv-ttl {
  width: 100%;
  margin-bottom: 20px;
  line-height: 1.2;
  font-size: 32px;
  font-weight: bold;
  color: var(--c-white);
  text-shadow: 0 0 6px rgba(0,0,0,0.4);
  font-feature-settings: "palt";
}


@media screen and (max-width: 940px) {
.lower-style .mv {
  height: 180px;
  margin: 72px 0 15px;
}

.mv-inner {
  padding: 0 15px;
}

.mv-ttl {
  font-size: 24px;
}

.mv-lead {
  font-size: 14px;
}

}

.card-wrap-bgnone {
  background: transparent;
}

.lower-style .card-ttl {
  margin-top: -90px;
  margin-bottom: 20px;
  padding-top: 90px;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.2;
  color: var(--c-red);
}

.lower-style .card-ttl-sub {
  margin-bottom: 30px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  color: var(--c-black);
  font-feature-settings: "palt";
}

.lower-style h3 {
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  color: var(--c-black);
  font-feature-settings: "palt";
}

.list-normal {
  margin-bottom: 30px;
  margin-left: 20px;
}
.list-normal li {
  margin-bottom: 5px;
  font-size: 14px;
  list-style-type: disc;
}
.list-normal li a {
  text-decoration: underline;
  color: var(--c-linkblack);
}
.list-normal li a:hover {
  text-decoration: none;
}


/* 狭い場合 */
.card-wrap-narrow {
  padding: 80px;
}


/* ナンバーリスト */
.body-wrap ol {
  margin-bottom: 30px;
  margin-left: 20px;
}

.body-wrap ol li {
  margin-bottom: 10px;
  font-size: 16px;
  list-style-type: decimal;
}


/*  ====================================================
  2カラム対応
===================================================== */
.body-two {
  display: flex;
  justify-content: space-between;
}

.body-two .body-wrap {
  width: calc(100% - 320px);
}

.body-two #sidebar {
  width: 280px;
  border-radius: 10px;
  background-color: var(--c-graybg);
}

.body-two #sidebar h2 {
  padding: 20px;
  line-height: 1.1;
  background-color: var(--c-footerbg);
  font-size: 20px;
  border-radius: 10px 10px 0 0;
}

.body-two #sidebar ul {
  margin: 0;
  padding: 20px;
}
.body-two #sidebar ul li {
  margin-bottom: 20px;
  font-size: 14px;
  list-style: none;
}

.body-two #sidebar a {
  margin-bottom: 15px;
  padding-bottom: 15px;
  display: block;
  line-height: 1.4;
  text-decoration: none;
  color: var(--c-pitchblack);
  border-bottom: solid 1px #e3e3e3;
}
.body-two #sidebar a:hover {
  text-decoration: underline;
}
.body-two #sidebar ul li:last-of-type {
  margin-bottom: 0;
}
.body-two #sidebar ul li:last-of-type a {
  margin-bottom: 0;
  /*border: none;*/
}


@media screen and (max-width: 834px) {
.body-two {
  display: block;
}

.body-two .body-wrap {
  width: 100%;
}

.body-two #sidebar {
  width: 100%;
  margin-top: 40px;
  padding: 15px 15px 5px;
}
}


/*  ====================================================
  既存コンテンツ移植対応
===================================================== */
.body-wrap + .body-wrap {
  margin-top: 60px;
}


.body-wrap .card-lead {
  margin-bottom: 30px;
  line-height: 1.4;
  font-size: 20px;
}

.body-wrap p,
.body-txt {
  margin-bottom: 30px;
  line-height: 1.8;
  font-size: 16px;
}

.body-wrap hr {
  margin: 0 0 40px;
  border: none;
}

.body-wrap h4 {
  margin-top: -90px;
  margin-bottom: 20px;
  padding-top: 90px;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.3;
  color: var(--c-red);
}

.body-wrap h5 {
  margin: 40px 0 20px;
  padding-bottom: 10px;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.3;
  border-bottom: solid 2px var(--c-footerbg);
  position: relative;
}
    
.body-wrap h5:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 40px;
  height: inherit;
  border-bottom: 2px solid var(--c-red);
}

.body-wrap h6 {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
}

.body-wrap ul {
  margin: 20px 0 30px 20px;
}
.body-wrap ul li {
  margin-bottom: 5px;
  font-size: 16px;
  list-style-type: disc;
}
.body-wrap a {
  text-decoration: underline;
  color: var(--c-pitchblack);
}
.body-wrap a:hover {
  text-decoration: none;
}

.requestbox {
  margin-bottom: 30px;
  text-align: center;
}

.body-wrap iframe {
  width: 100%;
}


/* 既存画像の対応 */
.body-wrap img {
  max-width: 100%;
  width: auto;
  margin-bottom: 10px;
  display: inline-block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.body-wrap img.img-left {
  left: 0;
  transform: translateX(0);
}

.body-wrap a img {
  max-width: 100%;
  width: auto;
  margin-bottom: 0;
  left: 0;
  right: 0;
  transform: translateX(0);
}

.img-wrap {
  text-align: center;
}
.img-wrap img {
  max-width: 100%;
  width: auto;
}


@media screen and (max-width: 1030px) {
.body-wrap .card-lead {
  font-size: 20px;
}

.body-wrap p,
.body-txt {
  line-height: 1.7;
  font-size: 14px;
}

.body-wrap h4 {
  font-size: 24px;
}

.body-wrap h5 {
  font-size: 20px;
}

.body-wrap h6 {
  font-size: 14px;
}

.body-wrap ul li {
  font-size: 14px;
}
}


@media screen and (max-width: 834px) {
.lower-style .card-ttl {
  font-size: 24px;
}

.lower-style .card-ttl-sub {
  font-size: 16px;
}

.lower-style h3 {
  font-size: 18px;
}

.card-wrap-narrow {
  padding: 20px 15px 15px;
}

.body-txt {
  line-height: 1.7;
  font-size: 14px;
}
}


/* ニュース一覧用 */
.body-wrap ul.news-list {
  margin: 20px 0 30px 20px;
}
.body-wrap ul.news-list li {
  margin-bottom: 10px;
  font-size: 14px;
}
.body-wrap ul.news-list li a {
  font-size: 16px;
  font-weight: bold;
}


/* ニュース詳細用 */
.body-wrap p.news-date {
  font-size: 12px;
  margin: 0 0 20px;
  font-weight: bold;
}

.body-wrap .page-navigation-list {
  margin: 60px 0 0;
  padding: 15px;
  display: flex;
  justify-content: center;
  background: var(--c-border);
  border-radius: 10px;
}

.body-wrap .page-navigation-list li {
  margin: 0 5px;
  list-style: none;
}
.body-wrap .page-navigation-list li a {
  padding: 10px 20px;
  display: inline-block;
}


/*  ====================================================
  既存コンテンツ：表
===================================================== */
.pink {
  color: #cc0066;
}
.ws-nowrap {
  white-space: nowrap;
}

/* 汎用 */
.body-wrap table {
  width: 100%;
  margin-bottom: 20px;
  border-collapse: collapse;
  border-spacing: 0px;
  border-right: solid 1px var(--c-border);
  border-bottom: solid 1px var(--c-border);
}

.body-wrap table td {
  padding: 10px;
  font-size: 14px;
  border-top: solid 1px var(--c-border);
  border-left: solid 1px var(--c-border);
}
.body-wrap table .head {
  padding: 10px;
  background: var(--c-tdbg);
  font-weight: bold;
}
.body-wrap table th.head {
  padding: 10px;
  background: var(--c-tdbg);
  font-weight: bold;
  border-top: solid 1px var(--c-border);
}

/* イベント一覧 */
.body-wrap table.event-tbl tr td:first-of-type {
  font-feature-settings: "palt";
}


@media screen and (min-width: 835px) {
.body-wrap table .head {
  white-space: nowrap;
}

/* イベント一覧 */
.body-wrap table.event-tbl tr td:first-of-type {
  white-space: nowrap;
}
}


@media screen and (max-width: 767px) {
.body-wrap table td {
  font-size: 12px;
}
}


/* CRMコラム */
.body-wrap table.crmconsultation-tbl {
  width: 100%;
  margin-bottom: 20px;
  border-collapse: collapse;
  border-spacing: 0px;
  border-right: none;
  border-bottom: none;
}

.body-wrap table.crmconsultation-tbl td {
  padding: 14px 0;
  font-size: 16px;
  border-top: none;
  border-left: none;
  border-bottom: solid 1px var(--c-border);
}

.body-wrap table.crmconsultation-tbl td a {
  display: inline-block;
  margin-bottom: 5px;
  font-weight: bold;
}


/* ダウンロード */ 
.body-wrap .download-tbl table td:first-of-type {
  width: 200px;
}

.body-wrap .download-tbl table td a {
  display: inline-block;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
.body-wrap .download-tbl table td:first-of-type {
  width: 100px;
}

}



/* 個別対応 */
.fs-large {
  font-size: 22px !important;
}

#engage-contributions-widget-wrapper {
  width: 100% !important;
}


/* 資料ダウンロード枠 */
.requestbox-dl {
  padding: 20px;
  border: solid 3px #F0C4DA;
  border-radius: 10px;
  display: none;
}
.body-wrap .requestbox-dl ul {
  margin: 0 0 30px 20px;
}
.requestbox-dl a {
  width: fit-content;
  display: block;
  margin: 0 auto;
}
.requestbox-dl .pink {
  font-weight: bold;
}

.requestbox-dl + .requestbox {
  margin-top: 30px;
}


/* CRM、顧客データ活用 */
.body-wrap .requestbox {
  padding: 80px 5px 10px;
  border: solid 3px var(--c-footerbg);
  border-radius: 10px;
  background-image: url(/images/back_request.gif), url(/assets/images/common/back_request_bg.png);
  background-repeat: no-repeat, repeat-x;
  background-position: top left;
  display: none;
}
.body-wrap .requestbox a {
  display: inline-block;
}


/* 他サービス誘導枠 */
.other-service-wrap {
  padding: 20px;
  border: solid 3px var(--c-footerbg);
  border-radius: 10px;
  display: none;
}
.body-wrap .other-service-wrap p:last-of-type {
  margin-bottom: 0;
}


@media screen and (max-width: 767px) {
.fs-large {
  font-size: 18px !important;
}

/* 資料ダウンロード枠 */
.requestbox-dl {
  padding: 12px;
}
.body-wrap .requestbox-dl ul li {
  font-size: 14px;
}

/* 他サービス誘導枠 */
.other-service-wrap {
   padding: 12px;
}
.body-wrap .other-service-wrap p {
  font-size: 14px;
}
}


/*  ====================================================
  フォーム系
===================================================== */
.form-style form,
.form-style input,
.form-style button,
.form-style textarea,
.form-style select {
  appearance: none;
  border: none;
  color: inherit;
  outline: none;
}

.body-wrap .form-style table td {
  padding: 12px;
  vertical-align: middle;
}
.body-wrap .form-style table tr td:first-of-type {
  width: 200px;
  white-space: normal;
}

.form-att-txt {
  font-size: 16px;
  font-weight: bold;
  color: #cc0066;
}


/* 必須 */
.form-style .red {
  margin-left: 5px;
  padding: 0 5px;
  color: #fff;
  background: #cc0066;
  font-size: 12px;
  line-height: 18px;
  border-radius: 4px;
  display: inline-block;
}

.form-style.form-confirm  .red {
  display: none;
}

/* チェックボックス */
.td-checkbox {
  display: flex;
  align-items: center;
}

.form-style input[type="checkbox"] {
  margin: 0 7px 0 0;
  border: 2px solid #ddd;
  width: 20px;
  height: 20px;
  background: #f3f3f3;
  border-radius: 3px;
  display: block;
}
.form-style input[type="checkbox"]:checked {
  border: none;
  background: url(../images/common/check_on.png) no-repeat left center;
    background-size: auto;
  background-size: 20px auto;
}

.td-checkbox label {
  width: calc(100% - 30px);
}

/* セレクト */
.form-style select {
  width: 100%;
  padding: 0 16px;
  font-size: 14px;
  font-weight: bold;
  line-height: 48px;
  border-radius: 5px;
  outline: none;
  border: 2px solid #ddd;
  background: #f9f9f9 url(../images/common/i_arrow_bottom_bk.png) no-repeat right 16px center;
  background-size: 12px auto;
}

.form-style input[type="text"],
.form-style input[type="email"] {
  width: 100%;
  line-height: 44px;
  padding: 0 16px;
  font-size: 14px;
  border: 2px solid #ddd;
  border-radius: 5px;
  color: var(--c-pitchblack);
  background: #f9f9f9;
  font-weight: bold;
}

.form-style input[type="text"]:focus,
.form-style input[type="email"]:focus {
  border: 2px solid #F0C4DA;
}

.form-style textarea {
  width: 100%;
  padding: 16px;
  font-size: 14px;
  border: 2px solid #ddd;
  border-radius: 5px;
  outline: none;
}

::placeholder {
  color: var(--c-gray);
}


/* 名前 */
.td-name {
  display: flex;
  justify-content: space-between;
  font-weight: bold;
}
.td-name + .td-name {
  margin-top: 15px;
}

.td-name span {
  line-height: 48px;
}

.form-style .td-name input[type="text"] {
  width: calc(100% - 40px);
}

/* ラジオ */
.form-style input[type="radio"] {
  width: 24px;
  height: 24px;
  margin: 0 5px 0 0;
  border: 4px solid #EDEDED;
  border-radius: 12px;
}
.form-style input[type="radio"]:checked  {
  border: 4px solid var(--c-black);
}

.form-style input[type="radio"] + label {
  margin-right: 20px;
  line-height: 24px;
  display: inline-block;
}

/* ボタン */
.form-btn-wrap {
  padding-top: 20px;
  text-align: center;
}

.form-style .form-btn-wrap a,
.form-style .form-btn-wrap input[type="submit"] {
  width: 100%;
  max-width: 280px;
  margin-left: 15px;
  padding: 0 30px 0 15px;
  line-height: 40px;
  display: inline-block;
  color: var(--c-white);
  border-radius: 20px;
  text-align: center;
  background: var(--c-black);
  text-decoration: none;
}
.form-style .form-btn-wrap a:hover,
.form-style .form-btn-wrap input[type="submit"]:hover {
  opacity: 0.7;
  cursor: pointer;
}


@media screen and (max-width: 767px) {
.body-wrap .form-style table td {
  padding: 10px 0 40px;
  display: block;
  width: 100%;
  border: none;
}
.body-wrap .form-style table tr td:first-of-type {
  width: 100%;
  padding: 0;
  background: none;
  font-size: 14px;
}

.body-wrap .form-style .head br {
  display: none;
}
}


/*  ====================================================
  404エラー
===================================================== */
.error-style .card-wrap {
  margin-bottom: 30px;
}

.error-style .card-wrap h2 {
  margin-bottom: 30px;
}

.error-style .card-wrap p {
  margin-bottom: 30px;
}


/*  ====================================================
  資料ダウンロード
===================================================== */

/* 旧スタイル */
.request-crmstage {
  padding: 20px;
  border: solid 3px #9e9ce9;
  border-radius: 10px;
  display: none;
}
.body-wrap .request-crmstage ul {
  margin: 0 0 30px 20px;
}
.request-crmstage a {
  width: fit-content;
  display: block;
  margin: 0 auto;
}
.request-crmstage .pink {
  font-weight: bold;
}

.request-crmstage + .requestbox {
  margin-top: 30px;
}


/* 新スタイル */
.body-wrap .new-download-tbl h5 {
  margin-top: -90px;
  padding-top: 90px;
}

.download-wrap {
  display:flex;
  flex-wrap: wrap;
  margin: 0 -15px 10px;
  padding-bottom: 20px;
}


.body-wrap .new-download-tbl .download-anchor {
  margin: 30px 0 0;
  padding-bottom: 50px;
  display:flex;
  position: relative;
  z-index: 10;
}
.body-wrap .new-download-tbl .download-anchor li {
  padding-right: 20px;
  list-style: none;
}
.download-anchor li a {
  padding: 0 20px;
  display: block;
  line-height: 36px;
  background: rgba(190, 1, 97, 0.06);
  font-size: 14px;
  color: var(--c-black);
  border-radius: 18px;
  text-decoration: none;
}

.download-wrap-item {
  width: calc(100% / 3);
  max-width: 330px;
  margin-bottom: 15px;
  padding: 15px;
}

.download-wrap-item a {
  width: 100%;
  display: block;
  text-decoration: none;
}

.download-wrap-item h6 {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.25;
}

.download-wrap-img {
  margin-bottom: 15px;
}
.download-wrap-img img {
  border-radius: 8px;
  border: solid 1px #e9e9e9;
}

.new-download-tbl p.download-wrap-txt {
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.4;
  color: #555;
}

.border-top-box {
  margin-top: 20px;
  padding-top: 20px;
  border-top: solid 1px var(--c-footerbg);
}


@media screen and (max-width: 767px) {
.download-anchor li a {
  padding: 0 15px;
  font-size: 13px;
}

.download-wrap {
  display: block;
  margin: 0 0 30px;
}

.download-wrap-item {
  width: 100%;
  max-width: 100%;
  padding: 0 0 30px;
}
}



.mb0 {
  margin-bottom: 0px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}


