@charset "utf-8";

html { font-size: 100%; }
:root {
	--sw-main: #111;
	--sw-main2: #333;
	--sw-navy: #1e1a34;
	--sw-gray: #999;
	--sw-lightgray: #f0f0f0;
	--sw-black: #322e2c;
	--sw-bgodd: #f8f8f8;
	--sw-bgeven: #f0f0f0;
	--sw-blue: #1371b0;
	--sw-blue2: #0f9dfc;
	--sw-green: #13b042;
	--sw-green2: #0ffc56;
	font-size:1.00rem;
}

/* ---------- common ----------*/
body {
	font-family: 'Noto Sans JP', -apple-system,  "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
		-webkit-text-size-adjust: 100%;
		-webkit-appearance: none;	/*button*/
	font-weight:400;
	color:var(--sw-black);
	margin:0;
}

header, footer { position:relative;	margin:0 auto; }
footer { margin-top:80px; }
a, header a, footer a { text-decoration:none; }
.inc_header { position:relative; top:0; z-index:500; }

#pagecontents { max-width:100%; margin:0 auto; clear:both; }
section { max-width:1200px; margin:60px auto; clear:both; }

div { box-sizing:border-box; }
img { display:block; max-width: 100%; height: auto; margin:0 auto; aspect-ratio: attr(width) / attr(height); }
figure { margin:0; padding:0; }
p, ol, ul, table { line-height:2.1; margin:0 0 1.5em 0; }
img.pdficon, img.inline { display:inline; vertical-align:middle; }
.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; }
.fserif {
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
	font-weight:500;
}
.fsanserif {
	font-family: 'Noto Sans JP', -apple-system,  "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	font-weight:400;
}
strong { font-weight:600; }
.fserif strong { font-weight:700; }

h1 { font-size:2.0rem; line-height:1.4; font-weight:600; } 
h2 { font-size:1.6rem; line-height:1.4; font-weight:600; }
h3 { font-size:1.4rem; line-height:1.4; font-weight:600; }
h4 { font-size:1.2rem; line-height:1.4; font-weight:600; }


hr {
	border: 0;
	height: 0;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	clear:both;
}

a.after_arrow:after {
	font-family: 'FontAwesome';
	content:'\20\f0da';		/* ▲ */
	font-size:1.2em;
}
a.before_arrow:before {
	font-family: 'FontAwesome';
	content:'\f0da\20';		/* ▲ */
	font-size:1.2em;
}
.pg_next:after {
	font-family: 'FontAwesome';
	content:'\20\f105';
	font-size:1.2em;
}
.pg_prev:before {
	font-family: 'FontAwesome';
	content:'\f104\20';
	font-size:1.2em;
}

.pageTop { position:relative; z-index:200; }
.pageTop a {
	position: fixed;
	background:url('../images/common/pagetop_bt.png') left top no-repeat;
	background-size:contain;
	display: block;
	width: 60px;
	height: 60px;
	right:10px;
	bottom:10px;
	text-indent:-9999px;
	opacity:0.9;
	border-radius:8px;
	box-shadow:1px 1px 6px 1px rgba(0,0,0,0.2);
}
.pageTop a:hover { opacity:1.0; }

.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%;
	border:none;
}



/* ---------- rwd ----------*/

.mode_pc { display:block; }
.mode_pcs { display:block; }
.mode_sp { display:none !important;visibility:hidden; }
.mode_sps { display:none !important;visibility:hidden; }
.view_pc { visibility:visible; display:inline; }
.view_sp { visibility:hidden; display:none; }


.page_backbt { margin:80px 10px 40px 10px; }
.page_backbt a {
	display:block;
	width:200px;
	margin:0 auto;
	padding:12px 0;
	text-align: center;
	text-decoration:none;
	background-color:var(--sw-gray);
	border-radius:4px;
	color:#fff;
	transition-duration:0.2s;
}
.page_backbt a:hover { background-color:var(--sw-main); }
.form_submit { margin:40px 0; text-align:center; }
.form_submit [type=submit] { padding:12px 36px; cursor:pointer; }

.breadCrumb ul {
	max-width:1200px; margin:0 auto; padding:8px; background-color:rgba(255,255,255,0.7); font-size:0.8rem; border-radius:0 0 8px 0;
	white-space:nowrap; overflow-x:auto; box-sizing:border-box;
}
.breadCrumb ul li { display:inline-block; }
.breadCrumb ul li:after { content: " > "; }
.breadCrumb ul li:last-child:after { content: ""; }
.breadCrumb ul li a { padding:2px; color:var(--sw-black); display:inline-block; }
.breadCrumb+section { margin-top:10px; }

a.txt_banner {
	display:inline-block; padding:4px 24px 4px 8px; margin:0 6px; border-radius:4px;
	background-color:var(--sw-blue2); color:#fff; line-height:1.6;
	text-decoration:none; transition-duration:0.2s;
	background-image:url('../images/txt_arrow_w.png');
	background-repeat:no-repeat;  background-position:right center;
	transition-duration:0.2s;
	}
a.txt_banner:hover { box-shadow:0px 0px 10px 4px var(--sw-blue) inset; }

.link_banner { margin:40px 0; text-align:center; }
.link_banner a { display:inline-block; padding:8px 24px; min-width:200px; border-radius:8px; background-color:var(--sw-main); color:#fff; font-weight:500; line-height:1.4; transition-duration:0.2s; }
.link_banner a:hover { background-color:#var(--sw-main2); }
.link_banner a span { display:inline-block;  }


.page_header_img { margin-top:-130px; height:160px; background-size:cover; background-position:center center; position:relative; }
.page_header_img::after {
	content: "";
	position:absolute;
	z-index:2;
	width:100%; height:100%;
	top: 0; left: 0;
	background-color:#fff;
	opacity:0.6;
}
@media only screen and (max-width: 767px) {
	#top_main { margin-top:-87px; }
}

.row_contents { max-width:960px; margin:0 auto; padding:0 10px; }

.section_title { text-align:center; margin:40px 0 60px 0; }
h2.section_title { margin-top:80px; }
.section_title span { position:relative; display:inline-block; }
.section_title span:before {
  position: absolute;
  content: "";
  width: 70%;
  height: 1px;
  left: 15%;
  background-color:var(--sw-gray);
  bottom: -16px;
}






/* ========== rwd table (fix) ========== */
.rwd_table, .rwd_table_fix { width:100%; margin-top:20px; border-collapse:collapse; }
.rwd_table caption, .rwd_table_fix caption { font-size:1.1rem; color:#003399; }
.rwd_table th, .rwd_table td, .rwd_table_fix th, .rwd_table_fix td { padding:8px 6px; border:1px #ccc solid; vertical-align:top; font-weight:300; }
.rwd_table th, .rwd_table_fix th { background-color:#f8f8f8; text-align:left; font-weight:300; }
.rwd_table td, .rwd_table_fix td { background-color:#fff; text-align:left; }

/* ========== dl list ========== */
dl.dl_table { margin:0 0 40px 0;}
dl.dl_table dt { padding:4px 6px; background-color:#EEEEEE; line-height:1.8; box-sizing:border-box; margin:0; }
dl.dl_table dd { padding:4px 6px 16px 40px; line-height:1.8; box-sizing:border-box; margin:0; }

/* ========== ul / ol ========== */
.std_ul, .std_ol { margin:0; padding-left:30px; text-indent:0; }
.std_ul li, .std_ol li { line-height:1.6; margin-bottom:0.5em; }
.std_ol li { padding-left:0.5em; }

/* ========== news list ========== */
ul.news_list { max-width:960px; margin:0 auto; padding:0; list-style:none; font-size:1.0rem; }
ul.news_list li { /*border-bottom:1px var(--sw-gray) solid;*/ }
ul.news_list li>a, ul.news_list li>span { display:flex; align-items:flex-start; padding:12px 0px; text-decoration:none; color:var(--sw-black); box-sizing:border-box; }
ul.news_list li a:hover { background-color:var(--sw-lightgray); }
ul.news_list li span.news_date { flex:0 0 10em; line-height:1.6; padding-left:1em; padding-right:1em; box-sizing:border-box; }
ul.news_list li span.news_cate { flex:0 0 10em; line-height:1.0; color:#fff; text-align:center; padding:4px; border-radius:16px; box-sizing:border-box; font-size:90%; }
ul.news_list li span.news_title { flex:1 1 30em; line-height:1.6; padding-left:1.5em; padding-right:1em; box-sizing:border-box; }

.cate_beer { background-color:#C1B300; }
.cate_pub { background-color:#CB1C24; }
.cate_ikarashitei { background-color:#802780; }
.cate_wedding { background-color:#FF7480; }
.cate_stay { background-color:#80BA3F; }
.cate_ex { background-color:#aaa; }

.pagenation { margin:40px 20px 20px 20px; padding:10px; display:flex; justify-content:center; font-size:0.9rem; }
.pagenation .pgn_prev { flex:0 1 30%; text-align:right; }
.pagenation .pgn_link { flex:1 0 30%; text-align:center; }
.pagenation .pgn_next { flex:0 1 30%; text-align:left; }
.pgn_link a, .pgn_link .pgn_this {
	text-decoration: none;
	width:28px;height:28px;
	line-height:28px;
	display:inline-block;
	margin:0 5px; padding:0;
	transition-duration:0.2s;
}
.pgn_link a { color:var(--sw-black); padding:0; background-color:var(--sw-lightgray); border-radius:60px; }
.pgn_link a:hover { background-color:var(--sw-gray); color:#fff; }
.pgn_link .pgn_this { color:#fff; background-color:var(--sw-main2); border-radius:6px; }
.pagenation .pgn_prev a, .pagenation .pgn_next a {
	text-decoration:none;  transition-duration:0.2s;
	height:28px; line-height:28px;
	display:inline-block;
	background-color:var(--sw-lightgray); color:var(--sw-black);
}
.pagenation .pgn_prev a:hover, .pagenation .pgn_next a:hover { background-color:var(--sw-gray); color:#fff; }
.pagenation .pgn_prev a {
	padding:0 10px 0 15px;
	background-color:var(--sw-lightgray);
	clip-path: polygon(0 50%, 20% 0, 100% 0, 100% 100%, 20% 100%);
}
.pagenation .pgn_next a {
	padding:0 15px 0 10px;
	background-color:var(--sw-lightgray);
	clip-path: polygon(0 0, 80% 0, 100% 50%, 80% 100%, 0 100%);
}

.pagenation .pgn_prev .pgn_dis, .pagenation .pgn_next .pgn_dis { color:#ddd; line-height:28px; }


/* ========== news view ========== */
.news_block {
	max-width:840px;
	margin:0 auto;
}
.news_view_date {
	display: block;
	text-align:left;
	padding:0 0 4px 0;
	max-width:840px;
	margin:0 auto !important;
	line-height:1.3 !important;
}
.news_date_cate { display:inline-block; padding:2px 1em; margin-right:1em; color:#fff; border-radius:20px; font-size:90%; }
.news_view_title {
	background-color:#e8e8e8;
	padding:8px;
	margin-bottom:24px !important;
	text-align:center;
	font-size:1.2rem;
	line-height:1.2em;
	font-weight:500;
	color:#333333;
}
.news_mainimg_area { padding-bottom:10px; }
.news_add_img { padding:10px 0; margin:0; text-align:center; line-height:0; }
.news_add_img a img { display:inline-block; }
.news_txt_area { line-height:2.0; }
.news_view_footer { padding:80px 0 20px 0; text-align:center; }
.file_down { padding: 40px 0 40px 40px; text-align: left; }

.ymd_ip { padding:0 6px; background-color:#DD223E; color:#ffffff; border-radius:4px; }
.kanripreview { text-align:center; color:red; margin-bottom:20px; }




/* ========== header ========== */
header { width:100%; }
#header { position:relative; max-width:100%; margin:0 auto; z-index:50;  }
.header_logo { display:block; width:320px; padding:10px; box-sizing:border-box; position:relative; z-index:49; margin-left:5vw; }
#site_navi { position:absolute; left:20px; bottom:0px; padding-left:0px; width:calc(100% - 40px); box-sizing:border-box; z-index:50; }



/* ========== footer ========== */
#footer { padding:40px 0 0 0; background-image:url('../images/common/footer_bg.jpg'); background-position:center center; background-size:cover; font-weight:500; font-size:0.9rem; }
.footer_content { max-width:1200px; display:flex; margin:0 auto; padding:0 20px; justify-content:space-between; }
.footer_menulist { order:2; display:flex; flex:0 0 65%; }
.footer_addr { order:1; flex:0 0 35% }


.footer_menulist .menucols { flex:0 0 33%; }
.menucols ul { margin:0; padding:0 0 20px 20px; line-height:1.4; }
.menucols ul li { list-style:none; padding-left:20px; }
.menucols ul li a, .menucols ul li span { display:inline-block; text-decoration:none; color:var(--sw-black); padding:6px 0 6px 12px; position: relative; }
.menucols ul li a:before {
	content:'-'; left:0; top:2px; position:absolute;
	padding-right:5px; font-weight:900; font-size:1.2em; color:var(--sw-main2);
}
.menucols ul li a::after,
.footer_link ul li a::after {
	position: absolute;
	bottom: 0px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: var(--sw-gray);
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .2s;
}
.menucols ul li a:hover::after,
.footer_link ul li a:hover::after { transform: scale(1, 1); }
.menucols ul li ul { margin:0;padding:0 0 20px 20px; }
.menucols ul.ft_menu_site li ul { padding:0 0 0 24px; }

.footer_warning { font-size:0.7rem; max-width:260px; margin:0 20px 20px auto; }
.footer_notice { color:var(--sw-black); }
.footer_notice .ft_copy { padding:10px 0; margin:0 !important; text-align:center; font-size:0.8rem; }





/* ------ form ------ */
input, select, textarea {
	font-size:0.9rem;
	line-height:1.8;
	font-weight:300;
}
input { padding:5px; }
input[type=text], input[type=tel], input[type=email], input[type=number], textarea {
	padding:4px;
	border:1px #cccccc solid;
	background-color:#F7F7F7;
	margin:4px 0 8px 0;
}
select {
	background-color:#F7F7F7;
	border:1px #cccccc solid;
	padding:4px;margin-bottom:8px;
	cursor:pointer;
	font-weight:300;
}
input[type=text]:focus, select:focus, input[type=tel]:focus, input[type=email]:focus, textarea:focus {
	border:solid 1px #ccc;
	background-color:#fff;
	font-weight:300;
}
label {
	cursor:pointer;
}
input[type=submit] {
	white-space:normal;
	line-height:1.6;
}
input[type=submit].form_submit_bt {
	appearance: none;
	-webkit-appearance: none;
	display:inline-block;
	box-sizing:border-box;
	border:none;
	border-radius:6px;
	background-color:#08f;
	color:#fff;
	cursor:pointer;
	font-size:1.0rem;
	margin:40px 0;
	padding:16px 20px;
	min-width:240px;
}

/*---- STEP ----*/
.formstep { max-width:720px; margin:60px auto 20px auto; padding:0; list-style:none; display:flex; }
.formstep .step01,
.formstep .step02,
.formstep .step03 {
	flex:1 0 33%;
	height: 36px;
	line-height: 36px;
	background: #CCCCCC;
	position: relative;
	text-align: center;
	font-size: 13px;
	box-sizing:border-box;
}
.formstep .step02,
.formstep .step03 {
	padding-left:16px;
}
.formstep .step01:after,
.formstep .step02:after {
	border-left: 20px solid #CCCCCC;
	border-top: 18px solid transparent;
	border-bottom: 18px solid transparent;
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	margin-left: 50%;
}
.formstep .step01:before,
.formstep .step02:before {
	border-left: 22px solid #FFFFFF;
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
	content: "";
	position: absolute;
	left: 50%;
	top: -2px;
	margin-left: 50%;
}
.formstep .step01 { z-index: 3; }
.formstep .step02 { z-index: 2; }
.formstep .step03 { z-index: 1; }
.formstep .on { color: #FFFFFF; background: #333333; }
.formstep .on:after { border-left: 20px solid #333333; }




.getadobereader {
    border: 1px solid #888888;
    border-radius: 10px;
    display: block;
    font-size: 0.9rem;
    margin: 50px auto;
    width:80%;
    padding: 18px 24px;
}
.getadobereader p {
    margin-bottom: 1em;
}


/* ----- dual sp menu ----- */
#sp_menu_bt {
	display: block;
	position:fixed;
	top:5px;
	right:5px;
	width: 40px;
	height: 40px;
	cursor:pointer;
	background-color:#333;
	border-radius:3px;
	z-index:600;
}
#sp_menu_bt span {
	width: 30px;
	height: 2px;
	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); }
#sp_menu_bt.active .middle { background: rgba(255, 255, 255, 0); }
#sp_menu_bt.active .top { transform: rotate(-45deg) translateY(0px); }
#sp_menu_bt.active .bottom { transform: rotate(45deg) translateY(0px); }

#site_navi { display:none; }
#site_navi {
	position:fixed; left:0; top:0px; padding:0; margin:0;
	width:100%; height:100vh; overflow-y:auto;
	background-color:#fff; z-index:60;
    scrollbar-color: #eee #333;
    scrollbar-width: thin;
}
.site_menu { margin:10px 0 0 0; background-color:#000; padding-bottom:160px;  }
.site_menu ul {
	display:flex; flex-wrap:wrap; padding:0;
	list-style:none; line-height:1.15;
	box-sizing:border-box; 
}

.site_menu ul li { flex:0 0 50%; font-size:1.0rem; padding:0; margin:0; background-color:#111; border-bottom:1px #fff solid; box-sizing:border-box; }
.site_menu ul li:nth-child(odd) { border-right:1px #fff solid; }
.site_menu ul li>a, .site_menu ul li>span { display:flex; align-items:center; color:#fff; }
.site_menu ul li>a span, .site_menu ul li>span span { padding:10px }
.site_menu ul li>a span img, .site_menu ul li>span span img { max-width:120px; border-radius:4px; }
.spmenu_home img { position:relative; top: 5px; left: 5px; width: 185px; display:inline-block; }
@media only screen and (max-width: 767px) {
	.site_menu ul li { flex:0 0 100%; }
	.site_menu ul li:nth-child(odd) { border-right:none; }
	.site_menu ul li>a span img, .site_menu ul li>span span img { max-width:100px; }
}



/* # Tablet 768-960px
========================================================================================= */
@media only screen and (max-width: 960px) {

	body {  }

	.mode_pc { display:none;visibility:hidden; }
	.mode_pcs { display:block;visibility:visible; }
	.mode_sp { display:block !important;visibility:visible; }
	.mode_sps { display:none !important;visibility:hidden; }
	.view_pc { visibility:hidden; display:none; }
	.view_sp { visibility:visible; display:inline; }


	#pages { width:100%;padding-top:0; }

	header { height:auto; }
	header, footer { width:100%; }



	#pagecontents { width:100%; }


	/* ----- common ----- */






	/* ========== newsl list ========== */



	/* ========== rwd table ========== */
	.rwd_table th {
		box-sizing:border-box;
		display:block;
		clear:both;
		width:100%;
		border:none;
	}
	.rwd_table th a {
		box-sizing:border-box;
		color:inherit;
	}
	.rwd_table td {
		box-sizing:border-box;
		display:block;
		width:100%;
		float:left;
		text-align:left;
		padding:6px 4px 12px 20px !important;
		border:none;
	}

	/* ========== header ========== */
	header { z-index:500; min-width:320px; }
	#header { width:100%; }



	/* ========== footer ========== */
	.menucols ul { padding-left:0; }
	
	.footer_content { flex-wrap:wrap; }
	.footer_menulist { order:1; display:flex; flex:0 0 100%; }
	.footer_addr { order:2; flex:0 0 100%; margin-top:20px; }

	.footer_warning { max-width:90%; margin:20px auto; text-align:right; }
}

/* # Tablet & Mobile Landscape 480-767px
========================================================================================= */   
@media only screen and (max-width: 767px) {

	:root { font-size: 0.9rem; }
	body { }

	.mode_pcs { display:none;visibility:hidden; }
	.mode_sps { display:block !important;visibility:visible; }

	/* ----- common ----- */

	.formstep .step01,
	.formstep .step02,
	.formstep .step03 {
		font-size:11px;
	}


	/* ========== dl list ========== */
	dl.dl_table dd { padding:4px 0px 16px 0px; }

	/* ========== newsl list ========== */
	ul.news_list li span.news_title { flex:0 0 100%; }
	ul.news_list li>a, ul.news_list li>span { flex-wrap:wrap; }

	.pagenation { margin:40px 0px 20px 0px; font-size:0.8rem; }
	.pagenation .pgn_prev { flex:0 0 15%; text-align:left; }
	.pagenation .pgn_link { flex:1 1 70%; text-align:center; }
	.pagenation .pgn_next { flex:0 0 15%; text-align:right; }
	.pgn_link a, .pgn_link .pmove_navi_this { width:20px;height:20px; line-height:20px;  }


	/* ========== header ========== */
	.header_logo { width:220px; padding:5px; margin-left:0px; }


	/* ========== footer ========== */

	.footer_menulist { flex-wrap:wrap; }
	.footer_menulist .menucols { flex:0 0 100%; }
	.menucols ul, .menucols ul li { padding:0; }
	.menucols ul li a { border-bottom:1px #ccc dashed; display:block; }
	.menucols ul li a, .menucols ul li span { padding:12px; }
	.menucols ul li a br, .menucols ul li span br { display:none; }

	.menucols ul li a:before { content:''; padding-right:0px; 	}
	.menucols ul li a:hover::after,
	.footer_link ul li a:hover::after { transform: scale(0, 0); }
	.footer_warning { max-width:95%; text-align:left; }



}
/* # Mobile 320-479px
========================================================================================= */   
@media only screen and (max-width: 479px) {

/*	:root { font-size:0.9rem; }*/
	body { min-width:320px; }

}


