@charset "utf-8";
/* ------------------------------------------------------------------------ */

/*  Parts

/* ------------------------------------------------------------------------ */

/* Layout
--------------------------------------------------------------------------- */

/* --- margin --- */

.auto  { margin-right : auto; margin-left : auto;}

.mt-0   { margin-top	: 0 !important;}
.mt-5   { margin-top	: 5px !important;}
.mt-10  { margin-top	: 10px !important;}
.mt-15  { margin-top	: 15px !important;}
.mt-20  { margin-top	: 20px !important;}
.mt-25  { margin-top	: 25px !important;}
.mt-30  { margin-top	: 30px !important;}
.mt-35  { margin-top	: 35px !important;}
.mt-40  { margin-top	: 40px !important;}
.mt-45  { margin-top	: 45px !important;}
.mt-50  { margin-top	: 50px !important;}

.mr-0   { margin-right : 0 !important;}
.mr-5   { margin-right : 5px !important;}
.mr-10  { margin-right : 10px !important;}
.mr-15  { margin-right : 15px !important;}
.mr-20  { margin-right : 20px !important;}
.mr-25  { margin-right : 25px !important;}
.mr-30  { margin-right : 30px !important;}
.mr-35  { margin-right : 35px !important;}
.mr-40  { margin-right : 40px !important;}
.mr-45  { margin-right : 45px !important;}
.mr-50  { margin-right : 50px !important;}

.mb-0   { margin-bottom : 0 !important;}
.mb-4   { margin-bottom : 4px !important;}
.mb-5   { margin-bottom : 5px !important;}
.mb-10  { margin-bottom : 10px !important;}
.mb-15  { margin-bottom : 15px !important;}
.mb-20  { margin-bottom : 20px !important;}
.mb-25  { margin-bottom : 25px !important;}
.mb-30  { margin-bottom : 30px !important;}
.mb-35  { margin-bottom : 35px !important;}
.mb-40  { margin-bottom : 40px !important;}
.mb-45  { margin-bottom : 45px !important;}
.mb-50  { margin-bottom : 50px !important;}

.ml-0   { margin-left : 0 !important;}
.ml-5   { margin-left : 5px !important;}
.ml-10  { margin-left : 10px !important;}
.ml-15  { margin-left : 15px !important;}
.ml-20  { margin-left : 20px !important;}
.ml-25  { margin-left : 25px !important;}
.ml-30  { margin-left : 30px !important;}
.ml-35  { margin-left : 35px !important;}
.ml-40  { margin-left : 40px !important;}
.ml-45  { margin-left : 45px !important;}
.ml-50  { margin-left : 50px !important;}

.m0   { margin : 0 !important;}
.m10  { margin : 10px !important;}
.m15  { margin : 15px !important;}
.m20  { margin : 20px !important;}
.m25  { margin : 25px !important;}
.m30  { margin : 30px !important;}
.m35  { margin : 35px !important;}
.m40  { margin : 40px !important;}
.m45  { margin : 45px !important;}
.m50  { margin : 50px !important;}


/* --- padding --- */

.pt-0  { padding-top : 0 !important;}
.pt-5  { padding-top : 5px !important;}
.pt-10 { padding-top : 10px !important;}
.pt-15 { padding-top : 15px !important;}
.pt-20 { padding-top : 20px !important;}

.pr-0  { padding-right : 0 !important;}
.pr-5  { padding-right : 5px !important;}
.pr-10 { padding-right : 10px !important;}
.pr-15 { padding-right : 15px !important;}
.pr-20 { padding-right : 20px !important;}

.pl-0  { padding-left : 0 !important;}
.pl-5  { padding-left : 5px !important;}
.pl-10 { padding-left : 10px !important;}
.pl-15 { padding-left : 15px !important;}
.pl-20 { padding-left : 20px !important;}

.pb-0  { padding-bottom : 0 !important;}
.pb-5  { padding-bottom : 5px !important;}
.pb-10 { padding-bottom : 10px !important;}
.pb-15 { padding-bottom : 15px !important;}
.pb-20 { padding-bottom : 20px !important;}

.p-0   { padding : 0  !important;}
.p-4   { padding : 1.5rem!important;}
.p-5   { padding : 5px !important;}
.p-10  { padding : 10px !important;}
.p-15  { padding : 15px !important;}
.p-20  { padding : 20px !important;}

.w90{
	width: 90%;
}

.nowrap { white-space : nowrap;}

#crumb {
	margin		: 4px 0 8px;
	text-align	: left;
}

	#crumb li {
		display			: inline;
		line-height		: 110%;
		list-style-type	: none;
		font-size		: 85%;
	}

.text-center { text-align : center !important;}
/* --- display --- */

.block	{ display : block;}
.inline { display : inline;}

.fltbox { margin : 0 auto;}
.flt_r  { float : right !important;}
.flt_l  { float : left !important;}

.txt_r { text-align : right !important;}
.txt_c { text-align : center !important;}
.txt_l { text-align : left !important;}

.psn { position : relative;}

.none {
	background	: none !important;
	border		: none !important;
}


.mian-column > :nth-child(2) {
    margin-top: 0 !important;
}
/* .mian-column > :nth-child(2) h2{
    margin-top: 0px !important;
} */
.content_flex .main_content .parts-title-01{
  margin-bottom: 20px;
}

/* image
--------------------------------------------------------------------------- */

img.image	{ border: solid 1px #d9d9d9; padding : 1px; background : #FFF;}

.imgbox	{
	margin		: 0 0 30px;
	_zoom		: 1;
	overflow	: hidden;
}

.imgL { float : left;  margin : 0 10px 5px 0; }
.imgR { float : right; margin : 0 0 5px 10px; }

.imgbox p {
	overflow	: hidden;
	_zoom		: 1;
}


/* table
--------------------------------------------------------------------------- */

.tblStyle01{
	border-collapse		: separate;
	*border-collapse	: collapse;
	border-spacing		: 0;
	empty-cells			: show;
	border-top			: 1px solid #D5D5D5;
	border-right		: none;
	border-bottom		: none;
	border-left			: 1px solid #D5D5D5;
	margin				: 0 auto;
	width				: 100%;
}

	.tblStyle01 th,
	.tblStyle01 td {
		border-top		: none;
		border-right	: 1px solid #D5D5D5;
		border-bottom	: 1px solid #D5D5D5;
		border-left		: none;
		font-weight		: normal;
	}

	.tblStyle01 th{
		margin			: 0;
		padding			: 10px;
		background		: #f7f7f7;
		text-align		: left;
		background		: -webkit-gradient(linear, left top, right bottom, from(#eaeaea), color-stop(0.25, #eaeaea), color-stop(0.25, white), color-stop(0.5, white), color-stop(0.5, #eaeaea), color-stop(0.75, #eaeaea), color-stop(0.75, white), to(white));
		background		: -moz-linear-gradient(-45deg, #eaeaea 25%, white 25%, white 50%, #eaeaea 50%, #eaeaea 75%, white 75%, white);
		background		: linear-gradient(-45deg, #eaeaea 25%, white 25%, white 50%, #eaeaea 50%, #eaeaea 75%, white 75%, white);
		background-size	: 4px 4px;
	}

	.tblStyle01 td{
		padding		: 10px;
		text-align	: left;
	}



/* list
--------------------------------------------------------------------------- */

.olStyle01 {
	margin	: 0 35px 10px;
}

	.olStyle01 li {
		list-style		: decimal;
		margin-bottom	: 3px;
		padding			: 0;
		text-align		: left;
	}
.ulStyle01 {
	margin	: 0 15px 10px;
}
	.ulStyle01 li {
		list-style	: disc;
		margin		: 0 15px 3px;
		padding		: 0;
		text-align	: left;
	}

  .main_content{
    dl, ol, ul {
              margin-bottom: 1rem;
    }
    ul, ol {
        margin-top: 10px;
        padding-left: 1.4em;
    }
    ol {
        list-style-type: decimal;
        list-style: decimal;
    }
    ol li{
      list-style-type: auto;
    }
    ul{
        list-style-type: circle;
        list-style: circle;
    }
    ul li{
      margin-bottom: 10px;
      list-style-type: disc;
      line-height: 1.5;
    }
    li:only-child {
  margin-bottom: 0;
}

}


/* text
--------------------------------------------------------------------------- */

/* --- size --- */

.txt10 { font-size : 1rem !important;   font-size:10px !important;}
.txt12 { font-size : 1.2rem !important; font-size:12px !important;}
.txt14 { font-size : 1.4rem !important; font-size:14px !important;}


/* --- color --- */

.red	{ color : #CC2727;}
.col01	{ color : #996633;}
.must   { color : #cc2727;}
.must2  { color : #cc2727;}


/* --- lineheight --- */

.height18 { line-height : 1.8;}
.height19 { line-height : 1.9;}
.height20 { line-height : 2;}


/* ------------------------------------------------------------------------ */

/*  Form

/* ------------------------------------------------------------------------ */

.formStyle01 {
	margin			: 0 auto;
	border			: 1px solid #D1D1D1;
	border-collapse	: collapse;
	border-spacing	: 0;
	empty-cells		: show;
}

	.formStyle01 th{
		border		: 1px solid #D1D1D1;
		padding		: 6px 8px;
		background	: #EDEDED;
		font-size	: 75%;
		font-weight	: normal;
	}

	.formStyle01 td{
		border		: 1px solid #D1D1D1;
		padding		: 6px 8px;
		font-size	: 75%;
	}

	.formStyle01 .txt10 { color:#444;}

	.wid20  { width : 20px; margin-bottom : 2px !important;}
	.wid40  { width : 40px; margin-bottom : 2px !important;}
	.wid60  { width : 60px; margin-bottom : 2px !important;}
	.wid80  { width : 80px; margin-bottom : 2px !important;}
	.wid100 { width : 100px; margin-bottom : 2px !important;}
	.wid120 { width : 120px; margin-bottom : 2px !important;}
	.wid140 { width : 140px; margin-bottom : 2px !important;}
	.wid160 { width : 160px; margin-bottom : 2px !important;}
	.wid180 { width : 180px; margin-bottom : 2px !important;}
	.wid200 { width : 200px; margin-bottom : 2px !important;}
	.wid220 { width : 220px; margin-bottom : 2px !important;}
	.wid240 { width : 240px; margin-bottom : 2px !important;}
	.wid260 { width : 260px; margin-bottom : 2px !important;}
	.wid280 { width : 280px; margin-bottom : 2px !important;}
	.wid300 { width : 300px; margin-bottom : 2px !important;}
	.wid400 { width : 400px; margin-bottom : 2px !important;}

	.txtarea01 { width : 100%; height : 120px; margin-bottom : 2px !important;}

	.must  { margin-left : 2px;}
	.must2 {
		float					: right;
		padding					: 5px 8px;
		margin-left				: 2px;
		background				: #cc2727;
		color					: #FFF;
		line-height				: 1;
		font-size				: 87%;
		border-radius			: 3px;
		-webkit-border-radius	: 3px;
		-moz-border-radius		: 3px;
	}

	.free {
		float					: right;
		padding					: 5px 8px;
		margin-left				: 2px;
		background				: #6bc059;
		color					: #FFF;
		line-height				: 1;
		font-size				: 87%;
		border-radius			: 3px;
		-webkit-border-radius	: 3px;
		-moz-border-radius		: 3px;
	}


	span.example { display:block; margin-top:5px; color:#666 !important;}

	label { margin : 0 0 0 -2px; padding:1px 0 0; cursor : pointer; vertical-align:middle;}
	label:hover { text-decoration:underline;}

	input:focus,
	textarea:focus {
		background-color : #f7fdeb;
	}

	input.txt {
		border-bottom	: 1px solid #CCC;
		border-left		: 1px solid #999;
		border-right	: 1px solid #CCC;
		border-top		: 1px solid #999;
		padding			: 4px;
	}

	textarea.txtarea {
		border-bottom	: 1px solid #CCC;
		border-left		: 1px solid #999;
		border-right	: 1px solid #CCC;
		border-top		: 1px solid #999;
		padding			: 4px;
	}

	input[type="radio"]{
		margin-top: -3px;
	}

	input[type="checkbox"]{
		margin-top: -3px;
	}

	select::-ms-expand {
		display: none;
	}



#mainBlock .bg_img{
	position: relative;
	background-color: #81beff;
	z-index: 1;
	padding-bottom: 120px;
  overflow: hidden;
}
#mainBlock .bg_img::before {
    content: "";
    position: absolute;
    top: 0;
    display: block;
    width: 100%;
    height: 600px;
    background: url("../img/bg/img_background_02.jpg") no-repeat center center / cover;
    z-index: -2;
}

#mainBlock .bg_img::after{
    content: "";
    position: absolute;
    bottom: 0;
    display: block;
    width: 100%;
    height: 400px;
    background: url("../img/bg/img_background_01.jpg") no-repeat center center / cover;
    z-index: -2;
}

.lower .ttl{
	font-size: 2.6rem;
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	background-color: #162141;
	color: #fff;
}
.breadcrumb{
	margin-top: 20px;
	margin-bottom: 20px;
}
.breadcrumb ul{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 25px;
}
.breadcrumb ul li a{
	text-decoration: underline;
}
.breadcrumb ul li{
	position: relative;
}
.breadcrumb ul li::after{
	content: "\f054";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
	font-size: 1.0rem;
	position: absolute;
	right: -15px;
	top: 0;
	bottom: 0;
	margin: auto;
	color: #9fa3a6;
	height: fit-content;
}
.breadcrumb ul li:last-child::after{
	display: none;
}
.breadcrumb ul li:first-child a{
	color: #00327d;
	font-weight: 600;
}
.side_content{
  max-width: 270px;
  width: calc(1000 / 270 * 100%);
	text-align: left;
}
.side_content .pagename{
	font-size: 1.8rem;
	background-color: #3852a7;
	color: #fff;
	padding: 0 15px;
	display: flex;
	align-items: center;
	height: 50px;
	font-weight: 600;
}
.side_content ul li a{
	font-size: 1.6rem;
	padding: 15px 15px;
	background-color: #fff;
	border-bottom: 1px solid #d9d9d9;
	display: block;
	color: #00327d;
}
.side_content ul li:has(.ul_child) > a {
    border: none;
}
/* ▼ここを変更（ > を追加） */
.side_content ul li.active > a{
    color: #333;
    font-weight: 600;
}
.side_content ul.ul_child li a{
	font-size: 1.4rem;
	padding: 10px 35px 11px;
}
.content_flex{
	display: flex;
  justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
}
.main_content{
	max-width: 710px;
	width: calc(1000 / 710 * 100%);
	background-color: #fff;
}
.content_flex .main_content .parts-title-01{
	font-size: 2.0rem;
	background-color: #162141;
	color: #fff;
	padding: 0 20px;
	height: 50px;
	display: flex;
	align-items: center;
}
.content_flex .main_content .parts-tab-bodys{
	margin-top: 20px;
	padding: 0 20px;
	margin-bottom: 60px;
}

.content_flex .main_content .parts-title-01 + p{
	padding-inline: 20px;
}

@media screen and (max-width: 768px){
	.content_flex{
		flex-direction: column;
	}
	.main_content{
		width: 100%;
	}
	.parts-tab-btns{
		width: 100%;
		margin-inline: 0;
	}
	.side_content{
    max-width: inherit;
		width: 100%;
	}
}


.parts-tab-btns{
	width: calc(100% - 40px);
	border-bottom: 1px solid #3852a7;
	margin-inline: 20px;
}
.parts-tab-btns .row{
	max-width: 445px;
	margin-top: 40px;
	display: flex;
	justify-content: flex-start;
	gap: 5px;
}
.parts-tab-btn{
	width: 100%;
}
.parts-tab-btn a{
	width: 100%;
	height: 36px;
  padding-block: 2px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	border: 1px solid #3852a7;
	color: #3852a7;
	border-radius: 4px 4px 0 0;
	border-bottom: none;
	font-size: 1.6rem;
	font-weight: 500;
  line-height: 1;
  text-align: center;
}
.parts-tab-btn.on a{
	background-color: #3852a7;
	border: 1px solid #fff;
	color: #fff;
	border-bottom: none;
}
.parts-title-02{
	margin-top: 40px;
  margin-bottom: 20px;
	font-size: 1.8rem;
	line-height: 1.4;
	border-bottom: 2px solid #3852a7;
}
.parts-title-03{
	margin-top: 30px;
	font-size: 1.6rem;
	border-bottom: 1px dashed #333;
	padding-bottom: 7px;
}
.parts-title-04{
	font-size: 1.6rem;
  margin-top: 25px;
  margin-bottom: 10px;
	line-height: calc(26/16);
	font-weight: 700;
}

@media screen and (max-width: 768px){
  .parts-title-02{
    font-size: 1.6rem;
  }
  .parts-title-03{
    font-size: 1.4rem;
  }
  .parts-title-04{
    font-size: 1.4rem;
  }
}
.parts-title-04 + p {
  margin-top: 10px !important;
}
.parts-member-bg{
	margin-top: 30px;
	background-color: #e6eafa;
	padding: 30px 20px;
}
.content_flex .main_content p{
	margin-top: 20px;
	font-size: 1.6rem;
	line-height: calc(26/16);
}



.parts-list-decimal {
    margin-top: 30px;
    font-size: 1.6rem;
    line-height: calc(26 / 16);
    list-style: none;
    counter-reset: item;
}

.parts-list-decimal li {
    position: relative;
    /* padding-left: 25px; */
    counter-increment: item;
}

/* .parts-list-decimal li::before {
    position: absolute;
    left: 0;
    top: 0;
    content: counter(item) ".";
} */



.parts-note-list {
    margin-top: 15px;
    font-size: 1.3rem;
    line-height: calc(20 / 14);
    list-style: none;
    list-style-type: none;
    padding-left: 0;
}

.parts-note-list li {
  font-size: 1.3rem;
    position: relative;
    padding-left: 1em;
    text-indent: -1em;
    list-style-type: none;
}
.parts-note-list li::before {
    display: inline-block;
    width: 2em;
    text-indent: 0;
}
.parts-list-disc {
  margin-top: 15px;
    list-style: none;
    font-size: 1.6rem;
    line-height: calc(20 / 14);
}



/* .parts-list-disc li {
    position: relative;
    padding-left: 1em;
    text-indent: -1em;
} */
/* .parts-list-disc li::before {
    content: "\30fb";
    display: inline-block;
    width: 1em;
    text-align: center;
    text-indent: 0;
} */

@media screen and (max-width: 768px){
  .content_flex .main_content p{
    margin-top: 15px;
     font-size: 1.4rem;
  }
  .parts-list-decimal {
     font-size: 1.4rem;
  }
}



.benefit-schematic_wrap02_td {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}
ul.benefit-schematic_wrap02 {
    padding-left: 0;
}
.benefit-schematic_wrap02 {
    display: table;
    width: 100%;
    margin-bottom: 1em;
    font-size: 2rem;
    line-height: 1.4;
}
.benefit-schematic06 {
    color: #FFF;
    background-color: #2874C8;
    padding: 10px;
    font-weight: 700;
    font-size: 1.6rem;
    border-right: 2px dotted #fff;
}
.benefit-schematic05 {
    color: #FFF;
    background-color: #2874C8;
    padding: 10px;
    font-weight: 700;
    font-size: 1.6rem;
    border-left: 2px dotted #fff;
}

p + div, p + table{
	margin-top: 20px;
}

.parts-reference {
    margin-top: 20px;
    margin-right: 0;
    margin-bottom: 1rem;
    margin-left: 0;
    display: flex;
	align-items: center;
	gap: 0;
}
.parts-reference dt {
    position: relative;
    font-size: 1.6rem;
    line-height: 1;
    display: flex;
    align-items: center;
	justify-content: center;
	width: 90px;
	height: 36px;
    background: #5ea4be;
    color: #FFFFFF;
    white-space: nowrap;
}

/* ???????? */
.parts-reference dt::after {
    content: "";
    position: absolute;
    top: 0;
    left: 100%; /* ?????????? */
    width: 0;
    height: 0;
    /* ??????????????????????????? */
    border-style: solid;
    border-width: 18px 0 18px 11px; /* ? ? ? ??????18px??????? */
    border-color: transparent transparent transparent #5ea4be;
}
.parts-reference dd {
    overflow: hidden;
    margin-bottom: 0;
    zoom: 1;
    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;
    margin-top: -2px;
}
.parts-reference dd ul li a {
	position: relative;
    display: inline-block;
    padding-left: 2rem;
}
.parts-reference dd ul li a:before, .parts-reference dd ul li a:after {
    position: absolute;
	top: 0;
	bottom: 0;
    left: 0;
	margin: auto;
    display: block;
    content: '';
}
.parts-reference dd ul li a:before {
    width: 14px;
    height: 14px;
    background-color: #3852a7;
    border-radius: 50%;
}
.parts-reference dd ul li a:after {
    width: 5px;
    height: 5px;
    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);
	left: 4px;
}
.parts-point-list{
	margin-top: 20px;
	margin-inline: 20px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 10px;
}
.parts-point-list .head{
  min-width: 80px;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background-color: #5ea4be;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 2.0rem;
	line-height: 1;
}
@media screen and (max-width: 768px){
  .parts-point-list .head{
    min-width: 60px;
    width: 60px;
    height: 60px;
    font-size: 1.6rem;
  }
  .parts-point-list{
    margin-inline: 10px;
  }
}
.parts-point-list .list-tb{
	max-width: 540px;
	background-color: #edffd1;
	padding: 20px;
}
.parts-point-list .list-tb ul{
  list-style: none;
  list-style-type: none;
}
.parts-point-list .list-cell li {
    position: relative;
    font-size: 1.6rem;
    line-height: calc(26 / 16);
    padding-left: 1.8em;
    margin-bottom: 0.5em;
      list-style: none;
  list-style-type: none;
}

.parts-point-list .list-cell li::before {
    content: "";
    position: absolute;
    left: 0;
    top: calc((26px - 19px) / 2);
    width: 18px;
    height: 19px;
    background: url("../img/icon/icon_point_check_01.svg") no-repeat center center / contain;
}
@media screen and (max-width: 768px){
  .parts-point-list .list-tb{
    padding: 10px;
  }
  .parts-point-list .list-cell li{
    font-size: 1.4rem;
  }
}
/*--------------------------------------------------

 parts-arw01

--------------------------------------------------*/
p .parts-arw01{
  position: relative;
  display: inline-block;
  padding-left: 20px;
  line-height: 1;
}
.parts-arw01{
  position: relative;
  display: inline-block;
  padding-left: 20px;
  line-height: 1;
}
p .parts-arw01:before{
  position: absolute;
  top: 1.7rem;
  transform: translateY(-50%);
  left: 0;
  display: block;
  content: '';
  margin-top: -1rem;
}
p .parts-arw01:after {
  position: absolute;
  display: block;
  content: '';
  width: 0.6rem;
  height: 0.6rem;
  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);
  left: 4px;
  top: 4px;
}
/* .parts-arw01:before {
  position: absolute;
  top: 0.5em;
  transform: translateY(-50%);
  display: block;
  left: 1em;
  content: '';
  width: 1.6rem;
  height: 1.6rem;
  background-color: #3852a7;
  border-radius: 50%;
} */
/* .parts-arw01:after {
  position: absolute;
  display: block;
  content: '';
  width: 0.6rem;
  height: 0.6rem;
  border-top: #fff solid 2px;
  border-right: #fff solid 2px;
  transform: rotate(45deg);
  left: calc(1em + 5px);
  top: 0.5em;
  transform: translateY(-50%) rotate(45deg);
  margin: 0;
} */
.parts-arw01:before, .parts-arw01:after {
    position: absolute;
    top: 50%; /* 親の高さ50%の位置へ */
    left: 0;
    display: block;
    content: '';
}

.parts-arw01:before {
    width: 1.6rem;
    height: 1.6rem;
    background-color: #3852a7;
    border-radius: 50%;
    /* 自身の高さの半分(-0.8rem)だけ上にずらして中央揃え */
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

.parts-arw01:after {
    width: 0.6rem;
    height: 0.6rem;
    left: 0.45rem; /* 丸の中央にくるよう微調整 */
    border-top: #fff solid 2px;
    border-right: #fff solid 2px;
    /* 中央揃え(-50%) と 回転(45deg) を同時に適用 */
    transform: translateY(-50%) rotate(45deg);
    -webkit-transform: translateY(-50%) rotate(45deg);
}

/* span .parts-arw01:after {
  left: 20px;
  top: 5px;
} */


/*--------------------------------------------------
 parts-inner-navi
 --------------------------------------------------*/
.parts-inner-navi {
  /* background-color: #f5fafd; */
  border: 1px solid #3852a7;
  margin-bottom: 30px;
  margin-top: 30px;
  padding: 20px 20px 18px;
  list-style: none !important;
  list-style-type: none !important;
}
.parts-inner-navi li {
  margin-bottom: 1rem;
  list-style: none !important;
  list-style-type: none !important;
  margin-left: 2rem;
  text-indent: -2rem;
}
.parts-inner-navi li:last-child {
  margin-bottom: 0;
}
.parts-inner-navi li > a {
  position: relative;
  color: #3852a7;
  /*text-decoration: underline;*/
  line-height: 1.3;
  padding-left: 2rem;
}
.parts-inner-navi li a:before, .parts-inner-navi li a:after {
  position: absolute;
  top: 1.2rem;
  left: 0px;
  display: block;
  content: '';
}
.parts-inner-navi li a:before {
  width: 1.5rem;
  height: 1.5rem;
  margin-top: -1.1rem;
  background-color: #3852a7;
  border-radius: 50%;
}
.parts-inner-navi li a:after {
  width: 0.5rem;
  height: 0.5rem;
  margin: -0.7rem 0 0 0.5rem;
  border-top: #fff solid 2px;
  border-right: #fff solid 2px;
  transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
}
/*--------------------------------------------------*/
@media only screen and (max-width:768px) {
  /* .parts-arw01:before, .parts-arw01:after {
    top: 1.4rem;
  } */
   .parts-arw01{
      padding-left: 20px;
   }
   .parts-arw01:before{
      left: 0;
   }
   .parts-arw01:after{
      left: 4px;
      top: 8px;
   }
}
/*--------------------------------------------------

 --------------------------------------------------*/
.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 {
  margin: 30px 0 0;
  padding: 10px 15px;
}
.parts-member-bg li {
  list-style-type: decimal;
}
.parts-reference {
  margin-top: 20px;
  margin-right: 0;
  margin-bottom: 1rem;
  margin-left: 0;
  display: flex;
}
.parts-reference dt {
  /* float: left; */
  padding: 3px 10px;
  margin-right: 20px;
  font-size: 1.4rem;
  /* overflow: hidden; */
  border-radius: 0.25em;
  align-items: center;
  display: flex;
  white-space: nowrap;
  color: #FFFFFF;
  flex-direction: column;
  justify-content: center;
}
.parts-reference dd {
  overflow: hidden;
  margin-bottom: 0;
  zoom: 1;
  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;
  /*margin-top: -2px;*/
}
.parts-icon-pdf {
  /* background: url(../img/pc/page/ico_pdf.gif) no-repeat left center; */
  /* display: inline; */
  /* padding-left: 21px; */
  /* vertical-align: top; */
  /* margin-left:4px; */
  /* font-family: 'icomoon'; */
}
.parts-icon-pdf:before {
  margin-right: 4px;
  font-family: 'icomoon';
  content: "\eadf";
  color: #e40f0f;
  font-size: 2rem;
  font-weight: 500;
  /* display: flex; */
}
.parts-icon-doc {
  /* background: url(../img/pc/page/ico_doc.gif) no-repeat  left center; */
  /* display: inline-block; */
  /* padding-left: 21px; */
  /* vertical-align: top; */
  /* margin-left:4px; */
  /* font-family: 'icomoon'; */
}
.parts-icon-doc:before {
  margin-right: 4px;
  font-family: 'icomoon';
  content: "\eae1";
  color: #0072d4;
  font-size: 2rem;
  font-weight: 500;
}
.parts-icon-xls {
  /* background: url(../img/pc/page/ico_xls.gif) no-repeat  left center; */
  /* display: inline; */
  /* padding-left: 21px; */
  /* vertical-align: top; */
  /* margin-left:4px; */
  /* font-family: 'icomoon'; */
}
.parts-icon-xls:before {
  margin-right: 4px;
  font-family: 'icomoon';
  content: "\eae2";
  color: #2b902e;
  font-size: 2rem;
  font-weight: 500;
}
@media only screen and (max-width:768px) {
  .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: 30px;
}
td .parts-list-disc {
  padding-left: 1em;
}
.parts-list-none > li {
  list-style: none;
  list-style-type: none !important;
}
.parts-text-indent {
  text-indent: -1em;
  padding-left: 1em;
}


/*--------------------------------------------------

 #付加給付　図用

--------------------------------------------------*/
/*--table-cell--*/
.benefit-schematic_wrap02 {
  display: table;
  width: 100%;
  margin-bottom: 1em;
  font-size: 2rem;
  line-height: 1.4;
}
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: #000;
  background-color: #43b6ea;
  padding: 30px 20px;
  font-weight: 700;
}
/*--padding小　青・白字--*/
.benefit-schematic01_s {
  color: #FFF;
  background-color: #2874C8;
  padding: 10px;
  font-weight: 700;

}
/*--padding大　水色・黒字--*/
.benefit-schematic02 {
  background-color: #a7e9ff;
  padding: 12px 20px;
  font-weight: 700;
  font-size: 1.5rem;
  background-image: repeating-linear-gradient(
        315deg,
        rgba(255, 255, 255, 0.5),      /* 線の色（白。少し透明にすると馴染みます） */
        rgba(255, 255, 255, 0.5) 2px,  /* 線の太さ（2px） */
        transparent 2px,               /* ここから透明 */
        transparent 12px               /* 次の線までの間隔（合計12pxごと） */
    );
}
/*--padding小　水色・黒字--*/
.benefit-schematic02_s {
  background-color: #b9d5f2;
  padding: 10px;
  font-weight: 700;
}
/*--padding大　グレー枠・白box--*/
.benefit-schematic03 {
  background-color: #fff;
  border: 3px solid #d4d4d4;
  padding: 30px 20px;
  font-weight: 700;
}
/*--padding小　グレー枠・白box--*/
.benefit-schematic03_s {
  background-color: #fff;
  border: 3px solid #d4d4d4;
  padding: 10px;
  font-weight: 700;
}
/*--出産手当金　図--*/
.benefit-schematic05 {
  color: #000;
  background-color: #43b6ea;
  padding: 10px;
  font-weight: 700;
  font-size: 1.6rem;
  border-left: 2px dotted #fff;
}
.benefit-schematic06 {
  color: #000;
  background-color: #43b6ea;
  padding: 10px;
  font-weight: 700;
  font-size: 1.6rem;
  border-right: 2px dotted #fff;
}
@media only screen and (max-width:768px) {
  .benefit-schematic01, .benefit-schematic02, .benefit-schematic03 {
    padding: 10px;
  }
  .benefit-schematic05, .benefit-schematic06 {
    font-size: 1.1rem;
  }
}
/*--付加金あり「＋」--*/
.benefit-schematic04 {
  /*background-color:#fff;*/
  font-size: 6rem;
  font-weight: 700;
  text-align: center;
  color: #D04444;
}
@media only screen and (max-width:768px) {
  .benefit-schematic_wrap02 {
    font-size: 1.1rem;
  }
  .benefit-schematic04 {
    font-size: 3rem;
  }
}
/*---グレー囲み注　文字普通---*/
.box_gray {
  background-color: #f5f5f5;
  padding: 20px;
  margin-bottom: 1em;
}
.box_gray .parts-title-04 {
  color: #2874C8;
  font-size: 1.8rem;
}
.box_gray .parts-title-04::after {
  background-color: #2874C8;
  font-size: 1.8rem;
}
/* .box_gray .parts-note-list li {
  font-size: 1.5rem;
  padding-left: 1em;
  text-indent: -1em;
} */
@media only screen and (max-width:768px) {
  .box_gray {
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 5px;
  }
  .box_gray .parts-title-04 {
    font-size: 1.3rem;
  }
  .box_gray .parts-title-04::after {
    font-size: 1.3rem;
  }
  .box_gray .parts-note-list {
    font-size: 1.0rem;
  }
  .box_gray .parts-note-list li {
    font-size: 1.0rem;
  }
}
/*---付加金なし赤枠・赤字---*/
.benefit_singlebox_red {
  padding: 10px;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  border: 3px solid #D04444;
  margin-bottom: 1em;
}
.benefit_singlebox_red span {
  color: #D04444;
}
@media only screen and (max-width:768px) {
  .benefit_singlebox_red {
    font-size: 1.3rem;
  }
}
/*---給付図　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: 2rem;
  background-color: #2874C8;
  line-height: 1.4;
}
.parts-table-benefit01 td {
  padding: 20px;
  font-weight: 700;
  text-align: center;
  font-size: 2rem;
  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:768px) {
  .parts-table-benefit01 th, .parts-table-benefit01 td {
    padding: 6px;
    font-size: 1.2rem;
  }
}
/*-------自己負担限度額　表（padding小）----------*/
.parts-table-05 {
  width: 100%;
  margin: 15px 0 20px;
  border-left: 1px solid #d0d2d2;
  border-top: 1px solid #d0d2d2;
}
.parts-table-05 th, .parts-table-05 td {
  border-bottom: 1px solid #d0d2d2;
  border-right: 1px solid #d0d2d2;
}
.parts-table-05 th {
  background-color: #f6f6f6;
  font-weight: 700;
  padding: 6px;
  vertical-align: middle;
  font-size: 1.5rem;
  line-height: 1.3;
}
.parts-table-05 td {
  padding: 6px;
  font-size: 1.5rem;
  background-color: #fff;
}
.parts-table-05 td ul {
  margin: 0;
  /*padding: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:768px) {
  .parts-table-05 th, .parts-table-05 td {
    font-size: 1.2rem;
  }
}
/*---幅指定汎用---*/
.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%
}

/*--------------------------------------------------

 parts-caution-block

--------------------------------------------------*/
.parts-caution-block {
  background: #fff6f6;
  border: 5px solid #ffcaca;
  padding: 15px 20px 5px 15px;
  margin: 20px 0;
}
.parts-caution-block .parts-coution-ttl {
  background: url(../img/pc/page/tit_caution.png) 0 0 no-repeat;
  background-size: 40px auto;
  height: 45px;
  padding-top: 5px;
  border-bottom: 1px solid #D04444;
  font-size: 1.8rem;
  font-weight: 700;
  color: #D04444;
  margin-top: 0 !important;
}
@media only screen and (max-width:768px) {
  .parts-caution-block {
    padding: 15px 15px 0;
  }
  .parts-caution-block .parts-coution-ttl {
    background-size: 35px auto;
    height: 40px;
    padding-top: 5px;
    font-size: 1.4rem;
  }
}
/*--------------------------------------------------

 parts-table-01

--------------------------------------------------*/
.parts-table-01 {
  -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;
}
.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: #ddd solid 1px;
  border-right: #ddd solid 1px;
}
.parts-table-01 th {
  width: 25%;
  padding: 20px;
  background-color: #f6f6f6;
  line-height: 1.3;
}
.parts-table-01 td {
  padding: 20px;
  background-color: #fff;
}
@media only screen and (max-width:768px) {
  .parts-table-01, .parts-table-01 tr, .parts-table-01 tbody, .parts-table-01 th, .parts-table-01 td {
    display: block;
    font-size: 1.2rem;
  }
  .parts-table-01 th {
    width: auto;
    padding: 5px;
    text-align: center;
  }
  .parts-table-01 td {
    padding: 10px;
  }
}
/*--------------------------------------------------

 parts-table-02

--------------------------------------------------*/
.parts-table-02 {
  margin-top: 20px;
  -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;
}
.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: #ddd solid 1px;
  border-right: #ddd solid 1px;
  background-color: #fff;
}
.parts-table-02 th {
  /*	width: 20%;*/
  padding: 13px;
  background-color: #f6f6f6;
  line-height: 1.3;
}
.parts-table-02 td {
  padding: 13px;
}
@media only screen and (max-width:768px) {
  .parts-table-02, .parts-table-02 tr, .parts-table-02 tbody, .parts-table-02 th, .parts-table-02 td {
    font-size: 1.2rem;
  }
  .parts-table-02 th {
    /*		width: auto;
		padding: 5px;*/
    /*		text-align: center;*/
  }
  /*	.parts-table-02 td {
		padding: 10px;
	}*/
}
/*--------------------------------------------------

 parts-table-03

--------------------------------------------------*/
.parts-table-03 {
  -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;
}
.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: #ddd solid 1px;
  border-right: #ddd solid 1px;
}
.parts-table-03 th {
  width: 50%;
  padding: 10px;
  background-color: #f6f6f6;
  line-height: 1.3;
}
.parts-table-03 th.no {
  background: #fff url(../std/img/pc/page/bg_yes_or_no_no.gif) no-repeat left center;
  padding-left: 60px;
}
.parts-table-03 th.yes {
  background: #fff url(../std/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:768px) {
  .parts-table-03 th {
    /* padding: 10px 0 10px 60px; */
    font-size: 1.2rem;
  }
  .parts-table-03 td {
    font-size: 1.2rem;
  }
}
/*--------------------------------------------------

 parts-table-04

--------------------------------------------------*/
.parts-table-04 {
  width: 100%;
  margin: 15px 0 20px;
  border-left: #ddd solid 1px;
  border-top: #ddd solid 1px;
}
.parts-table-04 th {
  border-right: #ddd solid 1px;
  border-bottom: #ddd solid 1px;
}
.parts-table-04 td {
  border-right: #ddd solid 1px;
  border-bottom: #ddd solid 1px;
}
.parts-table-04 th {
  background-color: #f6f6f6;
  font-weight: 700;
  padding: 13px;
  vertical-align: middle;
  width: 25%;
  font-size: 1.5rem;
  line-height: 1.3;
}
.parts-table-04 td {
  padding: 13px;
}
.parts-table-04 td ul {
  /*margin:0;
	padding:0;*/
}
.parts-table-04 ul li {
  list-style: none;
}
.parts-table-04 ul.parts-list-disc > li {
  list-style: disc;
  margin-left: 1em;
}
.parts-list-disc > li{
  text-indent: 0;
  padding-left: 0;
}
@media only screen and (max-width:768px) {
  .parts-table-04 th, .parts-table-04 td {
    font-size: 1.2rem;
  }
  .parts-table-02 td{
    padding: 7px;
  }
  .parts-table-04 td{
    padding: 7px;
  }
  .parts-list-disc{
    font-size: 1.4rem;
  }
}

/*--------------------------------------------------

 parts-column-box

--------------------------------------------------*/
.parts-column-box {
  background-color: #f5fafd;
  border: 1px solid #3852a7;
  margin: 30px 0 0;
  padding: 15px 25px;
}
.parts-column-box .parts-table-01 {
  border-top: #3852a7 solid 1px;
  border-left: #3852a7 solid 1px;
}
.parts-column-box .parts-table-01 th, .parts-column-box .parts-table-01 td {
  border-bottom: #3852a7 solid 1px;
  border-right: #3852a7 solid 1px;
}
.parts-column-box .parts-table-01 th {
  background-color: #c2d7f0;
}
.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 {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 1em;
  margin-top: 1em;
}
.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: 30px 0 20px -32px;
  padding: 0 0 0 77px;
  display: inline-block;
}
.parts-column-ttl .head {
  position: absolute;
  top: 0;
  left: 0;
  /* width: 154px; */
  /* height: 154px; */
  margin-top: 0;
  margin-left: 50px;
}
.parts-column-ttl .head:before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  content: '';
  width: 80px;
  height: 80px;
  margin: -40px 0 0 -40px;
  background-color: #3852a7;
  transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
}
.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;
  font-size: 1.5rem;
  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;
  list-style: none !important;
  list-style-type: none !important;
}
.parts-column-ttl li {
  position: relative;
  margin: 0;
  padding: 0 0 0 30px;
  list-style: none !important;
  list-style-type: none !important;
  color: #3852a7;
  font-weight: 700;
  font-size: 1.8rem;
}
.parts-column-ttl li + li {
  margin-top: 15px;
}
@media only screen and (max-width:768px) {
  .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: 60px;
    height: 60px;
    margin: -30px 0 0 -30px;
  }
  .parts-column-ttl .head > div > span {
    font-size: 1.2rem;
  }
  .parts-column-ttl .list-tb {
    display: block;
    height: auto;
    padding: 40px 10px 0px 10px;
  }
  .parts-column-ttl .list-cell {
    display: block;
  }
  .parts-column-ttl li {
    padding: 0 0 0 0;
    text-align: center;
    font-size: 1.6rem;
  }
  .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 {
    /*font-size: 1.2rem;*/
  }
}
.mr--auto, .mx-auto {
    margin-right: auto !important;
}
.ml--auto, .mx-auto {
    margin-left: auto !important;
}

/*--------------------------------------------------

 #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:768px) {
  .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%;
  }
}

.ps-3 {
    padding-left: 1rem !important;
}
.ps-5 {
    padding-left: 3rem !important;
}

/*--------------------------------------------------

 parts-bg-gray

--------------------------------------------------*/
.parts-bg-gray {
  background: #f8f8fa;
  border: 5px solid #d0d2d2;
  padding: 15px 20px 15px 15px;
  margin: 20px 0;
}
.parts-bg-gray > :first-child {
  margin-top: 0 !important;
}
@media only screen and (max-width:768px) {
  .parts-bg-gray {
    padding: 15px 15px 15px;
    margin: 20px 0;
  }
}

/*--------------------------------------------------

 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: #00ad82;
}
.parts-image-links{
	display: flex;
}
.article_inner{
	padding: 10px;
}
.parts-image-links .image{
	float: none;
}
.parts-image-links .image img{
	max-width: 148px;
}
.parts-image-links ul li{
	font-size: 90%;
	list-style: none;
	text-indent: -0.5em;
	padding-left: 1em;
  margin-top: 10px;
}
.parts-image-links ul li::before{
	content: "\f105";
    font-family: 'Font Awesome 6 Free';
    display: inline-block;
    padding-right: 5px;
	font-weight: 900;
}
@media only screen and (max-width:1024px) {
  .parts-image-links .image{
    width: 40%;
  }
}
@media only screen and (max-width:768px) {
  .parts-image-links .links li + li {
    margin-top: 10px;
  }

}
@media only screen and (max-width:425px) {
	.parts-image-links .image img{
		max-width: 90px;
	}
}

/*--------------------------------------------------

 parts-step-table

--------------------------------------------------*/
.parts_step_table {
  /*	background-color: #fbfdf5;*/
  /*	border: 1px solid #57b53a;*/
  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: 2.0rem;
  font-weight: 700;
  color: #3852a7;
}
.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: 80px;
  height: 80px;
  margin: -35px 0 0 -43px;
  border: 1px solid #3852a7;
  background-color: #fff;
  transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
}
.parts-step-ttl .head > div {
  position: relative;
  top: 40%;
  /* left: -2px; */
  width: 100%;
  height: 100%;
  color: #3852a7;
  text-align: center;
}
.parts-step-ttl .head > div > span {
  /*	display: table-cell;*/
  color: #3852a7;
  font-size: 2.8rem;
  line-height: 1.2;
}
.parts_step_table th.arrow {
  height: 40px;
}
@media only screen and (max-width:768px) {
  .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-top: 0!important; */
    padding-bottom: 1em;
    height: 34px;
  }
  .parts_step_table td {
    /* padding-left: 10px; */
    vertical-align: middle;
  }
  .parts_step_table td span {
    font-size: 1.3rem;
  }
  .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: 50px;
    height: 50px;
    margin: -30px 0 0 -36px;
    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: 2.0rem;
  }
  .parts_step_table th img {
    text-align: center;
    padding-right: 0;
    padding-bottom: 1em;
    margin-right: 0;
  }
}

/*--------------------------------------------------

 #特定保健指導　階層図

--------------------------------------------------*/
th.step_top {
  vertical-align: top;
}
.flow_box01 {
  background-color: #fff;
  border: 3px solid #d4d4d4;
  padding: 10px;
  font-size: 1.5rem;
  text-align: left;
  margin: 1em 0;
}
.parts_step_table td span.flow_font01 {
  color: #333;
  font-size: 1.8rem;
  font-weight: 500;
  padding: 0 0.2em;
}
.flow_box02 {
  text-align: center;
}
@media only screen and (max-width:768px) {
  .flow_box01 {
    font-size: 1.2rem;
  }
  .parts_step_table{
    padding-inline: 0;
  }
  .parts_step_table td span.flow_font01 {
    color: #333;
    font-size: 1.4rem;
    font-weight: 500;
    padding: 0 0.2em;
  }
}
.bg-light {
    --bs-bg-opacity: 1;
    background-color: #f8f9fa;
}

/*--------------------------------------------------
 parts-note-list
 --------------------------------------------------*/
.parts-note-list {
  list-style: none !important;
   list-style-type: none !important;
  padding: 0;
  padding-left: 0 !important;
}
.parts-note-list li {
  font-size: 1.3rem;
  padding-left: 1em;
  text-indent: -1em;
  list-style: none !important;
   list-style-type: none !important;
}
@media only screen and (max-width:768px) {
  .parts-note-list {
    /*font-size: 1.0rem;*/
  }
  .parts-note-list li {
    font-size: 1.1rem;
  }
}
.parts-note-list02 {
  list-style: none;
  list-style-type: none;
  padding: 0;
  padding-left: 0 !important;
}
ul.parts-note-list02 > li {
  padding-left: 1em;
  text-indent: -1em;
    list-style: none;
   list-style-type: none;
}
.parts-note-list02 li > * {
  text-indent: 0;
}