@charset "utf-8";

/*=======================================================================

 Smartphone(smartphone.css)
 
========================================================================*/

@media (max-width: 1240px) {
	#header .inner,
  #menu nav,
	#main,
	#footer {
    padding-inline: 40px;
  }
  #header .site_logo img,
  #content .img_w100 {
    width: 100%;
    height: auto;
  }
}

@media screen and (max-width: 1040px) {
  #menu li a {
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 960px) {
/*----------------------------------------------------------------------
 Common
----------------------------------------------------------------------*/
	body {
		line-height: 1.7;
	}
	a {
		-webkit-tap-highlight-color: rgba(0,0,0,0);
	}
  a:hover {
    opacity: 1;
  }
	img {
		max-width: 100%;
		height: auto;
	}
	#menu {
		display: none;
	}
	.slicknav_menu {
		display: block;
	}
  .pc_tb_only,
	.tb_only,
	.sp_only {
    display: inherit;
  }
  .pc_only {
    display: none;
  }

/*----------------------------------------------------------------------
 Header
----------------------------------------------------------------------*/
	#header {
		border: 0;
	}
	#header .inner {
		width: 100%;
		min-height: auto;
		margin-bottom: 0;
	}
	#header .site_logo {
		width: 100%;
		padding: 24px 0;
		text-align: center;
	}
	#header .site_logo img {
    width: 80%;
	}
  #header .header_nav {
    display: none;
}
	
/*----------------------------------------------------------------------
 Navi
----------------------------------------------------------------------*/
  #menu {
    width: 100%;
    margin: 0;
  }
  
	#mobile-menu {
		display: block;
		/*position: fixed;*/
		width: 100%;
		min-height: 49px;
	}
	#mobile-menu h1 {
		display: inherit;
		position: absolute;
		top: 0;
		left: 0;
		padding: 15px 0 0 15px;
	}
	#menu ul ul {
		display: inherit;
	}
	/* 三本線を×にアニメーション */
	.menu-trigger, .menu-trigger span.slicknav_icon-bar2 {
		display: inline-block;
		transition: all .2s;
		box-sizing: border-box;
	}
	.menu-trigger {
		position: relative;
		width: 30px;
		height: 45px;
		cursor: pointer;
	}
	.menu-trigger span.slicknav_icon-bar2 {
		position: absolute;
		left: 0;
		width: 100%;
		height: 3px;
		background-color: #fff;
		border-radius: 2px;
	}
	.menu-trigger span.slicknav_icon-bar2:nth-of-type(1) {
		top: 12px;
	}
	.menu-trigger span.slicknav_icon-bar2:nth-of-type(2) {
		top: 21px;
	}
	.menu-trigger span.slicknav_icon-bar2:nth-of-type(3) {
		bottom: 12px;
	}
	.menu-trigger.active span.slicknav_icon-bar2:nth-of-type(1) {
		-webkit-transform: translateY(9px) rotate(-45deg);
		transform: translateY(9px) rotate(-45deg);
	}
	.menu-trigger.active span.slicknav_icon-bar2:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger.active span.slicknav_icon-bar2:nth-of-type(3) {
		-webkit-transform: translateY(-9px) rotate(45deg);
		transform: translateY(-9px) rotate(45deg);
	}


/*----------------------------------------------------------------------
 Navi (slicknav)
----------------------------------------------------------------------*/
	.slicknav_btn {
		margin: 2px 15px;
		background: none;
	}
	.slicknav_menu {
		padding: 0;
		font-size: 24px;
	}
	.slicknav_nav {
		font-size: 14px;
	}
	.slicknav_nav ul, .slicknav_nav .slicknav_row, .slicknav_nav a {
		margin-left: 0;
	}
	.slicknav_nav .slicknav_txtnode {
		margin-left: 0;
	}
	.slicknav_nav li li:last-child {
		padding-bottom: 0;
	}
	.slicknav_nav ul li li a {
		padding: 12px 10px 12px 30px;
	}
	.slicknav_nav ul li li li a {
		padding-left: 60px;
	}
	.slicknav_nav .slicknav_row, .slicknav_nav a {
		margin: 0;
		padding: 15px 15px 15px 28px;
	}
	.slicknav_nav ul ul .slicknav_row {
		padding: 10px 30px;
	}
	.slicknav_nav .slicknav_row:hover, .slicknav_nav a:hover {
		-webkit-border-radius: 0;
		-moz-border-radius: 0;
		border-radius: 0;
	}
	
/*----------------------------------------------------------------------
 slicknav color
----------------------------------------------------------------------*/
	.slicknav_menu {
		background: #006eb0;
	}
	.slicknav_nav ul ul {
		background: rgba(255,255,255,.15);
    border-bottom: 0;
	}
	.slicknav_nav ul {
		border-bottom: 1px solid rgba(255,255,255,0.2);
	}
	.slicknav_nav li {
		border-top: 1px solid rgba(255,255,255,0.2);
	}
	.slicknav_nav ul li li, .slicknav_nav ul li li li {
		border-top: 1px solid rgba(255,255,255,0.2);
	}
	.slicknav_nav .slicknav_row:hover, .slicknav_nav a:hover {
		background: rgba(255,255,255,0.1);
		color: #fff;
	}

  .slicknav_nav li {
    background: url(../images/icon_arrow_sp.svg) 10px 21px no-repeat;
    -webkit-background-size: 12px 12px;
    background-size: 12px 12px;
  }
  .slicknav_nav li br,
  .slicknav_nav li img {
    display: none;
  }
  .slicknav_nav li li {
    background: none;
  }

/*----------------------------------------------------------------------
 Contents
----------------------------------------------------------------------*/
  #main {
    width: 100%;
    margin: 0;
  }
  #main #content {
    width: calc(100% + 52px);
    margin: 0 -24px;
		padding: 32px;
  }

/*----------------------------------------------------------------------
 Sidebar 
----------------------------------------------------------------------*/
  #main #sidebar {
    width: 94%;
		margin: 0 auto;
  }

  #sidebar .side_benner div {
    width: calc(100% / 3 - 6px);
		text-align: center;
  }
	
/* Side Nav */
  #sidebar .sideNav {
    width: 96%;
    margin: 0 auto 15px;
  }
  #sidebar .sideNav li a {
		display: block;
		padding: 15px 0 15px 10px;
		font-size: 0.875rem;
		text-decoration: none;
		position: relative;
	}
  #sidebar .sideNav li a::before {
		content: '';
		width: 6px;
		height: 6px;
		border: 0px;
		border-top: solid 1px #666;
		border-right: solid 1px #666;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		top: 50%;
		right: 10px;
		margin-top: -4px;
	}
  #sidebar .sideNav.etc {
    display: none;
  }
	
/*----------------------------------------------------------------------
 Footer
----------------------------------------------------------------------*/
  #footer {
		padding-inline: 0;
  }
  #footer .footer_nav {
    display: inherit;
		width: 100%;
		flex-direction: column;
  }
  #footer .footer_nav li {
		width: 100%;
		margin: 0;
		padding: 0;
		background-color: #d1ecfc;
    border-top: 1px solid #fff;
    font-size: 0.875rem;
		text-align: left;
	}
  #footer .footer_nav li a {
		display: block;
    width: calc(100% - 10px);
		padding: 12px 24px 12px 14px;
    color: #222;
		text-decoration: none;
		position: relative;
	}
  #footer .footer_nav li a::after {
    content: '\f105';
    color: #006eb0;
    font-family: "Font Awesome 6 Free";
    font-size: 0.75rem;
    font-weight: 900;
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
  }

  #footer .address,
  #footer .copyright {
		padding-inline: 40px;
  }
  #footer .address dd,
  #footer .copyright {
    font-size: 0.75rem;
  }

  #menu li.hnav {
    display: inherit;
  }

/*----------------------------------------------------------------------
 Pagetop 
----------------------------------------------------------------------*/
	.pagetop {
		bottom: 12px;
		right: 12px;
	}
	.pagetop a {
		padding-top: 0;
		width: 40px;
		height: 40px;
	}
  span.arrow:after {
    width: 10px;
    height: 10px;
    top: 16px;
    left: 14px;
  }

/*----------------------------------------------------------------------
 TopicPath 
----------------------------------------------------------------------*/
  #content ul.topic_path {
		margin-bottom: 8px;
    padding: 0 8px;
		overflow: auto;
    white-space: nowrap;
  }

/*----------------------------------------------------------------------
 Sub common
----------------------------------------------------------------------*/
	#content p,
  content ul,
  #content ol {
    margin: 0 0 16px;
  }
	#content li,
	table th,
	table td {
		line-height: 1.5;
	}

  #content .descriptionBox {
    margin-bottom: 10px;
    padding: 10px;
  }
  #content .descriptionBox p {
    margin: 0;
  }


  /* common */
  #content dl.common {
    margin: 0;
  }
  
  #content table,
  #content table.common {
    width: 100%;
  }
  #content table.w80 {
    width: 100%;
  }
  #content table th,
  #content table.common th,
  #content table td,
  #content table.common td {
    padding: 12px;
    font-size: 1rem;
  }
  #content table.mini {
    width: auto;
    font-size: 1rem;
  }

  #content .indent {
    margin-left: 1em;
  }
  #content .indent02 {
    margin-left: 1.9em;
  }

  #content .kome {
		padding-left: 0.6em;
    text-indent: -0.6em;
  }

  /* pageHead */
  #content h2 {
    font-size: 1.125rem;
  }
  #content h3 {
		padding: 8px 24px 8px 12px;
  }
  #content h4 {
		margin-top: 32px;
  }
  #content h5 {

  }

  #content .bgGray,
  #content .bgBlue,
  #content .bgPink {
    margin-bottom: 15px;
  }
	
  #content .waku {
    padding: 12px;
  }


	/* お知らせ */
  #content div.message-area {
    margin: 0;
  }

	/*  病気になった、ケガをした */
  #content .such {
    margin: 0;
  }
  #content .such li a {
    padding: 24px 8px;
		font-size: 0.875rem;
  }

  /* 財政報告 */
  #content .finance_box dt {
    width: 200px;
  }
  #content .finance_box dd {
    width: calc(100% - 232px);
  }

}

@media screen and (max-width: 767px) {
	.pc_only,
	.pc_tb_only {
		display: none;
	}
	.sp_only {
		display: inherit;
	}
	#header .inner,
  #menu nav,
	#main {
    padding-inline: 16px;
  }
	#header .site_logo img {
    width: 100%;
	}
  #main #content {
    width: calc(100% + 32px);
    margin: 0 -16px;
		padding: 16px;
		border-radius: 0;
  }
  #main #sidebar {
    width: 100%;
  }
  #sidebar .side_benner div {
    width: calc(100% / 2 - 4px);
  }

  #footer {
		padding: 32px 0 24px;
  }
  #footer .address,
  #footer .copyright {
    flex: none;
    width: 100%;
		padding-inline: 16px;
    text-align: center;
  }
  #footer .address dl {
    gap: 8px 16px;
  }
  #footer .address dt,
  #footer .address dd {
    width: 100%;
  }
	
  #content table.w50,
  #content table.common.w50,
  #content table.w60,
  #content table.common.w60,
  #content table.w70,
  #content table.common.w70,
  #content table.w80,
  #content table.common.w80 {
    width: 100%;
  }

	#content .table-responsive {
		margin-bottom: 12px;
		overflow-x: scroll;
  }
  .table-responsive::-webkit-scrollbar {
	  height: 5px;
  }
  .table-responsive::-webkit-scrollbar-track {
	  border-radius: 5px;
	  background: #eee;
  }
  .table-responsive::-webkit-scrollbar-thumb {
	  border-radius: 5px;
	  background: #666;
  }
  #content .table-responsive.with-upper-scrollbar-wrapper {
      display: block;
  }
  #content .table-responsive.with-upper-scrollbar {
    margin-bottom: 20px;
  }
  #content .table-responsive.with-upper-scrollbar table {
    margin-top: 12px !important;
    margin-bottom: 20px !important;
  }
  #content .table-responsive table {
		width: 846px;
    margin-bottom: 12px;
  }

	#content table.sp_tate {
		border-top: 1px solid #ccc;
	}
	#content table.sp_tate th,
	#content table.sp_tate td {
		display: block;
		border-top: 0;
	}

  #content img.floatRight {
    width: 50%;
  }

  #content .description_box {
    padding: 16px 16px;
  }
  #content .description_box::before {
    top: 16px;
  }
	
  #content .person {
    font-size: 1.125rem;
  }


	/* お知らせ */
  #content .news ul li {
    flex-wrap: wrap;
    padding: 16px 8px;
  }
  #content .news ul li .article {
    width: 100%;
  }
  #content .news ul li .category {
    font-size: 0.75rem;
  }

	/* 家族のこと */
  #content .fuyosyanintei_box .fuyosyanintei_item {
    width: 100%;
  }
  #content .hifuyousya_syumyu div {
    flex: auto;
  }
	#content .hifuyousya_syumyu .ttl {
		align-items: flex-start;
		min-height: auto;
	}

  /* FAQ */
  #content dl.faq div {
    padding: 16px;
  }
  #content dl.faq .s_answer {
    margin-left: 10px;
  }

	/* 子どもが生まれた */
  #content .box .boxL,
  #content .box .boxR {
    width: 100%;
		padding: 0;
  }
  #content .box .boxL {
		margin-bottom: 8px;
    text-align: left;
  }

  /* 病気になった、ケガをした */
  #content .such li {
    width: 100%;
  }
  #content .such li a {
    padding: 16px;
		font-size: 1rem;
  }

  /* 財政報告 */
  #content .finance_box div {
    flex-direction: column;
    padding: 16px;
  }
  #content .finance_box dt,
  #content .finance_box dd {
    width: 100%;
  }

  /* 健診施設のご案内（販売スタッフ向け） */
  #content table.kenshin_jushin th span {
    /*writing-mode: vertical-rl;*/
  }
	#content table.kenshin_jushin th,
  #content table.kenshin_jushin td {
    display: block;
		border-top: 0;
  }
  #content table.kenshin_jushin {
		border-top: 1px solid #ccc;
  }

  #content .keiyakuiryoukikan dt,
  #content .keiyakuiryoukikan dd {
    padding: 10px;
		font-size: 0.875rem;
  }

  /* 家庭常備薬等の申込みについて */
	#content .medicine_apply div:nth-of-type(1),
  #content .medicine_apply div:nth-of-type(2) {
		width: 100%;
  }
  #content .medicine_apply div:nth-of-type(2) {
    margin-left: 0;
  }

  /* 線虫N-NOSE */
  #content ul.pamphlet {
    margin: 16px 0;
  }
  #content .pamphlet li {
    width: 100%;
    text-align: center;
  }

	/* アクセス */
  #content .gmap {
    min-height: 360px;
  }
  #content .gmap iframe {
    height: 360px;
  }

  /* お問い合わせフォーム */
  #content .contact div {
    padding: 24px 8px;
  }
  #content .contact dt,
  #content .contact dd {
    width: 100%;
  }
  #content .contact .hissu {
    margin-left: 8px;
  }

  #content div.request {
    margin: 32px 0 16px;
  }
  #content input.btn_request {
    min-width: 10em;
    padding: 12px 24px;
  }


  /* 医療費控除を受けましょう！ */
  #content .selfmedication_box {
    flex-wrap: wrap;
  }
  #content .selfmedication_box > div:nth-of-type(1) {
    width: 100%;
  }
  #content .selfmedication_box div:nth-of-type(2) {
    width: 80%;
		margin-inline: auto;
  }
	
  #content li.koujotaishou ul {
    display: inherit;
  }
  #content li.koujotaishou ul li {
    margin-bottom: 0.5rem !important;
  }


  /* 広報誌 */
  #content .kenpodayori {
    flex-wrap: wrap;
  }
  #content .kenpodayori .kenpodayori_item:nth-of-type(1) {
    width: 200px;
    margin-inline: auto;
  }
  #content .kenpodayori .kenpodayori_item:nth-of-type(2) {
    width: 100%;
  }

	/* サイトマップ */
  #content .sitemap ul {
    flex-direction: column;
  }
  #content .sitemap li {
    width: 100%;
  }

	/* リンク */
  #content ul.link_list li a {
    flex-wrap: wrap;
  }
  #content ul.link_list li div {
    width: 100%;
  }
  #content ul.link_list li .url {
    width: 100%;
    margin-left: 0;
  }




}