@charset "utf-8"; 

/* Mainエリア内のデザインを記述する。ただし、各ページ固有のデザインは、各ページのヘッダー内に記述する。 */

/* 見出し＆本文 */
#pagetitle { margin-left:15px; font-size:24px; }

main h2, main h3, main h4, main h5, main h6, main p { margin:0 0 1em; padding:0.2em 10px; }


h3 {margin:8px 15px 0 18px; padding:0; color:#f2a346; text-align:left; font-size:18px;font-weight:normal; }
h4 {margin:8px 25px 0 18px; padding:0; color:#f2a346; text-align:left; font-size:18px; border-bottom:#454545 dotted 1px;font-weight:normal; line-height:1.4; }
h5 {margin:8px 0 0 14px; padding:0; color:#f2a346; text-align:left; font-size:16px;font-weight:normal; }

.arth1 {font-weight: 100; float:none; font-size:30px;margin:10px 0 15px 10px; text-align:left; color:#666666;}

.arth2 { margin:10px; padding:8px; border-bottom:1px dotted #000000; font-size:18px; color: #4D4D4D; text-align:left; border-left:4px #f2a346 solid;}

.arth3 {margin:10px; padding:0; color:#E28439; text-align:left; font-size:18px; border-bottom:#454545 dotted 1px;font-weight:normal; line-height:1.4;}

.niti {background: #609CE3; color: #FFFFFF; font-size: 18px;padding: 4px;}
.fsl { font-size:120%;}
.min_h { min-height: 100vh;}
.cr { color: #FF0004;}

.ti1 { text-indent:-1em; margin:0 0 0 1em;}
.ti2 { text-indent:-2em; margin:0 0 0 2em;}

.news_flow {width:98%; height:400px;overflow-y:scroll; }

dl.news { overflow: hidden; zoom: 1; margin:00px 0 0 10px; padding:5px; font-size:14px; width:710px;}
dl.news dt { width:100px; float: left; clear: both;margin:0 0 8px; padding:8px 0 0;}
dl.news dd { margin:0 0 8px 101px;text-align:left; padding:8px 0 0px;}
dl.news .nbb {border-bottom:1px #424242 dotted; padding:8px 0 8px;}

.t_c { text-align:center;}
.t_r { text-align:right; margin:0 20px 0 0;}
.t_l { text-align:left}
.f_r { float:right; margin:10px 25px 0 10px}
.f_l { float:right;text-align:right}
.f_l p {text-align:right}

.max200 { max-width: 200px; margin: auto;text-align: center;}



/*ポップアップ*/

#popup {
  display: none; /* label でコントロールするので input は非表示に */
}

.popup-open {
  cursor: pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
}

.popup-overlay {
  display: none; /* input にチェックが入るまでは非表示に */
}

#popup:checked ~ .popup-overlay {
  display: block;
  z-index: 99999;
  background-color: #00000070;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
}

.popup-window {
  width: 90vw;
  max-width: 560px;
  padding: 20px;
  background-color: #ffffff;
  border-radius: 6px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.popup-text {
  margin: 0;
}

.popup-text:not(:last-of-type) {
  margin-bottom: 1em
}

.popup-close {
  cursor: pointer;
  position: absolute;
  top: -26px;
  right: 0;
}




/* インライン */
small  { font-size:75%; font-weight:normal; }

a { color:#039; text-decoration:none; }
a:hover { color:#136; text-decoration:underline; }
a img:hover { opacity: 0.8; filter: alpha(opacity=80); }

.R { text-align:right; }
.L { text-align:left; }
.C { text-align:center; }

.fig01 { float:right; }
.fig01 img { box-shadow:1px 2px 8px #999; margin:0 8px 5px 15px; border:5px solid #fff; }
.fig01 figcaption { text-align:right; margin-right:10px; }

/* リスト */
main ul, main ol { padding:0 2em 0.5em; }

.list_deci { list-style-type:decimal;text-align:left; margin:8px 15px 0 32px; padding:0; font-size:16px; line-height:1.9; }
.list_disc { list-style:disc;text-align:left; margin:8px 15px 0 32px; padding:0; font-size:16px; line-height:1.9}
.bbd {margin:0 auto; padding:0;width:94%; }
.bbd li {border-bottom:#666666 1px dotted; text-align:left; list-style:none; font-size:16px; line-height:2;}

/* 表 */
table { border-collapse: collapse; }

.tbl01 { border-collapse:collapse; width:98%; margin:0.5em; font-size:16px;}
.tbl01 th, .tbl01 td { padding:4px; border: none; text-align: left; vertical-align:top;}
.tbl01 th { font-weight:bold; color:#fff; background:#369; text-align: left; }

.tbl02 { border-collapse:collapse; width:95%; margin:0 auto;font-size:16px;}
.tbl02 th, .tbl02 td { padding:10px; border:1px #000 solid;vertical-align:middle;}
.tbl02 th { font-weight:bold; color:#000; background:#FFFAC5; text-align:center;font-weight: normal; }
.tbl02 td {background-color:#fff; text-align:center; }

.tbl03 { border-collapse:collapse; width:98%; margin:0 auto;font-size:14px; }
.tbl03 th, .tbl03 td { padding:5px; border:1px #000 solid;vertical-align: middle;}
.tbl03 th { font-weight:bold; text-align:left; }
.tbl03 td {text-align:left; }

.nowr {white-space: nowrap;width: 30px; padding:0;}

/*バックグラウンドスライド*/
.bg-slider {
	width: 100vw;
	height: 50vh;
	background-position:center center;
	background-size: cover;
	display: flex;
	
}

.logo { text-align:center;margin:0 auto;}
h1 .h1img { margin:auto;width: 100%; max-width: 900px;}
.bg-slider { text-align:center;margin:0 auto;}
.w80 { width:85%; margin: auto;}
.w60 { width:50%; margin: auto;}

.bo1 { text-align:center;display:block;color:#FFF; background-color: #FF3333; margin:0; padding:4px; font-size:14px;font-weight:bold; width:110px;
border-radius:8px;         /* CSS3 */
-moz-border-radius:8px;    /* Firefox */
-webkit-border-radius:8px; /* Safari,Chrome */}
.bo1 a {color:#FFF; text-decoration: none;}
.bo1:hover { background-color: #FF6633;text-decoration: none;}

.bbg { border-bottom:1px dotted #666666; margin:0 0 10px; padding:4px 0}
.cn tr td { text-align:left; font-size:16px}
.pdf { width:120px}

.ge { font-size:12px; margin:2px; padding:13px 2px 0; color: #FFFFFF; background-color:#3366CC; width:101px; height:40px; float:left; text-align:center; line-height:1.2;
border-radius:8px;         /* CSS3 */
-moz-border-radius:8px;    /* Firefox */
-webkit-border-radius:8px; /* Safari,Chrome */}

.ge2 { font-size:12px; margin:2px; padding:5px 2px; color: #FFFFFF; background-color:#3366CC; width:101px; height:40px; float:left; text-align:center;line-height:1.2;
border-radius:8px;         /* CSS3 */
-moz-border-radius:8px;    /* Firefox */
-webkit-border-radius:8px; /* Safari,Chrome */}

.bgs { background-color: #00CC66;}
.bgg { background-color: #FF6633;}
.pc { display:block}
.sp { display: none}
.tar { text-align:right}
.c_b { clear:both}

.bo1 {text-align:center;width: 80%; max-width: 380px;; display:block;  color:#FFF; background-color:#73bba0; margin:5px auto; font-size:20px; font-weight: normal;line-height: 1.2;padding: 8px 2px;
border-radius:5px;         /* CSS3 */
-moz-border-radius:5px;    /* Firefox */
-webkit-border-radius:5px; /* Safari,Chrome */}
.bo1 a {color:#FFF; text-decoration: none; width:100%; display: block;padding:10px 0;}
.bo1:hover {color:#FFF; text-decoration: none; background-color: #5acaae;;}
.bo1:visited   { color: #fff; text-decoration: none;}
.bo1:active   { color: #1fff; text-decoration: none;}


.boso { border:2px solid #A3D378; padding:5px 40px 0; margin:10px;}


/* モニター幅960px以下 */
@media only screen and (max-width:960px) { 

}


/* スマートフォン 横(ランドスケープ) タブレット*/
@media only screen and (max-width:768px) { 
 .bg-slider {
	width: 100vw;
	height: 70vh;}

}


/* スマートフォン 縦(ポートレート) */
@media only screen and (max-width:480px) {
 .bg-slider {
	width: 100vw;
	height: 35vh;}
.pc { display: none}
.sp { display:block}
section, article { margin:0 0 1em; padding:15px; }
}