@charset "utf-8";

/* ====================================================================
 メイン
==================================================================== */
.main {}

/************* main_visual *************/
.main_visual {}
.main_visual .main_visual-img {
  position: relative;
  width: 100%;
  height: 33.333vw;
  overflow: hidden;
}
.main_visual .main_visual-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main_visual .main_visual-img .main_sub {
  position: absolute;
  left: calc((100% / 2) - 580px);
  top: 50%;
  transform: translateY(-50%);
  background-color: #222;
  max-width: 320px;
}
  .main_visual .main_visual-img .main_sub dt {
    padding: 10px 20px 0;
    color: #98900d;
    font-size: 2.6rem;
    font-weight: bold;
    text-align:center;
    line-height: 1.3;
  }
  .main_visual .main_visual-img .main_sub dd {
    padding: 6px 20px 10px;
  }
  .main_visual .main_visual-img .main_sub dd .main_sub_txt {
    margin-top: 10px;
    font-size: 1.6rem;
    color: #fff;
  }
.main_visual .main_visual-tit {
  background-color: #2f5496;
  width: 100%;
  padding: 20px;
  text-align: center;
}
.main_visual h1 p {
  color: #fff;
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: 0.18em;
  filter: drop-shadow(1px 1px 0px rgba(0, 0, 0, 0.5));
}

@media screen and (max-width: 980px) {
  .main_visual .main_visual-img {
    height: 38vw;
  }
  .main_visual .main_visual-img .main_sub {
    left: 10px !important;
    max-width: 32.653vw;
  }
  .main_visual .main_visual-img .main_sub dt {
    padding: 1.020vw 2.040vw 0;
    font-size: 2.653vw;
  }
  .main_visual .main_visual-img .main_sub dd {
    padding: 6px 2.040vw 1.020vw;
  }
  .main_visual .main_visual-img .main_sub dd .main_sub_txt {
    margin-top: 1.020vw;
    font-size: 1.633vw;
  }
}
@media screen and (max-width: 639px) {
  .main_visual .main_visual-img {
    height: 46.948vw;
  }
  .main_visual .main_visual-img .main_sub {
    max-width: 36vw;
  }
  .main_visual .main_visual-tit {
    padding: 10px;
  }
  .main_visual h1 p {
    font-size: 4.695vw;
  }
}
@media screen and (max-width: 414px) {
  .main_visual .main_visual-img {
    height: 68vw;
  }
  .main_visual .main_visual-img .main_sub {
    left: 5px !important;
    max-width: 44vw;
  }
  .main_visual .main_visual-img .main_sub dt {
    font-size: 1.2rem;
  }
  .main_visual .main_visual-img .main_sub dd .main_sub_txt {
    font-size: 1.0rem;
  }
  .main_visual h1 p {
    font-size: 1.8rem;
  }
}

/************* block_lead *************/
.block_lead {
  background-color: #dee9fc;
  padding-top: 40px;
  padding-bottom: 30px;
}
.block_lead p {
  margin-bottom: 1.5em;
}

/************* block_nav *************/
.block_nav .wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.block_nav .wrapper .block_nav_item {
  width: calc((100% - 20px) / 2);
}
.block_nav .wrapper .block_nav_item a {
  position: relative;
  display: block;
  border-radius: 6px;
  border: 4px solid #09f;
  background: #fff;
  filter: drop-shadow(1px 1px 4px rgba(0, 0, 0, 0.3));
  padding: 16px 50px 16px 16px;
  text-decoration: none;
}
.block_nav .wrapper .block_nav_item a:hover {
  opacity: 0.7;
}
.block_nav .wrapper .block_nav_item a:after {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  display: inline-block;
  border-radius: 50%;
  background-color: #2f5496;
  width: 26px;
  height: 26px;
  content:"\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
  line-height: 26px;
}
.block_nav .block_nav_tit {
  color: #09f;
  font-size: 2.0rem;
  font-weight: bold;
}
.block_nav .block_nav_tit span {
  display: inline-block;
  vertical-align: middle;
  margin-right: 14px;
}
.block_nav .block_nav_item p {
  margin-top: 14px;
  color: #666;
  font-size: 1.6rem;
}

@media screen and (max-width: 639px) {
  .block_nav .wrapper .block_nav_item {
    width: 100%;
  }
  .block_nav .wrapper .block_nav_item + .block_nav_item {
    margin-top: 30px;
  }
}


/************* sec_news *************/
.sec_news {
  margin-top: 20px;
}
/* news_latest */
.news_latest {}
.news_latest ul {
  display: flex;
  flex-wrap: wrap;
  background-color: #fff;
}
.news_latest ul li {
  width: calc((100% - 1px) / 2);
  padding: 20px 0;
}
.news_latest ul li.news1 {
  border-right: 1px solid #2f5496;
  padding-right: 20px;
}
.news_latest ul li.news2 {
  padding-left: 20px;
}
.news_latest ul li .news_thumbnail {
  float: left;
  padding: 0 20px 20px 0;
}
.news_latest ul li .news_thumbnail a {
  display: block;
}
.news_latest ul li .news_date {
  padding-bottom: 10px;
  font-size: 1.4rem;
}
.news_latest ul li h4 {
  padding-bottom: 10px;
  font-weight: bold;
  font-size: 1.4rem;
}
.news_latest ul li .news_txt:before {
  display: block;
  content: "";
  clear: both;
  height: 0;
  visibility: hidden;
}
.news_latest ul li .news_txt {
  padding-bottom: 10px;
  font-size: 1.4rem;
}
.news_latest ul li .news_next {
  font-size: 1.4rem;
  text-align: right;
}
.news_latest ul li h4 a, .news_latest ul li .news_txt a {
  color: #222 !important;
  text-decoration: none;
}
.news_latest ul li h4 a:hover, .news_latest ul li .news_txt a:hover {
  color: #09f !important;
}

@media screen and (max-width: 639px) {
  .news_latest ul li {
    width: 100%;
  }
  .news_latest ul li.news1 {
    border-right: none;
    border-bottom: 1px solid #2f5496;
    padding-right: 0;
  }
  .news_latest ul li.news2 {
    padding-left: 0px;
  }
}

/* news_press-release */
.news_press-release {
  margin-top: 30px;
}
.press-release_tit {
  border-bottom: 2px solid #2f5496;
  padding-bottom: 3px;
  color: #2f5496;
  font-size: 1.8rem;
  font-weight: bold;
}
.press-release_list {}
.press-release_list li {
  border-bottom: 1px dotted #2f5496;
  padding: 8px 0;
}
.press-release_list li .date {
  display: inline-block;
  font-size: 1.4rem;
}
.press-release_list li a {
  position: relative;
  display: inline-block;
  margin-left: 1.5em;
}
.press-release_list li a:before {
  display: inline-block;
  position: absolute;
  top: 3px;
  left: 0;
  content:"\f111";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 1.0rem;
  color: #2f5496;
  margin-left: -1.5em;
}

/************* sec_plan *************/
.sec_plan {}
.sec_plan .plan_list {
  margin-top: 1.5em;
}
.sec_plan .plan_list li {
  position: relative;
  display: inline-block;
  margin-left: 1.5em;
  margin-bottom: 10px;
  width: calc(100% - 1.5em);
}
.sec_plan .plan_list li:before {
  display: inline-block;
  position: absolute;
  top: 3px;
  left: 0;
  content:"\f111";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 1.0rem;
  color: #2f5496;
  margin-left: -1.5em;
}
.plan_column {
  margin-top: 30px;
}
.plan_column_tit {
  border-bottom: 2px solid #00AFB5;
  color: #00AFB5;
  padding-bottom: 3px;
  font-size: 1.8rem;
  font-weight: bold;
}

/************* sec_vaccine *************/
.sec_vaccine {}
.vaccine_cold-chain {
  background-color: #c5ecfc;
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 20px;
}
.vaccine_cold-chain h3 {
  color: #57585b;
  font-size: 1.8rem;
  font-weight: bold;
}
.vaccine_cold-chain_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.vaccine_cold-chain_list li {
  width: calc((100% - 40px) / 3);
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
}
.vaccine_cold-chain_list li .cold-chain_list_txt {
  width: 46%;
  color: #555;
  font-size: 1.3rem;
}
  .vaccine_cold-chain_list li .cold-chain_list_txt i {
    margin-right: 4px;
    font-size: 2.0rem;
    vertical-align: text-bottom;
  }
.vaccine_cold-chain_list li .cold-chain_list_img {
  width: 53%;
}
.vaccine_cold-chain_list li .cold-chain_list_img p {
  position: relative;
  width: 100%;
  padding-top: 66.667%;
}
  .vaccine_cold-chain_list li .cold-chain_list_img img {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
  }
  .vaccine_cold-chain_list li .cold-chain_list_img span {
    display: block;
    position: absolute;
    right: 3px;
    bottom:0;
    color: #fff;
    font-size: 1.0rem;
    text-align: right;
    width: calc(100% - 3px);
    word-wrap: break-word;
  }

@media screen and (max-width: 639px) {
  .vaccine_cold-chain_list li {
    width: 100%;
  }
}

/************* bokin_block *************/
.bokin_block {
  border: none;
  background-color: #feecec;
  padding: 60px 0;
}
.bokin_block_tit {
  color: #CC3333;
  font-size: 2.4rem;
  font-weight: bold;
}
.bokin_block .bokin_area {
  /* background-color: #fff; */
  padding-top: 30px;
  text-align: center;
}
.bokin_block .bokin_area h3 {
  color: #CC3333;
  font-size: 2.0rem;
  font-weight: bold;
}
.bokin_block .bokin_area .bokin_txt {
  margin-top: 1.5em;
  font-size: 1.4rem;
  font-weight: bold;
}
.bokin_block .bokin_area .bokin_btn a {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #f66f01), color-stop(0.00, #ffaa37));
  background: -webkit-linear-gradient(top, #ffaa37 0%, #f66f01 100%);
  background: -moz-linear-gradient(top, #ffaa37 0%, #f66f01 100%);
  background: -o-linear-gradient(top, #ffaa37 0%, #f66f01 100%);
  background: -ms-linear-gradient(top, #ffaa37 0%, #f66f01 100%);
  background: linear-gradient(top, #ffaa37 0%, #f66f01 100%);
  background: #f66f01\9;
  border: 1px solid #f65f0e;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  max-width: 400px;
  width: 100%;
  margin: 0 auto;
  padding: 10px;
  color: #fff;
  font-weight: bold;
  font-size: 2.4rem;
  text-align: center;
  text-shadow: 3px 3px 7px #db510b;
  text-decoration: none;
}
.bokin_block .bokin_area .bokin_btn a:hover {
	background:#ffaa37;
}
.bokin_block .bokin_area .bokin_btn a:before {
	content:"\f144";
	font-family: "Font Awesome 5 Free";
  font-weight: 900;
	margin-right:10px;
	text-shadow:none;
}
.bokin_block .bokin_area .bokin_note {
  margin-top: 10px;
	font-size: 1.2rem;
}

@media screen and (max-width: 639px) {
  .bokin_block {
    padding: 40px 0;
  }
  .bokin_block_tit {
    font-size: 2.0rem;
  }
  .bokin_block .bokin_area {
    padding-top: 10px;
  }
}

/* ====================================================================
 fixed_area
==================================================================== */
.fixed_area {
  position: fixed;
  bottom: 0;
  background: #960a0b;
  width: 100%;
  padding: 10px 0;
  z-index: 100;
}
.fixed_area ul {
  display: flex;
  align-items: center;
  list-style: none;
}
.fixed_area ul li {
  width: 50%;
  padding: 0 10px;
}
.fixed_area ul li.bokin_txt {
  display: inline-block;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}
.fixed_area ul li.bokin_btn {}
.fixed_area ul li.bokin_btn a {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #f66f01), color-stop(0.00, #ffaa37));
  background: -webkit-linear-gradient(top, #ffaa37 0%, #f66f01 100%);
  background: -moz-linear-gradient(top, #ffaa37 0%, #f66f01 100%);
  background: -o-linear-gradient(top, #ffaa37 0%, #f66f01 100%);
  background: -ms-linear-gradient(top, #ffaa37 0%, #f66f01 100%);
  background: linear-gradient(top, #ffaa37 0%, #f66f01 100%);
  background: #f66f01\9;
  border: 1px solid #f65f0e;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  padding: 10px;
  color: #fff;
  font-weight: bold;
  font-size: 2.4rem;
  text-align: center;
  text-shadow: 3px 3px 7px #db510b;
  text-decoration: none;
}
.fixed_area ul li.bokin_btn a:hover {
	background:#ffaa37;
}
.fixed_area ul li.bokin_btn a:before {
	content:"\f144";
	font-family: "Font Awesome 5 Free";
  font-weight: 900;
	margin-right:10px;
	text-shadow:none;
}

@media screen and (max-width: 639px) {
  .fixed_area ul li {
    padding: 0 1.565vw;
  }
  .fixed_area ul li.bokin_txt {
    font-size: 3.130vw;
  }
  .fixed_area ul li.bokin_btn a {
    font-size: 3.130vw;
  }
}

.box {
  display:flex;
  flex-direction: column-reverse;
  margin-bottom: 40px;
}

.text {
  width: 100%;
  text-align: start;
}

h3 {
  font-size: 21px;
  margin: 0;
}

.pict {
  width: calc((100% - 1px) /3);
  text-align: left;
  min-height: 0%;
  margin-bottom: 15px;
  padding: 10px;
}

.pict img {
  max-width: 100%;
  height:auto;
}
.donesan{
    display: flex;
}
.done_txt{
    width: 100%;
    margin-top: 10px;
}

@media screen and (max-width: 639px) {
  .donesan {
    flex-direction:column;
  }
  .pict {
    width: 100%;
  }
}

/*2020/5/1追加*/
.sec_title{
    color: darkslateblue;
}
/* 2020/5/12追加 */

.dona_btn_area {
    background: #960a0b;
    width: 100%;
    padding: 30px 0;
    z-index: 100;
}
.dona_btn_area ul, .dona_btn_area ul li {
    margin: 0;
    padding: 0;
}
.dona_btn_area .bokin_txt {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.2;
    width: 100%;
}


.dona_btn_area > ul li {
    display: inline-block;
    color: #fff;
    width: 25%;
    text-align: center;
    vertical-align: middle;
    line-height: 1;
    box-sizing: border-box;
    padding: 0;
}
.dona_btn_area .bokin_btn a {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #f66f01), color-stop(0.00, #ffaa37));
    background: -webkit-linear-gradient(top, #ffaa37 0%, #f66f01 100%);
    background: -moz-linear-gradient(top, #ffaa37 0%, #f66f01 100%);
    background: -o-linear-gradient(top, #ffaa37 0%, #f66f01 100%);
    background: -ms-linear-gradient(top, #ffaa37 0%, #f66f01 100%);
    background: linear-gradient(top, #ffaa37 0%, #f66f01 100%);
    background: #f66f01\9;
    border: 1px solid #f65f0e;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    margin: 10px 0;
    color: #fff;
    text-decoration: none;
    display: block;
    padding: 10px;
    font-weight: bold;
    font-size: 24px;
    text-shadow: 3px 3px 7px #db510b;
}
.btn_link{
    color: white!important;
}

@media screen and (max-width: 639px) {
    .dona_btn_area{
    padding: 20px 0!important;
    }
.dona_btn_area .bokin_txt,.dona_btn_area .bokin_btn {
    margin: 0;
    font-size: 18px;
    padding: 0 1%;
  }
.dona_btn_area > ul li {
    width: 100%!important;
}
}
