/*
Theme Name: AFFINGER Child
Template: affinger
Description: AFFINGER6 対応
Version: 20240601
*/

/*media Queries スマートフォンとタブレットサイズ（959px以下）で適応したいCSS - スマホ・タブレット
---------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 959px) {


	/*-- ここまで --*/
}
	
/*media Queries タブレットサイズ（600px～959px）のみで適応したいCSS -タブレットのみ
---------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 600px) and (max-width: 959px) {


	/*-- ここまで --*/
}	
	
/*media Queries タブレット（600px）以上で適応したいCSS -タブレット・PC
---------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 600px) {


	/*-- ここまで --*/
}

/*media Queries PCサイズ（960px）以上で適応したいCSS - PCのみ
---------------------------------------------------------------------------------------------------*/
@media print, screen and (min-width: 960px) {


	/*-- ここまで --*/
}

/*media Queries スマホサイズ（599px）以下で適応したいCSS - スマホのみ
---------------------------------------------------------------------------------------------------*/
@media print, screen and (max-width: 599px) {

	
	/*-- ここまで --*/
}



.h1 {
	font-size: 36px;
}
.h3 {
	font-size: 24px;
}
.h4 {
	font-size: 18px;
}
.h6 {
	font-size: 16px;
}
@media only screen and (max-width: 959px) {
	.h1 {
		font-size: 30px;
	}
	.h3 {
		font-size: 20px;
	}
}
@media only screen and (max-width: 600px) {
	.h1 {
		font-size: 20px;
	}
	.h3 {
		font-size: 18px;
	}
	.h4 {
		font-size: 16px;
	}
}
.heading-h2 > span {
  display: inline-block;
}
.heading-h2 img {
  max-width: 70%;
}
@media only screen and (max-width: 600px) {
	.top-merumaga-box .heading-h2 img {
		max-width: 100%;
	}
}
img {
  image-rendering: -webkit-optimize-contrast;
}
img:not(.size-st_header_slider), video, object {
	border-width: 0;
	border-color: transparent;
}
.mb0 {margin-bottom:0 !important;}
.mb10 {margin-bottom: 10px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb40 {
	margin-bottom: 30px !important;
}
.mb60 {
	margin-bottom: 60px !important;
}
.mt40 {
	margin-top: 40px !important;
}
.my-3 {
	margin-top: 1rem;
	margin-bottom: 1rem;
}
.lh-1 {
	line-height: 1 !important;
}
.d-none {
	display: none !important;
}
.d-block {
	display: block !important;
}
.d-inline-block {
	display: inline-block !important;
}
.fw-bold {
	font-weight: 700 !important;
}
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}
.text-left {
	text-align: left;
}
.text-decoration-underline {
	text-decoration: underline !important;
}
.text-decoration-none {
	text-decoration: none !important;
}
.text-white {
	color: #fff !important;
}
.text-primary {
	color: #172ab5 !important;
}
.bg-primary {
	background-color: #172ab5 !important;
}
.mx-auto {
	margin-left: auto !important;
	margin-right: auto !important;
}
.w-100 {
  width: 100%;
}
.wp-block-image.w-100 figure, .wp-block-image.w-100 figure img {
  width: 100%;
}
.wp-block-spacer.spacer-basic {
  height: 60px !important;
}
@media only screen and (min-width: 600px) {
	.block-btn img {
  	max-width: 364px;
	}
}
.link-arrow {
  padding-right: 3.2em;
  background: url("/wp-content/uploads/2020/06/arrow_right.png") right center no-repeat;
  background-size: auto;
  background-size: 30%;
	color: #000;
	text-decoration: none;
}
.btn-green {
	display: inline-block;
	text-decoration: none;
	color: #fff;
	border-radius: 6px;
	background-color: rgb(1,185,1);
	box-shadow: 4px 4px 0 0 rgb(0,105,0);
	font-size: clamp(1.25rem, 0.364rem + 1.85vw, 1.75rem);
	font-weight: 700;
	text-align: center;
	padding: 1.5rem;
	border: none;
	box-sizing: border-box;
	width: 340px;
	max-width: 70vw;
}
.btn-green:hover {
  color: #fff;
	transform: translate(4px,4px);
	box-shadow: none;
	transition: .15s ease;
}
.arrow-btn::after {
  content: '';
	display: inline-block;
	width: 1em;
	height: .84em;
	background: url(./images/arrow.svg) center/contain no-repeat;
	margin-left: .5em;
}
.more-link {
	display: inline-block;
	line-height: 1;
	padding-top: 10px;
}

/**** レイアウト ****/
.sns {display:none;}
@media print, screen and (max-width: 767px) {
	.service-content-wrap {
		padding: 1em !important;
	}
}
@media print, screen and (min-width: 600px) {
	.colum1 main {
		margin-left: 0;
		margin-right: 0;
		padding-top: 0;
	}
}

#content-w {
	overflow-x: hidden;
} 
.full-width-box {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: 70px;
	padding-right: 70px;
}
.inner-container {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}
@media only screen and (max-width: 959px) {
	.full-width-box {
		margin-left: -30px;
		margin-right: -30px;
	  padding-left: 30px;
	  padding-right: 30px;
	}
}
@media only screen and (max-width: 600px) {
	.full-width-box {
		margin-left: -15px;
		margin-right: -15px;
		padding-left: 15px;
		padding-right: 15px;
	}
}

.page .entry-content > div {
	margin-bottom: 0;
}



/**** ロゴ ****/
.sitename img, .footerlogo img {
  max-width: 245px;
}
/**** メニュー ****/
@media only screen and (min-width: 960px){
	#header-r {
		position: relative;
		margin-top: 16px;
	}
	.menu-sns {
		position: absolute;
		top: -38px;
	}
	.menu-sns img {
		width: 24px;
	}
	.menu-line {
		right: 20px
	}
	.menu-x {
		right: 60px
	}
	.menu-insta {
		right: 100px;
	}
	.menu-yt {
		right: 140px;
	}
	.menu-note {
		right: 180px;
	}
	#header-r .footermenubox.st-menu-side-box ul {
		flex-wrap: nowrap !important;
	}
	#header-r .footermenubox.st-menu-side-box {
		width: auto !important;
	}
	#header-r .footermenust.st-menu-side a {
		color: #1a1a1a;
		white-space: nowrap;
	}
}
@media only screen and (max-width: 959px) {
	#headbox {
    display:  flex;
		padding-bottom: 0 !important;
  }
  #header-l {
    margin-right: auto;
    margin-left: auto;
  }
	#s-navi {
		width: 100%;
	}
	#s-navi dl.acordion, #s-navi dt.trigger {
		height: 100%;
	}
	header #st-mobile-logo {
		padding-right: 0 !important;
	}
}

/**** ヘッダー ****/

/**** フッター ****/
.footermenust {
	display: flex;
	justify-content: center;
	padding: 20px 0;
}
#footer .footermenust li {
	margin-bottom: 1rem;
	display: inline-block;
}
#footer .footermenust a {
	word-break: keep-all;
}

/**** フロントページ ****/
.home-section {
	padding-top: 50px;
	padding-bottom: 50px;
}
#top-hero {
	margin-top: -40px;
	background-size: cover;
	background-position: left top;
}
.home-hero-box {
	padding: 3rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
	gap: 1.5rem;
}
.home-hero-l {
	text-align: left;
}
.home-hero-title {
	font-size: 40px;
	color: #172ab5;
}
.home-hero-title .st-dash-design {
	text-align: left !important;
}
.home-hero-title-text {
	background-color: #fff;
	display: inline-block;
	margin-bottom: .5rem !important;
	line-height: 1.4;
	text-align: left;
}
.home-hero-link {
	color: #fff;
	text-decoration: none;
	text-shadow: 0 0 10px rgba(0,0,0,.5);
}
.home-hero-link i {
	color: #172ab5;
	background-color: #fff;
	width: 1.25em;
	height: 1.25em;
	line-height: 1.25em;
	text-align: center;
	border-radius: 100%;
}
.home-hero-link:hover {
	color: #fff;
	opacity: .7;
}

#top-service {
	background-color: rgba(255,255,255,.85);
}

@media only screen and (max-width: 959px) {
	#top-hero {
		margin-top: -20px;
	}
	.home-hero-box {
		padding: 1rem 0;
	}
	.home-hero-title {
		font-size: 26px;
	}
	.home-hero-link {
		font-size: 14px;
	}
	.home-hero-r {
		width: 25vw;
		margin-left: auto;
	}
}
@media only screen and (max-width: 600px) {
	#top-service {
		padding-top: 100px;
	}
	.home-hero-box {
		flex-direction: column;
		align-items: flex-start;
	}
	.home-hero-r {
		margin-bottom: -6rem;
		width: 50vw;
	}
}


.home .wp-block-columns {
  margin-bottom: 0;
}
.bg-frame-dot {
  padding: 30px;
  background-image: url(./images/bg_dot.png);
  background-position: 0 0;
  background-repeat: repeat;
}
.bg-frame-dot > div {
	background-color: #fff;
	padding: 30px;
	padding-top: calc(30px + 1.75em);
}
.home .post h2 span {
	padding: 0;
	margin: 0;
}
@media only screen and (max-width:599px) {
	#top-hero {
		justify-content: flex-end;
		padding-top: 15px;
	}
	.top-hero-l {
		margin-bottom:15px;
	}
	.top-hero-r {
        max-width: 150px;
		margin-bottom:15px;
	}
	.top-hero-r > p:first-child {
		margin-bottom: 0;
	}
}

/**** home service ****/
#home-service {
	display: flex;
	flex-wrap: wrap;
	column-gap: 2rem;
	row-gap: 1rem;
}
.home-service-box {
	background-color: #fff;
	padding: 20px;
	box-shadow: 0 0 10px rgba(0,0,0,.15);
	display: block;
	box-sizing: border-box;
	flex: 0 0 calc(33.333% - 1.333rem);
	text-decoration: none;
	color: rgb(49, 49, 49);
	transition: opacity .3s ease;
}
.home-service-box:hover {
	color: rgb(49, 49, 49);
	opacity: .7;
}
.home-service-box h3 {
	font-size: 28px;
	padding: 1rem 0;
}
.home-service-box p {
	margin-bottom: 0;
}
@media only screen and (max-width:767px) {
  .home-service-box {
		flex: 0 0 100%;
	}
}




/**** top profile ****/
#top-profile {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
}
.top-profile-box {
	padding: 4rem;
	background-color: rgba(79,85,132, .5);
	color: #fff;
	max-width: 680px;
}

@media only screen and (max-width: 600px) {
	.top-profile-box {
		padding: 2rem 1rem;
	}
}

/**** top cases ****/
#top-cases {
	background-color: rgb(249,249,249);
}

/**** top merumaga ****/
#top-merumaga {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
}
.top-merumaga-box {
	max-width: 680px;
}
.merumaga-form {
	text-align: center;
}
.merumaga-form p:not(:last-child) {
	margin-bottom: 15px;
}
.btn-image {
	transition: .35s ease;
	padding: 0 !important;
	width: 100%;
	height: auto;
}
.btn-image:hover {
	opacity: .8;
}
.merumaga-form .btn-image {
	max-width: 340px;
}
.merumaga-form input:not(.st-tab-label):not([type="image"]) {
	padding: 15px;
	margin-top: 0;
	margin-bottom: 0;
}

@media only screen and (max-width: 600px) {
	#top-merumaga {
		background-image: url(./images/mailkouza_bg.jpg);
	}
}
/**** メルマガ登録フォーム ****/

.top-mailmag {
  padding: 30px;
  background-image: url(./images/bg_dot.png);
  background-position: 0 0;
  background-repeat: repeat;
}
.top-mailmag > div {
  background-color: #fff;
  padding: 28px 28px 8px;
}
.top-mailmag-form {
  text-align: center;
}
.btn-image {
	transition: .35s ease;
	padding: 0 !important;
	width: 100%;
	height: auto;
}
.btn-image:hover {
	opacity: .8;
}
.top-mailmag-form .btn-image {
	max-width: 340px;
}
.top-mailmag-form input:not([type="submit"]):not(.btn-image) {
  max-width: 340px;
  background: rgb(230,230,230);
	border-radius: 2px !important;
  border-width:  0 !important;
  padding: 15px !important;
}
.btn-submit, .btn-main .wp-block-button__link {
  background: rgb(9,170,70);
  color:  #fff;
  border: 1px solid rgb(9,170,70);
  border-radius: 2px !important;
  padding: 15px 30px !important;
  font-weight: 700;
  transition:  .35s ease;
}
.top-mailmag-form .btn-submit, .side-mailmag-form .btn-submit {
  width: 100%;
  max-width: 70%;
}
.btn-submit:hover, .btn-main .wp-block-button__link:hover {
  background: rgb(29,190,90);
}
@media only screen and (max-width: 959px) {
  .top-mailmag > div {
    padding: 1.75em 1.75em 0;
  }
}

.side-mailmag {
  padding: 40px 20px;
  background-image: url(./images/mailkouza_bg.jpg);
  background-size: cover;
	background-repeat: no-repeat;
  margin-bottom: 40px;
}
.side-mailmag > div {
  padding: 0;
}
.side-mailmag h4 {
  margin-bottom: 30px !important;
}
.side-mailmag-form {
  text-align: center;
}
.side-mailmag-form input:not([type="submit"]):not(.btn-image) {
  background: #fff;
  border-radius: 2px !important;
  border-width:  0 !important;
  padding: 10px !important;
}
.side-mailmag-form .btn-green {
  width: 100%;
	max-width: 100%;
	font-size: 20px;
	padding: .875rem;
}
.side-mailmag-form p:not(:last-child) {
	margin-bottom: 15px;
}

/**** display-posts ****/

.display-posts-listing {
	list-style: none !important;
	display: flex;
	flex-wrap: wrap;
	padding: 0 !important;
	margin-left: -15px;
	margin-right: -15px;
	margin-bottom: 0 !important;
}
.dps-title {
  font-weight: normal;
	font-size: 16px;
}
.dps-meta {
  margin-bottom: 8px;
}
.listing-item a {
  color: #000;
  text-decoration: none;
}
.listing-item .catname {
  color: #fff;
  margin-right: .25rem;
  font-size: 12px;
  padding: 4px;
}
.listing-item {
	padding-left: 15px;
	padding-right: 15px;
	margin-bottom: 20px;
	width: 25%;
	box-sizing: border-box;
}
.listing-item .image {
  position: relative;
  display: block;
	padding-top: 70%;
  overflow: hidden;
	margin-bottom: 8px;
}
.listing-item .image img {
  width: 100%;
	height: 100%;
  position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}
.listing-item .date {
	display: inline-block;
  margin-right: .5rem;
}
.listing-item .title {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
@media only screen and (min-width:960px) {
	.dps-title {
		font-size: 15px;
	}
	.listing-item {
	  padding-bottom: 0 !important;
	}
}
@media only screen and (min-width: 600px) and (max-width: 959px) {
	.listing-item {
	  width: 50%;
	}
}
@media only screen and (max-width:599px) {
	.listing-item {
	  width: 100%;
	}
}

/**** contact form ****/

.req {
    color: #fff;
    background-color: rgb(255, 111, 111);
    font-size: 14px;
    padding: 3px 6px;
}
.wpcf7 .btn-image {
  max-width: 364px;
}

/**** content-box ****/
.content-box {
	padding: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgb(237,238,242);
	border-radius: 8px;
}
.content-box-inner {
	max-width: 680px;
}
.content-box .h1 {
	letter-spacing: .05em;
}

.content-box .st-css-no .st-dash-design {
	text-align: inherit;
	margin: 0;
	padding: 0;
}
@media only screen and (max-width: 600px) {
  .content-box {
		padding: 30px 15px;
	}
}


/**** booklist, service ****/
@media only screen and (min-width:768px) {
  .rsp-img img {
	max-width: 684px;
  }
}


/**** booklist ****/

.book-image img {
	max-width: 80%;
}
.booklist-present {
	width: 80%;
	margin: 0 auto;
	padding: .5rem 1.5rem;
	position: relative;
}
.booklist-present::before, .booklist-present::after {
	position: absolute;
  content: '';
	display: inline-block;
	width: .5rem;
	height: 100%;
	border-top: 1px solid;
	border-bottom: 1px solid;
	top: 0;
}
.booklist-present::before {
	border-left: 1px solid;
	left: 0;
}
.booklist-present::after {
	border-right: 1px solid;
	right: 0;
}

.booklist-col-box {
  display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
.booklist-col-box > div:first-child {
  flex: 0 0 calc(60% - 20px);
}
.booklist-col-box > div:last-child {
  flex: 0 0 calc(40% - 20px);
}
@media only screen and (max-width:959px) {
	.booklist-col-box > div:first-child {
		flex: 0 0 100%;
	}
	.booklist-col-box > div:last-child {
		flex: 0 0 100%;
	}
}

/**** service ****/
.service-content {
	background-color: #fff;
  padding: 40px;
  box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 10px;
}
.service-content hr {
  margin: 20px 0;
}
.service-content-list {
	list-style: none !important;
	padding: 0 !important;
	margin-bottom: 0 !important;
}
.service-content-list > li {
	position: relative;
	padding: 0 0 0 1.5em !important;
}
.service-content-list > li:not(:last-child) {
	margin-bottom: 5px;
}
.service-content-list > li::before {
	content: '●';
	position: absolute;
	left: 0;
	top: 0;
}
@media only screen and (max-width: 599px) {
	.service-content {
		padding: 20px;
	}
}


/**** ai branding ****/
.ai-new {
	margin-bottom: 2rem !important;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}
.ai-new .wp-block-group__inner-container {
  display: flex;
	flex-wrap: wrap;
}
.ai-new-date {
  margin: 0;
	flex: 0 0 5rem;
}
.ai-new-head {
	margin: 0;
	padding: 0;
	flex: 0 0 calc(100% - 5rem);
	font-size: 1rem;
}
.ai-new-head a {
	color: #000;
	text-decoration: none;
}
.ai-new-head a:hover {
	text-decoration: underline;
}
.ai-new-label {
	color: #fff;
	font-weight: .875em !important;
	display: inline-block;
	background-color: #172ab5;
	line-height: 1.5 !important;
	padding: 0 1rem;
	border-radius: 50rem;
	margin-top: 1rem;
	margin-bottom: 0;
	margin-left: 5rem;
}


/**** side cta ****/
.side-cta {
	border: 4px solid #c6cbce;
}
.side-cta .btn-green {
  max-width: 100%;
	width: 92%;
	margin: 0 4% 4%;
	padding: 1rem 1.5rem;
	font-size: 1.5rem;
}


/**** vimeo ****/
iframe[title='vimeo-player'] {
	width: 980px;
	height: 551px;
}