@charset "utf-8";

/* ---------------------------------------------------------
 reset
--------------------------------------------------------- */

	* , *:before , *:after { -webkit-box-sizing: inherit; box-sizing: inherit; }
	body, div, p, span, a, form, h1, h2, h3, h4, h5, h6, ul, li, table, th, td { font-weight:normal; margin:0; padding:0; word-wrap:break-word; }
	body { font-size: 16px; font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }
	div p {  box-sizing:border-box; }
	img { border:0; }
	li { list-style-type:none; }
	table { border-collapse:collapse; border-spacing:0; }
	select { margin:0; padding:2px; vertical-align:middle; }
	textarea , input[type="text"] , input[type="email"] , input[type="password"] { margin:0; padding:4px; font-size: 1.1rem; }
	input[type="submit"], input[type="reset"], input[type="button"], button { border:0px; cursor:pointer; }
	input[type="file"] { font-weight:bold; margin:10px 0; }
	input[type="checkbox"] , input[type="radio"] { transform:scale(1.4); }


/* ---------------------------------------------------------

--------------------------------------------------------- */

	#header-home-logo { width: 80px; }
	#header-home-logo-mobile { width: 60px; }

	#page-header { text-align: left; padding: 1rem; display: flex; justify-content: center; align-items: center; gap: 0 50px; }
		#page-header .pageheader-in-up { margin-bottom: 1rem; }
		.page-header-anc {
		  border-radius: 0.6rem;
		  text-align: center;
		  text-decoration: none;
								color: rgba(160,250,220,0.7);
								color: #009797;
			color: darkblue;
			display: inline-block;
			margin-right: 2rem;
			font-family:"游ゴシック","游ゴシック体","ヒラギノ角ゴ Pro W3";
			font-weight:bold;
		  padding: 0 1rem;
								border: 2px solid darkblue;
								border: 2px solid rgba(160,250,220,0.7);
			border: 3px solid #009797;
			line-height: 2rem;
		}
	#page-header-mobile { display: none; }
	#burger-menu-block {
		display: none;
		background: #ccc;
		background: #eae7b4;
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
		#burger-menu-block a {
		  text-decoration: none;
			color: darkblue;
			display: block;
			font-family: "游ゴシック","游ゴシック体","ヒラギノ角ゴ Pro W3";
			font-weight: bold;
			text-align: center;
			margin-top: 1rem;
			margin-bottom: 1rem;
		}

	@media screen and (max-width:1200px) {
		#page-header { display: none; }
		#page-header-mobile { padding: 6px 100px; display: flex; justify-content: space-between; align-items: center; }
		#header-burger-icon { width: 40px; }
	}
	@media screen and (max-width:600px) {
		#page-header-mobile { padding: 6px 20px; display: flex; justify-content: space-between; align-items: center; }
	}

/* ---------------------------------------------------------

--------------------------------------------------------- */

	#page-title { }
	#page-body { }
	#page-error {
		border: 2px solid #ccc;
		color: red;
		font-size: 1.1rem;
		margin: 2rem 0;
		padding: 1rem;
		font-weight:bold;
	}

	#goto-pagetop {
		display: inline-block;
		position: fixed;
		right: 20px;
		bottom: 20px;
		height: 40px;
		line-height: 40px;
		width: 150px;
		text-align: center;
		z-index: 9000;
		background: darkorange;
		background: darkblue;
		background: #009797;
		color: #fff;
		border-radius: 0.6rem;
		font-family: "游ゴシック","游ゴシック体","ヒラギノ角ゴ Pro W3";
		font-weight: bold;
	}

/* ---------------------------------------------------------

--------------------------------------------------------- */

	.grad-line-wrap { background: linear-gradient(to right, #fff 0%, #009797 20%, #009797 80%, #fff 100%); height: 2px; padding-top: 2px; }

	#h1-index {
		border-top: 4px solid #333;
		border-bottom: 4px solid #333;
		background:url('./imgs/front_back_111.jpg') center; background-size:cover; height: 5rem;
		color: #fff;
		padding-top: 2rem;
		padding-bottom: 2rem;
		font-weight:bold;
		text-shadow: 3px 3px 4px #000;
		font-size: 2.5rem;
	}

	.h2-block { position: relative; font-size: 1.2rem; box-sizing: border-box; font-weight: bold; padding: 4px; }
	.h2-block::after { content: ""; position: absolute; left: 25%; bottom: -2px; height: 2px; width: 50%; display: block; }
	.h2-block { border-bottom: 2px solid #009797; }
	.h2-block::after { background-color: #50e7e7; }
	.notice-box { color: red; }

	.sub-head-index {
		border-top: 4px solid #333;
		border-bottom: 4px solid #333;
		padding-top: 2rem;
		padding-bottom: 2rem;
		font-weight:bold;
		font-size: 1.5rem;
	}

	#contents-wrapper {
		text-align: center;
	}
		#contents-wrapper > div {
			text-align: left;
			display:inline-block;
			width: 80%;
			max-width: 1000px;
		}
		#contents-body-box {
			padding-top: 2rem;
		}

	.box-border { border-radius: 0.6rem; padding: 1rem; }
	.box-border-1 { border: 1px solid #000; }
	.box-border-2 { border: 2px solid #000; }
	.box-border-weak-1 { border: 1px solid #bbb; }
	.box-border-weak-2 { border: 2px solid #bbb; }
	.box-border-main-1 { border: 1px solid #009797; }
	.box-border-main-2 { border: 2px solid #009797; }
	.box_under-border { border-bottom: 2px dotted #000; }

	.block-inbox-index { color: #fe7500; font-size: 1.1rem; }
		.block-inbox-index img { width: 40px; }

											@media screen and (max-width:1200px) {
												#xpage-header p { display: block; }
												#xpage-header .pageheader-in-up { margin-bottom: 1rem; }
											}
	@media screen and (max-width:1100px) {
		#h1-index { background:url('./imgs/front_back_111_mb.jpg') center; background-size:cover; height: 5rem; }
		#contents-wrapper > div { width: 98%; }
	}


/* ---------------------------------------------------------
 box-margin
--------------------------------------------------------- */

	.Sud-box  { margin:1em 0;  }
	.Mud-box  { margin:2em 0;  }
	.SSud-box { margin:0.6em 0;}
	.MMud-box { margin:1.4em 0;}
		.Sud-pad  { padding:1em 0;  }
		.Mud-pad  { padding:2em 0;  }
		.SSud-pad { padding:0.6em 0;}
		.MMud-pad { padding:1.4em 0;}

	.Su-box  { margin-top:1em;   }
	.Mu-box  { margin-top:2em;   }
	.SSu-box { margin-top:0.6em; }
	.MMu-box { margin-top:1.4em; }
	.Sd-box  { margin-bottom:1em;   }
	.Md-box  { margin-bottom:2em;   }
	.Ld-box  { margin-bottom:3em;   }
	.SSd-box { margin-bottom:0.6em; }
	.MMd-box { margin-bottom:1.4em; }
	.LLd-box  { margin-bottom:2.5em; }
		.Su-pad  { padding-top:1em;   }
		.Mu-pad  { padding-top:2em;   }
		.SSu-pad { padding-top:0.6em; }
		.SSSu-pad { padding-top:0.2em; }
		.MMu-pad { padding-top:1.4em; }
		.Sd-pad  { padding-bottom:1em;   }
		.Md-pad  { padding-bottom:2em;   }
		.Ld-pad  { padding-bottom:3em;   }
		.SSd-pad { padding-bottom:0.6em; }
		.SSSd-pad { padding-bottom:0.2em; }
		.MMd-pad { padding-bottom:1.4em; }
		.LLd-pad { padding-bottom:2.5em; }

	.Sw-box  { margin-left:8px;  margin-right:8px;  }
	.Mw-box  { margin-left:2rem; margin-right:2rem; }
	.SSw-box { margin-left:4px;  margin-right:4px;  }
	.MMw-box { margin-left:12px; margin-right:12px; }
	.Sw-pad  { padding-left:8px;  padding-right:8px;  box-sizing:border-box; }
	.SMw-pad  { padding-left:1rem;  padding-right:1rem;  box-sizing:border-box; }
	.Mw-pad  { padding-left:2rem; padding-right:2rem; box-sizing:border-box; }
	.SSw-pad { padding-left:4px;  padding-right:4px;  box-sizing:border-box; }
	.MMw-pad { padding-left:12px; padding-right:12px; box-sizing:border-box; }

	.S-R-box  {  margin-right:1em;   }
	.M-R-box  {  margin-right:2em;   }
	.L-R-box  {  margin-right:4em;   }
	.SS-R-box {  margin-right:0.4em; }
	.S-L-box  {  margin-left:1em;   }
	.M-L-box  {  margin-left:2em;   }
	.L-L-box  {  margin-left:4em;   }
	.SS-L-box {  margin-left:0.4em; }

	.S-R-pad  {  padding-right:1em;   box-sizing:border-box; }
	.M-R-pad  {  padding-right:2em;   box-sizing:border-box; }
	.L-R-pad  {  padding-right:4em;   box-sizing:border-box; }
	.SS-R-pad {  padding-right:0.4em; box-sizing:border-box; }
	.S-L-pad  {  padding-left:1em;   box-sizing:border-box; }
	.M-L-pad  {  padding-left:2em;   box-sizing:border-box; }
	.L-L-pad  {  padding-left:4em;   box-sizing:border-box; }
	.SS-L-pad {  padding-left:0.4em; box-sizing:border-box; }


/* ---------------------------------------------------------
 box-size
--------------------------------------------------------- */

	.lineht-SS { line-height:1.2rem; }
	.lineht-S  { line-height:1.8rem; }
	.lineht-M  { line-height:2.2rem; }
	.lineht-MM { line-height:2.8rem; }
	.lineht-L  { line-height:3.5rem; }
	.lineht-LL { line-height:4.5rem; }
	.indent-box { margin-left:1em; }
	.indent-box-S { margin-left:0.4em; }
	.indent-box-L { margin-left:3em; }
	.indent-pad { padding-left:1em; box-sizing:border-box; }
	.indent-pad-S { padding-left:0.4em; box-sizing:border-box; }
	.middle-box { vertical-align:middle; }
	.vertop-box { vertical-align:top; }
	.ht-100p { height:100%; line-height:100%; }
	.wd-100 { width:99%; margin-left:auto; margin-right:auto; }
	.wd-96 { width:96%; margin-left:auto; margin-right:auto; }
	.wd-90 { width:90%; margin-left:auto; margin-right:auto; }
	.wd-80 { width:80%; margin-left:auto; margin-right:auto; }
	.wd-70 { width:70%; margin-left:auto; margin-right:auto; }
	.wd-60 { width:60%; margin-left:auto; margin-right:auto; }
	.wd-max-90 { width:90%; max-width:1000px; }
	.wd-max-80 { width:80%; max-width:800px ; }
	.wd-max-70 { width:70%; max-width:700px ; }
	.wd-max-60 { width:60%; max-width:600px ; }
	.wd-max-50 { width:50%; max-width:500px ; }
	.wd-max-40 { width:40%; max-width:400px ; }
	.lh-14 { line-height:1.4rem; }
	.lh-16 { line-height:1.6rem; }
	.lh-18 { line-height:1.8rem; }
	.lh-20 { line-height:2.0rem; }
	.lh-22 { line-height:2.2rem; }
	.lh-24 { line-height:2.4rem; }
	.lh-26 { line-height:2.6rem; }
	.lh-28 { line-height:2.8rem; }
	.lh-30 { line-height:3.0rem; }
	.lh-35 { line-height:3.5rem; }
	.lh-40 { line-height:4.0rem; }


/* ---------------------------------------------------------
 box-font
--------------------------------------------------------- */

	b { font-family:"游ゴシック","游ゴシック体","ヒラギノ角ゴ Pro W3"; }
	.normal-box { font-size:1rem; }
	.smaller-box { font-size:0.9rem; }
											.xmini-box { font-size:0.9rem; }
	.mini-box { font-size:0.8rem; }
	.nano-box { font-size:0.7rem; }
	.bit-box { font-size:0.6rem; }
	.normal-box { font-size:1rem; }
	.normal-span { font-weight:normal; }
	.big-box { font-size:1.1rem; }
	.bigger-box { font-size:1.2rem; }
	.biggest-box { font-size:2rem; }
	.strong-box { font-family:"游ゴシック","游ゴシック体","ヒラギノ角ゴ Pro W3"; font-weight:bold; }
	.anctext { text-decoration:underline; }
	.summary-txt { font-size:0.9rem; }
	.font-system { font-family:"游ゴシック","游ゴシック体","ヒラギノ角ゴ Pro W3"; }
	.mini-90 { font-size:0.9rem; }
	.mini-80 { font-size:0.8rem; }
	.mini-70 { font-size:0.7rem; }
	.mini-60 { font-size:0.6rem; }
	.mini-50 { font-size:0.5rem; }


/* ---------------------------------------------------------
 else
--------------------------------------------------------- */

	.vermid-text { display:inline-block; vertical-align:middle; }
	.vermid-box span { vertical-align:middle; }
	.vermid-text span { vertical-align:middle; }
	.hide-box   { display:none;         }
	.left-box   { text-align:left;      }
	.right-box  { text-align:right;     }
	.inline-box { display:inline-block; }
	.center-box { text-align:center;    }
	.break-box  { word-break:break-all; }
	.nowrap-box { white-space:nowrap;   }

	.main-txt , .main-txt-B , .main-txt-L , .main-txt-LB , .main-txt-LLB { color:#009797; }
	.main-txt-L , .main-txt-LB { font-size:1.1rem; }
	.main-txt-LLB { font-size:1.2rem; }
	.main-txt-B , .main-txt-LB , .main-txt-LLB { font-weight:bold; font-family:"游ゴシック","游ゴシック体","ヒラギノ角ゴ Pro W3"; font-weight:bold; }

	.run-fine-box , .run-error-box { width:90%; padding:0.8rem; margin:1rem auto; }
	.run-fine-box  { border:2px solid #009797; color:#009797; font-weight:bold; font-family:"游ゴシック","游ゴシック体","ヒラギノ角ゴ Pro W3"; }
	.run-error-box { border:2px solid red; color:red; font-weight:bold; font-family:"游ゴシック","游ゴシック体","ヒラギノ角ゴ Pro W3"; }
	.run-error-box p , .run-error-box span { font-weight:bold; }

	.notice-box { color:red; }
	.inline-box { display:inline-block; }
	.text-vertical-box { writing-mode:-webkit-writing-mode:vertical-rl; -ms-writing-mode:tb-rl; writing-mode:vertical-rl; }
	.mb-br-space { display:inline-block; width:2rem; }
		@media screen and (max-width:1200px) {
			.mb-br-space { display:block; height:0.8rem; }
		}
	.strong-box { font-family:"游ゴシック","游ゴシック体","ヒラギノ角ゴ Pro W3"; font-weight:bold; }
	.icon-normal { width: 22px; height: 22px; line-height: 22px; vertical-align:middle; }
	.icon-small  { width: 18px; height: 18px; line-height: 18px; vertical-align:middle; }
	.icon-mini   { width: 14px; height: 14px; line-height: 14px; vertical-align:middle; }
	.icon-bit    { width: 10px; height: 10px; line-height: 10px; vertical-align:middle; }


/* ---------------------------------------------------------
 form/input
--------------------------------------------------------- */

	select { font-size:0.9rem; border:1px; }
	input , textarea { font-size:1rem; }
	textarea { width:98%; max-width:1000px; }
	.table-inline { display:inline-block; }
	.text-ONE { width:1.6rem; }
	.text-NUM { width:3rem; }
	.text-SSS { width:3rem; }
	.text-SS { width:4.5rem; }
	.text-S  { width:6rem; }
	.text-SM  { width:10rem; }
	.text-SL  { width:16rem; }
	.text-MS  { width:18rem; }
	.text-MM  { width:25rem; }
	.text-ML  { width:50rem; }
	.text-M  { width:75%; min-width:200px;  max-width:500px; }
	.text-L  { width:95%; min-width:650px;  max-width:800px; }
		@media screen and (max-width:600px) {
			.text-L  { width:95%; min-width:95%;  max-width:95%; }
			.text-SM { max-width:95%; min-width:95%;  max-width:95%; }
			.text-SL { max-width:95%; min-width:95%;  max-width:95%; }
			.text-MS { max-width:95%; min-width:95%;  max-width:95%; }
			.text-MM { max-width:95%; min-width:95%;  max-width:95%; }
			.text-ML { max-width:95%; }
		}
	.text-h-S  { height:3rem; }
	.text-h-M  { height:5rem; }
	.text-h-L  { height:10rem; }
	.text-h-LL { height:15rem; }


	.area-M-SS { height:3rem; width:20rem; }
	.area-L-SS { height:3rem; width:40rem; }
	.area-M-S { height:5rem; }
	.area-M-M { height:10rem; }
	.area-M-L { height:20rem; }
	.area-M-S , .area-M-M , .area-M-L { width:20rem;  }
	.area-L-S { height:5rem; }
	.area-L-M { height:10rem; }
	.area-L-L { height:20rem; }
	.area-L-S , .area-L-M , .area-L-L { width:80%;  }
	.area-MM-S { height:5rem; }
	.area-MM-M { height:10rem; }
	.area-MM-L { height:20rem; }
	.area-MM-S , .area-MM-M , .area-MM-L { width:60%;  }
	.area-M-S,
	.area-M-M,
	.area-M-L,
	.area-L-S,
	.area-L-M,
	.area-L-L,
	.area-MM-S,
	.area-MM-M,
	.area-MM-L,
	.area-LL-S,
	.area-LL-M,
	.area-LL-L { max-width:1000px; }
		@media screen and (max-width:600px) {
			.area-L-SS { width:95%; min-width:95%;  max-width:95%; }
			.area-L-S  { width:95%; min-width:95%;  max-width:95%; }
			.area-L-M  { width:95%; min-width:95%;  max-width:95%; }
			.area-L-L  { width:95%; min-width:95%;  max-width:95%; }
			.area-L-S  { width:95%; min-width:95%;  max-width:95%; }
			.area-L-M  { width:95%; min-width:95%;  max-width:95%; }
			.area-L-L  { width:95%; min-width:95%;  max-width:95%; }
			.area-L-S  { width:95%; min-width:95%;  max-width:95%; }
			.area-L-M  { width:95%; min-width:95%;  max-width:95%; }
			.area-L-L  { width:95%; min-width:95%;  max-width:95%; }
			.area-LL-S { width:95%; min-width:95%;  max-width:95%; }
			.area-LL-M { width:95%; min-width:95%;  max-width:95%; }
			.area-LL-L { width:95%; min-width:95%;  max-width:95%; }
		}
