﻿@charset "utf-8";
/* CSS Document */

body, html {
	font-family: "Open Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ",  Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
	font-weight: 400;
	color: #555;
	overflow:auto;
	overflow-x: hidden;
}
.fmin {
font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}

.orange {color:#f39700}
.white {color:#ffffff}
.lgray {color:#F4F4F4}
.blue {color:#025094}
.fgray {color:#555}
.forange {color:#00894b}
.florange {color:#f8d184}

a {color:#025094; text-decoration:none;}
a:hover {color:#eb9325; opacity:0.75}


.bt_or {
	display:inline-block;
	color:#FFF !important;
	border:#025094 1px solid;
	background-color:#025094;
	padding:4px 8px 1px;
}

.bt_hw {
	display:inline-block;
	color:#025094;
	border:#025094 1px solid;
	background-color:#FFF;
	padding:4px 8px 1px;
}
.bt_l {
padding:10px 24px 4px;
font-size:1.1em;
}

.fs{
font-size:0.8em;
}

.ss{
font-size:0.7em;
}


.sp { display:none !important; }
.sp992 { display:none !important; }

@media (max-width: 769px) {
	.pc { display:none !important; }
	.sp { display:block !important; }
}

@media screen and (max-width: 991px) {
	.pc992 { display:none !important; }
	.sp992 { display:block !important; }
}

@media screen and (min-width: 768px) {
.anchorlink > a {
    display: block;
	padding-top: 150px !important;
	margin-top: -150px !important;
pointer-events: none;
}
}

@media screen and (max-width: 768px) {
.anchorlink > a {
    display: block;
	padding-top: 70px !important;
	margin-top: -70px !important;
pointer-events: none;
}
}

h1 { font-weight:600; }
h2 { font-weight:700; font-size:2.5em}
h3 { font-weight:700; }
h4 { font-weight:700; }
h5 { font-weight:700; }
@media screen and (max-width: 768px) {
h2 { font-weight:700; font-size: calc(1.5rem + 0.9vw);}
}


.h1-wrap {
	padding:50px 0px 40px 0px;
	margin:0 auto;
}
.h1-wrap h1 {
	font-size:1.8em;
	border-left:#f39700 solid 5px;
	padding-left:10px;
}
@media screen and (max-width: 1199px) {
.h1-wrap {
	padding:80px 0px 40px;
}
}
@media screen and (max-width: 768px) {
.h1-wrap {
	padding:30px 0px;
}
.h1-wrap h1 {
	font-size:1.65em;
}
}

.h3-t {
	border-bottom:#CCC solid 1px;
	padding-bottom:5px;
	margin-bottom:10px;
}

.h-en {
    border-radius: 50px;
    background-color: #f39700;
    color: #FFF;
    margin: 0px;
    text-align: center !important;
    vertical-align: middle;
    padding: 5px 30px;
    display: inline-block;
}
.circle{
  display: inline-block;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #f39700;
    color: #FFF;
  text-align:center;
  line-height: 60px;
  font-weight:700;
}
.circle_on {
	margin: -50px auto 10px auto;
    width: 100%;
    text-align: center;
}

.circle1 {	
  position: relative;
  display: inline-block;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #f39700;
}

.circle1 span {
  position: absolute;
  display: inline-block;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width :80px;
  text-align:center;
}


/*---------------------------------------------------------------
   HEAD
-----------------------------------------------------------------*/

/* グローバルナビ */
#globalNavi {
/*	left:50%;
	margin-left:-450px;*/
}
/* 固定 */
.fixed {
    position: fixed;
	background-color:#FFFFFF;
	width:100%;
    top: 0;
	left: 0;
    padding: 0;
    z-index: 2;
}
.fixed1 {
	opacity:1 !important;
}




/* メインイメージtop */
.photo {
	position:relative;
	margin: 0 auto;
}

.photo0 {
	position:relative;
	margin: 0 auto;
	background:url(https://nposocc.sakura.ne.jp/wp/wp-content/uploads/2023/09/2.jpg) 50% 50% #f7f7e1 no-repeat;
	background-size:cover;
}
.photo_inner0 {

	margin:0 auto;
	padding-top:60px !important;
}
.photo_inner0 h1 {
	color:#000;
	font-size:2em;
}
.photo_inner0 p {
	color:#333;
	line-height:2em;
}

/* 角丸 */

.box12{
    padding: 0.5em 1em;
    margin: 2em 0em;
    color: #5989cf !important;
    background: #c6e4ff !important;
    border-bottom: solid 6px #aac5de !important;
    border-radius: 9px;
	border-right: solid 6px #FFFFFF !important;
}
.box12 p {
    margin: 0; 
    padding: 0;
}


/* メインイメージLP */
.photo {
	position:relative;
	margin: 0 auto;
}

.photo1 {
	position:relative;
	margin: 0 auto;
	background:url(http://hacchouborimedical.com/wp/wp-content/uploads/2023/01/top1.jpg) 50% 50% #f7f7e1 no-repeat;
	background-size:cover;
}
.photo_inner {
	/*width:1400px;
	height:650px;*/
	margin:0 auto;
	padding-top:85px;
}
.photo_inner h1 {
	color:#333;
	font-size:3em;
}
.photo_inner p {
	color:#333;
	line-height:2em;
}

/* LOGO */
.photo_tx {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
    z-index: 3;
}
.photo_tx h3 {
	font-weight:bold;
	color:#FFF;
	text-shadow:2px 2px 0px #333333;
	margin-bottom:0px;
	}
.photo_tx h1 {
	background-color:#FFF;
	padding:30px 30px;
	display:inline;
}
.photo_tx img {
  margin:20px auto;
}

@media screen and (max-width: 769px) {
.photo_tx {
  width:100%;
}
.photo_tx img {
  width:50%;
}
.photo_tx h1 {
	padding:30px 15px;
}
}
@media screen and (max-width: 500px) {
.photo_tx img {
  width:70%;
}
}

/* POP */
#pop {
	position:fixed;
	top:130px;/*top:10px;*/
	right:0;
    z-index: 3;
}
.popfixed {
	top:140px !important;
	right:0;
}
#pop a:hover { opacity:1 !important; }

@media screen and (max-width: 1400px) {
.popfixed {
	top:190px !important;
}
}

/*.round_btn {
    display: inline-block;
    position: absolute;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #999;
    left: 65px;
    top: -5px;
	font-size:16px;
	cursor :pointer;
}
 
.round_btn::before, .round_btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px;
  height: 16px;
  background: #fff;
}
 
.round_btn::before {
  transform: translate(-50%,-50%) rotate(45deg);
}
 
.round_btn::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}*/

.hidden_box label {
    display: inline-block;
    position: absolute;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #999;
    right: 5px;
    top: -8px;
    font-size: 16px;
    cursor: pointer;
    z-index: 5;
}
.hidden_box label::before, .hidden_box label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px;
  height: 14px;
  background: #fff;
}
 
.hidden_box label::before {
  transform: translate(-50%,-50%) rotate(45deg);
}
 
.hidden_box label::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}

.hidden_box input {
    display: none;
}
.hidden_box input:checked ~ .hidden_show {
    display: none !important;
}
.hidden_box input:checked ~ label {
    display: none !important;
}

/*GM*/

#globalNavi {
	font-size:0.95em;
}

nav {
	background-color:#FFF;
}
/*ul.gm {
    margin: 20px 0 0;
    padding: 0;
    text-align: right;
	position:relative;
}*/

ul.gm {
    /*init*/
    margin: 0;
    padding: 0;
    list-style: none;
}
ul.gm {
    display: flex;
    align-items: center;
    /*width: 900px;
    height: 60px;*/
    margin:  10px auto 0px auto;
}
.gm li{
    flex-grow: 1;
    text-align: center;
    width: 130px;
    height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
 }
/*.gm li:hover{
    background-color: #F4F4F4;
 }*/
.gm li + li{
    border-left: #333 solid 1px;
}
.gm li:first-child{
    border-left: #333 solid 1px;
}
.gm li:last-child{
    border-right: #333 solid 1px;
}

.gm li a {
	text-decoration:none;
	color:#333;
	font-weight:bold;
}
.gm li a:hover {
	opacity:0.6;
}

@media screen and (min-width: 769px) {
#gmlogo {
	opacity:0;
}
}
@media screen and (max-width: 1200px) {
.splogo img {
	width:240px;
}
}
@media screen and (max-width: 768px) {
.splogo {
	position:fixed;
	width:100%;
	top:0;
	left:0;
	text-align:center;
	background-color:#FFF;
	border-bottom:#999 solid 0px;
	height: 30px;
	z-index:10;
}
.splogo img {
	width:260px;
	margin:5px auto;
}
}


/*CONTAINTS*/

@media screen and (max-width: 1199px) {
.contents1 .wbox1 {
	margin-top:50px !important;
	}
}
@media screen and (max-width: 991px) {
.contents1 .wbox2 {
	margin-top:50px !important;
	}
}

.contents5 .photo_r {
	position:relative;
}
.contents5 .photo_r div {
	position:absolute;
	bottom:0;
}
@media screen and (max-width: 575px) {
.contents5 .photo_r {
	position:static !important;
}
.contents5 .photo_r div {
	position:static !important;
	bottom:;
	text-align:left;
}
.contents5 .photo_r div img {
	width:50%;
	margin: -70px 0 0;
}
}

.contents7 .orbox {
	background-color:#025094;
	padding:20px;
	border-radius:20px;
	color:#FFF;
	text-align:center;
}

.contents7 .icon_mn1 {
	margin-top:-75px;
	text-align:left;
}
@media screen and (max-width: 991px) {
.contents7 h3 {
	margin-top:10px !important;
}
.contents7 .icon_mn1 {
	text-align:center !important;
}
}


/*---------------------------------------------------------------
   PAGE
-----------------------------------------------------------------*/
#globalNavi.fixed .col-xl-9 {
    flex: 0 0 auto;
    width: 73%;
	margin-left:25px;
}
@media screen and (max-width: 1400px) {
#globalNavi.fixed .col-xl-9 {
    width: 100%;
	margin-left:0;
}
}
#page {
	margin-top:130px;
}
@media screen and (min-width:770px) and ( max-width:991px) {
#page {
	margin-top:150px;
}
}
@media screen and (max-width: 769px) {
#page {
	margin-top:60px;
}
}

/*TOPICS*/
.topi_cate {
	border:#999 solid 1px;
	padding:2px 5px;
	margin:5px 0;
	font-size:0.75em;
	display:inline-block;
}

/*SITEMAP*/
.sitemap a {
	color: #555;
}
.sitemap .list-group-flush > .list-group-item:last-child { 
	border-width: 0 0 1px;
}
.sitemap .list-group-item {
    padding: 0.8rem 1rem;
}


/*---------------------------------------------------------------
   FOOT
-----------------------------------------------------------------*/

ul.gm_f {
	width:80% !important;
	background-color:#555555 !important;
	padding:20px !important;
}
.gm_f li {
	border-left:#fff solid 1px !important;
}
.gm_f li:last-child {
	border-right:#fff solid 1px !important;
}
.gm_f li a {
	color:#fff !important;
	font-weight:normal !important;
}

.flogo {
	width:160px;
}

#topbutton { /* ▼表示位置を画面の右下に固定 */
      position: fixed;
      bottom: 10px;
      right: 15px;
      display: none;
      background-color:rgba(0,0,0,0.8);
      text-align: center;
      margin: 0px;
      padding-top: 8px;
	  width: 60px;
	height: 60px;
	z-index:4;
	  font-size:2rem;
   }
   #topbutton a {
      color: #FFF;
      text-decoration: none;
	  padding: 15px;
   }
   #topbutton a:hover {
      color: #FFF !important;
   }
   #topbutton:hover {
	   background-color:#000;
   }

@media (max-width: 768px) {
.flogo {
    width: 140px !important;
    margin-bottom: 10px;
}

ul.gm_f { 
	width:200px !important;
	margin:0 auto 20px auto !important;
	padding: 20px 0 !important;
}
ul.gm_f li { 
	width:200px !important;
	border-left:none !important;
	border-bottom:#888 solid 1px !important;
	float:left;
	margin-bottom:5px !important;
	padding-bottom:5px !important;
}
.gm_f li:last-child {
	border-right:none !important;
	border-bottom:none !important;
}

ul.gm { display:none; }

.foot_sp {
	padding:0  !important;
	margin:0 !important;/*margin:15px 15px;*/
	width:100% !important;
	position:fixed;
	bottom:0px;
	color:#FFF;
	/*font-size:80%;/**/
	z-index:5;
	vertical-align:middle !important;
}

.foot_sp ul {
	padding-left:0  !important;
}
.foot_sp li {
	list-style-type:none;
	float:left;
	background-color:#025094;
	color:#FFF;
	padding:10px 14px;/*padding:18px 22px;*/
	text-align:center;
	margin:0;
	font-size:0.8em !important;
	height:65px;
	border-right:#FFF 1px solid;
	width:38% !important;
}
.foot_sp li:last-child {
	border-right:none !important;
	width:24% !important;
    text-align: center;
    position: relative;
}
.foot_sp i {
	font-size:2em !important;
}
.foot_sp a {
	color:#FFF;
}

.foot_sp a:hover, .foot_sp a:active, .foot_sp a:visited {
	color:inherit !important;
	}

#topbutton { /* ▼表示位置を画面の右下に固定 */
      bottom: 80px;
      right: 15px;
   }
 }



/* アコーディオンメニュー */
.ac-menu:last-child {
  margin-bottom: 5px; /* 最後の要素の下にだけ余白 */
}
.ac-menu input {
  display: none;
}
.ac-menu label {
  color: #1F0C05; /* 文字色 */
  font-size: 16px !important; /* 文字サイズ */
  line-height: 2; /* 行間 */
  font-weight: bold; /* 文字を太く */
  text-align: left; /* 文字を左に */
  border: 1px solid #FFFFFF;
  background: #CEDCB0; /* 背景色 */
  padding: 8px; /* 内側の余白 */
  cursor: pointer;
  position: relative;
  display: block;
}
.ac-menu label:after {
  position: absolute;
  right: 20px; /* 左からの距離 */
  top: 50%; /* 上下中央配置 */
  -webkit-transform : translateY(-50%);
  transform : translateY(-50%);
  content: "＋"; /* アイコン */
}
.ac-menu input:checked ~ label::after {
  content: "?"; /* クリック後のアイコン */
}
.ac-menu div {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.3s; /* 開閉スピード */
}
.ac-menu input:checked ~ div {
  height: auto;
  opacity: 1;
  padding: 10px; /* 中身の枠内の余白 */
  background: #FAFAFA; /* 中身の背景色 */
}
.ac-menu-inside {
  color: #333; /* 中身の文字色 */
  font-size: 14px; /* 中身の文字サイズ */
  line-height: 2;  /* 行間 */
}




/* ページネーション */
===================================================================== */
.pagination {
  margin: 10px 0 0;
  height:30px;
}

.nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.nav-links .page-numbers {
  display: inline-block;
  margin-right: 10px;
  padding: 5px 10px;
  color: #707070;
  border-radius: 3px;
  border: #707070 solid 1px;
  background: #fff;
}

@media screen and (max-width: 768px) {
  .nav-links .page-numbers {
    margin-right: 10px;
    padding: 5px 10px;
  }
}

.nav-links .current {
  padding: 5px 10px;
  background: #707070;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .nav-links .current {
    padding: 5px 10px;
  }
}

.nav-links .prev {
  padding: 5px 10px;
  background: transparent;
  color: #707070;
}

@media screen and (max-width: 768px) {
  .nav-links .prev {
    padding: 5px 10px;
  }
}

.nav-links .next {
  padding: 5px 10px;
  background: transparent;
  color: #707070;
}

@media screen and (max-width: 768px) {
 　.nav-links .next {
    padding: 5px 10px;
  }
}

.nav-links .dots {
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
}

details {
  border: 1px solid #ccc;
}
details:not(:last-child) {
  margin-bottom: 20px;
}

/**
 * list-style: none; ←デフォルト三角削除（Chrome非対応）
 * cursor: pointer; ←カーソルをポインターに
**/
details summary {
  list-style: none;
  cursor: pointer;
 padding: 20px;
  background: #c6e4ff;
  color: #5989cf;
  font-size: 1.3rem;
  font-weight: bold;
}
/**
 * Chrome用のデフォルト三角削除
**/
details summary::-webkit-details-marker {
  display: none;
}
/**
 * Font Awesomeのプラスアイコン使用
**/
details summary::before {
  font-family: FontAwesome;
  content: '\f067';
  margin-right: 10px;
}
/**
 * アコーディオンがオープン時はマイナスアイコンに変更
**/
details[open] summary::before {
  content: '\f068';
}

details p {
  margin: 0;
  padding: 20px;
}
