@charset "utf-8";





/*リセットCSS（reset.css）の読み込み
---------------------------------------------------------------------------*/
@import url("reset.css");

/*slick.cssの読み込み
---------------------------------------------------------------------------*/
@import url("slick.css");









/*全体の設定
---------------------------------------------------------------------------*/
html,
body {
	margin: 0;
	padding: 0;
	height: 100%;
	font-size: 14px;
	/*基準となるフォントサイズ。下の方にある「画面幅900px以上」で基準を大きなサイズに再設定しています。*/
}

body {
	font-family: 'ヒラギノ丸ゴ Pro', "Hiragino Maru Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	/*フォント種類*/
	-webkit-text-size-adjust: none;
	background: #fff;
	/*背景色*/
	color: #333;
	/*全体の文字色*/
	line-height: 2;
	/*行間*/
}

/*リセット*/
figure {
	margin: 0;
}

dd {
	margin: 0;
}

nav {
	margin: 0;
	padding: 0;
}

/*table全般の設定
table {
	
	
}
*/
/*画像全般の設定*/
img {
	border: none;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

/*videoタグ*/
video {
	max-width: 100%;
}

/*iframeタグ*/
iframe {
	width: 100%;
}

/*section全般の設定
section+section {
	padding-top: 30px;
	padding-bottom: 30px;
	/*sectionの間に空けるスペース*/


a {
	color: #333;
	/*文字色*/
	transition: 0.3s;
}

a:hover {
	color: #9f957b;
	/*マウスオン時の文字色*/
}


/*container（サイト全体を囲むブロック）
---------------------------------------------------------------------------*/
#container {
	max-width: 1500px;
	/*最大幅。これ以上広がらないように。後半の大きな端末用の「#menubar > ul」と数字を揃える。*/
	margin: 0 auto;
	/*height: 100%;*/
	display: flex;
	/*flexボックスを使う指定*/
	flex-direction: column;
	/*子要素を縦並びにする*/
	justify-content: space-between;
	/*並びかたの種類の指定*/
}

/*header
---------------------------------------------------------------------------*/

#header_main {
	height: 20px;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
}

#header_main h1 {
	margin: 0;
	padding: 0px;
	text-align: center;
	font-weight: normal;
	line-height: 18px;
	font-size: 10px;
	color: #000000;
	background-color: #d2b48c;
}



/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;
	position: fixed;
	z-index: 100;
	top: 35px;
	/*上からの配置場所指定*/
	right: 10px;
	/*右からの配置場所指定*/
	width: 50px;
	/*幅*/
	height: 50px;
	/*高さ*/
	cursor: pointer;
	background: rgba(0, 0, 0, 0.6) url(../images/ham.png) no-repeat center top/50px;
	/*背景色、ハンバーガメニュー画像の読み込み、50pxは幅の指定*/
}

/*×印が出ている状態の設定。*/
#menubar_hdr.ham {
	background: #ff0000 url(../images/ham.png) no-repeat center bottom/50px;
}


/*メニュー設定（全端末サイズ共通の設定）
---------------------------------------------------------------------------*/
#menubar ul {
	list-style: none;
	margin: 0;
	padding: 0;
	background: #d2b48c;
	/*背景色。諸事情あって、下のbackgroundのグラデーションのどちらかの色を抜いて下さい。*/
}

/*メニュー1個あたりの設定*/
#menubar ul a {
	display: block;
	text-decoration: none;
	background: linear-gradientt(#d2b48c, #d2b48c);
	/*背景グラデーション*/
	color: #fff;
	/*文字色*/
	padding: 15px 20px;
	/*上下、左右へのメニュー内の余白*/
	border: 0.5px solid #d3aa75;
}

/*マウスオン時のメニュー色*/
#menubar>ul>li>a:hover {
	filter: brightness(1.2);
	/* 少しだけ明るくする */
	background: linear-gradient(#d2b48c, #d2b48c);
	/* ホバー時の背景グラデーション */
}


/*ドロップダウンメニューのリンクタグ*/
#menubar .ddmenu {
	cursor: default;
	/*リンク要素のカーソルを矢印に変更しておく*/
}

/*ddmenuを指定しているメニューに矢印アイコンをつける設定*/
a.ddmenu::before {
	font-family: "Font Awesome 5 Free";
	/*Font Awesomeを使う指定*/
	content: "\f078";
	/*使いたいアイコン名をここで指定。Font Awesomeに記載されています。詳しくは当テンプレートのマニュアルを読んで下さい。*/
	font-weight: bold;
	/*この手の設定がないとアイコンが出ない場合があります*/
	margin-right: 1em;
	/*アイコンとテキストとの間に空けるスペース*/
}


/*メニューの設定
---------------------------------------------------------------------------*/
#menubar {
	height: 0px;
	overflow: hidden;
}

/*小さな端末用のメニューブロック*/
#menubar.db {
	position: fixed;
	overflow: auto;
	z-index: 99;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	padding: 90px 20px;
	/*上下、左右へのメニューブロック内の余白*/
	background: rgba(0, 0, 0, 0.8);
	/*背景色。0,0,0は黒の事で0.8は色が80%出た状態。*/
}


/*ドロップダウンメニュー
---------------------------------------------------------------------------*/
#menubar .ddmenu_parent ul {
	display: none;
}

/*ドロップダウンメニュー1個あたりの設定*/
#menubar .ddmenu_parent ul a {
	background: #fff;
	/*背景色*/
	color: #333;
	/*文字色*/
}

/*マウスオン時*/
#menubar .ddmenu_parent ul a:hover {
	background: #fafafa;
	/*背景色*/
	color: #9f957b;
	/*文字色*/
}


/*contentsブロック
---------------------------------------------------------------------------*/
#contents {
	min-height: 0%;
	/*IE対策*/
	flex: 1 0 auto;
}


/*mainブロック設定
---------------------------------------------------------------------------*/
/*mainブロックの設定*/
main {
	display: block;
	/*IE対策*/
	margin: 50px 3% 100px;
	/*上、左右、下へのブロックの外側にとるスペース*/
}

/*mainブロック内のh2タグ*/
main h2 {

	/*下線の幅、線種、色。ベースカラーです。下のspanのborder-bottomと数字を合わせておく。*/
	text-align: center;
}

/*mainブロック内のh2タグに下線を引くための指定。*/
main h2 span.uline {
	font-size: 20px;
	color: #d2b48c;
	display: inline-block;
	border-bottom: double 3px #d2b48c;
	position: relative;
	bottom: -4px;
	padding-right: 30px;
	padding-left: 30px;
	line-height: 1;
}



/*mainブロック内のh3タグ*/
main h3 {
	/*border-bottom: 4px solid rgb(7, 7, 7);
	下線の幅、線種、色*/
	padding: 20px 20px 0px;
	/*上、左右、下への余白*/
}

/*mainブロックのpタグ
main p {
	margin: 0 20px 30px;
	上、左右、下へ空けるスペース
}*/



/*フッターメニュー設定
---------------------------------------------------------------------------*/
/*ボックス全体の設定*/
#footermenu {
	background: #333;
	/*背景色*/
	color: #999;
	/*文字色*/
	font-size: 0.7rem;
	/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
	padding: 20px;
	/*ボックス内の余白*/
	display: flex;
	/*flexボックスを使う指定*/
	justify-content: space-between;
	/*並びかたの種類の指定*/
	align-items: flex-start;
	/*垂直揃えの指定。上に配置されるように。*/
}

/*ボックス内のリンクテキスト設定*/
#footermenu a {
	text-decoration: none;
	color: #999;
	/*文字色*/
}

/*リンクテキストのマウスオン時*/
#footermenu a:hover {
	color: #ccc;
	/*文字色*/
}

/*ulタグ（メニューの列単位）*/
#footermenu ul {
	margin: 0;
	padding: 0 2px;
	flex: 1;
	list-style: none;
}

/*title*/
#footermenu .title {
	font-weight: bold;
	/*太字にする*/
	color: #ccc;
	/*文字色*/
	padding-bottom: 5px;
	/*下に空けるスペース*/
}


/*フッター設定
---------------------------------------------------------------------------*/
footer small {
	font-size: 100%;
}

footer {
	font-size: 0.6rem;
	/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
	background: #d2b48c;
	/*背景色*/
	color: #fff;
	/*文字色*/
	text-align: center;
	/*内容をセンタリング*/
	padding: 10px;
	/*ボックス内の余白*/
}

/*リンクテキスト*/
footer a {
	color: #fff;
	text-decoration: none;
}

/*リンクテキストのマウスオン時*/
footer a:hover {
	color: #fff;
}

/*著作部分*/
footer .pr {
	display: block;
}


/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
/*お知らせブロック*/
#new {
	margin: 0;
	display: flex;
	/*flexボックスを使う指定*/
	flex-wrap: wrap;
	/*折り返す指定*/
	padding: 0 20px;
	/*上下、左右へのボックス内の余白*/
}

/*日付(dt)、記事(dd)共通設定*/
#new dt,
#new dd {
	border-bottom: 1px solid #ccc;
	/*下線の幅、線種、色*/
	padding: 5px 0;
	/*上下、左右へのボックス内の余白*/
}

/*日付(dt)設定*/
#new dt {
	width: 8em;
	/*幅。8文字(em)分。※下の「900px以上」の端末用の設定に再設定があります。*/
}

/*日付の横のマーク（共通設定）*/
#new dt span {
	display: none;
	/*小さな端末では非表示にしておく。*/
}

/*記事(dd)設定*/
#new dd {
	width: calc(100% - 8em);
	/*「8em」は上の「#new dt」のwidthの値です。※下の「900px以上」の端末用の設定に再設定があります。*/
}


/*サービスページ（listブロック）
---------------------------------------------------------------------------*/
/*listボックスを囲むボックス*/
.list-container {
	display: flex;
	/*flexボックスを使う指定*/
	flex-wrap: wrap;
	/*折り返す指定*/
	justify-content: space-between;
	/*並びかたの種類の指定*/
	flex-direction: column;
	/*子要素を縦並びにする*/
}

/*listボックス。１個あたりのボックスの指定です。*/
.list {
	display: flex;
	/*flexボックスを使う指定*/
	flex-direction: column;
	/*子要素を縦並びにする*/
	justify-content: space-between;
	/*並びかたの種類の指定*/
	margin-bottom: 30px;
	/*ボックス同士の上下間の余白*/
	background: #111;
	/*背景色。*/
	color: #fff;
	/*文字色*/
	padding: 20px;
	/*ボックス内の余白*/
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
	/*ボックスの影。右へ、下へ、ぼかし幅の順。0,0,0は黒の事で0.1は色が10%出た状態。*/
	border-radius: 10px;
	/*角を丸くする指定*/
	overflow: hidden;
}

/*listボックス内のfigure画像*/
.list figure {
	margin: -20px -20px 0;
	/*上の余白部分を埋めて画像を大きくするような指定です*/
}

/*listボックス内のh4タグ*/
.list h4 {
	margin: 10px 0;
	/*上下、左右へのh4の外側に空けるスペース*/
	font-size: 1.2em;
	/*文字サイズを120%に*/
	font-weight: normal;
	/*hタグのデフォルトの太字を標準にする。太字がいいならこの１行を削除。*/
}

/*listボックス内のpタグ*/
.list p {
	margin: 0;
	font-size: 0.7em;
	/*文字サイズを70%に。*/
}

/*IE対策*/
.list div {
	min-height: 0%;
}


/*スライドショー（slickを使用）
---------------------------------------------------------------------------*/
.slide {
	position: relative;
}

/*丸いページナビボタン全体を囲むブロック*/
ul.slick-dots {
	margin: 0;
	padding: 0;
	line-height: 1;
	width: 100%;
	text-align: center;
	position: absolute;
	bottom: 10px;
	/*下からの配置場所指定*/
}

/*丸いページナビボタン１個あたりの設定*/
ul.slick-dots li {
	display: inline-block;
	margin: 0 10px;
	cursor: pointer;
}

/*buttonタグ*/
ul.slick-dots li button {
	border: none;
	padding: 0;
	display: block;
	text-indent: -9999px;
	/*デフォルトで文字が出るので画面の外に追い出す指定*/
	width: 12px;
	/*ボタンの幅*/
	height: 12px;
	/*ボタンの高さ*/
	border-radius: 50%;
	/*丸くする指定*/
	cursor: pointer;
	/*クリックで画像へジャンプするので、わかりやすいようhover時にpointerになるように。*/
	background: #fff;
	/*背景色。白。*/
}

/*buttonのアクティブ時（現在表示されている画像を示すボタン）*/
ul.slick-dots li.slick-active button {
	background: #9f957b;
	/*色*/
}


/*アイコン
---------------------------------------------------------------------------*/
/*アイコンの共通設定*/
.icon {
	display: inline-block;
	padding: 0 10px;
	/*上下、左右へのアイコン内の余白*/
	background: #999;
	/*背景色。iconクラスだけ適用した場合に出る色です。*/
	color: #fff;
	/*文字色*/
	font-size: 0.7em;
	/*文字サイズを70%に。*/
	border-radius: 3px;
	/*角を丸くする指定*/
	margin-right: 3px;
	/*アイコンが並んだ際に間にとるスペース*/
}

/*NEWアイコン*/
.newicon {
	background: #e82600;
	/*背景色*/
}

/*option1アイコン*/
.option1 {
	background: #e80068;
	/*背景色*/
}

/*option2アイコン*/
.option2 {
	background: #009def;
	/*背景色*/
}


/*詳細ページ
---------------------------------------------------------------------------*/
/*大きな画像のボックスと説明文を入れるボックス*/
#item-image {
	position: relative;
	margin: 0 auto 20px;
	text-align: center;
	width: 100%;
}

/*大きな画像のボックスの中の画像*/
#item-image img {
	width: 100%;
}

/*サムネイル画像*/
.thumbnail {
	width: 80px;
	/*画像の幅*/
	border: 1px solid #dcdcdc;
	/*枠線の幅、線種、色*/
	margin-bottom: 5px;
}

.thumbnail:hover {
	border: 1px solid #999;
	/*マウスオン時の枠線の幅、線種、色*/
}


/*btnの設定
---------------------------------------------------------------------------*/
/*ボタンを囲むブロック*/
.btn {
	text-align: center;
	/*内容をセンタリング*/
}

/*ボタン*/
.btn a,
.btn input {
	display: inline-block;
	text-decoration: none;
	border: none;
	color: #fff;
	/*文字色*/
	border-radius: 3px;
	/*角丸のサイズ。ほんの少しだけ角が丸くなります。*/
	padding: 10px 20px;
	/*上下、左右へのボタン内の余白*/
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
	/*ボックスの影。右へ、下へ、ぼかし幅の順。0,0,0は黒の事で0.2は色が20%出た状態。*/
	background: linear-gradient(#988feb, #3019fd);
	/*背景グラデーション*/
	font-size: 1rem;
	/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
}

/*ボタンのマウスオン時*/
.btn a:hover,
.btn input:hover {
	filter: brightness(1.2);
	/*少しだけ明るくする*/
	cursor: pointer;
}

/*listブロック内でのボタン*/
.list .btn a,
.list .btn input {
	margin-top: 10px;
	/*上にスペースを空ける*/
	display: block;
	/*横幅いっぱいに広げる*/
}


/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	font-weight: bold;
	/*太字に*/
	padding: 10px 5px;
	/*上下、左右へのボックス内の余白。基本的に数行下の「.ta1 th, .ta1 td」のpaddingと揃えておけばOKです。*/
	background: #333;
	/*背景色*/
	color: #fff;
	/*文字色*/
}

/*ta1テーブルブロック設定*/
.ta1 {
	border-top: 1px solid #ccc;
	/*テーブルの一番上の線。幅、線種、色*/
	table-layout: fixed;
	width: 70%;
	margin: 5% auto 30px;
	/*最後の「30px」がテーブルの下に空けるスペースです*/
}

/*tr（１行分）タグ設定*/
.ta1 tr {
	border-bottom: 1px solid #ccc;
	/*テーブルの下線。幅、線種、色*/
}

/*th（左側）、td（右側）の共通設定*/
.ta1 th,
.ta1 td {
	padding: 10px 5px;
	/*上下、左右へのボックス内の余白*。基本的に数行上の「.ta1 caption」のpaddingと揃えておけばOKです。*/
	word-break: break-all;
	/*英語などのテキストを改行で自動的に折り返す設定。これがないと、テーブルを突き抜けて表示される場合があります。*/
}

/*th（左側）のみの設定*/
.ta1 th {
	width: 30%;
	/*幅*/
	text-align: left;
	/*左よせにする*/
	background: #f7f7f7;
	/*背景色*/
}



/*製品FAQ
---------------------------------------------------------------------------*/
/*FAQボックス全体*/
.faq {
	padding: 0 5px;
	/*上下、左右へのボックス内の余白*/
}

/*質問*/
.faq dt {
	border-radius: 10px;
	/*枠を角丸にする指定*/
	margin-bottom: 20px;
	/*下に空けるスペース*/
	background: linear-gradient(#fff, #f7f7f7);
	/*背景グラデーション*/
	box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
	/*ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.2は色が20%出た状態の事。*/
	text-indent: -2em;
	/*テキストのインデント。質問が複数行になった際に、テキストの冒頭を揃える為に設定しています。*/
	padding: 5px 1em 5px 3em;
	/*ボックス内の余白。ここを変更する場合、上のtext-indentも調整します。*/
}

/*アイコン（Font Awesome）*/
.faq dt::before {
	font-family: "Font Awesome 5 Free";
	/*Font Awesomeを使う指定*/
	content: "\f059";
	/*使いたいアイコン名をここで指定。Font Awesomeに記載されています。詳しくは当テンプレートのマニュアルを読んで下さい。*/
	color: #9f957b;
	/*アイコンの色*/
	padding-right: 1em;
	/*アイコンとテキストの間の余白*/
}

/*回答*/
.faq dd {
	padding: 5px 1em 30px 3em;
	/*ボックス内の余白**/
}

/*opencloseを適用した要素のカーソル*/
.openclose {
	cursor: pointer;
	/*カーソルの形状。リンクと同じスタイルにしてクリックできると認識してもらう。*/
}

.faq dt span {
	text-indent: 0;
}


/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {
	display: block;
}

/*ボタンの設定*/
.pagetop a {
	display: block;
	text-decoration: none;
	text-align: center;
	position: fixed;
	/*スクロールに追従しない(固定で表示)為の設定*/
	right: 20px;
	/*右からの配置場所指定*/
	bottom: 20px;
	/*下からの配置場所指定*/
	color: #fff;
	/*文字色*/
	font-size: 1.5rem;
	/*文字サイズ*/
	background: rgba(0, 0, 0, 0.3);
	/*背景色。0,0,0は黒の事で0.3は色が30%出た状態。*/
	width: 2em;
	/*幅*/
	line-height: 2em;
	/*高さ*/
}

/*マウスオン時*/
.pagetop a:hover {
	background: rgba(0, 0, 0, 0.8);
	/*背景色。0,0,0は黒の事で0.8は色が80%出た状態。*/
}


/*その他
---------------------------------------------------------------------------*/
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

.color-theme,
.color-theme a {
	color: #9f957b !important;
}

.color-check,
.color-check a {
	color: #f00 !important;
}

.c {
	text-align: center !important;
}

.ws {
	width: 95%;
	display: block;
}

.wl {
	width: 95%;
	display: block;
}

.mb30 {
	margin-bottom: 30px !important;
}

.look {
	display: inline-block;
	border: 1px solid #ccc;
	padding: 5px 20px;
	background: rgba(0, 0, 0, 0.03);
	border-radius: 5px;
	margin: 5px 0;
}

.ofx {
	overflow-x: hidden;
}

/*その他
---------------------------------------------------------------------------*/


.ws {
	width: 48%;
	display: inline;
}

.slide h1 {
	text-align: center;
	position: absolute;
	z-index: 1;
	left: 0;
	top: 25%;
	width: 100%;
	font-size: calc((100vw - 320px) / 140 + 2em);
	color: white;
}




/*------------------------------------------------------------------------------------------------------------------------------------------------------------------
ここから下は画面幅1000px以下の追加指定
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1024px) {
	#menubar {
		height: 0px;
		overflow: hidden;
	}

	#menubar_hdr {
		display: block;
		position: fixed;
		z-index: 100;
		top: 25px;
		right: 10px;
		width: 100px;
		height: 100px;
		cursor: pointer;
		background: rgba(0, 0, 0, 0.6) url(../images/ham2.png) no-repeat center top/100px;
	}

	#menubar_hdr.ham {
		background: #ff0000 url(../images/ham2.png) no-repeat center bottom/100px;
	}

	#menubar ul {
		list-style: none;
		margin: 0;
		margin-top: 5%;
		padding: 0;
		background: #d2b48c;
		/*背景色。諸事情あって、下のbackgroundのグラデーションのどちらかの色を抜いて下さい。*/
	}

	#menubar ul a {
		font-size: 3em;
		display: block;
		text-decoration: none;
		background: linear-gradientt(#d2b48c, #d2b48c);
		/*背景グラデーション*/
		color: #fff;
		/*文字色*/
		padding: 15px 20px;
		/*上下、左右へのメニュー内の余白*/
		border: 0.5px solid #d3aa75;
	}


	/*header（ロゴなどが入った最上段のブロック）*/
	header img {
		display: block;
		max-height: 50vh;
		max-width: 45vw;
		margin: 0 auto;
	}

	/*ヘッダーブロック*/
	header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex: 0 0 auto;
		height: 80px;
		padding: 0px;
	}

	/*電話番号ブロック*/
	header address {
		margin-right: 12%;
	}

	p {
		font-size: calc((100vw - 320px) / 140 + 10px);

	}

	#header_main h1 {
		margin: 0;
		padding: 0px;
		text-align: center;
		font-weight: normal;
		line-height: 25px;
		font-size: 20px;
		color: #000000;
		background-color: #d2b48c;
	}

	/*紹介ページ*/
	.mainimg img {
		width: 100%;
		filter: brightness(80%);
	}

	.section {

		max-width: 90%;
		margin: 0 auto 30px auto;
		padding: 20px;
		border-radius: 12px;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);

	}

	.section-title {
		font-size: 28px;
		color: #c0392b;
		margin-top: 0;
		margin-bottom: 10px;
		/* タイトルの下マージンを減らす */
		padding-bottom: 3px;
	}

	.section-paragraph-1 {
		font-size: 2em;
		color: #555;
		margin-bottom: -15px;
		text-align: center;
	}

	.section-paragraph-2 {
		font-size: 2em;
		color: #333;
		margin-top: 20px;
		margin-bottom: 15px;
		text-align: center;
		font-weight: bold;
	}

	.section-list {
		padding-left: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-bottom: -1%;
	}

	.section-list-item {
		font-size: 18px;
		color: #555;
		margin-bottom: 8px;
		padding-left: 0;
		display: flex;
		align-items: center;
	}

	.section-list-item:before {
		content: "❁";
		margin-right: 8px;
		color: #d2b48c;
		font-size: 16px;
		flex-shrink: 0;
	}

	.section-list-item-text {
		font-size: 1.5em;
		text-align: left;
	}


	.bold-course {
		color: #c0392b;
	}

	.bold-text {
		color: #e74c3c;
		font-weight: bold;
	}

	.massage-introduction li {
		list-style-type: none;
		text-align: center;
	}

	.acupuncture-introduction {
		display: flex;
		justify-content: space-around;
		text-align: center;
		list-style-type: none;
		align-items: center;
	}

	.oil-massage-introduction li {
		list-style-type: none;
		text-align: center;
	}

	.acupuncture-introduction {
		flex-direction: column;
	}

	.massage-introduction li,
	.oil-massage-introduction li {
		text-align: center;
		margin-bottom: 40px;
	}

	.acupuncture-introduction li {
		width: 100%;
		margin-bottom: 20px;
	}


	.bold-course {
		font-size: 3em;
	}

	.bold-text {
		font-size: 1em;
	}

	p {
		font-size: 2.5em;
		padding: 0 10px;
	}

	.figure img {
		width: 90%;
		height: auto;
		margin: 0 auto;
	}


	.section-container {
		max-width: 800px;
		margin: 0 auto 40px auto;
		padding: 20px;
		background-color: #fff;
		border-radius: 8px;
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
		display: flex; 
		flex-wrap: wrap; 
		justify-content: space-between; 
		
	}
	
	.image-caption {
		width: 48%;
		display: inline-block; 
		vertical-align: top; 
		margin-bottom: 20px;
		box-sizing: border-box; 
	}
	
	.image-caption img {
		display: block;
		width: 100%;
		height: auto;
		border-radius: 8px;
		border: 2px solid #d2b48c;
	}
	
	.image-caption figcaption {
		text-align: center;
	}
	
	.image-caption-title {
		font-size: 1.1em; 
		color: #e74c3c;
		margin-top: 10px;
		margin-bottom: 10px; 
		text-align: center;
		font-weight: bold; 
		display: inline-block; /* インラインブロック要素にすることで幅がテキストの長さになる */
		overflow: hidden; /* 内容がオーバーフローした場合は隠す */
		text-overflow: ellipsis; /* 内容がオーバーフローした場合に省略記号で省略する */
		white-space: nowrap; /* テキストを折り返ししないようにする */
	}
	
	.image-caption-paragraph {
		font-size: 1.5em;
		color: #333;
		margin-bottom: 10px;
		text-align: justify;
		
	}

	.image-item{
		margin-bottom: 3%;
	}

	.text-center { 
		text-align: center;
		max-width: 100%; 
		margin: 0 auto; 
	}
.custom-images{
	display: flex;
	justify-content: space-between;
	align-items: center;
}


	/* コース名と料金のスタイル */
	main h2 span.uline {
		font-size: 1.6em;
		color: #d2b48c;
		display: inline-block;
		border-bottom: double 3px #d2b48c;
		position: relative;
		bottom: -4px;
		padding-right: 30px;
		padding-left: 30px;
		line-height: 1;
	}


	.pricing-header {
		text-align: center;
		font-size: 2em;
		margin-top: 40px;
		color: #c0392b;

	}

	.pricing-table {
		width: 100%;
		max-width: 100%;
		margin: 20px 0;
		border-collapse: collapse;

	}

	.pricing-table th {
		background-color: #d2b48c;
		color: white;
		font-weight: bold;
		border: 1px solid #d2b48c;

	}

	.pricing-table th,
	.pricing-table td {
		border: 1px solid #d2b48c;

		padding: 10px;
		font-size: 2em;
		color: black;

	}

	.pricing-table td {
		text-align: right;

	}

	.pricing-table tbody td:first-child {
		text-align: left;
	}

	.pricing-table tbody tr:nth-child(even) {
		background-color: #f9f9f9;

	}

	.pricing-table thead {
		display: none;
	}

	footer {
		font-size: 1.6rem;
		/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
		background: #d2b48c;
		/*背景色*/
		color: #fff;
		/*文字色*/
		text-align: center;
		/*内容をセンタリング*/
		padding: 10px;
		/*ボックス内の余白*/
	}

/*予約フォーム*/
	.reservation-container {
    	max-width: 100%;
   		margin: auto;
    	
}
.reservation-form {
	width: 100%;
}

.reservation-frame {
    width: 100%;
	height: 400px;
}

.reservation-memo {
	font-size: 20px;
	margin-top: 10px;
}


	/*施術内容ビフォー・アフター*/

	.gallery-container {
		max-width: 800px;
		margin: 0 auto;
		padding: 20px;
	}

	.gallery-title {
		font-size: 2em;
		text-align: center;
		margin-bottom: 20px;
	}

	.gallery {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}


	.image-container {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		width: 100%;
		align-content: stretch;
		justify-content: space-around;
	}

	.image-container img {
		flex: 0 0 40%;
		height: auto;
		display: block;
		max-width: 100%;
	}

	.caption {
		flex: 1;
		background-color: #d2b48c;
		color: white;
		padding: 10px;
		box-sizing: border-box;
	}

	.caption p {
		font-size: 2em;
	}

	.image-container img {
		flex: 1 0 100%;
		max-width: 80%;
	}


	.caption {
		flex: 1 0 100%;
		max-width: 80%;
	}

	.gallery-title {

		text-align: center;
		font-size: calc((80vw - 400px) / 70 + 20px);
		margin-bottom: 20px;
	}



	/* アクセス情報のスタイル */
	.access {
		max-width: 800px;
		margin: 0 auto;
		padding: 20px;
	}

	.access h2 {
		font-size: 24px;
		margin-bottom: 20px;
	}

	main h3 {
		font-size: 2em;
		padding: 20px 20px 0px;
		/*上、左右、下への余白*/
	}

	.access p {
		line-height: 1.6;
		margin-bottom: 20px;
	}

	.access table {
		width: 100%;
		border-collapse: collapse;
		margin-top: 20px;
	}

	.access th,
	.access td {
		border: 1px solid #ddd;
		padding: 8px;
		font-size: 2em;
	}

	.access th {
		background-color: #f2f2f2;
	}

	.access a {
		color: #d2b48c;
		text-decoration: none;
	}

	.access a:hover {
		text-decoration: underline;
	}

	.map-container {
		text-align: center;
		margin: 40px auto;
		max-width: 600px;
		height: 300px;

	}

	.map-container iframe {
		width: 100%;
		height: 100%;
		border: 0;
	}

	.access {
		padding: 10px;
	}

	.access h2 {
		font-size: 20px;
	}

	.access p {
		font-size: 2em;
	}

	.map-container {
		max-width: 100%;
		height: auto;
	}

	.map-container iframe {
		height: 200px;

	}

	.access-image {
		display: flex;
		flex-direction: row;
		align-items: center;
    }

    .access-image img {
		border-radius: 8px;
		border: 2px solid #d2b48c;
        width: 45%;
        height: auto;
        margin: 20px auto 20px;
    }
}

@media screen and (max-width:600px) {
	/*施術内容ビフォー・アフター*/

	.gallery-container {
		max-width: 800px;
		margin: 0 auto;
	}

	.gallery-title {
		text-align: center;
		font-size: 24px;
		margin-bottom: 20px;
	}

	.gallery {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}


	.image-container {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		width: 100%;
		align-content: stretch;
		justify-content: space-around;
	}

	.image-container img {
		flex: 0 0 40%;
		height: auto;
		display: block;
		max-width: 100%;
	}

	.caption {
		flex: 1;
		background-color: #d2b48c;
		color: white;
		padding: 10px;
		box-sizing: border-box;
	}


	.image-container img {
		flex: 1 0 100%;
		max-width: 95%;
	}


	.caption {
		flex: 1 0 100%;
		max-width: 95%;
	}

	.caption p {
		font-size: 1.5em;
	}

	.gallery-title {
		text-align: center;
		font-size: calc((80vw - 400px) / 10 + 18px);
		margin-bottom: 20px;
	}


}

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ここから下は画面幅480px以下の追加指定
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px) {
	#menubar {
		height: 0px;
		overflow: hidden;
	}

	#menubar_hdr {
		display: block;
		position: fixed;
		z-index: 100;
		top: 20px;
		right: 2px;
		width: 50px;
		height: 50px;
		cursor: pointer;
		background: rgba(0, 0, 0, 0.6) url(../images/ham.png) no-repeat center top/50px;
	}


	/*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
	/*ヘッダーブロック*/
	#menubar.db {
		position: fixed;
		overflow: auto;
		z-index: 99;
		left: 0px;
		top: -30px;
		width: 100%;
		height: 100%;
		padding: 90px 20px;
		/*上下、左右へのメニューブロック内の余白*/
		background: rgba(0, 0, 0, 0.8);
		/*背景色。0,0,0は黒の事で0.8は色が80%出た状態。*/
	}

	/*電話番号ブロック*/
	header address {
		margin-right: 18%;
	}

	header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex: 0 0 auto;
		height: 80px;
		padding: 0px;
	}

	p {
		font-size: calc((100vw - 320px) / 140 + 18px);

	}

	.slide h1 {
		text-align: center;
		position: absolute;
		z-index: 1;
		left: 0;
		top: 20%;
		width: 100%;
		font-size: calc((100vw - 320px) / 140 + 23px);
		color: white;
	}

	/* コース名と料金のスタイル */
	.section-paragraph-1 {
		font-size: 1.5em;
		color: #555;
		margin-bottom: 15px;
		text-align: center;
	}

	.section-paragraph-2 {
		font-size: 1.5em;
		color: #333;
		margin-top: 20px;
		margin-bottom: 15px;
		text-align: center;
		font-weight: bold;
	}

	.section-list-item-text {
		font-size: 1.3em;
		text-align: left;
	}

	main h2 span.uline {
		font-size: 1em;
		color: #d2b48c;
		display: inline-block;
		border-bottom: double 3px #d2b48c;
		position: relative;
		bottom: -4px;
		padding-right: 30px;
		padding-left: 30px;
		line-height: 1;
	}

	#header_main h1 {
		margin: 0;
		padding: 0px;
		text-align: center;
		font-weight: normal;
		line-height: 20px;
		font-size: 15px;
		color: #000000;
		background-color: #d2b48c;
	}

	#menubar ul a {
		font-size: 1.5em;
		display: block;
		text-decoration: none;
		background: linear-gradientt(#d2b48c, #d2b48c);
		/*背景グラデーション*/
		color: #fff;
		/*文字色*/
		padding: 15px 20px;
		/*上下、左右へのメニュー内の余白*/
		border: 0.5px solid #d3aa75;
	}

	#menubar_hdr.ham {
		background: #ff0000 url(../images/ham.png) no-repeat center bottom / 50px;
	}

.gallery-title{
	font-size: 1.5em;
}


	.section-container {
		padding: 2% 1% 2% 1%;
		margin-top: 3%;
		display: flex;
		flex-direction: column;
		align-items: center;
		border-radius: 12px;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	}

	.image-caption {
		width: 90%;
		max-width: 400px;
		text-align: center;
	}

	.image-caption img {
		width: 100%;
		height: auto;
		border-radius: 8px;
	}

	.image-caption figcaption {
		text-align: center;
	}

	.image-caption-title {
		font-size: 1.2em;
		color: #e74c3c;
		margin-top: 10px;
		margin-bottom: 5px;
		text-align: center;
		font-weight: bold;
	}


	.image-caption-paragraph {
		font-size: 1.4em;
		color: #333;
		margin-bottom: 10px;
		text-align: justify;
	}

	.custom-images {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: column;
	}

	.bold-course {
		font-size: 1.5em;
	}

	.pricing-header {
		text-align: center;
		font-size: 1.5em;
		color: #c0392b;

	}

	.pricing-table {
		width: 100%;
		max-width: 100%;
		margin: 20px 0;
		border-collapse: collapse;

	}

	.pricing-table th {
		background-color: #d2b48c;
		color: white;
		font-weight: bold;
		border: 1px solid #d2b48c;

	}

	.pricing-table th,
	.pricing-table td {
		border: 1px solid #d2b48c;

		padding: 10px;
		font-size: 14px;
		color: black;

	}

	.pricing-table tbody tr:nth-child(even) {
		background-color: #f9f9f9;

	}

	.pricing-table thead {
		display: none;
	}

	.access p {
		font-size: 1.3em;
	}

	.access th,
	.access td {
		border: 1px solid #ddd;
		padding: 8px;
		font-size: 1.5em;
	}

	.access-image {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .access-image img {
		border-radius: 8px;
		border: 2px solid #d2b48c;
        width: 80%;
        height: auto;
        margin: 20px auto 20px;
    }

	

	footer {
		font-size: 1rem;
	
		background: #d2b48c;
		
		color: #fff;
		
		text-align: center;
		
		padding: 10px;
	
	}





}