/*
Theme Name: Xwrite child
Version: 2.0.0
Template: xwrite
*/

/**
 * ここから制作者が追記しています。
 */

/*-------------------------------
 sp pcの改行
-------------------------------*/
.u-br-sp,
.u-br-pc {
  display: none !important;
}

/*---------- スマホ ----------*/
@media (max-width: 599px) {
  .u-br-sp {
    display: block !important;
  }
}
/*---------- PC ----------*/
@media (min-width: 950px) {
  .u-br-pc {
    display: block !important;
  }
}

/*---------- FV-スクロール ----------*/
.scroll-position-center.scroll-design-line {
    left: auto;
    right: 5%;
	transform: none;
}

/*---------- FV-ボタンの角丸 ----------*/
.mainVisual .item__info--link .btn {
    border-radius: 50px;
}

/*---------- FV-SPでの見栄え ------*/
@media (max-width: 599px) {
  .mainVisual-front-page .item__info {
    top: 120px;
    bottom: 120px;
    left: 5%;
    right: 5%;
    background: rgba(255, 255, 255, 0.65);
    border-radius: 8px;
  }
}

@media (min-width: 768px) {
    .mainVisual.title-layout-contents-top .item__info--caption {
        font-size: 2.4rem;
        color: #333;
    }
}

.mainVisual .item__info--caption {
    color: #333;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
}

@media (min-width: 992px) {
    .mainVisual .item__info--caption {
        font-size: 2.4rem !important;
    }
}


/*---------- ヘッダーに影 ----------*/
.header {
    box-shadow: 0 0 4px oklch(from var(--wp--preset--color--black) l c h / 0.3);
}

/*---------- TOP-コンセプトカード ----------*/
.articleBody .sr-card {
    max-width: 600px;
    margin-top: 40px;
    margin-inline: auto;
    box-shadow: 0 0 4px oklch(from var(--wp--preset--color--black) l c h / 0.3);
}

/*---------- 固定ページのみ：コンテンツ上下余白を削除 ----------*/
body.page .contents {
    flex: 1;
    padding-top: 0;
    padding-bottom: 0;
}

.sr-text-en {
	font-family: "Montserrat", sans-serif;
}

/*-------------------------------
  お知らせ（CPT news）をXwrite風に整形
  外側グループに class="sr-newslist" を付ける前提
-------------------------------*/
/*---------- お知らせ一覧だけ：記事用H3装飾を無効化（特異性を上げて勝つ） ----------*/
.articleBody .sr-newslist h3 {
  margin-top: 0 !important;
  font-size: 1.5rem;
}
.articleBody .sr-newslist h3.wp-block-post-title {
    margin-top: 0 !important;
}
.articleBody .sr-newslist h3.wp-block-post-title:not(.is-style-default):not(.is-style-normal):not(h3[class*="is-style-heading"]) {
  padding: 0 !important;
  border-bottom: 0 !important;
}
.articleBody .sr-newslist h3.wp-block-post-title::before,
.articleBody .sr-newslist h3.wp-block-post-title::after {
  content: none !important;
  display: none !important;
}

/*---------- お知らせ一覧：カード全体をクリック可能にする ----------*/
.sr-newslist .wp-block-post-template > li > .wp-block-group {
  position: relative;
  gap: 24px;
}

@media (max-width: 599px) {
    .sr-newslist .wp-block-post-template > li > .wp-block-group {
        display: block;
    }
}

/*---------- タイトルリンクをカード全面に拡張 ----------*/
.sr-newslist .wp-block-post-title a {
  position: static;
}

.sr-newslist .wp-block-post-title a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

/*-------------------------------
 メールフォーム
-------------------------------*/
.snow-monkey-form {
}

.smf-form > .smf-item + .smf-item {
    margin-top: 30px;
}

/*---------- テキスt（1行） ----------*/
.smf-form .smf-text-control__control {
	width: 100%;
	padding: 24px 20px;
	border: none;
	border-radius: 8px;
	background: #E9EDF2;
	font-size: 16px;
	font-weight: 500;
	box-shadow: none;
}

/*---------- テキストエリア ----------*/
.smf-form .smf-textarea-control__control {
	width: 100%;
	height: 150px;
	padding: 24px 20px;
	border: none;
	border-radius: 8px;
	background: #E9EDF2;
	font-size: 16px;
	font-weight: 500;
	box-shadow: none;
}

/*---------- チェックボックス ----------*/
.smf-form .smf-checkbox-control {
	display: flex;
	justify-content: center;
	gap: 12px;
}

.smf-form .smf-checkbox-control__control {
	position: relative;
	width: 28px;
	height: 28px;
	margin: 0;
	border: 1px solid #BCCAD7;
	border-radius: 4px;
	background: #fff;
	appearance: none;
}

.smf-form .smf-checkbox-control__control::before {
	content: "";
	position: absolute;
	top: 8.65px;
	left: 6.54px;
	width: 14.91px;
	height: 10.69px;
	background: url(https://oh-navigate.co.jp/wp-content/uploads/2026/02/check_icon-002.png) no-repeat center / contain;
	transform: none;
	opacity: 0;
	transition: opacity 0.3s;
}

.smf-form .smf-checkbox-control__control:checked {
	background: #fff;
	border-color: #BCCAD7;
}

.smf-form .smf-checkbox-control__control:checked::before {
  opacity: 1;
}

.smf-item {
	display: grid;
	gap: 10px;
}

.smf-item__label__text {
	font-size: 20px;
	font-weight: 700;
}

.smf-item:has([data-validations*="required"]) .smf-item__label {
	display: flex;
	align-items: center;;
	gap: 0.75rem;

	&::after {
		content: "必須";
		font-size: 13px;
		padding: 6px;
		background: #E53935;
		border-radius: 4px;
		color: #fff;
	}
}

/*---------- プライバシーポリシーテキスト上下余白 ----------*/
.sr-form-privacy-text {
	margin-top: 40px;
	margin-bottom: 20px;
}


/*---------- 送信ボタン ----------*/
.smf-action {
	margin-top: 40px;
	text-align: center;
}

.smf-action .smf-button-control__control {
	display: inline-flex;
	gap: 16px;
	align-items: center;
	padding-inline: 40px;
	padding-block: 20px;
	text-align: left;
	border-radius: 60px;
	background: #638BAF;
	border-width: 0;
	color: #ffffff;
	font-family: inherit;
	font-size: inherit;
	font-style: normal;
	font-weight: 700;
	line-height: inherit;
}

/*-------------------------------
  カード内はみ出し防止
-------------------------------*/
@media (min-width: 768px) {
    .articleBody h3 {
        font-size: 2rem;
    }
}