
div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td 
{ margin: 0px; 
  padding: 0px; }
  
table { border-collapse: collapse; 
        border-spacing: 0px; }
		
img { border: 0px none; 
      vertical-align: top; }
	  
/*li { list-style: none outside none; }*/
li{
	margin-left: 1em;
}

h1, h2, h3, h4, h5, h6 { font-size: 100%; 
                         text-align: left; }
						 
a:hover,
a:visited,
a:active {
  text-decoration: none;
  color: inherit;
}

#contents, #contents_main, #ext_area_01, #ext_area_02, .header_sa01, .header_sa02, .header_sa03, .header_sa04, .main_sa01, .main_sa02, .main_sa03, .main_sa04, .main_sa05, .main_sa06, .main_sa07, .main_sa08, .footer_sa01, .footer_sa02, .footer_sa03, .ti_b, #news_ct_h 
{ min-height: 1em; }
		 
		  
body { font-family: Meiryo,arial,sans-serif; 
       padding: 0px; 
	   margin: 0px; 
	   text-align: center; 
	   color: #333; 
	   line-height: 1.5em; 
	   background: #FFF; 
	   font-size: 18px;
       min-width:1200px;
}
	   

	

/*==================== header ====================*/

#header { width: 100%; 
          margin: 0px auto; 
		  padding: 0px; 
		  border-bottom: 2px solid #65AF1A;
		  background: #FFF;
}

#header_inner{
	width: 1200px;
	 margin: 0px auto; 
}

.header_sa01 { clear: both; 
               width: 1200px; 
			   margin: 0px auto; 
			   padding: 0px; }
			   
.header_sa01_l { float: left; 
                 margin: 0px; 
				 padding: 0px; }
				 
.header_sa03 { clear: both; 
               margin: 0px auto; 
			   padding: 0px; }
			   
.header_sa03_c { margin: 0px; 
                 padding: 0px; }
				 
.header_sa04 { clear: both; 
               margin: 0px auto; 
			   padding: 0px; 
			   background: url('./images/pan_bg.gif') repeat-x scroll left top transparent; }
			   
.header_sa04_l { float: left; 
                 margin: 0px; 
				 padding: 0px; }
				 
.header_sa04_r { float: right; 
                 margin: 0px; 
				 padding: 0px; }
				 
#header_logo { margin: 0px; 
               padding: 10px 0px 4px 0px; }
				  
#header_logo p { margin: 0px; 
                 padding: 0px; }	

.logo{
	margin-bottom:10px;
}
.logo_right{
	padding-top:50px;
	padding-right:10px;
}
.img_logo{
	width:65%;
}
	

/*==================== pagetop ====================*/

#ext_area_02 { clear: both; 
               margin: 0px auto; 
			   padding: 0px; }

#ext_area_02 { border-bottom: 7px solid rgb(255, 198, 0); }

#PageTopBt { clear: both; 
             width: 950px; 
			 margin:0px 8px 0px 0px; 
			 text-align: right; }

.ext_area_02_sa01_c { margin: 0px; 
                      padding: 0px; }

#back-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: none;
  width: 50px;
  height: 50px;
  cursor: pointer;
  z-index: 9999; /* 最上位レベルに近い値に設定 */
  opacity: 0.6;
  transition: opacity 0.3s ease;
}
#back-to-top:hover {
	opacity: 1;
}



/*==================== footer ====================*/
		
#footer { clear: both; 
          margin: 0px auto; 
		  padding: 0px; 
		  background:#FFF; }
					  
	
														 
/*==================== copyright ====================*/

#cw {background: #FFF;
     text-align: center;
     padding:1.5em 0px;
}

#cw p { margin: 0px; 
		font-size: 14px; }


/*==================== 全体 ====================*/

h2{
	text-align: left;
	font-size: 40px;
	color: #65AF1A;
	line-height: 140%;
	font-weight: normal;
}

h3{
	font-size:30px;
	font-weight: normal;
	line-height: 120%;
	border-bottom: 1px solid #65AF1A;
	padding-bottom: 10px;
	margin-top: 1em;
}

h4{
	font-size:24px;
	margin: 1.5em 0px 1em 0px;
	font-weight: normal;
}



.form .right select{
    width:auto;
    height:25px;
    font-size:14px;
}

.sub_content_title h2{
	font-size:100%;
}


.pointer{
	cursor:pointer;
}


.contents_inner{
	width:1200px;
	margin:0px auto;
}

.container_s {
    width: 100%;
    max-width: 1200px;
    margin: 0em auto; /* コンテナを中央に配置 */
}

#container { margin: 0px auto; 
             padding: 0px; }

.pan{
	font-size: 14px;
	margin-bottom: 1.5em;
}

article{
	background: #FFF;
	padding:3em 2em;
	box-sizing: border-box;
	border-radius: 20px;
}


/*==================== ホーム ====================*/

.container {
    display: flex; /* フレックスボックスで要素を横並びにする */
    justify-content: space-between; /* 要素の間にスペースを均等に配置 */
    width: 100%;
    max-width: 1200px;
    margin: 2em auto; /* コンテナを中央に配置 */
}

.box {
	display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    gap: 30px; /* 画像とテキストの間にスペース */

    padding: 30px;
    background: #FFF;
    /* width: 31%;各ボックスの幅 設定 */
	height: 200px;
    text-align: center;
    box-sizing: border-box; /* パディングを含めたサイズを計算 */
	border-radius:20px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
	font-size: 30px;
	transition: opacity 0.3s ease;
}
.box:hover {
  opacity: 0.7;
  cursor: pointer;
}

.box div {
    text-align: left;
    line-height: 1.4;
}
.box-link {
  display: block;
  text-decoration: none;
  color: inherit;
  width: 31%;
}

.main_img{
	width: 100%;
	/*height: 350px;*/
	height: 260px;
	border-radius:20px;
	object-fit: cover;
	object-position: right center;
}

.caution_note{
	font-size: 16px;
	background: rgba(255, 255, 255, 0.5);
	padding: 1.5em;
	border: 1px solid #65AF1A; 
	box-sizing: border-box;
	border-radius:20px;
}



/*==================== 記入例、様式 ====================*/

table.article_table{
	width: 100%;
	font-size: 18px;
	margin-top: 1.5em;
}
table.article_table td{
	border: 1px solid #65AF1A; 
	box-sizing: border-box;
}

td a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
  text-align: center;
  padding: 10px 20px;
  box-sizing: border-box;
}
.article_table td a:hover {
  background-color: rgba(236, 237, 204, 0.5);
}

div.inner{
	display: flex; 
	justify-content: space-between; 
	align-items: center;
}


/*==================== Q&A ====================*/

.qanda{
	width: 100%; 
	border: 1px solid #65AF1A;
	box-sizing: border-box;
	padding: 1em;
	margin-bottom: 1.5em;
}
.qanda table{
	width: 100%;
	font-size: 16px;
}
td.q_a{
	width: 7%; 
	font-size: 25px; 
	vertical-align: top;
	color: #666;
	padding-bottom: 1em;
}
td.q_b{
	font-weight: bold;
	color: #666;
	vertical-align: top;
	padding-bottom: 1em;
}
td.a_a{
	font-size: 25px;
	color: #65AF1A;
	vertical-align: top;
}
td.a_b{
	vertical-align: top;
}

.qanda table td a {
   display: inline;
    text-decoration: underline;
    color: #65AF1A;
    padding: 0px;
	text-align: left;
    box-sizing: border-box;
}
.qanda table td a:hover {
  text-decoration: none;
}

sup{
	font-size: 12px;
	vertical-align: super;
}



