@charset  "utf-8";
@import  url("print.css") only print;
/**
 * style.css
 */
/* Bootstrap break point */
/*@media  only screen and (max-width:1199px) ;*/
/* xl */
/*@media  only screen and (max-width:991px) ;*/
/* lg */
/*@media  only screen and (max-width:767px) ;*/
/* md */
/*@media  only screen and (max-width:565px) ;*/
/* sm */
/* (mobile first) */
/*@media  only screen and (min-width:566px) ;*/
/*@media  only screen and (min-width:768px) ;*/
/*@media  only screen and (min-width:992px) ;*/
/*@media  only screen and (min-width:1200px) ;*/
/* V3.1  break point */
/*@media  only screen and (max-width:959px) ;*/
/* tablet */
/*@media  only screen and (max-width:767px) ;*/
/* smart phone */
/* (mobile first) */
/*@media  only screen and (min-width:768px) ;*/
/*@media  only screen and (min-width:960px) ;*/
/*--------------------------------------------------
font-size

16px:1rem
15px:.938rem
14px:.875rem
13px:.813rem
12px:.75rem

--------------------------------------------------*/
/*--------------------------------------------------

skip link

--------------------------------------------------*/
/* Skip link */
.sr-only {
  position: absolute  !important;
  left: -9999px  !important;
  top: -9999px  !important;
  width: 1px  !important;
  height: 1px  !important;
}

.sr-only-focusable:focus {
  position: fixed  !important;
  left: 50%  !important;
  top: 10px  !important;
  transform: translateX(-50%)  !important;
  width: auto  !important;
  height: auto  !important;
  padding: 10px 15px  !important;
  margin: 0  !important;
  background-color: #000  !important;
  color: #fff  !important;
  text-decoration: none  !important;
  z-index: 99999  !important;
}

/* Focus display improvements - keyboard navigation only */
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid #007bff  !important;
  outline-offset: 2px  !important;
}

/* Hide outline on mouse click */
button:focus:not(:focus-visible),
a:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
[tabindex]:focus:not(:focus-visible) {
  outline: none  !important;
}

/* Tab button focus improvements */
.parts-tab-btn:focus-visible {
  outline: 2px solid #007bff  !important;
  outline-offset: 2px  !important;
  background-color: #e6f3ff  !important;
}

.parts-tab-btn:focus:not(:focus-visible) {
  outline: none  !important;
  background-color: transparent  !important;
}

/* Icon button focus improvements */
.parts-icon-btn a:focus-visible {
  outline: 2px solid #007bff  !important;
  outline-offset: 2px  !important;
  background-color: #f8f9fa  !important;
}

.parts-icon-btn a:focus:not(:focus-visible) {
  outline: none  !important;
  background-color: transparent  !important;
}

/* Make icon button links selectable with tab */
.parts-icon-btn a {
  text-decoration: none  !important;
}

.parts-icon-btn a:hover,
.parts-icon-btn a:focus {
  background-color: #f8f9fa  !important;
  border-radius: 8px  !important;
}

/* Card link focus improvements */
.stretched-link:focus-visible {
  outline: 2px solid #007bff  !important;
  outline-offset: 2px  !important;
}

.stretched-link:focus:not(:focus-visible) {
  outline: none  !important;
}

/* Banner link focus improvements */
.parts-btn a:focus-visible {
  outline: 2px solid #007bff  !important;
  outline-offset: 2px  !important;
}

.parts-btn a:focus:not(:focus-visible) {
  outline: none  !important;
}

/* Search button focus improvements */
#s-sp-open:focus-visible,
#s-sp-close:focus-visible {
  outline: 2px solid #007bff  !important;
  outline-offset: 2px  !important;
}

#s-sp-open:focus:not(:focus-visible),
#s-sp-close:focus:not(:focus-visible) {
  outline: none  !important;
}

/* inSubMenu accessibility control (preserve design) */
.inSubMenu.hidden-submenu a,
.inSubMenu.hidden-submenu button,
.inSubMenu.hidden-submenu input,
.inSubMenu.hidden-submenu select,
.inSubMenu.hidden-submenu textarea,
.inSubMenu.hidden-submenu [tabindex] {
  tabindex: -1  !important;
}

/* Accessibility control when search-area is hidden */
.nav-wrapper:not(.s-open) #search-area,
.nav-wrapper:not(.s-open) #search-area * {
  pointer-events: none  !important;
}

.nav-wrapper:not(.s-open) #search-area a,
.nav-wrapper:not(.s-open) #search-area button,
.nav-wrapper:not(.s-open) #search-area input,
.nav-wrapper:not(.s-open) #search-area select,
.nav-wrapper:not(.s-open) #search-area textarea,
.nav-wrapper:not(.s-open) #search-area [tabindex] {
  tabindex: -1  !important;
  visibility: hidden  !important;
}

/*--------------------------------------------------

root

--------------------------------------------------*/
:root {
  --primary-color: #197a4b;
  --secondary-color: #d0efc7;
}

/*--------------------------------------------------

 dummy

--------------------------------------------------*/
.dummy {
}

/*--------------------------------------------------

 parts-arw-bdr-btn

--------------------------------------------------*/
.parts-arw-bdr-btn {
  position: relative;
  display: block;
  padding: 10px 32px 10px 14px;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border: var(--primary-color) solid 1px;
  background-color: var(--primary-color);
}

.parts-arw-bdr-btn:before, .parts-arw-bdr-btn:after {
  position: absolute;
  top: 50%;
  right: 10px;
  display: block;
  content: "";
}

.parts-arw-bdr-btn:before {
  width: 20px;
  height: 20px;
  margin-top: -10px;
  background-color: var(--secondary-color);
  border-radius: 50%;
}

.parts-arw-bdr-btn:after {
  width: 7px;
  height: 7px;
  margin: -3px 7px 0 0;
  border-top: #fff solid 2px;
  border-right: #fff solid 2px;
  transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
}

a.parts-arw-bdr-btn:hover {
  color: #fff;
  opacity: 0.6;
  text-decoration: none;
}

.parts-arw-bdr {
  position: relative;
  display: block;
  padding: 10px 14px;
  color: var(--primary-color);
  font-size: 1.8rem;
  font-weight: 700;
  text-decoration: none;
  border: var(--primary-color) solid 1px;
}

@media  only screen and (max-width:767px)  {
.parts-arw-bdr-btn, .parts-arw-bdr  {
  padding: 10px 8px;
  font-size: 1.5rem;
}
}

.parts-arw-bdr-btn2 {
  display: block;
  padding: 8px 10px;
  color: #fff;
  font-size: .938rem;
  font-weight: 700;
  text-decoration: none;
  border: var(--primary-color) solid 1px;
  background-color: var(--primary-color);
  border-radius: 8px 8px 0 0;
  line-height: 1.4;
  word-break: break-word;
}

.parts-arw-bdr-btn2:hover {
  text-decoration: none;
  color: #fff;
}

/*--------------------------------------------------

 parts-image-links

--------------------------------------------------*/
.parts-image-links .image {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  float: left;
  width: 37%;
  padding-right: 10px;
}

.parts-image-links .links {
  float: left;
  width: 63%;
}

.parts-image-links .links ul, .parts-image-links .links li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.parts-image-links .links li + li {
  margin-top: 15px;
}

.parts-image-links .links li a {
  color: var(--primary-color);
}

@media  only screen and (max-width:767px)  {
.parts-image-links .links li + li  {
  margin-top: 10px;
}
}

/*--------------------------------------------------

 parts-breadcrumb

--------------------------------------------------*/
.parts-breadcrumb {
  margin: -64px 0 0 0;
  padding: 0px 0 30px 0;
  zoom: 1;
}

.parts-breadcrumb:before {
  position: relative;
  top: 38px;
  display: block;
  content: "";
  height: 48px;
  background-color: #f1f1f1;
  margin: 0 calc(50% - 50vw);
  z-index: 0;
}

.parts-breadcrumb:after {
  display: block;
  clear: both;
  height: 0;
  content: "";
}

.parts-breadcrumb li {
  position: relative;
  display: inline-block;
  margin: 0;
  padding-left: 0;
  font-size: .75rem;
  list-style: none;
}

.parts-breadcrumb li + li {
  margin-left: 10px;
  padding-left: 13px;
}

.parts-breadcrumb li + li:before {
  position: absolute;
  top: 50%;
  display: block;
  content: "";
  width: 5px;
  height: 5px;
  margin-top: -3px;
  border-top: #888 solid 1px;
  border-right: #888 solid 1px;
  transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  left: 0;
}

.parts-breadcrumb li a {
  display: block;
  text-decoration: none;
}

@media  only screen and (max-width:767px)  {
.parts-breadcrumb  {
  display: none;
}
}

/*--------------------------------------------------

 parts-title

--------------------------------------------------*/
/* parts-title-01 */
.parts-title-01 {
  position:relative;
  margin-bottom: 32px;
  padding-bottom: 16px;
  color: var(--primary-color);
  font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
  font-weight: 700;
}

.parts-title-01:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  content: "";
  background-image: -webkit-repeating-linear-gradient(135deg, var(--primary-color), var(--primary-color) 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, var(--primary-color), var(--primary-color) 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

h1.parts-title-01::before {
  position: absolute;
  top: -30px;
  content: "Outline";
  opacity: 0.5;
  font-family: serif;
  font-style: italic;
  font-size: .7em;
}

.bHealth h1.parts-title-01::before {
  content: "Health";
}

.bBenefit .parts-title-01::before {
  content: "Benefit";
}

.bForm .parts-title-01::before {
  content: "Form";
}

.bApplication .parts-title-01::before {
  content: "Application";
}

.bInfo .parts-title-01::before {
  content: "Information";
}

@media  only screen and (max-width:767px)  {
.parts-title-01  {
  padding-bottom:8px;
}
h1.parts-title-01::before  {
  top: -24px;
}
}

/* parts-title-02 */
.parts-title-02 {
  border: 3px solid var(--primary-color);
  font-size:clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
  padding: 16px 16px;
  border-radius: 8px;
  margin: 56px 0 48px;
  position: relative;
  color:var(--primary-color);
  font-weight: 600;
}

.parts-title-02::before {
  content: "";
  background-color: #fff;
  width: 20px;
  height: 5px;
  position: absolute;
  left: 30px;
  bottom: -4px;
}

.parts-title-02::after {
  content: "";
  background-color: var(--primary-color);
  width: 20px;
  height: 3px;
  transform: rotate(50deg);
  position: absolute;
  left: 25px;
  bottom: -10px;
}

@media  only screen and (max-width:767px)  {
.parts-title-02  {
  margin: 30px 0 30px;
  padding: 8px 16px;
}
}

/* parts-title-03 */
.parts-title-03 {
  position:relative;
  margin: 36px 0 24px;
  font-size: clamp(0.938rem, 0.869rem + 0.34vw, 1.125rem);
  font-weight: 600;
  padding: .5em .75em;
  background-color: #e8f7e3;
  color: #333333;
}

.parts-title-03:has(.parts-arw01) {
  background-color:#fff;
  border-bottom: 1px dotted var(--primary-color);
  line-height: 1.6;
}

.parts-title-03 > span {
  display: block;
  padding: 2px 0 2px 12px;
  border-left: var(--primary-color) solid 6px;
}

@media  only screen and (max-width:767px)  {
.parts-title-03  {
}
.parts-title-03 > span  {
  border-left-width: 4px;
}
}

/* parts-title-04 */
.parts-title-04 {
  position: relative;
  padding: 1em .5em .5em 1.7em;
  color: var(--primary-color);
  font-weight: 700;
}

.parts-title-04::after {
  position: absolute;
  top: 1.5rem;
  left: .4rem;
  z-index: 2;
  content: "";
  width: .813rem;
  height: .813rem;
  background-color: var(--primary-color);
  opacity:.6;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media  only screen and (max-width:767px)  {
.parts-title-04  {
}
.parts-title-04::after  {
  position: absolute;
  top: 1.4rem;
  left: .4rem;
  z-index: 2;
  content: "";
  width: .75rem;
  height: .75rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
}

/* parts-title-05 */
.parts-title-05 {
  position: relative;
  margin: 60px 0 25px;
  padding: 14px;
  color: var(--primary-color);
  font-size: 1.5rem;
  font-weight: 700;
  border-left: 6px solid var(--primary-color);
}

@media  only screen and (max-width:767px)  {
.parts-title-05  {
  margin: 30px 0 15px;
  padding: 7px 8px;
  font-size: 1.25rem;
}
}

table.align-text-top tbody td, table.align-text-top tbody th {
  vertical-align: top;
}

/*--------------------------------------------------

 parts-table-01

--------------------------------------------------*/
.parts-table-01 {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  border-top: #d0dafd solid 1px;
  border-left: #d0dafd solid 1px;
  margin-bottom: 1rem;
}

.parts-table-01 th, .parts-table-01 td {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: middle;
  border-bottom: #d0dafd solid 1px;
  border-right: #d0dafd solid 1px;
}

.parts-table-01 th {
  width: 25%;
  padding: 20px;
  background-color: #e2f0f3;
  line-height: 1.3;
  color: #273e72;
}

.parts-table-01 td {
  padding: 20px;
  background-color: #fff;
}

@media  only screen and (max-width:767px)  {
.parts-table-01, .parts-table-01 tr, .parts-table-01 tbody, .parts-table-01 th, .parts-table-01 td  {
  display: block;
}
.parts-table-01 th  {
  width: auto;
  padding: 5px;
  text-align: center;
}
.parts-table-01 td  {
  padding: 10px;
}
}

/*--------------------------------------------------

 parts-table-02

--------------------------------------------------*/
.parts-table-02 {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  border-top: #d0dafd solid 1px;
  border-left: #d0dafd solid 1px;
  margin-bottom: 1rem;
}

.parts-table-02 th, .parts-table-02 td {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: middle;
  border-bottom: #d0dafd solid 1px;
  border-right: #d0dafd solid 1px;
  background-color: #fff;
}

.parts-table-02 th {
  padding: 13px;
  background-color: #e2f0f3;
  line-height: 1.3;
  color: #273e72;
}

.parts-table-02 td {
  padding: 13px;
}

@media  only screen and (max-width:767px)  {
.parts-table-02, .parts-table-02 tr, .parts-table-02 tbody, .parts-table-02 th, .parts-table-02 td  {
  font-size: .875rem;
}
.parts-table-02 th  {
}
}

/*--------------------------------------------------

 parts-table-03

--------------------------------------------------*/
.parts-table-03 {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  border-top: #d0dafd solid 1px;
  border-left: #d0dafd solid 1px;
  margin-bottom: 1rem;
}

.parts-table-03 th, .parts-table-03 td {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: middle;
  border-bottom: #d0dafd solid 1px;
  border-right: #d0dafd solid 1px;
}

.parts-table-03 th {
  width: 50%;
  padding: 10px;
  background-color: #e2f0f3;
  line-height: 1.3;
  color: #273e72;
}

.parts-table-03 th.no {
  background: #fff url(../img/pc/page/bg_yes_or_no_no.gif) no-repeat left center;
  padding-left: 60px;
}

.parts-table-03 th.yes {
  background: #fff url(../img/pc/page/bg_yes_or_no_yes.gif) no-repeat left center;
  padding-left: 60px;
}

.parts-table-03 td {
  padding: 20px;
  background-color: #fff;
}

@media  only screen and (max-width:767px)  {
.parts-table-03 th  {
}
.parts-table-03 td  {
}
}

/*--------------------------------------------------

 parts-table-04

--------------------------------------------------*/
.parts-table-04 {
  width: 100%;
  margin: 15px 0 20px;
  border-left: #d0dafd solid 1px;
  border-top: #d0dafd solid 1px;
  margin-bottom: 1rem;
}

.parts-table-04 th {
  border-right: #d0dafd solid 1px;
  border-bottom: #d0dafd solid 1px;
}

.parts-table-04 td {
  border-right: #d0dafd solid 1px;
  border-bottom: #d0dafd solid 1px;
}

.parts-table-04 th {
  background-color: #e2f0f3;
  font-weight: 700;
  padding: 13px;
  vertical-align: middle;
  width: 25%;
  line-height: 1.3;
  color: #273e72;
}

.parts-table-04 td {
  padding: 13px;
}

td ul {
  padding-left: 0;
}

.parts-table-04 ul li {
  list-style: none;
}

.parts-table-04 ul.parts-list-disc > li {
  list-style: disc;
  margin-left: 1em;
}

@media  only screen and (max-width:767px)  {
.parts-table-04 th, .parts-table-04 td  {
}
}

/*--------------------------------------------------

 parts-point-list

--------------------------------------------------*/
.parts-point-list {
  position: relative;
  margin: 60px 0;
  padding: 0 0 0 77px;
}

.parts-point-list .head {
  position: absolute;
  top: 50%;
  left: 0;
  width: 154px;
  height: 154px;
  margin-top: -77px;
}

.parts-point-list .head:before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  content: "";
  width: 120px;
  height: 120px;
  margin: -60px 0 0 -60px;
  background-image: linear-gradient(25deg, #fb3022, #fa6c1d, #f69514, #f0b900);
  transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  border-radius: 50%;
}

.parts-point-list .head > div {
  position: relative;
  display: table;
  width: 100%;
  height: 100%;
}

.parts-point-list .head > div > span {
  display: table-cell;
  text-align: center;
  color: #fff;
  font-size: 1.4rem;
  vertical-align: middle;
  font-weight: 700;
}

.parts-point-list .list-tb {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: table;
  width: 100%;
  height: 125px;
  padding: 15px 30px 15px 100px;
  background-color: #fcf7b4;
}

.parts-point-list .list-cell {
  display: table-cell;
  vertical-align: middle;
}

.parts-point-list ul {
  margin: 0;
  padding: 0;
}

.parts-point-list li {
  position: relative;
  margin: 0;
  padding: 0 0 0 30px;
  list-style: none;
  color: #000;
  font-weight: 600;
}

.parts-point-list li:before {
  position: absolute;
  top: 3px;
  left: 0;
  display: block;
  content: "";
  width: 23px;
  height: 17px;
  background: url(../img/pc/page/icon_check.png) no-repeat center center;
}

.parts-point-list li + li {
  margin-top: 15px;
}

@media  only screen and (max-width:767px)  {
.parts-point-list  {
  margin: 60px 0 20px;
  padding: 0;
}
.parts-point-list .head  {
  top: -1.6rem;
  left: 0;
  width: 8rem;
  height: 2.6rem;
  margin: 0;
}
.parts-point-list .head:before  {
  width: 8rem;
  height: 2.6rem;
  margin: 0;
  position: absolute;
  top: 0;
  left: 0;
  transform: none;
  -ms-transform: none;
  -webkit-transform: none;
  -moz-transform: none;
  border-radius: 0;
}
.parts-point-list .head > div > span  {
  font-size: 1.15rem;
}
.parts-point-list .list-tb  {
  display: block;
  height: auto;
  padding: 40px 10px 18px 10px;
}
.parts-point-list .list-cell  {
  display: block;
}
.parts-point-list li  {
  padding: 0 0 0 20px;
}
.parts-point-list li:before  {
  top: 5px;
  width: 16px;
  height: 10px;
  background-size: 100% auto;
}
.parts-point-list li + li  {
  margin-top: 10px;
}
}

/*--------------------------------------------------

 parts-column-box

--------------------------------------------------*/
.parts-column-box {
  background-color: #fbfdf5;
  border: 4px solid #d0efc7;
  margin: 32px 0 0;
  padding: 16px 24px;
  border-radius: 8px;
}

.parts-column-box .parts-table-01 {
  border-top: #57b53a solid 1px;
  border-left: #57b53a solid 1px;
}

.parts-column-box .parts-table-01 th, .parts-column-box .parts-table-01 td {
  border-bottom: #57b53a solid 1px;
  border-right: #57b53a solid 1px;
  color: #333;
}

.parts-column-box .parts-table-01 th {
  background-color: #e4f0c2;
}

.parts-column-box h1 {
  background: url(../img/pc/page/tit_column.gif) no-repeat left top;
  border-bottom: 1px dashed #bed283;
  margin-bottom: 10px;
  overflow: hidden;
  text-indent: -9999px;
}

.parts-column-box h2.parts-title-02 {
  font-weight: 700;
  background-color: #fff;
}

.parts-column-box .parts-table-01 th {
  width: 30%;
}

.parts-column-box .parts-table-01 td {
  width: 70%;
  background-color: #fff;
}

.parts-column-ttl {
  position: relative;
  margin: 32px 0 48px -32px;
  padding: 0 0 0 77px;
  display: inline-block;
}

.parts-column-box .parts-column-ttl:has(+ h2) {
  margin-bottom: 0px;
}

.parts-column-ttl .head {
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 0;
  margin-left: 40px;
}

.parts-column-ttl .head:before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  content: "";
  width: 100px;
  height: 100px;
  margin: -50px 0 0 -50px;
  background: radial-gradient(circle, #1fb102, #007508);
  transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  border-radius: 50%;
}

.parts-column-ttl .head > div {
  position: relative;
  display: table;
  width: 100%;
  height: 100%;
}

.parts-column-ttl .head > div > span {
  display: table-cell;
  text-align: center;
  color: #fff;
  vertical-align: middle;
}

.parts-column-ttl .list-tb {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: table;
  width: 100%;
  padding: 15px 30px 15px 40px;
}

.parts-column-ttl .list-cell {
  display: table-cell;
  vertical-align: middle;
}

.parts-column-ttl ul {
  margin: 0;
  padding: 0;
}

.parts-column-ttl li {
  position: relative;
  margin: 0;
  padding: 0 0 0 30px;
  list-style: none;
  color: #197a4b;
  font-weight: 700;
  font-size: 1.25rem;
}

.parts-column-ttl li + li {
  margin-top: 15px;
}

@media  only screen and (max-width:767px)  {
.parts-column-box  {
  margin: 60px 0 0;
}
.parts-column-ttl  {
  margin: 0 0 0;
  padding: 0;
  display: block;
}
.parts-column-ttl .head  {
  top: -55px;
  left: 50%;
  width: 77px;
  height: 77px;
  margin: 0 0 0 -38px;
}
.parts-column-ttl .head:before  {
  width: 80px;
  height: 80px;
  margin: -40px 0 0 -40px;
}
.parts-column-ttl .head > div > span  {
  font-size: .875rem;
}
.parts-column-ttl .list-tb  {
  display: block;
  height: auto;
  padding: 40px 10px 18px 10px;
}
.parts-column-ttl .list-cell  {
  display: block;
}
.parts-column-ttl li  {
  padding: 0 0 0 0;
  text-align: center;
}
.parts-column-ttl li:before  {
  top: 5px;
  width: 16px;
  height: 10px;
  background-size: 100% auto;
}
.parts-column-ttl li + li  {
  margin-top: 10px;
}
.parts-column-box .parts-table-01 th, .parts-column-box .parts-table-01 td  {
  width: auto;
  display: block;
}
.parts-column-box h2  {
}
}

/*--------------------------------------------------

 parts-table-btn

--------------------------------------------------*/
.parts-table-btn a {
  position: relative;
  display: table;
  width: 100%;
  height: 60px;
  line-height: 1.3;
  color: var(--primary-color);
  text-align: center;
  text-decoration: none;
  border: var(--primary-color) solid 1px;
}

.parts-table-btn.on {
  background-color: var(--primary-color);
}

.parts-table-btn.on a {
  color: #fff;
}

.parts-table-btn.on a:before {
  opacity: 1;
}

.parts-table-btn a > span {
  display: table-cell;
  vertical-align: middle;
}

.parts-table-btn a > span > span {
  position: relative;
  display: inline-block;
  padding-left: 34px;
}

.parts-table-btn a > span > span:before, .parts-table-btn a > span > span:after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  content: "";
}

.parts-table-btn a > span > span:before {
  width: 20px;
  height: 20px;
  margin-top: -10px;
  background-color: var(--primary-color);
  border-radius: 50%;
}

.parts-table-btn a > span > span:after {
  width: 7px;
  height: 7px;
  margin: -3px 0 0 6px;
  border-top: #fff solid 2px;
  border-right: #fff solid 2px;
  transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
}

.parts-table-btn.on a > span > span:before {
  background-color: #fff;
}

.parts-table-btn.on a > span > span:after {
  margin: -4px 0 0 7px;
  border-color: var(--primary-color);
  transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
}

@media  only screen and (max-width:767px)  {
.parts-table-btn a  {
  height: 40px;
  font-size: 12px;
}
.parts-table-btn a > span > span  {
  padding-left: 20px;
}
.parts-table-btn a > span > span:before  {
  width: 15px;
  height: 15px;
  margin-top: -7px;
}
.parts-table-btn a > span > span:after  {
  width: 5px;
  height: 5px;
  margin: -2px 0 0 4px;
  border-width: 1px;
}
.parts-table-btn.on a > span > span:after  {
  margin: -3px 0 0 5px;
}
}

/*--------------------------------------------------
 parts-tab-btns
--------------------------------------------------*/
.parts-tab-btns,
.parts-tab-btns2 {
  margin-bottom: 10px;
  margin-top: 2em;
}

.parts-tab-btns .row,
.parts-tab-btns2 .row {
  align-items: stretch;
}

.parts-tab-btns .parts-tab-btn,
.parts-tab-btns2 .parts-tab-btn {
  display: flex;
  padding: 0 4px;
  border-bottom: var(--primary-color) solid 2px;
}

.news-tab .parts-tab-btn {
  padding: 0 4px;
}

.parts-tab-btns .parts-tab-btn:last-of-type,
.parts-tab-btns2 .parts-tab-btn:last-of-type {
}

.parts-tab-btns .parts-tab-btn.on,
.parts-tab-btns2 .parts-tab-btn.on {
}

.parts-tab-btns .parts-tab-btn:not(.on) a,
.parts-tab-btns2 .parts-tab-btn:not(.on) a {
  background-color: #eee;
  color: var(--primary-color);
}

.parts-tab-btns .parts-tab-btn:not(.on) a:hover,
.parts-tab-btns2 .parts-tab-btn:not(.on) a:hover {
  background-color: #eee;
  text-decoration: none;
}

.parts-tab-btns .parts-tab-btn:hover,
.parts-tab-btns2 .parts-tab-btn:hover {
  opacity: 0.7;
}

.parts-tab-btns .parts-tab-btn a,
.parts-tab-btns2 .parts-tab-btn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  line-height: 1.3;
  color: var(--primary-color);
  text-align: center;
  text-decoration: none;
  padding: 16px 4px;
  font-weight: 700;
  border-radius: 4px 4px 0 0;
  word-break: break-word;
}

.parts-tab-btns .parts-tab-btn a:before,
.parts-tab-btns2 .parts-tab-btn a:before {
  position: absolute;
  top: 100%;
  left: 50%;
  display: block;
  content: "";
  margin-left: -6px;
  border-top: var(--primary-color) solid 6px;
  border-left: transparent solid 6px;
  border-right: transparent solid 6px;
  opacity: 0;
}

.parts-tab-btns .parts-tab-btn.on a,
.parts-tab-btns2 .parts-tab-btn.on a {
  color: #fff;
  text-decoration: none;
  background-color: #DDEDB9;
  color: var(--primary-color);
}

.parts-tab-btns .parts-tab-btn.on a:before,
.parts-tab-btns2 .parts-tab-btn.on a:before {
  opacity: 1;
}

.parts-tab-btns .parts-tab-btn a > span,
.parts-tab-btns2 .parts-tab-btn a > span {
  display: flex;
  align-items: center;
  justify-content: center;
}

.parts-tab-btns .parts-tab-btn a > span > span,
.parts-tab-btns2 .parts-tab-btn a > span > span {
  position: relative;
  display: inline-block;
}

@media  only screen and (max-width:767px)  {
.parts-tab-btns .parts-tab-btn a,
  .parts-tab-btns2 .parts-tab-btn a  {
  min-height: 48px;
  font-size: .813rem;
}
}

/*.parts-tab-bodys .parts-tab-body,
  .parts-tab-bodys2 .parts-tab-body {
	display: none;
}*/
.parts-tab-bodys .parts-tab-body.on,
.parts-tab-bodys2 .parts-tab-body.on {
  display: block;
}

/*--------------------------------------------------

 parts-arw01

--------------------------------------------------*/
.parts-arw01 {
  position: relative;
  display: inline-block;
  padding-left: 1.5rem;
}

.parts-arw01:before, .parts-arw01:after {
  position: absolute;
  top: 1.6rem;
  left: 0;
  display: block;
  content: "";
}

.parts-arw01:before {
  width: 1.15rem;
  height: 1.15rem;
  margin-top: -1.25rem;
  /*background-color: var(--secondary-color);*/
  background-color: var(--primary-color);
  border-radius: 50%;
}

.parts-arw01:after {
  width: 0.4rem;
  height: 0.4rem;
  margin: -.85rem 0 0 0.325rem;
  /*border-top: var(--primary-color) solid 2px;
  border-right: var(--primary-color) solid 2px;*/
  border-top: #fff solid 2px;
  border-right: #fff solid 2px;
  transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
}

h3 .parts-arw01:before {
  top: 1.5rem;
}

h3 .parts-arw01:after {
  top: 1.5rem;
}

@media  only screen and (max-width:767px)  {
.parts-arw01:before  {
  top: 1.5rem;
}
.parts-arw01:after  {
  top: 1.5rem;
  margin: -.85rem 0 0 0.3rem;
}
h3 .parts-arw01:before  {
  top: 1.4rem;
}
h3 .parts-arw01:after  {
  top: 1.35rem;
}
}

/*--------------------------------------------------

 parts-accordion

--------------------------------------------------*/
.parts-accordion + .parts-accordion {
  margin-top: -1px;
}

.parts-accordion .parts-accordion-body {
  padding: 15px 0;
  display: none;
}

.parts-accordion-btn a {
  position: relative;
  display: table;
  width: 100%;
  height: 60px;
  line-height: 1.3;
  color: var(--primary-color);
  text-align: center;
  text-decoration: none;
  border: var(--primary-color) solid 1px;
}

.parts-accordion-btn.on {
  background-color: var(--primary-color);
}

.parts-accordion-btn.on a {
  color: #fff;
}

.parts-accordion-btn a > span {
  display: table-cell;
  vertical-align: middle;
}

.parts-accordion-btn a:before, .parts-accordion-btn a:after {
  position: absolute;
  top: 50%;
  display: block;
  content: "";
  background-color: var(--primary-color);
}

.parts-accordion-btn a:before {
  right: 20px;
  width: 20px;
  height: 2px;
  margin-top: -1px;
}

.parts-accordion-btn a:after {
  right: 29px;
  width: 2px;
  height: 20px;
  margin-top: -10px;
}

.parts-accordion-btn.on a:before {
  background-color: #fff;
}

.parts-accordion-btn.on a:after {
  opacity: 0;
}

@media  only screen and (max-width:767px)  {
.parts-accordion .parts-accordion-body  {
  padding: 0 0 10px;
}
.parts-accordion-btn a  {
  height: 40px;
  font-size: 12px;
}
.parts-accordion-btn a:before  {
  right: 12px;
  width: 14px;
  height: 2px;
}
.parts-accordion-btn a:after  {
  right: 18px;
  height: 14px;
  margin-top: -7px;
}
}

/*--------------------------------------------------

 parts-box-btns

--------------------------------------------------*/
.parts-box-btns {
  position: relative;
}

.parts-box-btns:before {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  content: "";
  width: 100%;
  height: 1px;
}

.parts-box-btns:after {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  content: "";
  height: 100%;
  width: 1px;
}

.parts-box-btns .row > * {
}

.parts-box-btns a {
  position: relative;
  display: block;
  width: 100%;
  padding: 17px 0;
  color: #535353;
  text-decoration: none;
  text-align: center;
}

.parts-box-btns a:before {
  position: absolute;
  top: 50%;
  right: 2px;
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  margin-top: -5px;
  border-top: var(--primary-color) solid 2px;
  border-right: var(--primary-color) solid 2px;
  transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
}

@media  only screen and (max-width:767px)  {
.parts-box-btns .row > *  {
  width: 45%;
  margin-right: 10px;
}
}

/*--------------------------------------------------

 parts-icon-btn

--------------------------------------------------*/
.parts-icon-btn a {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  display: table;
  width: 100%;
  height: 100%;
  padding: 10px 10px;
  color: #535353;
  text-decoration: none;
  text-align: left;
  font-size: .875em;
  font-weight: 700;
}

.parts-icon-btn a > * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: table-cell;
  vertical-align: middle;
  padding-right: 20px;
  font-size: .875rem;
}

.parts-icon-btn a:before {
  position: absolute;
  top: 50%;
  right: 15px;
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  margin-top: -5px;
  border-top: var(--primary-color) solid 2px;
  border-right: var(--primary-color) solid 2px;
  transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
}

.parts-icon-btn a .ico {
  padding: 5px 5px 5px 0;
  width: 70px;
  text-align: center;
}

.parts-icon-btn a .ico img, .parts-icon-btn a .ico > svg {
  max-height: 35px;
  max-width: 40px;
  width: auto;
  height: auto;
}

@media  only screen and (max-width:767px)  {
.parts-icon-btn a >*  {
  padding: 16px;
  font-size: .75rem;
}
}

/*--------------------------------------------------

 parts-widget-list01

--------------------------------------------------*/
.parts-widget-list01 {
  padding: 0;
  margin: 0;
  border: 2px solid var(--secondary-color);
  border-radius: 0 0 8px 8px;
  border-top:0;
}

.parts-widget-list01 li {
  list-style: none;
  line-height: 1.4;
  font-weight: 500;
  border-bottom: #dfdddd dotted 1px;
}

.parts-widget-list01 li:last-child {
  border-bottom:none;
}

@media  only screen and (max-width:767px)  {
.parts-widget-list01 li:last-child  {
  border-bottom:#dfdddd dotted 1px;
}
}

.parts-widget-list01 li a {
  position: relative;
  display: block;
  padding: 15px 30px 15px 20px;
  font-size: .875rem;
  text-decoration: none;
  color: #333333;
  font-weight: 600;
  word-break: break-word;
}

.parts-widget-list01 li a:hover {
  opacity: 0.6;
}

.parts-widget-list01 li a:before {
  position: absolute;
  top: 50%;
  right: 10px;
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  margin-top: -5px;
  border-top: #ccc solid 2px;
  border-right: #ccc solid 2px;
  transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
}

.parts-widget-list01 li a small {
  display: block;
  margin-left: 20px;
  font-size: 90%;
  font-weight: inherit;
}

.parts-widget-list01 li.not {
  position: relative;
  display: block;
  padding: 17px 20px;
  font-size: 1.3rem;
}

@media  only screen and (max-width:960px)  {
.parts-widget-list01 li  {
}
.parts-widget-list01 li a  {
  padding: 10px 10px 10px 10px;
  font-size: .75rem;
}
}

.on01 .parts-widget-list01 li.on01 a,
.on02 .parts-widget-list01 li.on02 a,
.on03 .parts-widget-list01 li.on03 a,
.on04 .parts-widget-list01 li.on04 a,
.on05 .parts-widget-list01 li.on05 a,
.on06 .parts-widget-list01 li.on06 a,
.on07 .parts-widget-list01 li.on07 a,
.on08 .parts-widget-list01 li.on08 a,
.on09 .parts-widget-list01 li.on09 a,
.on10 .parts-widget-list01 li.on10 a,
.on11 .parts-widget-list01 li.on11 a,
.on12 .parts-widget-list01 li.on12 a,
.on13 .parts-widget-list01 li.on13 a,
.on14 .parts-widget-list01 li.on14 a,
.on15 .parts-widget-list01 li.on15 a,
.on16 .parts-widget-list01 li.on16 a,
.on17 .parts-widget-list01 li.on17 a,
.on18 .parts-widget-list01 li.on18 a,
.on19 .parts-widget-list01 li.on19 a,
.on20 .parts-widget-list01 li.on20 a,
.on21 .parts-widget-list01 li.on21 a,
.on22 .parts-widget-list01 li.on22 a,
.on23 .parts-widget-list01 li.on23 a,
.on24 .parts-widget-list01 li.on24 a,
.on25 .parts-widget-list01 li.on25 a,
.on26 .parts-widget-list01 li.on26 a,
.on27 .parts-widget-list01 li.on27 a,
.on28 .parts-widget-list01 li.on28 a,
.on29 .parts-widget-list01 li.on29 a,
.on30 .parts-widget-list01 li.on30 a,
.on31 .parts-widget-list01 li.on31 a,
.on32 .parts-widget-list01 li.on32 a,
.on33 .parts-widget-list01 li.on33 a,
.on34 .parts-widget-list01 li.on34 a,
.on35 .parts-widget-list01 li.on35 a,
.on36 .parts-widget-list01 li.on36 a,
.on37 .parts-widget-list01 li.on37 a,
.on38 .parts-widget-list01 li.on38 a,
.on39 .parts-widget-list01 li.on39 a,
.on40 .parts-widget-list01 li.on40 a,
.on41 .parts-widget-list01 li.on41 a,
.on42 .parts-widget-list01 li.on42 a{
  color: var(--primary-color);
  font-weight: 700;
  background-image: linear-gradient(to top, #ffffd0, #ffffd8, #ffffe0, #ffffe8, #fffff0);
}

/*--------------------------------------------------
 parts-note-list
 --------------------------------------------------*/
.parts-note-list {
  list-style: none;
  padding: 0;
  margin-bottom: 0;
}

.parts-note-list li {
  font-size: .875rem;
  padding-left: 1em;
  text-indent: -1em;
}

@media  only screen and (max-width:767px)  {
.parts-note-list  {
}
.parts-note-list li  {
  font-size: .813rem;
}
}

.parts-note-list02 {
  list-style: none;
  padding: 0;
}

ul.parts-note-list02 > li {
  padding-left: 1em;
  text-indent: -1em;
}

.parts-note-list02 li > * {
  text-indent: 0;
}

/*--------------------------------------------------
 parts-inner-navi
 --------------------------------------------------*/
.parts-inner-navi {
  background-color: #fbfdf5;
  margin-bottom: 30px;
  margin-top: 30px;
  padding: 20px 20px 18px;
}

.parts-inner-navi li {
  margin-bottom: 1rem;
  list-style: none;
  margin-left: 2rem;
  text-indent: -1.5rem;
  line-height: 1.5;
}

.parts-inner-navi li:last-child {
  margin-bottom: 0;
}

.parts-inner-navi li > a {
  position: relative;
  color: var(--primary-color);
  padding-left: 1.5rem;
}

.parts-inner-navi li a:before, .parts-inner-navi li a:after {
  position: absolute;
  top: calc(.813rem - 2px);
  left: 0px;
  display: block;
  content: "";
}

.parts-inner-navi li a:before {
  width: 1rem;
  height: 1rem;
  transform: translateY(-50%);
  background-color: var(--primary-color);
  border-radius: 50%;
}

.parts-inner-navi li a:after {
  width: 0.4rem;
  height: 0.4rem;
  margin-left: 0.25rem;
  border-top: #fff solid 2px;
  border-right: #fff solid 2px;
  transform: translateY(calc(-50% - 2px)) rotate(135deg);
  -ms-transform: translateY(-50%) rotate(135deg);
  -webkit-transform: translateY(calc(-50% - 2px)) rotate(135deg);
  -moz-transform: translateY(-50%) rotate(135deg);
}

@media  only screen and (max-width:767px)  {
}

.parts-mFig02 {
  margin: 20px 0 55px;
  text-align: center;
  background-color: #FFF;
}

.parts-mFig03 {
  margin: 20px 0 55px;
  text-align: center;
  background-color: #FFF;
}

.parts-mFig02 img {
  width: 70%;
  background-color: #FFF;
}

.parts-member-bg {
  background-color: #eee;
  margin: 30px 0 18px;
  padding: 16px 32px;
}

.parts-member-bg li {
  list-style-type: decimal;
}

.parts-reference {
  margin-top: 24px;
  margin-right: 0;
  margin-bottom: 24px;
  margin-left: 0;
  display: flex;
  align-items: center;
}

.parts-reference dt {
  padding: 8px 16px;
  margin-right: 16px;
  font-size: .813rem;
  border-radius: 10px;
  align-items: center;
  display: flex;
  white-space: nowrap;
  background: linear-gradient(135deg, #1e88e5 0%, #1565c0 100%);
  color: #FFFFFF;
  flex-direction: row;
  justify-content: center;
  height: fit-content;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(30, 136, 229, 0.3);
}

.parts-reference dt::before {
  font-family: "icomoon";
  content: "";
  margin-right: 8px;
  font-size: .813rem;
}

.parts-reference dd a {
  transition: all 0.3s ease;
}

.parts-reference dd a:hover {
  text-decoration: underline;
}

.parts-reference dd {
  overflow: hidden;
  margin: 0;
  flex-basis: 100%;
}

.parts-reference ul {
  list-style: none;
  background: transparent;
  border: 0;
  font-size: 100%;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

.parts-reference ul li {
  margin-bottom:0;
}

.parts-icon-pdf {
}

.parts-icon-pdf:before {
  margin-right: 4px;
  font-family: "icomoon";
  content: "";
  color: #e40f0f;
  font-size: 1.3rem;
  font-weight: 500;
}

.parts-icon-doc {
}

.parts-icon-doc:before {
  margin-right: 4px;
  font-family: "icomoon";
  content: "";
  color: #0072d4;
  font-size: 1.3rem;
  font-weight: 500;
}

.parts-icon-xls {
}

.parts-icon-xls:before {
  margin-right: 4px;
  font-family: "icomoon";
  content: "";
  color: #2b902e;
  font-size: 1.3rem;
  font-weight: 500;
}

@media  only screen and (max-width:767px)  {
.parts-icon-pdf:before, .parts-icon-doc:before, .parts-icon-xls:before  {
  font-size: inherit;
}
}

.parts-table-ttlc {
  text-align: center;
}

.parts-list-decimal > li {
  list-style: decimal  !important;
}

.parts-list-disc > li {
  list-style: disc;
}

.parts-list-decimal, .parts-list-disc {
  padding-left: 1.5em;
}

td .parts-list-disc {
  padding-left: 1em;
}

.parts-list-none > li {
  list-style: none;
}

.parts-text-indent {
  text-indent: -1em;
  padding-left: 1em;
}

/*--------------------------------------------------

 parts-step-table

--------------------------------------------------*/
.parts_step_table {
  margin: 30px 0 0;
  padding: 15px 25px;
  border-spacing: 0;
}

.parts_step_table th {
  width: 116px;
  height: 111px;
}

.parts_step_table th img {
  padding-bottom: 10px;
}

.parts_step_table td {
  width: calc(100% - 118px);
  padding-left: 20px;
}

.parts_step_table td span {
  font-size: 1.2rem;
  font-weight: 700;
  color: #197a4b;
}

.parts-step-ttl {
  position: relative;
  width: 100%;
  margin: 30px 0 40px 0px;
  padding: 10px 0 10px 0px;
}

.parts-step-ttl .head {
  position: absolute;
  top: 0;
  left: 0;
  width: 116px;
  height: 116px;
  margin-top: -50px;
}

.parts-step-ttl .head:before {
  position: absolute;
  top: 65px;
  left: 60px;
  display: block;
  content: "";
  width: 100px;
  height: 100px;
  margin: -45px 0 0 -52px;
  background-image: linear-gradient(to top, #c1dfc4 0%, #deecdd 100%);
  transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  border-radius: 50%;
}

.parts-step-ttl .head > div {
  position: relative;
  top: 36%;
  width: 100%;
  height: 100%;
  color: #197a4b;
  text-align: center;
}

.parts-step-ttl .head > div > span {
  color: #197a4b;
  font-size: 1.5rem;
  line-height: 1.2;
}

.parts_step_table th.arrow {
  height: 40px;
}

@media  only screen and (max-width:767px)  {
.parts-step-table  {
  margin: 60px 0 0;
}
.parts_step_table th  {
  width: 70px;
  height: 70px;
  vertical-align: top;
}
.parts_step_table th.arrow  {
  vertical-align: top;
  padding-bottom: 1em;
  height: 34px;
}
.parts_step_table td  {
  vertical-align: middle;
}
.parts_step_table td span  {
  font-size: 1rem;
}
.parts-step-ttl  {
  margin: 0 0 0;
  padding: 0;
  width: 100%;
}
.parts-step-ttl .head  {
  top: -40px;
  left: 50%;
  width: 70px;
  height: 70px;
  margin: 0 0 0 -38px;
  font-size: 2.0rem;
}
.parts-step-ttl .head:before  {
  left: 70%;
  top: 85px;
  width: 60px;
  height: 60px;
  margin: -34px 0 0 -41px;
  vertical-align: top;
}
.parts-step-ttl .head > div  {
  top: 80%;
  left: 72%;
  margin: 5px 0 0 -47px;
  font-size: 1.0rem;
}
.parts-step-ttl .head > div > span  {
  font-size: 1rem;
  margin-top: -.2rem;
  display: block;
}
.parts_step_table th img  {
  text-align: center;
  padding-right: 0;
  padding-bottom: 1em;
  margin-right: 0;
}
}

/*--------------------------------------------------

 parts-caution-block

--------------------------------------------------*/
.parts-caution-block {
  background: #fff6f6;
  border: 4px solid #ffcaca;
  padding: 16px 24px;
  margin: 32px 0;
  border-radius: 8px;
}

.parts-caution-block .parts-coution-ttl {
  background: url(../img/pc/page/tit_caution.png) 0 0 no-repeat;
  background-size: 40px auto;
  padding: 5px 0 10px 50px;
  border-bottom: 1px solid #D04444;
  font-weight: 700;
  color: #D04444;
  margin-top: 0;
}

@media  only screen and (max-width:767px)  {
.parts-caution-block  {
  padding: 15px 15px 0;
}
.parts-caution-block .parts-coution-ttl  {
  padding-left: 40px;
  background-size: 35px auto;
}
}

/*--------------------------------------------------

 parts-bg-gray

--------------------------------------------------*/
.parts-bg-gray {
  background: #f8f8fa;
  border: 4px solid #d0d2d2;
  padding: 16px 24px;
  margin: 32px 0;
  border-radius: 8px;
}

@media  only screen and (max-width:767px)  {
.parts-bg-gray  {
  padding: 15px 15px 0;
  margin: 20px 0;
}
}

/*--------------------------------------------------

 parts-anc-position

--------------------------------------------------*/
@media  only screen and (max-width:767px)  {
.parts-anc-position  {
  overflow: hidden;
  margin-top: -60px;
  padding-top: 60px;
}
}

/*--------------------------------------------------

 parts-serch-keyword

--------------------------------------------------*/
.parts-serch-keyword {
  padding: 20px 15px;
  border: var(--primary-color) solid 1px;
  background-color: #fbfdf5;
}

.parts-serch-keyword .left-box {
  float: left;
}

.parts-serch-keyword .ttl {
  margin-top: 5px;
  color: var(--primary-color);
  font-weight: 700;
  font-size: 1.8rem;
}

.parts-serch-keyword .right-box {
  margin-left: 180px;
}

.parts-serch-keyword .right-box form {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  width: 100%;
  padding-right: 150px;
}

.parts-serch-keyword .right-box input[type=text] {
  width: 100%;
  display: block;
  margin: 0;
  padding: 8px 10px;
  background: #fff;
  border: var(--primary-color) solid 1px;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.parts-serch-keyword .right-box button {
  position: absolute;
  top: 0;
  height: 100%;
  right: 0;
  width: 150px;
  display: block;
  padding: 0;
  color: #fff;
  font-weight: 700;
  background: var(--primary-color);
  border: none;
  cursor: pointer;
  outline: none;
  appearance: none;
}

.parts-serch-keyword .right-box button span {
  display: inline-block;
  padding-left: 33px;
  background: url(../img/pc/page/icon_lens02.png) no-repeat left center;
}

@media  only screen and (max-width:767px)  {
.parts-serch-keyword  {
  padding: 0;
}
.parts-serch-keyword .left-box  {
  float: none;
}
.parts-serch-keyword .ttl  {
  margin-top: 0;
  padding: 8px 0;
  font-size: 1.5rem;
  text-align: center;
}
.parts-serch-keyword .right-box  {
  margin-left: 0;
}
.parts-serch-keyword .right-box form  {
  padding: 0 10px;
}
.parts-serch-keyword .right-box input[type=text]  {
  width: 100%;
  margin-bottom: 10px;
  padding: 8px 10px;
}
.parts-serch-keyword .right-box .in-btn  {
  margin: 0 -10px;
}
.parts-serch-keyword .right-box button  {
  position: static;
  height: auto;
  width: 100%;
  padding: 0;
}
.parts-serch-keyword .right-box button span  {
  display: inline-block;
  padding: 10px 0 10px 33px;
  font-size: 1.5rem;
}
}

/*--------------------------------------------------

 part-tag-box

--------------------------------------------------*/
.part-tag-box {
  margin: 0;
  padding: 7px;
  background-color: #f6f6f6;
  display: flex;
  flex-wrap: wrap;
}

.part-tag-box li {
  display: inline-flex;
  list-style: none;
  padding: 0;
  margin: 6px;
  box-sizing: border-box;
  flex-basis: calc((100% - 36px) / 3);
  background-color: #fff;
  box-shadow: 0 0 3px rgba(150, 150, 150, 0.4);
}

.part-tag-box li a {
  padding: 12px;
  display: block;
  width: 100%;
}

.part-tag-box li a:hover {
  text-decoration: none;
  opacity: 0.6;
}

@media  only screen and (max-width:767px)  {
.part-tag-box  {
  padding: 6px;
  display: flex;
  flex-wrap: wrap;
}
.part-tag-box li  {
  flex-basis: calc((100% - 24px) / 2);
  max-width: calc((100% - 20px) / 2);
  display: inline-flex;
  background-color: #fff;
  margin: 6px;
}
.part-tag-box li a  {
  padding: 8px;
}
}

/*--------------------------------------------------

 parts-ranking-list01

--------------------------------------------------*/
.parts-ranking-list01 {
  padding: 0;
  border-top: none;
  background-color: #fff;
  margin-top: 0;
}

.parts-ranking-list01 li {
  padding: 0 5px;
  list-style: none;
}

.parts-ranking-list01 li a {
  position: relative;
  display: block;
  padding: 45px 7px 10px;
  color: #389ee3;
  font-size: 1.4rem;
  line-height: 1.5;
  border-bottom: #f6f6f6 solid 1px;
  text-decoration: none;
}

.parts-ranking-list01 tr:last-child a {
  border-bottom: none;
}

.parts-ranking-list01 li a:before {
  position: absolute;
  top: 8px;
  left: 2px;
  display: block;
  content: "";
  width: 48px;
  height: 28px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

.parts-ranking-list01 li:nth-child(1) a:before {
  background-image: url(../img/pc/page/icon_crown01.png);
}

.parts-ranking-list01 li:nth-child(2) a:before {
  background-image: url(../img/pc/page/icon_crown02.png);
}

.parts-ranking-list01 li:nth-child(3) a:before {
  background-image: url(../img/pc/page/icon_crown03.png);
}

.parts-ranking-list01 li:nth-child(4) a:before {
  background-image: url(../img/pc/page/icon_crown04.png);
}

.parts-ranking-list01 li:nth-child(5) a:before {
  background-image: url(../img/pc/page/icon_crown05.png);
}

.parts-ranking-list01 li:nth-child(6) a:before {
  background-image: url(../img/pc/page/icon_crown06.png);
}

.parts-ranking-list01 li:nth-child(7) a:before {
  background-image: url(../img/pc/page/icon_crown07.png);
}

.parts-ranking-list01 li:nth-child(8) a:before {
  background-image: url(../img/pc/page/icon_crown08.png);
}

.parts-ranking-list01 li:nth-child(9) a:before {
  background-image: url(../img/pc/page/icon_crown09.png);
}

.parts-ranking-list01 li:nth-child(10) a:before {
  background-image: url(../img/pc/page/icon_crown10.png);
}

@media  only screen and (max-width:767px)  {
.parts-ranking-list01  {
  margin-top: 5px;
  border: #f6f6f6 solid 5px;
}
.parts-ranking-list01 li a  {
  font-size: 1.1rem;
}
}

/*--------------------------------------------------

 important icon css

--------------------------------------------------*/
div#newsArticleBody span .important {
  margin-right: 10px;
  padding: 5px 8px;
  color: #fff;
  font-size: 1.2rem;
  background-color: #FF0000;
  vertical-align: middle;
}

@media  only screen and (max-width:767px)  {
div#newsArticleBody span .important  {
  margin-right: 10px;
  padding: 2px 8px;
  color: #fff;
  font-size: 1.2rem;
  background-color: #FF0000;
  vertical-align: middle;
}
}

/*--------------------------------------------------

 parts-index-list

--------------------------------------------------*/
.parts-index-list ul {
  padding: 0;
}

.parts-index-list li {
  list-style: none;
  border-bottom: #dfdddd dotted 1px;
  padding: 18px 0;
}

.parts-index-list li a {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 18px 0;
  color: #535353;
  text-decoration: none;
}

.parts-index-list li .date {
  width: 180px;
  font-size: 14px;
  line-height: 1.4;
  color: #535353;
  display: table-cell;
  vertical-align: middle;
}

.parts-index-list li .date img {
  padding: 4px 10px;
}

.parts-index-list li .date .new {
  margin-left: 10px;
  padding: 5px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  background-color: #ff7b26;
  line-height: 1;
}

.parts-index-list li .ttl {
  font-size: 1.6rem;
  line-height: 1.4;
  display: table-cell;
}

.parts-index-list li .ttl a:hover {
  text-decoration: underline;
}

.parts-index-list li .ttl img {
  vertical-align: middle;
}

.parts-index-list li .ttl .new {
  margin-left: 10px;
  padding: 5px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  background-color: #ff7b26;
  line-height: 1;
}

.parts-index-list li .ttl .important {
  margin-right: 10px;
  padding: 5px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  background-color: #FF0000;
  line-height: 1;
}

.parts-index-list li .in-ttl .important {
  margin-right: 10px;
  padding: 5px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  background-color: #FF0000;
  line-height: 1;
}

@media  only screen and (max-width:767px)  {
.parts-index-list li a  {
  padding: 12px 0 5px;
}
.parts-index-list li .date  {
  width: 180px;
  font-size: 14px;
  display: block;
  vertical-align: middle;
}
.parts-index-list li .date img  {
  padding: 4px 10px;
}
.parts-index-list li .date .new  {
  margin-left: 10px;
  padding: 2px 5px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  background-color: #ff7b26;
  line-height: 1;
}
.parts-index-list li .ttl  {
  font-size: 1.6rem;
  line-height: 1.4;
  display: block;
  margin: 10px 0 0 0;
}
.parts-index-list li .ttl a:hover  {
  text-decoration: underline;
}
.parts-index-list li .ttl img  {
  vertical-align: middle;
}
.parts-index-list li .ttl .new  {
  margin-left: 10px;
  padding: 2px 5px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  background-color: #ff7b26;
  line-height: 1;
}
.parts-index-list li .ttl .important  {
  margin-right: 10px;
  padding: 2px 5px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  background-color: #FF0000;
  line-height: 1;
}
.parts-index-list li .in-ttl .important  {
  margin-right: 10px;
  padding: 2px 5px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  background-color: #FF0000;
  line-height: 1;
}
}

/*--------------------------------------------------

 parts-side-index

--------------------------------------------------*/
.side-area .widget-box .ttl a {
  color: #fff;
}

.parts-side-index {
  padding: 0;
  background-color: #f6f6f6;
}

.parts-side-index ul {
  padding: 0;
}

.parts-side-index li {
  list-style: none;
  padding: 13px 10px 20px;
}

.parts-side-index li + li {
  border-top: #dfdddd solid 1px;
}

.parts-side-index li a {
  display: block;
  width: 100%;
  text-decoration: none;
}

.parts-side-index li a:hover .in-ttl {
  text-decoration: underline;
}

.parts-side-index li a > * {
  display: block;
}

.parts-side-index li .date {
  display: block;
  margin-bottom: 5px;
  color: #535353;
  font-size: 1.4rem;
  font-weight: 700;
}

.parts-side-index li .date span {
  display: inline-block;
  vertical-align: middle;
}

.parts-side-index li .date .new {
  margin-left: 10px;
  padding: 5px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  background-color: #ff7b26;
  line-height: 1;
}

.parts-side-index li .date .important {
  margin-left: 10px;
  padding: 5px 8px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  background-color: #FF0000;
  line-height: 1;
}

.parts-side-index li .in-ttl {
  color: #0000ff;
  font-weight: 700;
  background-color: transparent;
  line-height: 1.4;
}

@media  only screen and (max-width:767px)  {
.parts-side-index li  {
  list-style: none;
  padding: 13px 10px 10px;
}
.parts-side-index li a  {
  position: relative;
  display: block;
}
.parts-side-index li a > *  {
  display: block;
}
.parts-side-index li .date  {
  width: auto;
  margin-bottom: 5px;
  font-size: 14px;
}
.parts-side-index li .date .new  {
  padding: 3px 5px;
  font-size: 12px;
}
.parts-side-index li .date .important  {
  margin-right: 10px;
  padding: 3px 8px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  background-color: #FF0000;
  line-height: 1;
}
.parts-side-index li .in-ttl  {
  font-size: 14px;
}
}

/*--------------------------------------------------

 parts-entry-area

--------------------------------------------------*/
.parts-entry-area .date span {
  display: inline-block;
  vertical-align: middle;
}

.parts-entry-area .date .new {
  margin-left: 15px;
  padding: 4px 7px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  background-color: #ff7b26;
  line-height: 1;
}

.parts-entry-area .title {
  margin-bottom: 30px;
  font-size: 1.8rem;
  font-weight: 700;
}

.parts-entry-area .body:after {
  display: block;
  clear: both;
  height: 0;
  content: "";
}

.parts-entry-area .body p {
  margin-bottom: 1.8em;
}

@media  only screen and (max-width:767px)  {
.parts-entry-area .date .new  {
  margin-left: 10px;
  padding: 3px 5px;
  font-size: 1.2rem;
}
.parts-entry-area .title  {
  margin-bottom: 15px;
  font-size: 1.4rem;
}
}

/*--------------------------------------------------

 parts-table-arrow

--------------------------------------------------*/
.parts-table-arrow {
  display: flex;
}

.parts-table-arrow:after {
  display: block;
  clear: both;
  height: 0;
  content: "";
}

.parts-table-arrow .in-left, .parts-table-arrow .in-right {
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  float: left;
}

.parts-table-arrow .in-table {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: table;
  width: 100%;
  height: 100%;
}

.parts-table-arrow .in-table > * {
  display: table-cell;
  vertical-align: middle;
}

.parts-table-arrow .in-layout {
  padding: 12px 16px;
  background-color: #fbfdf5;
  border: #d0efc7 solid 2px;
  border-radius:4px;
}

.parts-table-arrow .in-layout dt {
  color: #fff;
  text-align: center;
}

.parts-table-arrow .in-layout dt > span {
  position: relative;
  width: 80px;
  height: 80px;
  display: block;
  line-height: 1;
}

.parts-table-arrow .in-layout dt > span:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, #1fb102, #007508);
  transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  border-radius: 50%;
}

.parts-table-arrow .in-layout dt > span > span {
  position: relative;
  top: 50%;
  display: block;
  transform: translateY(-50%);
  z-index: 2;
}

.parts-table-arrow .in-layout dt span big {
  display: block;
  font-size: 30px;
}

.parts-table-arrow .in-layout dd {
  padding-left: 30px;
}

.parts-table-arrow .in-left {
  width: 60%;
  padding-right: 30px;
}

.parts-table-arrow .in-left:before {
  position: absolute;
  top: 50%;
  right: 10px;
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  margin-top: -10px;
  transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  border-right: #acaaa9 solid 3px;
  border-top: #acaaa9 solid 3px;
}

.parts-table-arrow .in-right {
  width: 40%;
  padding: 12px 16px;
  background-color: #eaeaea;
  border: #d0d2d2 solid 2px;
  border-radius:4px;
}

@media  only screen and (max-width:767px)  {
.parts-table-arrow  {
  display: block;
}
.parts-table-arrow .in-left, .parts-table-arrow .in-right  {
  float: none;
}
.parts-table-arrow .in-table, .parts-table-arrow .in-table > *  {
  display: block;
}
.parts-table-arrow .in-layout  {
  position: relative;
  padding: 35px 10px 10px;
  border-width: 1px;
}
.parts-table-arrow .in-layout dt  {
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -30px;
  text-align: center;
}
.parts-table-arrow .in-layout dt > span  {
  width: 60px;
  height: 60px;
}
.parts-table-arrow .in-layout dt span big  {
  font-size: 24px;
}
.parts-table-arrow .in-layout dd  {
  padding-left: 0;
  text-align: center;
}
.parts-table-arrow .in-left  {
  width: auto;
  padding: 30px 0 20px;
}
.parts-table-arrow .in-left:before  {
  top: auto;
  right: auto;
  left: 50%;
  bottom: 12px;
  width: 14px;
  height: 14px;
  margin: 0 0 0 -7px;
  transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  border-right: #acaaa9 solid 3px;
  border-top: #acaaa9 solid 3px;
}
.parts-table-arrow .in-right  {
  width: auto;
  padding: 10px;
  border-width: 1px;
  text-align: center;
}
}

/*--------------------------------------------------

 #mapCanvas

--------------------------------------------------*/
#mapCanvas {
  width: 100%;
  height: 500px;
  margin-bottom: 20px;
}

#mapCanvas {
  width: 100%;
  height: 500px;
  margin-bottom: 20px;
}

.google-map {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 65%;
  overflow: hidden;
}

.google-map iframe, .google-map object, .google-map embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media  only screen and (max-width:767px)  {
.google-map  {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  overflow: hidden;
}
.google-map iframe, .google-map object, .google-map embed  {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
}

/*--------------------------------------------------

 #付加給付　図用

--------------------------------------------------*/
/*--table-cell--*/
.benefit-schematic_wrap02 {
  display: table;
  width: 100%;
  margin-bottom: 1em;
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
}

ul.benefit-schematic_wrap02 {
  padding-left: 0;
}

.benefit-schematic_wrap02_td {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.benefit-schematic_wrap02 span.red {
  color: #D04444;
}

/*--padding大　青・白字--*/
.benefit-schematic01 {
  color: #FFF;
  background: radial-gradient(circle, #237ce1, #0751a6);
  padding: 30px 20px;
  font-weight: 700;
}

/*--padding小　青・白字--*/
.benefit-schematic01_s {
  color: #FFF;
  background: radial-gradient(circle, #237ce1, #0751a6);
  padding: 10px;
  font-weight: 700;
}

/*--padding大　水色・黒字--*/
.benefit-schematic02 {
  background-color: #b9d5f2;
  padding: 30px 20px;
  font-weight: 700;
}

/*--padding小　水色・黒字--*/
.benefit-schematic02_s {
  background-color: #b9d5f2;
  padding: 10px;
  font-weight: 700;
}

/*--padding大　グレー枠・白box--*/
.benefit-schematic03 {
  background-color: #fff;
  border: 4px solid #d4d4d4;
  padding: 32px 16px;
  font-weight: 700;
}

/*--padding小　グレー枠・白box--*/
.benefit-schematic03_s {
  background-color: #fff;
  border: 3px solid #d4d4d4;
  padding: 10px;
  font-weight: 700;
}

/*--出産手当金　図--*/
.benefit-schematic05 {
  color: #FFF;
  background: radial-gradient(circle, #237ce1, #0751a6);
  padding: 10px;
  font-weight: 700;
  border-left: 2px dotted #fff;
}

.benefit-schematic06 {
  color: #FFF;
  background: radial-gradient(circle, #237ce1, #0751a6);
  padding: 10px;
  font-weight: 700;
  border-right: 2px dotted #fff;
}

@media  only screen and (max-width:767px)  {
.benefit-schematic01, .benefit-schematic02, .benefit-schematic03  {
  padding: 10px;
}
.benefit-schematic05, .benefit-schematic06  {
}
}

/*--付加金あり「＋」--*/
.benefit-schematic04 {
  font-size: 6rem;
  font-weight: 700;
  text-align: center;
  color: #D04444;
}

@media  only screen and (max-width:767px)  {
.benefit-schematic_wrap02  {
  font-size: .875rem;
  margin-top: 0;
}
.benefit-schematic04  {
  font-size: 1.5rem;
}
}

/*---グレー囲み注　文字普通---*/
.box_gray {
  background-color: #f5f5f5;
  padding: 24px;
  margin-bottom: 1em;
}

.box_gray .parts-title-04 {
  color: #2874C8;
}

.box_gray .parts-title-04::after {
  background-color: #2874C8;
}

.box_gray .parts-note-list li {
  font-size: 1rem;
  padding-left: 1em;
  text-indent: -1em;
  margin-left: 1em;
}

@media  only screen and (max-width:767px)  {
.box_gray  {
  padding: 10px;
}
.box_gray .parts-title-04  {
  font-size: 1rem;
}
.box_gray .parts-title-04::after  {
}
.box_gray .parts-note-list  {
  font-size: 1.0rem;
}
.box_gray .parts-note-list li  {
  font-size: .813rem;
}
}

/*---付加金なし赤枠・赤字---*/
.benefit_singlebox_red {
  padding: 16px;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  border: 4px solid #D04444;
  margin-bottom: 1em;
}

.benefit_singlebox_red span {
  color: #D04444;
}

@media  only screen and (max-width:767px)  {
.benefit_singlebox_red  {
  font-size: .875rem;
}
}

/*---給付図　tableレイアウト---*/
.parts-table-benefit01 {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  border-top: #ddd solid 1px;
  border-left: #ddd solid 1px;
  margin-top: 1em;
  margin-bottom: 1em;
}

.parts-table-benefit01 th, .parts-table-benefit01 td {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: middle;
  border-bottom: #ddd solid 1px;
  border-right: #ddd solid 1px;
}

.parts-table-benefit01 th {
  padding: 10px 20px;
  color: #fff;
  font-weight: 700;
  text-align: center;
  font-size: 1.25rem;
  background: radial-gradient(circle, #237ce1, #0751a6);
  line-height: 1.4;
}

.parts-table-benefit01 td {
  padding: 20px;
  font-weight: 700;
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.4;
}

.parts-table-benefit01 td span {
  color: #2874C8;
}

.parts-table-benefit01 td span.red {
  color: #D04444;
}

@media  only screen and (max-width:767px)  {
.parts-table-benefit01 th, .parts-table-benefit01 td  {
  padding: 6px;
  font-size: 1em;
}
}

/*-------自己負担限度額　表（padding小）----------*/
.parts-table-05 {
  width: 100%;
  margin: 15px 0 20px;
  border-left: 1px solid #d0dafd;
  border-top: 1px solid #d0dafd;
  margin-bottom: 1rem;
}

.parts-table-05 th, .parts-table-05 td {
  border-bottom: 1px solid #d0dafd;
  border-right: 1px solid #d0dafd;
}

.parts-table-05 th {
  background-color: #e2f0f3;
  font-weight: 700;
  padding: 6px;
  vertical-align: middle;
  line-height: 1.3;
  color: #273e72;
}

.parts-table-05 td {
  padding: 6px;
  background-color: #fff;
}

.parts-table-05 td ul {
  margin: 0;
}

.parts-table-05 ul li {
  list-style: none;
}

.parts-table-05 ul.parts-list-disc li {
  list-style: disc;
  margin-left: 1em;
}

@media  only screen and (max-width:767px)  {
.parts-table-05 th, .parts-table-05 td  {
  font-size: .875rem;
}
}

/*---幅指定汎用---*/
.w05, th.w05, .td.w05 {
  width: 5%
;
}

.w10, th.w10, .td.w10 {
  width: 10%
;
}

.w15, th.w15, .td.w15 {
  width: 15%
;
}

.w20, th.w20, .td.w20 {
  width: 20%
;
}

.w25, th.w25, .td.w25 {
  width: 25%
;
}

.w30, th.w30, .td.w30 {
  width: 30%
;
}

.w35, th.w35, .td.w35 {
  width: 35%
;
}

.w40, th.w40, .td.w40 {
  width: 40%
;
}

.w45, th.w45, .td.w45 {
  width: 45%
;
}

.w50, th.w50, .td.w50 {
  width: 50%
;
}

.w55, th.w55, .td.w55 {
  width: 55%
;
}

.w60, th.w60, .td.w60 {
  width: 60%
;
}

.w65, th.w65, .td.w65 {
  width: 65%
;
}

.w70, th.w70, .td.w70 {
  width: 70%
;
}

.w75, th.w75, .td.w75 {
  width: 75%
;
}

.w80, th.w80, .td.w80 {
  width: 80%
;
}

.w85, th.w85, .td.w85 {
  width: 85%
;
}

.w90, th.w90, .td.w90 {
  width: 90%
;
}

.w95, th.w95, .td.w95 {
  width: 95%
;
}

.w100, th.w100, .td.w100 {
  width: 100%
;
}

/*--------------------------------------------------

 #特定保健指導　階層図

--------------------------------------------------*/
th.step_top {
  vertical-align: top;
}

.flow_box01 {
  background-color: #fff;
  border: 3px solid #d4d4d4;
  padding: 10px;
  text-align: left;
  margin: 1em 0;
}

.parts_step_table td span.flow_font01 {
  color: #333;
  font-weight: 500;
  padding: 0 0.2em;
}

.flow_box02 {
  margin: 1em;
  text-align: center;
}

@media  only screen and (max-width:767px)  {
.flow_box01  {
  font-size: 1.2rem;
}
.parts_step_table td span.flow_font01  {
  color: #333;
  font-size: 1.4rem;
  font-weight: 500;
  padding: 0 0.2em;
}
}

/*--------------------------------------------------

 #退職した後は　図

--------------------------------------------------*/
.parts-table-retire01 {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  margin-top: 1em;
  margin-bottom: 1em;
  border-collapse: separate;
  border-spacing: 5px;
}

.parts-table-retire01 th, .parts-table-retire01 td {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: middle;
}

.parts-table-retire01 th {
  padding: 6px;
  color: #fff;
  font-weight: 700;
  text-align: center;
  font-size: 1.2rem;
  background: radial-gradient(circle, #237ce1, #0751a6);
  line-height: 1.4;
}

.parts-table-retire01 td {
  padding: 6px;
  font-weight: 500;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.4;
}

.parts-table-retire01 td.cell-border {
  border: 3px solid #d4d4d4;
  background-color: #fff;
}

.parts-table-retire01 td span {
}

.parts-table-retire01 td span.red {
  color: #D04444;
}

/*--縦書き--*/
.vertical {
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  display: inline-block;
  min-height: 6em;
  line-height: 1.2;
}

.arrow_bule {
  font-size: 4rem;
  font-weight: 500;
  text-align: center;
  color: #2874C8;
}

/*--赤・白字--*/
.parts-retire_box {
  font-size: 1.2rem;
  color: #FFF;
  background: radial-gradient(circle, #cf1515, #d80e0e);
  padding: 10px;
  font-weight: 700;
}

/*--padding小　グレー枠・白box--*/
.parts-retire_box02 {
  background-color: #fff;
  border: 3px solid #d4d4d4;
  padding: 10px;
}

.parts-retire_box02 div {
  text-align: left;
  margin-left: 2em;
  text-indent: -1.75em;
}

div.triangle {
  width: 0;
  height: 0;
  margin: 0 auto;
  border-top: 10px solid transparent;
  border-left: 15px solid #6d9dcf;
  border-bottom: 10px solid transparent;
}

@media  only screen and (max-width:767px)  {
.parts-table-retire01 th, .parts-table-retire01 td, .parts-retire_box  {
  padding: 4px;
  font-size: .875rem;
}
div.triangle  {
  border-top: 5px solid transparent;
  border-left: 7px solid #6d9dcf;
  border-bottom: 5px solid transparent;
}
.vertical  {
  line-height: 1;
  width: 2em;
  display: flex;
  justify-content: center;
  align-items: center;
}
}

/*--------------------------------------------------

 parts-table-06　保険給付一覧

--------------------------------------------------*/
.parts-table-06 {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  border-collapse: collapse;
  border-top: #d0dafd solid 1px;
  border-left: #d0dafd solid 1px;
  margin-bottom: 1rem;
}

.parts-table-06 th, .parts-table-06 td {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-collapse: collapse;
  vertical-align: top;
  border-bottom: #d0dafd solid 1px;
  border-right: #d0dafd solid 1px;
}

.parts-table-06 th {
  padding: 13px;
  background-color: #e2f0f3;
  line-height: 1.3;
  color: #273e72;
}

.parts-table-06 td {
  padding: 13px;
  background-color: #fff;
}

@media  only screen and (max-width:767px)  {
table.parts-table-06  {
  border-right: #ddd solid 1px;
  border-bottom: #ddd solid 1px;
}
table.parts-table-06 thead  {
  letter-spacing: -0.4em;
}
table.parts-table-06 thead th:first-child  {
  display: block;
  width: 100%;
  border-left: none;
  border-right: none;
  border-bottom: #ddd solid 1px;
}
table.parts-table-06 thead th  {
  display: inline-block;
  letter-spacing: normal;
  width: 50%;
  text-align: center;
  border-left: none;
  border-right: none;
  border-bottom: none;
}
table.parts-table-06 thead th + th  {
  border-right: #ddd solid 1px;
}
table.parts-table-06 thead th:last-child  {
  border-right: none;
}
table.parts-table-06 tbody  {
  letter-spacing: -0.4em;
}
table.parts-table-06 tbody th  {
  display: block;
  letter-spacing: normal;
  width: 100%;
  border-top: #ddd solid 1px;
  border-left: none;
  border-right: none;
}
table.parts-table-06 tbody td  {
  display: inline-block;
  letter-spacing: normal;
  width: 49.9%;
  border-bottom: none;
  border-left: none;
}
table.parts-table-06 tbody td + td  {
  border-right: none;
  border-bottom: none;
  border-left: #ddd solid 1px;
  margin-left: -1px;
}
}

/*--------------------------------------------------*/
/*--td内p,ulの間隔調整--*/
table td > p:last-child, table td > ul:last-child {
  margin-bottom: 0;
}

/*--------------------------------------------------*/
.mynumberQA dt{
  margin-top: 1.5rem;
  padding-left: 2em;
  text-indent: -2em;
}

.mynumberQA dd{
  padding-left: 2em;
  text-indent: -2em;
}

/*--------------------------------------------------

 parts-point-list2

--------------------------------------------------*/
.parts-point-list2 {
  position: relative;
}

.parts-point-list2 .head {
  position: absolute;
}

.parts-point-list2 .head:before {
  display: block;
  content: "";
  background-color: var(--primary-color);
  transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  box-shadow: 0px 0px 0px 6px var(--primary-color);
  padding: 10px;
}

.parts-point-list2 .head > div {
  position: relative;
  display: table;
  width: 100%;
  height: 100%;
}

.parts-point-list2 .head > div > span {
  display: table-cell;
  text-align: center;
  color: #fff;
  font-size: 1.5rem;
  vertical-align: middle;
  font-weight: 700;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, serif;
}

.parts-point-list2 .list-tb {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #e8e8e8;
}

.parts-point-list2 .list-cell {
  vertical-align: middle;
}

.parts-point-list2 ul {
  margin: 0;
  padding: 0;
}

.parts-point-list2 li {
  position: relative;
  margin: 0;
  list-style: none;
  color: #000;
  font-weight: 700;
}

.parts-point-list2 li:before {
  position: absolute;
  left: 0;
  display: block;
  content: "";
  background: url(../img/pc/page/icon_check.png) no-repeat center center;
}

.parts-point-list2 li + li {
  margin-top: 15px;
}

.parts-point-list2 {
  margin: 60px 0 40px;
  padding: 0;
}

.parts-point-list2 .head {
  top: -1.6rem;
  left: 0;
  width: 8rem;
  height: 2.2rem;
  margin: 0;
}

.parts-point-list2 .head:before {
  width: 8rem;
  height: 2.4rem;
  margin: 0;
  position: absolute;
  top:  0;
  left: 0;
  transform: none;
  -ms-transform: none;
  -webkit-transform: none;
  -moz-transform: none;
}

.parts-point-list .head > div > span {
}

.parts-point-list2 .list-tb {
  display: block;
  height: auto;
  padding: 40px 20px 18px 20px;
  margin-left: 0;
}

.parts-point-list2 .list-cell {
  display: block;
}

.parts-point-list2 li {
  padding: 0 0 0 25px;
}

.parts-point-list2 li:before {
  top: 5px;
  width: 1em;
  height: 1em;
  background-size: 100% auto;
}

.parts-point-list2 li + li {
  margin-top: 10px;
}

/*--------------------------------------------------

 woman support

--------------------------------------------------*/
.imagesetTxt_left{
  display: flex;
  flex-flow: row;
  align-items: center;
}

.imagesetTxt_left img{
  width: 12%;
  margin-right: 1rem;
}

@media  only screen and (max-width:767px)  {
.imagesetTxt_left img {
  width: 35%;
  max-width: 120px;
}
}

/*--------------------------------------------------

 woman health support

--------------------------------------------------*/
.imagesetTxt_left_large{
  display: flex;
  flex-flow: row;
  align-items: center;
}

.imagesetTxt_left_large img{
  width: 20%;
  margin-right: 1rem;
}

@media  only screen and (max-width:767px)  {
.imagesetTxt_left_large img {
  width: 35%;
  max-width: 120px;
}
}
.dentalTbl img{
	width:68px;
}
/*申請書*/
    :root {
      --bg: #ffffff;
      --ink: #1f2937;      /* slate-800 */
      --muted: #6b7280;    /* slate-500 */
      --line: #e5e7eb;     /* slate-200 */
      --accent: #0ea5e9;   /* sky-500 */
      --accent-bg: #e0f2fe;/* sky-100 */
      --btn: #111827;      /* gray-900 */
    }

    .title { font-weight: 600; line-height: 1.4; }
    .subtitle { color: #CC0000; font-size: 12px; margin-top: 2px; }

    .actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
    .btn { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line); background: #fff; color: var(--btn); padding: 8px 10px; border-radius: 10px; text-decoration: none; font-weight: 600; font-size: 14px; }
    .btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

    .btn.input { background: var(--accent-bg); border-color: transparent; }

    .info-btn { border: none; background: transparent; color: var(--muted); padding: 6px; border-radius: 8px; }
    .info-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

    /* Popover (click to toggle) */
    .pop { position: relative; }
    .pop-panel { position: absolute; right: 0; top: calc(100% + 8px); min-width: 300px; max-width: min(80vw, 300px); background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.08); padding: 12px; font-size: 13px; line-height: 1.5; display: none; z-index: 20; }
    .pop-panel[data-open="true"] { display: block; }
    .pop-panel b { display: inline-block; margin-bottom: 6px; }

    /* Small screens */
    @media (max-width: 640px) {
      .row { grid-template-columns: 1fr; }
      .actions { justify-content: flex-start; }
    }
.text-danger  {
  color: #ff0000 !important;
}
.functionBox input,
.answerBox input{
	width:70%;
	display:block;
	padding:1.5em;
	margin:0.5em auto;
}
input.backBtn{
	width:60%;
	display:block;
	padding:1em;
	margin:1.5em auto 0.5em auto;
}
input.closeBtn{
	width:60%;
	display:block;
	padding:1em;
	margin:1.5em auto 0.5em auto;
}

.boxBK .sBox img{
	display: inline-block;
}
.btn-chart{
	    background-color: #4f81bd;
    width: 15em;
    border-radius: 8px;
    margin-bottom: 10px;
}
.btn-chart a{
	    color: #fff;
    display: block;
    padding: 10px 0 10px 15px;
    text-decoration: none;
    font-weight: 600;
}

.bApplication .on25 .box02,
.bApplication .on23 .box02,
.bApplication .on01 .box02,
.bApplication .on02 .box02,
.bApplication .on04 .box02,
.bApplication .on05 .box02,
.bApplication .on06 .box02,
.bApplication .on07 .box02,
.bApplication .on08 .box02,
.bApplication .on09 .box02,
.bApplication .on10 .box02,
.bApplication .on11 .box02,
.bApplication .on16 .box02,
.bApplication .on03 .box02,
.bApplication .on19 .box02,
.bApplication .on20 .box02,
.bApplication .on22 .box02,
.bApplication .on34 .box02,
.bApplication .on24 .box02,
.bApplication .on17 .box02,
.bApplication .on18 .box02,
.bApplication .on21 .box02,
.bApplication .on28 .box02,
.bApplication .on29 .box02,
.bApplication .on30 .box02,
.bApplication .on31 .box02,
.bApplication .on32 .box02,
.bApplication .on33 .box02{
	display: none;	
}
.bApplication .on25 li.box01,
.bApplication .on23 li.box01,
.bApplication .on01 li.box01,
.bApplication .on02 li.box01,
.bApplication .on14 li.box01,
.bApplication .on13 li.box01,
.bApplication .on12 li.box01,
.bApplication .on11 li.box01,
.bApplication .on16 li.box01,
.bApplication .on03 li.box01,
.bApplication .on19 li.box01,
.bApplication .on20 li.box01,
.bApplication .on22 li.box01,
.bApplication .on34 li.box01,
.bApplication .on24 li.box01,
.bApplication .on17 li.box01,
.bApplication .on18 li.box01,
.bApplication .on21 li.box01,
.bApplication .on28 li.box01,
.bApplication .on29 li.box01,
.bApplication .on30 li.box01,
.bApplication .on31 li.box01,
.bApplication .on32 li.box01,
.bApplication .on33 li.box01{
	display: none;	
}
.bApplication .on25 li.on34,
.bApplication .on23 li.on34,
.bApplication .on01 li.on34,
.bApplication .on02 li.on34,
.bApplication .on04 li.on34,
.bApplication .on05 li.on34,
.bApplication .on06 li.on34,
.bApplication .on07 li.on34,
.bApplication .on08 li.on34,
.bApplication .on09 li.on34,
.bApplication .on10 li.on34,
.bApplication .on14 li.on34,
.bApplication .on13 li.on34,
.bApplication .on12 li.on34,
.bApplication .on11 li.on34,
.bApplication .on16 li.on34,
.bApplication .on03 li.on34,
.bApplication .on19 li.on34,
.bApplication .on20 li.on34,
.bApplication .on24 li.on34,
.bApplication .on17 li.on34,
.bApplication .on18 li.on34,
.bApplication .on21 li.on34,
.bApplication .on28 li.on34,
.bApplication .on29 li.on34,
.bApplication .on30 li.on34,
.bApplication .on31 li.on34,
.bApplication .on32 li.on34,
.bApplication .on33 li.on34{
	display: none;	
}

.bBenefit .on04 li.box01,
.bBenefit .on05 li.box01,
.bBenefit .on06 li.box01,
.bBenefit .on07 li.box01,
.bBenefit .on08 li.box01,
.bBenefit .on09 li.box01,
.bBenefit .on10 li.box01,
.bBenefit .on11 li.box01,
.bBenefit .on12 li.box01,
.bBenefit .on13 li.box01,
.bBenefit .on14 li.box01,
.bBenefit .on15 li.box01,
.bBenefit .on16 li.box01,
.bBenefit .on17 li.box01,
.bBenefit .on18 li.box01,
.bBenefit .on19 li.box01{
	display: none;	
}

.bBenefit .on01 li.box02,
.bBenefit .on02 li.box02,
.bBenefit .on03 li.box02,
.bBenefit .on04 li.box02,
.bBenefit .on11 li.box02,
.bBenefit .on12 li.box02,
.bBenefit .on13 li.box02,
.bBenefit .on14 li.box02,
.bBenefit .on15 li.box02,
.bBenefit .on16 li.box02,
.bBenefit .on17 li.box02,
.bBenefit .on18 li.box02,
.bBenefit .on19 li.box02{
	display: none;	
}

.bBenefit .on01 li.box03,
.bBenefit .on02 li.box03,
.bBenefit .on03 li.box03,
.bBenefit .on04 li.box03,
.bBenefit .on05 li.box03,
.bBenefit .on06 li.box03,
.bBenefit .on07 li.box03,
.bBenefit .on08 li.box03,
.bBenefit .on09 li.box03,
.bBenefit .on10 li.box03,
.bBenefit .on11 li.box03,
.bBenefit .on12 li.box03,
.bBenefit .on14 li.box03,
.bBenefit .on15 li.box03,
.bBenefit .on16 li.box03,
.bBenefit .on17 li.box03,
.bBenefit .on18 li.box03{
	display: none;	
}

.bOutline .on01 li.box02,
.bOutline .on02 li.box02,
.bOutline .on03 li.box02,
.bOutline .on04 li.box02,
.bOutline .on05 li.box02,
.bOutline .on06 li.box02,
.bOutline .on07 li.box02,
.bOutline .on08 li.box02,
.bOutline .on09 li.box02,
.bOutline .on10 li.box02,
.bOutline .on11 li.box02,
.bOutline .on12 li.box02,
.bOutline .on13 li.box02,
.bOutline .on14 li.box02{
	display: none;	
}


.bOutline .on01 li.box01,
.bOutline .on02 li.box01,
.bOutline .on03 li.box01,
.bOutline .on07 li.box01,
.bOutline .on08 li.box01,
.bOutline .on09 li.box01,
.bOutline .on10 li.box01,
.bOutline .on11 li.box01,
.bOutline .on12 li.box01,
.bOutline .on13 li.box01,
.bOutline .on14 li.box01,
.bOutline .on15 li.box01,
.bOutline .on16 li.box01,
.bOutline .on17 li.box01{
	display: none;	
}

.bInfo .on01 li.box01,
.bInfo .on02 li.box01,
.bInfo .on03 li.box01,
.bInfo .on04 li.box01,
.bInfo .on06 li.box01,
.bInfo .on07 li.box01,
.bInfo .on09 li.box01{
	display: none;	
}
.bResort .on01 li.box01,
.bResort .on02 li.box01,
.bResort .on03 li.box01,
.bResort .on04 li.box01,
.bResort .on05 li.box01,
.bResort .on06 li.box01,
.bResort .on07 li.box01,
.bResort .on08 li.box01,
.bResort .on09 li.box01,
.bResort .on10 li.box01,
.bResort .on14 li.box01{
	display: none;	
}
.bResort .on01 li.box02,
.bResort .on02 li.box02,
.bResort .on09 li.box02,
.bResort .on10 li.box02,
.bResort .on11 li.box02,
.bResort .on12 li.box02,
.bResort .on13 li.box02,
.bResort .on14 li.box02{
	display: none;	
}
