@charset "utf-8";/*Font Awesomeの読み込み---------------------------------------------------------------------------*/@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css");/*Google Fontsの読み込み---------------------------------------------------------------------------*/@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&display=swap');/*slick.cssの読み込み---------------------------------------------------------------------------*/@import url("https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css");/*テンプレート専用cssファイルの読み込み---------------------------------------------------------------------------*/@import url("slide.css");@import url("inview.css");/*CSSカスタムプロパティ（サイト全体を一括管理する為の設定）---------------------------------------------------------------------------*/:root {	--primary-color: #138B3B;			/*テンプレートのメインまたはアクセントとなる色*/	--primary-inverse-color: #fff;		/*primary-colorの対として使う色*/	--global-space: 5vw;	/*サイト内の余白の一括管理用。*/}/*animation1のキーフレーム設定（開閉ブロックのアニメーションに使用）---------------------------------------------------------------------------*/@keyframes animation1 {	0% {left: -200px;}	100% {left: 0px;}}/*opa1のキーフレーム設定（汎用的）---------------------------------------------------------------------------*/@keyframes opa1 {	0% {opacity: 0;}	100% {opacity: 1;}}/*全体の設定---------------------------------------------------------------------------*/body * {box-sizing: border-box;}body {	margin: 0 auto;  padding:0;	font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";	font-optical-sizing: auto;	font-weight: 400;	font-style: normal;	-webkit-text-size-adjust: none;	background: #fff;	/*背景色*/	color: #333;		/*文字色*/	line-height: 2;		/*行間*/	animation: opa1 0.2s 0.5s both;	/*0.5秒待機後、0.2秒かけてフェードイン表示*/  overflow-x: hidden;  background: linear-gradient(rgba(256, 256, 256, .7), rgba(200, 200, 200, .3)), url(../images/iStock-1445912539.webp) center center no-repeat;  background-size: cover;}/*リセット*/figure {margin: 0;}dd {margin: 0;}nav,ul,li,ol {margin: 0 auto;padding: 0;}nav ul {list-style: none;}input {font-size: 1rem;}section li {margin-left: 1rem;}p {line-height: 1.5em;}a {text-decoration: none;color: #333;}i {margin-right: 0.2em;}.res{display: block;}.unres{display: none;}/*table全般の設定*/table {border-collapse:collapse;}/*画像全般の設定*/img {border: none;max-width: 100%;height: auto;vertical-align: middle;}/*videoタグ*/video {max-width: 100%;}/*iframeタグ*/iframe {width: 100%;}/*responsiveタグ*/.res {display: block;}.unres {display: none;}/*fontタグ*/.bold {font-weight: bold;}.normal {font-weight: normal;}/*sectionが続く場合*/section + section {	margin-top: 4vw;	/*sectionの上に空けるスペース*/}/*文字サイズの設定。もしデフォルトを「大」にしたい場合は、js/fontSizeChanger.jsの中のコメント箇所を読んで下さい。---------------------------------------------------------------------------*//*「大」ボタンを押した時の文字サイズ*/html.f-large {	font-size: 24px;}/*「小」ボタンを押した時の文字サイズ*/html.f-small {	font-size: 15px;}/*リンク（全般）設定---------------------------------------------------------------------------*/a {	color: #333;		/*リンクテキストの色*/	transition: 0.3s;	/*マウスオン時の移り変わるまでの時間設定。0.3秒。*/}a:hover {	color: var(--primary-color);	/*文字色。css冒頭で指定しているprimary-colorを読み込みます*/	filter: brightness(1.2);		/*マウスオン時に少し明るくする*/}/*container（フッター以外を囲むブロック）---------------------------------------------------------------------------*/#container {	padding: 0 var(--global-space);	/*上下、左右へのcontainer内の余白。左右の余白はcss冒頭で指定しているglobal-spaceを読み込みます*/  display: block;  margin: 0 auto 1em;}/*contents（mainを囲むブロック）---------------------------------------------------------------------------*/#contents {	padding: 1vw 10vw 5vw;	/*上、左右、下へのcontents内の余白。画面幅100%＝100vwです。*/}/*トップページのコンテンツ*/.home #contents {	padding-top: calc(1vw + 5px);	/*スライドショー上のボタンが画像下に移動するので重ならないよう適当にpxを指定しています*/}/*ヘッダー（ロゴや電話番号が入っている最上段のブロック）---------------------------------------------------------------------------*//*ヘッダーブロック*/header {  display: flex;	/*ヘッダー内にあるボックスを横並びにする*/  justify-content: space-between;  align-items: center;  position: relative;	/*文字サイズブロックを絶対配置する為に必要な指定*/}/*ロゴ画像*/#logo {margin: 0;padding: 0;}#logo img {	display: block;	width: 400px;	/*ロゴ画像の幅*/  filter: drop-shadow(3px 4px 6px rgba(0, 0, 0, 0.4)); /* シャドウを追加 */}/*ヘッダーの中央バナー*//* ボタンスタイル */.banner {  display: flex; /* Flexboxを使用 */  flex-wrap: wrap; /* ボタンを折り返す */  justify-content: space-between; /* 均等配置 */  gap: 10px; /* ボタン間の間隔（上下・左右） */  padding: 20px; /* コンテナの内側余白 */  max-width: 500px; /* 必要に応じて最大幅を調整 */  margin: 0 auto; /* コンテナを中央揃え */}.banner .cta_btn07 {  display: flex; /* Flexboxを使用 */  align-items: center; /* 縦方向に中央揃え */  justify-content: space-between; /* アイコンを右端に寄せる */  width: calc(50% - 20px); /* 2列にするための幅計算 */  max-width: 300px; /* ボタンの最大幅 */  height: 36px; /* ボタンの高さ */  padding: 0.5em 1em; /* ボタン内の余白 */  color: #fff; /* 文字色 */  border-radius: 18px; /* 高さの50%に設定して両端を丸く */  box-shadow: inset 0 1px 1px rgba(255, 255, 255, .6), 0 5px 10px rgba(0, 0, 0, .1); /* ボタンの影 */  text-decoration: none; /* 下線を削除 */  text-align: left; /* テキストを左寄せ */  font-size: 12px; /* 文字サイズ */  transition: 0.3s; /* アニメーション */  position: relative; /* 疑似要素の基準に */}/* 疑似要素でアイコンを追加 */.cta_btn07::after {  content: ''; /* コンテンツとして画像を挿入 */  display: block;  width: 30px; /* アイコンの幅 */  height: 30px; /* アイコンの高さ */  background: url('../images/icon.png') no-repeat center center; /* アイコン画像 */  background-size: contain; /* 画像をボタン内に収める */  position: absolute;  right: 10px; /* ボタンの右端からの距離 */  top: 50%; /* 縦中央に配置 */  transform: translateY(-50%); /* 縦中央揃えの調整 */  pointer-events: none; /* アイコンをクリック不可に */}.banner .cta_btn07 i {  color: #fff; /* 文字色 */  font-size: 1.0em;  text-align: left;}.bg-green{ background: #45B173; /* 背景色 */}.bg-blue{ background:#00B4FF; /* 背景色 */}.bg-pink{ background:#FE78FF; /* 背景色 */}.bg-yellow{ background:#FFD200; /* 背景色 */}/* マウスオーバー時 */.banner .cta_btn07:hover {  background: #014E22; /* 背景色 */  box-shadow: 0 2px 3px rgb(0 0 0 / 10%); /* 影 */  color: #fff; /* 文字色 */}/* スマホ用: 小さくして同じ形で表示 */@media (max-width: 768px) {  .banner .cta_btn07 {    width: calc(50% - 10px); /* スマホでも2列 */    font-size: 10px; /* 文字サイズを小さく */    height: 30px; /* 高さを調整 */    padding: 0.4em 1em; /* 内側の余白を調整 */    border-radius: 15px; /* 高さの50%に設定して形状を維持 */  }  .banner {    gap: 10px; /* スペースを少なく */    padding: 10px; /* 全体の余白を調整 */  }}/*電話番号ブロック*/address {	font-style: normal;	line-height: 1.2;	/*行間を狭くする*/	text-align: center;	/*文字をセンタリング*/	padding: 10px 0;	/*上下、左右へのブロック内の余白*/	margin-top: 70px;	/*上に空けるスペース。文字サイズボックスに重ならないように。*/}/*電話番号*/address .tel {	font-size: 1.5rem;	/*文字サイズを２倍に。*/	color: var(--primary-color);	/*文字色。css冒頭で指定しているprimary-colorを読み込みます*/}address.margin-top-reset {margin-top: 0;}	/*画面幅900px以下の追加指定*/	@media screen and (max-width:900px) {		/*ヘッダーブロック*/	header {		flex-direction: column;	/*ヘッダー内にあるボックスを縦並びにする*/	}		#logo img {  margin-top: 20px; /* ロゴの上に空けるスペース */}		/*電話番号ブロック*/	address {		margin-top: 0;	/*マージンのリセット*/	}		}/*追加指定ここまで*/	/*画面幅480px以下の追加指定*/	@media screen and (max-width:480px) {        #contents {      padding: 1vw 0vw 5vw;    }		/*ロゴ画像*/	#logo {		width: 300px;	/*ロゴ画像の幅*/	}		/*ロゴ画像*/	#logo img {		width: 300px;	}    	/*電話番号ブロック*/	address {    width: 100%;    height: auto;    display: block;    background: rgba(18, 92, 0, 0.5);    border-radius: 7px;    padding: 10px;    text-align: center;    color: #fff;    font-size: 130%;    margin: 0 auto; /*マージンのリセット*/    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); /* シャドウを追加 */    }        address > .tel {      color: #fff;      display: flex; /* フレックスボックスでレイアウト */      align-items: center; /* 縦方向を中央揃え */      justify-content: center; /* 横方向を中央揃え */      gap: 8px; /* アイコンとテキストの間に余白を追加 */      text-align: center; /* テキスト全体の中央揃え */    }      address .tel:before {        content: "";        display: inline-block;        width: 50px; /* アイコンの幅 */        height: 50px; /* アイコンの高さ */        background-image: url("../images/icon-re.png?4595");        background-size: contain; /* アイコンを要素内に収める */        background-repeat: no-repeat;      }        .res{display: none;}    .unres{display: block;}	}/*追加指定ここまで*//*文字サイズ変更ボタン---------------------------------------------------------------------------*//*ボタンブロック全体*/#f-size {    background: #fff;	/*背景色*/    box-shadow: 0px 0px 8px rgba(0,0,0,0.2);	/*影の設定。右へ、下へ、ぼかし幅。rgbaは色設定で0,0,0は黒。0.2は20%色がついた状態の事。*/    border-radius: 0px 0px 5px 5px;	/*角丸のサイズ。左上、右上、右下、左下への順。*/    display: flex;			/*flexボックスを使う指定*/    align-items: center;	/*垂直揃えの指定。天地中央に配置されるように。*/    padding: 10px 15px;		/*ブロック内の余白。上下、左右へ。*/    position: absolute;		/*headerに対して絶対配置する為の指定*/    right: 0px;				/*右からの配置場所*/    top: 0px;				/*上からの配置場所*/}/*「文字サイズ」のテキスト*/#f-size p {	margin: 0;	margin-right: 10px;	/*右側に空けるスペース。ボタンとの間にとるスペースです。*/	font-size: 17px;	/*文字サイズ*/}/*「小」「大」を囲むブロック*/#f-size ul {	list-style: none;margin: 0;padding: 0;	display: flex;			/*flexボックスを使う指定*/	align-items: center;	/*垂直揃えの指定。天地中央に配置されるように。*/}/*「小」ボタン設定*/#f-size ul li#f-small {	margin-right: 5px;	/*右側に空けるスペース。「大」との間の隙間です。*/}#f-size ul li#f-small::before {	display: block;	content: "小";		/*「小」の文字を出力*/	font-size: 17px;	/*文字サイズ*/	width: 40px;		/*幅*/	line-height: 40px;	/*高さ*/	text-align: center;	/*内容をセンタリング*/	background: #eee;	/*背景色*/}/*「大」ボタン設定*/#f-size ul li#f-large::before {	display: block;	content: "大";		/*「大」の文字を出力*/	font-size: 30px;	/*文字サイズ*/	width: 50px;		/*幅*/	line-height: 50px;	/*高さ*/	text-align: center;	/*内容をセンタリング*/	background: #eee;	/*背景色*/}/*選択中の設定*/#f-size li#f-large.current::before,#f-size li#f-small.current::before {	background: #ff0000;	/*背景色*/	color: #fff;			/*文字色*/}/*マウスオン時にリンクテキストと同じような手のマークが出るように*/#f-size li {	cursor: pointer;}	/*画面幅900px以下の追加指定*/	@media screen and (max-width:900px) {		/*ボタンブロック全体*/	#f-size {		right: 60px;	/*右からの配置場所の上書き。３本バー（ハンバーガー）アイコンが出てくるの重ならないようにする。*/	}		}/*追加指定ここまで*/	/*画面幅900px以下の追加指定*/	@media screen and (max-width:900px) {		/*ボタンブロック全体*/	#f-size {		display: none;	/*スペースが狭くなるので非表示に*/	}		}/*追加指定ここまで*//*メニューブロック初期設定---------------------------------------------------------------------------*/#menubar {opacity: 0;line-height: 1.5;width: 80%;margin: auto;}#menubar ul {list-style: none;margin: 0;padding: 0;}.large-screen #menubar {opacity: 1;}.small-screen #menubar.display-none {display: none;}.small-screen #menubar.display-block {display: block;opacity: 1;}/*3本バーをデフォルトで非表示*/#menubar_hdr.display-none {display: none;}/*ドロップダウンをデフォルトで非表示*/.ddmenu_parent ul {display: none;}/*ddmenuを指定しているメニューに矢印アイコンをつける設定*/a.ddmenu::before {	font-family: "Font Awesome 5 Free";	content: "\f078";		/*使いたいアイコン名（Font Awesome）をここで指定*/	font-weight: bold;		/*この手の設定がないとアイコンが出ない場合があります*/	font-size: 0.8rem;		/*文字サイズを70%に*/	padding-right: 0.5rem;	/*右側に空ける余白。0.5文字分。*/}/*大きな端末、小さな端末共通のメニューブロック設定---------------------------------------------------------------------------*//*メニュー１個あたりの設定*/#menubar a {	display: block;  text-decoration: none;}/*小文字の英語部分*/#menubar span {	display: block;	font-size: 0.8em;		/*文字サイズを親要素の70%に*/	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くとる*/	opacity: 0.6;			/*透明度。色が60%出た状態。*/}/*大きな端末用のメニューブロック設定---------------------------------------------------------------------------*//*メニューブロックを囲むボックス*/.large-screen #menubar {    /*position: sticky;	画面の上部にメニューが固定される*/    top: 0;    z-index: 2;    transition: opacity 0.3s;}/*メニューブロック全体の設定*/.large-screen #menubar > nav > ul {	display: flex;	/*横並びにする*/	justify-content: space-between;	align-items: center;}/*メニュー１個あたりの設定*/.large-screen #menubar li {  font-size: 80%;  width: auto;	flex: 1;			/*個々のメニューを均等にし、幅いっぱいまで使う設定*/	position: relative;	/*ドロップダウンの幅となる基準を作っておく*/	text-align: center;	/*テキストをセンタリング*/}/*リンク（a要素）の設定*/.large-screen #menubar li a {  background: none;	flex: 1;	color: #333;	/*文字色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/	padding: 0.8rem 0;	/*上下、左右の余白*/}/*マウスオン時に明るくする*/.large-screen #menubar li a:hover {	filter: brightness(1.2);  color: #C80003;}/*文字サイズ「大」の場合のメニューブロックを囲むボックス*/html.f-large .large-screen #menubar {	position: relative;	/*メニューが２段になる為、stickyを外してスクロールさせるようにする。固定させたままがいいならこの１行を削除する。*/}/*文字サイズ「大」の場合のメニューブロック全体の設定*/html.f-large .large-screen #menubar > nav > ul {	flex-wrap: wrap;	/*メニューを２段にする為、改行を許可する*/}/*文字サイズ「大」の場合のメニュー１個あたりの設定*/html.f-large .large-screen #menubar > nav > ul > li {	flex: auto;	width: 33.33%;	/*メニュー幅。３列なので33.33%*/}/*大きな端末用のメニューブロックが画面上部に到達した場合（fixed）---------------------------------------------------------------------------*//*文字色*/.large-screen #menubar.fixed a {    opacity: 0.8;	/*透明度。色を80%だけ出す。*/}/*マウスオン時*/.large-screen #menubar.fixed a:hover {	opacity: 1;		/*透明度。色を100%出す。*/}/*メニューの上下の余白を狭くする*/.large-screen #menubar.fixed2 li a {	padding-top: 0.4rem;	/*上の余白*/	padding-bottom: 0.4rem;	/*下の余白*/}/*大きな端末、小さな端末、共通のドロップダウンメニュー設定---------------------------------------------------------------------------*//*ドロップダウンブロック*/.large-screen #menubar ul ul,.small-screen #menubar ul ul {	animation: opa1 0.5s 0.1s both;	/*0.1秒待機後、0.5秒かけてフェードイン表示*/}/*大きな端末用のドロップダウンメニュー---------------------------------------------------------------------------*//*ドロップダウンメニューブロック全体*/.large-screen #menubar ul ul {	position: absolute;z-index: 2;	width: 100%;	top: 100%;	left: 0px;  background: #fff;  font-size: 1.0rem;}/*ドロップダウンメニュー1個あたりの上下、左右への余白。*/.large-screen #menubar ul ul a {	padding: 0.6rem 1rem !important;}/*小さな端末用の開閉ブロック---------------------------------------------------------------------------.small-screen #menubar {height: 0px;}*//*メニューブロック設定*/.small-screen #menubar.display-block {	position: fixed;overflow: auto;z-index: 100;	left: 0px;top: 0px;	width: 100%;	height: 100%;	padding-top: 90px;	/*上に空ける余白。ハンバーガーアイコンと重ならない為の指定ですのでお好みで変更OK。*/	background: var(--primary-color);	/*背景色。css冒頭で指定しているprimary-colorを読み込みます*/	animation: animation1 0.2s both;	/*animation1を実行する。0.2sは0.2秒の事。*/	color: var(--primary-inverse-color);	/*文字色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/}/*メニュー１個あたりの設定*/.small-screen #menubar li {	border: 1px solid #fff;	/*枠線の幅、線種、色*/	margin: 1rem;			/*メニューの外側に空けるスペース*/	border-radius: 5px;		/*角を丸くする指定*/}.small-screen #menubar a {	color: inherit;	padding: 1rem 1.5rem;		/*メニュー内の余白。上下、左右へ。*/}.small-screen #menubar li li a {	background: var(--primary-inverse-color);	/*背景色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/	color: var(--primary-color);	/*文字色。css冒頭で指定しているprimary-colorを読み込みます*/}/*３本バー（ハンバーガー）アイコン設定---------------------------------------------------------------------------*//*３本バーを囲むブロック*/#menubar_hdr {	animation: opa1 0.3s 0.5s both;	position: fixed;z-index: 101;	cursor: pointer;	top: 2vw;		/*上からの配置場所*/	right: 2vw;		/*右からの配置場所*/	width: 50px;	/*幅*/	height: 50px;	/*高さ*/	padding: 15px;	/*ブロック内の余白*/	display: flex;	justify-content: center;	align-items: center;	transition: transform 0.5s;	background: rgba(0,0,0,0.6);	/*背景色*/}/*以下は変更不要*/#menubar_hdr div {	position: relative;	width: 100%;	height: 100%;	display: flex;	flex-direction: column;	justify-content: space-between;}/*バーの設定*/#menubar_hdr div span {	display: block;	width: 100%;	height: 2px;			/*線の太さ*/	background-color: #fff;	/*線の色*/	border-radius: 2px;		/*コーナーを少しだけ丸く*/	transition: all 0.5s ease-in-out;	position: absolute;}/*以下変更不要*/#menubar_hdr div span:nth-child(1) {top: 0;}#menubar_hdr div span:nth-child(2) {top: 50%;transform: translateY(-50%);}#menubar_hdr div span:nth-child(3) {bottom: 0;}#menubar_hdr.ham div span:nth-child(1) {top: 50%;transform: translateY(-50%) rotate(45deg);}#menubar_hdr.ham div span:nth-child(2) {opacity: 0;}#menubar_hdr.ham div span:nth-child(3) {top: 50%;transform: translateY(-50%) rotate(-45deg);}/*mainブロック---------------------------------------------------------------------------*//*h2見出し*/main h2 {	display: flex;	justify-content: space-between;	align-items: center;	margin: 3rem auto 2rem;		/*h2の外側にとるスペース。上、左右、下への順番。*/	font-size: 1.5rem;		/*文字サイズ*/	position: relative;		/*ulineを配置する為に必要な指定*/	font-weight: normal;	/*デフォルトの太字を標準に*/	border-bottom: 3px solid #ddd;	/*薄い色の線の幅、線種、色*/	letter-spacing: 0.05em;	/*文字間隔を少しだけ広くする*/  line-height: 1.3em;}/*h2のアクセントラインの設定*/main h2 .uline {	display: inline-block;position: relative;	padding: 0.5rem 0;	/*h2内の余白。上下、左右への順番。*/	bottom: -3px;		/*濃い線を薄い線に重ねる為の指定。枠線の幅と合わせます。*/	border-bottom: 3px solid var(--primary-color);	/*濃い色の線の幅、線種、varは色の事でcss冒頭で指定しているprimary-colorを読み込みます*/}/*右側の装飾文字の設定*/main h2 .small {	display: block;	font-size: 0.6em;	/*文字サイズを親要素の60%に*/	opacity: 0.5;		/*透明度。色が50%出た状態。*/}@media (max-width: 480px) {  main h2 {    font-size: 1.32rem;		/*文字サイズ*/    letter-spacing: 0;    line-height: 1.2em;}  main h2 .small {	display: none;}  }/*h2のテキストをセンタリングする場合*/main h2.c {	display: block;	border: none;		/*下線を非表示に*/	text-align: center;	/*テキストをセンタリング*/	font-size: 1.8rem;	/*文字サイズを２倍に*/  line-height: 1.5em;}@media (max-width: 768px) {  main h2.c {	font-size: 1.5rem;	/*文字サイズを２倍に*/  line-height: 1.5em;}}/*h3見出し*/main h3 {	font-size: 1.3rem;		/*文字サイズ*/	font-weight: normal;	/*デフォルトの太字を標準に*/}/*h4見出し*/main h4 {	font-size: 1.1rem;		/*文字サイズ*/	font-weight: normal;	/*デフォルトの太字を標準に*/}/*h5見出し*/main h5 {	font-size: 1.0rem;		/*文字サイズ*/	font-weight: bold;	/*デフォルトの太字を標準に*/}/*h6見出し*/main h6 {	font-size: 1.0rem;		/*文字サイズ*/	font-weight: bolder;	/*デフォルトの太字を標準に*/}/*h4見出し*/main p {	font-size: 1.0rem;		/*文字サイズ*/	font-weight: normal;	/*デフォルトの太字を標準に*/  line-height: 1.4em;}.thumbnail-slide img{  width: 345px;  height: auto;  margin: 10px auto;}@media screen and (max-width:480px) {  .thumbnail-slide img{  width: 200px;  height: auto;  margin: 10px;}}/*シングルブログ共通---------------------------------------------------------------------------*/#singlemenu {	/* padding: 0.2rem var(--global-space);	上下、左右へのボックス内の余白。左右はcss冒頭で指定しているglobal-spaceを読み込みます*/	padding: 0.2rem;}/*フッター共通---------------------------------------------------------------------------*/#footer-contents, #footermenu {	/* padding: 1rem var(--global-space);	上下、左右へのボックス内の余白。左右はcss冒頭で指定しているglobal-spaceを読み込みます*/	padding: 1rem;}/*フッターのコンテンツ（住所やマップが入っているブロック）---------------------------------------------------------------------------*//*ブロック全体*/#footer-contents {	color: #fff;			/*文字色*/  overflow-x: hidden;  background: linear-gradient(rgba(256, 256, 256, .2), rgba(200, 200, 200, .3)), url(../images/iStock-842389520.webp) center center no-repeat;  background-size: cover;  padding: 3em 4em;}@media screen and (max-width:480px) {  #footer-contents {	color: #333;			/*文字色*/  padding: 2em 1em;}}#footer-contents h3 {  font-size: 1.5rem;  margin-bottom: 0.3em;}#footer-contents p {	line-height: 1.7em;}#footer-contents a {	color: inherit;}/*左側のブロック*/#footer-contents .left {	margin-bottom: 50px;	/*下に空けるスペース*/}	/*画面幅901px以上の追加指定*/	@media screen and (min-width:901px) {		#footer-contents {		display: flex;	/*flexボックスを使う指定*/		gap: 2rem;		/*左右のボックスの間のマージン的な設定*/	}		/*左側のブロック*/	#footer-contents .left {		margin-bottom: 0;	/*下のマージン（外側への余白）をリセット*/		width: 50%;			/*幅。leftとrightで合計100になれば、お好みで変更してもらって構いません。*/	}		/*右側のブロック*/	#footer-contents .right {		width: 50%;			/*幅。leftとrightで合計100になれば、お好みで変更してもらって構いません。*/	}	}/*追加指定ここまで*//*footer-contents内のマップ。レスポンシブにする為のものなので、基本は編集不要です。---------------------------------------------------------------------------*/.iframe-box {	width: 100%;	height: 0;	padding-top: 56.25%;	/*マップの高さを増やしたい場合は、ここの数値を上げてみて下さい。*/	position: relative;	overflow: hidden;}.iframe-box iframe {	position: absolute;	left: 0px;	top: 0px;	width: 100%;	height: 100%;}/*フッターメニュー設定---------------------------------------------------------------------------*//* ボックス全体の設定 */#singlemenu {  color: #666; /* 文字色 */  font-size: 0.8rem; /* 文字サイズ */  display: flex; /* flexボックスを使う指定 */  flex-wrap: wrap; /* アイテムを折り返し可能にする */  justify-content: space-between; /* 並びかたの種類の指定 */  align-items: flex-start; /* 垂直揃えの指定。上に配置されるように */  overflow-x: hidden; /* 横方向のオーバーフローを隠す */  box-sizing: border-box; /* ボックスサイズの調整 */}#singlemenu ul {  margin: 0;  padding: 0;  list-style: none;  flex: 1 1 calc(50% - 0.5em); /* リスト幅を均等に分配 */  box-sizing: border-box; /* パディングとボーダーを含むサイズ調整 */  max-width: calc(50% - 0.5em); /* 最大幅を指定 */  min-width: calc(50% - 0.5em); /* 最小幅を指定 */}#singlemenu ul li {  padding: 5px 0; /* リスト項目に余白を追加 */  border-bottom: dashed 1px #764600; /* 下線を追加 */  box-sizing: border-box; /* パディングとボーダーを含むサイズ調整 */}#singlemenu ul li a{  color: #333;}@media screen and (min-width:600px) {    #singlemenu ul li:last-child {  border-bottom: none; /* 最後のリスト項目の下線を削除 */  }}#singlemenu li.title {  display: flex; /* Flexboxで配置制御 */  justify-content: space-between; /* タイトルとアイコンを両端に配置 */  align-items: center; /* 縦方向で中央揃え */  color: #0FA300; /* 文字色 */  font-size: 1.2rem; /* タイトルの文字サイズ */  padding: 5px 0; /* 上下の余白 */  border-bottom: solid 1px #764600; /* 下線を追加 */}#singlemenu li.title span img {  max-width: 100%; /* 親要素に対して最大幅を制限 */  width: auto;  height: auto;  display: block;}#singlemenu li.title .icon-illust {  max-width: 80px;  height: auto;  margin-left: auto; /* アイコンを右端に配置 */}@media (max-width: 600px) {  #singlemenu {    flex-direction: column; /* スマホでは縦並び */  }  #singlemenu ul {    flex: 1 1 100%; /* リスト幅を100%に */    max-width: 100%;    min-width: 100%;  }}/*フッターメニュー設定---------------------------------------------------------------------------*//* ボックス全体の設定 */#footermenu {  color: #666; /* 文字色 */  font-size: 0.8rem; /* 文字サイズ */  display: flex; /* flexボックスを使う指定 */  flex-wrap: wrap; /* アイテムを折り返し可能にする */  justify-content: space-between; /* 並びかたの種類の指定 */  align-items: flex-start; /* 垂直揃えの指定。上に配置されるように */  border: 1px solid #333;  overflow-x: hidden; /* 横方向のオーバーフローを隠す */  box-sizing: border-box; /* ボックスサイズの調整 */}#footermenu ul {  margin: 0;  padding: 0;  list-style: none;  flex: 1 1 calc(33.33% - 1em); /* リスト幅を均等に分配 */  box-sizing: border-box; /* パディングとボーダーを含むサイズ調整 */  max-width: calc(33.33% - 1em); /* 最大幅を指定 */  min-width: calc(33.33% - 1em); /* 最小幅を指定 */}#footermenu ul li {  padding: 5px 0; /* リスト項目に余白を追加 */  border-bottom: dashed 1px #764600; /* 下線を追加 */  box-sizing: border-box; /* パディングとボーダーを含むサイズ調整 */}#footermenu ul li a{  color: #333;}#footermenu ul li:last-child {  border-bottom: none; /* 最後のリスト項目の下線を削除 */}#footermenu li.title {  display: flex; /* Flexboxで配置制御 */  justify-content: space-between; /* タイトルとアイコンを両端に配置 */  align-items: center; /* 縦方向で中央揃え */  font-weight: bold; /* 太字 */  color: #0FA300; /* 文字色 */  font-size: 1.2em; /* タイトルの文字サイズ */  padding: 5px 0; /* 上下の余白 */  border-bottom: solid 1px #764600; /* 下線を追加 */}#footermenu li.title span img {  max-width: 100%; /* 親要素に対して最大幅を制限 */  width: auto;  height: auto;  display: block;}#footermenu .title .icon-illust {  max-width: 80px;  height: auto;  margin-left: auto; /* アイコンを右端に配置 */}@media (max-width: 600px) {  #footermenu {    flex-direction: column; /* スマホでは縦並び */  }  #footermenu ul {    flex: 1 1 100%; /* リスト幅を100%に */    max-width: 100%;    min-width: 100%;  }}/*フッター設定---------------------------------------------------------------------------*/small {font-size: 100%;}footer {	font-size: 0.7rem;		/*文字サイズ*/	background: #1d1b1b;	/*背景色*/	color: #fff;			/*文字色*/	text-align: center;		/*内容をセンタリング*/	padding: 1rem;			/*ボックス内の余白*/}/*リンクテキスト*/footer a {color: inherit;text-decoration: none;}/*著作部分*/footer .pr {display: block;}/*フッター内にあるソーシャルメディアのアイコン---------------------------------------------------------------------------*/ul.icons {	list-style: none;	margin: 0;padding: 0;	display: flex;	align-self: center;	gap: 1rem;	/*アイコン同士のマージン的な要素。１文字分。*/}.icons i {	font-size: 40px;	/*アイコンサイズ*/}/*FAQ---------------------------------------------------------------------------*//*質問*/.faq dt {	border-radius: 3px;		/*枠を角丸にする指定*/	margin-bottom: 1rem;	/*下に空けるスペース*/	background: #fff;		/*背景色*/	border: 1px solid #ccc;	/*枠線の幅、線種、色*/	text-indent: -2rem;				/*テキストのインデント。質問が複数行になった際に、テキストの冒頭を揃える為に設定しています。*/	padding: 0.5rem 1em 0.5rem 3em;		/*ボックス内の余白。ここを変更する場合、上のtext-indentも調整します。*/}.faq dt span.icon-illust {  display: inline-block;  float: right; /* 右端に寄せる */  position: relative; /* 位置を相対的に動かす */  top: -25px; /* 文字より少し上に飛び出させる */  width: 60px; /* 固定幅 */  height: 60px; /* 固定高さ */}.faq dt span.icon-illust img {  width: 100%; /* 親要素の幅に合わせる */  height: auto; /* アスペクト比を保つ */  max-width: 60px; /* 最大幅を固定 */}/*アイコン（Font Awesome）*/.faq dt::before {	font-family: "Font Awesome 6 Free";	/*Font Awesomeを使う指定*/  content: "\f059";		/*アイコンのコード*/	padding-right: 0.5rem;	/*アイコンとテキストとの間のスペース*/	color: var(--primary-color);	/*アイコンの色。css冒頭で指定しているprimary-colorを読み込みます*/}@media (max-width: 768px) {  .faq dt span.icon-illust {  width: 50px; /* スマホで少し小さくする */  height: 50px;  top: -10px; /* 文字より少し上に飛び出させる */  right: -40px; /* 文字より少し上に飛び出させる */  }}/*回答*/.faq dd {	padding: 0 1rem 1rem 1rem;	/*ボックス内の余白。上、右、下、左への順番。*/}/*opencloseを適用した要素のカーソル*/.openclose {	cursor: pointer;	/*カーソルの形状。リンクと同じスタイルにしてクリックできると認識してもらう。*/}/*list-half（左右にわかれたボックス）---------------------------------------------------------------------------*//*画像ブロック*/.list-half .image {  width: 80vw;	/*幅。80%。*/	margin: 0 auto;	/*画像を中央に配置*/	padding: 3vw 0;	/*上下、左右への余白。画像の上下に隙間をあけます。*/}	/*画面幅600px以上の追加指定*/	@media screen and (min-width:600px) {		/*ボックス全体*/	.list-half {		display: flex;		justify-content: space-between;		align-items: center;		gap: 3vw;	/*左右の間に空けるマージン的な要素*/		position: relative;	}	/*テキストブロック*/	.list-half .text {		flex: 1;	}	/*テキストブロック*/	.list-half .text2 {		flex: 2;	}	/*画像ブロック*/	.list-half .image {		padding: 0;		/*余白をリセット*/		width: 30vw;	/*幅。40%。*/	}	/*左右を入れ替える場合用*/	.list-half.reverse {		flex-direction: row-reverse;	}	}/*追加指定ここまで*/.list-half .image-container{  display: inline-flex;  flex-wrap: nowrap;  justify-content: space-between;  align-items: flex-start;}.list-half .image-container .item{  display: block;  flex: 50% 50%;}.list-half .image-container .item p{  display: inline-block;  font-size: 0.8em;  padding: 0.5em;  margin: auto;}.list-half .image-container .item > .image-s{  width: 200px;  height: auto;  display: block;  margin: 0 auto;  padding: 0;}/*画像の影のスタイル*/.list-half .shadow1 {	box-shadow: -1vw 1vw 0 rgba(0,0,0,0.1);  border-radius: 7px;}/*reverseの場合の影*/.list-half.reverse .shadow1 {	box-shadow: 1vw 1vw 0 rgba(0,0,0,0.1);}/*list-half2（左右にわかれたボックス）---------------------------------------------------------------------------*//*画像ブロック*/.list-half2 .image {  width: 60vw;	/*幅。60%。*/	margin: 0 auto;	/*画像を中央に配置*/	padding: 3vw 0;	/*上下、左右への余白。画像の上下に隙間をあけます。*/  filter: drop-shadow(5px 5px 5px #666);}	/*画面幅600px以上の追加指定*/	@media screen and (min-width:600px) {		/*ボックス全体*/	.list-half2 {		display: flex;		justify-content: space-between;		align-items: center;		gap: 1vw;	/*左右の間に空けるマージン的な要素*/		position: relative;	}	/*テキストブロック*/	.list-half2 .text {		flex: 1;	}	/*テキストブロック*/	.list-half2 .text .small{		font-size: 80%;    line-height: 1.0rem;	}	/*テキストブロック*/	.list-half2 .text2 {		flex: 2;	}	/*画像ブロック*/	.list-half2 .image {		padding: 0;		/*余白をリセット*/		width: 20vw;	/*幅。40%。*/	}	/*左右を入れ替える場合用*/	.list-half2.reverse {		flex-direction: row-reverse;	}	}/*追加指定ここまで*/.list-half2 .image-container{  display: inline-flex;  flex-wrap: nowrap;  justify-content: space-between;  align-items: flex-start;}.list-half2 .image-container .item{  display: block;  flex: 80% 20%;}.list-half2 .image-container .item p{  display: inline-block;  font-size: 0.8em;  padding: 0.5em;  margin: auto;}.list-half2 .image-container .item > .image-s{  width: 200px;  height: auto;  display: block;  margin: 0 auto;  padding: 0;}/*画像の影のスタイル*/.list-half .shadow1 {	box-shadow: -1vw 1vw 0 rgba(0,0,0,0.1);  border-radius: 7px;}/*reverseの場合の影*/.list-half.reverse .shadow1 {	box-shadow: 1vw 1vw 0 rgba(0,0,0,0.1);}/*list-grid1---------------------------------------------------------------------------*/.list-grid1 .list * {margin: 0;padding: 0;}/*ボックス１個あたり*/.list-grid1 .list {  display: grid;	margin-bottom: 1rem;	/*下に空けるスペース*/}/*ボックス内のp要素*/.list-grid1 .list p {	font-size: 0.75rem;	/*文字サイズを85%に*/	line-height: 1.5;	/*行間を狭くする*/  margin-top: 0.5em;}/*ボックス内のp要素*/.list-grid1 .list a {  color: #666;}/*ボックス１個あたり*/.list-grid1 .list {	padding: 1rem;			/*ボックス内の余白。１文字分。*/	background: #fff;		/*背景色*/  grid-template-rows: auto 1fr auto;	box-shadow: 5px 5px 20px rgba(0,0,0,0.1);	/*ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.1は色が10%出た状態。*/}/*ボックス内のfigure画像*/.list-grid1 .list figure {	margin: -1rem;			/*画像を枠いっぱいに表示させる為に上の「.list-grid1 .list」のpadding分をネガティブマーインで指定*/	margin-bottom: 0.5rem;	/*画像の下に空けるスペース*/  margin-left: auto;  margin-right: auto;  margin-top: 0.4em;  width: 99%;}	/*画面幅800px以上の追加指定*/	@media screen and (min-width:800px) {	/*listブロック全体を囲むブロック*/	.list-grid1 {		display: grid;		grid-template-columns: repeat(5, 1fr);	/*3列にする指定。4列にしたければrepeat(4, 1fr)とする。*/		gap: 1rem;	/*ブロックの間に空けるマージン的な指定*/	}	/*ボックス１個あたり*/	.list-grid1 .list {		margin-bottom: 0;	/*下に空けるスペースをなくす*/	}	}        /*画面幅480px以下の追加指定*/    @media screen and (max-width:480px) {      /*listブロック全体を囲むブロック*/	.list-grid1 {		display: grid;		grid-template-columns: repeat(2, 1fr);	/*2列にする指定。4列にしたければrepeat(4, 1fr)とする。*/		gap: 1rem;	/*ブロックの間に空けるマージン的な指定*/	}	/*ボックス１個あたり*/	.list-grid1 .list {		margin-bottom: 0;	/*下に空けるスペースをなくす*/	}    }/*追加指定ここまで*/.list-grid2 .list * {margin: 0;padding: 0;}/*ボックス１個あたり*/.list-grid2 .list {  display: grid;	margin-bottom: 1rem;	/*下に空けるスペース*/}/*ボックス内のp要素*/.list-grid2 .list p {	font-size: 0.75rem;	/*文字サイズを75%に*/	line-height: 1.5;	/*行間を狭くする*/  margin-top: 0.5em;}/*ボックス１個あたり*/.list-grid2 .list {	padding: 1rem;			/*ボックス内の余白。１文字分。*/  grid-template-rows: auto 1fr auto;}/*ボックス内のfigure画像*/.list-grid2 .list figure {	margin: -1rem;			/*画像を枠いっぱいに表示させる為に上の「.list-grid1 .list」のpadding分をネガティブマーインで指定*/	margin-bottom: 0.5rem;	/*画像の下に空けるスペース*/  margin-left: auto;  margin-right: auto;  margin-top: 0.4em;  width: 99%;}	/*画面幅800px以上の追加指定*/	@media screen and (min-width:800px) {	/*listブロック全体を囲むブロック*/	.list-grid2 {		display: grid;		grid-template-columns: repeat(3, 1fr);	/*3列にする指定。4列にしたければrepeat(4, 1fr)とする。*/		gap: 1rem;	/*ブロックの間に空けるマージン的な指定*/	}	/*ボックス１個あたり*/	.list-grid2 .list {		margin-bottom: 0;	/*下に空けるスペースをなくす*/	}	}        /*画面幅480px以下の追加指定*/    @media screen and (max-width:480px) {      /*listブロック全体を囲むブロック*/	.list-grid2 {		display: grid;		grid-template-columns: repeat(2, 1fr);	/*2列にする指定。4列にしたければrepeat(4, 1fr)とする。*/		gap: 1rem;	/*ブロックの間に空けるマージン的な指定*/	}	/*ボックス１個あたり*/	.list-grid2 .list {		margin-bottom: 0;	/*下に空けるスペースをなくす*/	}    }/*追加指定ここまで*/.list-grid3 .list * {margin: 0;padding: 0;}/*ボックス１個あたり*/.list-grid3 .list {  display: grid;	margin-bottom: 1rem;	/*下に空けるスペース*/}/*ボックス内のp要素*/.list-grid3 .list p {	font-size: 0.75rem;	/*文字サイズを85%に*/	line-height: 1.5;	/*行間を狭くする*/  margin-top: 0.5em;}/*ボックス１個あたり*/.list-grid3 .list {	padding: 1rem;			/*ボックス内の余白。１文字分。*/  grid-template-rows: auto 1fr auto;}/*ボックス内のfigure画像*/.list-grid3 .list figure {	margin: -1rem;			/*画像を枠いっぱいに表示させる為に上の「.list-grid1 .list」のpadding分をネガティブマーインで指定*/	margin-bottom: 0.5rem;	/*画像の下に空けるスペース*/  margin-left: auto;  margin-right: auto;  margin-top: 0.4em;  width: 99%;}/*ボックス内のfigure画像*/.list-grid3 .list .qrcode333 {  width: 150px;  height: 150px;  display: block;  margin: auto;  padding: 0;}	/*画面幅800px以上の追加指定*/	@media screen and (min-width:800px) {	/*listブロック全体を囲むブロック*/	.list-grid3 {		display: grid;		grid-template-columns: repeat(2, 1fr);	/*3列にする指定。4列にしたければrepeat(4, 1fr)とする。*/		gap: 1rem;	/*ブロックの間に空けるマージン的な指定*/	}/*ボックス内のfigure画像*/.list-grid3 .list .qrcode333 {  width: 250px;  height: 250px;  display: block;  margin: auto;  padding: 0;}	/*ボックス１個あたり*/	.list-grid3 .list {		margin-bottom: 0;	/*下に空けるスペースをなくす*/	}	}        /*画面幅480px以下の追加指定*/    @media screen and (max-width:480px) {      /*listブロック全体を囲むブロック*/	.list-grid3 {		display: grid;		grid-template-columns: repeat(2, 1fr);	/*2列にする指定。4列にしたければrepeat(4, 1fr)とする。*/		gap: 1rem;	/*ブロックの間に空けるマージン的な指定*/	}	/*ボックス１個あたり*/	.list-grid3 .list {		margin-bottom: 0;	/*下に空けるスペースをなくす*/	}    }/*追加指定ここまで*//*ボタン（btn）---------------------------------------------------------------------------*/.btn a {	display: block;  text-decoration: none;	font-size: 1rem;	text-align: center;		/*テキストをセンタリング*/	background: var(--primary-color) !important;	/*背景色。css冒頭で指定しているprimary-colorを読み込みます*/	color: var(--primary-inverse-color) !important;	/*文字色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/	padding: 0.5rem !important;		/*ボタン内の余白*/	margin-top: 1rem !important;	/*ボタンの外（上）に空けるスペース*/  border-radius: 7px;  /* シャドウ効果 */  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2); /* 下方向に影を作る */  backdrop-filter: blur(10px); /* 背景を少しぼかす */  background-color: rgba(255, 255, 255, 0.8); /* 背景を半透明にする */  position: relative; /* 擬似要素の基準を設定 */}@media (max-width: 480px) {  .btn a {    width: 100%;    text-align: left;    text-indent: 0.5em;    font-size: 0.9em;    float: left;  }}.btn a::after {  content: "";  display: inline-block;  position: absolute;  right: 10px; /* 初期位置 */  top: 50%;  transform: translateY(-50%);  width: 30px;  height: 30px;  background-image: url('../images/icon.png'); /* 正しいパスを指定 */  background-size: cover;  background-repeat: no-repeat;  transition: transform 0.3s ease, right 0.3s ease; /* スムーズなアニメーション */}/* マウスオーバー時 */.btn a:hover::after {  right: 25px; /* 左に5px移動 */}/* クリック時（active） */.btn a:active::after {  right: 50px; /* さらに左に寄せる */}/*bg1背景色がついたブロック---------------------------------------------------------------------------*/.bg1 {	position: relative;	background: #fcf8ea;	/*背景色*/	padding-top: 5vw;		/*ボックス内の上に空ける余白。お好みで調整して下さい。*/	padding-bottom: 5vw;	/*ボックス内の下に空ける余白。お好みで調整して下さい。*/	/*margin-top: 10vw;		ボックス外の上に空ける余白。お好みで調整して下さい。*/	/*margin-bottom: 10vw;	ボックス外の下に空ける余白。お好みで調整して下さい。*/		/*以下は変更不要*/	margin-left: calc(-1 * var(--global-space));	margin-right: calc(-1 * var(--global-space));	padding-left: var(--global-space);	padding-right: var(--global-space);}.bg1 a {	color: inherit;}/*お知らせブロック---------------------------------------------------------------------------*//*お知らせブロック*/.new {	background: rgba(0,0,0,0.02);	/*背景色。0,0,0は黒のことで0.02は色が2%出た状態。*/	overflow: hidden;	margin-bottom: 4rem;	/*ブロックの下に空けるスペース。4文字分。*/}/*奇数行目を背景色を少し濃くする。全体同じ色がよければここの数行は削除。*/.new dt:nth-of-type(odd),.new dd:nth-of-type(odd) {	background: rgba(0,0,0,0.04);}/*日付(dt)設定*/.new dt {	padding: 1rem 1rem 0;	/*dt内の余白。上、左右、下への順番。*/}/*記事(dd)設定*/.new dd {	padding: 1rem;	/*dd内の余白*/}/*ブロック内のspan。日付の横のアイコン的な部分の共通設定*/.new dt span {	display: inline-block;	text-align: center;	line-height: 1.8;		/*行間（アイコンの高さ）*/	border-radius: 3px;		/*角を丸くする指定*/	padding: 0 0.5rem;		/*上下、左右へのブロック内の余白*/	width: 8rem;			/*幅。8文字分。*/	transform: scale(0.8);	/*80%のサイズに縮小*/	background: #fff;		/*背景色*/	color:#777;				/*文字色*/	border: 1px solid #999;	/*枠線の幅、線種、色*/}/*icon-bg1*/.new .icon-bg1 {	background: var(--primary-color);	/*背景色。css冒頭で指定しているprimary-colorを読み込みます*/	color: var(--primary-inverse-color);	/*文字色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/	border-color: transparent;			/*枠線を出したくないので透明にする*/}	/*画面幅700px以上の追加指定*/	@media screen and (min-width:700px) {	/*ブロック全体*/	.new {		display: grid;	/*gridを使う指定*/		grid-template-columns: auto 1fr;	/*横並びの指定。日付とアイコン部分の幅は自動で、内容が入るブロックは残り幅一杯とる。*/	}	/*日付(dt)設定*/	.new dt {		padding: 1rem 0 1rem 2rem;	/*dt内の余白。上、右、下、左への順番。*/	}	/*記事(dd)設定*/	.new dd {		padding: 1rem 2rem 1rem 0;	/*dd内の余白。上、右、下、左への順番。*/	}	}/*追加指定ここまで*//*2・3カラム（main-contents、sub-contents設定）---------------------------------------------------------------------------*//*main-contentsブロック*/.main-contents {	margin-bottom: 2vw;	/*ボックスの下に空けるスペース*/}	/*画面幅901px以上の追加指定*/	@media screen and (min-width:901px) {	/*カラムで使う為の指定*/	main.column {		display: flex;					/*横並びにする*/		justify-content: space-between;	/*並びかたの種類の指定*/		gap: 3vw;						/*main-contentsとsub-contentsの間のマージン的な隙間*/	}		/*main-contentsブロック*/	.main-contents {		margin-bottom: 0;		order: 2;		/*並び順。数字の小さい順番に表示されます。*/		flex: 1;	}		/*sub-contentsブロック共通*/	.sub-contents {		width: 210px;	/*幅。お好みで変更して下さい。*/	}		/*1つ目のsub-contents*/	.sub-contents:nth-child(2) {		order: 1;	/*並び順。数字の小さい順番に表示されます。*/	}		/*2つ目のsub-contents（※３カラムで使いたい場合用）*/	.sub-contents:nth-child(3) {		order: 3;	/*並び順。数字の小さい順番に表示されます。３番目という意味なので一番右側に表示されます。*/	}		}/*追加指定ここまで*//*メインコンテンツ内のh3要素(見出し)*/.main-contents h3 {	margin: 0;	font-size: 1.3rem;  line-height: 1.4em;	margin-bottom: 0.5rem;	margin-top: 1.5rem;  padding: 0 10px;}.main-contents h3::first-letter {	border-left: 3px solid var(--primary-color);	/*左側のアクセント用ラインの幅、線種、色*/	padding-left: 10px;}/*メインコンテンツ内のh4要素(見出し)*/.main-contents h4 {	font-size: 1.2rem;  line-height: 1.1em;	margin: 1rem auto;  position: relative;  padding: 0 20px;  letter-spacing: 0.03em;}.main-contents h4 span{	font-size: 0.8rem;  line-height: 1.0em;	margin: 10px auto;  position: relative;  padding: 0 20px 0 0;}.main-contents h4:after {	content: "";  display: block;  height: 2px;  background: -webkit-linear-gradient(to right, var(--primary-color), transparent);  background: linear-gradient(to right, var(--primary-color), transparent);}.main-contents h5 {	position: relative;/*相対位置*/  padding-left: 1.2em;/*アイコン分のスペース*/  line-height: 1.4;/*行高*/  color: #138B3B;/*文字色*/	margin: 0.3rem auto 0;  text-indent:1em;}.main-contents h5:before {  font-family: "Font Awesome 5 pro";  content: "\f71a";/*アイコンのユニコード*/  position: absolute;/*絶対位置*/  font-size: 1em;/*サイズ*/  left: 0;/*アイコンの位置*/  top: 0;/*アイコンの位置*/  color: #7b6459; /*アイコン色*/}.main-contents h6 {	font-size: 1.0rem;  font-weight: bolder;  line-height: 1.1em;	margin: 0.3rem auto 0;  position: relative;  padding: 0 1em;}.main-contents p {  padding: 0 20px;  line-height: 1.6em;  margin-bottom: 2em;}.main-contents ul {  padding: 1em;}.main-contents ul li {  list-style: none;  margin: 3px 2em;  padding: 0;}.main-contents li {  list-style: circle;  margin: 3px 1em;  padding: 0;}/*サブメニュー設定---------------------------------------------------------------------------*//*サブメニューブロック全体*/.submenu {	padding: 0;	margin: 0 0 1rem;	/*上、左右、下へのマージン*/	border-top: 1px solid #ccc;	/*上の枠線の幅、線種、色*/}/*メニュー１個あたり*/.submenu a {	display: block;text-decoration: none;	padding: 0.2rem 1rem;	/*上下、左右へのメニュー内の余白*/	background: #fff;	/*背景色*/}/*メニュー１個あたり（子メニュー以外）*/.submenu > li {	border: 1px solid #ccc;	/*枠線の幅、線種、色*/	border-top: none;		/*上の線だけなくす*/}/*子メニュー*/.submenu li li a {	padding-left: 2rem;	/*左に余白を空ける*/}/*box1---------------------------------------------------------------------------*/.box1 {	padding: 1rem;			/*ボックス内の余白*/	margin-bottom: 1rem;	/*ボックスの下に空けるスペース*/	background: rgba(0,0,0,0.05);	/*背景色*/	border: solid 1px #ccc;	/*線の線種、幅、色*/	box-shadow: 0px 0px 1px 1px #fff inset;	/*ボックスの影。右へ、下へ、ぼかし幅、距離。#fffは白のことでinsetは内側へ向けての影の指定。*/}/*box1内のsubmenuの下マージンをなくす*/.box1 .submenu {	margin-bottom: 0;}/*詳細ページのサムネイル切り替えブロック---------------------------------------------------------------------------*//*大きな画像が表示されるブロック*/.thumbnail-view-parts {	max-width: 1000px;		/*最大幅*/	margin: 0 auto 1rem;	/*ブロック要素を中央に配置。下に1文字分のマージンをとる。*/	text-align: center;		/*画像が小さい場合でもセンタリングされるように*/}/* サムネイル全体を囲むブロック */.thumbnail-parts {  display: flex; /* Flexboxでレイアウト */  justify-content: center; /* センタリング */  flex-wrap: wrap; /* 子要素を折り返すように設定 */  margin-bottom: 2rem; /* 下に空けるスペース */}/* サムネイル画像 */.thumbnail-parts img {  width: 100px; /* サムネイルの幅 */  margin: 5px; /* サムネイル間のスペースを少し広げる */  cursor: pointer; /* ポインターを表示 */  transition: 0.3s; /* マウスオン時のトランジション */}.thumbnail-parts img:hover {  opacity: 0.8; /* マウスオン時に薄くする */}/* スマホ用のメディアクエリ */@media (max-width: 768px) {  .thumbnail-parts {    justify-content: space-around; /* スマホ時は均等配置 */  }  .thumbnail-parts img {    width: 30%; /* 幅を45%にして2段になるように設定 */  }}/*テーブル（ta1）---------------------------------------------------------------------------*//*テーブル１行目に入った見出し部分（※caption）*/.ta1 caption {	padding: 0.5rem 1rem;	/*ボックス内の余白*/	background: #999;		/*背景色*/	color: #fff;			/*文字色*/	margin-bottom: 1rem;	/*下に空けるスペース*/	border-radius: 5px;		/*角を丸くする指定*/}/*ta1テーブルブロック設定*/.ta1 {	table-layout: fixed;	border-top: 1px solid #999;	/*テーブルの一番上の線。幅、線種、色*/	width: 100%;				/*幅*/	margin-bottom: 1rem;			/*テーブルの下に空けるスペース*/}.ta1 a{	color:#333;}/*tr（１行分）タグ設定*/.ta1 tr {	border-bottom: 1px solid #999;	/*テーブルの下線。幅、線種、色*/}/*th（左側）、td（右側）の共通設定*/.ta1 th, .ta1 td {	padding: 1rem;		/*ボックス内の余白*/	word-break: break-all;	/*英語などのテキストを改行で自動的に折り返す設定。これがないと、テーブルを突き抜けて表示される場合があります。*/  line-height: 1.5em;}/*th（左側）のみの設定*/.ta1 th {	width: 30%;			/*幅*/	text-align: left;	/*左よせにする*/  font-weight: normal;	background: rgba(11,111,0,0.2);	/*背景色*/}	/*画面幅900px以上の追加指定*/	@media screen and (min-width:900px) {		/*th（左側）のみの設定*/		.ta1 th {			width: 17%;		/*幅*/		}	}/*追加指定ここまで*/	/*画面幅480px以下の追加指定*/@media (max-width: 480px) {  .ta1 {    font-size: 0.8em;  }  /*th（左側）のみの設定*/		.ta1 th {			width: 30%;		/*幅*/  }}/*テーブル（ta2）サブブロックの受付テーブルに使用。---------------------------------------------------------------------------*//*テーブル１行目に入った見出し部分（※caption）*/.ta2 caption {	text-align: center;	background: var(--primary-color);	color: var(--primary-inverse-color);	font-weight: bold;		/*太字に*/	padding: 10px;			/*ボックス内の余白*/}/*ta2設定*/.ta2 {	table-layout: fixed;	width: 100%;	margin-bottom: 2rem;	/*テーブルの下に空けるスペース*/	text-align: center;		/*センタリング*/	background: #fff;		/*背景色*/	border: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/  font-size: 1.0rem;}.ta2 th {	border: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/  width: 30%;  padding: 3px 1%;  white-space: nowrap;  text-align: center;	color: #fff;  background: var(--primary-color);  line-height: 1.4em;}.ta2 td {	border: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/  width: 10%;  padding: 7px;  line-height: 1.1em;  color: #333;}@media screen and (min-width:480px) and (max-width:900px) {  .ta2, .ta2 td, .ta2 th {    padding: 7px 4%;  }}/*画面幅480px以下の追加指定*/@media screen and (max-width:480px) {.ta2 {  font-size: 0.8rem;}  .ta2, .ta2 td, .ta2 th {    padding: 7px 2%;  }.ta2 th {  width: 22%;}.ta2 th span{font-size: 0.5rem;}}/*ta3設定*/.ta3 {	table-layout: fixed;	width: 100%;	margin-bottom: 2rem;	/*テーブルの下に空けるスペース*/	text-align: center;		/*センタリング*/	background: #fff;		/*背景色*/}.ta3, .ta3 th {	word-break: break-all;	border: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/  width: auto;  padding: 7px 3%;}.ta3 td {	word-break: break-all;	border: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/  width: 10vw;  color: #333;}.ta3 th {	width: 30vw;  white-space: nowrap;	color: #fff;	background: #1e3369;}/*画面幅480px以下の追加指定@media screen and (max-width:480px) {  .ta3 td, .ta3 th {    padding: 7px;  }  .ta3 td {    color: #333;    width: 9%;  }  .ta3 th {    white-space: nowrap;  }}*//*テーブルを小さな端末で横スクロールさせる為の準備---------------------------------------------------------------------------*//*テーブルを囲むブロック*/.ta-box {	overflow-x: auto;	margin-bottom: 1rem;}/*ブロック内にあるta2のみ最小幅を設定*/.ta-box .ta2 {	width: 100%;}.ta-box + p,.ta1 + p,.ta2 + p {	margin-top: -2rem;}/*firstpage---------------------------------------------------------------------------*/  /* 画像ボタンのリンク */  .image-button {    display: inline-block;    text-decoration: none; /* リンクの下線を消す */    border-radius: 7px; /* 角を丸くする */    overflow: hidden; /* 画像が枠外に出ないようにする */    transition: all 0.3s ease; /* ホバー時のアニメーション */  }  /* 画像自体 */  .image-button img {    display: block;    width: 100%;    max-width: 300px; /* ボタン幅 */    height: auto; /* アスペクト比を保持 */  }  /* ホバー時のスタイル */  .image-button:hover {    border-color: #007BFF; /* 枠線の色を変更 */    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* ボタンに影を追加 */    transform: scale(1.05); /* 少し拡大 */  }              .btn-container {  display: flex; /* フレックスレイアウトを使用 */  justify-content: center; /* 横並び時に中央寄せ */  align-items: center; /* 縦位置を中央揃え */  gap: 20px; /* ボタン間のスペース */}/* スマホ用のスタイル */@media (max-width: 768px) {  .btn-container {    flex-direction: column; /* 縦並びに変更 */    gap: 10px; /* ボタン間のスペースを狭く */  }  .image-button {    margin: 0 auto; /* ボタンを中央揃え */  }}section a[href^="tel:"] {    color: inherit; /* 親要素と同じ色にする */    text-decoration: none; /* 下線を削除 */}/*PAGE TOP（↑）設定---------------------------------------------------------------------------*/.pagetop-show {display: block;}/*ボタンの設定*/.pagetop a {	display: block;text-decoration: none;text-align: center;z-index: 99;	position: fixed;	/*スクロールに追従しない(固定で表示)為の設定*/	right: 20px;		/*右からの配置場所指定*/	bottom: 20px;		/*下からの配置場所指定*/	color: #fff;		/*文字色*/	font-size: 1.5rem;	/*文字サイズ*/	background: rgba(0,0,0,0.2);	/*背景色。0,0,0は黒の事で0.2は色が20%出た状態。*/	width: 60px;		/*幅*/	line-height: 60px;	/*高さ*/	border-radius: 50%;	/*円形にする*/}.table_design08 {  border-collapse: collapse;  table-layout: fixed;  width: 100%;  max-width: 800px;  text-align: center;  margin: auto;}.table_design08 th, .table_design08 td {  border: 2px solid #1e3369;  padding: 7px 14px;  line-height: 1.4em;}.table_design08 span{  line-height: 1.2em;  font-size: 70%;  text-align: left;}.table_design08 thead th {  background-color: #1e3369;  color: #fff;  border: 2px solid #1e3369;  border-right: 2px solid #fff;  border-bottom: 2px solid #fff;}.table_design08 thead th:last-of-type {  border-right: 2px solid #1e3369;}.table_design08 tbody th {  color: #1e3369;  font-weight: bold;  text-align: left;}@media screen and (max-width: 787px) {  .table_design08 {    text-align: left;  }  .table_design08 thead {    display:none;  }  .table_design08 th, .table_design08 td {    display: block;    border: 0;    border-bottom: 2px solid #e6f1f6;  }  .table_design08 tbody th{    background: #1e3369;    color:#fff;  }  .table_design08 tbody td{    text-align: center;  }  .table_design08 td::before{    content: attr(data-label);    color: #1e3369;    font-weight: bold;    display: inline-block;    width: 20%;    min-width: 4em;  }}.tbl-r02{  margin: 10px auto;  float: left;}.tbl-r02 th {  background: #fff;  color: #333;  padding: 2px 10px;  font-weight: normal;  text-align: left;}.tbl-r02 td {  padding: 2px 10px;  text-align: left;} @media screen and (max-width: 640px) {  .tbl-r02 {    width: 100%;    margin: 5px auto;    font-weight: normal;  }  .tbl-r02 th,  .tbl-r02 td {    padding: 2px 7px;    display: block;    width: 100%;  }.tbl-r02 td {  text-align: right;}}.table_design03 {  border-collapse: collapse;  width: 100%;  max-width: 1000px;}.table_design03 th, .table_design03 td {  border-bottom: 2px solid #c1c7c6;  padding: 1em;}.table_design03 th {  border-bottom: 2px solid #019708;;  text-align: center;  width: 25%;  min-width: 4em;}@media screen and (max-width: 640px) {.table_design03 th {  width: 35%;}}ul.sample1{  counter-reset:li;  list-style: none;  padding:0;  width: 100%;  margin: auto;}@media screen and (max-width: 640px) {  ul.sample1{  width: 100%;}  ul.sample1 li{  line-height: 1.2em;  margin: 20px 0;  padding-left: 40px;  padding-right: 10px;  padding-top: 7px;  padding-bottom: 7px;  -webkit-transition: 0.3s;  -moz-transition: 0.3s;  -o-transition: 0.3s;  -ms-transition: 0.3s;  transition: 0.3s;}}ul.sample1 li{  position: relative;  font-weight: normal;  line-height: 28px;  margin: 1em 0;  padding-left: 40px;  -webkit-transition: 0.3s;  -moz-transition: 0.3s;  -o-transition: 0.3s;  -ms-transition: 0.3s;  transition: 0.3s;}ul.sample1 li:nth-child(4n+1){  border:dashed 1px #FFA79F;}ul.sample1 li:nth-child(4n+2){  border:dashed 1px #fbaf5d;}ul.sample1 li:nth-child(4n+3){  border:dashed 1px #9FCDFF;}ul.sample1 li:nth-child(4n+4){  border:dashed 1px #AFEBB6;}ul.sample1 li:nth-child(4n+5){  border:dashed 1px #D15EFF;}ul.sample1 li:before{  counter-increment: li;  content: counter(li);  position: absolute;  left: -1px;  color: #fff;  text-align: center;  line-height: 30px;  width: 30px;  height: 30px;  top: 0.75em;  -moz-transform: translateY(-50%);  -webkit-transform: translateY(-50%);  -o-transform: translateY(-50%);  -ms-transform: translateY(-50%);  transform: translateY(-50%);}ul.sample1 li:nth-child(4n+1):before{  background: #FFA79F;}ul.sample1 li:nth-child(4n+2):before{  background: #fbaf5d;}ul.sample1 li:nth-child(4n+3):before{  background: #9FCDFF;}ul.sample1 li:nth-child(4n+4):before{  background: #AFEBB6;}ul.sample1 li:nth-child(4n+5):before{  background: #D15EFF;}ul.sample1 li:hover{  color:#fff;  overflow: hidden;  z-index: 1;}ul.sample1 li:nth-child(4n+1):hover{  background: #FFA79F;}ul.sample1 li:nth-child(4n+1):hover:before{  background: #fff;  color: #FFA79F;}ul.sample1 li:nth-child(4n+2):hover{  background: #fbaf5d;}ul.sample1 li:nth-child(4n+2):hover:before{  background: #fff;  color: #fbaf5d;}ul.sample1 li:nth-child(4n+3):hover{  background: #9FCDFF;}ul.sample1 li:nth-child(4n+3):hover:before{  background: #fff;  color: #9FCDFF;}ul.sample1 li:nth-child(4n+4):hover{  background: #AFEBB6;}ul.sample1 li:nth-child(4n+4):hover:before{  background: #fff;  color: #AFEBB6;}ul.sample1 li:nth-child(4n+5):hover{  background: #D15EFF;}ul.sample1 li:nth-child(4n+5):hover:before{  background: #fff;  color: #D15EFF;}ul.baselist-profile {  padding: 0;  position: relative;  magin: 0 auto 1em;}ul.baselist-profile li {  line-height: 1.7;  padding: 0.5em 0;  border-bottom: dashed 1px #333;  list-style-type: none;}ul.baselist-profile li:first-child {  font-weight: bold;  border-bottom: solid 1px #333;  list-style-type: none;  letter-spacing: 0.05em;}ul.baselist-profile li:last-of-type {  border-bottom: none;}ul.baselist {  padding: 0;  position: relative;  magin: 0 auto 1em;}ul.baselist li {  line-height: 1.7;  padding: 0.5em 0;  border-bottom: dashed 1px #333;  list-style-type: none;}ul.baselist li:last-of-type {  border-bottom: none;}ol.sample2{  counter-reset:list;  list-style-type:none;  padding: 0px;}  ol.sample2 li{  position:relative;  line-height: 30px;  margin: 10px auto;  padding: 10px;  border: solid 2px #F6A38B;  border-radius: 7px;  list-style: none;  width: 100%;}  ol.sample2 li .subject{  font-size:1.2em;  font-weight: bold;  width: 100%;  display: block;  padding-left: 50px;  padding-top: 10px;  vertical-align:center;  letter-spacing: 0.2em;}  ol.sample2 li .textblock{  font-size:1.0em;  line-height: 1.7em;  width: 90%;  display: block;  margin: 15px auto 10px;  padding: 0;}  ol.sample2 li .textblock p{  width: 97%;  font-size:1.0em;  line-height: 1.5em;  margin: 5px auto;  padding: 0;}  ol.sample2 li .textblock a{  color: #333;}ol.sample2 li .textblock .qrcode-block {  display: flex;  justify-content: center; /* 中央寄せ */  width: 100%;}ol.sample2 li .textblock .qrcode444 {  width: 250px;  height: 250px;  display: block;}@media (max-width: 768px) {  ol.sample2 li .textblock .qrcode444 {  width: 200px;  height: 200px;  display: block;}}ol.sample2 li:before{  counter-increment: list;  content: counter(list);  position: absolute;  left: 0;  width: 30px;  height: 30px;  margin-left: 20px;  margin-top: 20px;  background: #F6A38B;  text-align: center;  color: #fff;  top: 15px;  -moz-transform: translateY(-50%);  -webkit-transform: translateY(-50%);  -o-transform: translateY(-50%);  -ms-transform: translateY(-50%);  transform: translateY(-50%);}ol.underline00 {  counter-reset:number; /*数字をリセット*/  list-style-type: none!important; /*数字を一旦消す*/  padding: 0.3em 0.8em;  border: solid 2px #ffb107;}ol.underline00 li {  border-bottom: dashed 2px orange;  position: relative;  padding: 0.5em 0.5em 0.5em 30px;  line-height: 1.5em;}ol.underline00 li:before{  /* 以下数字をつける */  position: absolute;  counter-increment: number;  content: counter(number);  /*数字のデザイン変える*/  display:inline-block;  background: #ffb107;  color: white;  font-family: 'Avenir','Arial Black','Arial',sans-serif;  font-weight:bold;  font-size: 15px;  border-radius: 50%;  left: 0;  width: 25px;  height: 25px;  line-height: 25px;  text-align: center;  /*以下 上下中央寄せのため*/  top: 50%;  -webkit-transform: translateY(-50%);  transform: translateY(-50%);}ol.underline00 li:last-of-type {  border-bottom: none; /*最後のliの線だけ消す*/}.image00{  background-image: url("../images/icon.png");  background-repeat: no-repeat;  background-position: right bottom;  background-size: 100px auto;  background-blend-mode:lighten;}.image01{  background-image: url("../images/icon-re.png");  background-repeat: no-repeat;  background-position: left bottom;  background-size: 80px auto;}.border_btn01 {  display: inline-block;  width: 100%;  max-width: 300px; /* ボタン幅 */  color: #019708; /* 文字色 */  border: 2px solid #019708; /* 線幅・種類・色 */  border-radius: 7px;  background: #fff; /* 背景色 */  padding: 1em 2em;  font-weight: bold; /* 文字の太さ */  text-decoration: none;  text-align: center;  transition: 0.3s;  margin: 10px auto;}@media screen and (max-width: 640px) {  .border_btn01 {  width: 100%;    height: auto;    display: block;  max-width: 300px; /* ボタン幅 */  color: #019708; /* 文字色 */  border: 2px solid #019708; /* 線幅・種類・色 */  border-radius: 7px;  background: #fff; /* 背景色 */  padding: 1em 2em;  font-weight: bold; /* 文字の太さ */  text-decoration: none;  text-align: center;  transition: 0.3s;  margin: 10px auto;}}/* マウスオーバーした際のデザイン */.border_btn01:hover {  color: #fff; /* 文字色 */  background: #019708; /* 背景色 */}/*その他---------------------------------------------------------------------------*/.clearfix::after {content: "";display: block;clear: both;}.color-check, .color-check a {color: #ff0000 !important;}.l {text-align: left !important;}.c {text-align: center !important;}.r {text-align: right !important;}.ws {width: 95%;display: block;}.wl {width: 95%;display: block;max-width: 400px;filter: drop-shadow(3px 4px 6px rgba(0, 0, 0, 0.4));}.mb0 {margin-bottom: 0px !important;}.mb30 {margin-bottom: 30px !important;}.mt30 {margin-top: 30px !important;}.look {display: inline-block;padding: 0px 10px;background: #eee;color: #333;border: 1px solid #ccc; border-radius: 3px;margin: 5px 0; word-break: break-all;}.small {font-size: 0.75em;}.large {font-size: 2em; letter-spacing: 0.1em;}.pc {display: none;}.dn {display: none !important;}.block {display: block !important;}	/*画面幅900px以上の追加指定*/	@media screen and (min-width:900px) {	.ws {width: 48%;display: inline;}	.sh {display: none;}	.pc {display: block;}	}/*追加指定ここまで*/