@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/*ヘッダーの背景にイラスト*/
@media only screen and (min-width: 960px) {
.l-header {
	background: none;
	position: relative !important;/*ヘッダーの高さを固定する*/
	height: auto;
}
#header {
	background: url("./img/header1200.jpg") no-repeat center top;
	height: 216px;
}
.l-header__inner {
	height: 216px;
}
#content {
	padding-top: 0;
}

}

/*ヘッダーロゴの位置を左に*/
@media only screen and (min-width: 960px) {
  .-parallel .l-header__logo {
    max-width: 1140px;       /* 中央寄せされた本文幅に合わせる */
    margin: 0 auto;          /* 中央寄せ */
    padding-left: 80px;      /* 左から80px内側にロゴを寄せる */
    text-align: left;        /* ロゴを左寄せに */
  }
}
				
/*ロゴの下に余白、追従ヘッダーの場合は余白なし*/

@media only screen and (min-width: 960px) {
  .c-headLogo {
    margin-bottom: 70px;
  }
  .l-fixHeader__logo .c-headLogo {
    margin-bottom: 0 !important;
  }
}

/*PC板でbody全体の一番上のレイヤーに、イラストを固定で出す*/
@media only screen and (min-width: 960px) {
  body::before {
    content: "";
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1540px;
    height: 1026px;
    background: url("./img/kotei_stork5.png") no-repeat center center;
    background-size: contain;
	z-index: 9999;
    pointer-events: none;
  }
}

/* トップページ以外のすべてでパンくずに上マージンをつける */
body:not(.home) .p-breadcrumb {
  margin-top: 28px;  /* 必要に応じて数値調整 */
}

/* パンくずリストの文字色を白にする */
.p-breadcrumb {
  color: #fff;
}

.p-breadcrumb a {
  color: #fff;
}

.p-breadcrumb a:hover {
  text-decoration: underline;
}



/*スマホのファーストビュー改善*/

@media only screen and (max-width: 959px) {
  .page-id-2 .top_ehon {
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-top: -60px !important;
    display: block;
  }

  .page-id-2 .top_ehon img {
    display: block;
    width: 100vw !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 余白を消す：親コンテナのpaddingやmarginを0に */
.page-id-2 .l-content,
  .page-id-2 .l-container,
  .page-id-2 #content,
  .page-id-2 .top {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .page-id-2 main.l-content {
    padding-top: 0 !important;
  }

  .page-id-2 .post_content > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .page-id-2 figure.top_ehon {
    margin: 0 !important;
    padding: 0 !important;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
  }
  

#main_content.l-mainContent {
    padding-top: 0 !important;
  }

}

.sns_links_wrapper .swell-block-fullWide__inner {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.map_block{
	height:460px;
}
@media only screen and (max-width: 959px) {
	
	.map_block{
	min-height:360px;
}
}
@media only screen and (max-width: 480px) {
	
	.map_block{
	min-height:200px;
}
}
/*フッター*/
/*.top #content {
    padding-top: 2em!important;
}*/

.c-widget + .c-widget {
  margin-top: 8px!important;
}
h3.h3_ss{
	background:#8b8b8b;
	margin:0;
	padding:8px 0;
	font-size:14px;
	color:#FFF;
}
.ss{
	font-size:14px;
	line-height:1.2;
}
img.img_center{
	display:block;
	max-width:316px;
	margin:0 auto;
}

table.f_tbl{
	border-collapse: collapse;
	width: 100%;
	border-top: 1px solid #666666;
	border-bottom: 1px solid #666666;
	margin:0 0 20px 0;
	 background:#fff;
}
table.f_tbl td{
 font-size:14px;
 line-height:1.2em;
 	text-align: left;
	padding:10px 4px;
	vertical-align: top; 
}
table.f_tbl p{
	margin:0;
	padding:0;
}


table.f_tbl th{
	 font-size:14px;
 line-height:1.2em;
	padding:10px 4px;
	font-weight: bold;
	text-align:left;

 vertical-align: middle;
 width:20%;
}
table.f_tbl tr{
	border-bottom: 1px solid #666666;
}
.l-content {
    margin-bottom:2em!important;
}

.contact_area {
  width: 100%;
  margin: 0 auto 48px auto;
  padding: 16px 8px;
  box-sizing: border-box;
  background: #c5d8ed;
}	
@media only screen and (min-width:600px) {
	
	.contact_area {
width: 600px;
  padding: 32px 100px;
  margin: 0 auto 48px auto;
}
	}
	
@media only screen and (max-width: 599px) {
  .contact_area input[type="text"],
  .contact_area input[type="email"],
  .contact_area input[type="tel"],
  .contact_area select,
  .contact_area textarea {
    width: 100%;
    box-sizing: border-box;
  }
}

	.wpcf7 input[type="submit"] {
  background-color: #005bac;     /* ボタン背景色 */
  color: #fff;                   /* 文字色 */
  font-size: 16px;               /* 文字サイズ */
  padding: 12px 32px;            /* 余白でボタンを大きく */
  border: none;                  /* 枠線なし */
  border-radius: 5px;            /* 角を少し丸く */
  cursor: pointer;               /* マウスが手のマークに */
  transition: background-color 0.3s ease, transform 0.2s ease; /* アニメーション */
}

.wpcf7 input[type="submit"]:hover {
  background-color: #0078d4;     /* ホバー時の色（明るく） */
  transform: translateY(-2px);   /* 少し浮かせる */
}

/* 🔴 汎用またはエラー時（エラー時はこのスタイルが適用される） */
.wpcf7 .wpcf7-response-output {
  padding: 12px;
  border-radius: 4px;
  font-weight: bold;
}

/* ✅ 成功メッセージ（青） */
.wpcf7 .wpcf7-response-output.wpcf7-mail-sent-ok {
  color: #004080 !important;
  border: 2px solid #004080 !important;
  background-color: #e6f0ff !important;
}

/* 🔴 バリデーションエラー（赤） */
.wpcf7 .wpcf7-response-output.wpcf7-validation-errors {
  color: #b10000 !important;
  border: 2px solid #b10000 !important;
  background-color: #ffe6e6 !important;
}


/* 各フィールドの下に出るエラーメッセージ */
.wpcf7-not-valid-tip {
  color: #b10000;
  font-size: 14px;
  margin-top: 4px;
}
