@charset "utf-8";

/*-----------------------------------------------------
RESET
-------------------------------------------------------*/
*{}
body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,pre,form,dl,dt,dd,blockquote,fieldset,input,address{margin:0;padding:0;}
h1,h2,h3,h4,h5,h6,caption,address,th{font-style:normal;}
ul,ol,li,dl,dt,dd{list-style-type:none;list-style-position:outside;}
table,th,td{vertical-align:middle;}
fieldset{border:none;}
legend{display:none;}
img{border:0;vertical-align:top;}
hr{	display:none;clear:both;}
br{	letter-spacing:0;}
button,fieldset,form,input,label,legend,select,textarea{font-family:inherit;font-style:inherit;	font-weight:inherit;font-size:100%;margin:0;padding:0;	vertical-align:baseline;}
select{	padding:2px;}
a{outline:none;}
a:link,a:visited{color:#0D1747;}
a:hover{color:#333333;text-decoration:none;}

/****************************************
		0. 全体の設定
*****************************************/
/*--clearfix--*/
.clearfix:after {	visibility: hidden;display: block;font-size: 0;clear: both;height: 0;}
.clearfix{zoom:100%; overflow: hidden; /* for dreamweaver */}
.clear{display: block;clear:both;font-size: 0;margin:0px;	padding:0px;border:0px;height:0px;line-height:0px;visibility: hidden;content: " ";}
html,body {text-align:left;	color:#333333;	font-family:Meiryo, "Hiragino Kaku Gothic ProN", sans-serif;}

/* link */
a:link { color:#333; text-decoration:none;}
a:visited { color:#333; text-decoration:none;}
a:active { color:#333; text-decoration:none;}
/*a:hover { color:#333; text-decoration:underline;}*/
hr.dashed {border-top: 1px dotted #999999;border-bottom: 0;padding: 0;margin: 2px 0;	clear: both;}

html {scroll-behavior: smooth;}

/*----------▼ナビゲーション----------*/
#pageNavi {
	width: 100%;
	height: 64px;
	background-color: #eaf4ff;
    border-bottom: solid 1px #CBDAEA;
}
#pageNavi .inner {
	width: 992px;
	height: 64px;
	margin: 0 auto;
	display: flex;
}
#pageNavi p {
	background-color: #0450b9;
	color: #fff;
	width: 120px;
	text-align: center;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	padding-top: 10px;
	margin-right: 20px;
}
#pageNavi p span {
	display: block;
}
#pageNavi p span:nth-child(1) {	font-size: 20px;line-height: 1.0em;}
#pageNavi p span:nth-child(2) {	font-size: 15px;}

#pageNavi p a {
    color: inherit;
    text-decoration: none;
}

#pageNavi .navi-list {
	width: 830px;
	height: 100%;
	display: flex;
	justify-content: space-around;
    position: relative;
}
#pageNavi .navi-list > li {
	margin: 0 15px;
	width: 100%;
	height: 100%;
}
#pageNavi .navi-list > li > a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #333;
	font-size: 14px;
	font-weight: bold;
	text-decoration: none;
	transition: .3s;
	position: relative;
}
#pageNavi .navi-list > li.country > a {
    pointer-events: none;
}
#pageNavi .navi-list > li > a:before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 5px;
	vertical-align: middle;
}
#pageNavi .navi-list > li.nav-islands a:before {background: url("../img/icon/navi-islands.svg") center center / contain no-repeat;}
#pageNavi .navi-list > li.nav-theme a:before {background: url("../img/icon/navi-special.svg") center center / contain no-repeat;}
#pageNavi .navi-list > li.nav-branch a:before {background: url("../img/icon/navi-branch.svg") center center / contain no-repeat;}
#pageNavi .navi-list > li.nav-search a:before {background: url("../img/icon/navi-search.svg") center center / contain no-repeat;}

#pageNavi .navi-list > li:not(.country) > a:after {
	position: absolute;
	bottom: 6px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #0450b9;
	transform: scale(0, 1);
	transform-origin: center top;
	transition: transform .3s;
}
#pageNavi .navi-list > li > a:hover:after {
	transform: scale(1, 1);
}
#pageNavi.fixed {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	box-shadow:0px 1px 2px 0px rgba(0,0,0,0.1);
    border-bottom: none;
}
#pageNavi .pc-none {
    display: none;
}

/*------------------------------------------------
	検索ボックス searchModule.min.css 調整
--------------------------------------------------*/
#searchArea {
    width: 100%;
    padding: 50px 0;
    background: url(../img/search_photo.jpg) no-repeat top center;
    margin-top: 100px;
}
#searchArea a {
    text-decoration: none;
}
#searchModSection {
  max-width: 992px;
  margin: auto;
}
.rn-searchMod__buttonSearch {
    color: #fff!important;
}
a.rn-searchMod__formDomLink {
	color: #fff!important;
}
@media (min-width:841px) {
  .main .rn-searchMod {
    width: 100%;
    margin: auto;
    display: block;
  }
  .main .rn-searchMod__navSection {
    margin-right: 0;
  }
  .main .rn-searchMod__navListItem {
    margin-bottom: 0;
  }
  /*.main .navi02.rn-searchMod__navListItem {
    margin-right: 8px;
  }*/
    .main .rn-searchMod__navListItem:not(last-child) {
    margin-right: 8px;
    }
  .main .rn-searchMod__navList {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 1;
  }
  .main .rn-searchMod__navListButton {
    border-radius: 4px 4px 0 0;
    border: 1px solid #000;
  }
  .main .rn-searchMod__navListButton.active {
    border-bottom-color: #fff;
    margin-right: 0;
  }
  .main .rn-searchMod__formSection {
    width: 100%;
    min-height: auto;
    border: 1px solid #000;
    border-radius: 0;
    padding: 30px 40px;
    margin-top: -1px;
  }
}
@media only screen and (max-width: 828px) and (orientation: landscape), only screen and (max-width: 740px) {
  .main .rn-searchMod__checkBox::after, .main .rn-searchMod__checkBox::before {
    top: -1px;
  }
  .main .rn-searchMod--ovs .rn-searchMod__navListButton, .main .rn-searchMod--dom .rn-searchMod__navListButton {
    font-size: calc(20vw / 7.5);
  }
}

/*copyright*/
.hawaii-copyright {
    width: 992px;
    margin: 0 auto;
    text-align: right;
    padding: 10px;
}
