@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&family=M+PLUS+1:wght@400;500;700&family=Klee+One:wght@400;600&family=Shippori+Mincho&display=swap');
/* style.css */

/* 全要素の幅計算を内側に含める #336680 */

html {
	overflow-y: scroll !important;
	scrollbar-gutter: stable !important;
	height: 100%;
	color: #161616;
	margin: 0;
}

* {
	box-sizing: border-box;
}
body {
	margin: 0;
	font-family: 'BIZ UDPGothic', 'ヒラギノ角ゴ Pro W3', 'メイリオ', sans-serif;
	min-height: 100vh;
	font-weight: 400;
	letter-spacing: 0.4px;
}
a {
	text-decoration: none;
}
a:link {
	color: #8895D5;
	text-decoration: none;
}
a:visited {
	color: #8895D5;
}
a:hover {
	color: #CC6633;
	text-decoration: underline;
}
a:active {
	color: #990000;
}
/*Block
--------------------------------------------------*/

#wrapper {
	background-color: #FFFFFF;
	text-align: center;
	background-image: url(/common/img/top_bg.jpg);
	background-position: center top;
	margin: 0px;
	background-repeat: no-repeat;
	min-height: 100vh; /* 画面の高さ分を確保 */
	display: flex;
	flex-direction: column; /* 縦に並べる */
}
#wrapperbottm {
	background-image: url(/common/img/bottm_bg.jpg);
	background-repeat: no-repeat;
	background-position: center 600px;
}
#container {
	width: 100%;
	flex: 1; /* コンテンツ部分が伸びるようにする */
	display: flex;
	flex-direction: column;
	margin: 0 auto;
	min-height: 100vh;
	padding-left: 10px;
	padding-right: 10px;
}
#mainImg {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	clear: both;
	margin-top: 16px;
	height: 430px;
	background-image: url(/common/img/main_img201604.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	max-width: 884px;
}
/*Header
--------------------------------------------------*/

#header {
	width: 100% !important;
	max-width: 950px !important; /* 最大幅950px */
	margin: 0 auto !important;
	height: 84px;
}
#header h2.logo {
	clear: both;
	position: relative;
	text-align: left;
	height: 54px;
	width: 259px;
	margin-top: 12px;
	float: left;
	margin-left: 10px;
}
#header h2.logo img {
	width: 259px; /* 元のサイズに合わせて指定 */
	height: auto; /* 比率を保持 */
	display: block;
}
/* --- テキストメニューのスタイル --- */
.menu-text {
	font-family: 'M PLUS 1', sans-serif;
	font-weight: 400;
	color: #fff !important; /* 通常時は白文字 */
	font-size: 0.8rem;
	display: block;
	padding-top: 14px;
	padding-right: 23px;
	padding-left: 23px;
	padding-bottom: 14px; /* ここでメニューの大きさを調整 */
	transition: all 0.3s ease; /* ふんわり変化する設定 */
	text-decoration: none;
	background-image: url(../img/responsiv/bg_menu.png);
	background-repeat: repeat;
	height: 43px;
}
/* --- ロールオーバー時のオレンジ光彩（ブラー） --- */
.menu-text:hover {
	color: #fff;
	/* 横・縦・ぼかし範囲・色の順 */
	text-shadow: 0 0 8px #FF8C00, 0 0 12px #FF4500;
	text-decoration: none;
}
/* ナビゲーション全体の調整 */
.c_menu {
	display: flex;
	justify-content: space-between; /* 左右に均等配置 */
	align-items: center;
	flex-wrap: nowrap;
	width: 100% !important;
	max-width: 880px !important;    /* 880pxで制限 */
	margin: 10px auto !important;   /* 中央寄せ */
	padding: 0;
	box-sizing: border-box;
	background-image: url(../img/responsiv/bg_menu.png);
	background-repeat: repeat-x;
	border-radius: 6px;
}
.menu-edge-left {
	width: 100%;  /* 元の画像の幅 */
	height: 43px; /* 元の画像の高さ */
	background-image: url(../img/contents/c_menu_left.png);
	background-size: cover;
	background-repeat: no-repeat;
	flex-shrink: 0; /* 幅を維持 */
	border-top-left-radius: 6px;
	border-bottom-left-radius: 6px;
	max-width: 94px;
	flex-shrink: 0;  /* 縮まないように固定 */
}
.menu-edge-right {
	width: 100%;  /* 元の画像の幅 */
	height: 43px; /* 元の画像の高さ */
	background-image: url(../img/contents/c_menu_right.png);
	background-size: cover;
	background-repeat: no-repeat;
	flex-shrink: 0; /* 幅を維持 */
	border-top-right-radius: 6px;
	border-bottom-right-radius: 6px;
	max-width: 94px;
	flex-shrink: 0;  /* 縮まないように固定 */
}
/* メニューテキストの調整 */
.menu-text {
	white-space: nowrap;     /* 文字列が長くても改行を禁止 */
	/* 文字サイズを画面幅に合わせて自動拡縮（clamp関数） */
  /* clamp(最小値, 理想のサイズ, 最大値) */
	font-size: clamp(0.6rem, 0.8vw + 0.3rem, 0.9rem);       /* 左右のパディングを狭くして収まりやすく */
	padding-left: 10px;
	padding-right: 10px;
	flex-shrink: 1;
}
/* リンク内画像（端の装飾など）の調整 */

.c_menu li {
	display: flex;
	align-items: center;
	justify-content : center;
}
/* --- CSSアコーディオン (スライドアニメーション版) --- */
.c_menu li.ad {
	position: relative;
	cursor: pointer;
}
/* --- CSSアコーディオン (下に滑らかに伸びる版) --- */
.c_menu li.ad {
	position: relative;
	cursor: pointer;
}
/* 子メニューの初期設定 */
.c_menu li.ad ul {
	/* 最初は高さ0、透明度0で隠す */
	max-height: 0;
	opacity: 0;
	visibility: hidden;
	overflow: hidden; /* これが重要：はみ出た分を見せない */
	position: absolute;
	top: 43px;
	left: -38px;
	z-index: 100;
	background: #fff;
	border-left-color: #ccc;
	border-right-color: #ccc;
	border-top-color: #ccc;
	border-left-style: solid;
	border-right-style: solid;
	border-top-style: solid;
	border-left-width: 1px;
	border-right-width: 1px;
	border-top-width: 1px;
	/* アニメーション設定：下に伸びる速さ */
	transition: max-height 0.4s ease-out, opacity 0.3s ease;
	width: 150px;
}
/* カーソルを乗せた時に下に伸びる */
.c_menu li.ad:hover ul {
	max-height: 150px; /* 内容の合計高さ以上の値を指定すれば、自然に伸びる */
	opacity: 1;
	visibility: visible;
}
/* 子メニューのリンク装飾 */
.c_menu li.ad ul li a {
	display: block;
	padding-top: 16px;
	padding-right: 12px;
	padding-left: 12px;
	padding-bottom: 16px;
	font-size: 0.9rem;
	color: #333;
	text-decoration: none;
	width: 150px;
	text-align: center;
	border-bottom: 1px solid #ccc;
}
.c_menu li.ad ul li a:hover {
	background-color: #D0DBFB;
}
/* --- 見出し用スタイル (.headImg) --- */
.headImg {
	font-family: 'M PLUS 1', sans-serif;
	font-size: 1.8rem;
	font-weight: 400;
	color: #333;
	/* 左下寄せのための設定 */
	display: flex;
	align-items: flex-end; /* 垂直方向：下寄せ */
	justify-content: flex-start; /* 水平方向：左寄せ */
	/* サイズと枠の設定 */
	width: 100%;             /* 親要素の幅に収める */
	max-width: 880px;        /* コンテンツ幅に合わせる */
	height: 100px;           /* 高さを固定 */
	padding: 0 20px 15px 20px; /* 下に15pxの余白を設けて左下に配置 */
	box-sizing: border-box;  /* これが横幅突き抜けを防ぐ最重要設定 */
	/* 装飾 */
	background-color: #fff;  /* 背景白 */
	border: 1px solid #9C9B9B;  /* 枠線 */
	border-radius: 8px;      /* 角丸 */
	margin-top: 10px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 40px;       /* 中央寄せ */
}
ul.submenu {
	margin-top: 54px;
	display: flex;             /* 横並びにする */
	justify-content: flex-end; /* 右寄せにする */
	list-style: none;          /* デフォルトの丸を消す */
	padding: 0;
}
ul.submenu ol {
	float: right;
	margin-top: 5px;
	margin-bottom: 5px;
}
.submenu li {
	margin-left: 20px;         /* リスト同士の間隔を空ける */
	font-family: 'Shippori Mincho', serif;
	color: #000000;
}
.submenu li a {
	color: #000000;
	text-decoration: none;
	font-size: 0.95rem;
	display: flex;
	align-items: center;       /* ■と文字の垂直位置を揃える */
}
.submenu li a:hover {
	color: #CC6633;
}
.submenu li .point {
	margin-right: 5px;         /* ■と文字の間隔 */
	color: #336680;            /* ■の色（お好みで） */
	font-size: 0.7rem;
}
ul.Gnavitop {
	background-image: url(/common/img/menu_bg.png);
	background-repeat: repeat-x;
	clear: both;
	float: left;
	width: 132px;
	margin-top: 21px;
}
#subnav {
	float: right;
	width: 420px;
	margin-top: 40px;
	font-size: 78%;
	text-align: left;
}
/*Content
--------------------------------------------------*/

#contents {
	width: 100% !important;
	max-width: 880px !important; /* 880pxで制限 */
	margin: 0 auto !important;
	padding: 0;
	display: flex;
	flex-direction: column;
}
#main {
	padding-top: 10px;
	padding-bottom: 0px;
	position: relative;
	overflow-y: visible !important; /* auto から visible に変更 */
	box-sizing: border-box;
}
.inlin-block {
	display: inline-block;
}
/*Footer
--------------------------------------------------*/

#footer_Line {
	clear: both;
	padding-top: 30px;
	border-bottom-width: 3px;
	border-bottom-style: solid;
	border-bottom-color: #993300;
}
#footer {
	clear: both;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	padding-bottom: 30px;
	margin-top: 0px;
	padding-top: 0px;
	height: 40px;
	background-color: #FFFFFF;
	background-image: url(/common/img/down_ber.png);
	background-repeat: repeat-x;
	background-position: center top;
}
#footer .footer950 {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-top: 20px;
}
#c_footer {
	clear: both;
	text-align: center;
	width: 100% !important; /* 横幅いっぱいに */
	margin-top: auto;      /* これで上からの余白を自動で取り、下に固定される */
	padding: 20px 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.totop {
	text-align: right;
	padding-right: 20px;
	border-bottom-width: 5px;
	border-bottom-style: solid;
	border-bottom-color: #003399;
	margin: 0px;
	padding-top: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	height: 18px;
}
#copyright {
	text-align: center;
	margin-top: -10px;
	clear: both;
	margin-right: auto;
	margin-left: auto;
}
#footer ul.logo li {
	position: relative;
	top: 0.5px;
	margin-left: 10px;
	font-size: 70%;
	line-height: 160%;
	padding-top: 10px;
	width: 400px;
	float: left;
}
#footer ul.logo ol {
	float: right;
	width: 150px;
	padding-top: 10px;
	padding-right: 20px;
}
#c_footer .logo {
	clear: both;
	float: none;
	margin-top: 20px;
	width: 100%;
	padding-bottom: 20px;
}
/* フッターロゴのセンター揃えとサイズ調整 */
#c_footer .logo a {
	display: flex;
	flex-direction: column; /* 縦に並べる */
	align-items: center;    /* 横方向センター揃え */
	justify-content: center;
}
.footer-svg {
	width: 60%;             /* 横幅をfooter_imgの60%に */
	max-width: 155px;       /* 必要に応じて最大幅を設定 */
	margin-top: 10px;       /* 隙間 */
	height: auto;
}
#c_footer .underLine {
	background-image: url(/common/img/down_ber.png);
	background-repeat: repeat-x;
	background-position: center top;
	margin: 0px;
	padding: 0px;
	height: 15px;
	position: absolute;
	left: 0px;
	width: 100%;
}
#footer_nav {
	font-size: 76%;
	width: 90%;
	margin-top: 30px;
	margin-right: auto;
	margin-left: auto;
	max-width: 860px;
	text-align: center;
}
#footer ul.logo #footer ul {
	display: block;
	position: relative;
	float: right;
	margin-right: 20px;
	padding: 0px;
	margin-top: 0px;
}
#footer ul li {
	text-align: left;
	margin-left: 10px;
	float: left;
}
/* コピーライトのデザイン */
.copyright-text {
	color: #999999;        /* 薄いグレー */
	font-size: 0.6em;
	text-align: center;
	margin-top: 15px;
	padding: 10px 0;
}
/*EOF*/	
ul li .title {
	font-size: 100%;
	line-height: normal;
	font-weight: bold;
	color: hsla(19,100%,41%,1.00);
}
* {
	margin: 0;
	padding: 0;
	list-style: none;
	box-sizing: border-box;
}
a {
	text-decoration: none;
}
header {
	width: 100%;
	position: relative;
}
.nomagin {
}
.dummyMenu a {
	display: block;
	font-size: 1rem;
	padding-top: 20px;
	padding-bottom: 20px;
	border-left: 1px none rgba(255,255,255,0.00);
	background-color: rgba(216,216,216,1.00);
	border-top: 1px solid #E1E1E1;
	border-bottom: 1px solid #9B9B9B;
}
/* --- スクロール独立問題の解消（style.css 末尾へ） --- */

/* 1. height: 100% や固定高さをレスポンシブ用に解除 */
html, body, #wrapper, #container, #contents, #main {
	height: auto !important; /* 高さを自動に */
	overflow: visible !important; /* スクロールを制限しない */
}
/* 2. .right ul などにある「固定スクロール」を解除 */
.right ul {
	height: auto !important;        /* 固定の300pxを解除 */
	overflow-y: visible !important; /* 内部スクロールを無効化 */
}
/* 3. HTML/BODYの高さ設定も変更 */
html {
	height: auto !important;
}
/* --- プロフィール専用スタイル --- */

.profile-wrap {
	width: 98%;
	max-width: 880px;
	margin: 0 auto;
	text-align: left; /* 左寄せを維持 */
}
.profile-name {
	font-size: 1.05rem;          /* 名前を大きく */
	border-bottom: 1px solid #ddd; /* 名前にだけ下線 */
	padding-bottom: 10px;
}

.cap {
	font-size: 80%;
}

.profile-list {
	list-style: none; /* リストの丸を消す */
	padding: 0;
	margin: 0;
}
.profile-list li {
	padding-top: 10px;
	padding-right: 0;
	padding-bottom: 10px;
	line-height: 1.8;
	color: #666;
	border-bottom: none; /* 下線を削除 */
}

/******　テキスト頭揃え　**********/


.hanging-indent {
	display: flex;            /* 横並びのレイアウトに */
	align-items: flex-start;  /* 上端で揃える */
	padding-left: 0;          /* 余白をリセット */
	margin-top: 5px;
	margin-right: 0;
	margin-left: -1em;
	margin-bottom: 5px;
	line-height: 1.6;
}

.bullet {
    flex-shrink: 0;           /* 「・」が縮まないように固定 */
    width: 1.2em;             /* 「・」の専用スペースを確保 */
}


/* カテゴリ見出し用のスタイル（必要に応じて追加） */
.profile-list li h3 {
	font-size: 1rem;
	margin: 10px 0 5px 0;
	color: #333;
}
/* プロフィールページ用に追加・修正 */
.profile-list li h3 {
	font-size: 1rem;
	color: #333;
	margin-top: 15px;
	margin-right: 0;
	margin-left: 0;
	margin-bottom: 15px;
	border-bottom: 1px solid #ddd; /* 必要なら見出しに薄い線を入れる */
	padding-bottom: 10px;
}
/* 通常の段落用（ぶら下げないもの） */
.profile-list li p {
	margin-top: 5px;
	margin-right: 0;
	margin-bottom: 5px;
	line-height: 1.6;
	margin-left: 1em;
}
/* クラス名「underLine」がもし個別に設定されていなければ */
.underLine {
	text-decoration: underline;
}
/* --- プライバシーポリシー専用スタイル --- */
.policy-content h2 {
	font-size: 1.1rem;
	color: #333;
	margin: 30px 0 15px 0;
	padding-bottom: 5px;
	border-bottom: 1px solid #eee;
}
.policy-content {
	text-align: left;
}
.policy-content p {
	line-height: 1.8;
	color: #666;
	margin-bottom: 15px;
}
.policy-list {
	list-style: decimal; /* 数字付きリストにする */
	padding-left: 20px;
	margin-bottom: 20px;
}
.policy-list li {
	line-height: 1.8;
	color: #666;
	margin-bottom: 10px;
}


/*　　　はがろぐ　　　*/


.iku iframe {
    width: 100% !important;
    height: 800px; /* 必要に応じて調整してください */
    border: none;
    display: block;
}






/* スマホ時や狭い画面で画像が潰れないよう縮小許可 */
@media screen and (max-width: 900px) {
.menu-edge-left, .menu-edge-right {
	width: 60px; /* 狭い画面では画像を小さく */
	height: 30px;
}
}



/* 768px以下（スマホ・タブレット共通のレイアウト調整） */
@media screen and (max-width: 768px) {
/* 1. コンテナと幅の強制リセット */


  /* 1. 大枠の固定幅を100%にして、はみ出しを防ぐ */
#wrapper, #container, #contents, #header, #footer .footer950, #c_footer {
	width: 100% !important;
	box-sizing: border-box;
	margin-right: auto;
	margin-left: auto;
}
/* 2. 画像の突き抜け防止 */
img {
	max-width: 100% !important;
	height: auto !important;
}
/* 4. ヘッダー・ロゴ調整 */
#header {
	height: auto !important;
	padding-top: 10px;
}
#header h2.logo {
	margin-top: 6px;
	margin-right: auto;
	margin-bottom: 10px;
	float: none !important;
	text-align: center;
	margin-left: 1px;
}
/* 5. フッター・コピーライト調整 */
#c_footer .logo {
	width: 100% !important;
	max-width: 60%;
	margin: 10px auto !important;
	padding-bottom: 1px;
}
#copyright {
	width: 100% !important;
	margin-top: 20px !important;
}
/* 6. 見出し調整 */
.headImg {
	width: 95% !important;
	height: 70px !important;
	font-size: 1.2rem !important;
	margin: 20px auto !important;
}
/* 7. コンテンツ内の余白調整 */
#main {
	padding-left: 5px !important;
	padding-right: 5px !important;
}
.profile-wrap, .juku-wrap {
	width: 95% !important;
}
/*h2.headImg {
	clear: both;
	margin-right: 0px;
	margin-left: 0px;
	margin-bottom: 0px;
	padding-top: 64px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	top: 0px;
	position: relative;
	z-index: 1;
}*/

ul.submenu {
	float: right;
	margin-top: 56px;
	display: none;
}
#footer_nav {
	display: none;
}
#header h2.logo img {
	width: 220px; /* 元のサイズに合わせて指定 */
	height: auto; /* 比率を保持 */
	display: block;
}
/* コピーライトのデザイン */
.copyright-text {
	color: #999999;        /* 薄いグレー */
	font-size: 0.6em;
	text-align: center;
	margin-top: 15px;
	padding-top: 14px;
	padding-right: 0;
	padding-left: 0;
	padding-bottom: 1px;
	letter-spacing: -0.5px;
}
/* 通常の段落用（ぶら下げないもの） */
.profile-list li p {
	margin-top: 5px;
	margin-right: 0;
	margin-bottom: 5px;
	line-height: 1.6;
	font-size: 0.9em;
	padding-left: 1em;
	margin-left: 0.5em;
}

/*　　　はがろぐ　　　*/

    .iku iframe {
        height: 600px; /* スマホでは少し高さを詰める */
    }

.cap {	
	display: inline-block;
}


}
