@charset “utf-8”;

/* ヘッダー */
@media (min-width: 1024px) {
	.l-1row-header__branding,
	.l-1row-header__content,
	.l-2row-header__row:first-child {
		padding-top: .75rem;
		padding-bottom: .75rem;
	}

	.l-header__content .c-container {
		padding-left: 0;
		padding-right: 0;
	}
}

.l-header .c-site-branding {
	display: flex;
	flex-direction: column-reverse;
}

.l-header .c-site-branding__description {
	display: none;
}

.c-header-content {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.header_contact{
	display: flex;
	align-items: center;
	padding-left: .9rem;
	padding-right: .9rem;
}

.header_contact_tel{
	display:flex;
	flex-flow: column;
	margin: 0 20px 0 0;
}

a.h_tel_btn {
	text-decoration: none;
	color: #000;
	line-height: 1.35;
	display: flex;
	align-items: center;
}

span.h_tel_num {
	font-size: 23px;
	font-weight: 700;
	position: relative;
}

span.h_tel_num:before {
	font-family: "Font Awesome 5 Free";
	content: '\f095';
	font-size: 20px;
	font-weight: 900;
	color: var(--accent-color);
	position: absolute;
	top: 50%;
	left: -25px;
	margin-top: -12px;
}

span.h_tel_lang {
	font-size: 11px;
	border: 1px solid #aaa;
	padding: 2px 3px;
	margin-left: .5em;
}

span.h_tel_txt {
	font-size: 14px;
}

.header_contact_mail .c-btn {
  padding: 1em 2.75em;
  font-size: 1em;
  font-weight: bold;
  color: #fff;
  background-color: var(--sub-accent-color);
	width: 190px;
}

span.c-btn_txt {
	position: relative;
}

span.c-btn_txt:before {
	font-family: "Font Awesome 5 Free";
	content: '\f0e0';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(-125%, -46%)
}

span.c-btn_txt:after {
font-family: "Font Awesome 5 Free";
	content: '\f105';
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(300%, -46%);
}

@media (min-width: 1024px) {
	.header_contact_sp {
		display: none;
	}
}

@media (max-width: 1023px) {
	.l-header__content {
		padding-top: 0;
		padding-bottom: 0;
	}

	.c-row__col.c-row__col--fit.u-invisible-lg-up {
		padding-left: calc(var(--_space, 2.5rem)*0.25*var(--_margin-scale, 1));
	}

	.c-row__col.c-row__col--fit.u-invisible-md-down {
		display: flex !important;
		padding: 0;
	}

	.l-header .c-site-branding__title {
		font-size: 20px;
	}

	.l-header .c-site-branding__description {
		font-size: 12px;
		margin-top: .25em;
		margin-bottom: .15em;
	}

	.header_contact {
		display: none;
	}
	
	.header_contact_sp {
		display: flex;
	}

	.header_contact_sp .c-btn {
		display: flex;
		flex-flow: column;
		align-items: center;
		justify-content: center;
		border-radius: 0;
		padding: 0;
		width: 50px;
		height: 50px;
	}

	.header_contact_sp .svg-inline--fa {
		width: 1.25em;
		height: 1.25em;
		margin-bottom: .2em;
	}

	.hc_sp_mail .c-btn {
		color: #fff;
		background-color: var(--sub-accent-color);
	}

	span.hc_sp_tel_txt {
		font-size: 9px;
		font-weight: 700;
	}

	span.hc_sp_mail_txt {
		font-size: 9px;
	}
}

@media (max-width: 639px) {
	.l-header .c-site-branding__title {
		font-size: 15px;
	}

	.l-header .c-site-branding__description {
		font-size: 11px;
	}
}

/* 言語スイッチャー */
.language-switcher {
	background: #e7f8fe;
}

.language-switcher-inner {
	max-width: var(--_container-max-width,1280px);
	margin: 0 auto;
}

.language-switcher .bogo-language-switcher {
	font-size: 14px;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	gap: .25em .5em;
}

.l-header__content .bogo-language-switcher .zh-CN .bogo-language-name {

}

@media (max-width: 1023px) {
	.language-switcher {
		padding-left: calc(var(--_container-margin, 1.8rem) + env(safe-area-inset-left));
		padding-right: calc(var(--_container-margin, 1.8rem) + env(safe-area-inset-right));
	}

	.language-switcher .bogo-language-switcher {
		font-size: 12px;
	}
}

@media (max-width: 639px) {
	.language-switcher {
		padding-left: calc(var(--_container-margin, .9rem) + env(safe-area-inset-left));
		padding-right: calc(var(--_container-margin, .9rem) + env(safe-area-inset-right));
	}
}

/* Gナビ */
[data-has-global-nav=true] .l-2row-header__row:last-child {
	margin-top: 0;
}

.p-global-nav {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}

.p-global-nav .c-navbar {
	justify-content: center;
	align-items: center;
	height: 60px;
	background: var(--accent-color);
	box-shadow: 0 6px 5px 0px rgb(0 0 0 / 10%);
}

.p-global-nav .c-navbar__item {
	color: #fff;
	flex: 0 1 calc( 1024px / 7);
	height: 45px;
}

.p-global-nav .c-navbar__item[aria-haspopup=true]:before {
	content: none;
}

.p-global-nav .c-navbar__item>a {
	padding: 1rem;
}

.p-global-nav li:not(.c-navbar__subitem) {
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
}

.p-global-nav li+ li:not(.c-navbar__subitem) {
	border-left: 0;
	border-right: 1px solid #fff;
}

.p-global-nav .c-navbar__submenu {
	background-color: #2965b0;
}

.p-drop-nav .c-navbar {
	width: 100vw;
}

/* ドロワーナビ */
.c-drawer {
	background-color: rgba(1, 123, 189, 95%);
}

.c-drawer a {
	font-weight: 500;
}

[id=drawer-nav].c-drawer--overall .c-drawer__inner {
	margin-top: 0;
}

@media (max-width: 1023px) {
	.c-drawer__controls {
		padding-top: 1rem;
	}
}

/* MV */
p.mv_catch {
	font-size: 40px;
	font-weight: 700;
	color: var(--dark-accent-color);
	text-shadow:
		0px 0px 10px #fff,
		0px 0px 10px #fff,
		0px 0px 10px #fff,
		0px 0px 10px #fff,
		0px 0px 10px #fff,
		0px 0px 10px #fff,
		0px 0px 10px #fff,
		0px 0px 10px #fff,
		0px 0px 10px #fff;
}

p.mv_txt {
	font-size: 20px;
	line-height: 2;
	font-weight: 700;
	color: var(--dark-accent-color);
	text-shadow:
		0px 0px 10px #fff,
		0px 0px 10px #fff,
		0px 0px 10px #fff,
		0px 0px 10px #fff,
		0px 0px 10px #fff,
		0px 0px 10px #fff,
		0px 0px 10px #fff,
		0px 0px 10px #fff,
		0px 0px 10px #fff;
}

@media (max-width: 1023px) {
	p.mv_catch {
		font-size: 32px;
	}

	p.mv_txt {
		font-size: 16px;
	}
}

@media (max-width: 639px) {
	p.mv_catch {
		font-size: 22px;
		font-feature-settings: "palt";
		letter-spacing: .075rem;
	}
	
	p.mv_txt {
		font-size: 14px;
		font-feature-settings: "palt";
		letter-spacing: .075rem;
	}
}

/* TOP | メッセージ */
.top-message .smb-media-text__figure>img{
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

/* 下層ヘッダー */
h1.c-page-header__title {
	text-shadow: 0px 0px 10px #000;
}

.c-page-header[data-has-image=true] {
	height: 250px;
}

@media (max-width: 1023px){
	.c-page-header[data-has-image=true] {
		height: 200px;
	}
}

@media (max-width: 639px){
	.c-page-header[data-has-image=true] {
		height: 100px;
	}

	h1.c-page-header__title {
		font-size: 1.35rem;
	}
}

/* セクション */
.wp-block-snow-monkey-blocks-section.smb-section {
	margin-top: 0;
}

@media (min-width: 1024px) {
  .smb-section {
    padding-bottom: 5.4rem;
    padding-top: 4.5rem;
  }
}

@media (max-width: 1023px){
  body:not(.home)  .l-contents__inner {
    padding-top: 0;
    margin-top: 1.8rem;
  }
}

@media (max-width: 639px){
  .smb-section {
	  padding-bottom: 2.25rem;
	  padding-top: 1.8rem;
  }

  body:not(.home)  .l-contents__inner {
	  margin-top: .9rem;
  }
}

/* セクション見出し */
h2.smb-section__title {
	display: table;
	margin: auto;
	padding-bottom: 8px;
	border-bottom: 3px solid;
	border-bottom-color: var(--accent-color);
}

.smb-section__title:after {
	content: none;
}

.smb-section__subtitle {
	font-size: 14px;
}

@media (min-width: 1024px) {
	.smb-section__lede {
		font-size: 16px;
	}
}

/* 見出し */
@media (min-width: 640px){
	.p-entry-content>h2 {
		font-size: 1.75em;
	}
}

.p-entry-content>h2 {
	position: relative;
	color: #fff;
	padding: 0.5em 0.5em 0.5em 1.4em;
	background-color:var(--accent-color)!important;
}

.p-entry-content>h2::after {
	position: absolute;
	top: 50%;
	left: -1px;
	transform: translateY(-50%);
	content: '';
	width: 18px;
	height: 4px;
	background-color: #fff;
}

.p-entry-content>h3 {
	border-bottom: 1px solid;
	border-bottom-color: var(--lightest-accent-color);
	padding: .5rem 1rem;
	position: relative;
	display: flex;
	align-items: center;
}

.p-entry-content>h3:before {
	content: '';
	display: block;
	width: 5px;
	height: 75%;
	background: var(--accent-color);
	position: absolute;
	left: 0;
}

.p-entry-content>h4 {
  font-size: 1.2em;
}

.p-entry-content>h4::before {
  content: "■";
  color: var(--accent-color);
  margin-right: 0.2em;
  font-weight: bold;
}

/* フォント */
.has-large-font-size {
	font-size: 2rem !important;
}

@media (max-width: 1023px) {
	body {
		font-size: .875rem;
	}

	.c-entry-summary__title {
		font-size: .875rem !important;
	}
	
	.has-large-font-size {
		font-size: 22px !important;
	}
	
	.has-sm-small-font-size {
		font-size: 12px !important;
	}
}

/* ボタン */
.smb-btn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	padding: 1em 2em;
	color: #fff!important;
	font-weight: 700;
	background-color: var(--accent-color);
	transition: 0.3s;
}

.smb-btn::after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
  margin-left: 0.5em;
}

.white-btn a::after {
  border-top: 3px solid var(--accent-color);
  border-right: 3px solid var(--accent-color);
}

/* パネル */
.smb-panels__item {
	box-shadow: 0px 3px 10px 3px rgb(0 0 0 / 10%);
}

.smb-panels__item__body {
	padding: 1rem;
}

/* 項目（ブロックリンク） */
.home .smb-items__item__title {
  text-align: center;
  color: var(--accent-color);
}

/* バナー */
@media (max-width: 639px) {
	.smb-items__banner__body {
		padding: 1.35rem;
	}
}

/* お知らせ */
.c-entries--text2 .c-entry-summary__body {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: flex-end;
}

.c-entries--text2 .c-entry-summary__meta {
	margin-top: 0;
	margin-right: .75em;
}

.c-entries--text2 .c-entry-summary__meta .c-meta {
	flex-wrap: nowrap;
}

li.c-meta__item--published {
	font-size: small;
}

@media (max-width: 1023px) {
	.c-entries--text2 .c-entry-summary__body {
		flex-direction: column-reverse;
		align-items: flex-start;
	}
	
	.c-entries--text2 .c-entry-summary__meta {
		margin-right: 0;
		margin-bottom: .75em;
	}
}

/* スマホ改行 */
@media (min-width: 640px) {
  br.sp {
    display: none;
  }
}

@media (max-width: 639px) {
  br.pc {
    display: none;
  }
}

/* テーブル */
.wp-block-column>table td, .wp-block-column>table th, .wp-block-cover__inner-container>table td, .wp-block-cover__inner-container>table th, .wp-block-group__inner-container>table td, .wp-block-group__inner-container>table th, .wp-block-latest-posts__post-full-content>div:not([class])>table td, .wp-block-latest-posts__post-full-content>div:not([class])>table th, .wp-block-latest-posts__post-full-content>table td, .wp-block-latest-posts__post-full-content>table th, .wp-block-media-text__content>table td, .wp-block-media-text__content>table th, .wp-block-table td, .wp-block-table th, :where(.wp-block-group)>table td, :where(.wp-block-group)>table th {
	border: 1px solid #ddd;
}

.wp-block-column>table tbody th,
.wp-block-cover__inner-container>table tbody th,
.wp-block-group__inner-container>table tbody th,
.wp-block-latest-posts__post-full-content>div:not([class])>table tbody th,
.wp-block-latest-posts__post-full-content>table tbody th,
.wp-block-media-text__content>table tbody th,
.wp-block-table tbody th,
:where(.wp-block-group)>table tbody th {
	background: #e7f8fe;
	width: 25%;
	min-width: 100px;
	text-align: center;
}

/* 代表者挨拶 */
.career-table td:nth-of-type(1) {
	text-align: justify !important;
	text-align-last: justify;
}

@media (max-width: 639px) {
	.career-table td:nth-of-type(1) {
		width: 90px !important;
	}
}

/* サービス */
.svc-block .smb-panels__item {
	box-shadow: unset;
	border: 3px solid var(--dark-accent-color);
	border-radius: 6px;
}

.svc-block .smb-panels__item__body>h3 {
	border-bottom: 1px solid #bbb;
	padding-bottom: .5em;
}

/* ご依頼の流れ */
.smb-step__item__title>.smb-step__item__number {
	flex: 0 0 50px;
	height: 50px;
	width: 50px;
	font-size: 1.5rem;
	font-weight: 700;
	background-color: var(--accent-color);
}

.smb-step__body:before {
	left: 25px;
}

.smb-step__item__title>span {
	font-size: 1.35rem;
}

@media (max-width: 639px) {
	.smb-step__item__title>.smb-step__item__number {
		flex: 0 0 2rem;
		height: 2rem;
		width: 2rem;
		font-size: 1rem;
		margin-left: -2.5rem;
	}
	
	.smb-step__body:before {
		left: 1rem;
	}
	
	.smb-step__item {
		margin-left: 2.5rem;
	}
	
	.smb-step__item__title>span {
		font-size: 1rem;
	}
}

/* 事務所情報 */
.engage-bnr-pc,
.engage-bnr-sp {
	text-align: center;
}

.gmap {
	height: 450px;
}

@media (max-width: 639px) {
	.gmap {
		height: 250px;
	}
}

/* 投稿ページ */
body.post-template-default header.c-entry__header {
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 2.25rem;
}

body.post-template-default h1.c-entry__title {
	font-size: 2rem;
}

body.post-template-default .c-entry__meta {
	font-size: small;
	margin-top: 0;
	margin-bottom: .35rem;
}

body.post-template-default .c-meta__item:not(:last-child) {
	margin-right: 1em;
}

body.post-template-default .c-meta__item--published {
	color: unset;
	background: unset;
	padding: .15rem;
}

body.post-template-default li.c-meta__item--categories {
	font-size: small;
	font-weight: 700;
	background-color: var(--accent-color);
	color: #fff;
	padding: 0 .5rem;
}

body.post-template-default .c-meta__item--published>svg,
body.post-template-default .c-meta__item--categories>svg {
	display: none;
}

li.c-meta__item--modified,
li.c-meta__item--author {
	display: none;
}

@media (max-width: 1023px) {
	body.post-template-default h1.c-entry__title {
		font-size: 1.75rem;
	}

	body.post-template-default .c-entry__meta {
		margin-bottom: .15rem;
	}
}

@media (max-width: 639px) {
	body.post-template-default h1.c-entry__title {
		font-size: 1.35rem;
	}

	body.post-template-default .c-entry__meta {
		margin-bottom: 0;
	}
}

/* フッターウィジェット */
.l-footer-widget-area .c-widget__title::before, .l-footer-widget-area .c-widget__title::after {
  background: none;
}

.wpaw-site-branding__logo {
	font-size: 1.25rem;
	text-align: left;
}

span.f-adress-subtxt {
	font-size: 12px;
}

span.f-call-txt {
	display: block;
	margin-top: 1rem;
}

.l-footer-widget-area .c-widget__title {
	color: var(--accent-color);
}

.l-footer-widget-area .c-widget__title:before {
	background-color: var(--accent-color);
}

.l-footer-widget-area .c-widget__title:after {
	background-color: var(--accent-color);
}

.wpaw-pr-box {
	padding: 0;
}

.wpaw-pr-box__row {
	margin-top: 0;
}

.wpaw-pr-box__item {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.wpaw-pr-box__item-title {
	font-size: 16px;
	font-weight: 400;
	text-align: center;
}

.wpaw-pr-box__item-summary p {
	text-align: center;
}

.footer_contact_tel {
	display: flex;
	flex-direction: column;
	padding-left: 2em;
}

span.f-tel-num {
	font-size: 23px;
	font-weight: 700;
	position: relative;
	color: #333;
	display: flex;
	align-items: center;
}

span.f-tel-num:before {
	font-family: "Font Awesome 5 Free";
	content: '\f095';
	font-size: 20px;
	font-weight: 900;
	color: var(--accent-color);
	position: absolute;
	top: 50%;
	left: -28px;
	margin-top: -15px;
}

span.f_tel_lang {
	font-size: 11px;
	font-weight: 400;
	border: 1px solid #aaa;
	line-height: 1.35;
	padding: 2px 3px;
	margin-left: 0.5em;
}

.wpaw-pr-box__item-more.c-btn {
	padding: 1em 2.5em 1em 1.5em;
	font-size: 18px;
	font-weight: bold;
	color: #ffff;
	background-color: var(--sub-accent-color);
	width: 210px;
	position: relative;
}

.wpaw-pr-box__item-more.c-btn:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	content: '\f0e0';
}

.wpaw-pr-box__item-more.c-btn:after {
	font-family: "Font Awesome 5 Free";
	content: '\f105';
	font-weight: 900;
	position: absolute;
	top: 52%;
	right: 0;
	transform: translate(-200%, -50%);
}

.l-footer-widget-area .wpaw-pr-box__inner.c-container {
	padding-left: 0;
	padding-right: 0;
}

@media (max-width: 1023px) {
	.wpaw-site-branding__logo {
		font-size: 1rem;
		text-align: center;
	}

	.wpaw-site-branding__description {
		text-align: center;
		margin-top: .75rem;
	}
}

/* フッターコピーライト */
.c-copyright {
	background-color: var(--accent-color);
	color: #fff;
}

@media (min-width: 640px) {
	.c-copyright {
		height: 50px;
	}
}

/* ページトップボタン */
#page-top {
	background: #2965b0;
	opacity: .7;
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 999;
}

/* お問い合わせ電話 */
.tel-contact>span::before {
	font-family: "Font Awesome 5 Free";
	content: '\f095';
	color: var(--accent-color);
	margin-right: 0.2em;
	font-size: .8em;
	font-weight: 900;
}

.tel-contact a {
  text-decoration: none;
  color: var(--cark-accent-color);
}

/* お問い合わせフォーム */
.wpcf7 .form__wrap {
	width: 100%;
	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
}

.wpcf7 .c-form a {
	margin: 0;
	padding: 0;
	text-decoration: underline;
	color: inherit;
	transition: opacity .25s;
}

.wpcf7 .form__row {
	margin: 0;
	padding: 0;
	margin-top: 2em;
}

.wpcf7 .row-submit {
	margin-top: 2.5em;
	text-align: center;
}

.wpcf7 .form__label,
.wpcf7 .form__body {
	margin: 0;
	margin-bottom: .5em;
	padding: 0;
	box-sizing: border-box;
}

.wpcf7 .form__label label {
	position: relative;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-weight: bold;
}

.wpcf7 .form__label.is-required label {
	padding-right: 40px;
  font-weight: bold;
}

.wpcf7 .form__label.is-required label::after {
	content: "必須";
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	padding: 0 5px;
	background-color: var(--wp--preset--color--vivid-red);
	box-sizing: border-box;
	color: #fff;
	font-size: x-small;
	text-align: center;
	transform: translate(0px, -46%);
}

body.page-id-7877 .wpcf7 .form__label.is-required label::after {
	content: "必须填写";
	transform: translate(20px, -46%);
}

@media (max-width: 1023px) {
	.wpcf7 .form__row {
		margin-top: 1.5em;
	}

	.wpcf7 .row-submit {
		margin-top: 2em;
	}
}

/* テキストフィールド */
.wpcf7 .c-form input[type=text],
.wpcf7 .c-form input[type=tel],
.wpcf7 .c-form input[type=email],
.wpcf7 .c-form input[type=url],
.wpcf7 .c-form input[type=date],
.wpcf7 .c-form input[type=number],
.wpcf7 .c-form textarea {
	width: 100%;
	margin: 0;
	padding: .5em 1em;
	border: 1px solid #ccc;
	border-radius: 0;
	box-shadow: none;
	background-color: #fff;
	color: inherit;
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.wpcf7 .c-form input[type=text]::placeholder,
.wpcf7 .c-form input[type=tel]::placeholder,
.wpcf7 .c-form input[type=email]::placeholder,
.wpcf7 .c-form input[type=url]::placeholder,
.wpcf7 .c-form input[type=date]::placeholder,
.wpcf7 .c-form input[type=number]::placeholder,
.wpcf7 .c-form textarea::placeholder {
	color: #ccc;
}

.wpcf7 .c-form input[type=text]:focus,
.wpcf7 .c-form input[type=tel]:focus,
.wpcf7 .c-form input[type=email]:focus,
.wpcf7 .c-form input[type=url]:focus,
.wpcf7 .c-form input[type=date]:focus,
.wpcf7 .c-form input[type=number]:focus,
.wpcf7 .c-form textarea:focus {
	border: 1px #888 solid;
}

/* 送信ボタン */
.wpcf7 .submit-btn {
	position: relative;
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
	transition: all .2s ease-out;
}

.wpcf7 .submit-btn:after {
	font-family: "Font Awesome 5 Free";
	content: '\f105';
	font-weight: 700;
	color: #fff;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-200%, -46%);
}

.wpcf7 input[type="submit"] {
  padding: 1em 3em 1em 2.5em;
  font-weight: bold;
  background: var(--sub-accent-color);
  color: #fff;
  transition: all .2s ease-out;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.wpcf7-spinner {
	position: absolute;
	margin: 0 0 0 1rem;
	top: 50%;
	transform: translate(0, -50%);
}

.wpcf7 .c-form .ajax-loader {
	display: block;
}

@media (hover: hover) and (pointer: fine) {
	.wpcf7-submit:active,
	.wpcf7-submit:focus,
	.wpcf7-submit:hover {
		filter: unset;
	}

	.submit-btn:active,
	.submit-btn:focus,
	.submit-btn:hover {
		filter: brightness(90%);
	}
}

/* リキャプチャ */
.grecaptcha-badge {
	visibility: hidden;
}
