
/*--------------------------------------------------
  reset
--------------------------------------------------*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  font-weight:normal;/* Yutaka added */
  vertical-align: baseline;
}

body {
  line-height:1;
  /*min-width: 1100px;*/
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Yutaka added */
table, tr, th, td, caption {
  vertical-align: middle;
  text-align:left;
}

img {
  vertical-align: top;
  font-size:0;
  line-height: 0;
}




/*--------------------------------------------------
  body
--------------------------------------------------*/

@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
}

body {
  color: #545658;
  font-size : 14px;
  line-height : 1.5em;
	font-family: 'Noto Sans Japanese', sans-serif;
}

a {
  text-decoration: none;
  color: #545658;
	cursor: pointer;
}

a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

.pc-no01 {
  display: none;
}

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}


.bg-cl01 {
	background: #f1f1f1;
}

.bx-shadow {
	box-shadow: 3px 3px 4px rgba(4,0,0,0.04);
}

.bold {
  font-weight: bold;
}

.font-red01 {
  color: #d00;
}

/*--------------------------------------------------
   header
--------------------------------------------------*/
#header {
	width: 100%;
	height: 80px;
	background: #fff;
	min-width: 980px;
  position: fixed;
  top: 0;
  z-index: 999;
}

#header .inner {
  padding: 0 0 0 15px;
}

#header .h-logo {
	float: left;
	display: table;
	height: 80px;
}

#header .h-logo h1 {
	display: table-cell;
	vertical-align: middle;
	width: 280px;
}

#header .h-logo h1 img {
	width: 100%;
}



#header .g-nav {
	float: right;
	margin-right:4%;
}

#header .g-nav .nav01 {
	float: right;
}

#header .g-nav .nav01 li {
	padding-right: 45px;
	display: inline-block;
	text-align: center;
}

#header .g-nav .nav01 li:last-child {
	padding-right: 0;
}

#header .g-nav .nav01 li a {
	display: table;
	height: 80px;
	color: #202020;
	font-size: 20px;
}

#header .g-nav .nav01 li .menu {
	display: table-cell;
	vertical-align: middle;
	font-weight: bold;
}

#header .g-nav .nav01 li .sub {
	font-size: 12px;
	font-weight: bold;
	color:#339900;
}

#header .g-nav .nav01 .h-btn01 {
	display: table;
  padding: 0 5px 0 0;
	height: 80px;
  width: 170px;
  background: #339900;
  box-sizing: border-box;
}

  #header .g-nav .nav01 .btn-inner01 {
    display: table-cell;
    vertical-align: middle;
    font-weight: bold;
  }

  #header .g-nav .nav01 .btn-inner02 {
    display: inline-block;
    padding: 2px 0 0 5px;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
  }

  #header .g-nav .nav01 .h-btn01 img {
    width: 30px;
  }

/*--------------------------------------------------
  btn
--------------------------------------------------*/
.btn {
	display: block;
	position: relative;
}

.btn01 {
	width: 180px;
	height: 40px;
}

.btn01 a {
	display: block;
	background: #41caf4;
	border-radius: 20px;
	line-height: 40px;
	color: #fff;
	text-align: center;
	font-size: 12px;
	position: relative;
}

.btn01 a::after {
	display: block;
	content: '';
	width: 6px;
	height: 6px;
	border-top: 1px solid;
	border-right: 1px solid;
	border-color: #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	margin: -3px 0 0 0;
	top: 50%;
	right: 15px;	
}

.btn01 a:hover {
	display: block;
	background: #fff;
	border: solid 1px #41caf4;
	color: #41caf4;
	position: relative;
}

.btn01 a:hover::after {
	display: block;
	content: '';
	width: 6px;
	height: 6px;
	border-top: 1px solid;
	border-right: 1px solid;
	border-color: #41caf4;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	margin: -3px 0 0 0;
	top: 50%;
	right: 15px;
}

.btn02 {
	width: 280px;
	height: 60px;
}

.btn02 a {
	display: block;
	background: #41caf4;
	border-radius: 30px;
	line-height: 60px;
	color: #fff;
	text-align: center;
	font-size: 15px;
	position: relative;
}

.btn02 a::after {
	display: block;
	content: '';
	width: 8px;
	height: 8px;
	border-top: 1px solid;
	border-right: 1px solid;
	border-color: #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	margin: -4px 0 0 0;
	top: 50%;
	right: 20px;	
}

.btn02 a:hover {
	display: block;
	background: #fff;
	border: solid 1px #41caf4;
	color: #41caf4;
	position: relative;
}

.btn02 a:hover::after {
	display: block;
	content: '';
	width: 6px;
	height: 6px;
	border-top: 1px solid;
	border-right: 1px solid;
	border-color: #41caf4;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	margin: -3px 0 0 0;
	top: 50%;
	right: 15px;
}



/*--------------------------------------------------
   main
--------------------------------------------------*/ 
#main {
	min-width: 980px;
}




/*--------------------------------------------------
   mv
--------------------------------------------------*/
.top .mv {
  padding: 80px 0 0 0;
	width: 100%;
}

.top .mv .inner {
	width: 100%;
	height: 520px;
	background: url(../images/mv-img01.jpg) center top no-repeat;
	background-size: cover;
	position: relative;
	z-index: 777;
}


/*--------------------------------------------------
 top  sec01
--------------------------------------------------*/ 
.top .sec01 {
}

.top .sec01 .inner {
	width: 100%;
	background: #fff;
}


.top .sec01 .ttl {
	text-align: center;
	padding: 40px 0 50px;
}

.top .sec01 .ttl .ttl-main {
	color: #313131;
	font-size: 36px;
	font-weight: bold;
	line-height: 1.5em;
	margin-bottom: 40px;
	position: relative;
}
.top .sec01 .ttl .ttl-main::after {
	display: block;
	content: '';
	width: 100px;
	height: 1px;
	background: #313131;	
	position: absolute;
	margin: 0 0 0 -50px;
	left: 50%;
	bottom: -40px;
}


.top .sec01 .sec-main-inner01 {
	padding: 85px 0;
}

.top .sec01 .block-wrap {
	width: 980px;
	margin: auto;
}

.top .sec01 .block01 {
	width: 460px;
	float: left;
}

.top .sec01 .block02 {
	width: 460px;
	float: right;
}

.top .sec01 .block .img-area img {
	width: 100%;
}

.top .sec01 .block .text-area {
	background: #fff;
	box-sizing: border-box;
	text-align: center;
	padding: 35px 0 30px;
}

.top .sec01 .block .block-ttl {
	color: #202020;
}

.top .sec01 .block .block-ttl .ttl-sub {
	font-size: 40px;
	font-weight: bold;
}

.top .sec01 .block .block-ttl .ttl-main {
	font-weight: bold;
	padding-top: 10px;
}

.top .sec01 .block .text {
	padding-top: 20px;
}

.top .sec01 .block .btn {
	margin: 20px auto 0;
}


.top .sec01 .block-wrap02 .block {
	margin-top: 60px;
	overflow: hidden;
}

.top .sec01 .block-wrap02 .block .text-area{
	width: 350px;
	height: 360px;
	box-sizing: border-box;
	padding: 105px 0 95px;
}

.top .sec01 .block03 .img-area {
	float: left;
}

.top .sec01 .block03 .text-area {
	float: right;
}

.top .sec01 .block04.even .img-area,
.top .sec01 .block04.even .text-area{
	float: right;
}



.top .sec01 .sec-main-inner02 {
	width: 100%;
	background: url(../images/img05.jpg) center center no-repeat;
	background-size: cover;
	padding: 85px 0;
}

.top .sec01 .sec-main-inner02 .block05 {
	width: 460px;
	margin: auto;
}




/*--------------------------------------------------
  footer
--------------------------------------------------*/
#footer {
}

#footer .inner {
}

#footer .f-copy {
	line-height: 80px;
	color: #202020;
	text-align: center;
}


.footer02 {
	border-top: solid 10px #f9f9f9;
}




/*--------------------------------------------------
   page-top
--------------------------------------------------*/
.page-top {
  width: 40px;
  height: 40px;
  position: fixed;
  right: 40px;
  bottom: 40px;
  z-index: 9999;
}
  
.page-top a {
	display: block;
	width: 100%;
	height: 40px;
	background: #41caf4;
	border-radius: 5px;
	text-indent: 100%;
	white-space:nowrap;
	overflow: hidden;
	position: relative;
}
  
.page-top a::after {
	display: block;
	content: "";
	width: 0;
	height: 0;
	border: 10px solid transparent;
	border-bottom: 10px solid #fff;
	position: absolute;
	bottom: 50%;
	left: 27%;
	margin-bottom: -5px;
}

.page-top a:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
}










/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
lower
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*--------------------------------------------------
   main
--------------------------------------------------*/ 
.lower {
	min-width: 800px;
}




/*--------------------------------------------------
   lower mv
--------------------------------------------------*/
.lower .mv {
  padding-top: 80px;
	position: relative;
}

.lower .mv .inner {
	width: 100%;
	position: relative;
}

.lower .mv .mv-img {
	width: 100%;
	background: #41caf4;
	position: absolute;
	top: 0;	
}

.lower .mv .mv-img img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	opacity: 0.5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha(opacity=50)";
}


.lower .mv .mv-ttl {
	display: table;
	width: 100%;
	height: 200px;
	color: #fff;
	position: relative;
}

.lower .mv .ttl-inner {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}

.lower .mv .ttl-sub {
	font-size: 40px;
	font-weight: bold;
}

.lower .mv .ttl-main {
	font-size: 14px;
	font-weight: bold;
	margin-top: 10px;
}




/*--------------------------------------------------
  bc-list
--------------------------------------------------*/
.bc-list {
  line-height: 16px;
}

.bc-list .bc-inner {
	max-width: 980px;
	margin: auto;
	padding-top: 10px;
}

.bc-list .bc-inner li {
	display: inline-block;
	color: #333;
	font-size: 12px;
	padding: 0 0 0 24px;
	position: relative;
}

.bc-list .bc-inner li a {
	padding-left: 0;
	margin-left: -24px;
}

.bc-list .bc-inner li::before {
	position: absolute;
	margin: 0 0 0 0;
	top: 0;
	left: 5px;
	display: block;
	content: '＞';
}

.bc-list .bc-inner li:first-child::before {
	display: none;
}




/*--------------------------------------------------
 l-ttl
--------------------------------------------------*/
.l-ttl {
	text-align: center;
}

.l-ttl01 {
	padding-top: 70px;
}

.l-ttl02 {
	padding-top: 70px;
}

.l-ttl03 {
	padding-top: 70px;
}

.ttl-text {
	font-size: 16px;
	text-align: center;
	padding: 30px 0 70px;
}


/*---------- ttl-main01 ----------*/
.l-ttl .ttl-sub {
	color: #202020;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.4em;
}

.l-ttl .ttl-main01 {
	color: #202020;
	font-size: 14px;
	font-weight: bold;
}


/*---------- ttl-main02----------*/
.l-ttl .ttl-main02 {
	color: #545658;
	font-size: 44px;
	line-height: 1.0em;
	margin-bottom: 40px;
	position: relative;
}
.l-ttl .ttl-main02:after {
	display: block;
	content: '';
	width: 40px;
	height: 2px;
	background: #41caf4;	
	position: absolute;
	margin: 0 0 0 -20px;
	left: 50%;
	bottom: -40px;
}


/*---------- ttl-main03 ----------*/
.l-ttl .ttl-main03 {
	color: #545658;
	font-size: 28px;
	line-height: 1.0em;
	margin-bottom: 30px;
	position: relative;
}
.l-ttl .ttl-main03:after {
	display: block;
	content: '';
	width: 30px;
	height: 2px;
	background: #41caf4;	
	position: absolute;
	margin: 0 0 0 -15px;
	left: 50%;
	bottom: -30px;
}


/*---------- ttl-main04 ----------*/
.l-ttl .ttl-main04 {
	color: #111;
	font-size: 28px;
	line-height: 1.4em;
	margin-bottom: 30px;
  font-weight: bold;
	position: relative;
}
.l-ttl .ttl-main04:after {
	display: block;
	content: '';
	width: 30px;
	height: 2px;
	background: #41caf4;	
	position: absolute;
	margin: 0 0 0 -15px;
	left: 50%;
	bottom: -25px;
}



/*--------------------------------------------------
  l-sec
--------------------------------------------------*/
.l-sec .inner {
	width: 100%;
}




/*--------------------------------------------------
 map
--------------------------------------------------*/
.map {
}

.map iframe {
	display: block;
	width: 100%;
	height: 360px;
}




/*--------------------------------------------------
 l-sec01
--------------------------------------------------*/
.l-sec01 {
	line-height: 2.0em;
}

.l-sec01 .sec-main {
	max-width: 800px;
	margin: auto;
	padding: 55px 0 110px;
}

.l-sec01 .text01 {
	text-align: justify;
}




/*--------------------------------------------------
 l-sec02
--------------------------------------------------*/
.l-sec02 {
	line-height: 1.8em;
}

.l-sec02 .sec-main {
	max-width: 800px;
	margin: auto;
	padding: 65px 0 70px;
}

.l-sec02 .pd-btm {
	padding-bottom: 120px;
}

.l-sec02 table {
	width: 100%;
	box-sizing: border-box;
	border-top: solid 1px;
	border-bottom: solid 1px;
	border-color: #000;
}

.l-sec02 table tr {
	box-sizing: border-box;
	border-bottom: solid 1px;
	border-color: #d6d6d6;
}
.l-sec02 table tr:last-child {
	border-bottom: none;
}

.l-sec02 table th {
	width: 35%;
	color: #000;
	font-weight: bold;
	padding-left: 35px;
}
.l-sec02 table .th01 {
	vertical-align: top;
	padding-top: 20px;
}

.l-sec02 table td {
	text-align: justify;
	padding: 20px 35px;
}


.l-sec02 table td .entry-link {
	box-sizing: border-box;
	border: solid 1px #aaceed;
}





/*--------------------------------------------------
 l-sec03
--------------------------------------------------*/
.l-sec03 {
	line-height: 1.8em;
	font-size: 16px;
}

.l-sec03 .sec-main {
	max-width: 800px;
	margin: auto;
	padding: 70px 0 100px;
}

.l-sec03 dl {
	display: table;
	width: 100%;
}

.l-sec03 dt {
	display: table-cell;
	width: 18%;
	font-size: 34px;
	line-height: 1.0em;
	color: #41caf4;
	font-weight: bold;
	position: relative;
}
.l-sec03 dt::before {
	position: absolute;
	top: 10px;
	right: 25px;
	display: block;
	content: '';
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #41caf4;
	z-index: 999;
}
.l-sec03 dt::after {
	position: absolute;
	top: 10px;
	right: 31px;
	display: block;
	content: '';
	width: 2px;
	height: 100%;
	background: #e0e0e0;
}

.l-sec03 dl:last-of-type dt::after {
	height: 100%;
	top: -36px;
}

.l-sec03 dd {
	display: table-cell;
	padding: 5px 0 30px 0;
	vertical-align: top;
	width: 82%;
}




/*--------------------------------------------------
 l-sec04
--------------------------------------------------*/
.l-sec04 {
	line-height: 2.0em;
}

.l-sec04 .sec-main {
	padding: 70px 0;
}

.l-sec04 .pd-btm {
	padding-bottom: 40px;
}

.l-sec04 .img-area {
	width: 50%;
	float: left;
}

.l-sec04 .img-area img {
	width: 100%;
}

.l-sec04 .text-area {
	width: 45%;
	box-sizing: border-box;
	text-align: justify;
	padding-right: 100px;
	float: right;
}

.l-sec04.even .img-area,
.l-sec04.even .text-area {
	float: right;
}




/*--------------------------------------------------
 l-sec05
--------------------------------------------------*/
.l-sec05 {
	line-height: 1.8em;
}

.l-sec05 .sec-main {
	max-width: 980px;
	margin: auto;
	padding: 75px 0 50px;
}

.l-sec05 .block01 {
	background: #f9f9f9;
	position: relative;
}

.l-sec05 .block01 .img-area {
	width: 50%;
	float: left;
}

.l-sec05 .block01 .img-area img {
	width: 100%;
	height: 330px;
}

.l-sec05 .block01 .text-area {
	width: 50%;
	height: 330px;
	float: left;
}

.l-sec05.even .img-area,
.l-sec05.even .text-area {
	float: right;
}

.l-sec05 .block01 .text-inner {
	box-sizing: border-box;
	padding: 40px 50px 50px;
}

.l-sec05 .block01 .text01 {
	font-size: 26px;
	line-height: 1.4em;
}

.l-sec05 .block01 .text02 {
	font-size: 20px;
	margin-top: 20px;
}

.l-sec05 .block01 .text03 {
	margin-top: 10px;
}



.l-sec05 .block02 {
	padding-top: 20px;
}

.l-sec05 .text-more {
	display: none;
}

.text-more-btn {
	width: 200px;
	height: 40px;
	cursor: pointer;
	margin: 30px auto 0;
	position: relative;
}

.text-more-btn::before {
	content: '詳しく見る';
	display: block;
	background: #41caf4;
	border-radius: 20px;
	line-height: 40px;
	color: #fff;
	text-align: center;
	font-size: 12px;
	position: relative;
}

.text-more-btn::after {
	display: block;
	content: '';
	width: 6px;
	height: 6px;
	border-top: 1px solid;
	border-right: 1px solid;
	border-color: #fff;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	position: absolute;
	margin: -4px 0 0 0;
	top: 50%;
	right: 20px;	
}

.text-more-btn.open::before {
	content: '閉じる';
	display: block;
	background: #41caf4;
	border-radius: 20px;
	line-height: 40px;
	color: #fff;
	text-align: center;
	font-size: 12px;
	position: relative;
}

.text-more-btn.open::after {
	display: block;
	content: '';
	width: 6px;
	height: 6px;
	border-top: 1px solid;
	border-right: 1px solid;
	border-color: #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	margin: -2px 0 0 0;
	top: 50%;
	right: 20px;	
}




/*--------------------------------------------------
 l-sec06
--------------------------------------------------*/
.l-sec06 .inner {
	margin-top: 20px;
}

.l-sec06 .sec-main {
	max-width: 800px;
	margin: auto;
	padding: 50px 0 100px;
}

.l-sec06 .slider {
	width: 100%;
	height: auto;
	position: relative;
}

.l-sec06 .slider img {
	width: 100%;
	height: auto;
 }


/*---------- arrows ----------*/
button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	z-index: 9999;
}

.slide-arrow {
  position: absolute;
	top: 42%;
	cursor: pointer;
	z-index: 9999;
	width: 40px;
	height: 40px;
}

.prev-arrow {
	left: -60px;
	z-index: 9999;
} 
.next-arrow {
	right: -60px;
	z-index: 9999;
}

.prev-arrow:before,
.next-arrow:before {
	display: block;
	content: "";
	width: 40px;
	height: 40px;
	background: #41caf4;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -20px;
	margin-left: -20px;
	z-index: 9999;
}

.prev-arrow:after,
.next-arrow:after {
	display: block;
	content: "";
	width: 8px;
	height: 8px;
	border-top: solid 4px #fff;
	border-right: solid 4px #fff;
	position: absolute;
	top: 50%;
	margin: -6px 0 0 0;
	z-index: 9999;
}
.prev-arrow:after {
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	left: 16px;
}
.next-arrow:after {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	left: 13px;
}


/*---------- pager ----------*/
.slide-dots {
  position: absolute;
  text-align: center;
  margin: 0 0 0 -40px;
  z-index: 888;
  bottom: -48px;
  left: 33%;
}

.slide-dots li {
	display: inline-block;
	padding: 0 10px;
}

.slide-dots li button {
	width: 12px;
	height: 12px;
	background: #aaa;
	border-radius: 50%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

.slide-dots .slick-active button {
	width: 12px;
	height: 12px;
	background: #41caf4;
	position: relative;
	top: 0;
}


/*---------- caption ----------*/
.l-sec06 .slider .caption {
	background: #fff;
	font-size: 18px;
	padding: 25px 20px;
}



/*----------------------------------------------------------------------------------------------------

  20210726 追加

----------------------------------------------------------------------------------------------------*/


/*--------------------------------------------------
 parts01
--------------------------------------------------*/

.parts01 {
	max-width: 700px;
	margin: auto;
  line-height: 1.6em;
  font-size: 16px;
  color: #000;
}


.parts01 li {
  position: relative;
}

.parts01 li span {
  display: block;
  position: relative;
  padding: 15px 0 15px 50px;
}

.parts01 li::before {
	display: block;
	content: '';
	width: 22px;
	height: 22px;
	border: 3px solid #000;
	position: absolute;
	margin: -15px 0 0 0;
	top: 50%;
  left: 0;
}

.parts01 li::after {
	display: block;
	content: '';
	width: 12px;
	height: 9px;
  background: #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 14px;
	left: 19px;	
}

.parts01 span::before {
	display: block;
	content: '';
	width: 28px;
	height: 8px;
  border-left: 3px solid #339900;
  border-bottom: 3px solid #339900;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 13px;
	left: 4px;
  z-index: 666;
}

/*--------------------------------------------------
 parts02
--------------------------------------------------*/


.parts02 {
	max-width: 700px;
	margin: auto;
  line-height: 1.6em;
  font-size: 16px;
}

.parts02 .table-main {
	width: 100%;
	box-sizing: border-box;
	border-top: solid 1px #000;
	border-bottom: solid 1px #000;
  color: #000;
}

  .parts02 .table-main tr {
    box-sizing: border-box;
    border-bottom: solid 1px #ddd;
  }

  .parts02 .table-main tr:last-child {
    border-bottom: none;
  }

  .parts02 .table-main th {
    width: 40%;
    font-weight: bold;
    text-align: center;
    border-bottom: solid 1px #000;
  }

  .parts02 .table-main td {
    width: 60%;
    height: 60px;
    text-align: center;
  }



/*--------------------------------------------------
 parts03
--------------------------------------------------*/


.parts03 {
	max-width: 800px;
	margin: auto;
  line-height: 1.6em;
  font-size: 16px;
}

.parts03 .table-main {
	width: 100%;
	box-sizing: border-box;
	border-top: solid 1px #000;
	border-bottom: solid 1px #000;
  color: #000;
}

  .parts03 .table-main tr {
    box-sizing: border-box;
    border-bottom: solid 1px #ddd;
  }

  .parts03 .table-main tr:last-child {
    border-bottom: none;
  }

  .parts03 .table-main th {
    width: 30%;
    font-weight: bold;
    padding: 0 0 0 35px;
  }

  .parts03 .table-main td {
    width: 70%;
    height: 60px;
    padding: 0 0 0 35px;
  }

  .parts03 .table-sub {
    width: 100%;
  }

  .parts03 .table-sub th {
    font-weight: normal;
  }

  .parts03 .table-main .padding-l00 {
    padding-left: 0;
  }

/*--------------------------------------------------
 parts04
--------------------------------------------------*/


.parts04 {
	max-width: 800px;
	margin: auto;
  line-height: 1.6em;
  font-size: 16px;
}

.parts04 .table-wrap01 {
	border-top: solid 1px #000;
	border-bottom: solid 1px #000;
  color: #000;
}

.parts04 tr:hover {
background-color: #dbecd3; /* マウスオーバー時の行の背景色 */
}

.parts04 .hover-no:hover {
  background: none; /* マウスオーバー時の行の背景色 */
}

.parts04 td:hover {
background-color: #c3dfb5; /* マウスオーバー時のセルの背景色 */
}

.parts04 .hover-no td:hover {
  background: none; /* マウスオーバー時の行の背景色 */
}

.parts04 .table-main {
	width: 100%;
}

  .parts04 .table-main tr {
    box-sizing: border-box;
    border-top: solid 1px #ddd;
  }

  .parts04 .table-main tr:first-child {
    border-top: none;
  }

  .parts04 .table-main th {
    /* width: 34%; */
	width: 22%;
    font-weight: bold;
    text-align: center;
  }

  .parts04 .table-main td {
    width: 22%;
    height: 60px;
    text-align: center;
    border-left: solid 1px #ddd;
  }

  .parts04 .table-main tr td:first-child {
    border-left: none;
  }

  .parts04 .table-sub01 {
    width: 100%;
  }

    .parts04 .table-sub01 tr {
      box-sizing: border-box;
      border-top: solid 1px #ddd;
    }

    .parts04 .table-sub01 th {
      /* width: 14%; */
	  width: 10%;
      font-weight: bold;
      text-align: center;
      background: #f1f1f1;
    }

    .parts04 .table-sub01 td {
      height: 60px;
      text-align: center;
      border-left: solid 1px #ddd;
    }

      .parts04 .table-sub01 .td01 {
        /* width: 20%; */
		width: 12%;
      }

      .parts04 .table-sub01 .td02 {
        /* width: 44%; */
		width: 22%;
      }

      .parts04 .table-sub01 .td03 {
        width: 22%;
      }

    .parts04 .table-sub01 tr td:first-child {
      /* border-left: none; */
    }


/*--------------------------------------------------
 parts05
--------------------------------------------------*/

.parts05 {
	max-width: 700px;
	margin: auto;
  line-height: 1.6em;
  font-size: 16px;
  color: #000;
}

  .parts05 .parts-inner{
    display: flex;
    align-items: center;
  }

  .parts05 .img-area {
    width: 20%;
  }

    .parts05 .img-area img {
      width: 100%;
    }

  .parts05 .text-area {
    width: 80%;
    padding: 0 0 0 40px;
  }

    .parts05 .text-area .text01{
      font-weight: bold;
      font-size: 20px;
      margin: 0 0 10px 0;
    }

/*--------------------------------------------------
 parts06
--------------------------------------------------*/

.parts06 {
	max-width: 700px;
	margin: auto;
  line-height: 1.6em;
  font-size: 18px;
  color: #000;
  box-sizing: border-box;
}


  .parts06 .text-area {
    padding: 25px 0;
    background: #f1f1f1;
    text-align: center;
  }

    .parts06 .text-area .text02 {
      font-weight: bold;
      font-size: 30px;
      margin: 10px 0 0 0;
    }

    .parts06 .text-area .text02 a {
      font-weight: bold;
      color: #000;
      pointer-events: none;
    }


/*--------------------------------------------------
 parts07
--------------------------------------------------*/


.parts07 {
	max-width: 800px;
	margin: auto;
  line-height: 1.6em;
  font-size: 16px;
}

.parts07 .table-wrap01 {
	border-top: solid 1px #000;
	border-bottom: solid 1px #000;
  color: #000;
}

.parts07 .table-main {
	width: 100%;
}

  .parts07 .table-main tr {
    box-sizing: border-box;
    border-top: solid 1px #ddd;
  }

  .parts07 .table-main tr:first-child {
    border-top: none;
  }

  .parts07 .table-main th {
    width: 50%;
    font-weight: bold;
    text-align: center;
    border-right: solid 1px #ddd;
  }

    .parts07 .table-main .th02 {
      width: 20%;
    }

  .parts07 .table-main td {
    height: 60px;
    text-align: center;
    border-right: solid 1px #ddd;
  }

  .parts07 .table-main tr td:last-child {
    border-right: none;
  }


/*--------------------------------------------------
 info
--------------------------------------------------*/

  #info .sec01 {
    padding: 0 0 120px 0;
  }

  #info .sec01 .parts01 {
    margin-top: 60px;
  }

  #info .sec01 .parts02 {
    margin-top: 60px;
  }

  #info .sec02 {
    padding: 0 0 100px 0;
  }

  #info .sec02 .parts03 {
    margin-top: 70px;
  }

  #info .sec03 {
    padding: 0 0 80px 0;
  }

    #info .sec03 .block01 {
    }

    #info .sec03 .block01 .text03 {
      margin: 80px 0 0 0;
      text-align: center;
      font-size: 24px;
      font-weight: bold;
      color: #000;
    }

    #info .sec03 .block01 .parts07 {
      margin-top: 30px;
    }


    #info .sec03 .block01 .text-area01 {
      max-width: 800px;
      margin:  20px auto 0;
    }

    #info .sec03 .block01 .text04 {
      margin:  5px 0 0 0;
      font-size: 14px;
      color: #000;
    }

  #info .sec03 .block01 .parts06 {
    margin-top: 40px;
  }

  #info .sec03 .block02 {
    padding: 30px 0 0 0;
  }


  #info .sec03 .block02 .table01 {
    margin-top: 30px;
  }

    #info .sec03 .block02 .table01 th {
      width: 40%;
    }

    #info .sec03 .block02 .table01 strong {
      font-size: 1.4em;
    }

  #info .sec03 .block02 .table02 {
    margin-top: 60px;
  }

    #info .sec03 .block02 .table02 .th02 {
      width: 25%;
    }


  #info .sec03 .block02 .table03 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

    #info .sec03 .block02 .table03 th {
      width: 30%;
    }

    #info .sec03 .block02 .table03 td {
      padding: 15px 0;
    }


  #info .sec03 .block02 .text04 {
    color: #000;
    margin-top: 10px;
  }

  #info .sec03 .block02 .text05 {
    font-weight: bold;
    color: #000;
    text-align: center;
    margin-bottom: 15px;
  }

  #info .sec03 .block02 .table02 small {
    display: inline-block;
    font-size: 0.9em;
    line-height: 1.2em;
  }




  #info .sec03 .block03 {
    padding: 30px 0 0 0;
  }

  #info .sec03 .parts05 {
    margin-top: 70px;
  }

  #info .sec03 .parts06 {
    margin-top: 40px;
  }

  #info .sec03 .btn {
    margin: 100px auto 0;
  }

/*--------------------------------------------------
 acc
--------------------------------------------------*/

  #acc .sec01 {
    padding: 80px 0 100px 0;
  }

  #acc .sec02 {
  }


  #acc .sec02 .btn {
    margin: 60px auto 80px;
  }

/*--------------------------------------------------
 pri
--------------------------------------------------*/

  #pri .sec01 {
    padding: 0 0 100px 0;
  }

  #pri .sec01 .text-area {
    max-width: 800px;
    margin: 70px auto 0;
    color: #000;
  }

  #pri .sec01 .text01 {
    line-height: 2.0em;
    font-size: 17px;
  }

  #pri .sec01 .text02 {
    margin: 30px 0 0 0;
    font-weight: bold;
    font-size: 19px;
    color: #d00;
    text-align: center;
  }


  #pri .sec02 {
    padding: 0 0 100px 0;
  }

  #pri .sec02 .parts04 {
    margin-top: 70px;
  }

  #pri .sec02 .text-area {
    max-width: 800px;
    margin: 30px auto 0;
    line-height: 1.6em;
  }

  #pri .sec02 .text-area .text01 {
    margin: 0 0 5px 0;
    color: #000;
  }

  #pri .sec03 {
    padding: 0 0 80px 0;
  }

  #pri .sec03 .text01 {
    line-height: 2.0em;
    font-size: 17px;
  }

  #pri .sec03 .parts03 {
    margin-top: 70px;
  }

  #pri .sec03 .btn {
    margin: 80px auto 0;
  }
