@charset "utf-8";
/* 各案件による変化を受けない、標準テーマに付随する
基幹的なCSSはこちらの　core-style.cssへ記述します。
style.css　より優先度は低く（前に）読み込みます。
基本的にディレクターしか操作しません。 */

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 * アートフレアユーティリティCSS
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.w-fit-content {
/* 横幅を最小値に固定する	 */
	width: fit-content;
}
.wp-lightbox-overlay .scrim {
/* 画像拡大時の背景部分 */
	background-color: rgb(0 0 0 / 70%) !important;
}
/* リンク漏れチェック */
body:not(.vew_hide_edit_guide).logged-in a[href="#"],
body:not(.vew_hide_edit_guide).logged-in a[href=""],
body:not(.vew_hide_edit_guide).logged-in a:not([href]) {
    outline: 3px dashed lime;
    cursor: no-drop;
}
/* パソコン版ではtel:～をクリッカブルにしない */
@media screen and (min-width:767px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 * Lightning デフォルトへの上書き
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 余計なもののオーバーレイを無効化する。 */
span.vk_outer-background-area.has-background.has-background-dim {
    pointer-events: none;
}
/* ハンバーガーボタンサイズ・位置 */
#vk-mobile-nav-menu-btn {
    height: 44px;
    width: 44px;
}
#vk-mobile-nav{
	padding-top:55px;
}
@media (max-width: 991.98px){
	.site-header-logo img {
    max-height: 44px !important;
	}
}
/* パンくずリスト */
ol.breadcrumb-list {
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    margin-right: -15px;
    padding-right: 20px;
}
ol.breadcrumb-list::-webkit-scrollbar{
  display: none;
}
/* ファンシーボックスの位置 */
#fancybox-wrap {
	margin-top: -120px;
}
/* 記事一覧（メディア）でホバー時のクリックエリアを拡張する */
.vk_post {
	position: relative;
	transition:.3s;
	transition-property: background, text-decoration;
	padding: 1.5rem 15px !important;
}
.vk_post:hover {
    background: rgb(128 128 128 / 10%);
		/* ホバー時の背景色は、お好みで */
}
.vk_post .vk_post_body {
    position: unset;
}
.vk_post .vk_post_title {
    position: unset;
}
.vk_post .vk_post_title a::after,
.postListText_title a::after{
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
	z-index:100;
}
.vk_post .vk_post_title a {
	text-decoration: none;
    border-bottom:solid 1px transparent;
    transition:.3s;
}
.vk_post:hover .vk_post_title a {
    border-bottom:solid 1px #333;
}
/* 次の記事、前の記事のデザイン */
.next-prev .card {
    border: none;
	border-radius: 0;
    padding: 0 !important;
}
.next-prev .card-intext .card-intext-inner .vk_post_body {
    position: relative;
    background: none;
    color: unset;
    height: unset;
    padding: 1em;
}
.next-prev .card-intext .card-intext-inner .vk_post_body .vk_post_title {
    color: #333;
    max-height: unset;
    white-space: unset;
    margin-bottom: unset;
}
.next-prev .card-intext .card-intext-inner .vk_post_body div,
.next-prev .card-intext .card-intext-inner .vk_post_body p {
    color:#999;
}
.next-prev  .vk_post_imgOuter {
    border: 1px solid var(--vk-color-border-image);
}
.next-prev .card-intext-inner:hover .vk_post_body .vk_post_title {
    text-decoration: underline;
}
.card-intext .card-intext-inner:hover .vk_post_body {
    height: unset;
}
/*　アーカイブページサイドバー カテゴリー・アーカイブ・記事リスト*/
.sub-section .widget_archive>ul li a,
.sub-section .widget_nav_menu>ul li a {
    border: none;
    padding: 1em 0;
    color: unset;
}
.sub-section .widget_archive>ul li:not(:last-child) ,
.sub-section .widget_nav_menu>ul li:not(:last-child) {
    border-bottom: 1px solid var(--vk-color-border-hr);
}
.sub-section .widget_archive>ul li a:hover,
.sub-section .widget_nav_menu>ul li a:hover {
    text-decoration: underline;
    background:none;
	color: var(--vk-color-text-link-hover);
}
.sub-section .widget_nav_menu ul.children {
    border-top: 1px solid var(--vk-color-border-hr);
}
.sub-section .widget_nav_menu ul.children a{
    padding-left:1em;
}
.sub-section ul li.current-cat a {
    background-color: transparent !important;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  画像ホバー時、ズームイン
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

figure.hover-move,
.hover-move figure,
.wp-block-cover.hover-move {
	overflow: hidden;
}
.hover-move:hover img {
	transform: scale(1.2);
	transition: .3s;
}
.hover-move img {
	transition: .3s;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 /* ヘッダーまわり
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#site-header-container {
    align-items: center;
}
#site-header-container .site-header-logo {
    width: unset;
    margin: 0;
    align-self: center;
    padding-top: 0;
}

.header_nav_search_container {
    order: 3;
    position: relative;
    min-width: 200px;
    margin-left: 10px;
}
@media (max-width: 991px) {
	.header_nav_search_container {
		display: none;
	}
}
/* デフォルトドロップダウンのスクロールを消す */
.global-nav-list>li>ul.sub-menu {
	overflow: hidden !important;
}
/* 子を持つグローバルナビに三角印をつける */
.device-pc .menu-item-has-children > a .global-nav-name::after{
	font-family: "Font Awesome 6 Free";
	content: '\f107';
	display: inline-block;
	margin-left:0.5em;
	color:#ccc;
	font-weight: 900;
}
.global-nav-list .sub-menu .acc-btn {
	z-index: 10;
}

/*Google reCAPTCHA V3位置調整*/
.grecaptcha-badge {
	bottom: 95px !important;
	/*【Google公認】reCAPTCHA v3のバッジを非表示  https://www.ii-sys.jp/notes/1511 */
	visibility: hidden;
}
.recaptcha_policy {
    padding: 2em;
    padding-left: calc(48px + 3em);
    margin: 0 auto;
    font-size: 12px !important;
    color: #777;
    width: fit-content;
    background: url(https://www.gstatic.com/recaptcha/api2/logo_48.png) no-repeat 2em center;
    border: solid 2px #eee;
	text-align: left;
}
.recaptcha_policy a {
    color: #4e8ff5;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 * メールフォーム （MW WP FORM）
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.contactform-entext {
    display: block;
    font-size: var(--vk-size-text-xs);
    font-weight: normal;
}
.contactform-table th {
	border: 1px solid var(--vk-color-border-hr);
	font-size: var(--vk-size-text);
	text-align: left;
	position: relative;
	background: #f9f9f9;
	background-clip: padding-box;
	width: 30%;
}
.contactform-table td {
	border: 1px solid var(--vk-color-border-hr);
}
th.contactform-required::after,
th.contactform-unrequired::after {
	display: block;
	position: absolute;
	font-size: 14px;
	font-weight: normal;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	padding: 5px 10px;
	line-height: 1;
	border-radius: 3px;
}
th.contactform-required::after {
	content: '必須';
	background: #f55555;
	color: #fff;
}
th.contactform-unrequired::after {
	content: '任意';
	background: #eee;
	color: #888;
}
dl.contactform-addlist {
	margin: 0;
}
dl.contactform-addlist dt:not(:first-child) {
	margin-top: 1em;
}
dl.contactform-addlist dt {
	font-size: var(--vk-size-text-sm);
	color: #333;
	font-weight: normal;
}
span.mwform-file-delete {
	display: inline-block;
	width: 30px;
	height: 30px;
	background: #eee;
	line-height: 30px;
	text-align: center;
	border-radius: 50px;
	font-size: 22px;
	vertical-align: revert;
	margin-left: 3rem;
	transition: .1s;
}
span.mwform-file-delete:hover {
	background: #aaa;
	color: #fff;
}
input[type="file"] {
	font-size: 1rem;
}
select {
	/* セレクトボックスに三角じるし */
	background: #fff url(data:image/gif;base64,R0lGODlhFAAUALMAAP///7a2tv7+/vv7+/b29u7u7uXl5dra2tDQ0MfHx8bGxr+/v7q6ure3t////wAAACH5BAUAAA4ALAAAAAAUABQAAARIEMhJq704680lCmAojiEyLGQaLgNQNCrZFNMRjwclKDeoCBUC48YgXAw3Q+aTQmhOJNbmJZp1bKFcR5DwATsAYRE8MSjJ6HQEADs=) no-repeat calc(100% - 10px);
	background-size: 15px;
	padding-right: 40px !important;
	    font-family: unset;
	
}
p.contactform-note {
	font-size: var(--vk-size-text-sm);
	color: #777;
	margin: 0;
}
/* お問い合わせフォームの調整　タブレット以下 */
@media (max-width:991px) {
	.contactform table,
	.contactform tbody,
	.contactform th,
	.contactform td,
	.contactform tr {
		display: block;
	}
	.contactform th,
	.contactform td {
		width: 100% !important;
	}
	.contactform th {
		border-width: 1px 0 0 0;
	}
	.contactform td {
		border-width: 0;
	}
}
/* フォームの送信ボタン */
input.btn {
	font-family: inherit;
}
input[type=submit] {
	margin-top: 2rem;
	border: none;
}
/* 送信戻るボタン */
input[name=submitBack] {
	background: transparent;
	color: var(--vk-color-primary);
	border: 1px solid var(--vk-color-primary-dark);
	margin-right: 2em;
}
/*バリデーション＆エラー＆確認画面*/
.form-errored input:not([type="submit"]),
.form-errored select,
.form-errored textarea {
	border: solid 1px #f22 !important;
	background: #fbeeee;
}
.mw_wp_form .error::before {
	content: '\f06a';
	font-family: "Font Awesome 6 Free";
	font-weight: 600;
	padding-right: .5em;
}
.mw_wp_form_preview .contactform-preview-hidden {
	display: none;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 * MW WP Formカスタマイズ予約フォーム用　
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.mw_wp_form input[type="email"],
.mw_wp_form input[type="tel"],
.mw_wp_form input[type="text"],
.mw_wp_form textarea {
	padding: 1em;
	font-size: 15px;
	font-family: unset;
}

.mw_wp_form select {
	display: block;
	position: relative;
	width: 80%;
	height: 3.5em;
	font-size: 14px;
	border: 1px solid #ccc;
	border-radius: 4px;
	overflow: hidden;
	padding: 0 10px;
	font-family: unset;
}
.mwform-checkbox-field label,
.mwform-radio-field label {
	cursor: pointer;
}
/*ハイフンなしで入力！ 非表示*/
#autozip {
	display:none !important;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 * デートピッカー上書きCSS
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#ui-datepicker-div {
    font-family: unset;
}
#ui-datepicker-div .ui-datepicker-header {
	background: #eee;
	border: none;
	border-radius: 0;
	padding: 15px 0;
}
#ui-datepicker-div .ui-datepicker-header a,
#ui-datepicker-div .ui-datepicker-header select {
    cursor: pointer;
}
#ui-datepicker-div {
	padding: 0;
}
#ui-datepicker-div select.ui-datepicker-month,
#ui-datepicker-div select.ui-datepicker-year {
	padding: 5px;
	width: 50%;
	margin: 0;
}
#ui-datepicker-div .ui-datepicker-title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	font-size: 1rem;
}
#ui-datepicker-div .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-next {
	top: calc(50% - 0.9em);
}
#ui-datepicker-div th.ui-datepicker-week-end:last-child {
	color: blue;
}
#ui-datepicker-div th.ui-datepicker-week-end:first-child {
	color: red;
}
#ui-datepicker-div .ui-state-default,
#ui-datepicker-div .ui-widget-content .ui-state-default,
#ui-datepicker-div .ui-widget-header .ui-state-default,
.ui-button {
	border: none;
	background: none;
	text-align: center;
	line-height: 2;
	border-radius: 50px;
	transition: .1s ease-out;
}
#ui-datepicker-div a.ui-state-default.ui-state-active {
	background: var(--vk-color-primary) !important;
	color: #fff;
}
#ui-datepicker-div a.ui-state-default:hover,
#ui-datepicker-div a.ui-state-default:active,
#ui-datepicker-div a.ui-state-default:focus {
	background: #eee;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 * SLICK用　
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* スライダーの読み込み時の表示崩れをフェードインで隠す */
.slick-slider {
	opacity: 0;
	transition: opacity 1s linear;
}
.slick-slider.slick-initialized {
	opacity: 1;
}

/* スライダー左右ナビボタン */
.slick-prev:before,
.slick-next:before {
	opacity: 1;
	color: var(--vk-color-primary-dark);
	line-height: 44px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	display: block;
}
.slick-next:before {
	content: '\f054';
}
.slick-prev:before {
	content: '\f053';
}
.slick-next {
	right: 0px;
}
.slick-prev {
	left: 0px;
}
.slick-prev,
.slick-next {
	z-index: 5;
	width: 44px;
	height: 44px;
	background: #eee;
	border-radius: 99px;
	&:hover,&:focus{
		background: #ddd;
	}
}
/* カード並び方・サイズを揃える */
.slick-slider {	/* slickの全体wrapperに相当 */
	opacity: 0;
	transition: opacity .3s linear;
}
.slick-list {	/* スライダー部分 */
	padding: 0 40px 30px !important;
}
.slick-track {	/* スライダー内部の横並びになる部分 */
	display: flex;
	margin-left: 0;
	margin-right: 0;
}
.slick-slide {	/* スライド一枚ずつの部分 */
	z-index: 0;
	margin-right: 15px !important;
	margin-left: 15px !important;
	height: auto !important;
	/* 	min-width:300px; */
}
/* gridカラムをslickにする時用 */
.slick-slide.vk_gridColumn_item {
    max-width: unset;
    flex: unset !important;
	padding:0;
}


/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 * スクロールヒント
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%,
  100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}
.scroll-hint-icon {
  position: absolute;
  top: 20px;
  left: calc(50% - 60px);
  width: 120px;
  height: 80px;
  border-radius: 5px;
  transition: opacity .3s;
  opacity: 0;
  background: rgba(0, 0, 0, .5);
  padding: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}
.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px;
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: .8;
}
.scroll-hint-icon:before {
  color: #FFF;
  font-family: "Font Awesome 6 Free";
  content: '\f0ec';
  font-size: 40px;
  font-weight: 900;
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Snow Monkey Forms 調整
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* プログレストラッカー */

.smf-progress-tracker {
    margin-bottom:var(--vk-margin-block-bottom);
}
.smf-progress-tracker__item__number {
    background: var(--vk-color-primary) !important;
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    width: 50px;
    height: 50px;
    filter: grayscale(0.8);
}
.smf-progress-tracker__item__text {
    font-size: 1rem;
    font-weight: bold;
    opacity: 0.8;
}
.smf-progress-tracker__item:after, .smf-progress-tracker__item:before {
    background: #ddd;
    top: 25px;
    height: 3px;
}
[data-screen=back] .smf-progress-tracker__item--input .smf-progress-tracker__item__number,
[data-screen=complete] .smf-progress-tracker__item--complete .smf-progress-tracker__item__number,
[data-screen=confirm] .smf-progress-tracker__item--confirm .smf-progress-tracker__item__number,
[data-screen=input] .smf-progress-tracker__item--input .smf-progress-tracker__item__number,
[data-screen=invalid] .smf-progress-tracker__item--input .smf-progress-tracker__item__number{
    filter: none;
}

/* フォーム要素 */
.smf-form input,
.smf-form textarea{
    font-family: unset !important;
}
/* SPメールフォーム拡大対策 */
@media (max-width: 992px) { 
	input, textarea, select {
		font-size:16px !important;
	}
}
.smf-control-description {
    font-size: 0.875rem;
    opacity: 0.8;
}

@media (max-width: 992px) { 
	.smf-item__col.smf-item__col--label {
		margin-bottom:1rem;
	}
}
.device-pc form.snow-monkey-form:not([data-screen="confirm"]) .smf-item__label {
    padding-top: 0.5rem;
}
.smf-item__label__text {
    font-weight: bold;
}
.smf-item__description {
    font-size: 0.875rem;
    opacity: 0.8;
}
.smf-item__label::after {
    float: right;
/*     margin-right: 1rem; */
    background: #eee;
	color: #777;
    font-size: 0.875rem;
    padding: 3px 9px;
    border-radius: 3px;
}
.is-style-smf-required .smf-item__label::after {
    content: '必須';
    background: #f44;
    color: #fff;
}
.is-style-smf-unrequired .smf-item__label::after {
	content:'任意';
}
/* ラジオ・チェック・セレクト */
.smf-checkbox-control,
.smf-radio-button-control{
    cursor: pointer;
	display: block;
    padding: 0.5em;
	position:relative;
}
input.smf-checkbox-control__control,
input.smf-radio-button-control__control {
    pointer-events: none;
    accent-color: #e0eb16;
}
.smf-radio-buttons-control--horizontal .smf-radio-buttons-control__control,
.smf-checkboxes-control--horizontal .smf-checkboxes-control__control {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 2rem;
}
span.smf-checkbox-control input:checked+span::before, span.smf-radio-button-control input:checked+span::before {
    background: #111111;
    opacity: 0.1;
    border-radius: var(--vk-size-radius);
    pointer-events: none;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* 住所 */
.form-address-group {
    gap: 0 1em;
}
input#zip,select#pref {
    min-width: 260px;
}
form.snow-monkey-form[data-screen="confirm"] .smf-addressbox .wp-block-group__inner-container{
    display: flex !important;
    flex-direction: row !important;
    gap: 1em;
}
form.snow-monkey-form[data-screen="confirm"] .smf-addressbox .wp-block-group__inner-container *:first-child{
    min-width:120px;
}
/* ファイル */
input.smf-file-control__control {
    display: none;
}
span.smf-file-control__label {
    border: solid 1px var(--vk-color-primary);
    border-radius: var(--vk-size-radius);
    color: var(--vk-color-primary);
    font-size: 0.875em;
    padding: 0.3em 0.8em;
    margin-right: 0.5rem;
    cursor: pointer;
}
span.smf-file-control__clear {
    opacity: 0.4;
    font-size: 0.8em;
    border: solid 1px;
    padding: 0.1em 0.4em;
    margin-left: 2rem;
    cursor: pointer;
}
.smf-file-control.smf-file-control--set span.smf-file-control__filename--no-file {
    display: none; /* ファイルがセットされているとき「選択されていません」を表示しない */
}
.smf-file-control:not(.smf-file-control--set) span.smf-file-control__filename--has-file {
    display: none; /* ファイルがセットされていないとき「ファイル名」を表示しない */
}
/* 同意 */
.smf-form--simple-table .wp-block-snow-monkey-forms-item.smf-agreement {
    border: none;
    padding: 1rem 0;
}
.smf-agreement span.smf-checkbox-control {
    width: fit-content;
    margin: auto;
}
.smf-agreement span.smf-checkbox-control input:checked+span::before{
    content:none;
}
form.snow-monkey-form[data-screen="confirm"] .smf-agreement {
    display: none;
}

.smf-form {
    margin-bottom:var(--vk-margin-block-bottom);
}
.smf-button-control button[type="submit"] {
    font-size: 1.2rem;
    background-color: var(--vk-color-primary);
    border-radius: var(--vk-size-radius);
    color: #fff;
    padding: 0.5em 2em;
    min-height: 50px;
	font-family: unset;
	transition:.3s;
}
.smf-button-control button[type="submit"]:hover {
    background-color: var(--vk-color-primary-dark);
}
.smf-button-control button[data-action="back"],
.smf-button-control button[data-action="back"]:hover{
    border: solid 1px var(--vk-color-primary);
    color: var(--vk-color-primary);
    background: #fff;
}
.smf-button-control button[data-action="back"]:hover {
    filter: brightness(0.9) grayscale(1);
    border-color: transparent;
}
/* スタイル：テーブル */
.smf-form--simple-table .wp-block-snow-monkey-forms-item {
    border-bottom: solid 1px #ddd;
    padding: 1rem 1rem;
    gap:1rem;
}
/* スタイル：レター */
.smf-form--letter .wp-block-snow-monkey-forms-item {
    display: flex;
    gap: 1rem;
    flex-direction: column;
    padding: 0 0 2rem;
}
/* 入力不備 */
.smf-form .smf-item [data-invalid="1"]{
    border-color: #ff4444;
    border-width:3px;
}
.smf-error-messages {
    font-weight: bold;
    position: relative;
    color:#ff4444;
}
.smf-error-messages::before {
    content: '\f06a';
    font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    padding-right: 0.5em;
}
/*完了画面*/
.smf-complete-content p.has-background {
  padding: 0.25rem 1rem;
}