/*
Theme Name: XWRITE child
Version: 1.0.0
Template: xwrite
*/

/* TOPページ */
header.articleHeader { display: none; }

@media (min-width: 992px) {
    .mainVisual .item__info--caption {
        font-size: 4.4rem!important;
    }
}
.mainVisual .item__info--caption {
    font-size: 2.0rem;
}
@media (min-width: 992px) {
    .mainVisual .item__info--text {
        font-size: 150%;
    }
}

.header .siteInfo .siteInfo__logo img {
    min-height: 32px;
}
@media (max-width: 767.98px) {
    .header-fix .siteInfo .siteInfo__logo {
        min-height: 32px;
    }
}

.mainVisual .item__info--link .btn {
    padding: .8em 1.4em;
    border-radius: 5px;
}
.xw-page-article-list .page-article__link.type-button-outline.page-article__link--rounded, .xw-page-article-list .page-article__link.type-button.page-article__link--rounded {
    border-radius: 5px;
    width: 100%;
    font-size: 1.4rem;
    padding: 16px;
}
@media (min-width: 768px) {
    .xw-page-article-list.type-card .page-article__link.type-button, .xw-page-article-list.type-card .page-article__link.type-button-outline {
        font-size: 1.6rem;
        width: 200px;
        padding: 16px;
    }
}
.header .sub-menu, .header-fix .sub-menu {
    width: auto;
}
/* aboutページ */
.mainVisual.title-layout-contents-top .item__overlay {
    background: #a1a1a1;
    opacity: none;
}
.mainVisual.title-layout-contents-top .item .item__info {
    min-height: 25rem;
}
@media (min-width: 992px) {
    .mainVisual.title-layout-contents-top .item .item__info {
        min-height: 55rem;
        transition: auto;
    }
}
.articleBody {
	margin-top: 0px!important;
}

/* ・・・・・・・・・・・・・・・・・・・・
お問い合わせフォームの装飾
・・・・・・・・・・・・・・・・・・・・ */
/* フォーム全体の枠 */
.Form {
  max-width: ;
  margin: 0 auto;
  padding: 0px 40px 40px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fafafa;
  box-sizing: border-box;
}

/* 各項目の余白 */
.Form-Item {
  margin-bottom: 24px;
}

/* ラベル */
.Form-Item-Label {
  margin-bottom: 8px;
  font-weight: bold;
  font-size: 16px;
  color: #333;
}

/* 必須マーク */
.Form-Item-Label-Required {
  display: inline-block;
  margin-right: 4px;
  padding: 2px 6px;
  font-size: 12px;
  background: #e74c3c;
  color: #fff;
  border-radius: 3px;
}

/* input、textarea の共通装飾 */
.Form input[type="text"],
.Form input[type="email"],
.Form input[type="tel"],
.Form textarea {
  width: 100%;
  padding: 12px 14px;
  font-size: 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  background: #fff;
}

.Form input[type="text"]:focus,
.Form input[type="email"]:focus,
.Form input[type="tel"]:focus,
.Form textarea:focus {
  border-color: #0073aa;
  outline: none;
}

/* textarea は高さを固定しておく */
.Form textarea {
  height: 160px;
  resize: vertical;
}

/* ラジオ・チェックボックス項目の調整 */
.Form .wpcf7-radio,
.Form .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.Form .wpcf7-radio label,
.Form .wpcf7-checkbox label {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 15px;
  cursor: pointer;
}

/* ファイル添付input */
.Form input[type="file"] {
  font-size: 14px;
}

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

.confirm_button {
  background: #0073aa;
  color: #fff;
  font-size: 16px;
  padding: 14px 40px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background .3s;
}

.confirm_button:hover:not([disabled]) {
  background: #005f8d;
}

.confirm_button:disabled {
  background: #ccc;
  cursor: default;
}

.wpcf7-submit {
  background: #0073aa;
  color: #fff;
  font-size: 16px;
  padding: 14px 40px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background .3s;
}
.back_button {
  background: #bdbdbd;
  color: #fff;
  font-size: 16px;
  padding: 14px 40px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background .3s;
}
.cf-turnstile {
	text-align: center;
}
.pagetop {
    right: 20px;
    bottom: 80px!important;
}

.xw-block-post-list.type-slider .slick-slide {
    border: 1px solid #f3f3f3
}
.xw-block-post-list.type-slider .xw-post-article-media__body {
    padding: 0 30px 30px;
}
.contents {
	padding-bottom: 0!important;
}
.copyright p {
    text-align: left;
    max-width: 960px;
    margin: 10px auto 30px;
    font-size: 12px;
    width: auto;
    padding: 0 40px;
}
.xw-post-article-list__item {
    border: 1px solid #f3f3f3
}
.articleList__item {
    border: 1px solid #f3f3f3
}
.articleList.type-list.pc-col1 .xw-article-media__body {
    padding: 1rem 2.5rem!important;
}
@media (min-width: 768px) {
    .xw-block-post-list.type-list.pc-col1 .xw-post-article-media__body {
        padding: 2rem 2.5rem!important;
    }
}
.xw-block-post-list.type-list .xw-post-article-media__body {
    padding: 0.5rem 1.5rem 1.5rem!important;
    flex-grow: 1;
}
.footer {
	margin-top: 60px;
}
@media (max-width: 767.98px) {
	.xw-block-post-list.type-list .xw-post-article-media {
		display: block;
	}
}
@media (max-width: 767.98px) {
    .articleList.type-list .xw-article-media {
		display: block;
	}
}	
/* ・・・・・・・・・・・・・・・・・・・・
ユーキリティ
・・・・・・・・・・・・・・・・・・・・ */
/* 非表示 */
.display-none {
	display: none;
}

.pt0 {
	padding-top: 0;
}
.pb0 {
	padding-bottom: 0;
}
.mt0 {
	margin-top: 0;
}
.mb30 {
	margin-bottom: 30px!important;
}
.w-30p > table >  tbody >  tr > td:first-child {
	width: 30% !important;
}

.vkfs__label-name {
	font-size: 1.6rem!important;
}
.vkfs__input-wrap label {
    font-size: 1.4rem;
}
.vkfs input[type=text] {
    font-size: 1.4rem;	
}
.vkfs .btn[type=submit] {
    width: 250px;
    color: #fff;
}