/*
Theme Name: businesspress-child
Template: businesspress
Version: 20260221
*/
@import "editor-style.css";
@import "form.css";

/* --- 1. 基本設定 (Base) --- */
html, body {
    overflow-x: hidden; /* 横揺れ防止 */
}
*, *::before, *::after {
  box-sizing: border-box;
  line-height:1.5;
  z-index: 5;
}
.wp-block-list li p {
  display: inline !important;
}
.wp-block-details {
  width: 100%;
}
.wp-block-group {
  width: 100%;
}

summary {
  font-size: 24px;
  color: #5a47e1;
  padding-left: 20px;
  margin: 10px;
  border-radius: 8px;
  border: #a5a5dc solid 1px;
  transition: all .25s ease;
}

summary:hover {
  background-color: #f3f1ff;
  border-color: #5a47e1;
  cursor: pointer;
}
.center { text-align:center;}
ul { list-style: none; }
p { text-align: left; }
span { display: inline-block; }
a {
  text-decoration: none;
  color: inherit;
}
/* --- 2. 共通レイアウト (Layout - 全幅設定) --- */
#page, 
.site-content, 
.container, 
.container-wrapper, 
#primary, 
.site-main, 
.entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* 記事本文内の中央揃え設定 */
.entry-content {
    text-align: center !important;
}
/* コンテンツ内の各要素を幅90%で中央配置 */
.entry-content > * {
    display: block;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.entry-content img {
    max-width: 100%;
    height: auto;
    margin-top: 5px;
}
/* --- 1. ヘッダー全体の設定 --- */
.main-header {
    padding: 0;
    background: linear-gradient(rgb(2 79 17 / 100%), rgb(1 149 87 / 100%));
    min-height:50px;
    height:auto;
}
.site-header {
    border-bottom: none;
    margin-bottom: 0 ;
}
.main-header-content {
    display: flex ;
    justify-content: space-between ; 
    align-items: center ;
    padding: 0 5px ;
    max-width: 100% ;
    flex-wrap: wrap ; 
 }
.main-header-content .site-logo {
    flex: 0 0 150px;
    margin-top:-10px;
}
.site-logo img {
    min-width: 100px;
    height: auto;
}
.site-branding {
    width: 200px;
    margin: 0 auto 5px;
    height: 60px;
    filter: drop-shadow(2px 2px 4px #000);
    padding-right: 100px;
    box-sizing: content-box !important;
}
.site-title {
    font-size:1.5rem;
    margin: -5px 0 5px;
    text-align: center;
    color: white;
    font-family: "Hiragino Mincho ProN", "Noto Serif JP", serif;
}
.site-description {
	color: #dbf6aa;
	font-family: "Hiragino Mincho ProN", "Noto Serif JP", serif;
	margin-bottom: 0;
	font-size: 1.5rem;
}
.main-header-content .site-info {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 0 0 auto;
}
.fixed-left-logo {
	position: absolute;
  top: 6px;
  left: 5px;
  width: 150px;
  height: auto;
  z-index: 99999;
  margin: 0;
} 
.fixed-right-logo {
    position: fixed;
	top: 0px;
	right: 35px;
	width: 150px;
	height: auto;
	z-index: 99999;
	 margin: 0;
} 
/* --- 4. ナビゲーション (Navigation) --- */
#site-nav { width: 100%; text-align: center; margin: 10px auto; }
#mainMenu { width: 320px; margin: 0 auto; text-align: center; }
.main-navigation-wrapper {
    flex: 1;
    display: flex;
    justify-content: center;
}
.main-navigation {
    width: 2000px !important;
    margin:10px auto;
    line-height: 1em;
    height:30px;
    text-align: center;
}
.main-navigation-wrapper .main-navigation {
      width: auto !important;
    margin:10px auto;
    line-height: 1em;
    height:35px;
    text-align: center;
}

.main-navigation ul.menu > li {
    display: inline-block;
	width: auto;
	padding: 5px 2px;
	color: white;
	font-size: 1em;
	font-family: "Hiragino Mincho ProN", "Noto Serif JP", serif;
}
.main-navigation-wrapper .main-navigation ul.menu > li {
	border:none;
}
.main-navigation a { color: #FFF; }
.main-navigation a:hover { color: #FAA; }
.main-navigation .current-menu-item > a { color: #ffdd00; }


/* ドロップダウンメニュー */
.main-navigation ul ul {
    background-color: #155e42;
    width: 180px;
    margin-left: 18px;
}
.main-navigation div.menu > ul > li > a, 
.main-navigation ul.menu > li > a { padding: 0 !important; }
.main-navigation div.menu > ul, 
.main-navigation ul.menu { letter-spacing:0.5em; }

/* --- 5. スライダー (Slider) 最小構成版（修正済） --- */
.vegas-content-scrollable {
    overflow: hidden !important;
}
#slider {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    aspect-ratio: 16 / 7; /* 横幅に合わせて高さを自動伸縮 */
    min-height: 300px;
    background: url(vegas/images/slide01.jpg) no-repeat center/cover;
}

#slider .slider-center {
    width: 100%;
    padding-left: 15%; /* 左から15%の位置に固定 */
    z-index: 10;
    margin-top: 50px;
}
#slider .site-branding {
    text-align: left !important;
    text-shadow: 2px 2px 10px rgba(0,0,0,0.7);
    width: 800px !important;
    max-width: 85% !important; /* スマホで画面からはみ出さないための保険 */
    margin: 0 !important; /* 中央寄せを解除 */
}

#slider .site-description,
#slider .site-title {
    text-align: left !important;
    display: block !important;
    width: 100%;
    white-space: nowrap; /* 基本は改行なし */
    filter: drop-shadow(2px 2px 4px #000);
    color: #fff;
}

#slider .site-description {
    font-size: clamp(14px, 2vw, 24px);
}

#slider .site-title {
    font-size: clamp(42px, 8vw, 90px);
    line-height: 0.8;
    font-weight: 700;
}
#slider .catchcopy{
    font-size:  clamp(14px, 2vw, 24px);
    line-height: 1.5;
    font-weight: 500;
    color: #fff;
    width:80%;
    margin-top: 50px;
}

/* --- 6. モバイルドロワー (Drawer Menu) --- */
.drawer-hamburger {
    position: fixed;
    top: 0; right: 7px;
    padding: 15px 5px;
    background-color: #888eea !important;
    opacity: 1 !important;
    border-radius: 0 !important;

}
.drawer-hamburger:hover { background-color: #f5e96b !important; }
.drawer-navigation  .main-navigation .current-menu-item > a {
    color: #dfa;
}


.drawer-opened .drawer-navigation {
    box-shadow: 0 0 90px rgba(0, 0, 0, 0.4);
    transform: translateX(0);
    width: 300px;
    height: 100%;
    background-color:#FFF;
    margin: 0 auto;
    color:black;
}
.drawer-navigation a{
    color:#200;
}
.drawer-navigation-content {
  height: 100%;
  overflow-y: auto;
  padding: 60px 75px 60px 0px;
  width: 100%;
}
.drawer-navigation .main-navigation ul.menu {
  letter-spacing: 0;
  display:block;
  width: 200px;
}
.drawer-navigation .main-navigation ul.menu > li {
	display: block;
	width: 250px;
	border: none;
	padding: 3px;
    margin-left: auto;
	text-align: left;
	background-color: #fff;
	margin-top: 10px;
	margin-left: 50px;
}
.drawer-navigation .main-navigation .current-menu-item > a {
  color: #7ecc08;
}
.drawer-navigation .main-navigation ul ul {
  background-color:white;
}
.drawer-navigation .sub-menu {
  display: block !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.drawer-navigation .dropdown-toggle{
  display: none !important;
}

.drawer-separator{
    position: relative;
}

.drawer-separator::before{
    content: "";
    display: block;
    border-top: 1px solid #686868!important;
    margin: 20px 120px 0 0 !important;
    padding-top: 20px !important;
}
.drawer-navigation-content .drawer-menu {
  display: block;
  position: relative;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #ccc;
}
.drawer-navigation-content .main-navigation {
  position: relative;
}
/* --- 7. その他要素 (Jumbotron, Footer, etc) --- */
.jumbotron {
    background-color: # 000 !important;
    background-position: center;
    height: 100px;
    margin-top:-32px;
}
.jumbotron-title {
    color: #fff;
    font-size: 2.25rem;
    letter-spacing: 0;
    padding-top:20px;
    height:70px;
    text-shadow: 3px 3px 3px rgba( 0, 0, 0, 0.5 );
    font-family: "Hiragino Mincho ProN", "Noto Serif JP", serif;
    text-align: center;
}


/* clone--------------*/

.main-header-clone {
  background: linear-gradient(rgb(2 79 17 / 100%), rgb(1 149 87 / 50%)) !important;
  height: 40px;
}


.main-header-clone .site-description {
  display: block;
}
.main-header-clone .site-title {
  font-size: 2rem;
  display: none;
}
.main-header-clone .site-branding {
  margin-top:0px;
  padding-left: 0px;
  
}
.main-header-clone .main-navigation {
  display: none;
}
.menu-toggle,
.main-header-clone .menu-toggle {
    display: block;
    visibility: visible ;
    opacity: 1 ;
}

/* --- フッター全体：背景固定・中央寄せ・レスポンシブ高さ確保 --- */
.site-footer {
    background: url(images/footerImage.jpg) no-repeat center bottom / cover ;
    width: 100% ;
    max-width: 100% ;
    margin: 0 ;
    display: flex ;
    flex-direction: column ;
    justify-content: space-between ;
    align-items: center;
    aspect-ratio: 1923 / 813;
    min-height: 300px;
    padding: 40px 20px 20px 20px ;
}

/* --- メニューの器：間隔を詰める --- */
.footer-menu {
    width: 100% ;
    max-width: 1000px ;
    margin: 0 auto ;
    display: flex ;
    justify-content: center ;
    flex-grow: 1;
}

/* --- ナビゲーションリスト：上下左右の間隔を最小限に --- */
.footer-navigation ul {
    display: flex ;
    flex-wrap: wrap ;
    justify-content: center ;
    padding: 0 ;
    margin: 0 ;
    list-style: none ;
    gap: 0px 15px ;
    font-size: 1em;
    background-color: rgba(255, 255, 255, 0.5);
}
.footer-navigation li {
    margin: 0 ;  
    padding: 0 ;
    line-height: 1.5;
}

/* --- メニュー項目：アンダーバー除去・余白圧縮 --- */
.footer-navigation a {
    display: inline-block ;
    padding: 0 ;
    margin: 0 ;
    line-height: 1.2 ;
    letter-spacing: 0 ;
    text-decoration: none ;
    box-shadow: none;
    color: #0563da;
}

.footer-navigation a:hover { color: #0A0 ; }
.footer-navigation .current-menu-item > a { color:#1b9e00 ; }
.choice{
	max-width:500px;
    margin: 0 auto; 
    text-align: center ;
    font-size:18px;
}
.choice ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap:5px;
  margin-bottom: 10px;
}
.choice li {
	max-width:200px;
    margin: 0 auto;  
    padding:5px ;
    line-height: 1.5;
    flex-direction: column;
	display: inline-flex;
	align-items: center;
	gap:0;
}
/* 共通ボタンスタイル */
.choice h2{
 margin-top: 0 !important;
 white-space: nowrap;
}
.choice a {
  display: inline-block;
  padding: 12px 24px;
  border-radius: 999px; /* カプセル型 */
  font-size: 20px;
  font-weight: bold;
  text-decoration: none;
  color: #fff;
  transition: all .2s;
}
.choice a.bytel {
  background-color: #6d66e9;;
}
.choice a.bytel:hover {
	color: #fff;
  background-color: #767ecd;
  transform: translateY(-1px);
  box-shadow:  0 4px 24px rgba(0,0,0,0.2);
}
.choice a.bymail {
  background-color: #36ca2b;
}
.choice a.bymail:hover {
color: #fff;
  background-color: #7ed385;
  transform: translateY(-1px);
  box-shadow:  0 4px 24px rgba(0,0,0,0.2);
}

/* --- コピーライト：下端20px固定・白文字・黒ブラー --- */
.site-footer .copy {
    width: 100% ;
    text-align: center ;
    margin: 0 ;
    padding: 0 ;
    color: #ffffff ;
    font-size: 1.2em;
    font-weight: 600 ;
    text-shadow: 0 0 10px rgba(0, 0, 0, 1), 0 0 5px rgba(0, 0, 0, 1) ;
    position: static ;
}



/* Back to Top */
.back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 50px;
  height: 50px;
  background-color: #fff; /* 背景を白にしてロゴを引き立てる */
  border: 1px solid #e2dcd6; /* ロゴのベージュに馴染む薄い境界線 */
  border-radius: 50%; /* 丸型（四角がよければ 4px 等に変更してください） */
  box-shadow: 0 4px 12px rgba(122, 110, 103, 0.15); /* 柔らかな影 */
  transition: all 0.3s ease;
  display: block;
}

/* 画像を表示する部分（::beforeを画像に置き換え） */
.back-to-top::before {
  content: ""; /* 文字（FontAwesome）を消す */
  display: block;
  width: 100%;
  height: 100%;
  
   background: url(images/up.png) no-repeat;
  background-position: center center;
  background-size: 36px auto; /* ロゴのサイズ感。見え方に合わせて微調整してください */
  
  transition: transform 0.3s ease;
}

/* ホバー時の演出 */
.back-to-top:hover {
  border-color: #b04141; /* ホバー時に「U」のエンジ色に近い色で引き締める */
  box-shadow: 0 6px 16px rgba(122, 110, 103, 0.25);
  transform: translateY(-4px); /* 上に少し浮き上がる */
}

.back-to-top:hover::before {
  transform: scale(1.05); /* ロゴがほんの少しだけフワッと大きくなる */
}
.main-navigation-container {
    display: block;
    visibility: visible;
}
/* フローティングメニュー */
.float-follow {
  position: absolute;
  right: 20px;
  top: 50px;
  z-index:99;
  /* backdrop-filter: blur(6px); 
  animation: gentle 4s ease-in-out infinite;*/
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  width:100%;
}
.float-follow.show {
  opacity: 1;
  pointer-events: auto;
}
.float-follow a {
  color: #fff;
  text-decoration: none;
  display: block;
  margin: 2px 0;
}
.wp-block-button__link {
  border-radius: 0;
  box-shadow: none;
  text-decoration: none;
  padding: 2px !important;
  font-size: 1em !important;
  border: white solid 1px;
  background: #665bb3de !important;
  padding: 2px 3px !important;
}


/* --- 8. メディアクエリ (Responsive) --- */
@media screen and (max-width: 980px) {
    .drawer-navigation .drawer-only{display:list-item;}
}
@media screen and (min-width: 980px) {
    .drawer-only{display: none !important;}
}
@media screen and (min-width: 782px) {
    .site-content { padding: 0 !important; }
}
@media screen and (max-width: 680px) {
    #slider {
        aspect-ratio: 4 / 3;
    }
    #slider .slider-center {
        padding-left: 10%; /* スマホでは余白を少し詰める */
        margin-top: 20px; /* スマホでは位置を少し上げる */
    }
    /* スマホでは文字が突き抜けないように改行を許可 */
    #slider .site-description,
    #slider .site-title {
        white-space: normal !important;
        word-break: keep-all !important;
    }
}

@media screen and (max-width: 580px) {
    .main-navigation-container {display: none !important;}
    .site-logo { 
	    width: 100px;
	    padding-left: 5px;
	    padding-right: 0;
    }
    .main-header-content {
	    padding: 0;justify-content: flex-start !important;
	    align-items: baseline;
    }
    .fixed-right-logo {width: 100px;}
    .choice a {
  		font-size: 14px;
	}
	.choice li {
		max-width: 160px;
  		font-size: small;
	}
	.site-footer .copy {
		font-size: small;
	}
}
@media (max-width: 480px) {
	.float-follow {
		right: 50%;
		transform: translateX(50%);
    	top: auto;
    	bottom: 40px;
  	}
  	.site-branding {
   		display: flex;
    	flex-direction: column;
    	align-items: center; 
    	justify-content: center; 
    	text-align: center; 
    	width: 100%; 
    	padding-right: 20px;
    	margin-top: -20px;
	}
    .main-header-clone .site-description{
        margin-top:-65px;
        font-weight:bold;
    }
  	.main-header-content .site-logo {
  		margin-top: 0px;
	}
	::after, ::before {
  		box-sizing: inherit;
	}
	::selection {
  		background-color: #def;
	}
	#slider .site-description, #slider .site-title {
    	white-space: normal !important;
    	word-break: keep-all !important;
  	}
	#slider .site-title {
  		line-height:1.2;
  		margin: 0 0 5px;
	}
	#slider .catchcopy {
  		margin-top: 30px !important;
	}
	#slider .slider-center {
 		 margin-top: 120px;
	}
	.mobilebrake{
    	display: block !important;
		text-align:center !important;
	}
}

/* 2026-11-03 見出しの入れ替え（ヘッダーのサイト名を p、ページ名を h1 に）。見た目は前と同じにする */
p.site-title {
    font-weight: 700;
    line-height: 1.5;
    clear: both;
}
h1.jumbotron-title {
    font-weight: 700;
    line-height: 1.5;
    margin-top: 1em;
    margin-bottom: 1em;
}
