@charset "utf-8";
/*==============================================================
	common.css
	
	history
		2012.01.20 kondo		new
==============================================================*/

/* ---------------------------------------------------------- */
/*   body   */
/* ---------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

.wf-mplus1p { font-family: "Mplus 1p"; }

html {
	height: 100%;
}
body {
	text-align: center;
	height: 100%;
	color: #333;    
  font-size: 15px;
    font-family: 'Noto Sans JP',"Meiryo", serif;
    line-height: 1.8;
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, table, th, td {
	margin:0;
	padding:0;
}
hr {
	display: none;
	margin: 0;
	padding: 0;
}
table {
	line-height: 1.4;
	border-collapse: collapse;
}
a:link {color: #333;text-decoration: underline;}
a:visited {color: #333;text-decoration: underline;}
a:hover {color: #333;text-decoration: none;}
a:active {color: #333;text-decoration: underline;}

a:hover img {
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

fieldset, img {
	border: 0;
}
img {
	vertical-align: bottom;
}
select, input {
	vertical-align: middle;
}
.left {
	float:left;
}
.right {
	float:right;
}
ul li {
	list-style:none;
}
address, caption, cite, code, dfn, em, th, var {
	font-style: normal;
	font-weight:normal;
}
.clear {
	clear:both;
}

/* pagetop */

.bottom_item {
/*	width: 940px;*/
	max-width: 1000px;
/*    height: 37px;*/
    height: 66px;
	clear: both;
	margin: 0 auto;
}
.bottom_item .pagetop {
    height: 66px;
    width: 68px;
    float: right;
    position: fixed;
    right: 15px;
    bottom: 10px;
    z-index: 200;
}
.bottom_item .pagetop.page-top-relative {
    position: static;
}
.bottom_item .pagetop .scrollTo {
    display: block;
    width: 100%;
    height: 100%;
    background: url(/themes/jfocus/common/img/arrow_pagetop.png) left bottom no-repeat;
    background-size: cover;
}
.bottom_item .pagetop a:link { color: #fff;text-decoration: none;}
.bottom_item .pagetop a:visited { color: #fff;text-decoration: none;}
.bottom_item .pagetop a:hover { color: #fff;text-decoration: underline;}
.bottom_item .pagetop a:active { color: #fff;text-decoration: none;}


/* rss */

.bottom_item #rss {
	width: 34px;
	float: left;
}



/* --- font --- */

.red {
	color: #f00;
}
.bold {
	font-weight: bold;
}
.ctr {
	text-align: center;
}

/* --- fontsize ----- 

10px 	77%
11px 	85%
12px 	93%
13px 	100%
14px 	108%
15px 	116%
16px 	124%
17px 	131%
18px 	139%
19px 	147%
20px 	154%
21px 	162%
22px 	170%
23px 	177%
24px 	185%
25px 	193%
26px 	200%

--------------------*/

/* ---------------------------------------------------------- */
/*   wrapper   */
/* ---------------------------------------------------------- */

#wrapper {
	width: 100%;
}

/* ---------------------------------------------------------- */
/*   sitecopy   */
/* ---------------------------------------------------------- */

#sitecopy {
	color:#999;
	float: left;
	font-size: 77%;
	margin-bottom: 8px;
}

/* ---------------------------------------------------------- */
/*   header_nav   */
/* ---------------------------------------------------------- */

#header_nav {
	float: right;
	text-align: right;
}
#header_nav li {
	display: inline;
/*	font-size: 93%;*/
  font-size: 100%;
	height: 18px;
	line-height: 18px;
	vertical-align: top;
	margin-bottom: 10px;
    position: relative;
    padding-left: 25px;
/*    font-family: "Sawarabi Gothic";*/
}
#header_nav li a {
  text-decoration: none;
/*  padding-left: 25px;*/
/*  position: relative;*/

}
#header_nav li:before {
/*  content: ">";*/
  content: url(/themes/jfocus/common/img/mark_right.png);
/*  font-weight: bold;*/
/*  font-size: 18px;*/
/*  color: #105685;*/
  position: absolute;
  left: 13px;
/*  top: 0;*/
      /* top: 6px; */
}
#header_nav li img {
  margin: 0 10px 3px 10px;
}
#header_nav a:link {color: #555;}
#header_nav a:visited {color: #555;}
#header_nav a:hover {color: #555;}
#header_nav a:active {color: #555;}

/* ---------------------------------------------------------- */
/*   header  */
/* ---------------------------------------------------------- */

.header_wrap {
	margin-bottom: 14px;
}
#header {
/*	width: 940px;*/
	max-width: 1000px;
	padding-top: 5px;
	margin: 0 auto;
/*    font-family: "Meiryo";*/
}
#header .header_bottom {
/*	width: 940px;*/
	max-width: 1000px;
	clear:both;
    margin: 25px 0;
}

/*------- title ----------*/

#header .title {
	float: left;
	width: 307px;
	margin: 0 20px 0 0;
	padding: 6px 0 6px 0;
}

/* ----- searchbox ------ */

#freewordsearch {
/*	width: 200px;*/
  width: 293px;
  height:38px;
  text-align: left;
  float: left;
/*  margin: 21px 10px 0 0;*/
  margin: 9px 0 0 0;
}
#freewordsearch input {
	vertical-align: middle;
}
#searchForm {
  width: 293px;
  display: block;  
/*  height: 24px;*/
  height: 38px;
  position: relative;
}
#search_text {
  color: #8c8c8c;
  width: 293px;
  height: 38px;
  margin: 0;
  padding: 0 15px;
  position: absolute;
  border: 1px solid #bfbfbf;
}
/*
* html #search_text {
  width: 136px;
  height: 25px;
}
*/
#searchBtn {
  position: absolute;
  top: 2px;
  right: 5px;
  width: 40px;
}

/* ----- contact ------ */

#header .contact {
	width: 271px; height: 60px;
	text-align: left;
	float: left;
}
#header .contact dt {
	width: 116px;
	float: left;
	margin-right: 8px;
}
#header .contact dd {
	float: left;
	margin: 3px 0 0 0;
}
#header .contact dd ul li {
	margin: 0; padding: 0;
}
#header .contact dd ul li.bt_email {
	margin-top: 4px;
}
#header .contact dd ul li img {
	vertical-align: bottom;
}

/* ------- banner -------- */

#header #banner {
	float: left;
	margin: 0 0 10px 0;
	width: 219px;
	display: inline;
}
#header #banner li {
	padding-bottom: 5px;
}

#header #banner li.bt_reservation01 {
	float: left;
}
#header #banner li.bt_reservation02 {
	float: left;
}

/* ------- application -------- */

#header .application {
	margin: 0;
	width: 163px;
	float: right;
}



/* ---------------------------------------------------------- */
/*		globalNav  */
/* ---------------------------------------------------------- */

.globalnav_wrap {
	clear: both;
/*	height: 41px;*/
	height: 59px;
/*	background: url(/themes/jfocus/common/img/navi_bg.png) repeat #003366;*/
  border-top: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
  min-width: 1000px;
/*  font-family: "Meiryo";*/
}
#globalnav {
/*  width: 940px;*/
  max-width: 1000px;
  margin: 0 auto;
/*	background: #39c;*/
/*	text-align: left;*/
  text-align: center;
}
#globalnav li {
/*  background: #fff;*/
  float: left;
  letter-spacing: 0.05em;
}

.gnav_list a {
  display: block;
  text-decoration: none;
  height: 59px;
  line-height: 59px;
  font-size: 15px;

  position: relative;
}

.gnav_list a:hover {
  background: -webkit-linear-gradient(25deg, #105685 0, #0F8AFD 100%);
  background: -moz-linear-gradient(25deg, #105685 0, #0F8AFD 100%);
  background: -o-linear-gradient(25deg, #105685 0, #0F8AFD 100%);
  background: linear-gradient(65deg, #105685 0, #0F8AFD 100%);
  color: #fff;
}

.gnav_list > a:hover:after {
  content: url(/themes/jfocus/common/img/mark_under.png);
  position: absolute;
  left: 48%;
  bottom: 9px;
}

.gnav_list.stay {
      background: -webkit-linear-gradient(25deg, #105685 0, #0F8AFD 100%);    background: -moz-linear-gradient(25deg, #105685 0, #0F8AFD 100%);    background: -o-linear-gradient(25deg, #105685 0, #0F8AFD 100%);    background: linear-gradient(65deg, #105685 0, #0F8AFD 100%);
}

.gnav_list.stay a {
  color: #fff;
}

.gnav_list.stay ul li a {
  color: #000;
}

.gnav_list ul {
  display: none;
  position: absolute;
/*  top: 50px;*/
/*   left: -1px; */
/*   width: 250px; */
/*  background-color: #105685;*/
  background-color: #e4e4e4;
  z-index: 1001;
/*  width: 290px;*/
}

.gnav_list ul li {
/*  margin: 0;*/
/*  padding: 5px 5px 5px 20px;*/
/*   width: 250px; */
/*  height: 1.5em;*/
/*  border-bottom: 1px solid #fff;*/
  border-bottom: 1px solid #bfc2c5;
/*  background: url(/themes/jfocus/common/img/navigation_sub_arrow.gif) 5px center no-repeat;*/
  white-space: nowrap;
  float: none !important;
  text-align: left;
}

.gnav_list ul li a {
  padding-left: 15px;
/*  color: #fff;*/
  color: #000;
  position: relative;
  height: 40px;
  line-height: 40px;
  font-size: 13px;
  padding-right: 35px;
}

.gnav_list ul li a:after {
  content: url(/themes/jfocus/common/img/mark_right_subnavi_grey.png);
  position: absolute;
  right: 13px;
  top: 13px;
}

.gnav_list ul li a:hover {
  background: #fff;
/*  color: #105685;*/
  color: #000;
}

.gnav_list ul li a:hover:after {
/*  content: url(/themes/jfocus/common/img/mark_right_subnavi.png);*/
  content: url(/themes/jfocus/common/img/mark_right_subnavi_grey.png);
  position: absolute;
  right: 13px;
  top: 2px;
}

.gnav_list_1 {
  width: 114px;
}

.gnav_list_1 > a:hover:after {
  content: url(/themes/jfocus/common/img/mark_under.png);
  position: absolute;
  left: 44%;
  bottom: -15px;
}

.gnav_list_2 {
  width: 122px;
}

.gnav_list_2 > a:hover:after {
  content: url(/themes/jfocus/common/img/mark_under.png);
  position: absolute;
  left: 45%;
  bottom: -15px;
}

.gnav_list_2_link.js_hover {
  background-color: #105685;
  color: #fff;
}

.gnav_list_2_link.js_hover:after {
  content: url(/themes/jfocus/common/img/mark_under.png);
  position: absolute;
  left: 45%;
  bottom: -15px;
}

.gnav_list_3 {
  width: 179px;
}

.gnav_list_3 > a:hover:after {
  content: url(/themes/jfocus/common/img/mark_under.png);
  position: absolute;
  left: 46%;
  bottom: -15px;
}

.gnav_list_3_link.js_hover {
  background-color: #105685;
  color: #fff;
}

.gnav_list_3_link.js_hover:after {
  content: url(/themes/jfocus/common/img/mark_under.png);
  position: absolute;
  left: 46%;
  bottom: -15px;
}

.gnav_list_4 {
  width: 291px;
}

.gnav_list_4 > a:hover:after {
  content: url(/themes/jfocus/common/img/mark_under.png);
  position: absolute;
  left: 48%;
  bottom: -15px;
}

.gnav_list_4_link.js_hover {
  background-color: #105685;
  color: #fff;
}

.gnav_list_4_link.js_hover:after {
  content: url(/themes/jfocus/common/img/mark_under.png);
  position: absolute;
  left: 48%;
  bottom: -15px;
}

.gnav_list_5 {
  width: 136px;
}

.gnav_list_5 > a:hover:after {
  content: url(/themes/jfocus/common/img/mark_under.png);
  position: absolute;
  left: 45%;
  bottom: -15px;
}

.gnav_list_5_link.js_hover {
  background-color: #105685;
  color: #fff;
}

.gnav_list_5_link.js_hover:after {
  content: url(/themes/jfocus/common/img/mark_under.png);
  position: absolute;
  left: 45%;
  bottom: -15px;
}

.gnav_list_6 {
  width: 158px;
}

.gnav_list_6 > a:hover:after {
  content: url(/themes/jfocus/common/img/mark_under.png);
  position: absolute;
  left: 46%;
  bottom: -15px;
}


/* ---------------------------------------------------------- */
/*		topicpath  */
/* ---------------------------------------------------------- */

#topicpath {
	margin: 8px auto 18px;
	width: 940px;
	overflow:hidden;
}
#topicpath ul {
	text-align: left;
}
#topicpath li {
	display:inline;
	color: #666;
	font-size: 77%;
}
#topicpath li a:link { color: #666;}
#topicpath li a:visited { color: #666;}
#topicpath li a:hover { color: #666;}
#topicpath li a:active { color: #666;}


/* ---------------------------------------------------------- */
/*   contents   */
/* ---------------------------------------------------------- */

#contents {
	width: 940px;
	text-align: left;
	margin: 0 auto;
}

/* ----------------------- main ----------------------------- */

#main {
	width: 720px;
	float: right;
	display: inline;
	margin-bottom: 40px;
}
#main2 {
	width: 940px;
	margin-bottom: 15px;
}


/* ----------------------- menu ----------------------------- */

#sub {
	width: 180px;
	float: left;
}
#sub #menu {
	margin-bottom: 15px;
}
#sub #menu ul li {
    margin: 0 0 10px 0;
    list-style-type: none;
    border-left: 3px solid #0f88f6;
}
* html #sub #menu ul li {
	margin: 0;
}
#sub #menu ul li a {
    display: block;
    padding: 2px 5px 6px 10px;
    background: #f0f0f0;
    font-size: 13px;
}
#sub #menu ul li a:hover {
	background-color: #ddd;
	text-decoration: underline;
}
#sub #menu ul li a:link { color: #0970cf;}
#sub #menu ul li a:visited { color: #0970cf;}
#sub #menu ul li a:hover { color: #0970cf;}
#sub #menu ul li a:active { color: #0970cf;}

#sub .inquiry_box dt {
	border-bottom: 2px solid #7fa3d0;
}
#sub .inquiry_box dd {
	background-color: #0047a1;
	color: #fff;
}
#sub .inquiry_box dd dl {
	padding: 10px 0 0 10px;
}
#sub .inquiry_box dd p {
	padding: 0 10px 10px 10px;
}
#sub .inquiry_box dd dt {
	border: none;
	float: left;
	width: 5em;
	line-height: 1.5;
	font-size: 93%;
}
#sub .inquiry_box dd dt.season {
	padding-left: 10px;
	width: 4em;
}
#sub .inquiry_box dd dd {
	padding-left: 5em;
	line-height: 1.5;
	font-size: 93%;
}

/* ---------------------------------------------------------- */
/*    bottom_banner  */
/* ---------------------------------------------------------- */

.bottom_banner_wrap {
    padding-top: 30px;
	border-top: 1px solid #105685;
    min-width: 1000px;
}
.bottom_banner ul {
  display: grid;
  grid-template-columns: 170px 170px 170px 170px 170px;
  justify-content: space-between;
}
.top .bottom_banner_wrap {
  border-top: none;
}
.bottom_banner {
	max-width: 1000px;
	margin: 0 auto;
	padding-top: 15px;
}
.bottom_banner li {
	padding-bottom: 15px;
}


/* ---------------------------------------------------------- */
/*    footer  */
/* ---------------------------------------------------------- */

#footer_wrapper {
/*	background-color:#39c;*/
    background-color:#105685;
/*    font-family: "Sawarabi Gothic";*/
    min-width: 1000px;
/*    font-family: "Meiryo";*/
}
#footer_wrapper #footer {
	margin: 0 auto;
/*	width: 940px;*/
	max-width: 1000px;
	text-align: left;
	color: #fff;
	clear: both;
	overflow: hidden;
    padding-top: 40px;
    position: relative;
}
#footer_wrapper #footer a:link {color: #fff;}
#footer_wrapper #footer a:visited {color: #fff;}
#footer_wrapper #footer a:hover {color: #fff;}
#footer_wrapper #footer a:active {color: #fff;}

#footer_wrapper #footer .footer_subnav {
	margin-top:20px;
}
#footer_wrapper #footer .footer_subnav li {
	border-left: 1px solid #fff;
	padding-left:0.5em;
	display: inline;
}
#footer_wrapper #footer .footer_subnav li.noline {
	border-left:none;
	padding-left:0;
}
#footer_wrapper #footer .footer_mainnav {
    float: left;
    width: 760px;
    display: flex;
    padding-bottom: 40px;
}
#footer_wrapper #footer .footer_mainnav ul li {
	margin-right: 45px;
	line-height: 1.8em;
}
#footer_wrapper #footer .footer_mainnav ul li a {
/*	background: url(/themes/jfocus/common/img/arrow_footer.png) left center no-repeat;*/
/*	padding-left: 22px;*/
  text-decoration: none;
}
#footer_wrapper #footer .footer_mainnav ul .snv_inquiry {
	margin-top: 1.8em;
}
#footer_wrapper #footer #footerinfo {
    width: 290px;
	float: right;
	display: inline;
	line-height: 1.8;
	font-size: 93%;
    position: absolute;
    top: 38px;
    right: 0;
}
* html #footer_wrapper #footer #footerinfo {width: 280px;}

#footer_wrapper #footer #footerinfo #logo-s {
	line-height: 2;
/*	font-size: 124%;*/
    position: relative;
    left: 8px;
    font-size: 16px;
}
#footer_wrapper #footer #footerinfo #address,
#footer_wrapper #footer #footerinfo #sns {
    position: relative;
    left: 8px;
}

#footer_wrapper #footer #footerinfo #sns {
  float: right;
}

#footer_wrapper #footer #footerinfo #sns img {
  margin: 0.5em 0.5em 0 0;
}

#footer_wrapper #footer #footerinfo dt {
	float: left;
}
#footer_wrapper #footer #footerinfo dd {
	float: left;
}
#footer_wrapper #footer #footerinfo dd.rmgn {
	margin-right: 0.5em;
}
#footer_wrapper #footer #footerinfo #finfo2 {
	overflow: hidden;
}
#footer_wrapper #footer #footerinfo p#etc {
	color: #ff0000;
	margin:10px 0;
}
#footer_wrapper #footer #footerinfo p#copyright {
	margin:10px 0;
}

/* footer_nav */

.footer_nav {
  /* position: relative; */
  overflow: hidden;
  padding: 85px 0 15px;
  width: 100%;
}

.footer_nav_list {
  float: left;
  left: 50%;
  position: relative;
}

.footer_nav_item {
  float: left;
  position: relative;
  left:-50%;
}

.footer_nav_item + .footer_nav_item:before {
  content: "/";
  color: #fff;
}

.footer_nav_item_link {
  color: #fff !important;
  text-decoration: none !important;
  padding: 0 5px;
}


/* footer2 */

.footer2_wrap {
  background-color: #fff;
  text-align: center;
}

.footer2 {
  color: #000;
  max-width: 1000px;
  margin: 0 auto;
  padding: 15px 0;
}

#copyright {
  letter-spacing: 0.03em;
}

.header_btn {
    float: right;
    margin-top: 20px;
}
.header_btn ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
       -ms-flex-align: baseline;
          align-items: baseline;
    -webkit-box-pack: center;
       -ms-flex-pack: center;
     justify-content: center;
  flex-wrap: wrap;
}
.header_btn a {
    background: #4267b2;
    text-decoration: none;
    margin-left: 5px;
    font-size: 11px;
    padding: 5px 11px;
    border-radius: 3px;
    box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.15);
    line-height: 11px;
    color: #fff;
}

.header_btn li:nth-child(2) a {
    background: #fff;
    margin-left: 5px;
    color: #105685;
    border: 1px solid #105685;
    padding: 4px 10px;
}
.header_btn a:hover {
    opacity: .7;
}
.header_btn li:nth-child(2) a:hover {
    color: #fff;
    background: #105685;
    opacity: 1;
}
.header_btn a svg {
    margin-right: 5px;
    position: relative;
    top: 4px;
}
.acms-admin-modal{
  text-align: left;
}

.spMenu_btn {
    position: absolute;
    top: 25px;
    right: 4%;
    z-index: 9000;
    width: 45px;
    height: 27px;
  display: none;
}

.spMenu_btn a {
    display: block;
    width: 100%;
    height: 100%;
    font-size: 12px;
    text-decoration: none;
    letter-spacing: -1px;
    padding-top: 30px;
}

.spMenu_btn span {
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: #353535;
  transition: all 0.45s;

  -webkit-transition: all 0.45s;
}

.spMenu_btn span:first-child {
  top: 0;
}

.spMenu_btn span:nth-child(2) {
    top: 0;
    bottom: 0;
    margin: auto;
}
.spMenu_btn span:last-child {
  bottom: 0;
}

.spMenu_btn .active span:first-child {
  top: 13px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.spMenu_btn .active span:nth-child(2) {
  opacity: 0;
}

.spMenu_btn .active span:last-child {
  bottom: 13px;
  transform: rotate(-45deg);

  -webkit-transform: rotate(-45deg);
}

.hd_links {
    position: absolute;
    top: 0;
    right: -100%;
    z-index: 8900;
    width: 100%;
    height: auto;
    padding-right: 80px;
    padding-bottom: 30px;
    background: #eee;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    overflow-y: scroll;
  box-sizing: border-box;
  display: none;
  }

.hd_links.active {
    right: 0;
  }
.hd_links ul ul {
  display: none;
}
.hd_links .header_btn {
    display: block;
    float: none;
    width: 100%;
}
.accordion,
.not-accordion a{
    font-size: 18px;
    border-top: 1px solid #fff;
    padding: 10px 0;
    background: #105685;
    color: #fff;
      position: relative;
      display: block;
    text-decoration: none;
}
.hd_links .toggle-link ul a {
    background: #cacaca;
    font-size: 16px;
    padding: 10px;
    display: block;
}
.hd_links li:after {
    content: "";
    position: absolute;
    height: 5px;
    width: 5px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 0;
    bottom: 0;
    margin: auto;
    right: 16px;
}

.hd_links li.accordion:after {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}