﻿@charset "utf-8";

/* ===== common ===== */

/* 現在の表示条件 */
.conte_dtl {
  font-weight: normal !important; 
}


/* 空席照会 運休等 */
.ship_vacancy .ship_info>div {
  align-items: center;
  border-left: dashed 1px #b6c1d1;
  display: flex;
  font-size: 20px;
  padding: 10px 30px;
  white-space: nowrap;
}

/*.ship_vacancy .ship_info>ul li:nth-of-type(1)::before {*/
.ship_vacancy .ship_info>div span{
  /*background-color: #ffffff;/**/
  /*border-radius: 4px;/**/
  /*color: #0062b1;/**/
  color: #ffffff;
  /*content: "出港";/**/
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.1;
  margin-right: 5px;
  padding: 2px 6px;
}

.ship_vacancy .ship_info>div {
  align-items: center;
  display: flex;
  font-size: 20px;
}

/*.ship_vacancy .ship_info>ul li:nth-of-type(1)::after {
  content: "～";
  display: inline-block;
  padding: 10px 15px;
}

.ship_vacancy .ship_info>ul li:nth-last-child(1)::before {
  background-color: #ffffff;
  border-radius: 4px;
  color: #0062b1;
  content: "到着";
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.1;
  margin-right: 5px;
  padding: 2px 6px;
}*/

@media screen and (max-width: 767px) {

  .ship_vacancy .ship_info>div {
    border-left: none;
    border-top: dashed 1px #b6c1d1;
    padding: 5px 10px;/**/
  }

  .ship_vacancy .ship_info>div span{
    padding: 15px 6px;/**/
    /*padding: 5px 15px;*/
  }
}

/***************************/
/*.table_outer table .thead th {
  text-align: center;
}
.table_outer table.table_full .thead th .item {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
}
  .table_outer.table_styleSp .thead {
    display: none;
  }

.table_outer .input_table .thead th {
  text-align: center;
  vertical-align: middle;
}

.table_outer .t_style01 .thead tr th {
  background-color: #0062b1 !important;
  border-right: 2px solid #ffffff;
  color: #ffffff;
  line-height: 1.4;
  padding: 18px 18px;
  white-space: normal;
}

.table_outer .t_style01 .thead tr th:last-of-type {
  border-right: 2px solid #0062b1;
}


.table_outer .t_style01 .thead tr.attention td,
.table_outer .t_style01 .thead tr.attention td {
  border: none;
  color: #ff0000;
  font-size: 14px;
  letter-spacing: -.8px;
  line-height: 1.2;
  padding: 0;
  text-align: center;
}

  .table_outer .t_style01 .thead tr.attention td,
  .table_outer .t_style01 .thead tr.attention td {
    font-size: 70%;
    line-height: 1.1;
  }

  .table_outer .t_style01 .thead tr th {
    letter-spacing: -.8px;
    line-height: 1.1;
    padding: 5px 10px;
    text-align: center;
  }

*/

.table_outer table  th.thead {
  text-align: center;
}
.table_outer table.table_full  th.thead .item {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
}
  .table_outer.table_styleSp .thead {
    display: none;
  }

.table_outer .input_table  th.thead {
  text-align: center;
  vertical-align: middle;
}

.table_outer .t_style01  tr.thead th {
  background-color: #0062b1 !important;
  border-right: 2px solid #ffffff;
  color: #ffffff;
  line-height: 1.4;
  padding: 18px 18px;
  white-space: normal;
}

.table_outer .t_style01  tr.thead th:last-of-type {
  border-right: 2px solid #0062b1;
}


/*.table_outer .t_style01 .thead tr.attention td,
.table_outer .t_style01 .thead tr.attention td {*/

.table_outer .t_style01 .thead_attention td,
.table_outer .t_style01 .thead_attention td {
  border: none;
  color: #ff0000;
  font-size: 14px;
  letter-spacing: -.8px;
  line-height: 1.2;
  padding: 0;
  text-align: center;
}

  .table_outer .t_style01 .thead_attention td,
  .table_outer .t_style01 .thead_attention td {
    font-size: 70%;
    line-height: 1.1;
  }

  .table_outer .t_style01  tr.thead th {
    letter-spacing: -.8px;
    line-height: 1.1;
    /*padding: 5px 10px;/**/
    text-align: center;
  }


/* ===== ===== ===== yoyoaku_01 ～ .php ===== ===== ===== */

 .book_search .title_columns .icon {
     display: flex;
     justify-content: center;
     align-items: center;
     max-width: 85px;
     /* width: 85px; */
     margin-right: 20px;
 }
 
 .book_search .select_bg {
     background: #ededed;
     margin: 0 0 18px;
     padding: 25px 20px;
 }
 
 .book_search .select_bg .title {
     color: var(--font_blue);
     font-size: 19px;
     font-weight: 700;
     line-height: 1.4;
     margin: 0 0 10px;
     position: relative;
 }
 
 .book_search .select_bg .title img {
     margin-right: 8px;
     vertical-align: text-top;
 }
 
 .book_search .select_bg.columns {
     align-items: center;
     display: flex;
     flex-wrap: nowrap;
     justify-content: space-between;
 }
 
 .book_search .select_bg.columns > .title {
     margin: 0;
     max-width: 190px;
     width: 100%;
 }
 
 .book_search .select_bg.columns .select {
     width: 100%;
 }
 
 .book_search .select_bg.columns .title p {
     align-items: center;
     display: flex;
     white-space: nowrap;
 }
 
 /*  */
 .block_accordi {
     margin-bottom: 20px !important;
 }
 
 .block_accordi .accordi_butt {
     align-items: center;
     display: flex;
     justify-content: flex-start;
     padding-top: 14px;
     padding-top: 0;
 }
 
 .block_accordi .accordi_butt p {
     align-items: center;
     display: flex;
     margin-right: 5px;
     white-space: nowrap;
 }
 
 .block_accordi .accordi_butt::after {
     align-items: center;
     background-color: var(--font_blue);
     border: 1px solid #cccccc;
     border-radius: 50%;
     color: #ffffff;
     content: "▼";
     display: flex;
     font-size: 11px;
     height: 24px;
     justify-content: center;
     line-height: 1;
     position: absolute;
     right: 0;
     transition: .5s;
     width: 24px;
 }
 
 .block_accordi.open .accordi_butt::after {
     transform: rotate(180deg);
     transform-origin: center center 0;
     transition: .5s;
 }
 
 .block_accordi .accordi_cont {
     display: block;
 }
 
 .block_accordi.open .accordi_cont {
     display: block;
 }
 
 /* item_ti */
 
 .item_ti {
     align-items: center;
     display: inline-flex;
     flex-wrap: wrap;
     text-align: left;
 }
 
 .item_ti.wrap {
     flex-wrap: wrap;
 }
 
 .item_ti.nowrap {
     align-items: center;
     flex-direction: row;
 }
 
 .item_ti.vert {
     align-items: flex-start;
     flex-direction: column;
 }
 
 .item_ti .img {
     text-align: center;
 }
 
 
 /* book_search */
 .book_search {
     padding: 0;
 }
 
 .book_search .inner {
     padding: 40px 40px 50px;
     /* padding: 45px 40px 50px; */
 }
 
 .book_search .title_columns {
     align-items: center;
     display: flex;
     padding: 26px 20px 28px 20px;
     background: var(--font_blue);
     color: #fff;
 }
 
 .book_search .title_columns .form_title {
     font-size: 32px;
     font-weight: 700;
     line-height: 1.2;
 }
 



 @media screen and (max-width: 767px) {
     .book_search .title_columns {
         padding: 8px 20px 12px 20px;
     }
 
     .book_search .select_bg.columns > .title {
         max-width: initial;
     }
 
     .book_search .title_columns .icon {
         min-width: 45px;
         width: 50px;
     }
 
     .book_search .title_columns .form_title {
         font-size: 18px;
     }
 
     .book_search .select_bg {
         background: none;
         margin: 0 0 40px;
         padding: 0;
     }
 
     .book_search .select_bg .title,
     .book_search .select_bg.columns .title {
         font-size: 17px;
         margin: 0 0 8px;
     }
 
     .book_search .select_bg .title img {
         margin-right: 5px;
     }
 
     .book_search .select_bg.columns {
         display: block;
     }
 
     .book_search .inner {
         padding-left: 5%;
         padding-right: 5%;
         /* margin-top: 20px; */
     }
 
     .block_accordi {
         margin-bottom: 20px !important;
     }
 
     .block_accordi .accordi_butt {
         border-top: 1px solid #cccccc;
         padding-top: 20px;
     }
 
     .block_accordi .accordi_cont {
         display: none;
         margin-top: 20px;
     }


 }
 


 @media screen and (min-width: 767px) {
     .block_accordi .accordi_butt {
         pointer-events: none;
     }
 
     .block_accordi .accordi_butt::after {
         display: none;
     }
 
     .block_accordi .accordi_cont {
         display: block !important;
     }
 }

/* ===== yoyaku_02.php ===== */
.type_condi_head .next {
    text-align: right;
    margin-top: 10px;
    margin-bottom: -15px;
}

.type_condi_head .next > span {
    color: #fff;
    font-size: 13px;
    display: inline-block;
    line-height: 1.2;
    text-align: left;
    margin-bottom: 10px;
    letter-spacing: -1.4px;
    margin-right: 6px;
}

.type_condi_head .next > a {
    display: inline-block;
    background-color: #fff;
    padding: 4px 16px;
    border-radius: 12px;
    border: 1px solid #1d2080;
    color: #0062b1;
    margin-left: auto;
    margin-right: 0;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
}

@media screen and (max-width: 767px) {
    .type_condi_head .next {
        margin-top: 20px;
        margin-bottom: 0;
    }
}
/* ===== yoyaku_02.php ===== */

.btn_common > .btn.input a.btn.search{
	display: flex;
	align-items: center;
	justify-content: center;
}

.search img{
	margin-left: 15px;
}


.ship_vacancy .ship_info header>figure img {
  max-width: 70%;
  width: 100%;
  height: auto;
}
.ryokinNote{
  font-size: 14px;
  font-weight:bold;
}

.modal-window.agree {
  width: 80%;
  max-width: 800px;
  min-width: 300px;
}

.modal-window.agree aside {
  height: 100%;
  /*display: flex;*/
  /*flex-direction: column;*/
  background-color: #ffffff;
  border-radius: 20px;
  /*max-width: 600px;
  min-width: 300px;*/
  padding: 0;
  width: auto;
  /*flex-wrap: nowrap;*/
  justify-content: space-between;
  /*overflow: hidden;*/
  /*overflow-y: scroll;/**/
}

.modal-window.agree aside div {
  padding: 10px 15px;
}


.modal-window.agree aside .title {
  font-size: 16px;
  font-weight: bold;
  padding: 0 10px;
  text-align: center;
}

.modal-window.agree aside ul {
	margin:1.5em;
	font-size: 14px;
	padding:15px 10px 15px 30px;/**/
	list-style-type: disc;
	max-height: 290px; /* 最大高さを指定 */
	overflow-y: auto; /* 高さを超えた場合に垂直方向にスクロールバーを表示 */
	border: 1px solid #ddd;
	
}
.modal-window.agree aside span {
   margin:1.8em 0;
   font-size: 16px;
   /*padding-left:20px;*/
  /*background-color:red;*/
}

.modal-window.agree aside p {
  font-size: 14px;
  padding: 0 30px;
  line-height: 1.5;
  letter-spacing: -1px;
}

/*
.modal-window.agree aside .link_but {
  display: flex;
  border-top: 2px solid #0062b1;
}

.modal-window.agree aside .link_but>li {
  text-align: center;
  width: 100%;
}

.modal-window.agree aside .link_but>li:nth-of-type(1) {
  border-right: 2px solid #0062b1;
}
*/
.modal-window.agree aside .link_but>li a {
  color: #000;
  text-decoration: none;
  padding: 20px 15px;
  display: block;
  height: 100%;
  white-space: nowrap;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: -1.5px;
}

.modal-window.agree aside .link_but>li a:hover {
  background-color: #0062b1;
  color: #fff;
}


.modal-window.agree aside .btnclose {
  align-items:end;
  
}
.modal-window.agree aside div.meno{
	font-size:14px;
}

.modal-window.agree aside div label{
	font-size:16px;
	font-weight: bold;
}


@media screen and (max-width: 767px) {
	.modal-window.agree aside .title {
	  font-size: 14px;
	  padding: 0 5px;
	}
	.modal-window.agree aside ul {
		margin:1.0em;
		font-size: 12px;
		padding:5px 5px 10px 25px;/**/
		max-height: 200px; 
	}
	.modal-window.agree aside span {
   		margin:1.0em 0;
   		font-size: 12px;
	}

	.modal-window.agree aside p {
	  font-size: 12px;
	  padding: 0 15px;
	  line-height: 1.2;
	}
	.modal-window.agree aside div.meno{
		font-size:12px;
	}

	.modal-window.agree aside div label{
		font-size:14px;
	}
}


.button1{
    display: inline-block;
    padding: 8px 20px;
    text-align: center;
    text-decoration: none;
    background: #0062b1;
	border: none;
	border-radius: 20px;
	box-shadow: 2px 2px 3px rgba(0, 0, 0, .3);
	color: #ffffff;
	font-size: 16px;
	cursor: pointer;
	width:10em;
	margin:5px;
} 
        /* 非活性状態のスタイル */
.button1.disabled {
    background-color: gray;
    color: white;
    pointer-events: none; /* クリックを無効化 */
}
        /* 活性状態のスタイル */
.button1.enabled {
    background: #0062b1;
    color: white;
}
.button1.enabled:hover {
    transform: scale(.99) translate(1px, 1px);
}
        
.button2 {
margin:5px;

	width:10em;
    display: inline-block;
    padding: 8px 20px;
    text-align: center;
    text-decoration: none;
    background: #b3b3b3;
  border: none;
  border-radius: 20px;
  box-shadow: 2px 2px 3px rgba(0, 0, 0, .3);
  color: #ffffff;
            font-size: 16px;
            cursor: pointer;
        } 


.container {
        display: flex; /* Flexboxを有効化 */
        
        padding: 10px 5px;
        align-items: center; /* 要素を中央揃え（垂直方向） */
        gap: 10px; /* 要素間の隙間 */
        justify-content: center;
        padding:5px;
    }
.container_item {
    text-align: center;
    justify-content: center;
}


@media screen and (max-width: 767px) {
	.modal-window.agree aside div.container {
    	padding:5px 15px 10px;
	}
	.modal-window.agree aside div.container_item {
    	padding:0px;
	}
}

