@charset "shift_jis";

@font-face {
  font-family: YuGothicM;
  src: local("Yu Gothic Medium");
}
html {
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', '游ゴシック Medium', YuGothic, YuGothicM, 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif;
}

body { min-width:100%; }
table {border-collapse:collapse; border-spacing:0; }
div { box-sizing:border-box !important; }

img { vertical-align:bottom; display:block; max-width: 100%; height: auto; margin:0 auto; }
img.pdficon, img.inline { display:inline !important; }

#pages { min-width:320px; margin:0 auto; }
header, footer { clear:both; margin:0 auto; position:relative; }
footer { margin-top:60px; background-color:#898989; }

.mode_pc { display:block; }
.mode_pcs { display:block; }
.mode_sp { display:none;visibility:hidden; }
.mode_sps { display:none;visibility:hidden; }
.nsbr { white-space:nowrap; }
.urlstr { word-break:break-all !important;word-wrap:break-word; overflow-wrap:break-word; }
.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }

/* ---------- basic area ---------- */
.cols11, .cols11f { width:100%;clear:both; }
.cols21, .cols21f { width:50%;float:left;margin:0; }
.cols31, .cols31f { width:33.2%;float:left;margin:0; }
.cols32 { width:66.4%;float:left;margin:0; }
.cols41, .cols41f { width:25%;float:left;margin:0; }
.cols43 { width:75%;;float:left;margin:0; }


.igmap { position: relative; padding-top: 75%; height: 0; overflow: hidden; }
.igmap iframe, .igmap object, .igmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }



/* -------------------- Universal -------------------- */
#pages { background-color:#fff; }
#pagecontents {
	width:100%;
	margin:0 auto;
	width:100%;	/*1160px;	*/
	max-width:1160px;
	color:#707070;
	font-size:100%;
	color:#000000;
}

p { line-height:1.8;margin:0 0 1em 0; }

.sectionblock {	padding-top:100px; }
.page_header_img { margin-top:80px; }
.page_header_img h1 { margin:0;padding:0; }
.page_header_img img { width:100%; }


.page_header_img { position:relative; }
.phhd_txt {
	position:absolute;
	top: 50%;
	left:8%;
	transform: translate(0, -50%);
	font-size:260%;font-weight:bold;
	color:#fff;
	text-shadow:0px 0px 6px rgba(0,0,0,0.8);
	letter-spacing:3px;
}
.phhd_txt span {
	display:inline-block;
	opacity: 0;
	transform: translateY(-25px);
	transition: opacity, transform;
	transition-duration: 0.6s;
}
.phhd_txt span.tview {
	opacity: 1;
	transform: translateY(0px);
}
.phhd_txt span.tview:nth-child(1)  { transition-delay: 0s;}
.phhd_txt span.tview:nth-child(2)  { transition-delay: 0.08s;}
.phhd_txt span.tview:nth-child(3)  { transition-delay: 0.16s;}
.phhd_txt span.tview:nth-child(4)  { transition-delay: 0.24s;}
.phhd_txt span.tview:nth-child(5)  { transition-delay: 0.32s;}
.phhd_txt span.tview:nth-child(6)  { transition-delay: 0.40s;}
.phhd_txt span.tview:nth-child(7)  { transition-delay: 0.48s;}
.phhd_txt span.tview:nth-child(8)  { transition-delay: 0.56s;}
.phhd_txt span.tview:nth-child(9)  { transition-delay: 0.64s;}
.phhd_txt span.tview:nth-child(10) { transition-delay: 0.72s;}
.phhd_txt span.tview:nth-child(11) { transition-delay: 0.80s;}


.textblock { padding-left:10px; padding-right:10px; }


h1.pagetitle {
	margin:0 10px 40px 10px;
	font-size:200%;
	padding:0;
	letter-spacing:0.25em;
	text-align:center;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
	color:#222222;
	font-weight:bold;
}

h2.section_title {
	font-size:180%;
	padding:0;
	margin:0 10px 40px 10px;
	letter-spacing:0.25em;
	text-align:center;
	color:#222222;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
	font-weight:bold;
}
.phone { font-size:200%;color:#222222; }


a.txt_banner {
	padding:5px 30px 5px 20px;
/*	background:url('../images/common/txt_arrow_w.png') right center no-repeat #9fa0a0;	*/
	font-size:100%;
	color:#ffffff;
	text-decoration:none;
	border-radius:2px;
}
a.txt_banner:hover {
/*	background:url('../images/common/txt_arrow_w.png') right center no-repeat #82B6BD;	*/
}

.page_bottom_link {
	padding-top:40px;
	padding-bottom:30px;
}


#colorbox, #cboxContent, #cboxLoadedContent {
	box-sizing:content-box !important;
}

.photo_img_cols>a>img:hover {
	opacity:0.8;
}
.photo_img_cols span.caption {
	position:absolute;
	right:0;
	bottom:0;
	text-align:right;
	padding:5px;
	color:#707070;
	font-size:80%;
	text-shadow:1px 1px 1px #ffffff, -1px -1px 1px #ffffff,1px -1px 1px #ffffff, -1px 1px 1px #ffffff;
}

.youtube_wrap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 2px;
	height: 0;
	overflow: hidden;
}

.youtube_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.backbt_line {
	text-align:center;
	margin:80px auto 80px auto !important;
}
a.back_bt {
	padding:10px 80px;
	box-sizing:border-box;
	border:2px #707070 solid;
	border-radius:12px;
	text-align:center;
	text-decoration:none;
	color:#707070;
	line-height:1;
}
a.back_bt:hover {
	background-color:#707070;
	color:#ffffff;
}
/* -------------------- /Universal -------------------- */


/* -------------------- share SNS -------------------- */
ul.snsshare {
	padding: 0;
	margin:40px 0;
	list-style: none;
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
}
ul.snsshare li {
	flex:0 0 110px;
	margin:5px;
	text-align: center;
	padding:0;
}
ul.snsshare li i {
	display: block;
	font-size: 2.2rem;
}
ul.snsshare li a { text-decoration: none; display:block; padding:4px 0; color:#fff; font-size:12px; border-radius:6px; }
ul.snsshare li a img { height:20px; display:inline-block; vertical-align:middle; }
ul.snsshare li:hover { opacity: 0.7; }

ul.snsshare li.twitter a { background-color:#1DA1F2; }
ul.snsshare li.snsx a { background-color:#000; }
ul.snsshare li.facebook a { background-color:#1877F2; }
ul.snsshare li.line a { background-color:#00B900; }
/* -------------------- /share SNS -------------------- */


/* ---------- news list & view ---------- */

.news_list_block h2 span { font-size:95%; }
.news_list_block h2 span.viewall-list { float:right; font-size:70%; font-weight:normal; }
.newslist { margin:0; padding:0 }
.newslist li {
	padding-top:5px;
	list-style:none;
/*	border-bottom:1px #aaaaaa dotted;*/
}
.newslist li a { display: block; text-decoration:none; transition-duration:0.3s; }
.newslist li:hover { background-color:#efefef; }
.newsli-dat {
	display:block;
	font-size: 90%;
	clear: both;
	float: left;
	width: 220px;
	padding:6px 0 6px 0;
	color:#707070;
}
.newsli-tit {
	display:block;
	font-size: 100%;
	line-height: 1.5;
	margin-left:230px;
	padding: 4px 0 10px 0;
	color:#707070;
}
/* ----- all list page ----- */
#listpage .newsli-dat {
	width:220px;
	float:left
}

/* ----- */
.w_img_txt_area { /*width:65%; float:right;*/ }
.news_mainimg_area { /*width:30%; float:left;*/ padding-bottom:20px; }
.news_view_date { font-size:90%; display: block; text-align:left; padding:7px 0 4px 110px; margin:0 !important; line-height:1em !important; }
.news_view_title { background-color:#e8e8e8; padding:8px; margin-bottom:24px !important; text-align:center; font-size:120%; line-height:1.2em; font-weight:bold; color:#444444; }
.news_add_img { padding:10px 0; margin:0; text-align:center; }
.news_txt_area { font-size:100%; line-height:1.8em; }
.news_view_footer { padding:80px 0 20px 0; text-align:center; }
.file_down { padding: 40px 0 40px 40px; text-align: left; }
.news_cate1 { background:url('../images/news_cate.png') 7.5em -5px no-repeat; }
.news_cate2 { background:url('../images/news_cate.png') 7.5em -83px no-repeat; }
.news_cate3 { background:url('../images/news_cate.png') 7.5em -163px no-repeat; }

.news_view_date.news_cate1 { background-position:0 -3px; }
.news_view_date.news_cate2 { background-position:0 -85px; }
.news_view_date.news_cate3 { background-position:0 -165px; }

.ymd_ip {
	padding:0 6px;
	background-color:#DD223E;
	color:#ffffff;
	border-radius:4px;
	font-size:90%;
}
.newmark { display:inline-block; vertical-align:baseline; width:3em; height:1em; background:url('../images/newmark_g.png') center center no-repeat; background-size:contain; }

.kanripreview { text-align:center; color:red; margin-bottom:20px; }


/* --------- dl table ------ */
dl.dl_table, dt, dd { margin: 0; padding: 0; }
dl.dl_table { background: #f7f7f7; border: 1px solid #aaaaaa; border-top: none; }
dl.dl_table dt, dl.dl_table dd { padding: 6px; line-height:1.5; }
dl.dl_table dt { border-top: 1px solid #aaaaaa; clear: both; float: left; width: 148px; }
dl.dl_table dd { background: #fff; border-left: 1px solid #aaaaaa; border-top: 1px solid #aaaaaa; margin-left: 160px; }


/* ------- rwd table ------ */
.std_table, .std_table_fix { width:100%; margin-top:20px; }
.std_table caption, .std_table_fix caption { font-size:110% !important; color:#003399; }
.std_table th, .std_table td, .std_table_fix th, .std_table_fix td { padding:6px 6px; border:1px #cccccc solid; font-size:90%; line-height:1.5; vertical-align:top; }
.std_table th, .std_table_fix th { background-color:#f0f0f0; text-align:left; font-weight:normal; }
.std_table td, .std_table_fix td { background-color:#fcfcfc; text-align:left; }


/* ----- list style ----- */
.std_ol { margin:16px 0; padding-left:30px; }
.std_ol li { list-style:decimal;padding-bottom:0.5em;line-height:1.6; }

.std_ul { margin:16px 0; padding-left:30px; }
.std_ul li { list-style:disc;padding-bottom:0.5em;line-height:1.6; }


/* ----- pagination ----- */
.pmove_navi { clear: both; font-size: 80%; margin: 20px auto 0 auto; text-align: center; width: 100%; }
.pmove_navi_prev { color: #333333; float: left; text-align: left; width: 15%; }
.pmove_navi_prev a { color: #333333; text-decoration: none; }
.pmove_navi_no { float: left; text-align: center; width: 70%; }
.pmove_navi_no a { color: #333366; text-decoration: none; }
.pmove_navi_next { float: left; text-align: right; width: 15%; }
.pmove_navi_next a { color: #333333; text-decoration: none; }
.pmove_navi_dis { color: #cccccc; }
.pmove_navi_this { color: #cc0000; }
.pmove_pos { clear: both; color: #333333; padding: 10px; text-align: center; }
.pmove_nolist { padding: 100px 0; text-align: center; }


/* ------ form ------ */
input, select, textarea { line-height:1.8; }
input { padding:5px; }
input[type=text], input[type=tel], input[type=email], textarea { padding:5px; border:1px #cccccc solid; background-color:#F7F7F7; }
select { background-color:#F7F7F7; border:1px #cccccc solid; padding:4px;margin-bottom:8px; cursor:pointer; }
input[type=text]:focus, select:focus, input[type=tel]:focus, input[type=email]:focus, textarea:focus { border:solid 1px #82B6BD; background-color:#ffffff; }
label { cursor:pointer; }
input[type=submit] { white-space:normal; line-height:1.5; }


noscript p { display:block; color:#ff0000; margin:0; padding:10px; background-color:#FFFFCC; text-align:center; }
.getadobereader { border: 1px solid #888888; border-radius: 10px; display: block; font-size: 90%; margin: 50px auto; width:80%; padding: 18px 24px; }
.getadobereader p { margin-bottom: 1em; }
.sp-pageTop { padding:0; background-color:#8EC63F; text-align:center; }
.sp-pageTop a, .sp-pageTop a:hover { display:block; font-size:90%; text-decoration:none; color:#ffffff !important; padding:16px 0; }


/* ------ header ------ */
#header {
	position:fixed;
	display:block;
	margin:0px auto 0 auto;
	width:100%;
	height:80px;
	background-image:url('../images/common/white_10.png');
	z-index:100;
}
#header_logo  a {
	position:absolute;
	display:block;
	top:10px;	left:10px;
	margin:0;padding:0;
	width:525px;
	height:60px;
	background-image:url('../images/common/header_logo_L_2023.png');
	background-position:left center;
	background-repeat:no-repeat;
	background-size:contain;
	z-index:200;
}

#site_navi {
	position:relative;
	margin:0;padding:0;
}
.site_menu {
	float:right;
	padding-top:10px;
	display:flex;
	align-items:center;
}
.site_menu li {
/*	display:inline;
	float:left;*/
	list-style:none;
	margin-right:8px;
	padding:0;
}

.site_menu li a {
	position: relative;
	display: inline-block;
	text-decoration: none;
	color:#333;
	font-weight:bold;
	line-height:1.4;
	padding:1px 4px;
}
.site_menu li a::after {
	position: absolute;
	bottom: -1px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background-color:#46A224;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .2s;
}
.site_menu li a:hover { background-color:inherit; }
.site_menu li a.active { color:#46A224; text-decoration:none; }
.site_menu li a:hover::after, .site_menu li a.active::after  {
/*	transform-origin: right top;*/
	transform: scale(1, 1);
}
.site_menu li.nv09 { /*margin-right:32px;*/ }
.site_menu li.navsns { margin-right:0px; }
.site_menu li.navsns a { padding:0 3px; }
.site_menu li.navsns a::after { background-color:inherit; }
.site_menu li.navsns img { height:26px; border-radius:4px; }


nav#menu { visibility:hidden; }

/* ------ footer ------ */
footer {
/*	min-width:1160px;*/
}
#footer {
/*	min-width:1160px;	*/
	margin:0 auto;
	padding:40px 30px;
}

.footer_navi { margin:0 auto 20px auto;color:#ffffff; }
.sitemap { width:60%;float:right; }
.footer_adr { width:35%;float:left; }
.footer_adr p { line-height:1.4; font-size:90%; }
.footer_adr p strong { font-size:130%; }
.footer_adr a { color:#ffffff; }

.footer_cols_logo { width:24%;border:none;float:left;margin: 0;padding-left:2%; }
.footer_cols { width:25%;float:left;margin: 0;padding-left:2%; }

.footer_menu { padding:0; margin:5px 5px 15px 5px; font-size:90%; }
.footer_menu a { color:#ffffff; text-decoration:none; }
.footer_menu a:hover { color:#efefef; }
.footer_menu li { list-style:none; }
.footer_menu li a, .footer_menu li span.noref { display:block; margin-bottom:6px; }
.sitemap_cate { font-size:110%; padding-top:6px; }
.footer_menu li ul { padding-left:0px; margin-bottom:20px; }
.footer_menu li ul li { margin-left:20px; padding-left:0px; line-height:1.2 !important; margin-bottom:8px; list-style:disc; }
.footer_menu li ul li a { font-size:90%; text-decoration:none; }
.footer_menu li ul li ul { padding-left:0px; }
.footer_menu li ul li ul li { padding-left:14px; }
.footernotice { font-size:80%; color:#ffffff; text-align:center; line-height:2; margin-bottom :40px; }
.copyright { margin:0; font-size:80%; color:#ffffff; text-align:right; }

.ft_link_logo { display:block; margin-bottom:5px; }
.ft_ind2 { display:inline-block;width:6em; }


.preload_hidden { display:none; }


/* # Small PC 960-1260px
========================================================================================= */
@media only screen and (max-width: 1360px) {

	.common_page { padding:0 60px; }
	#header_logo  a { width:230px; 	background-image:url('../images/common/header_logo_S_2023.png'); background-size:120%;  }

}

@media only screen and (max-width: 1060px) {
	.site_menu li { margin-right:4px; }
	.site_menu li a { font-size:85%; }


/* # Tablet 600-960px
========================================================================================= */
@media only screen and (max-width: 960px) {

	#pagecontents { min-width:320px;width:100%;/* font-size:90%; */}
	.common_page { padding:0 40px 0 10px; }


	.mode_pc { display:none;visibility:hidden; }
	.mode_sp { display:block !important;visibility:visible; }
	.mode_pcs { display:block;visibility:visible; }
	.mode_sps { display:none !important;visibility:hidden; }
	.spacer_pc { display:none; }

	.page_header_img { margin-top:60px; }



	.sectionblock {	padding-top:80px; }
	.textblock { padding-left:10px; padding-right:10px; }

	h2.section_title { letter-spacing:0; }


	/* ---------- news list & view ---------- */
	.newsli-dat { display:block; float: none; width: 100%; padding:6px 1% 4px 1%; }
	.newsli-tit { margin-left:20px; padding: 0 0px 6px 0px; font-size:90%; }
	.news_list_block {
		border-radius:0;
		box-shadow:none;
		display:block;
		padding:0px;
		overflow:visible;
		height:auto;
		margin:0 !important;
	}
	
	.newslist li a {
		background-image:url('../images/common/menu_arrow.gif');
		background-position:right center;
		background-repeat:no-repeat;
	}

	.viewall-li {
		text-align:right;
		padding:15px !important;
		border-bottom:1px #cccccc solid;
		background-image:none !important;
	}

	/* ----- all list page ----- */
	#listpage .newsli-dat {
		width:auto;
		float:none;
	}




	/* --------- dl table ------ */
	dl.dl_table dl,dt,dd {
		margin: 0;
		padding: 0;
	}
	dl.dl_table {
		background: #ffffff;
		border: none;
		border-bottom: 1px solid #aaaaaa;
	}
	dl.dl_table dt, dl.dl_table dd {
		padding: 1%;
		line-height:1.4;
	}
	dl.dl_table dt {
		background-color:#f0f0f0;
		padding-bottom:0;
		font-weight:bold;
	}
	dl.dl_table dt {
		border-top: 1px solid #aaaaaa;
		clear: both;
		float: none;
		width: 98%;
	}
	dl.dl_table dd {
		background: #fff;
		border-left: none;
		border-top: none;
		margin-left: 5%;
	}


	/* ---------- rwd table ---------- */
	.std_table th {
		box-sizing:border-box;
		display:block;
		clear:both;
		width:100%;
		border-bottom:none;
	}
	.std_table th a {
		box-sizing:border-box;
		color:inherit;
	}
	.std_table td {
		box-sizing:border-box;
		display:block;
		width:100%;
		float:left;
		text-align:left;
		padding:6px 4px 6px 20px !important;
		border-bottom:none;
	}
	.std_table tr:last-child td { border-bottom:1px #cccccc solid; }

















	/* ---------- site navi ---------- */

	#site_navi { display:none; }

	#sp_menu_bt {
		display: block;
		position:fixed;
		top:10px;right:10px;
		width: 40px;
		height: 40px;
		background: rgba(255, 255, 255, 0.02);
		cursor:pointer;
		background-color:#cccccc;
		border-radius:3px;
	}
	#sp_menu_bt span {
		width: 30px;
		height: 3px;
		border-radius:2px;
		display: block;
		background: #fff;
		position: absolute;
		left: 50%;
		top: 50%;
		margin-left: -15px;
	}

	#sp_menu_bt span { transition: all 0.3s; transform: rotate(0deg); }

	#sp_menu_bt .top { transform: translateY(-11px); }
	#sp_menu_bt .middle { transform: translateY(-1px); }
	#sp_menu_bt .bottom { transform: translateY(9px); }
	.mm-menu_opened+.mm-slideout #sp_menu_bt .middle { background: rgba(255, 255, 255, 0); }
	.mm-menu_opened+.mm-slideout #sp_menu_bt .top { transform: rotate(-45deg) translateY(0px); }
	.mm-menu_opened+.mm-slideout #sp_menu_bt .bottom { transform: rotate(45deg) translateY(0px); }
	.mm-navbar a img { height:20px; border-radius:2px; }

	nav#menu { visibility:visible; }


	/* ----- header ----- */

	#header { margin:0; width:100%; height:auto; min-height:60px;position:fixed !important; }
	#header_logo a {
		display:block;
		top:5px;	left:10px;
		width:80%;
		height:50px;
		background-size:contain;
		background-position:left center;
	}


	/* ----- footer ----- */
	footer { min-width:100%; }
	#footer { min-width:100%; }

	.sitemap { width:100%;float:none; }
	.footer_adr { width:100%;float:none; margin-top:40px;text-align:center }
	.footer_cols { width:25%;float:left;margin: 0;padding-left:2%; }

	
}

/* # Mobile Landscape 480-600px
========================================================================================= */   
@media only screen and (max-width: 600px) {


	.mode_pcs { display:none !important;visibility:hidden; }
	.mode_sps { display:block !important;visibility:visible; }
		
	/* ---------- basic area ---------- */
	.cols21 { width:100%;float:none; margin:0px; }
	.cols31 { width:100%;float:left; margin:0px; }
	.cols32 { width:100%;float:left; margin:0px; }
	.cols41 { width:50%;float:left; margin:0px; }
	.cols43 { width:50%;float:left; margin:0px; }

	.phhd_txt {	font-size:200%;}


	/* ----- footer ----- */
	.footer_cols { width:50%;float:left; }
	.footer_gp:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
	.footer_menu a { padding:10px 0; border-bottom:1px #ffffff solid; }

	.ft_link_logo { display:block; margin-top:5px; }
	.ft_link_logo:first-child { display:block; padding-top:40px; }

	#footer { padding:40px 10px; }

}

/* # Mobile 320-480px
========================================================================================= */   
@media only screen and (max-width: 480px) {


	.mode_pcc { display:none !important;visibility:hidden; }
	.mode_spc { display:block !important;visibility:visible; }

	/* ---------- basic area ---------- */
	.cols21 { width:100%;float:none; margin:0px; }
	.cols31 { width:100%;float:none; margin:0px; }
	.cols32 { width:100%;float:none; margin:0px; }
	.cols41 { width:50%;float:left; margin:0px; }
	.cols43 { width:50%;float:left; margin:0px; }

	.phone { font-size:180%; }


}
