@charset "UTF-8";
/* ======================
# Typography
# Module
 = GoogleMap、iframe
====================== */
/*-------------------------------
# Typography
-------------------------------*/ 
#content p{margin-bottom:16px;}
section p:last-child{margin-bottom:0;}

.oneCol #main h1:first-child,
.twoCol #main h1:first-child,
.oneCol #main h2:first-child,
.twoCol #main h2:first-child,
article + h1:first-child
article + h2:first-child{margin-top: 0 !important;}
/* == 見出し */
h1 { font-size: 187.5% /*30px*/;}
h2 { font-size: 150% /*24px*/; padding: 30px 20px;}
h3 { font-size: 125%/*20px*/;}
h4 { font-size: 112.5%/*18px*/;}
h5 { font-size: 112.5%/*18px*/;}
h1, h2, h3, h4, h5, h6 { line-height: 1.3; margin-top: 20px;}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { text-decoration: underline;}
h2 { clear: both;}
h4, h5, h6 { font-size: 100%; margin-bottom: 16px;}
h1 {margin: 0 auto 30px; padding: 30px 15px;}
h2 {padding: 20px 15px; margin-top: 40px; margin-bottom: 30px; background-color: #E8F7D2; color:#3E3026; }

.h2_front { display: flex; justify-content: center; align-items: center; gap:2.5%;	text-align: center; line-height: 1;	padding:0;	margin-top: 30px;	margin-bottom: 30px;	background:none;	border: none; position: relative;}
.h2_front::before,
.h2_front::after { content: ""; width: 36px; height: 30px; background: url("../images/bg_h2_a.svg") no-repeat center bottom; background-size: contain;}
.h2_front::before{background-image:url("../images/bg_h2_b.svg"); position: relative; border: none; border-radius: 0; left: auto; top: auto;}
@media print,screen and (min-width:769px) {
 .h2_front::before,
 .h2_front::after { width: 49px; }
}
h3 { color: #17820B; background-color:transparent; margin-top: 30px; margin-bottom: 20px; padding: 0 0 10px;	border-bottom: 1px solid #CBD2D9;}
h3 a{ color: #17820B; background-color:transparent;}
/*h2・h3 装飾*/
.hPoint{ background: none; border-bottom: none; color: #036D9C; margin:0 auto 15px; padding:30px 0 10px; text-align: center; position: relative;}
.hPoint a{color: #036D9C; background-color:transparent;}
.hPoint::before{content: ""; position: absolute; left: 0; right: 0; bottom: 3px; margin: auto;
background: url("../images/bg_h3.svg") no-repeat 0 0; height: 2px; width: 80px;}

h4 { margin-top: 30px; margin-bottom: 15px; padding: 2px 0 5px 12px; position: relative;}
h4::before{ content: ""; position: absolute; top: 0; left: 0; width: 3px; height:100%; background-color:#17820B; color:#3E3026;}
h5 { color:#17820B; background-color:transparent; margin-top: 30px; margin-bottom: 15px; padding: 0;}

blockquote { font-size: 93.75%/*15px*/; background: #F5F5F5; color:#3E3026; padding: 20px; margin: 40px 0 1em;}
blockquote p:last-child { margin-bottom: 0;}
pre { font-size:93.75%/*15px*/; background: #F5F5F5; color:#3E3026; line-height: 1.6; margin-bottom: 1.6em; max-width: 100%; overflow: auto; padding: 1.6em;}
/*-------------------------------
# Module
-------------------------------*/
p { margin: 0 0 20px 0;}
p + p { margin-top: 0;}
.clear { clear: both;}

/*= font style*/
.small { font-size: 87.5%/*14px*/;}
.large { font-size:  112.5%/*18px*/;}
.xlarge { font-size: 150%/*24px*/; line-height: 1.5;}
/*文字色（WW編集KITで入力）*/
.text_black { color: #3E3026;background-color:transparent;}
.text_blue { color: #035F87;background-color:transparent;}
.text_green { color: #105F07;background-color:transparent;}
.text_red { color: #B40F0F;background-color:transparent;}

/* テーブル
-------------------------------*/
table { border-collapse: collapse; border-spacing: 0; margin: 0 0 30px; border-color:#CBD2D9; border-style: solid; border-width: 0;}
table[border="1"] { border-width: 1px; border-right-width: 0; border-bottom-width: 0;}
table[border="2"] { border-width: 2px; border-right-width: 0; border-bottom-width: 0;}
table[border="3"] { border-width: 3px; border-right-width: 0; border-bottom-width: 0;}
table[border="4"] { border-width: 4px; border-right-width: 0; border-bottom-width: 0;}
table[border="5"] { border-width: 5px; border-right-width: 0; border-bottom-width: 0;}
table tr, 
table th, 
table td { border-color:#CBD2D9; border-style: solid; border-width: 0; vertical-align: top; height: auto !important;}
table[border="1"] td, table[border="1"] th { border-right-width: 1px; border-bottom-width: 1px;}
table[border="2"] td, table[border="2"] th { border-right-width: 2px; border-bottom-width: 2px;}
table[border="3"] td, table[border="3"] th { border-right-width: 3px; border-bottom-width: 3px;}
table[border="4"] td, table[border="4"] th { border-right-width: 4px; border-bottom-width: 4px;}
table[border="5"] td, table[border="5"] th { border-right-width: 5px; border-bottom-width: 5px;}
table tr:hover th,table tr:hover td{	background-color:#F5F5F5; color: #3E3026;}
table th { background-color: #D7F0FB; color:#3E3026; font-weight: 700;}
caption, th, td { padding: 10px 12px;}
th p:last-child, td p:last-child, th ul:last-child, td ul:last-child, td table { margin-bottom: 0 !important; line-height: 1.5;}
table td a { position: relative; padding-left: 12px;}
table td a::before { content: ""; position: absolute; left: 0px; top: 10px; width: 6px; height: 6px; border-top: 2px solid #CBD2D9; border-right: 2px solid #CBD2D9; -webkit-transform: rotate(45deg); transform: rotate(45deg);}
table p{margin-bottom: 5px;}

/*スクロールテーブル*/
 .tblScroll {margin: 0 auto 30px; padding: 0; }
 .tblScroll table {margin-bottom: 0;}
@media screen and (max-width:1210px){
 .tblScroll {overflow-x:auto; position: relative; }
 .tblScroll > .scl {width: 100%;}
 .tblScroll.overflow > .scl {width: 700px; margin-top:20px; margin-bottom: 0; border-top: 1px solid #CBD2D9; }
 .tblScroll.overflow > .scl::before{content: ""; position: absolute; background: url("../images/ico_tblScroll.svg") no-repeat 0 2px; width: 118px; height: 18px; left: 2px; top:-2px; }
}

/*線なしテーブル
table.tblNoborder,
table.tblNoborder th,
table.tblNoborder td {	border: none !important;}
table.tblNoborder th{border-bottom: 2px solid #FFF !important;}
table.tblNoborder th.inverse-blue,
table.tblNoborder th.inverse-black{border-bottom: none !important;}
table.tblNoborder th:last-child{border-bottom: none !important;}
*/
/*
 = GoogleMap、iframe
-------------------------------*/
.frameBox{margin-bottom: 30px;}
@media print,screen and (max-width:480px) { 
.frameBox{display: flex; justify-content: center;}
}
@media print,screen and (max-width:1210px) { 
 .frameBox {	position: relative;	padding-bottom: 280px;	overflow: hidden;}
 .frameBox iframe{	position: absolute;	top: 0;	left: 0;	width: 100% !important;	height: 100% !important;}
}
/*------------------------------- */
/*画像配置*/
.imgright,.imgleft,.imgcenter,
.imgRight,.imgLeft,.imgCenter{ display: block; margin:0 auto 10px;}
.innerbox:after {clear: both; height: 0; visibility: hidden; display: block; content: "";}
@media print,screen and (min-width:768px) { /* Tablet */
 .imgright, .imgRight { display: inline; clear: both; float: right; margin: 0 0 10px 10px;}
 .imgleft, .imgLeft { display: inline; clear: both; float: left; margin: 0 10px 10px 0;}
 .imgcenter, .imgCenter { clear: both; margin: 0 auto 10px; display: block;}
/* end min-width: 768px */}
