@charset "utf-8";

/*---------------------------------------------------------------------------
/* reset
 --------------------------------------------------------------------------*/

* { margin: 0; padding: 0; }
body,div,dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,
p,blockquote,table,th,td { margin: 0; padding: 0; }

html {
	background-color:#fff;
	height:100%;
	font-family: 'Noto Sans Japanese','游ゴシック',YuGothic,'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','Meiryo','ＭＳ Ｐゴシック','MS PGothic',Sans-Serif;
	font-size:14px/1;
	font-weight:600;
}

body { margin:0 auto;padding:0px;text-align:center;	color: #505050;	font:14px/1;font-weight:600;background-color:#fff;height:100%;-webkit-text-size-adjust: 100%;letter-spacing:0.5px; }


img {border: 0; vertical-align: bottom;}

h1,h2,h3,h4,h5,h6 {clear: both; font-size: 100%;}

ul,dl,ol {text-indent: 0;}
li {list-style: none;}

address,caption,cite,code,dfn,em,strong,th,var {font-style: normal; font-weight: normal;}

sup {vertical-align: text-top;}
sub {vertical-align: text-bottom;}

* html input,* html textarea,* html select {
	font-size: 100%;
	vertical-align: bottom;
}
*:first-child+html+input,*:first-child html+textarea,*:first-child+html select {font-size: 100%;}

table {border-collapse: collapse; border-spacing: 0; font-size: inherit;}
th,td {text-align: left; vertical-align: top;}
caption {text-align: left;}

pre,code,kbd,samp,tt {font-family: monospace;}
* html pre,* html code,* html kbd,* html samp,* html tt {font-size: 100%; line-height: 100%;}
*:first-child+html pre,*:first-child html+code,*:first-child html+kbd,*:first-child+html+samp,*:first-child+html tt {font-size: 108%; line-height: 100%;}

input,select,textarea {padding:2px;}


* html div#container{
	height:100%;
}

/*---------------------------------------------------------------------------
/* set tags
 --------------------------------------------------------------------------*/

ul,ol { margin :0; padding:0; font-size: 100%; }
li { margin: 0; padding:0; line-height: 1.5em; }

hr { border:none;border-top:dashed 1px #cccccc;height:1px;color:#FFFFFF;width:auto;margin-bottom:15px;}

a:link { color: #00349f;text-decoration:underline; }
a:visited { color: #00349f; }
a:active { color: #54f2f2; text-decoration: none; }
a:hover { color: #54f2f2; text-decoration:none; -webkit-transition: all .3s; transition: all .3s; }

img { border: none; vertical-align: top; margin-top: 0; margin-bottom: 0; display:block; }


strong { font-weight: bold; text-transform: none; }

.sp,
.sp320 { display:none; }
.pc { display:block;}

 iframe { width:100%;height:auto; }

figure img { margin:0 auto; }
figure p { font-size:0.8em; }

/*---------------------------------------------------------------------------
/* set common selecter
 --------------------------------------------------------------------------*/

/* set position */
.tCenter {
	width: auto;
	margin-top: 0px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0px;
	padding: 0;
	text-align: center;
	vertical-align: middle;
}

.tRight{margin-left:auto;text-align:right;}

/* set text */
.txSmall  { font-size: 10px; }
.tSmall  { font-size: 11px; }
.tLead  {  font-size: 20px;color: #666; }
.tLarge  { font-size: 22px;font-weight:600; }
.txLarge { font-size: 24px; }
.tsxLarge { font-size: 28px; }

/* set float */
.fLeft { float:left !important;}
.fRight { float:right !important;}

/* set text-color */
.cRed { color:#e40000; }
.cBlue { color:#00349f; }

/* set inner contents */
.contents-inner { margin:0 auto; width:1110px; text-align:left; position: relative; }

/* set body section */
section { }
section p { line-height:2;margin-bottom:20px;}

/* set kadomaru box style */
.rad {
	border-radius: 6px;  
	-webkit-border-radius: 6px; 
	-moz-border-radius: 6px;
}

/* set width for float items */

.w10 { width: 9%; }
.w20 { width: 19%; }
.w30 { width: 29%; }
.w40 { width: 39%; }
.w50 { width: 49%; }
.w60 { width: 59%; }
.w70 { width: 69%; }
.w80 { width: 79%; }
.w90 { width: 89%; }
.w100 { width: 99%; }

.w2clm_l { width:400px; }
.w2clm_r { width:280px; }
.w3clm { width:32% }
.w4clm { width:24% }

/*---------------------------------------------------------------------------
/* layout block
 --------------------------------------------------------------------------*/

/* =======================================
   wrapper
========================================== */

#container{
	width: 100%;
	margin:0;
	position:relative;
	min-width:100%;
	text-align:center;
}

body > div#container {
	height: auto;
	min-height: 100%;
}

div#main{
	padding-bottom: 200px;
}

/* =======================================
   contents section
========================================== */

#contents {
	margin: 100px 0 0 0;
	width: 100%;
	height: auto;
	position: relative;
	z-index:99999;
	padding:0;
	background:rgba(255,255,255,0.6);
}

#contents-inner {
	margin: 0 auto;
	width:960px;
	padding: 20px 0 40px;
	background-color: #fff;
	display: block;
	zoom: 1;
	height: auto;
	position: relative;
	text-align:left;
}

section div.section { padding-left:20px;padding-bottom:30px;padding-right:20px; }

/*---------------------------------------------------------------------------
/* navigation
 --------------------------------------------------------------------------*/

nav#header {width:80%;margin:0 0 30px auto;position:relative;}
nav#header ul {
	padding: 0;
	margin: 0;
	vertical-align: top;
	list-style-type: none;
}

nav#header ul li {
	display: inline;
	padding: 0;
	margin: 0;
	vertical-align: top;
	float:left;
	position:relative;
	width:49%;
	zoom:1;
}

nav#header ul li a {
	width:auto;
	padding:0 10px;
	height:40px;
	text-align:center;
	font-size:14px;
	line-height:40px;
	background-color:#ef7b45;
	color:#fff;
	text-decoration:none;
	display:block; 
}
nav#header ul li:last-child a {
	margin-left:2%; 
}

nav#header ul a:hover {
	background-color: #ffcb47;
	color: #fff;
	text-decoration: none;
}
nav#header:after {
	content:"";
	display:block;
	height:1px;
	clear:both;
}

span.password { font-size: 150%; font-family: monospace; font-weight: bold; margin: 0px 0.3em; }
input.sec_button[type=button] { font-size: 125%; margin: 2em; padding:10px;cursor:pointer; }
div.guide { background-color: #e0e0e0; padding: 3px 1em; }


/*========================================
   pagetop  
==========================================*/
.page-back {
    position: relative;
    display: block;
    width: 100px;
    height: 66px;
    margin:0 0 0 auto;
}
.page-back a {
    position: relative;
    display: block;
    width: 100px;
    height: 66px;
    margin: 0;
    padding: 46px 0 10px 0;
    text-align: center;
    font-size: 11px;
}

.page-back a::before, .page-back a::after {
    position: absolute;
    top: 0;
    bottom: 50px;
    left: 3px;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.page-back a::before {
    right: 0;
    width: 20px;
    height: 20px;
    border-top: 2px solid #ccc;
    border-right: 2px solid #ccc;
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
}

/*---------------------------------------------------------------------------
/* items
 --------------------------------------------------------------------------*/
/* =======================================
   set list styles ( contents )
========================================== */

.section ul,
.section ol {
	margin:0;
	padding:0;
} 

.section ul li {
	list-style-type:none !important;
	line-height:1.5em !important;
	margin:0 0 0.5em 0;
	padding:0 0 0 1em;
	list-style-position:inside;
	font-size:1em;
	text-indent: 0em;
	line-height:1.8em;
	position:relative;
}

.section ul.normal li:after{ position:absolute;top: 10px; left: 0; content: "\f111";font-family: FontAwesome; font-size:6px; margin-top: -10px;color:#3ca9db;}

.section ol li {
	list-style-image:none;
	list-style-type:decimal;
	line-height:1.5em !important;
	margin:0 0 0.5em 1em;
	padding:0 0 0 1em;
	list-style-position:inside;
	font-size:1em;
	text-indent: -1.5em;
	line-height:1.8em;
}

/*---------------------------------------------------------------------------
/* float
 --------------------------------------------------------------------------*/

/* =======================================
   7-1: float clear
========================================== */

.clearfix:after {
  content: " ";
	display: block;
	clear: both;
	height: 0;
}
.clearfix { display: block; }

/*---------------------------------------------------------------------------
/* text styles
 --------------------------------------------------------------------------*/

/* =======================================
   lead text
========================================== */

h1,h2,h3,h4,h5,h6 { clear:both; }
h2,h3,h4,h5,h6 { margin-bottom:30px; }
h1 {
	display: block;
	margin: 0;
	padding: 45px 0 50px;
	width: 100%;
	font-size: 2em;
	font-weight:600;
	color: #000;
	line-height:1.8em;
	text-align:center;
	background:url(../imgs/back_h1.jpg) bottom center repeat-x;
}

section h2{
  position: relative;
  padding: .75em 1em .75em 1.5em;
  border: 1px solid #ccc;
  font-size:1.2em;
}
section h2::after {
  position: absolute;
  top: .5em;
  left: .5em;
  content: '';
  width: 6px;
  height: -webkit-calc(100% - 1em);
  height: calc(100% - 1em);
  background-color: #5eb1bf;
  border-radius: 4px;
}
section h3{
  position: relative;
  padding: 1em;
  background-color: #f6f6f6;
}
section h3::after {
  position: absolute;
  top: 0;
  right: 0;
  content: '';
  width: 0;
  border-width: 0 16px 16px 0;
  border-style: solid;
  border-color: #fff #fff #ddd #ddd;
  box-shadow: -1px 1px 2px rgba(0, 0, 0, .1);
}

/*---------------------------------------------------------------------------
/* spacer
 --------------------------------------------------------------------------*/
.pt05 {padding-top:5px;}
.pt10 {padding-top:10px;}
.pt15 {padding-top:15px;}
.pt20 {padding-top:20px;}
.pa10 {padding:10px;}
.pa20 {padding:20px;}
.pa30 {padding:30px;}

.ml05 {margin-left:5px !Important;}
.ml10 {margin-left:10px !Important;}
.ml15 {margin-left:15px !Important;}
.ml20 {margin-left:20px !Important;}

.mb00 {margin-bottom:0px !Important;}
.mb05 {margin-bottom:5px !Important;}
.mb10 {margin-bottom:10px !Important;}
.mb15 {margin-bottom:15px !Important;}
.mb20 {margin-bottom:20px !Important;}
.mb30 {margin-bottom:30px !Important;}
.mb40 {margin-bottom:40px !Important;}
.mb50 {margin-bottom:50px !Important;}
.mb60 {margin-bottom:60px !Important;}
.mb70 {margin-bottom:70px !Important;}
.mb80 {margin-bottom:80px !Important;}
.mb90 {margin-bottom:90px !Important;}
.mb100 {margin-bottom:100px !Important;}

.mr05 {margin-right:5px !Important;}
.mr10 {margin-right:10px !Important;}
.mr15 {margin-right:15px !Important;}
.mr20 {margin-right:20px !Important;}


/*---------------------------------------------------------------------------
/* corner box
 --------------------------------------------------------------------------*/

.box_01 {
	padding: 20px;
	width: auto;
	border: 1px solid #CCC;
	background-color: #FFFFFF;
	line-height: 1.5em;
}

.box_02 {
	padding: 20px;
	width: auto;
	background-color: #e6e6e6;
	line-height:1.5em;
}

.box_03 {
	padding: 20px;
	background-color: #fff;
	line-height: 1.5em;
}

/*---------------------------------------------------------------------------
/* table
 --------------------------------------------------------------------------*/

table {
	border-top:1px solid #efefef;
	border-left:1px solid #d9d9d9;
	border-right,
	border-bottom:0;
	border-collapse: collapse;
	margin: 0 0 30px;
	font-size: 0.8em;
	width:100%;
}
table.tbl_border_b { border-top:2px solid #000; }
table th {
	border-color: #efefef;
	border-style: solid;
	border-width: 0 1px 1px 0;
	font-weight: bold;
	padding: 10px 14px;
	line-height: 1.5em;
	text-align: center;
	background-color: #d9d9d9;
	vertical-align: middle;
}
table td {
	border-color: #efefef;
	border-style: solid;
	border-width: 0 1px 1px 0px;
	background-color: #FFF;
	padding: 10px 14px;
	line-height: 1.5em;
	vertical-align: middle;
}
table thead th {
	background-color: #3ca9db;
	font-size: 1em;
	font-weight: bold;
	color:#fff;
}
table ul	{ margin:0 !important; padding:0 !important; }
table li	{ line-height:1.8em;margin:0; font-size:1em !important; }
table p		{ line-height:1.6em;margin:5px 0; }
table dl 	{ margin: 0 0 -1px;zoom:1;position: relative; }
table dt	{ float: left;clear: left;width: 12em;padding: 3px 0 3px;zoom:1; }
table dd 	{ padding: 3px 0 3px 12em;	zoom:1; }
table .orange { background:#ffcb47; }
th.border_b,td.border_b { border-bottom:2px solid #000; }

/* =======================================
   for inner table
========================================== */

table table		{ border:none;margin:0;padding:0; }
table table th	{ border:none; line-height:1.6em; margin:0; padding:0; font-weight: bold; }
table table td	{ border:none;font-size: 1em;line-height:1.6em;margin:0;padding:2px; }

table th.c, td.c	{ text-align:center; }
table th.m, td.m 	{ vertical-align:middle; }
table th.r, td.r 	{ text-align:right; }

/*---------------------------------------------------------------------------
/* page design (common) 
 --------------------------------------------------------------------------*/
 
/* scroll box
---------------------------------------- */

.scr { padding:10px; overflow-y:scroll;	position: relative; }

.h100 { height:100px; }
.h200 { height:200px; }
.h300 { height:300px; }
.h400 { height:400px; }
.h500 { height:500px; }
.h600 { height:600px; }

.h150{height:150px;}
.h250{height:250px;}
.h450{height:450px;}

/* photo gallery
---------------------------------------- */
.photogallery { width:auto;overflow:hidden;margin:0 0 50px;display:flex;justify-content:space-between;-webkit-flex-wrap: wrap;flex-wrap: wrap;}
.photogallery .photo { width:30%;margin:0 0 15px;position:relative;}
.photogallery .photo_h { width:48%;margin:0 0 15px;position:relative;}
.photogallery .photo_4 { width:24%;margin:0 0 15px;position:relative;}
.photogallery .photo img,
.photogallery .photo_h img,
.photogallery .photo_4 img{ width:100%;}
.photogallery a:hover img { -webkit-transition: all .3s; transition: all .3s;opacity: .5;-webkit-opacity: .5;-moz-opacity: .5;}
.photogallery .textbox {width:65%;}
.photogallery div.cap {width:100%;padding:20px 0;font-size:1.4em;}
.photogallery div.cap span {width:100%;display:block;padding:0 0 10px;}
.photogallery div.cap_s {position:relative;width:100%;padding:10px 0;font-size:1.2em;line-height:1.3em;}
.photogallery div.cap_s span {display:block;width:100%;padding:5px 0;font-size:1.5em;}

/*---------------------------------------------------------------------------
/* page design (own) 
 --------------------------------------------------------------------------*/

/* sample list button */
.dispSample {width:180px;margin:0;position:relative;float:right;}
.dispSample:after {
	display:block;
	width:100%;
	height:1px;
	content:"";
	clear:both;
}
.dispSample ul {
	padding: 0;
	margin: 0;
	vertical-align: top;
	list-style-type: none;
}

.dispSample ul li {
	display: inline;
	padding: 0;
	margin: 0;
	vertical-align: top;
	position:relative;
	width:100%;
	zoom:1;
}

.dispSample ul li a {
	width:auto;
	padding:0 10px;
	height:40px;
	text-align:center;
	font-size:14px;
	line-height:40px;
	background-color:#ef7b45;
	color:#fff;
	text-decoration:none;
	display:block; 
}

.dispSample ul a:hover {
	background-color: #ffcb47;
	color: #fff;
	text-decoration: none;
}
.dispSample:after {
	content:"";
	display:block;
	height:1px;
	clear:both;
}

/* number list */
.numberText{
	padding-left: 1em;
	text-indent: -1em;
	margin-left: 1em;
}

.numberText span.num {display:inline-block; width:1em;}

/* openclose panel */
.openPanel {
	
}
 
.openPanel > dt {
  cursor: pointer;
  padding: 10px 0;
  font-weight: bold;
  text-decoration:underline;
}

.openPanel > dt:hover {
  text-decoration:none;
}

.openPanel > dd {
  margin: 0px;
  padding: 10px 0;
}

.openPanel > dd .close {
	padding:10px;
	cursor: pointer;
	text-decoration:underline;
	color:#00349f;
}

.openPanel > dd .close:hover {
	text-decoration:none;
	color: #54f2f2;
}


.tableInner {
	position:absolute;
	display:inline-block;
	height:40px;
	width:96%;
	background-color:#ffcb47;
  	position:relative;
  	text-align:center;
  	line-height:40px;
  	margin-bottom:10px;
}

.tableInner:before {
  position:absolute;
  content:"";
  width:0;
  height:0;
  border:30px solid transparent;
  border-left:40px solid #ffcb47;
  right:-10%;
  top:-10px;
}