/* ------------------------------------------------------------
    Layeout
    オレンジ：color:rgba(246, 125, 17, 0.9)
    薄い青：color:#8FB3E4
    青　　：color:rgba(246, 125, 17, 0.9)
    白　　：color:#ffffff
------------------------------------------------------------ */

/* -- Bootstrap5 ------------------------------------------- */
.editor-styles-wrapper,
.entry-content {
  max-width: 1140px; /* PC用固定幅 */
}
.wp-block-group {
  max-width: 1140px;
}

.entry-content .is-content-justification-center {
    justify-items: center !important;
}
/* 大型　画像部分 */
.entry-content .size-full img {
    width: 100% !important;  /* 横幅を親要素いっぱいに */
    height: auto !important;  /* 高さは自動で比率維持 */
}
.cat_eye img {
    width: 100% !important;  /* 横幅を親要素いっぱいに */
    height: auto !important;  /* 高さは自動で比率維持 */
}
.row p img  {
    width: 100% !important;  /* 横幅を親要素いっぱいに */
    height: auto !important;  /* 高さは自動で比率維持 */
}
@media screen and (max-width: 768px) {
    .row p img  {
        width: 100% !important;  /* 横幅を親要素いっぱいに */
        height: auto !important;  /* 高さは自動で比率維持 */
    }
    .entry-content .size-full img {
        width: 100% !important;  /* 横幅を親要素いっぱいに */
        height: auto !important;  /* 高さは自動で比率維持 */
    }
}

.box_type1  {
  padding:5px 0 5px 0;
  text-align:center;
  font-size:24px;
  line-height:36px;
  background-color: #f67d11; /* 背景色をオレンジに */
  border:solid 1px #ffffff;
  display:table-cell;
}
.box_type1 a {
  text-decoration: none;
  color:#ffffff;
  font-weight:bold;
}

@media screen and (max-width: 768px) {
  .box_type1 {
	  padding:10px 0 10px 0;
	  font-size:18px;
	  line-height:28px;
  }
}

/* 初期状態：非表示＆ちょっと下にズラす */
.shw {
	opacity: 0;
	transform: translateY(30px);
	transition: all 0.6s ease;
}
/* 表示状態 */
.shw.is-visible {
	opacity: 1;
	transform: translateY(0);
}
.table {
    --bs-table-striped-bg: #ffe5cf;
}

.list-group{
	--bs-list-group-bg:#ffe5cf;
}

.jps-bk-color {
  background-color: #ffe5cf;
}

.step-arrow-box {
  position: relative;
  display: inline-block;
  padding: 10px 20px;
  background-color: #f67d11;
  color: #ffffff;
  font-weight: bold;
  border-radius: 5px;
  margin-bottom: 10px;
}

.step-arrow-box:after {
  content: "";
  position: absolute;
  bottom: -19px; /* 下側に配置 */
  left: 0; /* 左端に配置 */
  width: 100%; /* 幅を親要素と同じにする */
  height: 20px; /* 高さを設定 */
  background-color: #f67d11; /* 背景色をオレンジに */
  clip-path: polygon(0 0, 100% 0, 50% 100%); /* 三角形にする */
  z-index: 1;
}

.step-text {
  display: inline-block;
  vertical-align: middle;
  margin-left: 30px;
}
.mod_title {
  color: #f67d11; /* 背景色をオレンジに */
}
.w-90 {
	width:90%;
	height:auto;
}
.w-100 {
	width:100%;
	height:auto;
}
.googlemap {
	width:100%;
	height:300px;
}
.jps-name {
	display: flex;
	align-items: center;  /* 垂直中央揃え（任意） */
	gap: 0.3em;           /* 要素間のスペース（任意） */
	font-size:normal;
}
.jps-name .black{
	color:#000000;
}
.jps-name .red{
	color:red;
}
.bf_relife_red {
	background-color:rgba(246, 125, 17, 0.9);
}
.cl_relife_wht {
	color:#ffffff;
}
.current{
	color:#ffe8d4;
}

.clear{
	clear:both;
}
h1 {
	font-size:14px;
	font-weight:normal;
}
/* bread --------------------------------------------------------------------*/
.breadcrumb {
	margin-top:10px;
}
.breadcrumb p {
	font-size:small;
}
.breadcrumb a {
	font-size: inherit;
	text-decoration:none;
	color:#000000;
}
.breadcrumb a:hover {
	text-decoration:none;
	color:rgba(246, 125, 17, 0.9);
}
/* OpenAi -------------------------------------------------------------------*/
/* ====== 投稿本文専用 ====== */
.entry-content {
  font-family: var(--font-base, sans-serif);
  color: var(--color-text, #222);
  line-height: 1.6;
  font-size: 1rem;
}

/* WordPressブロックのみに作用させる */
.entry-content .wp-block {
  max-width: var(--content-max-width, 1200px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

/* リンク */
.entry-content a {
  color: var(--color-primary, #0d6efd);
  text-decoration: none;
}
.entry-content a:hover {
  text-decoration: underline;
}

/* ボタン（Bootstrapと別物にする） */
.entry-content .wp-block-button .wp-block-button__link {
  background: var(--color-primary, #0d6efd);
  color: #fff;
  padding: 0.6em 1.1em;
  border-radius: 6px;
  display: inline-block;
  text-decoration: none;
}

/* WordPress ブロックの横並び対応 */
.wp-block-group.is-layout-flex,
.wp-block-group-is-layout-flex {
  display: flex;
  flex-wrap: nowrap; /* 横に並べて折り返さない */
  align-items: flex-start; /* 高さを揃えたい場合は center なども可 */
  gap: 1.5rem; /* 要素間の余白 */
}

/* 子要素を縮小できるように */
.wp-block-group.is-layout-flex > * {
  flex: 0 1 auto;
}

/*-----------------------------------
  全体のボックスサイズ調整
-----------------------------------*/
.editor-styles-wrapper,
.entry-content {
  box-sizing: border-box;
  max-width: 1140px; /* エディターとフロントで幅を揃える */
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: #000000;
  line-height: 1.5;
}

/*-----------------------------------
  段落
-----------------------------------*/
.editor-styles-wrapper .wp-block-paragraph,
.entry-content .wp-block-paragraph {
  font-size: 16px;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 1em;
}

/*-----------------------------------
  見出し
-----------------------------------*/
.editor-styles-wrapper .wp-block-heading,
.entry-content .wp-block-heading {
  margin-top: 0;
  margin-bottom: 0.5em;
  line-height: 1.25;
}

/* h1〜h6 フォントサイズ */
.editor-styles-wrapper h1, .entry-content h1 { font-size: 2.5rem; }
.editor-styles-wrapper h2, .entry-content h2 { font-size: 2rem; }
.editor-styles-wrapper h3, .entry-content h3 { font-size: 1.75rem; }
.editor-styles-wrapper h4, .entry-content h4 { font-size: 1.5rem; }
.editor-styles-wrapper h5, .entry-content h5 { font-size: 1.25rem; }
.editor-styles-wrapper h6, .entry-content h6 { font-size: 1rem; }

/*-----------------------------------
  テーブル
-----------------------------------*/
.editor-styles-wrapper .wp-block-table,
.entry-content .wp-block-table {
/*
  margin: 1em auto;
*/
  border-collapse: collapse;
}

.editor-styles-wrapper .wp-block-table td,
.editor-styles-wrapper .wp-block-table th,
.entry-content .wp-block-table td,
.entry-content .wp-block-table th {
/*
  padding: 8px;
  border: 1px solid #ccc;
*/
  margin:0;
}

/*-----------------------------------
  画像ブロック中央揃え
-----------------------------------*/
.editor-styles-wrapper .wp-block-image,
.entry-content .wp-block-image {
  display: flex;
  justify-content: center;
  margin-top: 1em;
  margin-bottom: 1em;
}

/*-----------------------------------
  グループブロック
-----------------------------------*/
.editor-styles-wrapper .wp-block-group,
.entry-content .wp-block-group {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
  width: 100%;
  max-width: 1140px;
}

/*-----------------------------------
  文字色・背景色（デフォルト10色）
-----------------------------------*/
/*-----------------------------------
  文字色・背景色（デフォルト10色 + Bootstrap danger）
-----------------------------------*/
.has-black-color { color: #000000; }
.has-white-color { color: #ffffff; }
.has-dark-gray-color { color: #333333; }
.has-gray-color { color: #888888; }
.has-light-gray-color { color: #cccccc; }
.has-blue-color { color: #0073aa; }
.has-red-color { color: #d63638; }
.has-yellow-color { color: #f6e05e; }
.has-green-color { color: #46b450; }
.has-orange-color { color: #ff6900; }

/* Bootstrap スラッグ対応 */
.has-primary-color { color: #0d6efd; }
.has-secondary-color { color: #6c757d; }
.has-success-color { color: #198754; }
.has-danger-color { color: #dc3545; }   /* ← ここを追加 */
.has-warning-color { color: #ffc107; }
.has-info-color { color: #0dcaf0; }
.has-light-color { color: #f8f9fa; }
.has-dark-color { color: #212529; }

/* 背景色 */
.has-black-background-color { background-color: #000000; }
.has-white-background-color { background-color: #ffffff; }
.has-dark-gray-background-color { background-color: #333333; }
.has-gray-background-color { background-color: #888888; }
.has-light-gray-background-color { background-color: #cccccc; }
.has-blue-background-color { background-color: #0073aa; }
.has-red-background-color { background-color: #d63638; }
.has-yellow-background-color { background-color: #f6e05e; }
.has-green-background-color { background-color: #46b450; }
.has-orange-background-color { background-color: #ff6900; }

/* Bootstrap スラッグ対応 */
.has-primary-background-color { background-color: #0d6efd; }
.has-secondary-background-color { background-color: #6c757d; }
.has-success-background-color { background-color: #198754; }
.has-danger-background-color { background-color: #dc3545; }
.has-warning-background-color { background-color: #ffc107; }
.has-info-background-color { background-color: #0dcaf0; }
.has-light-background-color { background-color: #f8f9fa; }
.has-dark-background-color { background-color: #212529; }

/*-----------------------------------
  フォントサイズ（theme.json 未設定の場合 CSS で補完）
-----------------------------------*/
.has-small-font-size { font-size: 13px; }
.has-normal-font-size { font-size: 16px; }
.has-medium-font-size { font-size: 20px; }
.has-large-font-size { font-size: 36px; }
.has-x-large-font-size { font-size: 42px; }

/*-----------------------------------
  テキスト中央揃え
-----------------------------------*/
.has-text-align-center { text-align: center; }

/* 横並びのグループブロック */
.wp-block-group.is-layout-flex {
    display: flex;
    flex-wrap: nowrap;
    gap: 1.5em; /* 画像とテキストの間隔 */
    align-items: flex-start;
}

/* スマホサイズで縦並びに切り替え */
@media screen and (max-width: 768px) {
    .wp-block-group.is-layout-flex {
        flex-direction: column;
        flex-wrap: wrap;
        gap: 1em;
    }

    /* 画像を中央揃えにしたい場合 */
    .wp-block-group.is-layout-flex .wp-block-image {
        margin-left: auto;
        margin-right: auto;
    }

    .wp-block-group.is-layout-flex .wp-block-image img {
        width: 100% !important;  /* 横幅を親要素いっぱいに */
        height: auto !important;  /* 高さは自動で比率維持 */
    }
    
    /* 内部テキストも幅100% */
    .wp-block-group.is-layout-flex .wp-block-group__inner-container {
        width: 100%;
    }
}



.bdl {
	border:solid 1px #ffe5cf:
}
.bgc {
  background-color: #ffe5cf;
}
.lh18 {
	line-height:18px;
}
.lh20 {
	line-height:20px;
}
.lh22 {
	line-height:22px;
}
.lh24 {
	line-height:24px;
}
.lh26 {
	line-height:26px;
}
.lh28 {
	line-height:28px;
}
.lh30 {
	line-height:30px;
}
/* デフォルト（PC向け） */
.page-title {
  font-size: 2.5rem; /* 例: 40px */
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 50px;
  text-align:center;
  padding:50px;
  background-color: #ffe5cf;
}

/* スマホ（768px以下）の場合 */
@media (max-width: 768px) {
  .page-title {
    font-size: 1.8rem; /* 例: 28px */
    text-align:center;
  }
}
/* デフォルト（PC向け） */
.navbar-nav-scroll {
  --bs-scroll-height: 320px; /* 既存の値 */
}
/* スマホ時（767px以下）で上書き */
@media (max-width: 768px) {
  .navbar-nav-scroll {
    --bs-scroll-height: 320px;
  }
  .navbar-nav .nav-link {
    text-align: left;
    width: 100%; /* 横幅を持たせると左寄せが効きやすい */
  }
}

/* テーブル */
.has-fixed-layout {
  width: 100%;
  border-radius: 4px;
  overflow: hidden;
}

.has-fixed-layout td {
  padding: 12px 16px;
  vertical-align: top;
  border: 1px solid #ddd;
  background-color: #fff;
  word-break: break-word;
}

/* 左列だけ背景色変更 */
.has-fixed-layout td:first-child {
  font-weight: 600;
  background-color: #ffe5cf;
  width: 25%;
}

/* スマホ向け調整 */
@media (max-width: 768px) {
  .has-fixed-layout td {
    padding: 8px 12px;
  }
  .has-fixed-layout td:first-child {
    width: 35%;
  }
}
.has-text-align-center {
	text-align:center;
}

/* Page Top -----------------------------------------------------------------*/
#page-top {
    position: fixed;
    bottom: 20px;
    right: 5px;
    font-size: 77%;
    opacity:1;
	z-index: 10;
}
#page-top .pict1{
	width:100px;
	height:auto;
}
#page-top a {
    background: rgba(246, 125, 17, 0.9);
    text-decoration: none;
    color: #fff;
    width: 100px;
    padding: 30px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
}
#page-top a:hover {
    text-decoration: none;
    background: #8FB3E4;
}
#page-ret {
    position: fixed;
    bottom: 20px;
    left: 5px;
    font-size: 77%;
    opacity:1;
	z-index: 10;
}
#page-ret .pict1{
	width:100px;
	height:auto;
}
#page-ret a {
    background: rgba(246, 125, 17, 0.9);
    text-decoration: none;
    color: #fff;
    width: 100px;
    padding: 20px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
}
#page-ret a:hover {
    text-decoration: none;
    background: #8FB3E4;
}

.bar_label h3 {
	padding: 0.25em 0.5em;/*上下 左右の余白*/
	color: #494949;/*文字色*/
	background: transparent;/*背景透明に*/
	border-left: solid 8px rgba(246, 125, 17, 0.9);/*左線*/
	border-bottom: solid 1px rgba(246, 125, 17, 0.9);
	font-size:22px;
	font-weight:bold;
}

.lil {
	display: block;
	float: left;
	margin:2px;
}

.lilt {
	display: block;
	float: left;
	margin:2px;
}

/* =================================================================
   relife_pagenation
   =================================================================*/
.lil_page {
	display: block;
	float: left;
	margin:2px;
}

.relife_pagenation {

}
.relife_pagenation .page_box_now {
	width:48px;
	height:30px;
	display:block;
	padding:3px;
	border:1px solid #000000;
	text-align:center;
	vertical-align: middle;
	background-color:#9aceff;
}
.relife_pagenation .page_box_prev a {
	width:48px;
	height:30px;
	display:block;
	padding:3px;
	border:1px solid #000000;
	text-align:center;
	vertical-align: middle;
	background-color:#f2f9ff;
}
.relife_pagenation .page_box_next a {
	width:48px;
	height:30px;
	display:block;
	padding:3px;
	border:1px solid #000000;
	text-align:center;
	vertical-align: middle;
	background-color:#f2f9ff;
}
.relife_pagenation .page_box a {
	width:48px;
	height:30px;
	display:block;
	padding:3px;
	border:1px solid #000000;
	text-align:center;
	vertical-align: middle;
	background-color:#d3eeff;
}

/* =================================================================

   =================================================================*/
.cat_box{
	border 1px solid #cccccc;
}
.cat_box > section:first-of-type {
/*
	height:300px;
*/
}
.box_hover:hover {
	box-shadow: 5px 5px 0px rgba(246, 125, 17, 0.9);
}
.box_hover a {
	text-decoration:none;
	color:#000000;
}
.footer a {
	text-decoration:none;
	color:#000000;
}
.footer a:hover {
	text-decoration:none;
	color:rgba(246, 125, 17, 0.9);
}
/* =================================================================

   =================================================================*/
.navbar-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
.navbar-toggler{
  border-color: #ffffff;
}
.navbar-toggler:hover{
  border-color: #ffffff;
}
.navbar-toggler:focus{
  border-color: #ffffff;
}
#navbarScroll .nav-item {
/*
	width:80%;
*/
	text-align:center;
}
#navbarScroll .nav-item a:hover {
	color:yellow;
}

/* =================================================================

   =================================================================*/
p {
	font-size:20px;
	line-height:1.8;
}
.top_h4 {
	height:34px;
	line-height:40px;
	display:inline-table;
	background-color: rgba(246, 125, 17, 0.9);
	width: 100%;
	color: #ffffff;
    padding: 8px 0 8px 8px;
}
.cat_info1 {
	height:60px;
	overflow:hidden;
	white-space: normal;
	text-overflow: ellipsis;
}
.cat_info2 {
	height:60px;
	overflow:hidden;
	white-space: normal;
	text-overflow: ellipsis;
}

.entry-content {
	line-height:1.8;
}
.entry-content p{
	line-height:1.8;
	/*
	margin-bottom:1.4em;
	*/
}

.wpcf7-submit {
	width:250px;
	height:48px;
}
.contact-text {
	width:100%;
}
.contact-textarea {
	width:100%;
}
.box-a  {
	color: rgba(246, 125, 17, 0.9);
    display: grid;
    place-items: center;
	width:140px;
	height:48px;
	/*
	border:1px solid rgba(246, 125, 17, 0.9);
	*/
    position: relative;
    margin-right:5px;
    margin-top:3px;
}
.box-a:hover  {
	color: #ffffff;
    display: grid;
    place-items: center;
	width:140px;
	height:48px;
	/*
	background-color:rgba(246, 125, 17, 0.9);
	*/
	border-bottom:1px solid rgba(246, 125, 17, 0.9);
    position: relative;
    margin-right:5px;
    margin-top:3px;
}
.box-b  {
	color: rgba(246, 125, 17, 0.9);
    display: grid;
    place-items: center;
	width:140px;
	height:48px;
	/*
	border:1px solid rgba(246, 125, 17, 0.9);
	*/
    position: relative;
    margin-right:5px;
    margin-top:3px;
}
.box-a a{
	text-decoration: none; /* 下線なし */
	color: rgba(246, 125, 17, 0.9);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
}
.box-a a:hover{
	text-decoration: none; /* 下線なし */
	color: rgba(246, 125, 17, 0.9);
	/*
	color: #ffffff;
	*/
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
}
.category_box {
	color: rgba(246, 125, 17, 0.9);
    display: grid;
    place-items: center;
	width:240px;
	height:48px;
	border:1px solid rgba(246, 125, 17, 0.9);
    position: relative;
    margin-right:5px;
    margin-top:3px;
}
.category_box:hover{
	color: #ffffff;
    display: grid;
    place-items: center;
	width:240px;
	height:48px;
	background-color:rgba(246, 125, 17, 0.9);
	border-bottom:1px solid rgba(246, 125, 17, 0.9);
    position: relative;
    margin-right:5px;
    margin-top:3px;
}
.category_box a{
	text-decoration: none; /* 下線なし */
	color: rgba(246, 125, 17, 0.9);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
}
.category_box a:hover{
	text-decoration: none; /* 下線なし */
	color: #ffffff;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
}
/* =================================================================
 キーワード
   =================================================================*/
.red {
	color:red;
}
.canva-text {
	text-align:right;
	display:block;
	position:relative;
	right:0px;
}
.web-text {
	text-align:right;
	display:block;
	position:relative;
	right:0px;
}
.namecard-text {
	text-align:right;
	display:block;
	position:relative;
	right:0px;
}
.envelope-text {
	text-align:right;
	display:block;
	position:relative;
	right:0px;
}
/* =================================================================
   contact form
   =================================================================*/
.screen-reader-response {
  text-align:center;
  color:red;
}
.contact-form {
  max-width: 100%;
  margin: 0 auto;
  padding: 1em;
  box-sizing: border-box;
}

.form-row {
  margin-bottom: 1.5em;
}

.form-row label {
  display: block;
  margin-bottom: 0.5em;
  font-weight: bold;
}

.form-row input,
.form-row textarea {
  width: 100%;
  padding: 0.75em;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1em;
  box-sizing: border-box;
}

.form-row textarea {
  min-height: 150px;
  resize: vertical;
}

.form-row [type="submit"] {
  background-color: #007bff;
  color: white;
  padding: 0.30em 1.5em;
  border: none;
  border-radius: 4px;
  font-size: 1em;
  cursor: pointer;
}

.form-row [type="submit"]:hover {
  background-color: #0056b3;
}

@media (max-width: 600px) {
  .contact-form {
    padding: 0.5em;
  }
}
/* =================================================================
   slide
   =================================================================*/
.topslide {
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height:auto;
	z-index:2;
}
.carousel-control-prev{
	z-index:2;
}
.carousel-control-next{
	z-index:2;
}
/* =================================================================
   お知らせ
   =================================================================*/
.category_icn {
	background-color:rgba(246, 125, 17, 0.9);
	color:#ffffff;
	padding:3px;
	font-size:small;
	margin-right:5px;
}
.small_key {
	font-size:small;
}
