@charset "utf-8";



/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
/*body.before-after-page {
	background: linear-gradient(to bottom, #b58256, #f1d1b7) !important;
}
---------------------------------------------------------------------------*/

body {
	margin: 0px;
	padding: 0px;
	color: #666;
	/*全体の文字色*/
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	/*フォント種類*/
	font-size: 15px;
	/*文字サイズ*/
	line-height: 2;
	/*行間*/
	background: #eee url(../images/bg.png);
	/*背景色、背景画像の読み込み*/
	-webkit-text-size-adjust: none;
}

body.before-after-page #container {
	background-color: rgba(255, 255, 255, 0.9);
	/* やさしく透ける白に変更 */
	border-radius: 10px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

h1,
h2,
h3,
h4,
h5,
p,
ul,
ol,
li,
dl,
dt,
dd,
form,
figure,
form {
	margin: 0px;
	padding: 0px;
	font-size: 100%;
	font-weight: normal;
}

ul {
	list-style-type: none;
}

ol {
	padding-left: 40px;
	padding-bottom: 15px;
}

img {
	border: none;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

table {
	border-collapse: collapse;
	font-size: 100%;
	border-spacing: 0;
}

iframe {
	width: 100%;
}

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #666;
	/*リンクテキストの色*/
	transition: 0.5s;
	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
}

a:hover {
	color: #ca0e0e;
	/*マウスオン時の文字色*/
	text-decoration: none;
	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}

/*containerブロック
---------------------------------------------------------------------------*/
#container {
	border-top: 5px;
	/*上の線の幅、線種、色*/
	width: 100%;
	margin: 0 auto;
	max-width: 1200px;
	/*サイトの最大幅*/
	background: #fff;
	/*背景色*/
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
	/*ボックスの影。右に、下に、広げる幅。0,0,0は黒の事で0.2は透明度20%の事。*/
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
/* Y.Tamura 20250317 Rename  */
header-org {
	overflow: hidden;
	height: 100px;
	/*ブロックの高さ*/
}

/*ロゴ画像*/
header-org #logo img {
	width: 300px;
	/*画像幅*/
	float: left;
	/*左に回り込み*/
	margin-top: 36px;
	/*上下のバランスをとって下さい*/
	margin-left: 4%;
	/*左に空けるスペース*/
}

/* Y.Tamura 20250317 修正 追加 */
header {
	display: flex;
	justify-content: space-between;
	/* 子要素を左右に配置 */
	align-items: center;
	/* 縦方向は中央揃え */
	height: 100px;
	padding: 0 4%;
	/* 両端に余白を作る（任意） */
}

/* ロゴ画像 */
header #logo img {
	width: 300px;
	/* margin-top: 36px; */
	/* float: left; を削除 */
}

/* 検索エリア（必要に応じて調整） */
header #search {
	text-align: right;
}

@media (max-width: 768px) {
	header {
		flex-direction: column;
		/* 子要素を縦に並べる */
		align-items: flex-start;
		/* 全体を左寄せ */
		height: auto;
		/* 高さは内容に合わせる */
		padding: 5px 4%;
		/* 上下は20px、左右は4%の余白 */
	}

	/* ロゴはもともとの位置（左上）に */
	header #logo {
		/* 元の margin-left: 4% を適用したい場合はここで指定 */
		margin-left: 2%;
	}

	/* 検索エリアは中央寄せにする */
	header #search {
		align-self: center;
		/* この要素だけ中央に配置 */
		text-align: center;
		margin-top: 20px;
		/* ロゴとの間に余白を追加 */
		width: 100%;
	}
}



/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar {
	overflow: hidden;
	border-top: 1px solid #d2d2d2;
	/*上の線の幅、線種、色*/
	border-bottom: 1px solid #d2d2d2;
	/*下の線の幅、線種、色*/
}

/*メニュー１個あたりの設定*/
#menubar li {
	float: left;
	/*左に回り込み*/
	line-height: 1.6;
	/*行間*/
	width: 16.6%;
	/*幅*/
}

#menubar li a {
	display: block;
	text-decoration: none;
	position: relative;
	text-align: center;
	/*文字をセンタリング*/
	padding: 12px 0px;
	/*上下、左右へのボックス内の余白*/
	border-left: 1px solid #d2d2d2;
	/*左側の線の幅、線種、色*/
	font-weight: bold;
	/*太字にする設定*/
}

/*１つ目のメニューへの追加設定*/
#menubar li:first-child {
	width: 17%;
	/*幅。６個メニューなので、16.6で割り切れない分をここで再設定。*/
}

#menubar li:first-child a {
	border-left: none;
	/*左側の線を消す設定*/
}

/*英語表記（飾り文字）*/
#menubar li a span {
	display: block;
	font-size: 9px;
	/*文字サイズ*/
	color: #bababa;
	/*文字色*/
	font-weight: normal;
	/*太字を標準に戻す設定*/
	letter-spacing: 0.2em;
	/*文字間隔を少し広くする設定*/
}

/*マウスオン時と、現在表示中メニューの設定*/
#menubar li a:hover,
#menubar li.current a {
	background: #fae6e6;
	/*背景色*/
}

/*左側のアクセントライン*/
#menubar li a:hover::before,
#menubar li.current a::before {
	content: "";
	position: absolute;
	left: 5px;
	width: 3px;
	height: 40px;
	background: linear-gradient(#d41b1b, #ca0e0e);
	/*グラデーション*/
}

/*スマホ用メニューを表示させない*/
#menubar-s {
	display: none;
}

/*３本バーアイコンを表示させない*/
#menubar_hdr {
	display: none;
}

/*コンテンツ（mainとsubを囲むブロック）
---------------------------------------------------------------------------*/
#contents {
	clear: both;
	overflow: hidden;
	padding: 1% 3%;
	/*ボックス内の余白*/
}

/*mainコンテンツ
---------------------------------------------------------------------------*/
#main {
	float: left;
	/*右に回り込み　デフォルトは float left; でした Y.Tamura */
	width: 72%;
	/*幅*/
}

#main blockquote {
	background-color: #EEEEEE;
	/*引用の枠*/
	margin-top: 15px;
	margin-right: 20px;
	margin-bottom: 15px;
	margin-left: 20px;
	padding: 10px;
	border: 1px dotted #666666;
}

/*１カラム利用時の設定*/
.c1 #main {
	float: none;
	width: auto;
}

/*h1タグの設定*/
#main h1 {
	margin-bottom: 20px;
	/*見出しの下にとるスペース*/
	margin-bottom: 20px;
	margin-top: 10px;
}

#main .title-sub {
	font-size: 1.5rem;
	padding: 0.2em 1.0em;
	/*文字の上下 左右の余白*/
	background: #f4f4f4;
	/*背景色*/
	border-left: solid 8px #32cc34;
	/*左線*/
	border-bottom: solid 4px #d7d7d7;
	/*下線*/
}

#main .admission-title {
	background: linear-gradient(#32cc34, #32cc34);
	/*グラデーション*/
	font-size: 1.3rem;
	background: #dcf1d5;
	/*背景色*/
	border-left: solid 7px #32cc34;
	/*左線*/
	padding: 0.1em 1.0em;
	/*文字の上下 左右の余白*/
	border-radius: 4px;
	/*角丸のサイズ*/
	margin-bottom: 20px;
	/*見出しの下にとるスペース*/
}

#main .public-title {
	background: linear-gradient(#f75f01, #f75f01);
	/*グラデーション*/
	font-size: 1.3rem;
	background: #f2d8d8;
	/*背景色*/
	border-left: solid 7px #f75f01;
	/*左線*/
	padding: 0.1em 1.0em;
	/*文字の上下 左右の余白*/
	border-radius: 4px;
	/*角丸のサイズ*/
	margin-bottom: 20px;
	/*見出しの下にとるスペース*/
}

#main .business-title {
	background: linear-gradient(#1c1ce9, #1c1ce9);
	/*グラデーション*/
	font-size: 1.3rem;
	background: #9999f2;
	/*背景色*/
	border-left: solid 7px #1c1ce9;
	/*左線*/
	padding: 0.1em 1.0em;
	/*文字の上下 左右の余白*/
	border-radius: 4px;
	/*角丸のサイズ*/
	margin-bottom: 20px;
	/*見出しの下にとるスペース*/
}

#main .member-title {
	background: linear-gradient(#f3d128, #f3d128);
	/*グラデーション*/
	font-size: 1.3rem;
	background: #fafbaf;
	/*背景色*/
	border-left: solid 7px #f3d128;
	/*左線*/
	padding: 0.1em 1.0em;
	/*文字の上下 左右の余白*/
	border-radius: 4px;
	/*角丸のサイズ*/
	margin-bottom: 20px;
	/*見出しの下にとるスペース*/
}

#main .faq-title {
	background: linear-gradient(#a94ef4, #a94ef4);
	/*グラデーション*/
	font-size: 1.3rem;
	background: #cfa9ee;
	/*背景色*/
	border-left: solid 7px #a94ef4;
	/*左線*/
	padding: 0.1em 1.0em;
	/*文字の上下 左右の余白*/
	border-radius: 4px;
	/*角丸のサイズ*/
	margin-bottom: 20px;
	/*見出しの下にとるスペース*/
}

#main .form-title {
	background: linear-gradient(#5cbbea, #5cbbea);
	/*グラデーション*/
	font-size: 1.3rem;
	background: #a4d6f0;
	/*背景色*/
	border-left: solid 7px #5cbbea;
	/*左線*/
	padding: 0.1em 1.0em;
	/*文字の上下 左右の余白*/
	border-radius: 4px;
	/*角丸のサイズ*/
	margin-bottom: 20px;
	/*見出しの下にとるスペース*/
}

.lead {
	background: #f6f5f1;
	font-size: 12px;
}

.lead {
	padding: 15px 0 0;
	margin: 10 10px;
	background: #d4efcd;
	font-size: 20px;
	text-align: center;
	overflow: hidden;
}

.lead {
	display: flex;
	/* 画像とコンテンツを横並びにするために flexbox を使用 */
	align-items: center;
	/* 垂直方向に中央揃え */
	justify-content: center;
	/* 横方向に中央揃え */
}

.content {
	margin-right: 0px;
	/* 画像とコンテンツの間に余白を設定 */
}

.image-wrapper img {
	max-width: 100%;
	/* 画像がコンテナ内に収まるようにする */
}

.image-wrapper {
	margin-right: 5px;
	/* 画像とコンテンツの間に余白を設定 */
}

.about .about_inner {
	width: 100%;
	background: #d4efcd;
	overflow: hidden;
	margin: 10 10px;
}

.about_list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: space-around;
}

.about_list li {
	float: left;
	text-align: center;
	margin-right: 10px;
}

.about_list li:last-child {
	margin-right: 0;
}

.about_list img {
	display: block;
	width: 200px;
	height: auto;
	margin-bottom: 20px;
	margin-top: 0px;
	/* 上部のマージン */
}

.about_list span {
	display: block;
	font-size: 23px;
}

.about_inner img {
	width: 150px;
	/* 画像の幅を150pxに設定 */
	height: auto;
	/* 高さは自動調整 */
}

.end-date-text {
	color: red;
	font-weight: bold;
	font-size: 2rem;
	text-align: center;
}

@media (max-width: 768px) {
	.end-date-text {
		font-size: 1.5rem;
	}
}

/*h2タグの設定*/
#main h2 {
	clear: both;
	margin-bottom: 20px;
	/*見出しの下にとるスペース*/
	font-size: 18px;
	/*文字サイズ*/
	padding: 5px 20px;
	/*上下、左右への余白*/
	background: #ca0e0e;
	/*背景色（古いブラウザ用）*/
	background: linear-gradient(#d41b1b, #ca0e0e);
	/*グラデーション*/
	box-shadow: 1px 2px 5px #ccc;
	/*影の設定。それぞれ右へ、下へ、ぼかし幅、色の設定。*/
	color: #FFF;
	/*文字色*/
	border-radius: 4px;
	/*角丸のサイズ*/
}

#main .admission {
	background: #32cc34;
	/*背景色（古いブラウザ用）*/
	background: linear-gradient(#32cc34, #32cc34);
	/*グラデーション*/
}

#main .public {
	background: #f75f01;
	/*背景色（古いブラウザ用）*/
	background: linear-gradient(#f75f01, #f75f01);
	/*グラデーション*/
	margin-top: 20px;
	/*見出しの上にとるスペース*/
}

#main .business {
	background: #1c1ce9;
	/*背景色（古いブラウザ用）*/
	background: linear-gradient(#1c1ce9, #1c1ce9);
	/*グラデーション*/
	margin-top: 20px;
	/*見出しの上にとるスペース*/
}

#main .member {
	background: #f3d128;
	/*背景色（古いブラウザ用）*/
	background: linear-gradient(#f3d128, #f3d128);
	/*グラデーション*/
	margin-top: 20px;
	/*見出しの上にとるスペース*/
}

#main .faq {
	background: #a94ef4;
	/*背景色（古いブラウザ用）*/
	background: linear-gradient(#a94ef4, #a94ef4);
	/*グラデーション*/
	margin-top: 20px;
	/*見出しの上にとるスペース*/
}

#main .form {
	background: #5cbbea;
	/*背景色（古いブラウザ用）*/
	background: linear-gradient(#5cbbea, #5cbbea);
	/*グラデーション*/
	margin-top: 20px;
	/*見出しの上にとるスペース*/
}

div#main table.tb_form td {
	font-size: 90%;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-right-style: solid;
	border-bottom-style: solid;
	border-right-color: #666666;
	border-bottom-color: #666666;
	line-height: 1.8;
	padding-top: 8px;
	padding-right: 20px;
	padding-bottom: 8px;
	padding-left: 20px;
	text-align: left;
}

div#main table.tb_form {
	margin-left: 20px;
	margin-right: 50px;
	border-top-width: 1px;
	border-left-width: 1px;
	border-top-style: solid;
	border-left-style: solid;
	border-top-color: #666666;
	border-left-color: #666666;
	margin-bottom: 15px;
}

/*h2タグの１文字目の設定*/
#main h2::first-letter {
	border-left: 3px solid rgba(255, 255, 255, 0.5);
	/*左側の線の幅、線種、色。255,255,255は白の事で0.5は透明度50%の事。*/
	padding-left: 20px;
	/*線とテキストとの余白*/
}

/*h3タグの設定*/
#main h3 {
	clear: both;
	margin-bottom: 20px;
	/*見出しの下にとるスペース*/
	font-size: 18px;
	/*文字サイズ*/
	padding: 6px 20px;
	/*上下、左右への余白*/
	background: linear-gradient(#fff, #eee);
	/*グラデーション*/
	border: 1px solid #ccc;
	/*枠線の幅、線種、色*/
	border-radius: 4px;
	/*角丸のサイズ*/
}

/*段落タグ設定*/
#main p {
	padding: 0px 20px 15px;
	/*上、左右、下への余白*/
}

.to-center {
	text-align: center;
}

#main h2+p,
#main h3+p {
	margin-top: -10px;
}

#main h3+ul {
	margin-top: -10px;
}

#main section+section {
	margin-top: 0px;
	margin-bottom: 20px;
	/*見出しの下にとるスペース*/
}

/*ボックス（list）設定
---------------------------------------------------------------------------*/
/*ボックス１個あたりの設定*/
#main .list {
	position: relative;
	overflow: hidden;
	margin-bottom: 20px;
	/*ボックス同士の上下間の余白*/
	border: 1px solid #ccc;
	/*枠線の幅、線種、色*/
	padding: 20px;
	/*ボックス内の余白。変更する際は、下の「#main .list a」のmarginとpaddingの数字も変更する。*/
	background: linear-gradient(#FFF, #eee);
	/*グラデーション*/
	box-shadow: 0px 2px 5px #ccc;
	/*影の設定。右・下・ぼかし幅・色の設定*/
}

/*マウスオン時設定*/
#main .list a:hover {
	background: #fff;
	/*マウスオン時の背景色*/
}

#main .list a:hover::before {
	background: #000;
	/*マウスオン時の「→」マークの背景色*/
}

/*ボックス内の画像設定*/
#main .list .img {
	width: 100%;
	/*画像の幅*/
	float: left;
	margin-right: 10px;
}

/*ボックス内のh4（見出し）タグ設定*/
#main .list h4 {
	font-size: 18px;
	/*文字サイズ*/
	color: #ca0e0e;
	/*文字色*/
}

/*ボックス内のp（段落）タグ設定*/
#main .list p {
	padding: 0;
}

/* お申込み・お問合せはこちら 大橋start*/
.button {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 230px;
	padding: 9px 20px;
	position: relative;
	border-radius: 10px;
	border: 1px solid #28a745;
	/* 緑色に変更 */
	font-weight: bold;
	letter-spacing: 2px;
	background: #e6ffe6;
	/* 薄い緑色に変更 */
	color: #28a745;
	/* 緑色に変更 */
	overflow: hidden;
	-webkit-transition: all 0.2s ease-in;
	-moz-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
}

.button:hover {
	color: #fff;
	background: #28a745;
	/* 緑色に変更 */
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.button:hover::before {
	-webkit-animation: light 0.5s 0s linear;
	-moz-animation: light 0.5s 0s linear;
	animation: light 0.5s 0s linear;
}

.button::before {
	content: '';
	display: block;
	width: 0px;
	height: 86%;
	position: absolute;
	top: 7%;
	left: 0%;
	opacity: 0;
	background: #fff;
	box-shadow: 0 0 50px 30px #fff;
	-webkit-transform: skewX(-20deg);
	-moz-transform: skewX(-20deg);
	-ms-transform: skewX(-20deg);
	-o-transform: skewX(-20deg);
	transform: skewX(-20deg);
}

@keyframes light {
	from {
		opacity: 0;
		left: 0%;
	}

	50% {
		opacity: 1;
	}

	to {
		opacity: 0;
		left: 100%;
	}
}

/* スマホ用スタイル */
@media (max-width: 600px) {
	.button {
		width: 90%;
		padding: 8px 12px;
		font-size: 0.8rem;
		letter-spacing: 1px;
	}
}

/*ドローンスクールサイトボタン 大橋*/
a.btn_drone {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 500px;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	color: #27acd9;
	border-bottom: 2px solid #27acd9;
	border-radius: 100vh;
	box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
	-webkit-box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
	transition: 0.5s;
}


a.btn_drone:hover {
	color: #fff;
	background: #27acd9;
	border-bottom: 2px solid #fff;
	transform: translateY(3px);
}

/* スマホ用スタイル */
@media (max-width: 600px) {
	a.btn_drone {
		width: 80%;
		padding: 0.3rem 1.3rem;
		font-size: 0.6rem;
	}

	a.btn_drone:before {
		margin-right: 10px;
		font-size: 0.9rem;
	}
}

/* お申込み・お問合せはこちら　横並び */
.center.double-buttons {
	gap: 60px;
	/* ボタンの間のスペース */
	display: flex;
	justify-content: center;
	/* ボタンを中央に揃える */
}

.right {
	display: flex;
	justify-content: right;
	align-items: righ;
}

.center.triple-buttons {
	display: flex;
	justify-content: center;
	gap: 60px;
	/* 3つのボタン間のスペース */
}

@media screen and (max-width: 600px) {

	.center.double-buttons,
	.center.triple-buttons {
		flex-direction: column;
		align-items: center;
		gap: 20px;
		/* スマホ用にスペースを調整 */
	}
}

/* お申込み・お問合せはこちら 大橋end*/

/*subコンテンツ
---------------------------------------------------------------------------*/
/*subブロック*/
#sub {
	float: right;
	/*右に回り込み*/
	width: 24%;
	/*幅*/
}

/*１カラム利用時の設定*/
.c1 #sub {
	display: none;
	/*非表示にする*/
}

/*subコンテンツ内のh2タグ設定*/
#sub h2 {
	padding: 15px 10px;
	/*左から、上下、左右への余白*/
	background: #eee;
	/*背景色*/
	border-bottom: 1px solid #d2d2d2;
	/*下の線の幅、線種、色*/
	border-top: 5px solid #ca0e0e;
	/*上の線の幅、線種、色*/
	font-weight: bold;
	/*太字にする設定*/
}

#sub .admission-sub {
	border-top: 5px solid #32cc34;
	/*上の線の幅、線種、色*/
}

#sub .public-sub {
	border-top: 5px solid #f75f01
		/*上の線の幅、線種、色*/
}

#sub .business-sub {
	border-top: 5px solid #1c1ce9
		/*上の線の幅、線種、色*/
}

#sub .member-sub {
	border-top: 5px solid #f3d128
		/*上の線の幅、線種、色*/
}

#sub .faq-sub {
	border-top: 5px solid #a94ef4
		/*上の線の幅、線種、色*/
}

#sub .form-sub {
	border-top: 5px solid #5cbbea
		/*上の線の幅、線種、色*/
}

/*subコンテンツのbox
---------------------------------------------------------------------------*/

#sub .box {
	border: 1px solid #d2d2d2;
	/*枠線の幅、線種、色*/
	padding: 10px;
	/*ボックス内の余白*/
	margin-bottom: 20px;
	/*ボックスの下に空けるスペース*/
	background: linear-gradient(#fff, #eaeaea);
	/*グラデーション*/
	box-shadow: 0px 0px 0px 1px #FFF inset;
	/*内側への影を右・下・ぼかし幅・距離・色を設定*/
}

/* スマートフォン用のスタイル */
@media (max-width: 768px) {
	.drone-box {
		padding: 10px;
		/* スマホでは余白を少なくする */
		font-size: 14px;
		/* テキストサイズを調整 */
	}

	.drone-box img {
		width: 30px;
		/* ロゴのサイズを少し小さくする */
	}

	.drone-box strong {
		font-size: 20px;
		/* タイトルテキストのサイズを調整 */
	}
}

/*subコンテンツ内のメニュー
---------------------------------------------------------------------------*/
/*メニュー全体の設定*/
#sub ul.submenu {
	margin-bottom: 20px;
	/*ブロックの下に空けるスペース*/
}

/*メニュー１個ごとの設定*/
#sub ul.submenu li a {
	text-decoration: none;
	display: block;
	padding: 5px 10px;
	/*メニュー内の余白。上下、左右への設定。*/
	border-bottom: 1px solid #d2d2d2;
	/*下の線の幅、線種、色*/
}

/*マウスオン時の背景色*/
#sub ul.submenu li a:hover {
	background: #fff;
}

/*box内のメニューブロックの設定*/
#sub .box ul.submenu {
	margin-bottom: 0;
}

/*サブコンテンツ内の一覧ブロック
---------------------------------------------------------------------------*/
/*各ボックスの設定*/
#sub .list {
	position: relative;
	overflow: hidden;
	font-size: 11px;
	/*文字サイズ*/
	line-height: 1.2;
	/*行間を狭くする*/
}

#sub .list a {
	text-decoration: none;
	display: block;
	overflow: hidden;
	padding: 10px;
	/*ボックス内の余白*/
	border-bottom: 1px solid #d2d2d2;
	/*下の線の幅、線種、色*/
}

/*マウスオン時*/
#sub .list a:hover {
	background: #fff;
	/*背景色*/
}

/*ボックス内のh4タグ設定*/
#sub .list h4 {
	color: #ca0e0e;
	/*文字色*/
}

/*ボックス内の写真設定*/
#sub .list figure img {
	float: left;
	/*画像を左へ回り込み*/
	width: 20%;
	/*写真の幅*/
	margin-right: 5px;
	/*写真の右側に空ける余白*/
}

/*フッター設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	text-align: center;
	padding: 10px 0;
	background: #ca0e0e;
	/*背景色*/
	color: #fff;
	/*文字色*/
}

.admission-footer {
	background-color: #32cc34;
	/*背景色*/
}

.public-footer {
	background-color: #f75f01;
	/*背景色*/
}

.business-footer {
	background-color: #1c1ce9;
	/*背景色*/
}

.member-footer {
	background-color: #f3d128;
	/*背景色*/
}

.faq-footer {
	background-color: #a94ef4;
	/*背景色*/
}

.form-footer {
	background-color: #5cbbea;
	/*背景色*/
}

footer a {
	text-decoration: none;
	color: #fff;
	/*文字色*/
}

footer .pr {
	display: block;
	font-size: 80%;
}

/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#new dl {
	padding-left: 20px;
	padding-right: 20px;
	margin-bottom: 20px;
}

/*日付設定*/
#new dt {
	float: left;
	width: 10em;
	/*幅*/
	color: #ca0e0e;
	/*文字色*/
	letter-spacing: 0.1em;
}

/*記事設定*/
#new dd {
	padding-left: 10em;
	border-bottom: 1px solid #ccc;
	/*下線の幅、線種、色*/
	margin-bottom: 5px;
}

/*よく頂く質問ページ
---------------------------------------------------------------------------*/
/*ブロック全体*/
.faq {
	padding: 0px 20px;
	/*上下、左右への余白*/
}

/*質問の設定*/
.faq dt {
	color: #ca0e0e;
	/*文字色*/
	padding-top: 15px;
}

.faq dt a {
	color: #ca0e0e;
	/*文字色*/
}

/*回答の設定*/
.faq dd {
	border-bottom: 1px solid #ccc;
	/*下線の幅、線種、色*/
	overflow: hidden;
	padding-bottom: 15px;
}

/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*ta1設定*/
.ta1 {
	width: 100%;
	margin: 0 auto 20px;
}

.ta1,
.ta1 td,
.ta1 th {
	border: 1px solid #ccc;
	/*テーブルの枠線の幅、線種、色*/
	padding: 10px 15px;
	/*ボックス内の余白*/
	word-break: break-all;
}

/*テーブル１行目に入った見出し部分*/
.ta1 th.tamidashi {
	width: auto;
	text-align: left;
	/*左よせ*/
}

/*ta1の左側ボックス*/
.ta1 th {
	width: 140px;
	/*幅*/
	text-align: center;
	/*センタリング*/
	font-weight: normal;
}

/*左側ボックスに画像を入れた場合の設定*/
.ta1 th img {
	width: 100%;
}

/*テーブル（ta2）
---------------------------------------------------------------------------*/
/*ta2設定*/
.ta2 {
	width: 95%;
	margin: 20px auto 20px;
}

.ta2,
.ta2 td,
.ta2 th {
	border: 1px solid #ccc;
	/*テーブルの枠線の幅、線種、色*/
	padding: 10px 15px;
	/*ボックス内の余白*/
	word-break: break-all;
}

/*テーブル１行目に入った見出し部分*/
.ta2 th.tamidashi {
	width: auto;
	text-align: left;
	/*左よせ*/
}

/*ta2の左側ボックス*/
.ta2 th {
	width: 50%;
	/*幅*/
	text-align: center;
	/*センタリング*/
	font-weight: normal;
}

/*左側ボックスに画像を入れた場合の設定*/
.ta2 th img {
	width: 100%;
}

/*inputボタン
---------------------------------------------------------------------------*/
#main input[type="submit"].btn,
#main input[type="button"].btn,
#main input[type="reset"].btn {
	padding: 5px 10px;
	border: 1px solid #ccc;
	font-size: 15px;
	border-radius: 3px;
	background: linear-gradient(#fff, #eee);
}

/*マウスオン時の設定*/
#main input[type="submit"].btn:hover,
#main input[type="button"].btn:hover,
#main input[type="reset"].btn:hover {
	border: 1px solid #999;
	background: #fff;
}

/*トップページのNEWアイコン
---------------------------------------------------------------------------*/
.newicon {
	background: #F00;
	/*背景色*/
	color: #FFF;
	/*文字色*/
	font-size: 70%;
	/*文字サイズ*/
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}

/*その他
---------------------------------------------------------------------------*/
.look {
	background: #ccc;
	color: #333;
	padding: 5px 10px;
	border-radius: 4px;
}

.mb15,
.mb1em {
	margin-bottom: 15px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.p0 {
	padding: 0 !important;
}

.clear {
	clear: both;
}

ul.disc {
	padding: 0em 25px 15px;
	list-style: disc;
}

.color1,
.color1 a {
	color: #F00;
}

.bg1 {
	background: #f6f5f2;
}

.pr {
	font-size: 10px;
}

.wl {
	width: 96%;
}

.ws {
	width: 50%;
}

.c {
	text-align: center;
}

.r {
	text-align: right;
}

.l {
	text-align: left;
}

img.fr {
	float: right;
	margin-left: 10px;
	margin-bottom: 10px;
}

img.fl {
	float: left;
	margin-right: 10px;
	margin-bottom: 10px;
}

.big1 {
	font-size: 20px;
}

.mini1 {
	font-size: 11px;
	display: inline-block;
	line-height: 1.5;
}

.sh {
	display: none;
}

.kiyaku-frame {
    border-width: 2px;
    border-style: inset;
    border-color: initial;
    border-image: initial;
}





/*画面幅767px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:767px) {

	/*コンテンツ（mainとsubを囲むブロック）
---------------------------------------------------------------------------*/
	#contents {
		padding: 0 3%;
		/*ボックス内の余白。上下、左右。*/
	}

	/*メインメニュー
---------------------------------------------------------------------------*/
	/*アニメーションのフレーム設定。全100コマアニメーションだと思って下さい。透明度(opacity)0%から透明度100%にする指定。*/
	@keyframes menu1 {
		0% {
			opacity: 0;
		}

		100% {
			opacity: 1;
		}
	}

	/*スマホ用メニューブロック*/
	#menubar-s {
		display: block;
		overflow: hidden;
		position: absolute;
		top: 105px;
		/*上から105pxの場所に配置*/
		border-top: 1px solid #fff;
		/*上の線の幅、線種、色*/
		width: 100%;
		z-index: 10;
		animation-name: menu1;
		/*上のkeyframesの名前*/
		animation-duration: 0.5S;
		/*アニメーションの実行時間。0.5秒。*/
		animation-fill-mode: both;
		/*アニメーションの完了後、最後のキーフレームを維持する*/
	}

	/*メニュー１個あたりの設定*/
	#menubar-s li a {
		display: block;
		text-decoration: none;
		padding: 15px 10px 15px 20px;
		/*上、右、下、左へのメニュー内の余白*/
		border-bottom: 1px solid #fff;
		/*下の線の幅、線種、色*/
		background: #000;
		/*背景色*/
		background: rgba(0, 0, 0, 0.8);
		/*背景色。0,0,0は黒の事で0.8は透明度80%の事。*/
		color: #fff;
		/*文字色*/
		font-size: 14px;
		/*文字サイズ*/
	}

	/*英語表記（飾り文字）*/
	#menubar-s li a span {
		display: block;
		font-size: 12px;
		/*文字サイズ*/
	}

	/*PC用メニューを非表示にする*/
	#menubar {
		display: none;
	}

	/*３本バーアイコン設定
---------------------------------------------------------------------------*/
	/*３本バーブロック*/
	#menubar_hdr {
		display: block;
		position: absolute;
		top: 28px;
		/*上から28pxの場所に配置*/
		right: 3%;
		/*右から3%の場所に配置*/
		border: 1px solid #000;
		/*枠線の幅、線種、色*/
	}

	/*アイコン共通設定*/
	#menubar_hdr.close,
	#menubar_hdr.open {
		width: 40px;
		/*幅*/
		height: 40px;
		/*高さ*/
	}

	/*三本バーアイコン*/
	#menubar_hdr.close {
		/* background: #fff url(../images/icon_menu.png) no-repeat center top/50px; */
		background-color: #fff;
	}

	/*閉じるアイコン*/
	#menubar_hdr.open {
		/* background: #fff url(../images/icon_menu.png) no-repeat center bottom/40px; */
		background-color: #fff;
	}

	/*main,subコンテンツ
---------------------------------------------------------------------------*/
	#main,
	#sub {
		float: none;
		width: auto;
	}

	/*その他
---------------------------------------------------------------------------*/
	body.s-n #sub,
	body.s-n #footermenu,
	.m-n {
		display: none;
	}

}



/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px) {

	/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
	/*ロゴ画像*/
	header #logo img {
		width: 200px;
		/*画像幅*/
		margin-top: 40px;
		/*上下のバランスをとって下さい*/
	}

	/*全体の設定
---------------------------------------------------------------------------*/
	body {
		font-size: 12px;
		/*文字サイズ*/
		line-height: 1.5;
		/*行間*/
	}

	/*mainコンテンツ
---------------------------------------------------------------------------*/
	#main h2,
	#main h3 {
		font-size: 14px;
		padding-left: 10px;
		padding-right: 10px;
	}

	/*h2タグの１文字目の設定*/
	#main h2::first-letter {
		padding-left: 8px;
		/*線とテキストとの余白*/
	}

	/*段落タグ設定*/
	#main p {
		padding: 0px 10px 15px;
		/*上、左右、下への余白*/
	}

	/*formコンテンツ
---------------------------------------------------------------------------*/
	form {
		display: block;
		unicode-bidi: isolate;
	}

	input[type="hidden" i] {
		appearance: none;
		background-color: initial;
		cursor: default;
		display: none !important;
		padding: initial;
		border: initial;
		border-color: initial;
		border-radius: initial;
	}

	/*ボックス（list）設定
---------------------------------------------------------------------------*/
	/*ボックス内のh4（見出し）タグ設定*/
	#main .list h4 {
		font-size: 14px;
		/*文字サイズ*/
	}

	/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
	/*ブロック全体の設定*/
	#new dl {
		padding-left: 10px;
		padding-right: 10px;
	}

	/*テーブル（ta1）
---------------------------------------------------------------------------*/
	/*ta1設定*/
	.ta1,
	.ta1 td,
	.ta1 th {
		padding: 5px;
		/*ボックス内の余白*/
	}

	/*ta1の左側ボックス*/
	.ta1 th {
		width: 100px;
	}

	/*その他
---------------------------------------------------------------------------*/
	.ws,
	.wl {
		width: 94%;
	}

	.big1 {
		font-size: 16px;
	}

	img.fr,
	img.fl {
		float: none;
		margin: 0;
		width: 100%;
	}

	.sh {
		display: block;
	}

	.pc {
		display: none;
	}

}



/*アコーディオンの中のtable用
---------------------------------------------------------------------------*/
.table-container {
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 10px;
	overflow-x: auto;
	/* 水平方向にコンテンツがはみ出した場合にスクロールバーを表示 */
	-webkit-overflow-scrolling: touch;
	/* スムーズなスクロールを有効にする */
}

.custom-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.custom-th,
.custom-td,
.custom-td-qa,
.custom-th-50,
.custom-th-auto,
.custom-td-auto,
.custom-td.description {
	border: 1px solid black;
	padding: 8px;
	text-align: left;
}

@media screen and (max-width: 600px) {

	.custom-th,
	.custom-td,
	.custom-td-qa,
	.custom-th-50,
	.custom-th-auto,
	.custom-td-auto,
	.custom-td.description {
		white-space: nowrap;
		/* テキストの折り返しを防止する */
	}
}

.custom-th {
	text-align: center;
}

.custom-th-50 {
	width: 50%;
	text-align: center;
}

.custom-th-auto {
	width: auto;
	text-align: center;
}

.custom-td {
	width: 3px;
	text-align: center;
	font-weight: normal;
	/* 太字を解除する */
}

.custom-td-qa {
	width: 33.33%;
	text-align: center;
}

.custom-td-auto {
	width: auto;
	text-align: center;
}

.custom-td.description {
	text-align: left;
	padding-left: 20px;
	padding-right: 20px;
	table-layout: auto;
	/* セルの幅を内容に合わせて自動調整 */
}

.custom-table a {
	text-decoration: underline;
	color: inherit;
}


/*アコーディオン用
---------------------------------------------------------------------------*/
.details {
	border-top: 4px solid #fff;
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;

	&:last-of-type {
		border-bottom: 4px solid #fff;
	}
}

.details-summary,
.details-summary-p,
.details-summary-b,
.details-summary-m,
.details-summary-f {
	position: relative;
	display: block;
	padding: 10px;
	color: #32cc34;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	background-color: #e6eded;

	&:hover {
		cursor: pointer;
		opacity: 0.8;
	}

	.btn {
		position: absolute;
		top: 30%;
		left: 5%;
		width: 18px;
		height: 18px;
		transform-origin: center center;
		transition-duration: 0.2s;

		&:before,
		&:after {
			content: "";
			background-color: #32cc34;
			border-radius: 10px;
			width: 18px;
			height: 4px;
			position: absolute;
			top: 7px;
			left: 0;
			transform-origin: center center;
		}

		&:before {
			width: 4px;
			height: 18px;
			top: 0;
			left: 7px;
		}
	}

	border-top: 1px solid #32cc34;
	border-left: 1px solid #32cc34;
	border-right: 1px solid #32cc34;

	&:last-of-type {
		border-bottom: 1px solid #32cc34;
	}

	&.is-active {
		.btn {
			-webkit-transform: rotate(-180deg);
			transform: rotate(-180deg);

			&:before {
				content: none;
			}
		}
	}
}

@media (max-width: 600px) {
	.details-summary,
	.details-summary-p,
	.details-summary-b,
	.details-summary-m,
	.details-summary-f {
		font-size: 15px;
	}

	.font-size-adjust-small {
		font-size: 14px;
	}

	.font-size-adjust-very-small {
		font-size: 13px;
	}
}

.details-summary-p {
	color: #f75f01;

	.btn {

		&:before,
		&:after {
			content: "";
			background-color: #f75f01;
		}
	}

	border-top: 1px solid #f75f01;
	border-left: 1px solid #f75f01;
	border-right: 1px solid #f75f01;

	&:last-of-type {
		border-bottom: 1px solid #f75f01;
	}
}

.details-summary-b {
	color: #1c1ce9;

	.btn {

		&:before,
		&:after {
			content: "";
			background-color: #1c1ce9;
		}
	}

	border-top: 1px solid #1c1ce9;
	border-left: 1px solid #1c1ce9;
	border-right: 1px solid #1c1ce9;

	&:last-of-type {
		border-bottom: 1px solid #1c1ce9;
	}
}

.details-summary-m {
	color: hsl(41, 98%, 48%);
	/* アコーディオンの色だけ違う黄 */

	.btn {

		&:before,
		&:after {
			content: "";
			background-color: hsl(41, 98%, 48%);
			/* アコーディオンの色だけ違う黄色 */
		}
	}

	border-top: 1px solid hsl(41, 98%, 48%);
	/* アコーディオンの色だけ違う黄色 */
	border-left: 1px solid hsl(41, 98%, 48%);
	/* アコーディオンの色だけ違う黄色 */
	border-right: 1px solid hsl(41, 98%, 48%);
	/* アコーディオンの色だけ違う黄色 */

	&:last-of-type {
		border-bottom: 1px solid hsl(41, 98%, 48%);
		/* アコーディオンの色だけ違う黄色 */
	}
}

.details-summary-f {
	color: #a94ef4;

	.btn {

		&:before,
		&:after {
			content: "";
			background-color: #a94ef4;
		}
	}

	border-top: 1px solid #a94ef4;
	border-left: 1px solid #a94ef4;
	border-right: 1px solid #a94ef4;

	&:last-of-type {
		border-bottom: 1px solid #a94ef4;
	}
}

.details-summary::-webkit-details-marker {
	display: none;
}

.details-content {
	padding: 20px;

	p {
		color: #000;
		font-size: 18px;
		text-align: left;
		line-height: 1.5;
		/* 行間の調整 */
		margin: 5px 0;

		/* 段落間のマージンの調整 */
		&:last-of-type {
			margin: 0 0 0;
		}
	}

	ul,
	ol {
		padding: 5px;
		margin-left: 15px;
		font-size: 16px;
		text-align: left;
		line-height: 1.6;

		/* 行間を狭くする */
		&:last-of-type {
			margin: 0 0 0 20;
		}
	}

	ul li,
	ol li {
		margin-bottom: 7px;
		/* 各リストアイテムの下の余白を調整する（必要に応じて） */
	}
}



#topic_path {
	margin-top: 10px;
	/*見出しの下にとるスペース*/
	margin-left: 30px;
	/*見出しの下にとるスペース*/
	padding-top: 5px;
}

/* ホームページ制作ページ*/
.container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	max-width: 900px;
	margin: 30px auto;
	padding: 10px;
	background-color: #ffffff;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
}

.image-area {
	flex: 1 1 200px;
	text-align: center;
	padding: 10px;
}

.image-area img {
	width: 100%;
	max-width: 160px;
	height: auto;
	border-radius: 6px;
}

.text-area {
	flex: 1 1 400px;
	padding: 15px;
}


p {
	font-size: 0.95em;
	line-height: 1.4;
	margin: 0;
}

.title {
	color: #000;
	font-size: 1.2em;
	font-weight: bold;
	display: flex;
	align-items: center;
}

.circle-number {
	display: inline-block;
	background-color: red;
	color: white;
	border-radius: 50%;
	width: 24px;
	height: 24px;
	text-align: center;
	line-height: 24px;
	font-size: 0.9em;
	margin-right: 8px;
	flex-shrink: 0;
}

.main-title {
	text-align: center;
	margin: 10px 10px;
	padding: 0;
}

.catchphrase {
	font-size: 16px;
	color: #000;
	font-weight: 500;
	margin: 0 0 6px;
	line-height: 1.4;
}

.headline {
	font-size: 20px;
	color: #000;
	font-weight: 700;
	margin: 0;
	line-height: 1.4;
	display: inline-block;
	position: relative;
	padding: 1rem .5rem;
}

.headline:after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 6px;
	content: '';
	border-radius: 3px;
	background-image: -webkit-gradient(linear, right top, left top, from(#2af598), to(#009efd));
	background-image: -webkit-linear-gradient(right, #2af598 0%, #009efd 100%);
	background-image: linear-gradient(to left, #2af598 0%, #009efd 100%);
}



@media (max-width: 768px) {
	.container {
		flex-direction: row;
		/* ←縦並びをやめて横並びに */
		flex-wrap: nowrap;
		align-items: flex-start;
		gap: 10px;
		padding: 10px;
		margin: 15px;
	}

	.image-area {
		flex: 0 0 90px;
		padding: 5px;
	}

	.image-area img {
		max-width: 80px;
		/* ←スマホではかなり小さく */
		border-radius: 4px;
	}

	.text-area {
		flex: 1;
		padding: 5px;
		text-align: left;
	}

	.title {
		font-size: 1em;
		margin-bottom: 4px;
	}

	p {
		font-size: 0.85em;
		line-height: 1.3;
	}
}

@media (max-width: 768px) {
	.catchphrase {
		font-size: 13px;
	}

	.headline {
		font-size: 16px;
	}
}

/* ホームページ Before After */

.image-pairs {
	display: flex;
	flex-direction: column;
	/* 縦並び */
	align-items: center;
	gap: 40px;
}

/* 共通スタイル */
.hoverbox-with-title {
	border-radius: 10px;
	width: 100%;
	max-width: 900px;
	/* PCで大きめに表示 */
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: linear-gradient(135deg, #fdfcfb, #f5f3f1);
	box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.05);
}


.hoverbox {
	position: relative;
	width: 100%;
	padding-top: 66.66%;
	/* 横：縦 = 3:2 の比率でスペースを確保 */
	overflow: hidden;
	cursor: pointer;
	border-radius: 8px;
}

.hoverbox img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	/* 比率を保って中央にフィット */
	transition: opacity 1s ease;
	opacity: 0;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
	/* ふんわりシャドウで浮き感 */
	border-radius: 8px;
}

.hoverbox img.active {
	opacity: 1;
}

/* タイトルやキャプションも忘れずに */
.section-title {
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	margin-top: 30px;
	margin-bottom: 10px;
	color: #333;
}

.section-caption {
	text-align: center;
	font-size: 16px;
	color: #666;
	margin-top: -15px;
	margin-bottom: 0px;
}

/* スマホ対応（画面幅768px以下） */
@media (max-width: 768px) {
	.hoverbox-with-title {
		width: 95%;
		padding: 10px;
	}

	.hoverbox {
		padding-top: 75%;
		/* スマホは少し縦長の比率に */
	}

	.hoverbox-title {
		font-size: 18px;
		margin-bottom: 10px;
	}

	.section-title {
		font-size: 20px;
	}

	.section-caption {
		font-size: 15px;
	}
}


/* ホームページ ブラウン枠 */
.renewal-message {
	border: 2px solid #A97451;
	/* ブラウン系 */
	background-color: #fdf8f5;
	/* ほんのりベージュ背景で柔らかく */
	border-radius: 12px;
	padding: 20px 15px;
	margin: 40px auto;
	width: 90%;
	max-width: 700px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
	color: #333;
	font-family: "Helvetica Neue", sans-serif;
	line-height: 1.6;
	box-sizing: border-box;
}

.renewal-title {
	font-size: 23px;
}

.renewal-subtitle {
	font-size: 18px;
}

@media (max-width: 768px) {
	.renewal-title {
		font-size: 15px;
	}

	.renewal-subtitle {
		font-size: 12px;
	}
}

/*テキストスライド
---------------------------------------------------------------------------*/
.text-slide-wrapper {
	overflow-x: hidden;
}

.text-slide {
	display: flex;
	white-space: nowrap;
	font-size: 50px;
	/*文字サイズ*/
	opacity: 0.3;
	/*透明度。色が30%出た状態。*/
}

.text-slide span {
	padding: 0 20px;
}

/*制作実績*/
.works-container {
	display: flex;
	justify-content: center;
	gap: 60px;
	/* ←左右の間隔を広めに */
	flex-wrap: wrap;
	margin-top: 30px;
}

.work-item {
	max-width: 300px;
	text-align: center;
	background-color: #fff;
	/* 枠内背景色（白） */
	padding: 20px;
	border: 1px solid #ddd;
	/* 枠線 */
	border-radius: 16px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	/* 軽い影で立体感 */
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.work-item:hover {
	transform: translateY(-5px);
	/* ホバー時にちょっと浮く */
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.work-item img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	margin-bottom: 12px;
}

.work-title {
	font-size: 0.9rem;
	font-weight: bold;
	margin-bottom: 5px;
	color: #222;
}

.work-caption {
	font-size: 0.95rem;
	color: #444;
	line-height: 1.5;
	text-align: left;
	/* ← 追加 */
}

/* ご相談ください */
.estimate-banner {
	margin: 15px auto;
	max-width: 800px;
	padding: 3px 30px;
	background: linear-gradient(to left, #a8edea, #66b3ff, #479af2);
	color: #ffffff;
	font-size: 1.8rem;
	font-weight: 900;
	text-align: center;
	border-radius: 10px;
}

/* スマホ（600px以下）ではフォントを小さくする */
@media screen and (max-width: 600px) {
	.estimate-banner {
		font-size: 1.2rem;
		padding: 16px 20px;
	}
}

.phone {
	font-size: 2rem;
	/* 電話番号を大きく */
	text-align: center;
	/* 中央揃え */
	font-weight: bold;
	margin: 20px 0;
}

.center {
	text-align: center;
	margin: 20px 0;
}

.nagare-container {
	display: inline-block;
}

.button {
	display: inline-block;
	background: linear-gradient(to left, #a8edea, #66b3ff, #479af2);
	color: white;
	padding: 14px 28px;
	font-size: 1.2rem;
	font-weight: bold;
	border: none;
	border-radius: 8px;
	text-decoration: none;
	transition: background 0.3s ease;
}

.button:hover {
	background: linear-gradient(to right, #ff9a2b, #ff6333);
}

/* スマホ対応 */
@media screen and (max-width: 600px) {
	.button {
		font-size: 1rem;
		padding: 12px 20px;
	}

	.nagare-container {
		width: 100%;
	}
}

/* 群馬インターネットは地元密着の安心サポート！ */
.support-message {
	text-align: center;
	margin: 10px auto;
	max-width: 800px;
}

.support-title {
	font-size: 1.6rem;
	font-weight: 800;
	color: #733915;
	margin-bottom: 8px;
	/* ← 少し下の余白も減らしました */
}

.support-text {
	font-size: 1.05rem;
	/* ← わずかに小さくしてバランス調整（任意） */
	font-weight: 500;
	margin: 0;
}

.support-flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 10px auto;
	max-width: 1000px;
}

.support-message {
	flex: 1;
	text-align: left;
	color: #733915;
}

.support-title {
	font-size: 1.6rem;
	font-weight: 800;
	margin-bottom: 8px;
}

.support-text {
	font-size: 1.05rem;
	font-weight: 500;
	margin: 0;
}

.support-image {
	flex-shrink: 0;
}

.support-image img {
	width: 100%;
	max-width: 120px;
	height: auto;
}

/* スマホ対応（600px以下） */
@media screen and (max-width: 600px) {
	.support-flex {
		flex-direction: column;
		align-items: flex-start;
	}

	.support-message {
		text-align: left;
	}

	.support-title {
		font-size: 1.3rem;
		/* 小さめに */
	}

	.support-text {
		font-size: 0.95rem;
		/* 小さめに */
	}

	.support-image {
		display: none;
		/* スマホでは画像非表示 */
	}
}



/* ホームページ完成までの流れ */
* {
	box-sizing: border-box;
}

body {
	min-height: 100vh;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

ul {
	padding: 0;
}

li {
	list-style-type: none;
}

dd {
	margin-left: 0;
}

.flow {
	padding-left: 120px;
	position: relative;
}

.flow::before {
	content: "";
	width: 15px;
	height: 100%;
	background: #eee;
	margin-left: -8px;
	display: block;
	position: absolute;
	top: 0;
	left: 120px;
}

.flow>li {
	position: relative;
}

.flow>li:not(:last-child) {
	margin-bottom: 40px;
	/* 固定ピクセルにしたい場合はこちら */
}

.flow>li .icon {
	font-size: 12px;
	color: #fff;
	background: rgb(107, 144, 219);
	background: -moz-linear-gradient(left, rgba(107, 144, 219, 1) 0%, rgba(102, 213, 233, 1) 100%);
	background: -webkit-linear-gradient(left, rgba(107, 144, 219, 1) 0%, rgba(102, 213, 233, 1) 100%);
	background: linear-gradient(to right, rgba(107, 144, 219, 1) 0%, rgba(102, 213, 233, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#6b90db', endColorstr='#66d5e9', GradientType=1);
	padding: 8px 20px;
	display: block;
	position: absolute;
	top: 0;
	left: -120px;
	z-index: 100;
}

.flow>li .icon::after {
	content: "";
	border-style: solid;
	border-width: 5px 0 5px 10px;
	border-color: transparent transparent transparent #66d5e9;
	position: absolute;
	top: 50%;
	left: 100%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.flow>li dl {
	padding-left: 70px;
	position: relative;
}

.flow>li dl::before,
.flow>li dl::after {
	content: "";
	display: block;
	position: absolute;
	top: 15px;
}

.flow>li dl::before {
	width: 7px;
	height: 7px;
	margin-top: -3px;
	background: #6b90db;
	border-radius: 50%;
	left: -4px;
}

.flow>li dl::after {
	width: 50px;
	border-bottom: 1px dashed #999;
	position: absolute;
	left: 5px;
}

.flow>li dl dt {
	font-size: 20px;
	font-weight: 600;
	color: rgb(107, 144, 219);
	margin-bottom: 1vh;
}

@media screen and (max-width: 600px) {
	.flow {
		padding-left: 0;
	}

	.flow::before {
		display: none;
		/* タイムラインの縦線を非表示にしてもOK */
	}

	.flow>li .icon {
		position: relative;
		left: 0;
		top: 0;
		transform: none;
		display: inline-block;
		margin-bottom: 0.5em;
		font-size: 12px;
		padding: 6px 12px;
	}

	.flow>li dl {
		padding-left: 0;
	}

	.flow>li dl::before,
	.flow>li dl::after {
		display: none;
	}

	.flow>li dl dt {
		font-size: 16px;
	}

	.flow>li:not(:last-child) {
		margin-bottom: 24px;
	}

	body {
		padding: 10px;
		display: block;
	}
}

/* スマホ時（600px以下）では画像を非表示 */
@media screen and (max-width: 600px) {
	.flow-image {
		display: none;
	}
}

/* サポート体制について */
.support-flow {
	max-width: 1100px;
	margin: 50px auto;
	padding: 0 20px;
	font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}


.support-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px;
}

.support-box {
	flex: 1;
	min-width: 280px;
	border-radius: 10px;
	padding: 20px;
	box-sizing: border-box;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
	text-align: center;
}

.support-icon {
	font-size: 2.5rem;
	margin-bottom: 10px;
}

.support-box h3 {
	font-size: 1.3rem;
	margin-bottom: 15px;
	color: #333;
	font-weight: bold;
}

.support-box ul {
	list-style: none;
	padding-left: 0;
	text-align: left;
}

.support-box ul li {
	background: #fff;
	margin-bottom: 10px;
	padding: 10px 12px;
	border-radius: 6px;
	box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.08);
}

/* カラー区分 */
.support-box.blue {
	border-top: 6px solid #007acc;
	background: #c2d3ed;
}

.support-box.red {
	border-top: 6px solid #e94b3c;
	background: #edd9c2;
}

.support-box.purple {
	border-top: 6px solid #6a1b9a;
	background: #cdc2ed;
}

/* 「はじめての方も～」のスタイル */
.support-block {
	margin-top: 40px;
	background: #f6f5f3;
	padding: 20px;
	border-radius: 10px;
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);
	font-size: 1rem;
}

.support-title {
	font-size: 1.4rem;
	font-weight: bold;
	color: rgb(240, 146, 15);
	margin-bottom: 15px;
}

/* レスポンシブ */
@media (max-width: 900px) {
	.support-container {
		flex-direction: column;
		align-items: center;
	}

	.support-box {
		width: 100%;
		max-width: 500px;
	}

	.support-title {
		font-size: 1rem;
	}
}


/* 選ばれる理由 */
.support-strengths {
	max-width: 1100px;
	margin: 60px auto;
	padding: 0 20px;
	font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}


.strength-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px;
}

.strength-item {
	flex: 1 1 30%;
	background: #eef6ff;
	border-radius: 10px;
	padding: 20px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
	box-sizing: border-box;
	min-width: 280px;
}

.strength-item h3 {
	font-size: 1.2rem;
	margin-bottom: 10px;
	color: #005a9e;
}

.strength-item p {
	font-size: 0.95rem;
	line-height: 1.6;
}

.strength-heading {
	background: #ffffff;
	border-bottom: 2px solid #007acc;
	padding: 10px 12px;
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 12px;
	color: #333;
}

/* スマホ対応 */
@media (max-width: 900px) {
	.strength-list {
		flex-direction: column;
		align-items: center;
	}

	.strength-item {
		width: 100%;
		max-width: 500px;
	}

	.strength-heading {
		font-size: 0.9rem;
	}
}

/* hp問合せ */
.contact-box {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.contact-text {
	flex: 1;
}

.contact-image img {
	max-width: 150px;
	height: auto;
	border-radius: 8px;
}

@media screen and (max-width: 600px) {
	.contact-image {
		display: none;
	}

	.contact-box {
		flex-direction: column;
		align-items: flex-start;
	}
}