@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Varela+Round&family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap');

/*余白の可視化
* {
  outline: 1px solid rgba(255,0,0,.2);
}*/

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body,
.editor-styles-wrapper {
    font-family: 'Noto Sans JP', sans-serif;
}

@media (max-width: 768px) {
  h2, h3, h4, h5, h6,
  blockquote, caption, figcaption, p {
    text-wrap: wrap;
  }
}

h1, h2, h3, h4, h5, h6,
a:where(:not(.wp-element-button)),
.wp-block-button .wp-block-button__link {
	font-family: "Varela Round", sans-serif;
	font-weight: 400;
	font-style: normal;
}
:where(.wp-site-blocks) > * {
	margin-block-start: 0;
}

.wp-element-button:hover, .wp-block-button__link:hover {
	color: #ffffff;
}

.wp-block-button .wp-block-button__link {
	position: relative;
	overflow: hidden;
}

.wp-block-button .wp-block-button__link:before {
  content: '';
  position: absolute;
  top:0;
  left: 0;
  background:  #999;/*背景色*/
  width: 100%;
  height: 100%;
  transform: translateY(-100%);
  transition:.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}

.wp-block-button .wp-block-button__link:hover:before{
  transform: translateY(100%);
}


/*グリット表示をモバイルでも*/
@media (max-width: 600px) {
	.wp-block-post-template-is-layout-grid.columns-4,
	.wp-block-post-template-is-layout-grid.columns-5 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.wp-block-post-template-is-layout-grid.columns-6 {
    	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}


/*キャッチコピー*/
@media (max-width: 600px) {
	.catchcopy h1 {
		font-size: 1.3rem;
	}
}

/*メインビジュアル*/
.mainvisual {
	border-radius: 30vw 0 0;
}
/*マッチング事例セクション*/
.matching-section {
	margin-top: 0;
	padding-top:var(--wp--preset--spacing--80);
	padding-bottom:var(--wp--preset--spacing--80);	
}
@media (max-width: 600px) {
	.matching-section .wp-block-post-title {
		font-size: var(--wp--preset--font-size--medium);
	}
}
@media (min-width: 1024px) {
	.matching-section .wp-block-post-title {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}
/*登録人材一覧セクション*/
.lists-section {
	margin-top: 0;
	padding-top:var(--wp--preset--spacing--80);
	padding-bottom:var(--wp--preset--spacing--80);
}
/*登録人材の画像配置：モバイルで２→３に*/
.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    margin: 0;
    width: calc(33% - var(--wp--style--unstable-gallery-gap, 16px)/2);
}
/*私たちについてセクション*/
.about-section {
	margin-top: 0;
	padding-top:var(--wp--preset--spacing--80);
	padding-bottom:var(--wp--preset--spacing--80);	
}

/*カテゴリー*/
.wp-block-post-terms .wp-block-post-terms__separator {
	color: #fff;
}
@media (max-width: 600px) {
	body.blog .wp-block-post-terms a,
	body.archive .wp-block-post-terms a {
		font-size: 0.6rem;
	}
	/*トップ＞事例：クエリーループのグリッド数（スマホで強制一列になるところを修正）*/
   /*.wp-block-post-template.is-layout-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
   }*/
}

/*カテゴリー一覧*/
.wp-block-categories {
	padding-left: 0;
	text-align: center;
}
.wp-block-categories li {
	display: inline-block;
	list-style-type: none;
}
.wp-block-categories li a {
	text-decoration: none;
	display: block;
	padding: 0.3rem;
	font-weight: bold;
}
.wp-block-categories li .cat-thumb {
	display: block;
	margin: auto;
	margin-bottom: 0.5rem;
	border-radius: 35px;
	width: 95px;
	height: 95px;
}
.wp-block-categories li a[aria-current="page"] {
	text-decoration:underline;
	text-underline-position: under;
	text-underline-offset: 5px;
	text-decoration-thickness: 3px;
}
@media (max-width: 600px) {
	.wp-block-categories {
		overflow-x: scroll;
		display: flex;
	}
	.wp-block-categories li {
		white-space: nowrap;
	}
	.wp-block-categories li:first-child {
		padding-left: 0.3rem;
	}
	.wp-block-categories li a {
		font-size: 0.65rem;
		width: 100%;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.wp-block-categories li .cat-thumb {
		width: 95px;
		height: 95px;
	}
}

/*マッチング事例一覧のみサブタイトル非表示*/
.is-cpt-archive:not(.is-cpt-category) h6.wp-block-heading {
	display: none;
}

/*この事例に属する人材一覧ボタン*/
.wp-block-group p:has(> .related-category-button) {
    display: flex;
    justify-content: center;
}

/*投稿フォーマット内の横並びアイキャッチ画像を縮めない*/
.wp-block-post-featured-image {
	flex-shrink: 0;
}

/*個別投稿内のテーブルのセル*/
body.single-post .wp-block-table table tr td:first-child {
	white-space: nowrap;
}

/*個別投稿内の画像の追従*/
.wp-block-post-featured-image.image-sticky {
	position: sticky;
	top: 0;
}

/*country*/
body:not(.wp-admin) .taxonomy-country a {
	text-decoration: none;
}
body:not(.wp-admin) .taxonomy-country a:before { 
  	content: "";
	display: inline-block;
	margin-right: 5px;
	width: 18px;
	height: 12px;
	vertical-align: -3px;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	border: 1px solid #ccc;
}
body:not(.wp-admin) .taxonomy-country a[href*="indonesia"]:before { /*インドネシア*/
	background-image: url(https://bloomuuu.com/wp-content/uploads/2026/01/Indonesia.png);
}
body:not(.wp-admin) .taxonomy-country a[href*="malaysia"]:before { /*マレーシア*/
	background-image: url(https://bloomuuu.com/wp-content/uploads/2026/01/Malaysia.png);
}
body:not(.wp-admin) .taxonomy-country a[href*="philippines"]:before { /*フィリピン*/
	background-image: url(https://bloomuuu.com/wp-content/uploads/2026/01/Philippines.png);
}
body:not(.wp-admin) .taxonomy-country a[href*="singapore"]:before { /*シンガポール*/
	background-image: url(https://bloomuuu.com/wp-content/uploads/2026/01/Singapore.png);
}
body:not(.wp-admin) .taxonomy-country a[href*="nepal"]:before { /*ネパール*/
	background-image: url(http://bloomuuu.com/wp-content/uploads/2026/01/Nepal.png);
}

/* Contactform - お問い合わせフォーム */
.wpcf7-form-control-wrap {
    position: relative;
    display: block;
    margin-top: 0.5rem;
}
.wpcf7 p { 
	margin-bottom: 1.5rem; 
	font-size: 16px; 
}

.wpcf7 input, .wpcf7 textarea { 
	background-color:#ebebeb; 
	border: 1px solid #ebebeb;
	border-bottom-color: #000;
	box-sizing: border-box; 
	line-height: 1.2; 
	padding: 1rem; 
	width: 100%; 
	font-size: 16px; 
}

.wpcf7 select, 
.wpcf7 input[type=checkbox], 
.wpcf7 input[type=radio] { 
	border: 1px solid #fafafa; 
	max-width: 97%; 
	padding: 8px; 
	width: auto; 
}

.wpcf7 select, 
.wpcf7 .wpcf7-list-item-label { 
	font-size: 14px; 
	line-height: 1.2; 
}

.wpcf7 .wpcf7-list-item { 
	display: block; 
}

.wpcf7 textarea { 
	height: 300px; 
}

.wpcf7 input:focus, 
.wpcf7 textarea:focus { 
	border: 1px solid #bbb; 
	outline: none; 
}

.wpcf7 .wpcf7-submit, 
.wpcf7 .wpcf7-previous { 
	box-sizing: border-box; 
	position: relative; 
	display: block; 
	width: 225px; 
	height: 60px; 
	margin: 30px auto 0; 
	background-color: #333333; 
	cursor: pointer; 
	border: none !important; 
	color: #fff; 
	text-align: center; 
	text-decoration: none; 
	font-size: 16px; 
	line-height: 1.5; 
	outline: none; 
	transition: all .3s; 
	border-radius: 30px; 
}

.wpcf7 .wpcf7-submit:before, 
.wpcf7 .wpcf7-submit:after { 
	box-sizing: border-box; 
}

.wpcf7 .wpcf7-submit:hover, 
.wpcf7 .wpcf7-previous:hover { 
	background-color: #666666; 
}

.wpcf7 .wpcf7-submit .wpcf7-not-valid { 
	background: pink; 
}

.wpcf7 .wpcf7-submit .wpcf7-response-output { 
	margin: 10px 0 0; 
	padding: 8px 35px 8px 14px; 
	border-radius: 4px; 
}

.wpcf7 .wpcf7-submit .wpcf7-validation-errors { 
	color: #B94A48; 
	background-color: #F2DEDE; 
	border: 1px solid #EED3D7; 
}

.wpcf7 .wpcf7-submit .wpcf7-mail-sent-ok { 
	color: #3A87AD; 
	background-color: #D9EDF7; 
	border: 1px solid #BCE8F1; 
}

.wpcf7 .wpcf7-previous + br { 
	display: none; 
}

.wpcf7 form .wpcf7-response-output { 
	margin: 2em 0.5em 2em; 
	padding:0; 
	border: none; 
	text-align:center; 
}

.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output { 
	color:#dc3232; 
	font-size: 1em; 
}
.wpcf7-list-item {
	margin:0;
}
/*フォームに表示される投稿画像とタイトル*/
#related-wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	border: 1px solid;
	padding: 1rem 1.5rem;
	margin-bottom: 2rem;
}
#related-wrap p {
	margin: 0;
}
#ref-preview {
	display: flex;
	gap: 1rem;
	align-items: center;
	margin: 1rem 0;
}
.js-ref-img {
	width: 80px;
	height: 80px;
	border-radius: 30px;
}
.js-ref-title {
}
