@charset "UTF-8";

/***************  medical lower sub visual *****************/
/* 承認番号・承認／薬価収載／販売開始年月日一覧 */
.medical_approval_number_page {
  background-image: url(../img/medical/sub_main_medical_approval_number.jpg);
    background-image: none!important;
    background-color:#5eaad1 !important;
	position: relative;
	height:200px!important;  position: relative;
}
/* 薬価一覧 */
.medical_drugprice_list_page {
  background-image: url(../img/medical/sub_main_medical_drugprice_list.jpg);
    background-image: none!important;
    background-color:#5eaad1 !important;
	position: relative;
	height:200px!important;  position: relative;
}
/* 各種コード一覧 */
.medical_code_list_page {
  background-image: url(../img/medical/sub_main_medical_code_list.jpg);
    background-image: none!important;
    background-color:#5eaad1 !important;
	position: relative;
	height:200px!important;  position: relative;
}
/* 実容量、混注可能量等一覧 */
.medical_actualcapacity_page {
  background-image: url(../img/medical/sub_main_medical_actualcapacity.jpg);
    background-image: none!important;
    background-color:#5eaad1 !important;
	position: relative;
	height:200px!important;  position: relative;
}
/* 包装・梱包サイズ一覧 */
.medical_packing_size_page {
  background-image: url(../img/medical/sub_main_medical_packing_size.jpg);
    background-image: none!important;
    background-color:#5eaad1 !important;
	position: relative;
	height:200px!important;  position: relative;
}
/* 経過措置品目 */
.medical_transitional_items_page {
  background-image: url(../img/medical/sub_main_medical_transitional_items.jpg);
    background-image: none!important;
    background-color:#5eaad1 !important;
	position: relative;
	height:200px!important;  position: relative;
}
/* 安定供給に関する情報 */
.medical_stable_supply_system_page {
  background-image: url(../img/medical/sub_main_medical_stable_supply_system.jpg);
    background-image: none!important;
    background-color:#5eaad1 !important;
	position: relative;
	height:200px!important;  position: relative;
}
/* 学会関連情報 */
.medical_academic_conference_page {
  background-image: url(../img/medical/sub_main_medical_academic_conference.jpg);
    background-image: none!important;
    background-color:#5eaad1 !important;
	position: relative;
	height:200px!important;  position: relative;
}



.medical_actualcapacity_page {
  background-image: url(../img/medical/sub_main_medical_actualcapacity.jpg);
  position: relative;
}
.hero_sub::before {
  content: '';
  display: inline-block;
  background: rgb(34 130 180 / 40%);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 28px;
}
.hero_sub h2 {
  position: relative;
}
@media (max-width: 767px){
.medical_approval_number_page {
	height:140px!important;  position: relative;
	}
/* 薬価一覧 */
.medical_drugprice_list_page {
	height:140px!important;  position: relative;
	}
/* 各種コード一覧 */
.medical_code_list_page {
	height:140px!important;  position: relative;
	}
/* 実容量、混注可能量等一覧 */
.medical_actualcapacity_page {
	height:140px!important;  position: relative;
	}
/* 包装・梱包サイズ一覧 */
.medical_packing_size_page {
	height:140px!important;  position: relative;
	}
/* 経過措置品目 */
.medical_transitional_items_page {
	height:140px!important;  position: relative;
	}
/* 安定供給に関する情報 */
.medical_stable_supply_system_page {
	height:140px!important;  position: relative;
	}
/* 学会関連情報 */
.medical_academic_conference_page {
	height:140px!important;  position: relative;
	}
}

/***************  見出し  *****************/
.medical .sub_ttl {
    padding-top: 15px;
}
.title h4 {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.35;
}
.title .line{
  position: relative;
  margin: 10px 0 20px;
  height: 2px;
  background:#111;
}
@media (max-width: 768px){
  .title h4 { font-size: 17px; }
}
@media (max-width: 767px){
.medical .sub_ttl {
    padding-top: 10px;
    margin-bottom: 20px;
	}
.medical .sub_ttl h3 {
    font-size: 6vw;
	}
}

/***************  共通  *****************/
.content {
  margin: 25px auto 65px;
}
.content:last-child {
  margin: 25px auto;
}
.comment_scroll {
  font-size: 14px;
  margin: 5px 0 10px;
}

/* PDFのリストエリア */
.pdfBox{
  margin: 20px auto;
  padding: 10px 30px 10px;
  background:#fff;
  border-radius: 8px;
}
.pdfBox__list{
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.pdfBox__item{
  position: relative;
  padding: 12px 0 12px 18px;
  border-bottom: 1px solid #d6e3ee;
}
.pdfBox__item:last-child{
  border-bottom: none;
}
.pdfBox__item::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 5px;
  height: 5px;
  background: #111;
  border-radius: 50%;
  transform: translateY(-50%);
}
.pdfBox__link{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  color:#111;
}
.pdfBox__link:hover {
  text-decoration: underline;
}
.pdfBox__text{
  line-height:1.6;
}
.pdfBox__icon{
  width: 28px;
  height: 28px;
  margin-left:3px;
  background:url("../img/icon_pdf.png") no-repeat center;
  background-size:cover;
}
.pdfBox__icon.pdf{
  background:url("../img/icon_pdf.png") no-repeat center;
  background-size:cover;
}
.pdfBox__icon.word{
  background:url("../img/medical/icon_word.png") no-repeat center;
  background-size:cover;
}
.pdfBox__icon.excel{
  background:url("../img/medical/icon_excel.png") no-repeat center;
  background-size:cover;
}
@media (max-width: 768px){
  .content { margin: 25px auto 40px; }
  .pdfBox {
    margin: 15px auto;
    padding: 10px 12px 6px;
  }
  .pdfBox__item {
    padding: 12px 0 12px 12px;
    font-size: 14px;
  }
}

/***************  medical lower  *****************/
/***************  実容量、混注可能量等一覧  *****************/
.page-head{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.page-title{
  font-size: 20px;
  font-weight: 700;
}
.page-title span{
  color: #d80012;
  font-weight: 700;
  margin-left: 8px;
}
.print-btn{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px 14px 50px;
  background: #d80012 url("../img/medical/icon_printer01.png") no-repeat left 20px center;
  background-size: 20px 20px;
  color: #fff;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
}
.print-btn:hover{
  opacity: .75;
  transition: .3s;
}

/* ===== コンテンツ ===== */
.content-box{
  background: #fff;
  border-radius: 8px;
  padding: 32px 36px 40px;
}
.block{
  margin-bottom: 24px;
}
.block-title{
  font-weight: 700;
  margin-bottom: 12px;
}
.block-text{
  line-height: 1.9;
  font-size: 15px;
}
.note{
  display: block;
  margin-top: 6px;
}
.line{
  height: 1px;
  background: #9ad5ec;
  margin: 28px 0;
}
.update{
  text-align: right;
  font-size: 14px;
}

/* ===== レスポンシブ ===== */
@media (max-width: 768px){
  .page-head{
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .content-box{
    padding: 24px 20px 32px;
  }
}

/* ===============================
   ac-summary (table)  ※重複削除して統合
================================ */

.ac-summary{
  margin-top:60px;
}
.ac-summary__head{
  margin: 65px 0 30px;
}
.ac-summary__print{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:14px 28px;
  background:#d80012;
  color:#fff;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
}
.ac-summary__print:hover{
  opacity: .75;
  transition: .3s;
}
.ac-summary__print-ico{
  width:20px;
  height:20px;
  background:url("../img/medical/icon_printer02.png") no-repeat center;
  background-size:contain;
}

/* 横スクロール */
.ac-summary__tablewrap{
/*  overflow-x:auto;
  -webkit-overflow-scrolling:touch;*/
}

/* table本体 */
.ac-summary__table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  border:1px solid #bfbfbf;
  table-layout:fixed;
}

.ac-summary__table td a {
	color:#1576a7;}

.ac-summary__table td a:hover {
	text-decoration:underline;}

.ac-summary__table th.ac-col-name {
	width:36%;
}

.code_list_page .code_th1 {
	width:16.5%;}
.code_list_page .code_th2 {
	width:10%;}
.code_list_page .code_th3 {
	width:10%;}
.code_list_page .code_th4 {
	width:8%;}
.code_list_page .code_th5 {
	width:8%;}
.code_list_page .code_th6 {
	width:8.5%;}
.code_list_page .code_th7 {
	width:11%;}
.code_list_page .code_th8 {
	width:14%;}
.code_list_page .code_th9 {
	width:14%;}





/* cell */
.ac-summary__table th,
.ac-summary__table td{
  border:1px solid #bfbfbf;
  padding:20px 5px;
  font-size:14px;
  /* はみ出さず全文表示で折り返し */
  white-space:normal;
  word-break:break-word;
  overflow-wrap:anywhere;
  text-overflow:clip;
  overflow-wrap: break-word;
}

.ac-summary__table th {
	position:sticky;
	top:68px;}

/* thead */
.ac-summary__table thead th{
  position:sticky;
  top:68px;
  background:#2e354a;
  color:#fff;
  font-weight:700;
  text-align:center;
}

/* link */
.ac-summary__link{
  font-weight:600;
  text-decoration:none;
  color:#111;
  width:100%;
  display:block;

  white-space:normal;
  word-break:break-word;
  overflow-wrap:anywhere;
  text-overflow:clip;

  text-align:left;
}
.ac-summary__link:hover{
  text-decoration:underline;
}

/* center helper */
.ac-center{
  text-align:center;
}

/* 2行以上になったセルだけ左寄せ（JSで付与） */
.ac-summary__table td.is-wrap{
  text-align:left !important;
}

/* SP調整 */
@media (max-width: 1000px){
.ac-summary__table thead th {
    font-size: 12px;
	}
}
@media (max-width: 768px){
  .ac-summary__table th,
  .ac-summary__table td{
    font-size:13px;
    padding:14px 12px;
  }
  .ac-summary__print{
    font-size:14px;
  }
}
@media (max-width: 767px){
  .approval_number .ac-summary__tablewrap{
    overflow-x: clip;
    width: 100%;
    max-width: 100%;
  }

  .approval_number .ac-summary__table{
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
  }

  .approval_number .ac-summary__table th.ac-col-name{
    width: 30%;
  }

  .approval_number .ac-summary__table th,
  .approval_number .ac-summary__table td{
    box-sizing: border-box;
    min-width: 0;
    max-width: 0;
    font-size: 10px;
    line-height: 1.35;
    padding: 8px 4px;
    white-space: normal;
    word-break: break-all;
    overflow-wrap: anywhere;
  }

  .approval_number .ac-summary__table thead th{
    position: sticky;
    top: 68px;
    z-index: 2;
  }

  .approval_number .ac-summary__link{
    display: block;
    min-width: 0;
    max-width: 100%;
    font-size: 10px;
    line-height: 1.35;
    word-break: break-all;
    overflow-wrap: anywhere;
  }

  .approval_number .ac-center{
    font-size: 10px;
  }
}

/* checkbox */
.ac-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  width:32px;
  height:32px;
}
.ac-check input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.ac-check__box{
  width:24px;
  height:24px;
  border:2px solid #d0d0d0;
  border-radius:4px;
  background:#fff;
}
.ac-check input:checked + .ac-check__box::after{
  content:"";
  position:absolute;
  width:8px;
  height:14px;
  border-right:3px solid #2e354a;
  border-bottom:3px solid #2e354a;
  transform:rotate(45deg);
  left:50%;
  top:50%;
  margin-left:-3px;
  margin-top:-8px;
}

/***************  学会関連情報 過去開催  *****************/
.evt{
  margin-top: 65px;
}

/* 上部ボタン */
.evt__switch{
  display: flex;
  gap: 24px;
  max-width: 820px;
  margin: 0 auto 60px;
}


/* ===== 各ボタン ===== */

.evt__switch a{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;

  /* ← 左右余白（デザイン通り） */
  padding: 22px 32px;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 4px;

  /* 上下線 */
  border-top: 1px solid #9d9d9d;
  border-bottom: 1px solid #9d9d9d;

  transition: .25s;
}


/* 非アクティブ */
.evt__switch a:not(.is-active){
  background: #e9eef2;
  color: #333;
}


/* アクティブ */
.evt__switch a.is-active{
  background: #c70012;
  color: #fff;
}


/* 右矢印 */
.evt__switch a::after{
  content: "→";
  font-size: 18px;
}


/* ホバー */
.evt__switch a:hover{
  opacity: .85;
  transition: .3s;
  background: #c70012;
  color: #fff;
}

.evt__switch a::after:hover {
  color: #fff;
}

/* 年タブ（横スクロール1行固定） */
.evt__years{
  display:flex;
  align-items:center;
  margin-top: 6px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
  flex-wrap: nowrap;
  padding: 0 2px 10px;
}
.evt__years::-webkit-scrollbar{ height: 6px; }
.evt__years::-webkit-scrollbar-thumb{ background: #cfcfcf; border-radius: 999px; }
.evt__years::-webkit-scrollbar-track{ background: transparent; }

.evt__year{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  padding: 14px 40px 14px 35px;
  border-radius: 2px;
  line-height:1;
  flex: 0 0 auto;
}
.evt__year:hover{
  background:#c70012;
  transition:.3s;
  color: #fff;
}
.evt__year:hover .evt__tri {
  border-color: transparent transparent transparent #ffffff;
}
.evt__year .evt__yearText{
  font-weight: 700;
}
.evt__tri{
  width:0;
  height:0;
  border-style: solid;
  border-width: 6px 0 6px 9px;
  border-color: transparent transparent transparent #111;
  display:inline-block;
}
.evt__year.is-active{
  background:#c70012;
}
.evt__year.is-active .evt__yearText{
  color:#fff;
}
.evt__year.is-active .evt__tri{
  border-left-color:#fff;
}

/* 太い区切り線 */
.evt__bar{
  margin: 10px 0 40px;
}

/* 見出し中央 */
.evt__heading{
  display:flex;
  justify-content:center;
  margin: 10px 0 12px;
}
.evt__headingText{
  position:relative;
  font-size: 20px;
  font-weight: 800;
  padding-bottom: 14px;
}
.evt__headingText::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom: 0;
  width: 46px;
  height: 4px;
  background:#111;
  border-radius: 999px;
}

/* 一覧 */
.evt__item{
  display:flex;
  align-items: baseline;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid #e6e6e6;
}
.evt__item:hover{
  background: linear-gradient(90deg, rgba(143,208,239,.08), transparent 55%);
}
.evt__date{
  width: 110px;
  color:#111;
  flex: 0 0 auto;
}
.evt__title{
  color:#111;
  line-height:1.6;
  min-width: 0;
  overflow:hidden;
  text-overflow: ellipsis;
}

/* pager */
.evt__pager{
  display:flex;
  justify-content:center;
  align-items:center;
  gap: 14px;
  margin-top: 35px;
}
.evt__pagerBtn,
.evt__pagerNum{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 28px;
  min-width: 28px;
  font-size: 13px;
}
.evt__pagerNum.is-current{
  font-weight: 800;
}
.evt__pagerBtn.is-disabled{
  opacity: .35;
  pointer-events: none;
}

/* 年度別ブロック切替 */
.evt__yearsArea{
  margin-top: 20px;
  margin-bottom: 45px;
  padding: 25px;
  background-color: #fff;
  border-radius: 15px;
}
.evtYear{ display:none; }
.evtYear.is-show{ display:block; }

/* responsive */
@media (max-width: 820px){
.evt__switch a {
    padding: 20px 26px;
    font-size: 16px;
	}
.evt__switch {
    margin: 0 auto 35px;
	}
}
@media (max-width: 767px){
  .evt__year .evt__yearText{ font-size: 14px; }
  .evt__year,
  .evt__year.is-active{
    padding: 14px 15px 14px 10px;
  }
.evt__years{ gap: 2px; }
.evt__yearsArea {
    padding: 25px 18px;
	}
.evt {
    margin-top: 30px;
	}
.evt__switch {
    margin: 0 auto 25px;
	}
.evt__switch a {
    padding: 15px;
    font-size: 14.5px;
	}
.evt__item{
	gap: 15px;
	}
}
@media (max-width: 640px){
  .evt__switchBtn{ min-width: 0; width: 48%; }
  .evt__years{ gap: 10px; }
  .evt__date{ width: 78px; font-size: 14px; }
  .evt__title{ font-size: 14px; }
}

/***************  学会関連情報 これから開催  *****************/
/* 一覧 */
.list_area{
  margin: 30px auto 45px;
  padding: 10px 25px;
  background-color: #fff;
  border-radius: 15px;
}
.list_area .list_box .item{
  display:flex;
  align-items: baseline;
  gap: 25px;
  padding: 16px 0;
  border-bottom: 1px solid #e6e6e6;
  color:#111;
  text-decoration:none;
}
.list_area .list_box .item:last-child{
  border-bottom: 0;
}
.list_area .list_box .item:hover{
  background: linear-gradient(90deg, rgba(143,208,239,.08), transparent 55%);
}
.list_area .list_box .date{
  width: 80px;
  flex: 0 0 auto;
}
.list_area .list_box .title{
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1.65;
  overflow:hidden;
  text-overflow: ellipsis;
}

/* SP */
@media (max-width: 768px){
  .list_area{
    margin-bottom: 35px;
    padding: 5px 15px;
    border-radius: 10px;
  }
  .list_area .date{ font-size: 14.5px; }
  .list_area .title{ font-size: 14px; }
  .list_area .list_box .item{
    gap: 20px;
    padding: 15px 0;
  }
}

/***************  学会関連情報 詳細  *****************/
.confDetail{
  padding: 34px 18px 55px;
}
.confDetail__inner{
  max-width: 980px;
  margin: 0 auto;
}
.confDetail__head{
  margin-bottom: 30px;
}
.confDetail__title{
  font-size: 20px;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.35;
}
.confDetail__rule{
  position: relative;
  margin-top: 10px;
  height: 2px;
  background:#111;
}
.confDetail__date{
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 6px;
  color:#111;
}
.confDetail__body{
  margin-top: 50px;
}
.confDetail__text{
  margin: 0 0 22px;
  line-height: 1.6;
  letter-spacing: .02em;
}
.confDetail__text:last-child{
  margin-bottom: 0;
}
@media (max-width: 768px){
  .confDetail{
    padding: 25px 0 0;
  }
  .confDetail__title{
    font-size: 18px;
  }
  .confDetail__date{
    font-size: 13.5px;
    margin-top: 4px;
  }
  .confDetail__text{
    font-size: 14px;
    line-height: 1.65;
  }
  .confDetail__body{
    margin-top: 35px;
  }
}

/***************  経過措置品目  *****************/
.noteBar{
  margin: 35px auto 0;
  background:#f3f3f3;
  padding: 18px;
}
.noteBar p {
	margin-bottom: 0;
}

.noteBar__text{
  margin:0;
  line-height:1.6;
  letter-spacing:0.02em;
  color:#111;
  font-size: 15px;
}
.transitional_items_box .list_area{
  margin: 15px auto;
  padding: 0 22px;
  background-color: #fff;
  border-radius: 10px;
}
.transitional_items_box .list_area .list_box .item{
  border-bottom: 0;
  gap: 20px;
}
@media (max-width: 768px){
  .noteBar{ padding: 10px 14px; }
  .noteBar__text{ font-size:14px; }
  .transitional_items_box .content{ margin: 25px auto; }
  .transitional_items_box .list_area{ padding: 0 10px; }
}

/***************  承認番号・承認／薬価収載／販売開始年月日一覧  *****************/
.has-tip{
  cursor: help;
}
.uiTip{
  position: fixed;
  left: 0;
  top: 0;
  transform: translate(-9999px, -9999px);
  max-width: 420px;
  padding: 12px 14px;
  background: #333;
  color: #fff;
  font-size: 13px;
  line-height: 1.6;
  border-radius: 6px;
  z-index: 99999;
  pointer-events: none;
  opacity: 0;
  transition: opacity .12s;
}
.uiTip.is-show{
  opacity: 1;
}
.uiTip::after{
  content:"";
  position:absolute;
  left:50%;
  top:100%;
  transform:translateX(-50%);
  border:7px solid transparent;
  border-top-color:#333;
}

/***************  安定供給に関する情報  *****************/

.stable_supply_system .content:last-child {
    margin: 25px auto 75px;
}
@media (max-width: 767px){
.stable_supply_system .content:last-child {
    margin: 25px auto 45px;
	}
.title h4 {
    font-size: 15.5px;
	}
}


