@charset "UTF-8";
/* CSS Document */

/* ====================================================== */
body, a, img, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, 
fieldset, input, textarea, p, blockquote, th, td{
    margin: 0; 
    padding: 0;
}
/*
body,
body *	{ font-family: "ＭＳ Ｐゴシック", "MS PGothic", "Osaka－等幅", Osaka,sans-serif;}
*/

/* ------------------------------------------------------
	<iframe> */
iframe	{
	overflow-x:hidden;
	background-color: transparent;
}

/* news<iframe>　※iPadスクロールバー表示用 */
#news iframe	{ border: 1px;}


/* ======================================================
	文字
*/
.M_black
{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
}


h1,h2,h3,h4,h5	{
	margin-bottom: 1em;
	letter-spacing: 1px;
	line-height: 1;
}
h1	{
	font-size:0.8em;
	font-weight:normal;
}
h2	{
	font-size:1.2em;
	font-weight:bold;
	text-align:left;
}
h3	{
	font-size:1.2em;
	font-weight:bold;
	text-align:left;
}
h4,h5	{
	font-size:1em;
	font-weight:normal;
}

small	{
	font-size:0.8em;
	font-weight:normal;
}
big	{font-size:1.2em;}
strong	{}
.StrongUnder	{
	border-style:solid;
	border-width:0 0 1px 0;
	border-color: #c33;
}
em	{
	font-style: normal;
	color: #c33;
}
.jisage	{padding-left:2em;}
.r	{text-align:right;}
.l	{text-align:left;}
.pic	{
	font-size:0.8em;
	font-weight:bold;
	text-align:center;
}
.modoru	{
	font-size: 0.8em;
	text-align: right;
	margin-top: 1em;
	margin-bottom: 1em;
}

/* ※印 */
.kome li	{
	list-style : none;
	text-indent: -1em;
}
.kome	{
	padding-left:1em;
	text-indent:-1em;
}

.nowrap	{white-space:nowrap;}

sup,sub,
.Alert,
.ErrorMessage	{ color: #c33; }
sup,sub	{
	font-weight:normal;
	line-height:1em;
}
.ErrorMessage	{ text-align: left; }


/* 段落を付ける */
.Indent	{
	text-align: left;
}
.Indent p	{
	text-indent: 1em;
/*
	margin-top: 1rem;
	margin-bottom: 1rem;
*/
}


/* ======================================================
	<img>
------------------------------------------------------ */
img	{
	max-width: 100%;
	height: auto;
}

.img>.Wrap,
.img img
{
	display: block;
	width: 100%;
}

/* 範囲内へ納める・全体 */
.ImgFit
{
	display: inline-block;
	width: 100%;
}

.ImgFit img
{
	display: block;
	width: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

/* 範囲内へ納める・はみ出させる */
.ImgCover
{
	display: block;
	width: 100%;
}

.ImgCover img
{
	display: block;
	width: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* 画像無し */
.NoImg
{
	display: table;
	display: inline-block;
	position: relative;
	width: 100%;
	min-height: 5em;
	background-color: rgba(0,0,0,0.1);
	border-width: 0;
	border-style: dashed;
	text-align: center;
	color: rgba(0,0,0,0.5);
	opacity: 0.6;
}

.NoImg:after
{
	font-size: 0.8em;
	content: "no image";
	display: table-cell;
	display: inline-block;
	position: absolute;
	top: calc(50% - 0em);
	left: 0;
	width: 100%;
	line-height: 0em;
}
/*
	height: 100%;
*/

.NoImg img
{
	width: 100%;
}


/* ------------------------------------------------------
	<a> */
a img	{vertical-align:middle;}
span a	{
	background-image: url(../img/mark1.gif);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 15px;
}

/* ------------------------------------------------------
	<div> */
.Main div	{margin-bottom:1.5em;}
.Note	{ padding-left: 25px; }

/* <div>・plain */
.box	{margin-bottom:0;}

/* <hr> */
hr	{
	margin-top: 2em;
	margin-bottom: 2em;
	border-style: solid;
	border-width: 0px;
	height: 1px;
	background-color: #f2a3b4;
}

/* ------------------------------------------------------
	<ul><ol><li> */
ul,ol	{margin-left:1.5em;}
.Main li	{
	margin-bottom: 0.2em;
	margin-top: 0.3em;
}
/* <ul>任意の文字 */
.mark ul	{
	list-style-image: none;
	list-style: none;
	margin-left: 1em;
	letter-spacing: 0px;
	font-size: 1em;
	text-indent: -1em;
	margin-bottom: 5px;
}
.mark li	{ margin-top: 5px; }
.mark ul input	{ margin: 0; }

/* <ul>任意の文字の中の<ul> */
.mark ul ul	{
	margin-left: 0px;
	font-size: 100%;
	margin-top: 0px;
}
.mark ul ul,
.mark ul ul.box	{ margin-left: 1em; }
.mark ul ul.box li	{
	display: inline;
	float: left;
	width: 24.5%;
}


/* ------------------------------------------------------
	<dl> */
dt	{
	font-weight: bold;
	font-size: 1.2em;
}
dd	{
	margin-left:2em;
	margin-bottom: 1em;
}

/* ------------------------------------------------------
	<table>基本 幅100% */
table	{ width: 100%; }

/* <thead> */
thead th	{
	width: auto;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	line-height: 1.5;
}
thead th small	{
	font-size: 1em;
	font-weight: normal;
}
/* <tfoot> */
tfoot	{
	border-top-width: 1px;
	border-top-style: solid;
}
tfoot th,
tfoot td	{
	border-top-width: 1px;
	border-top-style: solid;
	text-align: right;
	white-space: nowrap;
	width: auto;
}

/* <table>の中の<table> */
table table,
table table th	{
	width: auto;
}

/* センター揃、センター揃えの中の<table> */
.TableCenter	{ text-align: center; }
.TableCenter table	{
	width: auto;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
/* 左揃えの中の<table> */
.l table	{
	width: auto;
	margin-left: 0px;
	margin-right: auto;
}
/* 右揃えの中の<table> */
.r table	{
	width: auto;
	margin-left: auto;
	margin-right: 0px;
}
/* 幅自由の<table> */
.TableAuto	{
	width: auto;
}
/* 幅自由の<table>・中揃え */
.TableAutoCenter	{
	width: auto;
	margin-left: auto;
	margin-right: auto;
}
/* 幅自由の<table>・左揃え */
.TableAutoLeft	{
	width: auto;
	margin-left: 0;
	margin-right: auto;
}
/* 幅自由の<table>・右揃え */
.TableAutoRight	{
	width: auto;
	margin-left: auto;
	margin-right: 0;
}
/* 線を消す */
.TableNoLine,
.TableNoLine th,
.TableNoLine td	{ border-width: 0; }
/* 背景を消す */
.TableNoBg,
.TableNoBg th,
.TableNoBg td	{ background: none; }

/* 価格セル */
.tb_price	{
	text-align: right;
	white-space: nowrap;
}

/* デフォルト(指定全てクリア) */
.Table_df,
.Table_df table	{
	width: auto;
	padding: 0;
	margin: 0;
}
.Table_df th,
.Table_df td,
.Table_df table th,
.Table_df table td	{
	vertical-align: middle;
	width: auto;
}

/* ------------------------------------------------------
	<form> */
form,fieldset,input,textarea	{
	padding: 2px;
	font-size: 1em;
}

form	{ padding: 0px; }
input,textarea	{ letter-spacing: 1px; }
textarea	{ line-height: 1.5; }

/* Google */
@media screen and (-webkit-min-device-pixel-ratio:0) {
	input	{ padding:5px; }
	textarea	{ 
		font-size: 1em;
		padding: 5px;
		}
}
/* IE */
input	{  }

/* ------------------------------------------------------
	<table>内のボタン */
.BtnBg,
.BtnBg th,
.BtnBg td	{
	background: none;
	text-align: center;
	border-width: 0;
}

/* 入力エリア */
.InputL,
.TextareaL,
.TextareaL1,
.TextareaL2,
.TextareaL3,
.TextareaMax	{
	width: 98%;
	width: 95%\9;	/* IE hack */
}
.InputLM,
.TextareaLM	{ width: 90%; }
.InputM,
.TextareaM,
.TextareaM2,
.TextareaM3,
.TextareaM4	{ width: 50%; }
.InputS,
.TextareaS	{ width: 12em; }
.InputMin,
.TextareaMin	{ width: 6em; }

/* ボタン */
.BtnSubmit,
.BtnBack,
.BtnOk,
.BtnUpload	{ padding: 5px;}

/* ボタン・リセット、確認画面へ */
.BtnSubmit	{
	text-align: center;
	margin-top: 1em;
}
/* ボタン・管理ページへ戻る、設定する、送信する */
.BtnBack,
.BtnOk	{
	width: 15em;
/*
	padding:0.5em 2em;
	line-height: 2.5;
*/
}
/* ボタン・アップロード */
.BtnUpload	{
	vertical-align: middle;
	margin-right: 5px;
}

/* ラジオボタン */
.BtnRadio	{
	margin-right: 5px;
	vertical-align: middle;
}
/* チェックボタン*/
.BtnChec	{
	margin-right: 5px;
	vertical-align: text-bottom;
}

/* <textarea> */
.TextareaL,
.TextareaK	{ height: 8em; }

.TextareaL1,
.TextareaM1,
.TextareaS1	{ height: 2em; }
.TextareaL2,
.TextareaM2,
.TextareaC2,
.TextareaS2	{ height: 3.5em; }
.TextareaLM,
.TextareaM3,
.TextareaL3,
.TextareaC3,
.TextareaS3	{ height: 5em; }

.TextareaMax	{ height: 15em; }

/* ------------------------------------------------------
	携帯用・14文字分 */
.InputK,
.TextareaK	{ width: 14em; }


/* ====================================================== */
.box:after,
#Contents:after,
.img_l:after,
.img_r:after,
.Block_l:after,
.Block_r:after
	{
	content:url(../sp.gif);
	display:block;
	clear:both;
	height:0px;
}
.box,
#Contents,
.img_l,
.img_r,
.Block_l,
.Block_r
	{display:inline-block;}
.box,
#Contents,
.img_l,
.img_r,
.Block_l,
.Block_r
	{display:block;}


.img_l table,
.img_l th,
.img_r table,
.img_r th,
.Block_l table,
.Block_l th,
.Block_r table,
.Block_r th	{
	width: auto;
}
.img_l th,
.img_r th,
.Block_l th,
.Block_r th	{ white-space: nowrap; }

.img_l img,
.Block_l .BlockBox	{
	float: left;
	margin-right: 1em;
}
.img_r img,
.Block_r .BlockBox	{
	float: right;
	margin-left: 1em;
}


/* ======================================================
	AdobeReaderダウンロード */
.DLLAdobeReader	{
	width: auto;
	font-size: 0.8em;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}
.DLLAdobeReader,
.DLLAdobeReader th,
.DLLAdobeReader td	{
	border-width: 0;
	background: none;
}

.DLLAdobeReader tr	{ vertical-align: middle; }




/* ======================================================
	[230630]
	Gallery
------------------------------------------------------ */
.Gallery
{
	margin-top: 3em;

	div
	{
		margin: 0;
	}

	ul,
	ul>li
	{
		margin: 0;
		list-style: none;
	}

	.Img
	{
		display: block;

		img
		{
			display: block;
			width: 100%;
		}
	}
}


.ReikaiDetail
{
	.Gallery
	{
		.Img
		{
			img
			{
				aspect-ratio: 1;
				object-fit: contain;
			}
		}
	}
}


