:root {
  --main-color: #182E71;
  --red-color: #e61b1b;
}

/* index
---------------------------*/
#index_layout {
  width: 1080px;
}
#index_seotext {
  width: 100%;
}
.flex-wrap {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;
}
.bg-ship{
  position: relative;
  width: 100%;
  height: 560px;
  background: url("../img/common/ship.jpg") center center;
  background-size: 100%;
  margin-bottom: 20px;
}
#header_socialblock {
  display: flex;
  align-items: center;
  position: absolute;
  right: 0;
  top: 8px;
}
#header_socialblock i {
  font-size: 24px;
  margin-right: 12px;
  color: white;
}
#index_seotext #seotext_left {
  width: 100%;
  margin-bottom: 10px;
}
#index_seotext #seotext_left p {
	letter-spacing: 0;
  font-weight: bold;
}
#index_seotext #seotext_left a {
  letter-spacing: 0;
  font-weight: bold;
  text-decoration:underline;
  color:#e61b1b;
}
#index_seotext #seotext_right {
  display: none;
}
#index_seotext #seotext_right2 {
  display: none;
}
#navicounter {
  max-width: 1080px;
  background: #182E71;
  margin: -1px auto 0;
  padding: 0 0 5px 0;
}
.navicounter__inner {
  width: 510px;
  margin: 0 auto;
}
#navicounter ul {
  flex-wrap: wrap;
}
#navicounter ul li {
  margin-right: 25px;
}
#navicounter ul li .title {
  color: white;
}
#navicounter ul li span {
  color: white;
}
/* tvinfo
---------------------------*/
#index_seotext #seotext_left span.tvinfo a {
  letter-spacing: 0;
  font-weight: bold;
  color:#3C5DCA;
}
#index_seotext #seotext_left span.top_info_head {
  letter-spacing: 0;
  font-weight: bold;
  color: #3C5DCA;
  text-decoration:underline;
}
/* leftnavi　リニューアル後TopPageには無し
---------------------------*/
#leftnavi {
  width: 268px;
  margin-right: 5px;
  margin-left: 0;
}
#leftnavi div.leftblock {
  padding: 3px;
  margin: 0;
  background-color: #f7f7f7;
  border: solid 1px #A5ABBD;
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-radius-bottomright: 5px;
  -moz-border-radius-bottomleft: 5px
}
#leftnavi div.leftblock div.blockinline {
  padding: 5px;
  border: solid 1px #ccc;
  background-color: #fff;
  overflow: hidden;
}
#leftnavi * a {
  color: #001765;
  text-decoration: underline;
  vertical-align: -8px;
}
#leftnavi div.leftblock div.center {
  padding: 8px;
  text-align: center;
}
#leftnavi div.leftblock select {
	letter-spacing: 0;
  height: 22px;
}
#leftnavi div#infoBlock {
  margin-bottom: 5px;
}
#leftnavi div#sideBannerBlock {
  margin-bottom: 0px;
}
#leftnavi div#sideBannerBlock li {
  margin-bottom: 2px;
}
#leftnavi div.leftblockSearch,
#leftnavi div.leftblockCenter,
#leftnavi div.leftblockCalendar{
  border: 2px solid #09216b;
}
#leftnavi div.leftblock div.searchinline {
  background-color: #F4F9E6;
  padding: 5px 3px 9px 5px;
}
#leftnavi div.leftblock div.searchinline p {
  margin-top: 5px;
}
#leftnavi div.leftblock div.searchinline select.cl_beige {
  border: 2px solid #3a3;
}
#leftnavi div.leftblock div.searchinline div#selecttypeblock p {
  float: left;
  color: #132973;
}
#leftnavi div.leftblock div.searchinline div#selecttypeblock span {
  float: right;
  margin-top: 4px;
}
#leftnavi div.leftblock div.searchinline div#selecttypeblock ul li {
  float: left;
  width: 115px;
  height: 21px;
}
#leftnavi div.leftblock div.searchinline div#selecttypeblock ul li:nth-child(2) {
  width: 150px;
  margin-left: -30px;
}
#leftnavi div.leftblock div.searchinline div#selecttypeblock input {
  vertical-align: 1px;
  margin-right: 1px;
}
#leftnavi div.leftblock div.searchinline div#selecttypeblock input.all_check {
  vertical-align: -2px;
}
#leftnavi div.leftblock div.searchinline div#selecttypeblock label {
  margin-left: 2px;
  letter-spacing: -1px;
  vertical-align: -2px;
}
#leftnavi div.leftblock div.searchinline div.selectlist {
  border: none;
  padding: 0;
  background-color: #F4F9E6;
}
#id-div-more-search div.selectlist select {
  height: 35px;
  margin: 5px;
  width: 100%;
  color: #333;
  border-radius: 5px;
}
#leftnavi div.leftblock div.searchinline div.selectlist select {
  width: 234px;
  margin-left: 5px;
}
#leftnavi div.leftblock div.searchinline div.selectlist p {
  margin-top: 5px;
  margin-left: 5px;
}
#leftnavi div.leftblock div.searchinline div.selectlist input[type=text] {
  margin-left: 5px;
  width: 234px;
  height: 23px;
  border: #999 1px solid;
  background-color: #fdfdff;
  border-radius: 5px;
}

#leftnavi div.leftblock div.calendar_row {
  overflow: hidden;
  border-bottom: dotted 1px #666;
  margin-bottom: 5px;
  padding-bottom: 3px;
}

#leftnavi div.leftblock div.calendar_row p {
  float: left;
  display: block;
  font-weight: bold;
  width: 40px;
  color: #58618C;
  text-align: center;
  position: relative;
  top: 3px;
  font-size: 14px;
}
#leftnavi div.leftblock div.calendar_row ul {
  display: block;
  overflow: hidden;
}
#leftnavi div.leftblock div.calendar_row ul li {
  float: left;
  display: block;
  margin: 2px 1px;
  width: 32px;
  text-align: right;
}
#leftnavi div.leftblock div.calendar_row ul li a {
	font-size: 14px;
	color: #000;
  text-decoration: none;
}
#leftnavi div.leftblock div.blockinline ul#reviewlist li {
  margin: 0px 0 1px 15px;
  padding-left: 10px;
  background: url("../img/common/ico_footer1.gif") no-repeat 0 13px;
}
#leftnavi div.leftblock div.blockinline ul#reviewlist li a {
  text-decoration: underline;
  font-size: 13px;
}
#leftnavi div.leftblock div.blockinline ul#reviewlist li a.sub {
  margin-left:10px;
  font-size:10px;
}
#leftnavi div.leftblock div.blockinline ul#reviewlist li.sub {
    background-position:7px;
}
#leftnavi div#keywordBlock p {
  color: #001765;
  font-weight: bold;
  padding-bottom: 10px;
}
#leftnavi div#keywordBlock ul li {
  float: left;
  margin-right: 5px;
}
#leftnavi div#keywordBlock select {
  width: 232px;
  margin-top: 3px;
}
#leftnavi div#keywordBlock input {
  margin-top: 3px;
  height: 1.4em;
}
#leftnavi div#keywordBlock div.navi_btn_area  {
  clear: both;
  margin: 10px auto 0 auto;
  text-align: center;
  border: none;
  padding: 0;
  background: transparent;
}
#leftnavi div#infoBlock div.leftblock {
  border-color: #C98000 !important;
  background-color: #fff;
}
#leftnavi div#infoBlock div.inforow {
  overflow: hidden;
  width: 230px;
  margin: 0 auto;
  padding-bottom: 10px;
}
#leftnavi div#infoBlock div.inforow img {
  float: left;
  width: 90px;
}
#leftnavi div#infoBlock div.inforow div {
  float: right;
  width: 130px;
}
#leftnavi div#infoBlock div.inforow div h3 {
  color: #001765;
}
#leftnavi div#infoBlock div.inforow a.infolink {
  background: url("../img/common/ico_footer1.gif") no-repeat 0 center;
  padding-left: 10px;
}
#leftnavi .sideListBlock {
  width: 265px;
}
#leftnavi .sideListBlock ul {
  margin-top: 5px;
}
/* 検索窓
---------------------------*/
#searchBlock {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-37%,-50%);
}
.search__ranking--banner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-265%,-50%);
}
.search__ranking--banner p {
  margin-top: 25px;
  position: relative;
}
.search__ranking--banner p:hover {
  filter: brightness(1.1);
  transition: .2s;
}
.search__ranking--banner p:first-child{
  margin-top: 0px;
}
.search__ranking--accent{
  position: absolute;
  top: -30px;
  left: -35px;
}
.search__ranking--accent img{
  border: none !important;
}
.search__ranking--banner img{
  width: 200px;
  border: 2px solid #182E71;
  box-sizing: border-box;
}
.ui-datepicker{
  width: 45em !important;  
}
.ui-state-default, .ui-widget-content .ui-state-default{
  background: white !important;
  text-align: center;
  padding: .5em 0;
}

#ui-datepicker-div {
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%,-60%);
  border: 1px solid #182E71 !important;
  padding: 0 !important;
  box-shadow: 0px 0px 0px 100vw rgba(0,0,0,.5) !important;
  position: fixed !important;
}
.ui-widget-content{
  border: none !important;
}
.ui-datepicker .ui-datepicker-buttonpane button{
  margin: .5em 0 !important;
  width: 100% !important;
  background: #FB9C3C !important;
  color: white !important;
  padding: .5em 0 !important;
}
table.ui-datepicker-calendar tr td.ui-datepicker-today a{
  border: 1px solid #5fb700 !important;
}
table.ui-datepicker-calendar tr td.ui-datepicker-week-end:first-child a{
  background: #FFE1E1 !important;
}
table.ui-datepicker-calendar tr td.ui-datepicker-week-end a{
  background: #E1F7FF !important;
}
table.ui-datepicker-calendar tr td.date-holiday a{
  background: #FFE1E1 !important;
}
.ui-state-active, .ui-widget-content .ui-state-active,
table.ui-datepicker-calendar tr td.ui-datepicker-week-end a .ui-widget-content .ui-state-active{
  background: #fad42e !important;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next{
  cursor: pointer;
}
#searchBlock h2 {
  background: #182E71;
  color: white;
  padding: .3em 0;
  text-align: center;
  line-height: 1.45em;
  font-size: 1.4em;
  font-weight: bold;
  border-radius: 5px 5px 0 0;
}
#searchBlock > form {
  background: rgba(255,255,255,.7);
  width: max-content;
  max-width: 1000px;
  border-radius: 5px;
}
.leftblockSearch {
  width: 860px;
  height: 460px;
  padding: 1em 2em 1em 2em;
  box-sizing: border-box;
}
.leftblockSearch .sub_title {
  width: 100%;
  background: #5fb700;
  color: white;
  padding: 4px 6px;
  border-radius: 5px;
  font-size: 1.2em;
  font-weight: bold;
}
.leftblockSearch .sub_title span {
  font-size: .8em;
  font-weight: normal;
  margin-left: 2em;
  color: white;
}
#id-div-more-search {
  margin-top: 2em;
  width: 360px;
}
div.searchinline div.navi_btn_area {
  position: relative;
  width: max-content;
  margin-left: auto;
  margin-top: 1.5em;
}
div.searchinline div.navi_btn_area--left {
  width: 100%;
  margin-top: 0px;
}
div.searchinline div.navi_btn_area .cnt,
div.searchinline div.navi_btn_area .num {
  display: inline-block;
  vertical-align: bottom;
  font-size: 1.2em;
  font-weight: bold;
}
div.searchinline div.navi_btn_area .num {
  font-size: 1.5em;
  margin-bottom: -3px;
}
div.searchinline div.navi_btn_area button  {
    width: 250px;
    height: 40px;
    margin-left: 35px;
    background: #FB9C3C;
    color: white;
    border-radius: 20px;
    font-size: 1.3em;
    font-weight: bold;
    cursor: pointer;
    transition: .2s;
    outline: none;
}
div.searchinline div.navi_btn_area--left button {
  width: 96%;
  height: 30px;
  margin-left: 0px;
  font-size: 1.2em;
  font-weight: normal;
}
div.searchinline div.navi_btn_area button:hover  {
  background: rgb(214, 133, 51);
  transition: .2s;
}
div.searchinline div#selecttypeblock {
  position: relative;
  margin: .5em 0 0 0;
}
div.searchinline div#selecttypeblock ul {
  margin-top: .5em;
}
div.searchinline div#selecttypeblock .all_select {
  position: absolute;
  top: 5px;
  right: 0px;
}
div.searchinline div#selecttypeblock .all_select label {
  color: white;
}
div.searchinline div#selecttypeblock .all_select input {
  margin-top: 2px;
  margin-right: 2px;
}
div.searchtop {
  position: relative;
  margin-right: 70px;
}
a.searchtop_calendar_link {
  display: block;
  top: 0;
  right: 25px;
  position: absolute;
  text-decoration: underline;
}
div.search_product_id input[type=text] {
  margin-top: 5px;
  margin-left: 5px;
  width: 230px;
  height: 30px;
  padding: 0px 10px;
  border: 1px solid rgb(100, 100, 100);
  border-radius: 5px;
  box-sizing: border-box;
}
div.search_product_id {
  margin-top: 1em;
}
div#mapBlock {
  margin-bottom: 12px;
}
div#calendarBlock {
  margin-bottom: 14px;
}
div#reviewBlock {
  margin-bottom: 15px;
}
div#keywordBlock {
  margin-bottom: 15px;
}
.goal-theme-block {
  margin-top: 25px;
}
div#goalBlock {
  margin-bottom: 16px;
  width: 70%;
}
div#themeBlock {
  margin-bottom: 18px;
  width: 30%;
}
/* 目的から探す */
div.blockinline ul#goallist li {
  float: left;
  text-align: center;
  margin: 4px 8px;
  line-height: 1em;
  width: 118px;
}
div.blockinline ul#goallist li a {
  text-decoration: none;
  color: #2f5255;
  line-height: 100%;
}
/* 面白テーマから探す */
div.blockinline div.themeblock {
  overflow: hidden;
  font-size:13px;
}
div.blockinline div.themeblock h3 {
  border: solid 1px #5DAD07;
  background-color: #F0FAE6;
  /*padding: 3px 5px 5px 35px;*/
  padding: 1px 5px 5px 35px;
  margin-bottom: 5px;
  height: 12px;
  font-size:14px;
}
div.blockinline div.themeblock ul {
  overflow: hidden;
  margin-bottom: 10px;
}
div.blockinline div.themeblock ul li {
  width: 42%;
  float: left;
  padding: 1px 0 3px 15px;
  background: url("../img/common/ico_lens.gif") no-repeat 0 center;
}
div.blockinline div.themeblock ul li a {
  vertical-align: 0px;
  font-size:13px;
}
/* main common
---------------------------*/
#maincontents {
  width: 1080px;
  margin-right: 0;
}
#maincontents #imageblock {
  text-align: center;
  visibility:hidden;
}
#maincontents .bx-wrapper {
  margin-bottom: 4px;
	width: 595px;
}
#maincontents #gallery .bx-wrapper {
  width: 365px;
}
#maincontents #imageblock div.bx-wrapper div.bx-viewport {
  background: none;
  border: none;
  box-shadow: none;
  left: 0;
}
#maincontents #imageblock #imageblockinline {
  width: 595px;
}
#maincontents #imageblock div.topslidemain {
	margin-bottom: 4px;
	width: 595px;
}
#maincontents #imageblock ul.topslidethumb {
  width: 610px; 
  height: 57px;
}
div.slideitem {
  display: table;
}
div.slideitem a {
  display: table-cell;
}
div.slideitem img {
  height: 100%;
}
#maincontents #imageblock ul li a {
	display: block;
	border: #4d9500 solid 1px;
	float: left;
	height: 55px;
  position: absolute;
	width: 93px;
    overflow: hidden;
}
#maincontents #imageblock ul li a img {
  display: block;
  position: absolute;
  top: 0px;
  left: 1px;
}
#maincontents #imageblock ul li a.active {
    padding-top:0;
    border: #f00 solid 10px;
    height: 49px;
    width: 87px;
    top: -6px;
    left: -6px;
}
#maincontents #imageblock ul li a.active img {
  top: -3px;
  left: -2px;
}
#maincontents #imageblock ul li {
	display: block;
	float: left;
	width: 95px;
  height: 57px;
  position: relative;
  overflow: hidden;
	margin-left: 4px;
}
#maincontents #imageblock ul li.first {
	margin-left: 0px;
}
#maincontents .indexblock {
  width: 100%;
}

#maincontents .h2title {
  height: 23px;
  position: relative;
  background: #182E71;
  color: white;
  font-size: 14px;
  font-weight: bold;
  display: inline-block;
  margin: 20px 0 5px 0;
  padding: 10px 10px 5px;
}
#maincontents .h2title h2 {
  font-weight: bold;
  color: white;
  font-size:14px;
}
#maincontents .h2title span {
  color: white;
}
#maincontents .h2title h2#id-index-h2-howto {
  color: white;
  font-size:14px;
}
#index_layout .h2title #new-news {
  height: 23px;
  position: relative;
  background: #182E71;
  color: white;
  font-size: 14px;
  font-weight: bold;
  display: inline-block;
  padding: 10px 10px 5px;
}
#maincontents .h2title h2 span {
  font-weight: bold;
}
#maincontents .h2title a.next {
  position: absolute;
  display: block;
  top: 10px;
  right: 12px;
  color: white;
  text-decoration: underline;
}
#maincontents .contentsinline {
  width: 100%;
  margin: 0 auto;
  padding: 0 10px;
  box-sizing: border-box;
}
#maincontents .responseblock {
  overflow: hidden;
  width: 583px;
  border-radius: 5px;
  margin: 10px auto 10px auto;
}
#maincontents .responseblock .contentsinline {
  width: 562px;
  padding: 8px 0;
  overflow: hidden;
}
#maincontents ul.tabmenu,
#maincontents ul.tabmenu1 {
  overflow: hidden;
  border-bottom: solid 1px #54A200;
}
#maincontents ul.tabmenu li,
#maincontents ul.tabmenu1 li {
  float: left;
  margin-right: 8px;
  position: relative;
  top: 1px;
}
#maincontents ul.tabmenu li a,
#maincontents ul.tabmenu1 li a {
  display: block;
  height: 27px;
  text-indent: -999px;
  overflow: hidden;
}
#maincontents  ul.tabmenu li.end,
#maincontents  ul.tabmenu1 li.end {
  margin-right: 0;
}
#maincontents .responseblock .left {
  float: left;
}
#maincontents .responseblock .right {
  float: right;
}
#maincontents .sideListBlock {
  width: 100%;
  box-sizing: border-box;
}
/* main
---------------------------*/
#maincontents #originaltourblock .contentsinline #originaltourcontents ul {
  display: table;
  position: relative;
  margin: 5px 0px 0px;
}
#maincontents #originaltourblock .contentsinline #originaltourcontents ul li {
  display: table-cell;
  padding: 0px 4px;
}
#maincontents #originaltourblock .contentsinline #originaltourcontents ul li img {
  width: 195px;
}
#maincontents #originaltourblock .contentsinline #originaltourcontents ul li a {
  transition: .2s;
}
#maincontents #originaltourblock .contentsinline #originaltourcontents ul li a:hover {
  opacity: 0.8;
  transition: .2s;
}
#maincontents #beginnerblock .contentsinline p {
  margin: 3px 0;
  color: #071E6A;
}
#maincontents #beginnerblock .contentsinline p a {
  margin: 2px 0;
  color: #071E6A;
  font-size:13px;
  font-weight: bold;
  text-decoration: underline;
}
#maincontents #beginnerblock .contentsinline #gallery {
  width: 55%;
  height: 135px;
  margin: 0 25px 0 0;
  position: relative;
  visibility:hidden;
}
#maincontents #beginnerblock .contentsinline #gallery li p {
	margin-top: 0px;
}
#maincontents #beginnerblock .contentsinline #gallery a.bx-prev {
  width: 17px;
  height: 135px;
  position: absolute;
  top: 0px;
  left: -30px;
  margin: 0;
  padding: 0;
  background: url("../img/index/btn_thumb_left.jpg") no-repeat 0 0;
}
#maincontents #beginnerblock .contentsinline #gallery .bx-viewport {
  height: 120px !important;
}
#maincontents #beginnerblock .contentsinline #gallery a.bx-next {
  width: 17px;
  height: 135px;
  position: absolute;
  top: 0px;
  right: -30px;
  margin: 0;
  padding: 0;
  background: url("../img/index/btn_thumb_right.jpg") no-repeat 0 0;
}
#maincontents #ageblock {
}
#maincontents #ageblock .contentsinline p {
  margin: 3px 0;
}
#maincontents #ageblock .contentsinline #agecontents {
  margin-left:auto;
  position: relative;
}
#maincontents #ageblock .contentsinline #agecontents ul {
  display: table;
  position: relative;
  margin: 5px;
}
#maincontents #ageblock .contentsinline #agecontents ul li {
  display: table-cell;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  height: 100%;
}
#maincontents #ageblock .contentsinline #agecontents li #age20,
#maincontents #ageblock .contentsinline #agecontents li #age30,
#maincontents #ageblock .contentsinline #agecontents li #age40,
#maincontents #ageblock .contentsinline #agecontents li #age50,
#maincontents #ageblock .contentsinline #agecontents li #age60,
#maincontents #ageblock .contentsinline #agecontents li #age70 {
  color: #fff;
  font-size: 1.3em;
  font-weight: bold;
  font-family: 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  border-top-left-radius: 5px;
  -webkit-border-top-left-radius: 5px;
  -moz-border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  -moz-border-top-right-radius: 5px;
  margin-right: 5px;
  padding: 2px;
  width: 90px;
  text-align: center;
}
#maincontents #ageblock .contentsinline #agecontents li #age20 {
  background-color: #9c6;
}
#maincontents #ageblock .contentsinline #agecontents li #age30 {
  background-color: #3c9;
}
#maincontents #ageblock .contentsinline #agecontents li #age40 {
  background-color: #69c;
}
#maincontents #ageblock .contentsinline #agecontents li #age50 {
  background-color: #c9e;
}
#maincontents #ageblock .contentsinline #agecontents li #age60 {
  background-color: #c63;
}
#maincontents #ageblock .contentsinline #agecontents li #age70 {
  background-color: #c03;
}
#maincontents #ageblock .contentsinline #agecontents li #age20main,
#maincontents #ageblock .contentsinline #agecontents li #age30main,
#maincontents #ageblock .contentsinline #agecontents li #age40main,
#maincontents #ageblock .contentsinline #agecontents li #age50main,
#maincontents #ageblock .contentsinline #agecontents li #age60main,
#maincontents #ageblock .contentsinline #agecontents li #age70main {
  border-bottom-left-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
  -moz-border-bottom-right-radius: 5px;
  text-align: center;
  margin-right: 5px;
  width: 90px;
}
#maincontents #ageblock .contentsinline #agecontents li #age20main {
  border: 2px solid #9c6;
}
#maincontents #ageblock .contentsinline #agecontents li #age30main {
  border: 2px solid #3c9;
}
#maincontents #ageblock .contentsinline #agecontents li #age40main {
  border: 2px solid #69c;
}
#maincontents #ageblock .contentsinline #agecontents li #age50main {
  border: 2px solid #c9e;
}
#maincontents #ageblock .contentsinline #agecontents li #age60main {
  border: 2px solid #c63;
}
#maincontents #ageblock .contentsinline #agecontents li #age70main {
  border: 2px solid #c03;
}
#maincontents #ageblock .contentsinline #agecontents li .innerblock p {
  font-size: 1.3em;
  font-weight: bold;
  font-family: 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
#maincontents #ageblock .contentsinline #agecontents li .innerblock {
  font-size: 1.0em;
  font-family: 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
#maincontents #ageblock .contentsinline #agegroups ul {
  display: table;
  position: relative;
  margin: 5px;
}
#maincontents #ageblock .contentsinline #agegroups ul li {
  display: table-cell;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  height: 100%;
}
#maincontents #ageblock .contentsinline #agegroups #young,
#maincontents #ageblock .contentsinline #agegroups #middle,
#maincontents #ageblock .contentsinline #agegroups #premium,
#maincontents #ageblock .contentsinline #agegroups #senior {
  font-size: 1.1em;
  font-weight: bold;
  font-family: 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  text-align: center;
  margin-right: 5px;
}
#maincontents #ageblock .contentsinline #agegroups #young {
  width: 100px;
}
#maincontents #ageblock .contentsinline #agegroups #middle {
  width: 200px;
}
#maincontents #ageblock .contentsinline #agegroups #premium {
  width: 200px;
}
#maincontents #ageblock .contentsinline #agegroups #senior {
  width: 100px;
}
#maincontents #indexrecommendblock * a {
  color: #1B84FF;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0;
}
#maincontents #indexrecommendtop{
  width: 48%;
  margin: 10px 0 5px 0;
}
#maincontents #indexrecommendtop img {
  width: 100%;
  height: auto;
  margin-bottom: 3px;
}
#maincontents .top-recommendblock {
  display: flex;
  width: 100%;
  justify-content: space-around;
}

#maincontents .middle-recommendblock {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 15px;
}

#maincontents .bottom-recommendblock,
#maincontents .big-recommendblock {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 15px;
}
#maincontents .indexrecommendmiddlerow {
  overflow: hidden;
  padding-bottom: 9px;
  width: 350px;
}
#maincontents .indexrecommendmiddlerow img {
  width: 100%;
  height: auto;
}
#maincontents .indexrecommendbottomuprow {
  width: 100%;
}

#maincontents .indexrecommendbottomuprow a {
  color: #1B84FF;
  display: block;
  width: 100%;
}
#maincontents .indexrecommendbottomuprow img {
  width: 100%;
  height: auto;
}
#maincontents .indexrecommendbottomuprow  div {
  width: 100%;
}
#maincontents .indexrecommendbottomuprow  div p {
  width: 100%;
}
#maincontents .middle-recommendblock .indexrecommendbottomuprow {
  width: 23%;
  overflow: hidden;
}
#maincontents .bottom-recommendblock .indexrecommendbottomuprow {
  width: 15%;
}
#maincontents .big-recommendblock div {
  width: 48%;
}
#maincontents .indexpickuprow {
  clear: both;
  overflow: hidden;
  padding-bottom: 10px;
}
#maincontents .indexpickuprow a.rollover {
  float: left;
  width: 110px;
}
#maincontents .indexpickuprow  div {
  float: left;
  width: 180px;
  margin: 0 10px 0 5px;
}
#maincontents #indexpickupblock h3 {
  border: solid 1px #5DAD07;
  background-color: #F0FAE6;
  text-indent: 1em;
  width: 100%;
  padding: 5px 0;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 8px;
}
#maincontents #indexrankingblock #indexrankingcheck {
  position: absolute;
  bottom: 11px;
  right: 8px;
  display: block;
}
#maincontents #indexrankingblock #indexrankingcheck * {
  vertical-align: bottom;
}
#maincontents #indexrankingblock #indexrankingcheck a {
  text-decoration: underline;
  color: white;
}
#maincontents #indexrankingblock #indexrankingcheck img {
  display: none;
}
  #maincontents #indexrankingblock ul li a {
  background: url("../img/index/bn_ranking_menu.jpg") no-repeat 0 0 ;
}
#maincontents #indexrankingblock ul li a#MENU_RANK_CRUISE     { background-position: 0 -27px; width: 144px; }
#maincontents #indexrankingblock ul li a#MENU_RANK_PLANE      { background-position: -144px 0; width: 144px; }
#maincontents #indexrankingblock ul li a#MENU_RANK_CONDUCTOR  { background-position: -288px 0; width: 144px; }
#maincontents #indexrankingblock ul li a#MENU_RANK_TRAVEL     { background-position: -432px 0; width: 144px; }
#maincontents #indexrankingblock .rankingmain {
  width: 32%;
  margin-top: 10px;
  overflow: hidden;
  position: relative;
  background: #f1f1f1;
  border-radius: 10px;
  transition: .2s;
}
#maincontents #indexrankingblock .rankingmain:hover{
  background: white;
  transition: .2s;
  text-decoration: none;
}
#maincontents #indexrankingblock .rankingmain a.rollover img {
  width: 100%;
  height: auto;
}
#maincontents #indexrankingblock .rankingmain div {
  width: 100%;
  min-height: 160px;
  margin: 0px;
  text-align: justify;
  box-sizing: border-box;
}
#maincontents #indexrankingblock .rankingmain div.linktitle,
#maincontents #indexrankingblock .rankingsub div.linktitle {
  padding: 10px;
  font-size: 13px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
}
#maincontents #indexrankingblock .rankingsub div.linktitle {
  min-height: 40px;
}
#maincontents #indexrankingblock .rankingsub {
  position: relative;
}
#maincontents #indexrankingblock .rankingsub:hover a div{
  transition: .2s;
}
#maincontents #indexrankingblock .rankingsub:hover a div{
  background: white;
  transition: .2s;
  text-decoration: none;
}
#maincontents #indexrankingblock a.linktitle {
  color: #284C02;
  font-weight: bold;
  text-decoration: underline;
  background: url("../img/index/ico_link.gif") no-repeat 0 center;
  padding-left: 15px;
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: .05em;
}
#maincontents #indexrankingblock .rankingmain p,
#maincontents #indexrankingblock .rankingsub p {
  text-align: right;
}
#maincontents #indexrankingblock p.price {
  color: #e21010;
  padding: 10px;
  font-size: 1.2em;
  font-weight: bold;
}
#maincontents #indexrankingblock .rankingmain div a.sublink {
  text-decoration: underline;
  display: block;
  position: absolute;
  bottom: 10px;
  right: 18px;
}
#maincontents #indexrankingblock .rankingmain div p {
  margin: 5px 0;
}
#maincontents #indexrankingblock .end {
  border: none;
}
#maincontents #indexcategoryblock h3 {
  padding: 5px 10px;
  color: #284C02;
  font-weight: bold;
  font-family: メイリオ,Meiryo,'ＭＳ Ｐゴシック',sans-serif;
  background-color: #F1F8E9;
  margin: 10px 0 2px 0;
  font-size: 13px;
}
#maincontents #indexcategoryblock ul.tabmenu li a,
#maincontents #indexcategoryblock ul.tabmenu1 li a {
  background: url("../img/index/bn_ranking_catmenu.jpg") no-repeat 0 0 ;
}

#maincontents #indexcategoryblock ul.tabmenu li,
#maincontents #indexcategoryblock ul.tabmenu1 li {
  margin-right: 7px;
}
#maincontents #indexcategoryblock ul.tabmenu li:first-child,
#maincontents #indexcategoryblock ul.tabmenu1 li:first-child {
  margin-right: 8px;
}
#maincontents #indexcategoryblock ul.tabmenu li:last-child,
#maincontents #indexcategoryblock ul.tabmenu1 li:last-child {
  margin-right: 0px;
}
#maincontents #indexcategoryblock ul li a#MENU_RANK_SITE                   { background-position: 0px -27px; width: 94px; }
#maincontents #indexcategoryblock ul li a#MENU_RANK_ENTERTAINMENT { background-position: -94px 0px; width: 94px; }
#maincontents #indexcategoryblock ul li a#MENU_RANK_AMENITY             { background-position: -188px 0px; width: 94px; }
#maincontents #indexcategoryblock ul li a#MENU_RANK_FOOD                   { background-position: -282px 0px; width: 94px; }
#maincontents #indexcategoryblock ul li a#MENU_RANK_SERVICE             { background-position: -376px 0px; width: 94px; }
#maincontents #indexcategoryblock ul li a#MENU_RANK_SCENE                 { background-position: -470px 0px; width: 95px; }
/* ajaxのため追加 */
#maincontents #indexcategoryblock ul li a#CATEGORY_RANK_SITE                   { background-position: 0px -27px; width: 94px; }
#maincontents #indexcategoryblock ul li a#CATEGORY_RANK_ENTERTAINMENT { background-position: -94px 0px; width: 94px; }
#maincontents #indexcategoryblock ul li a#CATEGORY_RANK_AMENITY             { background-position: -188px 0px; width: 94px; }
#maincontents #indexcategoryblock ul li a#CATEGORY_RANK_FOOD                   { background-position: -282px 0px; width: 94px; }
#maincontents #indexcategoryblock ul li a#CATEGORY_RANK_SERVICE             { background-position: -376px 0px; width: 94px; }
#maincontents #indexcategoryblock ul li a#CATEGORY_RANK_SCENE                 { background-position: -470px 0px; width: 95px; }

#maincontents ul.ranking li {
  padding: 4px 0 2px 40px;
  margin: 0 10px;
}
#maincontents #reviewblock1 ul.ranking li {
  padding: 4px 0 4px 40px;
}
#maincontents ul.ranking li  { background: url("../img/index/ico_rank_other.jpg") no-repeat 4px center; }
#maincontents ul li.top    { background: url("../img/index/ico_rank_top.jpg") no-repeat 0 center; }
#maincontents ul li.second { background: url("../img/index/ico_rank_second.jpg") no-repeat 3px center; }
#maincontents ul li.third  { background: url("../img/index/ico_rank_third.jpg") no-repeat 4px center; }

#maincontents #indexreviewblock ul.tabmenu li a,
#maincontents #indexreviewblock ul.tabmenu1 li a {
  background: url("../img/index/bn_review_menu.jpg") no-repeat 0 0 ;
  height: 26px;
}
#maincontents #indexreviewblock ul li a#MENU_REVIEW_EVALUATION { background-position: 0 -26px; width: 195px; }
#maincontents #indexreviewblock ul li a#MENU_REVIEW_NEW        { background-position: -195px 0; width: 195px; }
#maincontents #indexreviewblock ul li a#MENU_REVIEW_VOTE       { background-position: -390px 0; width: 195px; }

#maincontents #indexreviewblock ul.ranking {
  margin-top: 10px;
}
#maincontents .sideListBlock .indexlistinline {
  width: 95%;
  margin: 10px auto;
  height: 140px;
  padding: 0 15px;
  overflow-y: scroll;
}
#maincontents .sideListBlock .indexlistrow {
  border-bottom: dotted 1px #ccc;
  padding-bottom: 5px;
  margin-bottom: 5px;
}
#maincontents .sideListBlock .indexlistrow p.date {
  background: url("../img/index/ico_arrow.gif") no-repeat 0 center;
  padding-left: 8px;
}
#maincontents .tabblocks {
  display: none;
}
.recommend-more-block,
#maincontents #recommendblock1{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
#maincontents #catblock1,
#maincontents #reviewblock1 {
  display: block;
}
#maincontents #rankblock1 > div,
#maincontents #rankblock2 > div,
#maincontents #rankblock3 > div,
#maincontents #rankblock4 > div{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
#maincontents #socialblock {
  overflow: hidden;
}
#rankblock1 div:not(.rankingmain),
#rankblock2 div:not(.rankingmain),
#rankblock3 div:not(.rankingmain),
#rankblock4 div:not(.rankingmain){
  width: 24%;
  margin: 15px 0 0 0;
}
#rankblock1 div:not(.rankingmain) img,
#rankblock2 div:not(.rankingmain) img,
#rankblock3 div:not(.rankingmain) img,
#rankblock4 div:not(.rankingmain) img{
  width: 100%;
  height: 150px;
  object-fit: cover;
}

#rankblock1 div:not(.rankingmain) > div div,
#rankblock2 div:not(.rankingmain) > div div,
#rankblock3 div:not(.rankingmain) > div div,
#rankblock4 div:not(.rankingmain) > div div{
  width: 100%; /*テキストボックス*/
  min-height: 130px;
  text-align: justify;
  margin: 0px;
  background: #f1f1f1;
  box-sizing: border-box;
}
#rankblock1 div:not(.rankingmain) > div div {
  border-radius: 5px;
  overflow: hidden;
}
#maincontents #socialblock .contentsinline {
  padding: 15px 0 5px 0;
  overflow: hidden;
}
#maincontents #socialblock .sociallist {
  float: left;
  overflow: hidden;
  margin: 10px 3px;
  height:65px;
}
#maincontents #socialblock .sociallist .sociallisticon {
  float: left;
  width: 50px;
}
#maincontents #socialblock .sociallist .sociallistdetail {
  float: left;
  padding-left: 3px;
  width: 130px;
}
#maincontents #socialblock .sociallist .detaillarge {
  width: 160px;
}
#maincontents #socialblock .sociallist .sociallistdetail h3 {
  color: #071E6A;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0;
  font-family: メイリオ,Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}
#maincontents #socialblock .sociallist .sociallistdetail p {
  letter-spacing: 0;
  font-size: 12px;
  margin-top: 1px;
}
#socialblock i{
  font-size: 3.5em;
}
#socialblock .fa-facebook-square {
  color: #3b5998;
}
#socialblock .fa-twitter-square {
  color: #1da1f2;
}
#socialblock .fa-line {
  color: #00c300;
}
#socialblock .fa-youtube {
  color: #ff0000;
  font-size: 3.5em;
  padding-top: 5px;
}
/* @important
---------------------------*/
.cl_beige {
  height: 40px;
  margin: 5px;
  width: 330px;
  font-size: 14px;
  border-radius: 5px;
}
.search_condition_fixed_duration{
  height: 40px;
  margin: 5px;
  width: 330px;
  font-size: 14px;
  border-radius: 5px;
}
.cl_font_blue {
  color: #132973 !important;
}
.cl_block_aqua {
  border-color: #64C8E1 !important;
}
.box97 {
  width: 100px !important;
}
.box80 {
  width: 100px !important;
}
.box109 {
  width: 120px !important;
}
#indexpickupinline {
  padding: 0 15px 0 15px;
} 
select {
  font-family:"Osaka−等幅","ＭＳ ゴシック","monospace";
  border: 1px solid rgb(100, 100, 100);
  box-sizing: border-box;
  background: white;
}
option {
  font-family:"Osaka−等幅","ＭＳ ゴシック","monospace";
}
optgroup {
  font-family:"Osaka−等幅","ＭＳ ゴシック","monospace";
}
#id-div-more-search div.selectlist select[name=search_condition_departure_point] optgroup,
#id-div-more-search div.selectlist select[name=search_condition_site_name] optgroup,
#id-div-more-search div.selectlist select[name=search_condition_cruise_company] optgroup,
#id-div-more-search div.selectlist select[name=search_condition_passenger_ferry] optgroup {
  font-weight: bold;
}

/* cruise-corona-news-response
---------------------------*/
div.idx-blc-cruise-news-response a {
  font-weight: bold;
  color: white;
  font-size: 1.2rem;
}
div.idx-blc-cruise-news-response {
  text-align: center;
  padding: 5px 0;
  background-color: #FB9C3C;
}