@charset "UTF-8";
/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

main, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  vertical-align: top;
}

html {
  font-family:'Noto Sans Japanese', sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/*for Noto Sans Japanese*/

/* Copyright (C) Google
* https://www.google.com/get/noto/
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/*html.ie {
font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}*/


@media screen and (max-width: 767px) {
  .for-pc {
    display: none;
  }
}

@media screen and (min-width: 768px), print {
  .for-sp {
    display: none;
  }
}

@media screen and (min-width: 768px), print {
  .pc-break {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .sp-break {
    display: block;
  }
}

/* clearfix
-------------------------------------------------------------------------------------------------*/
.cf:before,
.cf:after {
    content: " ";
    display: table;
}
.cf:after {
    clear: both;
}
.cf {
    *zoom: 1;
}

.cf_btm {
	display: flow-root;
}

/* position
-------------------------------------------------------------------------------------------------*/
/* float */
.fl {	float:left;}
.fr {	float:right;}

/* margin-top */
.mt_ss {margin-top:5px;}
.mt_s {	margin-top:10px;}
.mt_m {	margin-top:20px;}
.mt_l {	margin-top:30px;}
.mt_ll {margin-top:50px;}
.mt-s {	margin-top:5px;}
.mt-t {	margin-top:10px;}
.mt-g {	margin-top:20px;}
.mt-v {	margin-top:30px;}
.mt-n {	margin-top:-20px;}

/* margin-right */
.mr_ss {margin-right:5px;}
.mr_s {	margin-right:10px;}
.mr_m {	margin-right:20px;}
.mr_l {	margin-right:30px;}
.mr-s {	margin-right:5px;}
.mr-t {	margin-right:10px;}
.mr-g {	margin-right:20px;}
.mr-v {	margin-right:30px;}

/* margin-bottom */
.mb_ss {margin-bottom:5px;}
.mb_s {	margin-bottom:10px;}
.mb_m {	margin-bottom:20px;}
.mb_l {	margin-bottom:30px;}
.mb_ll {	margin-bottom:40px;}
.mb-s {	margin-bottom:5px;}
.mb-t {	margin-bottom:10px;}
.mb-g {	margin-bottom:20px;}
.mb-v {	margin-bottom:30px;}

/* margin-left */
.ml_ss {margin-left:5px;}
.ml_s {	margin-left:10px;}
.ml_m {	margin-left:20px;}
.ml_l {	margin-left:30px;}
.ml-m {	margin-left:3px;}
.ml-s {	margin-left:5px;}
.ml-t {	margin-left:10px;}
.ml-g {	margin-left:20px;}
.ml-v {	margin-left:30px;}

/* align */
.ac {	text-align:center;}
.al {	text-align:left;}
.ar {	text-align:right;}
 

.img_fit {
	width: 342px;
	height: auto;
}

.img_top {
	width: 720px;
	height: auto;
}

@media screen and (max-width: 767px) {
.img_fit{
	width:100%;
	height:auto;
}

.img_top {
	width: 100%;
	height: auto;
}
}

 hr{
	border:none;
    border-top:2px solid #CDCECE;
    height:1px;
    color:#FFFFFF;
	margin:20px auto;
	}


/* font
-------------------------------------------------------------------------------------------------*/
.fb{ font-weight:bold;}

/* color */
.fc_r{ color:#cb1e00;}
.fc_g{ color:#789922;}
.fc_b{ color:#2193ab;}

/* size */
.fs_s{ font-size:90% i}
.fs_m{ font-size:100%}
.fs_l{ font-size:110%}


/* link
-------------------------------------------------------------------------------------------------*/
a {
	color: #333;

}

a:hover {
	 opacity: 0.7;
	 color:#CA233C;
}


/* html body
-------------------------------------------------------------------------------------------------*/

html, body {
	height: 100%;
}

body{
	font-size: 100%;
	color: #333;
	line-height:160%;
	margin:0;
	padding:0;
}

.slicknav_menu {
	display:none;
}

@media screen and (max-width: 767px) {
	.js #menu {
		display:none;
	}
	
	.js .slicknav_menu {
		display:block;
	}
}

/*tel*/
@media (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
		text-decoration:none;
		color: #666;
	}
}

/* header 
-------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 768px), print {
header{
	width: 100%;
	background:#fff;
	z-index:4;
}
  header .header_inner{
	  width: 960px;
	  height:100px;
	  margin:10px auto 0;
  }
  header .header_left{
	  width: 400px;
	  float:left;
	  padding:0;
	  display: flex;
	  align-items: flex-end;
	  gap: 5px;
  }
  header .header_left .toplogo{
		width: 165px;
}
  header .header_left .toptext{
		margin:0 0 25px 0 ;
  }




  header .header_center{
	  width: 450px;
	  float:left;
	  padding:0px 0 ;
	  margin-left:-90px;
  }
	header .header_center ul{
	  margin-left:100px;
		  float:left;
	}
	header .header_center li{
	    display: table-cell;
		text-align: left; 
		background-repeat:no-repeat;
		background-position:0px 50%;
		background-size:13px 12px;
		padding:2px 10px;
		font-size:11px;
	}
	header .header_center li a {
		text-decoration: none;
	}
	header .header_center p a{
	  background: #999;
	  padding:9px 16px;
	  font-size:14px;
	  color:#fff;
	  font-weight: 500;
	  letter-spacing:1px;
	  text-decoration:none;
	  border-top:none;
	  margin:0 0px 0 20px
	}
	header .header_center li span {
		color: #999;
		}
  header .header_right{
	display: block;
	margin: -5px 0 0 auto;
	width: 13em;
}
	
  header .header_right .for-pc img {
	width: 185px;
	height: auto;
	padding: 7px 4px;
}
header .header_right a.header_button {
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	display: block;
	margin: -6px 0 0 0;
	padding: 6px 10px;
	width: 13em;
	text-align: center;
	background: #000;
	color: #fff;
	font-weight: 700;
	font-size: 14px;
}
  header .header_right .header_button img {
  	width: 14px;
  	height: auto;
  	padding: 7px 10px 7px 0;

  }


  header .header_nav{
	  width: 100%;
	  margin:0 auto;
  }
  header .header_nav_top{
	  width: 100%;
	  margin:0 auto;
	  background-color: #f4f4f4;
  }
.normal li ul{
  display: none;
}
.normal li:hover ul{
  display: block;
}
.dropmenu{
  *zoom: 1;
  list-style-type: none;
  width: 960px;
  margin: 0px auto 0px;
  padding: 0;
}
.dropmenu:before, .dropmenu:after{
  content: "";
  display: table;
}
.dropmenu:after{
  clear: both;
}
.dropmenu li{
  position: relative;
  float: left;
  margin: 0;
  padding: 0;
  text-align: center;
}
.dropmenu li a{
  display: table-cell;
  vertical-align: middle;
  height:60px;
  width:160px;
  background-size:160px 60px;
  text-decoration: none;
  line-height: 1.4;
  font-size: 0.8em;
  color: #000000;
  font-weight: 600;
  background-color: #f4f4f4;
  border-bottom: 5px solid #f4f4f4;
}

.dropmenu li a.thispage{
  color:#c7000b;
  background-color: #f4f4f4;
}

.dropmenu li:first-child a{
	display:none;
}

.dropmenu li ul{
  list-style: none;
  position: absolute;
  z-index: 9999;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
}
	.dropmenu li ul li{
	  width: 100%;
	}
	  .dropmenu li ul li a{
		padding: 5px 10px;
		border-top: 0px solid #97B4D2;
		background: #fff;
		text-align: left;
		font-size: 14px;
		letter-spacing:-0.5px;
	  }
.dropmenu li:hover > a{
		/**/color:#c7000b;
}
	.dropmenu li a:hover{
	  color:#c7000b;
	  font-weight: 700;
	  opacity:1;
	  border-bottom: 5px solid #c7000b;
	}
	.dropmenu li:first-child a:hover{
	  background-image: url(../img/common/icon_home_hover.png);
	  background-size:opx;
	  background-color: #FFF;
	  background-repeat:no-repeat;
	  background-position:50% 50%;
	  text-indent:-9999px;
	}
}
@media screen and (max-width: 767px) {
header{
	margin:0 auto;
	width: 100%;
}
  header .header_left{
	  display:none;
  }
  header .header_center{
	  display:none;
  }
  header .header_right{
	  background-color: #f4f4f4;
	  text-align:center;
	  padding:2%;
  }
  header .header_right img{
	width: 75%;
  }
  header .header_left .toptext {
	width:80%;
  	margin: 0 0 25px 0;
	}
}

/* contents
-------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 768px), print {
#main {
	clear:both;
	width:960px;
	margin:5px auto 0 auto;
	display:table;
}
}

/* topicpath */
@media screen and (min-width: 768px), print {
.topicpath {
	padding		: 0px 0 10px;
	width		: 960px;
	font-size: 75%;
	display:block;
}
.topicpath ul{
	margin		: 0;
	padding		: 0 20px 0 0;
	list-style	: none;
}
.topicpath li {
	display		: inline;
	padding		: 0 0 0 18px;
	background	: url(../img/common/point.gif) no-repeat 4px 50%;
	white-space	: nowrap;
}
.topicpath li.Top {
	background-image	: none;
	padding-left		: 0;
}
}
@media screen and (max-width: 767px) {
.topicpath {
	display:none;
}
}

/* contents */
@media screen and (min-width: 768px), print {
#contents{
	float:left;
	width:720px;
	display:table;
}
#contents .arealine_b{
	border: 0px solid #E4D1C5;
	padding:10px 0px 10px 20px;
	background:#f4f4f4;
	width:690px;
	display:table;
}

#contents .arealine_c{
	border: 5px solid #F4f4f4;
	background:#f4f4f4;
}

#contents .arealine_t{
	border: 0px solid #E4D1C5;
	padding:5px 0px 10px 22px;
	width:690px;
	display:table;
}
#contents .arealine_l{
	border: 0px solid #E4D1C5;
	padding:20px 0px 10px 22px;
	background:#fff;
}
#contents .arealine{
	border: 0px solid #E4D1C5;
	background:#f4f4f4;
}
#contents .areabox{
	width:680px;
	margin:20px auto;
	display:table;
}
#contents .area {
    margin-left: 20px;
    width: 700px;
    line-height: 2;
    letter-spacing: 0.08em;
	display:table;
}
.nagasaki_title{
	height:92px;
}
.nagasaki_title h1{
	padding:15px 0;
	margin:20px 0 0 0;
	font-size:235%;
	line-height:100%;
	font-weight:500;
	text-align: center;
	color:#c7000b;
}
.nagasaki_contents{
	display:table;
    width: 720px;
}
}
@media screen and (max-width: 767px) {
#contents{
	width:100%;
}
.nagasaki_title{
	height:92px;
}
.nagasaki_title h1{
	padding:15px;
	margin-top:25px;
	font-size:230%;
	line-height:100%;
	font-weight:500;
	text-align: center;
	color:#c7000b;
}
.nagasaki_contents{
	width:90%;
	margin:0px auto;
}
}

/* aside */
@media screen and (min-width: 768px), print {
#aside {
	float:right;
	width:220px;
	display:block;
	font-size:92%;
}
#aside .mainlink li a{
	display:block;
    background: #f4f4f4;
	text-align:left;
	padding:10px 10px;
	color: #c7000b;
	text-decoration:none;
	font-weight:500;
	line-height:120%;
}

#aside .mainlink li.second a{
	display:block;
	background: #f3f3f3;
	border-top:none;
	text-align:left;
	padding:10px 10px;
	color:#333;
	text-decoration:none;
	font-weight:500;
	position: relative;
	}
	
#aside .mainlink li.second a::after {
	content: "";
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
	width: 6px;
	height: 10px;
	background: url(../img/common/icon_arrow_black.png) no-repeat center center;
	background-size: contain;
}
#aside .mainlink li.second a:hover{
	background: #f3f3f3;
}
#aside .sublink ul {
	background: #f3f3f3;
	border: 0px solid #C1C1C1;
	text-align:center;
	border-top:none;
	padding:3px 0;
}
#aside .sublink ul.price {
	border: 0px solid #C1C1C1;
	border-bottom:none;
}
#aside .sublink li {
	margin:7px auto;
}
#aside .sublink li img {
	width: 200px;
	height: auto;
}
#aside .subbnr ul {
	margin-top: 20px;
}
#aside .subbnr li {
	margin-bottom: 15px;
}

#aside .subbnr li img{
	width: 220px;
	height: auto;
}

#aside .sublist{
	padding:20px;
	background-color: #f4f4f4;
	display:table;
	width:180px;
}
#aside .sublist a h3{
	padding:0px 0 10px;
	font-size:16px;
	letter-spacing:-1px !important;
	color:#c7000b;
	font-weight:500;
	text-align: center;
}
#aside .sublist a{
	text-decoration:none;
}
#aside .sublist dl dt{
	padding:4px 0 0 0;
	font-weight:bold;
	color:#333;
	font-size:82%;
}
#aside .sublist dl dt.news{
	vertical-align:middle;
	background	: url(../img/common/icon_news.png) 110px 50% no-repeat;
	background-size: 50px auto;
}
#aside .sublist dl dt.event{
	vertical-align:middle;
	background	: url(../img/common/icon_event.png) 110px 50% no-repeat;
	background-size: 50px auto;
}

    #aside .sublist .list a{
		display: block;
		text-decoration: none;
		color: #fff;
		font-size: 11px;
		font-weight: 700;
		padding: 7px 0;
		margin: 30px auto 0;
		background: #000;
		width: 9em;
		text-align: center;
	}

}

@media screen and (max-width: 767px) {
#aside {
	width:90%;
	display:block;
	text-align:center;
	margin:40px auto 0;
	font-size:92%;
}
#aside .mainlink li a{
	display:block;
    background: #f4f4f4;
	text-align:left;
	padding:7px 10px;
	color:#c7000b;
	text-decoration:none;
	font-weight:500;
}

#aside .mainlink li.second a{
	display:block;
	background: #f3f3f3;
	border: 0px solid #C1C1C1;
	border-top:none;
	border-bottom: 0px dotted #C1C1C1;
	text-align:left;
	padding:7px 10px;
	color:#333;
	text-decoration:none;
	font-weight:500;
	position: relative;
}	
#aside .mainlink li.second a::after {
	content: "";
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
	width: 6px;
	height: 10px;
	background: url(../img/common/icon_arrow_black.png) no-repeat center center;
	background-size: contain;
}
#aside .mainlink li.second a:hover{
	background: #f3f3f3;
}
#aside .sublink ul {
	background: #f3f3f3;
	text-align:center;
	border-top:none;
	padding:3px 0;
}
#aside .sublink ul.price {
	border-bottom:none;
}
#aside .sublink li {
	margin:7px auto;
}
#aside .sublink li img{
	width:200px;
	height: auto;
}
#aside .subbnr ul {
	margin-top: 20px;
}
#aside .subbnr li {
	margin-bottom: 15px;
}
#aside .subbnr li img {
	width: 220px;
	height: auto;
}
#aside .sublist{
	width:87%;
	padding:30px;
	border: 0px solid #C1C1C1;
	display:table;
	background-color: #f4f4f4;
}
#aside .sublist a h3{
	padding:0px 0 10px;
	font-size:16px;
	letter-spacing:-1px !important;
	color:#c7000b;
	font-weight:400;
}
#aside .sublist a{
	text-decoration:none;
}
#aside .sublist dl{
	text-align: left;
}
#aside .sublist dl dt{
	padding:4px 0 0 0;
	font-weight:bold;
	color:#333;
	font-size:87%;
	text-align:left;
}
#aside .sublist dl dt.news{
	vertical-align:middle;
	background	: url(../img/common/icon_news.png) 110px 50% no-repeat;
	background-size: 50px auto;
}
#aside .sublist dl dt.event{
	vertical-align:middle;
	background	: url(../img/common/icon_event.png) 110px 50% no-repeat;
	background-size: 50px auto;
}
#aside .sublist .list a {
	display: block;
	text-decoration: none;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 7px 0;
	margin: 30px auto 0;
	background: #000;
	width: 9em;
	text-align: center;
	}

}





/* footer
-------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 768px), print {
/* topicpath */
.totop {
		display: block;
		margin: 40px 0 0 auto;
		width: 13em;
		text-align: center;
		padding: 10px 20px;
		background: #000;
		color: #fff;
		font-weight: 700;
		font-size: 14px;
		text-decoration: none;
	}
.totop img {
	width: 17px;
	height: auto;
	padding: 7px 10px 7px 0;
}

.totop a {
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}
/* footer */
footer {
	width:100%;
	padding:5px 0 8px;
}

.cf_top{
	background:#999;
}

#footer-inner{
	width:960px;
	margin:0 auto;
}

.footerlink{
	margin-top	: 10px;
	text-align	: left;
	width		: 960px;
}
.footerlink .link_box{
	display:table;
	float		: left;
	text-align	: left;
	font-size	: 12px;
	letter-spacing:-0.5px;
	line-height	: 150%;
	padding		: 5px 30px 15px 15px;
	height		: 100%;
	min-height:50px;
}
.footerlink .link_box.Top{
	padding-left: 0px;
	background	: none ;
}
.footerlink .link_box.Btm{
	padding-right		: 0px;
}
.footerlink .link_box_top{
	margin:2px 0 4px;
}
.footerlink .link_box_top li{
	padding-left: 10px;
}
.footerlink .link_box_btm li{
	float		: left;
	text-align	: left;
	padding: 0 10px 0 0px;
	background:none;
	font-size	: 90%;
}
.footerlink ul a:link,
.footerlink ul a:active,
.footerlink ul a:visited {
	color		: #fff;
	text-decoration	: none;
}
.footerlink ul a:hover,
.footerlink ul a:focus {
	color			: #C40040;
	text-decoration	: underline;
}

.cf_btm{
	background-color: #fff;
}

.footeradress{
	display:table;
	vertical-align:middle;
	width		: 960px;
	margin	: 0px auto 0px;
	padding: 15px 0px 15px 0px;
	font-size	: 13px;
	line-height	: 140%;
	background-color: #fff;
	color:#333;
}
.footeradress p{
	padding: 0px 10px 0px 0px;
	float:left;
}
  .footeradress p:nth-child(3){
	  margin: 8px 0px 0px 0px;
  }
  .footeradress p:nth-child(4){
	  margin: 8px 0px 0px 0px;
  }

.footeradress .footer_logoimg{
	margin:-10px 0 0 0 ;
}
.footeradress .inner{
	padding: 0px 40px 0px 10px;
}
.footercopyright{
	text-align: center;
	padding: 12px 0px 8px 0px;
	width		: 960px;
	font-size	: 10px;
	line-height	: 120%;
}

}

@media screen and (max-width: 767px) {
/* topicpath */
.totop {
		display: block;
		margin: 40px 0 0 auto;
		width: 13em;
		text-align: center;
		padding: 10px 20px;
		background: #000;
		font-size: 14px;
		text-decoration: none;
	}

.totop img{
	width:17px;
	height:auto;
	padding: 7px 10px 7px 0;
}
.totop a{
	color:#fff;
	font-weight: 600;
	text-decoration: none;
}
/* footer */
footer {
	width:100%;
	height:auto;
	padding:5px 0 8px;
	text-align:center;
}

.cf {
	background-color: #fff;
}
#footer-inner{
	width:100%;
	margin:0 auto;
}

.footerlink{
	display:none;
}

.cf_btm {
	background-color: #fff;
}
.footeradress{
	width:100%;
	margin	: 0px auto 0px;
	padding: 5px 0px 5px 0px;
	font-size	: 12px;
	line-height	: 140%;
}
.footeradress p{
	padding: 5px 0px 2px;
}
.footeradress .inner{
	padding: 5px 0px 8px;
}
.footercopyright{
	text-align: center;
	padding: 10px 0px 8px 0px;
	width:100%;
	font-size	: 10px;
	line-height	: 120%;
}
}