@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
/* =========================
   共通
========================= */
/*h2*/
.h2_eg{
  margin-bottom: 20px !important;

  color: #4f6f9b !important;
  font-size: 14px;
  font-weight: 700;

  letter-spacing: .15em !important;
  text-transform: uppercase;
}

.h2_eg + .wp-block-heading{
  margin-top: 0 !important;
}

/*ボタン*/
.cpds-btn a{
 background: linear-gradient(
  135deg,
  #00326f 0%,
  #004ea8 100%
);
}
.drone-btn a{
  background: linear-gradient(
  135deg,
  #008060 0%,
  #00a87d 100%
);
}
h1.c-pageTitle{
  margin-left: -150px;
}
@media screen and (max-width: 768px) {
  h1.c-pageTitle{
  margin-left: 0px;
}
}

/* =========================
   トップページ
========================= */
.top-h2{
  font-size: 40px !important;
}
.service-block {
  padding: 70px 0;
  background: #f7f8fa;
}

.service-block__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;

  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 56px;
  align-items: center;
}

.service-block__label {
  font-size: 22px;
  font-weight: 700;
  color: #222;
  margin: 0 0 90px;
}

.service-block__title {
  font-size: 34px;
  font-weight: 700;
  line-height: 1.5;
  color: #222;
  margin: 0 0 70px;
  padding-bottom: 20px;
  position: relative;
}

.service-block__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 175px;
  height: 3px;
  background: #003f52;
  z-index: 2;
}

.service-block__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 1px;
  width: 100%;
  height: 2px;
  background: #ddd;
}

.service-block__list {
  margin: 0;
}

.service-block__list li {
  font-size: 25px;
  line-height: 1.8;
  color: #222;
  letter-spacing: 0.03em;
}

.service-block__image img {
  width: 100%;
  height: 430px;
  object-fit: cover;
  display: block;
}

@media screen and (max-width: 768px) {
  .top-h2{
    font-size: 24px !important;
  }
  .service-block {
    padding: 48px 0;
  }

  .service-block__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .service-block__label {
    font-size: 18px;
    margin-bottom: 45px;
  }

  .service-block__title {
    font-size: 26px;
    margin-bottom: 40px;
  }

  .service-block__list li {
    font-size: 17px;
  }

  .service-block__image img {
    height: 260px;
  }
}


.top-business .wp-block-heading{
  text-align:center;
  color:#003f8f;
  font-weight:700;
}

.top-business .wp-block-columns,
.top-business .swell-block-columns{
  max-width:980px;
  margin:40px auto 0;
  gap:32px;
}

.top-business .wp-block-column,
.top-business .swell-block-column{
  position:relative;
  background:#fff;
  border-radius:6px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(0,40,90,.12);
}

.top-business figure{
  margin:0;
}

.top-business img{
  width:100%;
  height:210px;
  object-fit:cover;
  display:block;
}

.top-business .wp-block-column::before,
.top-business .swell-block-column::before{
  content:"01";
  position:absolute;
  top:22px;
  left:24px;
  width:64px;
  height:64px;
  border-radius:50%;
  background:#003f8f;
  color:#fff;
  font-size:24px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}

.top-business .wp-block-column:nth-child(2)::before,
.top-business .swell-block-column:nth-child(2)::before{
  content:"02";
  background:#008060;
}

.top-business .wp-block-column h3,
.top-business .swell-block-column h3,
.top-business .wp-block-column .wp-block-heading,
.top-business .swell-block-column .wp-block-heading{
  text-align:left;
  font-size:24px;
  color:#003f8f;
  margin:34px 34px 18px;
}

.top-business .wp-block-column:nth-child(2) h3,
.top-business .swell-block-column:nth-child(2) h3,
.top-business .wp-block-column:nth-child(2) .wp-block-heading,
.top-business .swell-block-column:nth-child(2) .wp-block-heading{
  color:#008060;
}

.top-business p{
  margin:0 34px 28px;
  font-size:15px;
  line-height:2;
  color:#333;
}

.top-business .wp-block-button,
.top-business .swell-block-button{
  margin:0 34px 34px;
}


@media screen and (max-width:768px){
  .top-business{
    padding:60px 16px;
  }

  .top-business .wp-block-columns,
  .top-business .swell-block-columns{
    gap:28px;
  }

  .top-business img{
    height:200px;
  }

  .top-business .wp-block-column h3,
  .top-business .swell-block-column h3,
  .top-business .wp-block-column .wp-block-heading,
  .top-business .swell-block-column .wp-block-heading{
    font-size:21px;
    margin:28px 24px 14px;
  }

  .top-business p{
    margin:0 24px 24px;
  }

  .top-business .wp-block-button,
  .top-business .swell-block-button{
    margin:0 24px 30px;
  }
}
.wp-block-list{
    padding-left: 3rem!important;
}
@media screen and (max-width: 768px) {
  .wp-block-list{
    padding-left: 0rem !important;
}
}

/* =========================
   選ばれる理由
========================= */

.reason-cards {
  background: transparent;
  padding: 50px 20px;
}

/* カラム全体 */
.reason-cards .swell-block-columns {
  max-width: 1180px;
  margin: 0 auto;
  gap: 24px;
}

/* 各カード */
.reason-cards .swell-block-column {
  background: #fff;
  border-radius: 14px;
  padding: 50px 15px 20px;
  min-height: 260px;
  box-shadow: 0 10px 28px rgba(0, 70, 130, 0.08);
  text-align: center;
  position: relative;
  transition: none;
}

/* ホバー効果なし */
.reason-cards .swell-block-column:hover {
  transform: none;
  box-shadow: 0 10px 28px rgba(0, 70, 130, 0.08);
}

/* 番号 */
.reason-cards .swell-block-column::before {
  content: "01";
  position: absolute;
  top: -32px;
  left: 50%;
  transform: translateX(-50%);
  width: 78px;
  height: 78px;
  background: #0068c9;
  color: #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 22px;
  font-weight: 700;
}

/* 2 */
.reason-cards .swell-block-column:nth-child(2)::before {
  content: "02";
}

/* 3 */
.reason-cards .swell-block-column:nth-child(3)::before {
  content: "03";
}

/* 4 */
.reason-cards .swell-block-column:nth-child(4)::before {
  content: "04";
}

/* アイコン */
.reason-cards img,
.reason-cards svg {
  width: 90px !important;
  max-width: 120px;
  height: auto;
  margin: 0 auto 10px;
  display: block;
}

/* 見出し */
.reason-cards .swell-block-column h3,
.reason-cards .swell-block-column .wp-block-heading {
  font-size: 21px;
  line-height: 1.7;
  color: #003f73;
  font-weight: 700;
  margin: 0;
}

/* 説明文 */
.reason-cards .swell-block-column p {
  font-size: 14px;
  line-height: 1.8;
  color: #333;
  margin-top: 16px;
}

/* スマホ */
@media (max-width: 768px) {

  .reason-cards {
    padding: 40px 20px;
  }

  .reason-cards .swell-block-columns {
    gap: 42px;
  }

  .reason-cards .swell-block-column {
    min-height: auto;
    padding: 56px 22px 30px;
  }

  .reason-cards img,
  .reason-cards svg {
    width: 82px !important;
    max-width: 82px;
  }

  .reason-cards .swell-block-column h3,
  .reason-cards .swell-block-column .wp-block-heading {
    font-size: 18px;
  }
}

/*コンタクト・フッター間*/

.page-id-9 .l-content,
.page-id-36 .l-content,
.page-id-15 .l-content,
.page-id-42 .l-content,
.page-id-38 .l-content{
	margin-bottom:0;
}


/* =========================
   お知らせ
========================= */

.wp-block-latest-posts{
	margin:0;
	padding:0;
}

.wp-block-latest-posts li{
	display:flex;
	align-items:center;
	gap:24px;
	padding:22px 0;
	border-bottom:1px solid #ddd;
}

.wp-block-latest-posts__post-date{
	order:1;
	min-width:120px;
	font-size:14px;
	color:#666;
	margin:0;
}

.wp-block-latest-posts__post-title{
	order:2;
	color:#222 !important;
	font-weight:700;
	font-size:16px;
	text-decoration:none;
	transition:.3s;
}
/* お知らせタイトル ホバー */
.wp-block-latest-posts__post-title{
	color:#222 !important;
	transition:.3s;
}

.wp-block-latest-posts__post-title:hover{
	color:#233b73 !important;
	opacity:.8;
}

/* =========================
   土木施工管理者向けCPDS研修事業
========================= */
.mincho{
font-family: "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", serif;
}
.cpds_text{
    background: #f4f9ff;
    padding: 2rem;
    border-radius: 0.5rem;
}
.voice-section {
	padding: 70px 6vw;
}

/* セミナーアコーディオン */

.seminar-accordion .swell-block-accordion__item{
	border:1px solid #dbe5f3;
	border-radius:18px;
	overflow:hidden;
	background:#fff;
	box-shadow:0 8px 24px rgba(35,59,115,.06);
	margin-bottom:20px;
}

/* タイトル部分 */

.seminar-accordion .swell-block-accordion__title{
	padding:26px 30px;
	background:#f4f9ff;
	border-left:5px solid #233b73;
	transition:.3s;
}

.seminar-accordion .swell-block-accordion__title:hover{
	background:#edf6ff;
}

/* セミナータイトル */

.seminar-accordion .u-fz-l{
	font-size:clamp(20px,2vw,28px);
	font-weight:700;
	color:#233b73;
	line-height:1.5;
}

/* 開催日等 */

.seminar-accordion .u-fz-s{
	display:block;
	margin-top:10px;
	font-size:14px;
	color:#666;
	font-weight:500;
	line-height:1.8;
}

/* アイコン */

.seminar-accordion .c-switchIconBtn{
	color:#233b73;
	font-size:22px;
}

/* 開いた部分 */

.seminar-accordion .swell-block-accordion__body{
	padding:30px;
	background:#fff;
}

/* テーブル */

.seminar-accordion .wp-block-table{
	margin:0;
}

.seminar-accordion table{
	width:100%;
	border-collapse:collapse;
}

.seminar-accordion table th{
	background:#233b73;
	color:#fff;
	padding:16px 20px;
	font-weight:700;
	text-align:left;
}

.seminar-accordion table td{
	padding:16px 20px;
	border:1px solid #e3e8f0;
	line-height:1.8;
}

.seminar-accordion table td:last-child,
.seminar-accordion table th:last-child{
	width:120px;
	text-align:center;
	white-space:nowrap;
}

/* SP */

@media(max-width:768px){

	.seminar-accordion .swell-block-accordion__title{
		padding:18px;
	}

	.seminar-accordion .u-fz-l{
		font-size:18px;
	}

	.seminar-accordion .u-fz-s{
		font-size:13px;
		line-height:1.7;
	}

	.seminar-accordion .swell-block-accordion__body{
		padding:18px;
		overflow-x:auto;
	}

	.seminar-accordion table{
		min-width:600px;
		font-size:14px;
	}
}
/*セミナーCTA*/
div.seminar-cta-pdf>a.swell-block-button__link{
	background:#fff;
	color:#233b73;
	padding:16px 32px;
    width: 340px;
}

div.seminar-cta-mail>a.swell-block-button__link{
	background:#22335b;
	color:#fff;
	border:1px solid rgba(255,255,255,.8);
	padding:16px 32px;
    width: 340px;
}
/* CTA全体の余白調整 */
.swell-block-fullWide.seminar-cta {
	padding-top: 70px;
	padding-bottom: 70px;
}

/* 中身の最大幅 */
.swell-block-fullWide.seminar-cta .swell-block-fullWide__inner {
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}

/* CPDS認定オンラインセミナー */
.swell-block-fullWide.seminar-cta .swell-block-fullWide__inner > p:first-of-type {
	display: inline-block;
	margin: 0 0 14px;
	padding: 7px 18px;
	border-radius: 999px;
	background:rgba(34,51,91,.08);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .08em;
}

/* 見出し */
.swell-block-fullWide.seminar-cta h2 {
	margin: 0 0 24px;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1.5;
}

/* 説明文 */
.swell-block-fullWide.seminar-cta h2 + p {
	max-width: 650px;
	margin: 0 auto 36px;
	line-height: 2;
	letter-spacing: .05em;
}

/* スマホ */
@media (max-width: 768px) {
	.swell-block-fullWide.seminar-cta {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.swell-block-fullWide.seminar-cta .swell-block-fullWide__inner > p:first-of-type {
		font-size: 12px;
		margin-bottom: 18px;
	}

	.swell-block-fullWide.seminar-cta h2 {
		font-size: 26px;
		margin-bottom: 18px;
	}

	.swell-block-fullWide.seminar-cta h2 + p {
		font-size: 15px;
		margin-bottom: 28px;
	}
}
.seminar-cta-fax,
.seminar-cta-address{
	background:rgba(255,255,255,.4);
	border:1px solid #dbe5f3;
	border-radius:16px;
	padding:20px;
	text-align:center;
}

/* ラベル */
.seminar-cta-fax p:first-child,
.seminar-cta-address p:first-child{
	margin-bottom:8px;
	font-size:13px;
	font-weight:600;
	color:#6b7a99;
}

/* FAX・メール */
.seminar-cta-fax p:last-child,
.seminar-cta-address p:last-child{
	margin:0;
	font-size:20px;
	font-weight:700;
	color:#22335b;
}
/* =========================
   ドローン活用による支援事業
========================= */
.drone-service-area .swell-block-columns {
  margin-top: 48px;
}

.drone-service-area .swell-block-column {
  position: relative;
  padding: 36px 28px 34px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #dcecf3;
  box-shadow: 0 14px 34px rgba(31, 47, 58, 0.08);
}

.drone-service-area .swell-block-column h3 {
  margin-bottom: 22px;
  padding-bottom: 16px;
  border-bottom: 2px solid #eaf7fd;
  font-size: 24px;
}

.drone-service-area .swell-block-column p {
  line-height: 2;
}

/*特に力を入れているサービス*/
.drone-main-service .swell-block-columns {
  gap: 24px;
}

.drone-main-service .swell-block-column {
  padding: 30px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
  border: 1px solid #e8eef3;
  transition: .3s;
}


.drone-main-service h3 {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 15px;
  text-align: center;
}

.drone-main-service h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: #6db8d6;
  border-radius: 999px;
}

.drone-main-service p {
  margin: 0;
  line-height: 2;
}
/*さまざまな現場で活用できます*/
.drone-field-area .swell-block-columns {
  margin-top: 50px;
}

.drone-field-area .swell-block-column {
  text-align: center;
  padding: 40px 20px;
  background: #fff;
  border-radius: 20px;
  border: 1px solid #e7edf2;
}

.drone-field-area .swell-block-column h3 {
  margin-bottom: 20px;
  font-size: 32px;
  color: #6db8d6;
  font-weight: 700;
}

.drone-field-area .swell-block-column p {
  margin: 0;
  line-height: 1.8;
  color: #555;
}
/*CTA*/
.cta-wrap .swell-block-fullWide__inner.l-container{
  background: linear-gradient(135deg,#22335b 0%,#2a4174 100%);
  box-shadow:0 20px 40px rgba(34,51,91,.15);
  border-radius:32px;
  padding:80px 40px;
  text-align:center;
  color:#fff;
}

.cta-wrap .swell-block-button__link{
  background:#fff !important;
  color:#22335b !important;
  border-radius:999px;
}

@media (max-width:768px){
  .cta-wrap .swell-block-fullWide__inner.l-container{
    margin:0 20px;
    padding:50px 20px;
  }
}


/* =========================
会社概要
========================= */

/*テーブル*/

.company_information table{
	width:80% !important;
  margin: auto;
	border-collapse:separate;
	border-spacing:0;
	background:#fff;
	border:1px solid #dbe5f3;
	border-radius:16px;
	overflow:hidden;
	box-shadow:0 8px 24px rgba(35,59,115,.06);
}

.company_information th,
.company_information td{
	padding:24px 28px;
	border-bottom:1px solid #e8eef8;
	vertical-align:top;
	line-height:1.9;
}

.company_information tr:last-child th,
.company_information tr:last-child td{
	border-bottom:none;
}

/* 左側 */

.company_information th{
	color:#fff;
	font-weight:700;
	border-right:1px solid rgba(255,255,255,.12);
}

/* PCのみ幅固定 */

@media (min-width:769px){

	.company_information th{
		width:170px !important;
	}
}
@media screen and (max-width: 768px) {
    .company_information table{
	width:100% !important;
  }
}

/* 右側 */

.company_information td{
	background:#fff;
	color:#333;
}

/* リンク */

.company_information td a{
	color:#22335b;
	font-weight:700;
	text-decoration:none;
}

.company_information td a:hover{
	text-decoration:underline;
}

/* スマホ */

@media (max-width:768px){

	.company_information table,
	.company_information tbody,
	.company_information tr,
	.company_information th,
	.company_information td{
		display:block;
		width:100%;
	}

	.company_information table{
		border-radius:12px;
	}

	.company_information tr{
		border-bottom:1px solid #e8eef8;
	}

	.company_information tr:last-child{
		border-bottom:none;
	}

	.company_information th{
		width:100%;
		box-sizing:border-box;
		border-right:none;
		border-bottom:none;
		padding:14px 18px;
		font-size:15px;
	}

	.company_information td{
		padding:14px 18px 22px;
	}

	.company_information td br{
		line-height:2;
	}
}

/* =========================
Contact Form 7
========================= */
.contact-form-area{
	background:#eef4fb;
	padding:80px 30px;
}

.contact-form-area .wpcf7{
	max-width:1100px;
	margin:0 auto;
}

.ringood-form{
	background:#eef4fb;
    padding: 40px 60px;
}

.ringood-form .form-row{
	display:flex;
	align-items:center;
	gap:50px;
	padding:28px 0;
	border-bottom:1px solid #dbe5f3;
}

.ringood-form .form-row--textarea{
	align-items:flex-start;
}

.ringood-form .form-label{
	width:320px;
	flex-shrink:0;
	color:#22335b;
	font-size:18px;
	font-weight:700;
}

.ringood-form .form-input{
	flex:1;
}

.ringood-form .required{
	display:inline-block;
	margin-left:12px;
	border-radius:999px;
	color:#fff;
	font-weight:700;
	line-height:1;
    background:#e74c3c;
    font-size:11px;
    padding:2px 8px;
}

.ringood-form input[type="text"],
.ringood-form input[type="email"],
.ringood-form input[type="tel"],
.ringood-form textarea{
	width:100%;
	padding:17px 20px;
	border:none;
	border-radius:4px;
	background:#fff;
	font-size:16px;
	box-shadow:none;
}

.ringood-form textarea{
	min-height:220px;
	resize:vertical;
}

.ringood-form input:focus,
.ringood-form textarea:focus{
	outline:none;
	box-shadow:0 0 0 3px rgba(34,51,91,.14);
}

.ringood-form .wpcf7-list-item{
	margin:0 20px 8px 0;
}

.ringood-form input[type="checkbox"]{
	margin-right:6px;
	transform:scale(1.15);
}

.ringood-form .form-submit{
	text-align:center;
	margin-top:45px;
}

.ringood-form input[type="submit"]{
	width:280px;
	height:64px;
	border:none;
	border-radius:999px;
	background:#22335b;
	color:#fff;
	font-size:17px;
	font-weight:700;
	cursor:pointer;
	transition:.3s;
}

.ringood-form input[type="submit"]:hover{
	transform:translateY(-2px);
	box-shadow:0 10px 25px rgba(34,51,91,.2);
}

.ringood-form .contact-policy-text{
	margin-top:40px;
	color:#666;
	font-size:13px;
	line-height:1.8;
}

.ringood-form .contact-policy-text a{
	color:#22335b;
	text-decoration:underline;
}

@media(max-width:768px){
	.contact-form-area{
		padding:40px 0px;
	}
    	.ringood-form{
		padding: 30px 20px;
	}

	.ringood-form .form-row{
		flex-direction:column;
		align-items:stretch;
		gap:12px;
		padding:20px 0;
	}

	.ringood-form .form-label{
		width:auto;
		font-size:16px;
	}

	.ringood-form input[type="submit"]{
		width:100%;
	}
}

/* =========================
土木施工管理者向けCPDS研修事業
========================= */
/* CPDS ABOUT */

.cpds-about {
  position: relative;
  overflow: hidden;
  padding: 60px 20px;
  background: #fff;
}

.cpds-about .swell-block-fullWide__inner {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  padding: 60px 70px;
  background: #f7fbff;
  border: 1px solid #d8e7f5;
  border-radius: 40px;
}

/* ABOUT */

.cpds-about .h2_eg {
  margin-bottom: 18px;

  color: #2f6daa;

  font-size: 12px;
  font-weight: 700;

  letter-spacing: 0.3em;
  line-height: 1;
}

/* 見出し */

.cpds-about h2 {
  margin-bottom: 28px;
  color: #123967;
  font-weight: 700;
  line-height: 1.4;
}

/* 下線 */

.cpds-about h2::after {
  content: "";

  display: block;

  width: 80px;
  height: 3px;

  margin-top: 18px;

  background: #123967;
}

/* 本文 */

.cpds-about p {
  max-width: 980px;
  margin: 0;
  padding-left: 24px;
  color: #1f2f45;
  font-size: 16px;
  line-height: 2.1;

  letter-spacing: 0.04em;
}

/* SP */

@media (max-width: 768px) {

  .cpds-about {
    padding: 40px 16px;
  }

  .cpds-about .swell-block-fullWide__inner {
    padding: 40px 24px !important;
    border-radius: 24px;
  }

  .cpds-about .swell-block-fullWide__inner::before {
    top: -60px;
    right: -80px;

    width: 220px;
    height: 220px;
  }

  .cpds-about .swell-block-fullWide__inner::after {
    left: -60px;
    bottom: -60px;

    width: 140px;
    height: 140px;
  }

  .cpds-about .h2_eg {
    font-size: 11px;
    margin-bottom: 14px;
  }

  .cpds-about h2 {
    margin-bottom: 20px;
  }

  .cpds-about h2::after {
    width: 60px;
    margin-top: 14px;
  }

  .cpds-about p {
    padding-left: 16px;

    border-left-width: 4px;

    font-size: 15px;
    line-height: 2;
  }

}

.cpds-about p {
    max-width: 820px;
}

/* 学べることの例 / TOPICS*/

.cpds-topic-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.cpds-topic-list {
  position: relative;
  padding: 35px 35px 35px 135px;
  border: 1px solid #d8e7f5;
  border-radius: 32px;
  color: #123967;

}

.topic01::before {
  content: "01";
}

.topic02::before {
  content: "02";
}

.topic01::before,
.topic02::before {
  position: absolute;

  left: 40px;
  top: 50%;
  transform: translateY(-50%);

  width: 64px;
  height: 64px;

  border-radius: 50%;

  background: #123967;
  color: #fff;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}

/* SP */
@media (max-width: 768px) {
  .cpds-topic-wrap {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .cpds-topic-list {
    padding: 24px 24px 24px 90px;

    border-radius: 20px;

    font-size: 15px;
    line-height: 1.8;
  }

  .topic01::before,
  .topic02::before {
    left: 24px;

    width: 48px;
    height: 48px;

    font-size: 16px;
  }
}
/* 受講者の声 / VOICE */

.voice-wrap {
  background: #f4f9ff;
}

.voice-wrap .swell-block-columns__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

.voice-wrap .swell-block-column {
  width: 100% !important;
  margin: 0 !important;
}

.voice-wrap .voice-section {
  position: relative;

  margin: 0;
  min-height: 230px;

  padding: 38px 42px;

  background: #fff !important;
  border: 1px solid #d8e7f5 !important;
  border-radius: 6px !important;

  color: #123967;
  font-size: 16px;
  line-height: 2;

  box-shadow: 0 10px 26px rgba(18,57,103,.05);
}

/* 吹き出し三角 */

.voice-wrap .voice-section::after {
  content: "";

  position: absolute;

  left: 34px;
  bottom: -12px;

  width: 24px;
  height: 24px;

  background: #fff;

  border-right: 1px solid #d8e7f5;
  border-bottom: 1px solid #d8e7f5;

  transform: rotate(45deg);
}

/* タイトル */

.voice-wrap .voice-section strong:first-child {
  display: block;

  margin-bottom: 18px;

  color: #123967;

  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}

/* SWELL装飾を無効化 */

.voice-wrap .is-style-balloon_box2 {
  background-image: none !important;
}

.voice-wrap .is-style-balloon_box2::before {
  display: none !important;
}

/* SP */

@media (max-width: 768px) {

  .voice-wrap .swell-block-columns__inner {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .voice-wrap .voice-section {
    min-height: auto;

    padding: 28px 24px;

    font-size: 15px;
    line-height: 1.9;
  }

  .voice-wrap .voice-section strong:first-child {
    font-size: 18px;
  }

}