@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
*/

body {
	font-family: "Roboto", "Noto Sans JP", "Noto Serif JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
html {
	font-size: 16px;
}

.l-content {
	margin-bottom: 0 !important;
}

@media(max-width:960px) {
.l-content {
	margin-top: -48px !important;
}	
}

.l-container {
	padding: 0 !important;
	max-width: none !important;
	
}

.l-mainContent {
	margin: 0 !important;
	max-width: none !important;
	width: 100vw !important;
	padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.br_pc {
	display: block;
}

@media(max-width:960px) {
	.br_pc {
		display: none;
	}
}

.p-breadcrumb {
	display: none;
}

.c-pageTitle {
	display: none;
}


/* ========== ヘッダー ========== */
.l-header {
  position: fixed;
  width: 100%;
  height: 84px;
   background: none !important;
  background-color: rgba(255, 255, 255, 0.3) !important;
  backdrop-filter: blur(6px);
  z-index: 10;
}

.l-header__inner {
	max-width: 1200px !important;
	margin: 0 auto;
	 color: #FFF;
}

header .menu-item {
	transition: color .2s;
}

header .menu-item:hover {
	color: #3199CC;
}

.c-gnav>.menu-item>a:after {
    display: none;
}

/* お問い合わせボタン */
.header_btn {
  position: relative;
  display: inline-block;
  padding: 12px 24px;
  color: #FFF;
  background: linear-gradient(to right, #00AAFF 0%, #0335FF 100%);
  border: solid 3px #FFF;
  border-radius: 8px;
  overflow: hidden;
  z-index: 0;
	transition: box-shadow .2s;
}

.header_btn:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
}

/* テキストを上に表示 */
.header_btn span {
  position: relative;
  z-index: 2;
}

.c-widget__title.-spmenu {
	display: none;
}

.p-spMenu__nav {
	margin-top: 28px;
}

.c-listMenu a {
    padding: .75em 1em;
}

.c-listMenu a:before {
    display: none;
}

.c-listMenu a:hover {
    background-color: transparent;
	color: #006FFF;
}

.p-spMenu .top_btn a {
    padding: 16px 20px;
	justify-content: center;
}

.p-spMenu .top_btn a::after {
    display: none;
}

.p-spMenu .btn_free a {
    color: #FFF;
}

.l-fixHeader {
	display: none;
}

@media(max-width:960px) {
.l-header {
  height: 48px;
}
}
/* ========== 【ここまで】ヘッダー ========== */


/* ========== トップページ ========== */
/* ---------- ファーストビュー ---------- */
.top_fv {
	width: 100vw !important;
	height: 800px;
}

.top_fv_inner {
	color: #FFF;
}

.top_fv_inner h2 {
	color: #FFF;
	font-size: clamp(2.4rem, 4.1666vw, 3.75rem);
	font-weight: 700;
	text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	margin-bottom: 16px;
}

.top_fv_text01 {
	font-size: 1.5rem;
	font-weight: 800;
	margin-bottom: 12px;
}

.top_fv_text01 span {
	color: #F6D100;
}

.top_fv_text01 {
	font-weight: 700;
}

.cta_btn_content {
	gap: 16px;
}

.cta_btn a {
	padding: 18px 36px;
	border-radius: 20px;
	font-size: 1.5rem;
	font-weight: 700;
	display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
	transition: box-shadow .2s;
}

.cta_btn a:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
}

.cta_btn a::before {
	content: "";
	display: inline-block;
	background-repeat: no-repeat;
	background-size: contain;
	width: 16px;
	height: 16px;
}

.btn_free a {
	background: linear-gradient(to right, #00AAFF 0%, #0335FF 100%);
	border: solid 3px #FFF;
}

.btn_free a::before {
	background-image: url(http://komaki-test06.com/wp-content/uploads/2025/10/btn01.png);
}

.btn_case {
	background-color: #FFF;
	border-radius: 20px;
}

.btn_case a {
    border: 3px solid #016EFF;
	background: #FFF;
	background: linear-gradient(to right, #00AAFF 0%, #0335FF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.btn_case a::before {
	background-image: url(http://komaki-test06.com/wp-content/uploads/2025/10/btn02.png);
}

@media(max-width:896px) {
.top_fv {
	height: 100dvh;
}

.cta_btn_content {
	flex-direction: column;
	gap: 16px;
}
	
.cta_btn {
	width: 100%;
	max-width: 400px;
}

.cta_btn a {
	width: 100%;
	padding: 16px 32px;
}
}

/* ----------  こんな問題はありませんか？ ---------- */
.problem_wrapper {
	position: relative;
	z-index: 1;
}

.problem_title {
	margin-bottom: 110px !important;
}

.problem_list {
	max-width: 1280px;
	margin: 0 auto;
	display: flex !important;
	justify-content: space-between !important;
	flex-wrap: wrap;
}

/* 左端だけ上にずらす */
.problem_list .problem_item01 {
  transform: translateY(-120px);
}

/* 右端だけ上にずらす */
.problem_list .problem_item02 {
  transform: translateY(-120px);
}

.problem_item_inner {
    border-radius: 16px;
	box-shadow: 0 4px 20px 9px rgba(0, 0, 0, 0.1);
	padding: 28px 28px 36px;
	gap: 12px;
}

.problem_img01, .problem_img02, .problem_img03, .problem_img04 {
	width: 100%;
}

.problem_img01 {
	margin-top: -10px;
}

.problem_img02, .problem_img03 {
	margin-top: -20px;
}

.problem_img04 {
	margin-top: -10px;
}

.problem_bg {
	position: relative;
	z-index: 1;
	max-width: 100vw;
}

.problem_bg img {
	width: 100vw;
	height: 100%;
}

@media(max-width: 1300px) {
.problem_title {
	margin-bottom: 56px !important;
	width: 92%;
	max-width: 476px;
	margin: 0 auto;
}

.problem_list {
	width: 92%;
	gap: 32px;
	justify-content: center !important;
}

.problem_list .problem_item01 {
  transform: translateY(0);
}

.problem_list .problem_item02 {
  transform: translateY(0);
}
}

@media(max-width:600px) {
.problem_bg {
	width: 100%;
  height: 48px; /* 好きな高さ */
  overflow: hidden; /* はみ出し防止 */
}

.problem_bg img {
	width: 100%;
  height: 100%;
  object-fit: cover; /* 縦横比を維持しつつ、領域を完全に埋める */
  object-position: center; /* 画像の中央を基準にトリミング */
  display: block; /* 隙間防止 */
}
}

/* ----------  【ここまで】こんな問題はありませんか？ ---------- */


/* ----------  ワンストップソリューション ---------- */
.top_wrapper {
	margin-top: -140px;
	position: relative;
	z-index: 0;
	padding: 0;
	display: block;
}

.top_wrapper .wp-block-cover__inner-container {
	margin-left: 0 !important;
	margin-right: 0 !important;
	position: relative;
	max-width: none !important;
}

.sec_title {
	padding: 12px;
	width: 600px;
	background-color: #006FFF;
	border-radius: 100px;
	margin: 0 auto 64px;
}

.sec_title h3 {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 0 !important;
}

.sec_title p {
	margin-top: 4px;
	font-weight: 700;
}

.solution_content {
	width: 1200px !important;
	margin: 0 auto !important;
	padding: 180px 0 64px;
}

.solution_list {
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.solution_item {
	align-items: center;
	gap: 8px;
	padding: 16px;
	width: 19%;
}

.solution_text {
	line-height: 1.75rem;
	letter-spacing: 0.06em;
}

.solution_item figure {
	height: 100px;
	display: flex;
	align-items: center;
}

@media(max-width:1200px) {
.solution_content {
	width: 92% !important;
}

.solution_list {
	width: 100%;
	gap: 28px;
	flex-wrap: wrap;
	justify-content: center;
}

.solution_item {
	width: 100%;
	max-width: 320px;
}
}

@media(max-width: 896px) {
.solution_content {
	padding: 120px 0 40px;
}
}

@media(max-width:700px) {
.sec_title {
	width: 100%;
	margin: 0 auto 48px;
}

.sec_title h3 {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 0 !important;
}

.sec_title p {
	margin-top: 4px;
	font-weight: 700;
}	
}
/* ----------  【ここまで】ワンストップソリューション ---------- */

/* ----------  業界別支援イメージ ---------- */
.industry_content {
	width: 1100px !important;
	margin: 0 auto !important;
	padding: 64px 0;
}

.industry_list {
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.industry_item {
	max-width: 320px;
	padding: 0 !important;
	border-radius: 20px;
}

.industry_img img {
	width: 100%;
	border-radius: 20px 20px 0 0;
}

.industry_text {
	padding: 24px;
}

.industry_text01 {
	margin-bottom: 12px !important;
}

.industry_text02 {
	line-height: 1.75rem;
	letter-spacing: 0.06em;
	margin-bottom: 16px !important;
}

.industry_text .swl-fz {
	display: flex;
	align-items: center;
	gap: 6px;
} 

@media(max-width:1200px) {
.industry_content {
	width: 92% !important;
}

.industry_list {
	gap: 32px;
	flex-wrap: wrap;
	justify-content: center;
}
}

@media(max-width: 896px) {
.industry_content {
	padding: 40px 0;
}
}
/* ----------  【ここまで】業界別支援イメージ ---------- */

/* ----------  選ばれる理由 ---------- */
.reason_content {
	width: 1100px !important;
	margin: 0 auto;
	padding: 64px 0 160px;
	margin-bottom: 0 !important;
}

.reason_item {
	width: 320px;
	display: flex;
	align-items: center;
	gap: 16px;
}

.problem_bg02 {
	position: absolute;
	bottom: 0;
	left: 0 !important;
	width: 100vw !important;
	transform: scaleY(-1);
}

@media(max-width:1200px) {
.reason_content {
	width: 92% !important;
	padding: 64px 0 120px;
}
	
.reason_list {
    gap: 40px;	
}
}

@media(max-width: 896px) {
.reason_content {
	padding: 40px 0 80px;
}
}

@media(max-width:600px) {
.problem_bg02 {
	width: 100%;
  height: 48px; /* 好きな高さ */
  overflow: hidden; /* はみ出し防止 */
}

.problem_bg02 img {
	width: 100%;
  height: 100%;
  object-fit: cover; /* 縦横比を維持しつつ、領域を完全に埋める */
  object-position: center; /* 画像の中央を基準にトリミング */
  display: block; /* 隙間防止 */
}
}

/* ---------- 【ここまで】選ばれる理由 ---------- */

/* ----------  導入までの流れ ---------- */
.flow_content {
	width: 1200px !important;
	margin: 0 auto;
}
.flow_title {
	font-size: 2.25rem !important;
	font-weight: 700 !important;
}

.flow_list {
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.flow_item {
	display: flex;
    align-items: center;
	gap: 12px;
	width: 190px;
	position: relative;
}

.flow_item_inner {
	display: flex !important;
	align-items: center;
	gap: 6px;
}

.flow_item:not(:last-child)::after {
	content: "";
	position: absolute;
	background-image: url(http://komaki-test06.com/wp-content/uploads/2025/10/flow06.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 16px;
	height: 16px;
	top: 50%;
	transform: translatey(-50%);
	right: -28px;
}

.flow_img {
  background: linear-gradient(to right, #00AAFF 0%, #0335FF 100%);
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 13px 4px 15px rgba(37, 99, 235, 0.5);
  overflow: hidden; 
}

.flow_img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

@media(max-width:1200px) {
.flow_content {
	width: 92% !important;
}

.flow_list {
	width: 70%;
	flex-direction: column;
	row-gap: 56px;
	margin: 0 auto;
}

.flow_item {
	gap: 24px;
	width: 100%;
	flex-direction: row !important;
	align-items: flex-start;
}
	
.flow_item_inner {
	align-items: self-start;
	width: 80%;
}

.flow_item:not(:last-child)::after {
	top: auto;
	bottom: -44px;
	right: auto;
	left: 50%;
	transform: rotate(90deg) translatex(-50%);
	
}

.flow_img {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
  }

  .flow_img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}

@media(max-width:896px) {
    .flow_list {
        width: 100%;
    }

}
/* ----------  【ここまで】導入までの流れ ---------- */

/* ----------  CTA ---------- */
.cta_title {
	font-size: 3rem !important;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-bottom: 0 !important;
}

.cta_lead {
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.07em;
}

.cta_content .cta_btn_content {
	justify-content: center;
}

@media(max-width:960px) {
.cta_content {
	padding: 56px 0;	
}
.cta_title {
	font-size: 2rem !important;
}

.cta_content .cta_btn_content {
	align-items: center;
}	

.cta_btn_content .wp-block-buttons {
	width: 100%;
	max-width: 400px;
}
	
	.cta_btn_content .cta_btn {
		width: 100%;
	}
}
/* ---------- 【ここまで】CTA ---------- */

/* --------フッター-------- */
.footer_wrapper {
	width: 1100px;
	margin: 0 auto;
	color: #FFF;
}


.footer_list {	
	display: flex;
	justify-content: space-between;
}

.footer_item {
	width: 22%;
	display: flex; 
	flex-direction: column;
	gap: 8px;
}

.footer_text {
	color: #9CA3AF !important;
}

.footer_name {
	font-size: 1.125rem;
	font-weight: 700;
	margin-bottom: 8px;
	padding: 0 !important;
}

.footer_text {
	font-size: 0.9375rem;
	font-weight: 400;
}


.footer_item a {
	transition: color 0.2s ease;
}

.footer_item a:hover {
	color: #006FFF;
}

.footer_wrapper img {
	margin-bottom: 12px;
	width: 210px;
}

.l-footer__foot {
	color: #FFF;
}

@media(max-width:1200px) {
.footer_wrapper {
	width: 92%;
}


.footer_list {	
	flex-direction: column;
	gap: 24px;
}

.footer_item {
	width: 100%;
	gap: 4px;
}

.footer_name {
	margin-bottom: 0;
}
}
/* --------【ここまで】フッター -------- */
/* ========== 【ここまで】トップページ ========== */

/* ========== ソリューション ========== */
/* --------ファーストビュー -------- */
.l-content {
	margin-top: -84px !important;
}

.low_fv {
	width: 100vw !important;
    height: 550px;
}

.low_fv_inner {
	color: #FFF;
}

.low_fv_inner h2 {
	font-size: clamp(2rem, 2.5vw, 2.25rem);
    font-weight: 700;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    margin-bottom: 16px;
}
/* -------- 【ここまで】ファーストビュー -------- */

/* --------  こんな課題はありませんか -------- */
.sol_problem {
	background: linear-gradient(rgba(255,255,255,0.75), rgba(255,255,255,0.75)),url(http://komaki-test06.com/wp-content/uploads/2025/10/Blue_img-scaled.webp);
	background-repeat: no-repeat;
	background-position: -490px -430px;
	background-size: 2160px 960px;
}

.sol_problem_content {
	max-width: 1160px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.sol_problem_list {
	gap: 36px;
}

.sol_problem_item {
	display: flex !important;
	flex-direction: row !important;
	gap: 12px;
	
}

.sol_problem_inner {
	gap: 0;
}
/* --------  【ここまで】こんな課題はありませんか -------- */

/* --------  デジタルサイネージで実現する商業施設の活用方法 -------- */
.sol_use {
	background: linear-gradient(rgba(255,255,255,0.75), rgba(255,255,255,0.75)),url(http://komaki-test06.com/wp-content/uploads/2025/10/Blue_img-scaled.webp);
	background-repeat: no-repeat;
	background-position: -290px 0;
	background-size: 2160px 960px;
}

.sol_use_h3 {
	margin-bottom: 160px !important;
}

.sol_use_list {
	max-width: 1280px;
	margin: 0 auto;
	display: flex !important;
	justify-content: space-between;
}

.sol_use_item {
	width: 420px;
	height: 420px;
	padding: 32px;
	background-color: #FFF;
	border-radius: 50%;
	display: flex !important;
	align-items: center;
    justify-content: center;
	gap: 16px;
	box-shadow: 0 4px 20px 42px rgba(219, 234, 254, 1);
}

/* 左端だけ上にずらす */
.sol_use_list .sol_use_item01 {
  transform: translateY(-120px);
}

.sol_use_list .sol_use_item02 {
    position: relative;
	z-index: 1;
}

/* 右端だけ上にずらす */
.sol_use_list .sol_use_item03 {
  transform: translateY(-120px);
}

.sol_use_title {
	font-size: 2rem;
	font-weight: 700;
}

.use_text_content {
	display: flex !important;
	gap: 0;
	padding-left: 24px;
}

.use_text02 {
	display: inline;
	position: relative;
}

.use_text02::before {
	content: "";
	display: inline-block;
	position: absolute;
	background-image: url(http://komaki-test06.com/wp-content/uploads/2025/10/sol_use_icon.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 10px;
	height: 8px;
	top: 50%;
	left: -20px;
	transform: translatey(-50%);
}
/* --------  【ここまで】デジタルサイネージで実現する商業施設の活用方法 -------- */

/* --------  導入効果 -------- */
.sol_effect_h3 {
	margin-bottom: 24px !important;
}

.effect_title {
	font-size: 1.75rem;
	display: inline;
}

/* --------無料相談・お問い合わせ-------- */
.contact_content {
	background-color: #FFF;
	border-radius: 20px;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
	padding: 48px;
}

.wpcf7 {
	width: 100%;
}

/* お問い合わせ_記入欄デザイン */
.wpcf7-form-control {
	width: 100%;
	height: 50px;
	margin: 8px 0 20px;
	border-radius: 8px;
	background-color: #FFF;
	border: 1px solid #D1D5DB;
	color: #CCCCCC;
	padding-left: 16px;
	font-size: 16px;
	font-weight: 400;
}

/* お問い合わせ_例）文字色 */
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: #CCCCCC;
  opacity: 1;
}

/* お問い合わせ_お問い合わせ内容デザイン */
.wpcf7 textarea.content {
  height: 200px;
	margin-bottom: 20px;
}

.wpcf7 .agree_content {
	display: flex;
	align-items: center;
	flex-direction: column;
	margin-bottom: 24px;
}

.agree_content .wpcf7-form-control {
	color: #333 !important;
	font-weight: 600;
}

.agree_p {
	font-size: 16px;
	font-weight: 500;
}

.wpcf7-checkbox input[type="checkbox"] {
  width: 12px;
  height: 12px;
	margin-right: 8px;
}

.wpcf7-checkbox {
    width: 100%;
    height: auto;
    margin: 0; 
   border-radius: 0;
   background-color: transparent; 
    border: none;
   color: #252D3E; 
   padding-left: 0;
}

.wpcf7-list-item {
    margin: 0; 
}

.wpcf7 .contact_btn {
	font-size: 1.125rem;
	color: #FFF;
	border-radius: 8px;
	background-color: #3B82F6;
    padding: 14px 40px;
    display: flex;
    align-items: center;
	justify-content: center;
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    transition: box-shadow .2s;
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
}

/* お問い合わせ_送信ボタンのホバー時デザイン */
.wpcf7 .contact_btn:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
	transition: all 0.2s ease;
}

@media(max-width:960px) {
	.contact_content {
		width: 100%;
		margin: 0 auto;
	padding: 32px 28px;
}
}
/* --------【ここまで】無料相談・お問い合わせ-------- */

/* -------- プライバシーポリシー -------- */
.privacy_list {
	max-width: 848px;
	margin: 0 auto;
}

.privacy_item {
	width: 100%;
	padding: 32px;
	border-radius: 16px;
	border: solid 1px #E5E7EB;
	margin-bottom: 48px;
}

.privacy_inner {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px !important;
}

.privacy_num {
	background-color: #2563EB;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	color: #FFF;
}

.privacy_text {
	margin-left: 48px;
}

.privacy_list02 {
	margin-left: 48px;
}

.privacy_list02 li::marker {
	color: #2563EB;
}

.privacy_contact {
	background: linear-gradient(to right, #EFF6FF 0%, #EEF2FF 100%);
}

.privacy_contact_inner {
	background: #FFF;
	padding: 24px;
	border-radius: 16px;
	border: solid 1px #E5E7EB;
	margin-left: 48px;
}

.privacy_icon01::before, .privacy_icon02::before {
	content: "";
	display: inline-block;
	background-repeat: no-repeat;
	background-size: contain;
	width: 12px;
	height: 12px;
	margin-right: 8px;
}

.privacy_icon01::before {
	background-image: url(http://reach-vision.com/wp-content/uploads/2025/10/privacy01.png);
}

.privacy_icon02::before {
	background-image: url(http://reach-vision.com/wp-content/uploads/2025/10/privacy02.png);
}