/@charset "Shift_JIS"; /* 文字コード指定（削除不可） */
@-ms-view-port{ width:device-width; initial-scale:1.0; }
@-webkit-view-port{ width:device-width; initial-scale:1.0; }
@view-port{ width:device-width; initial-scale:1.0; }

/*====================================================
【テンプレート】foca - ver.6.0.0
【配布元】alevirita  http://a-c.2-d.jp/
【サポート】emアットマークa-c.2-d.jp
=====================================================*/

html,pre,code,input,select,textarea,table,kbd,samp,tt{ font-size:100%; }
html{ line-height:1.4; font-family:Sans-serif; }ol,ul{ list-style-position:outside; }
::before,::after{ line-height:1.2; box-sizing:border-box; vertical-align:inherit; }
html,body,li,dt,dd,li address,li form{ margin:0; padding:0; }
p,form,ol,ul,dl,address,blockquote,pre{ margin:1em 5px; padding:0; }
li ol,li ul,li dl,dd ol,dd ul,dd dl,blockquote ul,blockquote ol,blockquote dl,blockquote p,blockquote pre{ margin:.5em 0; }dd form,td form{ margin:.35em 0; }
li,dd{ margin-left:2em; }fieldset+fieldset,dd+dt{ margin-top:.5em; }code,dfn,kbd,samp,var{ margin:0 .1em; }
table{ margin:1em auto; border-collapse:collapse; }
th,td{ vertical-align:top; text-align:left; padding:.3em .5em; border:1px solid; }
button,input,select,textarea{ line-height:normal; text-transform:none; }
table,iframe,button,input,select,textarea,legend,div{ box-sizing:border-box; }
li address,li form{ display:inline; border:none; background-image:none; }
address,dfn,em,cite,kbd{ font-style:normal; }em,strong,caption,th,dfn,kbd kbd,b{ font-weight:700; }
em em,strong strong{ font-size:120%; }sub,sup{ line-height:1; }del{ text-decoration:line-through; opacity:.5; }
a{ font:inherit; font-size:inherit; background-color:transparent; text-decoration:underline; }
a:hover{ text-decoration:none; }a:not([href]):hover{ color:inherit; }
abbr[title],acronym[title]{ border-bottom:none; text-decoration:underline; text-decoration:underline dotted; }
pre{ line-height:1.3; border:1px dashed; padding:8px; overflow:auto; }
q{ quotes:"\201c" "\201d" "\2018" "\2019" "\201c" "\201d"; }
q::before{ content:open-quote; font-family:"ＭＳ Ｐ明朝",Serif; }
q::after{ content:close-quote; font-family:"ＭＳ Ｐ明朝",Serif; }
q,blockquote,cite{ font-family:"游明朝",YuMincho,"Hiragino ProN W3","ＭＳ Ｐ明朝",Serif; font-weight:500; }
code{ font-family:Consolas,"Courier New",Osaka-mono,MeiryoUI,monospace; }
pre,samp,kbd { font-family:monospace, monospace; }
var{ font-family:Georgia,"Hiragino ProN W3","ＭＳ Ｐ明朝",Serif; font-style:italic; margin-right:.2em; }
q,blockquote,textarea[disabled],button[disabled],input[disabled]{ cursor:default; }
abbr[title],acronym[title],ins[title],del[title],q[title],span[title]{ cursor:help; }
[type="button"],[type="reset"],[type="submit"],button,[type="radio"],[type="checkbox"],[type="file"]{ cursor:pointer; }
input[type="checkbox"],input[type="radio"],input[type="image"]{ padding:0; border:none; }
table,iframe,object,input[type="text"],input[type="password"],input[type="file"],textarea,legend,img{ max-width:100%; }
img{ height:auto; margin:1px 0; border:none; vertical-align:text-bottom; }textarea,iframe{ max-height:90vh; }
fieldset{ border:1px solid; margin:0 2px; padding:.35em .625em .75em; border-radius:5px; }
legend{ color:inherit; display:table; padding:0 .5em; white-space:normal; }
button,input,select,textarea{ vertical-align:text-bottom; margin:.12em 0; }
input[type="text"],input[type="password"]{ padding:.2em .5em; }input[type="radio"],input[type="checkbox"]{ margin:0 .2em; vertical-align:middle; }textarea{ overflow:auto; padding:.5em; line-height:1.3; }
li input,li textarea,li select,li button,dt input,dt textarea,dt select,dt button,li img,dt img,address img{ vertical-align:middle; }
hr{ box-sizing:content-box; background:transparent; height:0; overflow:visible; }
h1,h2,h3,h4,h5,h6{ margin:1em 0 .3em; font-weight:800; line-height:1.3; vertical-align:middle; }
h1{ font-size:170%; }h2{ font-size:150%; }h3{ font-size:135%; }h4{ font-size:115%; }h5,h6{ font-size:100%; }
#PAGETOP::after{ content:""; display:block; clear:both; }#MENU h2,#FOOTER h2{ display:none; }
div.text hr{ border-width:4px 0 0; border-style:double; margin:1.5em 25%; }
#PAN{ list-style-type:decimal; }
#PAN>li,li[id^="MENU"],li[id^="FOOTER"]{ box-sizing:border-box; word-wrap:break-word; line-height:1.3; }
li.menu-on a{ pointer-events:none; cursor:default; color:inherit; text-decoration:none; }
ul.modori{ border:none; background:transparent none; margin-left:20%; margin-bottom:0; text-align:right; }
ul.modori li{ display:inline; margin-left:1em; }

@media handheld,tty{
	body{ background:#FFFFCC; color:#000000; }
	h1,h2,h3,h4,h5,h6{ margin:0; padding:3px; font-size:100%; }
	h1{ text-align:center; }h2{ padding-top:20px; background-color:#333300; color:#FFFFCC;}
	h3{ background-color:#666633; color:#FFFFCC; border-bottom:3px solid #333300; }
	h4{ background-color:#999966; color:#FFFFCC; }h5{ border-bottom:2px solid #CCCC99; }
	kbd{ color:#FF6600; }q,blockquote{ color:#006633; }strong{ color:red; }
	hr{ color:#333300; background:#333300; border-color:#333300 }#PAN{ display:none; }
}
@media print{ 
	html{ background:#fff none; color:#000; font-size:12pt; font-family:Serif; }
	h1,h2,h3,h4,h5,h6{ page-break-after:avoid; font-family:Sans-Serif; }
	h1{ text-align:center; }h2,h3,h4{ padding-top:.5em; }h2{ border-top:3px solid; }h3{ border-top:1px solid; }h4{ border-top:1px dashed; }h6{ margin-left:1em; }
	a[href^="http"]::after{ content:" ("attr(href)") "; font-size:smaller; }
	blockquote{ margin-left:5%; border:1px solid; padding:.5em 1em; }
	blockquote[cite]::after{ content:attr(cite); display:block; font-size:smaller; border-top:1px solid #000; margin-top:.5em; padding-top:.25em; text-align:right; }
	blockquote::after,pre{ white-space:pre-wrap; word-wrap:break-word; }
	abbr[title],acronym[title]{ text-decoration:none; }
	abbr[title]::after,acronym[title]::after { content:" [?：" attr(title) "]"; font-size:smaller; } 
	#PAGETOP{ width:100%; }#PAN,#MENU,hr,ul.modori,del{ display:none; }div.text hr{ display:block; }
	#FOOTER{ border-top:3px double; }
}
@media screen{

html{ -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; }

	/* ★見出し基礎 */
h1,#KIZI h2{ margin-top:0; }
#HEADER h1,#KIZI h2{ margin-bottom:0; }
h2,h3,h4,h5,h6{ padding:.2em 10px; }
p+h3,ul+h3,ol+h3,dl+h3,blockquote+h3,table+h3,form+h3,address+h3,pre+h3,p+h4,ul+h4,ol+h4,dl+h4,blockquote+h4,table+h4,form+h4,address+h4,pre+h4,p+h5,ul+h5,ol+h5,dl+h5,blockquote+h5,table+h5,form+h5,address+h5,pre+h5,p+h6,ul+h6,ol+h6,dl+h6,blockquote+h6,table+h6,form+h6,address+h6,pre+h6{ margin-top:2rem; }
h1 a:link,h1 a:visited{ text-decoration:none; color:inherit; }
h1 a:hover,h1a:focus{ text-decoration:underline; }

	/* ★リスト要素 */
:root #PAN,:root #MENU ul,:root #FOOTER ul{ font-size:0; }
:root #PAN li,:root #PAN::before,:root #PAN::after,:root #MENU li,:root #FOOTER li{ font-size:1rem; }
#MENU>h2+ul,#FOOTER>h2+ul{ margin:0; }
ol+ol,ul+ul{ border-top:1px dashed #DDD; padding-top:1em; }
dt,dd{ padding:.25em 10px; color:#000; }
dt{ background-color:#F3F3F3; border:1px solid #CCC;  }
dd{ margin-left:0; padding-left:2em; background-color:#FFF; }
dt+dt{ margin:0; border-top:none; }
dt+dd,
dd+dd{ border:solid #CCC; border-width:0 1px 1px; }
blockquote dl,blockquote dt,blockquote dd{ border:none; background:transparent; color:inherit; padding:0; }
blockquote dd{ margin-left:2em; }

	/* ★フォーム */
fieldset{ border-color:#CCC; }

	/* ★追加削除 */
ins{ border:solid #FFAA25; border-width:0 0 2px; text-decoration:none; }
div>ins{ display:block; margin:1em 0; padding:.25em 10px; border-width:2px;  }
div>ins::before{ content:"追加"; display:block; margin:0 -5px .35em; padding:.35em .45em; 
	border-bottom:1px dashed #FFAA25; 
	color:#FFAA25; font-size:small; font-weight:600; font-family:Helvetica,Arial,Sans-Serif; }
body>ins[datetime]::before,
div>ins[datetime]::before{ content:"追加：" attr(datetime); }

	/* ★画像 */
img[align="right"]{ margin-left:10px; }
img[align="left"]{ margin-right:10px; }
a img{ margin:2px 1px; padding:2px; max-width:calc(100%-8px); color:#333; background:#FFF; }
a:link img{ border:1px solid; border-color:#CCC #999 #999 #CCC; }
a:visited img{ border:1px solid; border-color:#999 #CCC #CCC #999; background:#EEE; }
a:hover img,
a:focus img{ border-color:#DDD #555 #555 #DDD; background:#FFF; }

a img.link,a.link img,.link a img{ max-width:100%; padding:0; border:none; background:transparent none; }
a.link:link,a.link:visited{ border:none; }
li[id^="MENU"] a img{ margin:0; padding:0; border:none; max-width:100%; }

	/* ★テーブル */
table,caption,th,td{ border:solid #222; }
table { border-width:2px 1px; background:#FFF; color:#000; text-shadow:none; }
caption{ padding:.25em .5em; background-color:#000; color:#FFF; text-align:left;
		  border-radius:10px 10px 0 0; border-width:1px 1px 0; }
caption a:link{ color:#FFF; }caption a:visited{ color:#CCC; }
th,td{ border-width:1px; border-style:double solid; }
thead th,thead td{ border-bottom-width:3px;}
tfoot th,tfoot td{ border-top-width:3px; }
thead th,
thead td,
tfoot th,
tfoot td{ background-color:#CCC; }
tbody th{ background-color:#EEE; }
td:empty{ background-color:#F5F5F5; }

	/* ★引用文 */
blockquote,q{ color:#0E5D4D; }
q{ margin:0 .2em; background:linear-gradient(to bottom, transparent 60%, rgba(215,250,220,.5) 0%); }
q q{ background:none; }
blockquote{ padding:.5em 10px .5em 20px; border:1px solid #8CC79A; overflow:hidden; }
blockquote::before{ display:block;content:"Quote.";  background:rgba(215,250,220,.5);
	margin:-.5em -10px 1em -20px; padding:.5em; font-weight:600;  }
blockquote[title]::before{ content:"Quote:"attr(title); }

	/* ★その他ブロック要素 */
address{ padding:.5em .8em; border:solid #F7E6F2; border-width:1px 0; background:#FFF8FD; color:#000; }
li address{ padding:0 .1em; }
pre{ padding:.6em 0; border:solid #F0E5D9; border-width:10px 15px; border-radius:10px; 
	background:#F0E5D9; color:#000; word-wrap:normal; text-shadow:none; }
hr{ display:none; }
div.text hr{ display:block; border-color:#CCC; }

	/* ★その他インライン要素 */
code{ color:#652109; }
pre code{ margin:0; padding:0; }
em{ text-shadow:1px 1px 0 rgba(0,0,0,.15); }
strong{ color:#F91919; text-shadow:0 0 2px yellow; }
kbd{ padding:.1em .25em; border:1px dotted #999; background:#FFFEDA; color:#000; }
kbd kbd{ padding:0; border:none; }
samp{ padding:0 .2em; background-color:#E4F1FE; color:#000; }


	/* ▼基礎 */
html
{
	background:#F6F6F6;
	color:#000;
	font-size:15px;
	font-family:'San Fransisco', Arial, Helvetica, YuGothic, '游ゴシック', Meiryo, 'メイリオ', Sans-serif;
	font-weight:500;
	line-height:1.65;
}

	/* ▼リンク色 */
a:link   { color:#3131F8; }
a:visited{ color:#774482; }
a:hover,
a:focus  { color:#A02C37; }
a:active { color:#F91919; }

	/* ▼見出しデザイン */
h2{ border-top:2px solid #333; border-bottom:3px double #888;}
h2::before{ content:""; display:inline-block; width:0; height:0; margin-right:.3em; 
	border:solid 15px; border-color:#CCC transparent transparent transparent; position:relative; bottom:-5px;}
h3{ border-bottom:1px solid #888; }
h3::before{ content:""; display:inline-block; width:.5em; height:.5em; border-radius:.25em; margin-right:.5em;
	background:#FFF; box-shadow:0 0 5px rgba(0,0,0,.7); }
h4{ border-bottom:1px dashed #888; }
h4::before{ content:""; display:inline-block; width:.5em; height:2px; background:#CCC; margin-right:.5em; }
h5{ padding-left:25px; border-bottom:1px dotted #999; }
h6{ padding-left:50px; }


	/* ▼レイアウト */

#HEADER,#MENU,#KIZI,#FOOTER{ background:#FFF; }
#PAGETOP{ margin:10px; }
#HEADER{ padding:1.5em 15px; border-top:5px solid #000; border-bottom:1px dotted #000; }
#HEADER h1::before{ content:""; display:inline-block; vertical-align:middle; padding-right:10px; float:left; }
#PAN{ margin:.25em 0; padding:0; }
#PAN li{ display:inline; margin:0; padding-right:.3em; }:root #PAN li{ font-size:12px; }
#PAN li+li:before{ content:">"; padding-right:.3em; font-weight:400; }
#MENU{ padding:15px 10px; border-bottom:4px solid #333; counter-reset:cdp_menu; }
#MENU>ul:first-child{ margin:0; }
li[id^="MENU"]{ display:inline-block; margin:5px 0; padding:1px 10px; vertical-align:top; }
li[id^="MENU"]+li{ border-left:1px solid #CCC; }
li[id^="MENU"] a{ display:block; position:relative; color:#333; margin:0; font-weight:600; 
	text-decoration:none; min-width:3em; }
li[id^="MENU"]>a:before{ counter-increment:cdp_menu; content:counter(cdp_menu) "."; color:#888; font-size:12px; font-weight:400; }
li[id^="MENU0"]>a:before{ content:"0" counter(cdp_menu) "."; }
li[id^="MENU"] a::after { transition:.3s; content:""; position:absolute; bottom:0; left:0; width:0; height:2px; background:#000; }
li.menu-on>a::after,
li[id^="MENU"] a:hover::after,
li[id^="MENU"] a:focus::after { width:100%; }
li[id^="MENU"] ul,
li[id="MENU"] li{ display:inline; margin:0 .25em; padding:0; }
#KIZI{ margin-top:10px; padding-bottom:1px; border-top:2px solid #333; border-bottom:1px dotted #333; }
div.text{ padding:5px 2% 1em; }
ul.modori a{ padding:.1em .5em; background:#EEE; color:#666; text-decoration:none; }
ul.modori a:hover,
ul.modori a:focus{ background-color:#DDD; }
#FOOTER{ padding:15px 10px; border-bottom:5px solid #000; text-align:right; }
li[id^="FOOTER"]{ display:inline; list-style-type:none; margin:0; padding:0 .4em; }

/*=====================
  ★カスタマイズ
=======================*/

	/* ▼アイコン */
#HEADER h1::before
{
	content:url(foca/h1.png); /* 画像URI */
}

}
@media only screen and ( max-width:669px ) /* ★スマフォサイズ以下 */
{
	#PAGETOP{ margin:10px auto; }

	/* ▼INDEX以外メニューを下に */
	#PAGETOP{ display:flex; flex-direction:column; }
	body:not(#INDEX) #MENU{ order:1; margin-top:0; }
	body:not(#INDEX) #FOOTER{ order:2; }
}
@media only screen and ( min-width:670px )  /* ★ファブレットサイズ以上 */
{
	#PAGETOP
	{
		/* ▼全体寄せ位置 */
		margin-right:auto;
		margin-left:auto;

		/* ▼全体最大横幅 */
		max-width:800px;
	}
	
	div.text{ padding-left:4%; padding-right:4%; }
}
@media only screen and ( min-width:960px ) /* ★PCサイズ以上 */
{
	/* ▼2カラム */
	/* 【28%】メニューカラム幅（2箇所） */
	/*
	#HEADER,
	#MENU
	{
		float:left;
		clear:left;
		width:28%;
	}
	#KIZI,
	#FOOTER
	{
		margin-left:calc( 28% + 10px );
	}

	#HEADER h1::before{ display:block; float:none; }
	#HEADER h1,#PAN{ text-align:center; }
	#MENU li[id^="MENU"]{ display:block; border:none; }
	#KIZI{ margin-top:0; }
	*/
	/* ▲2カラムここまで */

}
	/* ▼その他 */
@media only screen and (max-width:30rem)
{
	li ol,li ul{ list-style-position:inside; border-left:1px solid #000; margin-left:.5em; }
	li li{ margin-left:0; padding-left:1em; }
	dd{ padding-left:1em; }
}