@charset "utf-8";
/* CSS Document */
.site-body {
  padding: 7.5rem 0 4rem !important;
}
#comments, .comments-area, .comment-list, #respond {
  display: none !important;
}
.vk_posts, .entry-meta-item-updated, .entry-meta-item-author {
  display: none;
}
.privacy-policy h2 {
  text-align: left;
  margin: 70px 0 35px;
}
/* 採用情報 */
body.page-id-90 .page-header {
  background: url("../img/careers/careers_main.png") no-repeat !important;
  padding: 120px 0;
  background-position: bottom !important;
  background-size: cover !important;
}
body.page-id-90 h3 {
margin-bottom: 10px;
}
body.page-id-90 dl{
border-top: 1px solid #cdcdcd;
  padding: 3% 0;
  display: flex;align-items: center;
  margin: 0
}
body.page-id-90 dl:last-child{
	border-bottom: 1px solid #cdcdcd;	
}
body.page-id-90 dl dt{
	width: 20%;
	margin-right: 5%;align-items: center;
}
body.page-id-90 dl dd{
	width: 70%;
	text-align: left;align-items: center;
}
/* サービス開始 */
body.page-id-85 .page-header {
  background: url("../img/service/service_main.png") no-repeat !important;
  padding: 120px 0;
  background-position: bottom !important;
  background-size: cover !important;
}
/*body.page {
  background-attachment: fixed;
  background-image: url(../img/left_c.png), url(../img/right_c.png);
  background-position: 0% 120%, 100% 465%;
  background-repeat: no-repeat;
  text-align: left;
}
body.page {
  background-attachment: fixed;
	background-image: url(../img/left_c.png), url(../img/right_c.png), linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.1)), url(../img/koushi.png);
  background-position: 0% 120%, 100% 465%, 0 0, 0 0;
  background-repeat: no-repeat, no-repeat, repeat, repeat;
  text-align: left;
  background-size: auto, auto, auto, 3%;
}*/
body.page {
  background-attachment: fixed;
	background-image: url(../img/left_c.png), url(../img/right_c.png);
  background-position: 0% 120%, 100% 465%;
  background-repeat: no-repeat, no-repeat;
  text-align: left;
  background-size: auto, auto;
}

body h3 {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: left;
}
h4 .txt01 {
  font-size: 1rem;
  font-family: "neulis-sans", sans-serif;
  font-weight: 400;
  color: #191919;
  line-height: 1.8;
  border: none;
  letter-spacing: 2px;
  padding-left: 5px;
  font-style: normal;
}
body p {
  text-align: left;
  line-height: 1.8;
}
.flex {
  display: flex;
  width: 100%;
  align-items:flex-start;
}
body.page-id-85 .site-body .flex {
  margin: 12% 0;
}
.flex btn {
	display: block;
  margin: 8% auto;
}
.flex .imgBlock {
  width: 40%;
}
.flex .txtBlock, .flex .txtBlock02 {
  width: 50%;
  text-align: left;
}
.flex .txtBlock p {
  line-height: 2;
}
.flex .txtBlock {
  margin-left: 6%;
}
.flex .txtBlock02 {
  margin-right: 6%;
}
.flex .imgBlock02 {
  width: 40%;
}
.flex .imgBlock img {
  border-radius: 0 80px 0 0;
}
.flex .imgBlock02 img {
  border-radius: 80px 0 0 0;
}
.flex p {
  line-height: 1.7;
}
body.page-id-85 h4 {
  color: #135fb0;
  background: none !important;
  padding: 0 !important;
}
.aoBox{padding: 0;}
/* サービス終了 */
/* 商品・イメージ撮影 */
body.page-id-123 .page-header {
  background: url("../img/service/photograph/service4_img.png") no-repeat !important;
  padding: 120px 0;
  background-position: bottom !important;
  background-size: cover !important;
}
body.page-id-116 .page-header {
  background: url("../img/service/advertising/service2_img.png") no-repeat !important;
  padding: 120px 0;
  background-position: bottom !important;
  background-size: cover !important;
}
body.page-id-125 .page-header {
  background: url("../img/service/communication/service5_img.png") no-repeat !important;
  padding: 120px 0;
  background-position: bottom !important;
  background-size: cover !important;
}
/* CRM開始 */
body.page-id-133 .page-header {
  background: url("../img/service/crm/service9_img.png") no-repeat !important;
  padding: 120px 0;
  background-position: bottom !important;
  background-size: cover !important;
}
/* プロモーション開始 */
body.page-id-129 .page-header {
  background: url("../img/service/promotion/service7_img.png") no-repeat !important;
  padding: 120px 0;
  background-position: bottom !important;
  background-size: cover !important;
}
/* プロモーション開始 */
body.page-id-129 .page-header {
  background: url("../img/service/promotion/service7_img.png") no-repeat !important;
  padding: 120px 0;
  background-position: bottom !important;
  background-size: cover !important;
}
/* sns開始 */
body.page-id-121 .page-header {
  background: url("../img/service/sns/service3_img.png") no-repeat !important;
  padding: 120px 0;
  background-position: bottom !important;
  background-size: cover !important;
}

body.page-id-121 .aoBox li{
	width: 30%;
}
body.page-id-121 .aoBox li h5{
	background: #135fb0;
	color: #fff;
}

/* マーケティング開始 */
body.page-id-104 .page-header {
  background: url("../img/service/marketing/service1_img.png") no-repeat !important;
  padding: 120px 0;
  background-position: bottom !important;
  background-size: cover !important;
}
h4.line .txt01 {
  display: block;
  padding-left: 0;
  line-height: 2;
  font-size: 0.8rem;
}
h4.line {
  font-size: 1.4rem;
  padding: 0 !important;
  background: none;
  margin-top: 8%;
  text-align: left;
  line-height: 2;
}
.txt01 {
  display: block; /* ブロック要素にして改行 */
  width: max-content; /* 文字の長さに合わせる */
  border-bottom: 3px solid #135fb0 !important;
  padding: 0 2px 0 3px !important;
}
.aoBox {
  margin: 5% 0 0;
}
.aoBox02 {
  margin: 0;
}
.aoBox {
    display: flex;
    gap: 20px; /* li同士の間隔 */
    align-items: stretch; /* 高さを揃える */
}

.aoBox li {
    flex: 1; /* 均等な幅にする */
    display: flex;
    flex-direction: column;
}

.aoBox li h5 {
    min-height: 50px; /* タイトルの高さを統一（適宜調整） */
    display: flex;
    align-items: center; /* 縦方向の中央揃え */
    justify-content: center; /* 横方向の中央揃え */
    text-align: center; /* テキストの中央揃え（複数行対策） */
    padding: 10px; /* 余白を追加してバランス調整（任意） */
}
.aoBox li p{padding: 0 10px;}
.aoBox li p img {
    width: 100%; /* 画像の幅を揃える */
    height: auto; /* 高さを自動調整 */
}

.aoBox li p:last-child {
    flex-grow: 1; /* 説明文の高さを調整して統一 */
    display: flex;
    align-items: flex-start;
}
.aoBox dl {
  display: flex;
  width: 32%;
  padding: 1%;
}
.aoBox dl dd {
  width: 66%;
  text-align: left;
  margin: 6% 0% 0 5%;
  line-height: 1.7;
}
.grayBox {
  display: flex;
  margin: 5% 0;
  padding: 0;
}
.grayBox li {
  width: 32%;
  margin-right: 2%;
  background: #f3f3f3;
  padding: 30px 6px 30px 70px;
  position: relative;
  margin-bottom: 10px;
  text-align: left;
  border-radius: 8px;
}
.grayBox li::before {
  content: "";
  position: absolute;
  left: 6%;
  top: 38%;
  width: 30px; /* アイコンのサイズ */
  height: 31px;
  background: url("../img/service/marketing/check.png") no-repeat !important;
  background-size: contain;
  background-repeat: no-repeat;
}
#breadcrumb {
  background: #135fb0;
  color: #fff;
}
@media only screen and (max-width: 760px) {
  .aoBox dl, .grayBox li {
    width: 100%;
  }
	body h3 {
  font-size: 2rem;
  padding-bottom: 0.2rem;
}
  .grayBox {
    display: inherit;
  }
  body .page-header {
    padding: 12% 0 !important;
  }
.site-body {
  padding: 3rem 0 4rem !important;
}
.flex .imgBlock {
  width: 100%;
}
	.flex .txtBlock, .flex .txtBlock02 {
  width: 94%;
  text-align: left;
  margin: 0% 3% 7%!important;
}
	.flex .imgBlock02 {
  width: 100%;
}
	  .flex {
    flex-direction: column; /* スマホ版は縦並び */
  gap: 20px; /* 要素の間隔調整 */
  }

  .imgBlock02 {
    order: -1; /* 画像を先に表示 */
  }

  .txtBlock02 {
    order: 2; /* テキストを後に表示 */
  }
}

ul.icon h5{
	font-weight: bold;
	border-bottom: 1px solid #000;
}
ul.icon {
  display: flex;
  flex-wrap: wrap; /* 折り返し */
  gap: 30px; /* 要素間の余白 */
}

ul.icon li {
width: calc(42% - 0%);
  box-sizing: border-box;
  margin-right: 6%;
 box-sizing: border-box; /* パディングやボーダーを含める */
}
/* データ開始 */
body.page-id-131 .page-header, body.single .page-header {
  background: url("../img/service/data/service8_img.png") no-repeat !important;
  padding: 120px 0;
  background-position: bottom !important;
  background-size: cover !important;
}
/* クリエイティブデザイン開始 */
body.page-id-127 .page-header, body.single .page-header {
  background: url("../img/service/creative/service6_img.png") no-repeat !important;
  padding: 120px 0;
  background-position: bottom !important;
  background-size: cover !important;
}

body.page-id-127 ul.icon h5{
	font-weight: bold;
	border-bottom: 1px solid #000;
}
body.page-id-127 ul.icon {
  display: flex;
  flex-wrap: wrap; /* 折り返し */
  gap: 30px; /* 要素間の余白 */
}

body.page-id-127 ul.icon li {
  width: calc(43% - 10px); /* 50%幅からgap分を調整 */
 box-sizing: border-box; /* パディングやボーダーを含める */
}
/* 会社概要開始 */
body.page-id-31 .page-header, body.single .page-header {
  background: url("../img/company/company_main.png") no-repeat !important;
  padding: 120px 0;
  background-position: bottom !important;
  background-size: cover !important;
}
body.page-id-31 .entry-body{
	width: 900px;
	margin: 0 auto;
}
body.page-id-31 h3 .txt02{font-size: 1rem;
  display: block;
  color: #135fb0;
}
body.page-id-90 h3 .txt02{font-size: 1rem;
  display: block;
  color: #135fb0;
}
body.page-id-31 dl{
border-top: 1px solid #cdcdcd;
  padding: 3% 0;
  display: flex;align-items: center;
  margin: 0
}
body.page-id-31 dl:last-child{
	border-bottom: 1px solid #cdcdcd;	
}
body.page-id-31 dl dt{
	width: 20%;
	margin-right: 5%;align-items: center;
}
body.page-id-31 dl dd{
	width: 70%;
	text-align: left;align-items: center;
}
body.page-id-31 .right{text-align: right;line-height: 3;}
body.page-id-31 p{max-width: 900px;margin: 0 auto;}

body.page-id-31 .Box01{
	margin-top: 50px;
}
.txt_bold{font-weight: bold;}
.bold_ao{ color: #135fb0;}
.txt_bold_large{
	font-weight: bold;
	font-size: 1.4rem;
	text-align: center;
	color: #135fb0;
	margin-bottom: 30px;
}
body.page-id-31 .flex{
	align-items: stretch;
}
body.page-id-31 .box{
background-color: #135fb0;
  border-radius: 10px;
  font-weight: bold;
  color: #fff;
  padding: 30px 30px;
	display: flex;
	justify-content: center;
  align-items: center;
  text-align: center;
	margin: 20px 2%;
  width: 29%;
}
body.page-id-31 .arrow{
	margin: 30px auto;
	text-align: center;
}
body.page-id-90 h5{
margin: 10% 0% 3%;
  font-size: 1.2rem;
  font-weight: bold;
  background: #e3eef8;
  padding: 10px 25px;
}
body.page-id-90 ul {
	margin-bottom: 0;
}
body.page-id-90 btn {    display: block;
    margin: 3% auto;}
/* NEWS開始 */
body.category-news .page-header, body.single .page-header {
  background: url("../img/news/news_img.png") no-repeat !important;
  padding: 120px 0;
  background-position: bottom !important;
  background-size: cover !important;
}
/* 問い合わせフォーム開始 */
.page-id-32 dl{
	display: flex;
}
.wpcf7-list-item{display: block;
  font-size: 1.1rem;
}
.hissu {
color: #dd0808;
  border-radius: 6px;
  padding: 1px 11px;
  display: inline-block;
  font-size: 0.8rem;
  border: 1px solid #dd0808;
}
.nini{
  color: #135fb0;
  border-radius: 6px;
  padding: 3px 13px;
  display: inline-block;
  font-size: 0.8rem;
  border: 1px solid #135fb0;
}

.page-id-32 dl dt{width:30%;
margin-right:5%;
font-weight: bold;
  font-size: 1.1rem;  display: flex;
  align-items: center; /* 縦の位置を揃える */
  gap: 10px; /* テキストと「必須」の間隔調整 */}

.page-id-32 dl dd{
width: 60%;}
.page-id-32 .entry-body{
max-width: 900px;
  margin: 0 auto;}
.page-id-32 .entry-body p.center{
	text-align: center;
}
input[type="submit"]{
	border-radius: 50px;
  background: url("../img/btn_arrow.png") no-repeat #135fb0;
    background-size: auto;
  background-size: 27%;
  padding: 16px 140px 17px 100px;
  color: #fff;
  display: inline-block;
  transition: background-position 0.3s ease-in-out;
  background-position: 85%;
  text-align: left;
  font-weight: bold;
  letter-spacing: 5px;
  font-size: 1.2rem;
  margin: 0 auto
}
input[type="submit"]:hover{
	background: url("../img/btn_arrow02.png") no-repeat #fff ;
  background-position: 91% center; /* 右の画像を少し左へ移動 */
	border: 1px solid #135fb0;
	color: #135fb0;
}
.wpcf7-spinner{display:none;}
.wpcf7-list-item{margin: 0;}
#wpcf7-f6-p32-o1{
	background: #fff;
	padding: 50px 30px;
}
#wpcf7-f6-p32-o1 .dl {
    list-style-type: disc;
    list-style-position: inside;
}

#wpcf7-f6-p32-o1 dl li {
    padding: .5em;
}

#wpcf7-f6-p32-o1 dl li:not(:last-child) {
    border-bottom: 1px dashed #135fb0;
}

#wpcf7-f6-p32-o1 dl li::marker {
    color: #2589d0;
    font-size: 1.1em;
}

@media only screen and (max-width: 760px) {
	.page-id-32 dl dt{
  width: 100%;
  display: flex;
}
	body.page-id-121 .aoBox li{
	width: 100%;	
	}
.page-id-32 dl{
	display: inline;
}
.page-id-32 dt {
  font-weight: 700;
  margin-bottom: .0em;
}
#wpcf7-f6-p32-o1 {
  padding: 4% 5%;
}
.page-id-32 dl{
	padding-bottom: 5%;
}
.wpcf7-not-valid-tip {
  display: block;
}
.page-id-32 dl dd {
  width: 100%;
	}
ul.icon{padding: 0;}
ul.icon li {
    width: 96%; /* 1列にする */
	margin: 0 2%;
  }
	body.page-id-31 .entry-body{width:auto;}
	body.page-id-31 .box{width: 97%;}
}