@charset "UTF-8";

/*  reset
========================================================================*/

body {
  overflow-x: hidden;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  vertical-align: top;
}

.pbHeaderArea, .pbFooterArea {
  overflow: visible;
}

:focus {
  outline: none;
}

:root ol, :root ul {
  margin: 0;
  padding: 0;
}

.pbNested {
  clear: none;
  overflow: visible;
  min-width: 10px;
}

.pb-layout {
  outline: 1px dotted #ccc !important;
  box-shadow: none!important;
}

.pb-handle {
  display: block!important;
  width: auto!important;
  height: auto!important;
  min-width: auto!important;
  min-height: auto!important;
  border: 1px solid #999!important;
  font-family: Meiryo, 'Hiragino Kaku Gothic ProN', 'MS PGothic', Sans-serif!important;
  font-weight: normal!important;
  letter-spacing: normal!important;
  text-indent: 0!important;
  line-height: 1.6;
}

.pb-handle:before, .pb-handle:after {
  display: none!important;
}

.pbNotEditable {
  min-width: 200px!important;
  background: rgba(32, 32, 32, 0.5)!important;
}

.pbZero td {
  vertical-align: middle;
}

/*  base
========================================================================*/

.pbPage {
  position: relative;
  overflow: hidden!important;
  -webkit-text-size-adjust: 100%;
  -webkit-print-color-adjust: exact;
  background: #fff;
  font-family: "Noto Sans JP", メイリオ, Meiryo, sans-serif;
  color: #333;
  font-size: 100%;
  line-height: 1.8;
}

@media screen and (max-width: 1024px) {
	.pbPage.open {
		position: fixed;
	}
}

/*  link
------------------------------------------------*/

a {
  color: #000;
  transition: all .3s;
  text-decoration: underline;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a img {
  transition: all .8s;
}

@media (min-width: 768px) {
  a:hover {
    text-decoration: none;
  }
}

/*  img
------------------------------------------------*/

img {
  max-width: 100%;
  height: auto;
}

/*  utility
========================================================================*/

@media print, screen and (min-width: 768px) {
	.u_sp {
		display: none!important;
	}
}
@media screen and (max-width: 767px) {
	.u_pc {
		display: none!important;
	}
}

/*  header
========================================================================*/

.header {
  position: absolute;
  z-index: 1001;
  padding: 40px;
  background: linear-gradient(to bottom, #0000003b, #00000000);
  width: 100%;
}

@media screen and (max-width: 1000px) {
	.header {
	  padding: 15px;
	  background: none;
	}
	.header svg {
	  width: 200px;
	  height: auto;
	}
	.pbPage.open .header svg path {
	  fill: #333333;
	}
}

.mainlogo {
  position: absolute;
  z-index: 100;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}

/*  sp-menu
------------------------------------------------*/

.header .sp-menu {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1000;
	width: 50px;
	height: 50px;
}
.header .sp-menu span {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	width: 20px;
	height: 2px;
	background: #fff;
}
.open .header .sp-menu span {
	background: #333;
}
.header .sp-menu span:nth-of-type(1) {
	top: 15px;
}
.header .sp-menu span:nth-of-type(2) {
	top: 24px;
}
.header .sp-menu span:nth-of-type(3) {
	bottom: 15px;
}
.pbPage.open .header .sp-menu span:nth-of-type(1) {
	animation: open01 .75s forwards;
}
.pbPage.close .header .sp-menu span:nth-of-type(1) {
	animation: close01 .75s;
}
@keyframes open01 {
	0% {transform: translateY(0) rotate(0);}
	50% {transform: translateY(9px) rotate(0);}
	100% {transform: translateY(9px) rotate(45deg);}
}
@keyframes close01 {
	0% {transform: translateY(9px) rotate(45deg);}
	50% {transform: translateY(9px) rotate(0);}
	100% {transform: translateY(0) rotate(0);}
}
.pbPage.open .header .sp-menu span:nth-of-type(2) {
	opacity: 0;
}
.pbPage.open .header .sp-menu span:nth-of-type(3) {
	animation: open03 .75s forwards;
}
.pbPage.close .header .sp-menu span:nth-of-type(3) {
	animation: close03 .75s;
}
@keyframes open03 {
	0% {transform: translateY(0) rotate(0);}
	50% {transform: translateY(-9px) rotate(0);}
	100% {transform: translateY(-9px) rotate(-45deg);}
}
@keyframes close03 {
	0% {transform: translateY(-9px) rotate(-45deg);}
	50% {transform: translateY(-9px) rotate(0);}
	100% {transform: translateY(0) rotate(0);}
}

@media screen and (max-width: 1000px) {
	.header .sp-menu {
		display: block;
		z-index: 100;
	}
}


/*  header lower
========================================================================*/

.lower .header {
  position: unset;
  z-index: 1001;
  padding: 20px;
  background: unset;
  width: 100%;
}
.lower .header svg {
	width: 280px;
	height: auto;
}
.lower .header svg path {
  fill: #333333;
}

.mainlogo {
  position: absolute;
  z-index: 100;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}

.lower .header .sp-menu span {
	background: #333;
}

@media screen and (max-width: 767px) {
	.mainlogo {
		width: 80%;
	}
}

/*  navigation
------------------------------------------------*/

.navigation {
	font-size: 90%;
}
.navigation > div {
	background: #eee;
	color: #333;
}
.navigation > div > div {
	width: calc(100% - 30px);
	max-width: 1040px;
	margin: 0 auto;
	padding: 10px 0;
}
.navigation a {
	position: relative;
	padding-right: 25px;
	color: #a09f9f;
	text-decoration: none;
}
@media (min-width: 1001px) {
	.navigation a:hover {
		color: #333;
	}
}
.pbBlockNavigation a:after {
	content: '';
	position: absolute;
	top: .55em;
	right: 11px;
	width: .4em;
	height: .4em;
	border-top: 1px solid #a09f9f;
	border-right: 1px solid #a09f9f;
	transform: rotate(45deg);
}

/*  slick
========================================================================*/

.slide-items .slick-dots {
	bottom: 70px;
}
.slide-items .slick-dots li button:before
{
    opacity: .75;
    color: #fff;
}
.slide-items .slick-dots li.slick-active button:before
{
    opacity: .75;
    color: #333333;
}

/*  slide
========================================================================*/

.slide-items,
.slide-items2 {
  width: 100%;
  height: 100%;
}

.slide-items img,
.slide-items2 img {
  width: 100%;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
	.slide-items2 img {
	  height: 250px;
	}
}

/* main area
========================================================================*/

.main_area {
  position: relative;
}

.main_area .slick-slide img
{
  height: 830px;
}

@media screen and (max-width: 767px) {
	.main_area .slick-slide img {
	  height: 100vh;
	}
}

/*  side-navi
========================================================================*/

.side-navi {
  position: fixed;
  z-index: 100;
  top: 300px;
  padding-left: 3px;
  box-shadow: 5px 5px 5px #0000001a;
}

.side-navi ul {
  width: 200px;
  list-style: none;
  color: #5F5F5F;
  font-weight: bold;
  font-size: 90%;
  background-color: #fff;
}

.side-navi ul a {
  color: #5F5F5F;
  padding: 15px 30px;
  display: block;
  text-decoration: none;
}

.side-navi ul a:hover {
	opacity: .6;
}

.side-navi ul a:before:hover {
  width: 100%;
  height: 100%;
}

.side-navi li {
  position: relative;
}
.side-navi li.gray {
  background-color: #EFEFEF;
  position: relative;
}
.side-navi li.gray:before {
  content: none;
}

.side-navi li:not(:last-child) {
  border-bottom: 1px solid #D0D0D0;
}

.side-navi ul li:before {
  content: '';
  display: block;
  position: absolute;
  width: 10px;
  height: 100%;
  left: 0;
  top: 0;
  background-color: #3F9D59;
}

.side-navi ul ul {
  position: absolute;
  top: 0;
  left: -200px;
}
.side-navi .dropdown {
}
.side-navi ul ul.open {
  left: 200px;
}

.side-navi ul ul li:before {
  width: 0;
}

@media screen and (max-width: 1000px) {
	.side-navi {
	  top: 0;
	  left: 100%;
	  transform: none;
	  transition: all .3s;
	  width: 100vw;
	  height: 100vh;
	  background: #ffffff;
	  z-index: 1000;
	  padding: 20px;
	  overflow-y: auto;
	}
	.pbPage.open .side-navi {
	  left: 0;
	}
	.side-navi ul {
	  width: 100%;
	}
	.side-navi > ul {
	  margin-top: 50px;
	}
	.side-navi ul a {
	  padding: 10px 20px;
	}
	.side-navi li:not(:last-child) {
	  border-bottom: none;
	}
	.side-navi ul li:before {
	  content: none;
	}
	.side-navi ul ul.open {
	  left: 0;
	}
	.side-navi ul ul {
	  position: unset;
	  display: flex;
	  flex-wrap: wrap;
	  margin-top: 10px;
	}
	.side-navi .title {
	  border-bottom: 1px solid #333;
	  margin-top: 20px;
		background-color: #eaeaea;
	}
}

/*  lower
------------------------------------------------*/

.lower .side-navi {
  position: absolute;
  z-index: 100;
  top: 255px;
  transform: none;
}

@media screen and (max-width: 767px) {
	.lower .side-navi {
	  top: 0;
	}
}

/* anchor
========================================================================*/

.anchor ul {
  width: 1040px;
  display: flex;
  justify-content: space-around;
  position: absolute;
  list-style: none;
  padding: 20px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  background-color: rgb(28 160 63 / 60%);
}
.anchor a {
  color: #fff;
  text-decoration: none;
}
.anchor a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 767px) {
  .anchor {
	bottom: 0px;
	position: absolute;
  }
  .anchor ul {
    width: 100%;
    flex-wrap: wrap;
    position: unset;
    transform: unset;
    justify-content: center;
  }
  .anchor li {
    margin: 0px 10px;
  }
}

/*  sns-area
========================================================================*/

.sns-area {
  display: flex;
  justify-content: center;
}
.sns-area a {
  display: flex;
  width: 38%;
  padding: 15px 30px;
  text-decoration: none;
  align-items: center;
}
.sns-area a:not(:last-child) {
  border-right: 1px solid #D6D6D6;
}
.sns-area a:hover {
  background: #f3f3f3;
}
.sns-area .title {
  font-weight: bold;
  font-size: 113%;
  line-height: 1.4;
}
.sns-area img {
  margin-right: 20px;
  height: 60px;
}
.sns-area .youtube .title {
  color: #C52E28;
}
.sns-area .twitter .title {
  color: #1D9BF0;
}
.sns-area .x .title {
  color: #000000;
}
.sns-area .line .title {
  color: #06c755;
}
.sns-area .instagram .title {
  color: #7638FA;
}
.sns-area .subtitle {
  font-size: 90%;
  line-height: 1.4;
  margin-top: 5px;
}

@media screen and (max-width: 767px) {
	.sns-area {
	  display: flex;
	  justify-content: space-between;
	  flex-wrap: wrap;
	  gap: 15px 0;
	}
	.sns-area a {
	  display: flex;
	  width: 49%;
	  flex-direction: column;
	  padding: 10px 0;
	}
	.sns-area a:not(:last-child) {
	 border-right: none;
	}
	.sns-area a:nth-child(odd) {
	 border-right: 1px solid #D6D6D6;
	}
	.sns-area img {
	  margin-right: 0;
	}
	.sns-area .textbox {
	  display: block;
	}
	.sns-area .title {
	  text-align: center;
	  font-size: 100%;
	  margin-top: 5px;
	}
	.sns-area .subtitle {
	  font-size: 70%;
	  line-height: 1.4;
	}
}

/*  topics
========================================================================*/

.topics-title {
  font-size: 157%;
  font-weight: bold;
  text-align: center;
  color: #3F9D59;
}
.topics {
  margin-top: 20px;
}

.topics .textbox {
  margin: 20px 10px;
}

.topics > div {
  display: flex;
  justify-content: space-between;
}

.topics > div:after {
  display: none;
}

.topics .box {
  width: 32.5%;
  background-color: #fff;
  padding: 10px;
  border: 1px solid #C1C1C1;
}

.topics .title:not(:first-child) {
  margin-top: 10px;
}
.topics .title {
  font-weight: bold;
  display: unset;
}

.topics .textbox span {
	background-color: #D54A6A;color:
	#fff;padding: 3px 10px;
	font-size: 10px;border-radius: 4px;
	margin-left: 10px;
}

.topics img {
  max-height: 187px;
  padding: 10px;
}

.topics .link {
  position: relative;
  background-color: #E3E3E3;
  text-align: center;
}
.topics .link a {
  width: 100%;
  height: 100%;
  display: block;
}

.topics a:hover {
  opacity: .6;
}

.topics .link a:after {
  content: url(../img/ic_zoom.png);
  position: absolute;
  bottom: 0;
  right: 10px;
}

.topics .link a[target=_blank]:after,
.topics .link a.pbOpenNewWindow:after,
.topics .link a[href$='.pdf']:after,
.topics .link a[href$='.doc']:after,
.topics .link a[href$='.docx']:after,
.topics .link a[href$='.xls']:after,
.topics .link a[href$='.xlsx']:after,
.topics .link a[href$='.ppt']:after,
.topics .link a[href$='.pptx']:after,
.topics .link a[href$='.zip']:after {
	font-family: FontAwesome;
	content: '\f08e';
	bottom: 10px;
	right: 8px;
	width: 20px;
	height: 20px;
	background: none;
	color: #747474;
	line-height: 1;
	font-size: 120%;
	border: none;
	transform: none;
}
.topics .link a[href$='.pdf']:after {
	content: '\f1c1';
}
.topics .link a[href$='.doc']:after,
.topics .link a[href$='.docx']:after {
	content: '\f1c2';
}
.topics .link a[href$='.xls']:after,
.topics .link a[href$='.xlsx']:after {
	content: '\f1c3';
}
.topics .link a[href$='.ppt']:after,
.topics .link a[href$='.pptx']:after {
	content: '\f1c4';
}
.topics .link a[href$='.zip']:after {
	content: '\f019';
}

.topics .text {
  margin-top: 5px;
  font-size: 80%;
}

.topics .subtitle {
  position: relative;
  font-size: 80%;
  font-weight: bold;
  color: #747474;
  margin-top: 8px;
  padding-left: 26px;
}
.topics .subtitle:before {
  content: url(../img/ic_date.png);
  position: absolute;
  left: 5px;
  top: 2px;
}

.topics .c_style:not(:first-child){
	margin-top: 5px;
}
.topics .c_style {
	font-size: 90%;
}

.banner-aria {
  margin-top: 30px;
  text-align: center;
}

@media screen and (max-width: 767px) {

	.topics {
	  margin-top: 10px;
	}
	.topics > div {
	  display: flex;
	  flex-wrap: wrap;
	}
	.topics a img {
	  max-height: 130px;
	}
	.topics .box {
	  width: 49%;
	  padding: 5px;
	}
	.topics .box:nth-child(n+3) {
		margin-top: 10px;
	}
	.topics .textbox {
	  margin: 15px 5px;
	}
	.topics .textbox span {
		display: inline;
	}
	.topics .textbox span {
		padding: 2px 10px;
		font-size: 10px;
		margin-left: 0;
		margin-top: 5px
	}
	.topics .title {
		font-size: 90%;
	}
}

/*  top
------------------------------------------------*/

.topics.top {
  position: absolute;
  top: -110px;
  width: 744px;
  left: 50%;
  transform: translateX(-50%);
}
.topics.top > div {
	display: block;
  justify-content: center;
}
.topics.top .box {
  display: flex;
  border: 2px solid #3F9D59;
  justify-content: space-between;
  width: 100%;
  height: 243px;
  flex-direction: row-reverse;
}
.topics.top .box:after {
	display:none;
}

.topics.top .link {
	width: 48%;
}
.topics.top .textbox {
  width: 48%;
  margin: 20px 20px;
  display: block;
}

.topics.top .title {
  margin-right: 10px;
}

.topics-modal img{
  text-align: center;
}

@media screen and (max-width: 767px) {
	.topics.top {
	  margin-top: 0;
	  width: 100%;
	}
	.topics.top .box {
	  display: flex;
	  width: 90%;
	  height: auto;
	}
	.topics.top .textbox {
	  width: 47%;
	  display: flex;
	  flex-direction: column;
	  align-items: flex-start;
	}
	.topics.top a img {
	  max-height: 150px;
	}
	.topics.top {
	  position: unset;
	  top: -120px;
	  min-width: 100%;
	  left: 50%;
	  transform: unset;
	}
	.topics.top > div {
	  justify-content: center;
	}
	.topics.top .box {
	  display: flex;
	  border: 2px solid #3F9D59;
	  justify-content: space-between;
	  width: 100%;
	  flex-direction: column;
	}
	.topics.top .box:after {
		display:none;
	}
	.topics.top .link {
		width: 100%;
	}
	.topics.top .textbox {
	  width: 100%;
	  padding: 10px;
	  margin: 0;
	  display: block;
	}
	
	.topics-modal img{
	  text-align: center;
	}
}

/*  slider
------------------------------------------------*/

.topics .slider .box {
	display: flex!important;
	min-width: 744px;
	flex-direction: inherit;
}
.topics .slider .slick-initialized .slick-slide {
	margin: 0 10px;
}
.topics .slide .textbox span {
	display: inline-block;
}

@media screen and (max-width: 767px) {
	.topics .slider {
		margin: 0 15px;
	}
	.topics .slider .box {
		width: 100%!important;
		min-width: inherit;
		flex-direction: column-reverse;
	}
	.topics .slider .textbox span  {
		display: inline-block;
	}
}

/*  image
------------------------------------------------*/

.topics.top .image {
  width: 48%;
  text-align: center;
  background-color: #E3E3E3;
}
.topics.top .image img {
  max-height: 100%;
  padding: 0;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.topics.top .image {
	  width: 100%;
	}
	.topics.top .image img {
	  max-height: 150px;
	}
}

/*  category
========================================================================*/

.category:not(:first-child) {
  margin-top: 60px;
}
.c_category:not(:first-child) {
  margin-top: 15px;
}

.c_category {
  border: 1px solid #ccc;
  border-radius: 8px;
  background-color: #fff;
}

.c_category tr {
  display: block;
  position: relative;
  padding: 20px 35px 20px 20px;
  border-bottom: 1px solid #ccc;
}

.c_category tr:last-child {
  border-bottom: none;
}
.c_category a {
  text-decoration: none;
}
.c_category .textbox {
  margin-top: 10px;
  display: block;
}
.c_category img {
  margin-right: 15px;
  max-width: 66px;
}
.c_category .date {
  display: block;
}
.c_category .c_style {
  display: inline;
}

.c_category .generic {
  display: block;
  width: 100% !important;
  color: #9F9F9F;
  font-size: 82%;
}

@media (min-width: 768px) {
  .c_category a:hover {
    text-decoration: underline;
  }
}

@media screen and (max-width: 767px) {
	.c_category tr {
	  display: block;
	  position: relative;
	  padding: 10px 15px 10px 10px;
	  border-bottom: 1px solid #ccc;
	}
	.c_category {
		font-size: 90%;
	}
}

/*  col-2
------------------------------------------------*/

.category.col-2>div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.category.col-2>div:after {
  display: none;
}

.category.col-2 .box {
  width: 49%;
}

.category.col-2 .box:nth-child(n+3) {
  margin-top: 40px;
}

.category .title {
  font-size: 160%;
  color: #3F9D59;
  font-weight: bold;
  position: relative;
}
.category .title.notice,
.category .title.event {
  padding-left: 45px;
}
.category .title.notice:before {
  content: url(../img/ic_notice.png);
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.category .title.event:before {
  content: url(../img/ic_event.png);
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .category.col-2 .box:not(:first-child) {
    margin-top: 20px;
  }
  .category.col-2 .box {
    width: 100%;
  }
}

/*  point
========================================================================*/

.c_point:not(:first-child) {
  margin-top: 40px;
}

.c_card>div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.point_title {
  border-bottom: 1px solid #E2E2E2;
  display: flex;
  margin-top: 60px;
  padding-bottom: 20px;
  align-items: center;
}
.point_title img {
  height: 64px;
  margin-right: 20px;
}
.point_title h3 {
  font-size: 125%;
}
.point_title span {
  display: block;
  font-weight: normal;
  font-size: 80%;
}
@media screen and (max-width: 767px) {
	.point_title {
	  display: flex;
	  flex-wrap: wrap;
	  justify-content: center;
	  flex-direction: column;
	}
	.point_title img {
	  height: 50px;
	}
	.point_title h3 {
	  font-size: 120%;
	  text-align: center;
	  margin-top: 10px;
	}
}

.c_h3+.point_list:not(:first-child) {
  margin-top: 50px;
}
.point_list > div {
  display: flex;
  justify-content: space-between;
}
.point_list > div:after {
  display: none;
}
.point_list .box {
  width: 19%;
  text-align: center;
  padding: 50px 10px 30px 10px;
  background-color: #F0F0F0;
  font-weight: bold;
  position: relative;
}
.point_list .box:before {
  content: url(../img/ic_point01.png);
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
.point_list .box.num02:before {
  content: url(../img/ic_point02.png);
}
.point_list .box.num03:before {
  content: url(../img/ic_point03.png);
}
.point_list .box.num04:before {
  content: url(../img/ic_point04.png);
}
.point_list .box.num05:before {
  content: url(../img/ic_point05.png);
}

@media screen and (max-width: 767px) {
	.point_list > div {
	  justify-content: center;
	  flex-wrap: wrap;
	  margin: 0 -4px;
	}
	.point_list .box {
	  width: calc(33% - 8px);
	  padding: 50px 10px 20px 10px;
	  margin: 0 4px;
	  font-size: 12px
	}
	.point_list .box:nth-child(n+4) {
	  margin-top: 40px;
	}
}

/*  profile
========================================================================*/

.c_h3+.profile:not(:first-child) {
  margin-top: 20px;
}
.profile > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.profile > div:after {
  display: none;
}

.profile .box {
  width: 19%;
}

.profile .box:nth-child(n+6) {
	margin-top: 15px;
}

.profile .inner {
  background-color: #fff;
  position: relative;
  border: 1px solid #ccc;
}

.profile a {
  text-decoration: none;
  padding: 10px;
  display: block;
}
.profile a:hover {
  opacity: .6;
}
.profile a:before {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  border-style: solid;
  border-width: 0 0 10px 10px;
  border-color: transparent transparent rgb(62 158 89) transparent;
  transition: all .3s;
}
.profile a:hover:before {
  border-width: 0 0 20px 20px;
}
.profile .image {
	text-align: center;
	background: #ededed;
	height: 185px;
	overflow: hidden;
	position: relative;
}
.profile .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
.profile .title {
  padding: 10px 5px;
}
.profile .title span {
  display: block;
  font-size: 14px;
}
.modal .imagebox {
  display: flex;
  align-items: flex-end;
}

.modal .titlebox {
  margin-left: 20px;
}

.modal .subtitle {
  font-size: 90%;
}

.modal .title {
  font-size: 100%;
  margin-top: 10px;
}

.modal .text {
  font-size: 100%;
  margin-top: 20px;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
	.profile .box {
	    width: 49%;
	  }
	.profile .box:nth-child(n+3) {
		margin-top: 10px;
	}
	.profile .box .image {
		width: auto;
		height: 150px;
		overflow: hidden;
	}
	.profile .box .image img {
		max-height: 150px;
	}
}

/*=====================================================
  bnrList
=====================================================*/

.bnrList > .pbNestedHorizontalWrapper {
  display: flex;
  flex-wrap: wrap;
}

.bnrList > .pbNestedHorizontalWrapper .pbHorizontalNested {
  width: 49% !important;
  margin: 0 auto 2% 0;
}

.bnrList > .pbNestedHorizontalWrapper .pbHorizontalNested:nth-child(2n) {
  margin: 0 0 2% auto;
}

@media print, screen and (min-width: 576px) {
  .bnrList > .pbNestedHorizontalWrapper .pbHorizontalNested {
    width: 24% !important;
    margin: 0 1% 1% 0;
  }
  .bnrList > .pbNestedHorizontalWrapper .pbHorizontalNested:nth-child(2n) {
    margin: 0 1% 1% 0;
  }
  .bnrList > .pbNestedHorizontalWrapper .pbHorizontalNested:nth-child(4n) {
    margin: 0 0 1% 0;
  }
}

@media print, screen and (min-width: 1200px) {
  .bnrList > .pbNestedHorizontalWrapper .pbHorizontalNested {
    width: 23.8% !important;
    margin-right: 1.6%;
    margin-bottom: 1.6%;
  }
  .bnrList > .pbNestedHorizontalWrapper .pbHorizontalNested:nth-child(2n) {
    margin: 0 1.6% 1.6% 0;
  }
  .bnrList > .pbNestedHorizontalWrapper .pbHorizontalNested:nth-child(4n) {
    margin: 0 0 1.6% 0;
  }
}

.bnrList > .pbNestedHorizontalWrapper .pbHorizontalNested p {
  margin: 0;
  padding: 0;
  line-height: 1;
}

/*=====================================================
  subNav
=====================================================*/
.subNav {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 15px;
  border: 5px solid #f4f8fd;
}

.subNav > .pbNested {
  display: flex;
  flex-wrap: wrap;
}

.subNav .subNav__primary {
  width: 100%;
  margin: 0 0 5px 0;
}

@media print, screen and (min-width: 768px) {
  .subNav .subNav__primary {
    width: 49.8%;
  }
  .subNav .subNav__primary:nth-child(even) {
    margin: 0 0 0 auto;
  }
}

@media print, screen and (min-width: 1200px) {
  .subNav .subNav__primary {
    width: 24%;
    margin: 0 0.5% 5px 0.5%;
  }
  .subNav .subNav__primary:nth-child(even) {
    margin: 0 0.5% 10px 0.5%;
  }
}

.subNav .subNav__primary a {
  margin: 0;
  padding: 15px 15px 15px 25px;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.4;
  font-weight: bold;
  font-family: "UD Shin Go DemiBold";
  color: #333;
  text-decoration: none;
  background-image: url(/library/common2020/images/icon_arrow_s_primary_right.png);
  background-repeat: no-repeat;
  background-position: 15px 22px;
  background-size: 5px 7px;
  border: 2px solid #17194C;
}

@media print, screen and (min-width: 1200px) {
  .subNav .subNav__primary a {
    transition: all .2s;
  }
  .subNav .subNav__primary a:hover {
    background-position: 19px 22px;
  }
}

/*=====================================================
  subNavTitle
=====================================================*/
.subNavTitle {
  margin: 0;
  padding: 12px 14px;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: bold;
  font-family: "UD Shin Go DemiBold";
  position: relative;
  background-color: #f4f8fd;
}

@media print, screen and (min-width: 1200px) {
  .subNavTitle {
    padding-left: 20px;
    font-size: 20px;
    font-size: 1.25rem;
  }
}

.subNavTitle a {
  color: #333;
  text-decoration: none;
}

.subNavTitle a:hover {
  text-decoration: none;
}

.subNavTitle:before {
  width: 6px;
  height: 22px;
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 0;
  background-color: #17194C;
}

@media print, screen and (min-width: 1200px) {
  .subNavTitle:before {
    top: 16px;
  }
}

/*==================================================
  footerNav
==================================================*/
.footerNav {
  width: 100%;
  padding: 30px 15px;
  color: #fff;
  background-image: url("/library/common2020/images/footer_bg.png");
  background-position: center 0;
  background-repeat: no-repeat;
  background-size: cover;
}

@media print, screen and (min-width: 1200px) {
  .footerNav {
    padding: 60px 20px 40px 40px;
  }
}

@media print, screen and (min-width: 1400px) {
  .footerNav {
    padding: 60px 0 40px 0;
  }
}

.footerNav a {
  color: #FFF;
  text-decoration: none;
}

.footerNav a:hover {
  text-decoration: underline;
}

@media print, screen and (min-width: 768px) {
  .footerNav .footerNav__inner {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
  }
}

@media print, screen and (min-width: 1200px) {
  .footerNav .footerNav__inner {
    max-width: 1040px;
  }
}

.footerNav .footerNav__box {
  margin: 0;
  padding: 0;
}

@media print, screen and (min-width: 768px) {
  .footerNav .footerNav__box {
    width: 31%;
    margin-right: 2%;
  }
}

@media print, screen and (min-width: 1200px) {
  .footerNav .footerNav__box {
    width: 18.4%;
    margin-right: 2%;
  }
  .footerNav .footerNav__box:nth-child(5n) {
    margin-right: 0;
  }
}

.footerNav .footerNav__box dl {
  margin: 0 0 40px 0;
  padding: 0;
}

.footerNav .footerNav__box dl dt {
  margin: 0 0 15px 0;
  padding: 0;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  font-family: "UD Shin Go DemiBold";
}

.footerNav .footerNav__box dl dd {
  margin: 0;
  padding: 0 0 0 20px;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.4;
}

.footerNav .footerNav__box dl dd ul {
  margin: 0;
  padding: 0;
}

.footerNav .footerNav__box dl dd ul li {
  margin: 0 0 10px 0;
  padding: 0;
}

/*==================================================
  footer
==================================================*/
.footer {
  padding: 30px 15px;
  background-color: #fff;
}

@media print, screen and (min-width: 1200px) {
  .footer {
    padding: 30px 30px 60px 30px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
  }
}

.footer .footer__info {
  margin: 0 0 20px 0;
}

@media print, screen and (min-width: 1200px) {
  .footer .footer__info {
    width: 48%;
    margin: 0 auto 0 0;
  }
}

.footer .footer__info .footer__logo {
  max-width: 286px;
  margin: 0 auto 15px auto;
}

@media print, screen and (min-width: 1200px) {
  .footer .footer__info .footer__logo {
    margin: 0 0 15px 0;
  }
}

.footer .footer__info .footer__address {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.6;
  text-align: center;
}

@media print, screen and (min-width: 1200px) {
  .footer .footer__info .footer__address {
    text-align: left;
  }
}

@media print, screen and (min-width: 1200px) {
  .footer .footer__util {
    width: 48%;
    margin: 0 0 0 auto;
  }
}

.footer .footer__util .footer__link {
  margin-bottom: 20px;
}

.footer .footer__util .footer__link ul {
  margin: 0;
  padding: 0;
}

@media print, screen and (min-width: 768px) {
  .footer .footer__util .footer__link ul {
    padding: 0;
    text-align: center;
  }
  .footer .footer__util .footer__link ul:after {
    content: "｜";
    display: inline-block;
  }
}

@media print, screen and (min-width: 1200px) {
  .footer .footer__util .footer__link ul {
    text-align: right;
  }
}

.footer .footer__util .footer__link ul li {
  margin: 0 0 7px 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.4;
}

.footer .footer__util .footer__link ul li a {
  padding-left: 14px;
  background-image: url(/library/common2020/images/icon_arrow_s_primary_right.png);
  background-repeat: no-repeat;
  background-position: 0 center;
  background-size: 5px 7px;
}

@media print, screen and (min-width: 768px) {
  .footer .footer__util .footer__link ul li a {
    padding-left: 0;
    color: #333;
    text-decoration: none;
    background-image: none;
  }
  .footer .footer__util .footer__link ul li a:hover {
    text-decoration: underline;
  }
}

@media print, screen and (min-width: 768px) {
  .footer .footer__util .footer__link ul li {
    margin: 0;
    display: inline-block;
  }
  .footer .footer__util .footer__link ul li:before {
    content: "｜";
    display: inline-block;
    padding-right: 3px;
  }
}

.footer .footer__util .copyright {
  margin: 0;
  padding: 0;
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 1.4;
  text-align: center;
}

@media print, screen and (min-width: 1200px) {
  .footer .footer__util .copyright {
    text-align: right;
  }
}

/*==================================================
  btnPageTop
==================================================*/
.btnPageTop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 500;
}

.btnPageTop a {
  width: 60px;
  height: 60px;
  display: block;
  overflow: hidden;
  text-indent: -9999px;
  opacity: 0.9;
  background-color: #17194C;
  background-image: url(/library/common2020/images/icon_arrow_s_white_up.png);
  background-position: center center;
  background-size: 7px 5px;
  background-repeat: no-repeat;
}

/*  popup-box
========================================================================*/

.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
    width: auto!important;
}
.mfp-auto-cursor .mfp-content {
    margin: 50px 0;
}
.mfp-content > div {
  position: relative;
  font-family: Meiryo, 'Hiragino Kaku Gothic ProN', 'MS PGothic', Sans-serif!important;
  background: #FFF;
  padding: 30px;
  width: auto;
  max-width: 800px;
}
.mfp-content > div .imagebox {
	display: flex;
	align-items: flex-end;
}
.mfp-content > div .imagebox img {
	max-width: 180px;
}
.mfp-content > div .titlebox {
	margin-left: 20px;
}
.mfp-content > div .title {
	font-size: 130%;
	line-height: 1.5;
}
.mfp-content > div .title span {
	font-size: 87%;
	display: block;
}
.mfp-content > div .title.line {
	margin-top: 20px;
	font-size: 120%;
	line-height: 1.5;
	font-weight: bold;
	border-bottom: 1px solid #333;
	padding: 8px 5px;
}
.mfp-content > div .text {
	margin-top: 20px;
	font-size: 100%;
	line-height: 1.8;
}

.mfp-content > div .caption {
	margin-top: 15px;
	font-size: 90%;
	line-height: 1.8;
	color: #999;
}
@media screen and (max-width: 767px) {
	.mfp-auto-cursor .mfp-content {
	    margin: 20px 0;
	}
	.mfp-content > div {
	  position: relative;
	  font-family: Meiryo, 'Hiragino Kaku Gothic ProN', 'MS PGothic', Sans-serif!important;
	  background: #FFF;
	  padding: 25px;
	  width: auto;
	  max-width: 800px;
	}
	.mfp-content > div .imagebox {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	.mfp-content > div .titlebox {
		width: 100%;
		margin-left: 0;
	}
	.mfp-content > div .title {
		margin-top: 20px;
		font-size: 120%;
		line-height: 1.5;
	}
	.mfp-content > div .text {
		margin-top: 20px;
		font-size: 90%;
		line-height: 1.8;
	}
}

/*========================================================================

  utility

========================================================================*/

.u_left {
  text-align: left!important;
}

.u_center {
  text-align: center!important;
}

.u_right {
  text-align: right!important;
}

.mt60 {
	margin-top: 60px!important;
}

@media screen and (max-width: 767px) {
	.mt60 {
		margin-top: 40px!important;
	}
}


/*========================================================================

  component

========================================================================*/

/*  section
========================================================================*/

.c_section>div {
  width: calc(100% - 30px);
  max-width: 1040px;
  margin: 0 auto;
  padding: 70px 0;
}

@media screen and (max-width: 767px) {
  .c_section>div {
    padding: 40px 0;
  }
}

/*  green
------------------------------------------------*/

.c_section.green {
  background: #3F9D59;
  position: relative;
  height: 190px;
  margin-top: 160px;
}
.c_section.green > div {
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.c_section.green {
	  background: #3F9D59;
	  position: unset;
	  height: auto;
	  margin-top: 0;
	}
	.c_section.green > div {
	  margin: 0 auto;
	  padding: 20px 0;
	}
}

/*  light green
------------------------------------------------*/

.c_section.light-green {
  background: #F2F5F3;
}

/*  light
------------------------------------------------*/

.c_section.light {
  background: #f5f5f5;
}

/* sns
------------------------------------------------*/

.c_section.sns>div {
  padding: 10px 0;
}

/*  h2
========================================================================*/

.c_h2:not(:first-child) {
  margin-top: 60px;
}

.c_h2+div:not(:first-child) {
  margin-top: 30px;
}

.c_h2 h2 {
  font-size: 188%;
  font-weight: bold;
  letter-spacing: 1px;
}

@media screen and (max-width: 767px) {
  .c_h2:not(:first-child) {
    margin-top: 40px;
  }
  .c_h2+div:not(:first-child) {
    margin-top: 10px;
  }
  .c_h2 h2 {
    font-size: 140%;
    line-height: 1.4;
  }
}

/*  line
------------------------------------------------*/

.c_h2.line>div {
  padding-bottom: 15px;
  border-bottom: 2px solid #eee;
  color: #3F9D59;
}

@media screen and (max-width: 767px) {
  .c_h2.line>div {
    padding-bottom: 10px;
  }
}

/*  h3
========================================================================*/

.c_h3:not(:first-child) {
  margin-top: 40px;
}

.c_h3+div:not(:first-child) {
  margin-top: 30px;
}

.c_h3 {
  font-weight: bold;
  letter-spacing: 1px;
}
.c_h3 h3 {
  font-size: 151%;
}

@media screen and (max-width: 767px) {
  .c_h3+div:not(:first-child) {
    margin-top: 20px;
  }
  .c_h3 h3 {
    font-size: 110%;
  }
}

/*  green
------------------------------------------------*/

.c_h3.green {
  color: #3F9D59;
}


/*  line
------------------------------------------------*/

.c_h3.line>div {
  padding-bottom: 15px;
  border-bottom: 2px solid #eee;
}

@media screen and (max-width: 767px) {
  .c_h3.line>div {
    padding-bottom: 10px;
  }
}

/*  num
------------------------------------------------*/

.c_h3.num span {
  padding: 7px;
  background-color: #3e9e59;
  border-radius: 50%;
  font-size: 16px;
  color: #fff;
  margin-right: 5px;
}

/*  large
------------------------------------------------*/

.c_h3.large h3 {
	font-size: 24px;
}

/*  h4
========================================================================*/

.c_h4:not(:first-child) {
	margin-top: 40px;
}
.c_h4 + div:not(:first-child) {
	margin-top: 15px;
}
.c_h4 {
	font-size: 113%;
	font-weight: bold;
	letter-spacing: 1px;
}

@media screen and (max-width: 767px) {
	.c_h4 + div:not(:first-child) {
		margin-top: 10px;
	}
	.c_h4 {
		font-size: 120%;
	}
}

/*  green
------------------------------------------------*/

.c_h4.green {
  color: #3F9D59;
}

/*  list
========================================================================*/

/*  ul
------------------------------------------------*/

.c_link {
	margin-right: 15px;
	margin-top: 20px;
	display: inline-block;
	float: right;
}
.c_link a {
	position: relative;
	text-decoration: none;
	margin-left: 20px;
}
.c_link a:hover {
	text-decoration: underline;
}
.c_link a:before {
	content: '';
	position: absolute;
	top: .55em;
	margin-left: -20px;
	width: .5em;
	height: .5em;
	border-top: 2px solid #3e9e59;
	border-right: 2px solid #3e9e59;
	transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
	.c_link {
		padding-left: 15px;
		margin-top: 10px;
	}
}

/*  image
========================================================================*/

.c_image:not(:first-child) {
	margin-top: 30px;
}
.c_image a {
	overflow: hidden;
	display: inline-block;
}
@media (min-width: 768px) {
	.c_image a:hover img {
		transform: scale(1.1);
	}
}

@media screen and (max-width: 767px) {
	.c_image:not(:first-child) {
		margin-top: 20px;
	}
}

/*  full
------------------------------------------------*/

.c_image.full a {
	display: block;
}
.c_image.full img {
	width: 100%;
}

/*  small
------------------------------------------------*/

.c_image.small img {
	width: 60%;
}

/*  button
========================================================================*/

.c_button:not(:first-child) {
	margin-top: 30px;
}
.c_button {
	text-align: center;
}
.c_button a {
	position: relative;
	display: inline-block;
	width: 280px;
	max-width: 100%;
	padding: 8px 50px;
	background: #3e9e59;
	color: #fff;
	text-align: center;
	text-decoration: none;
	border-radius: 30px;
}
.c_button a:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 25px;
	margin: auto;
	width: 6px;
	height: 6px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	transform: rotate(45deg);
	transition: all .3s;
}
.c_button a[target=_blank]:after,
.c_button a.pbOpenNewWindow:after,
.c_button a[href$='.pdf']:after,
.c_button a[href$='.doc']:after,
.c_button a[href$='.docx']:after,
.c_button a[href$='.xls']:after,
.c_button a[href$='.xlsx']:after,
.c_button a[href$='.ppt']:after,
.c_button a[href$='.pptx']:after,
.c_button a[href$='.zip']:after {
	font-family: FontAwesome;
	content: '\f2d0';
	top: 2px;
	right: 15px;
	width: 20px;
	height: 20px;
	background: none;
	color: #ffffff;
	line-height: 1;
	font-size: 120%;
	border: none;
	transform: none;
}
.c_button a[href$='.pdf']:after {
	content: '\f1c1';
}
.c_button a[href$='.doc']:after,
.c_button a[href$='.docx']:after {
	content: '\f1c2';
}
.c_button a[href$='.xls']:after,
.c_button a[href$='.xlsx']:after {
	content: '\f1c3';
}
.c_button a[href$='.ppt']:after,
.c_button a[href$='.pptx']:after {
	content: '\f1c4';
}
.c_button a[href$='.zip']:after {
	content: '\f019';
}
@media (min-width: 768px) {
	.c_button a:hover {
		opacity: .6;
	}
	.c_button a:hover:after {
		color: #fff;
		border-color: #fff;
	}
}

@media screen and (max-width: 767px) {
	.c_button:not(:first-child) {
		margin-top: 20px;
	}
	.c_button a {
		padding: 8px 40px;
	}
	.c_button a:after {
		right: 20px;
	}
}

/*  style
========================================================================*/

.c_style:not(:first-child) {
  margin-top: 30px;
}

.c_style a[target=_blank]:after,
.c_style a.pbOpenNewWindow:after,
.c_style a[href$='.pdf']:after, .c_style a[href$='.doc']:after,
.c_style a[href$='.docx']:after, .c_style a[href$='.xls']:after,
.c_style a[href$='.xlsx']:after, .c_style a[href$='.ppt']:after,
.c_style a[href$='.pptx']:after {
  font-family: FontAwesome;
  content: '\f08e';
  top: 2px;
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  margin: 0 5px;
  background: url(../img/icon_window.png) no-repeat center top / contain;
}

.c_style a[href$='.pdf']:after {
  content: '\f1c1';
}

.c_style a[href$='.doc']:after, .c_style a[href$='.docx']:after {
  content: '\f1c2';
}

.c_style a[href$='.xls']:after, .c_style a[href$='.xlsx']:after {
  content: '\f1c3';
}

.c_style a[href$='.ppt']:after, .c_style a[href$='.pptx']:after {
  content: '\f1c4';
}

.c_style a.pbOpenNewWindow:after {
    content: '\f1c1';
}

@media screen and (max-width: 767px) {
  .c_style:not(:first-child) {
    margin-top: 20px;
  }
}

/*  image-text
========================================================================*/

.c_image-text:not(:first-child) {
  margin-top: 30px;
}

.c_image-text>div {
  display: flex;
  justify-content: space-between;
}

.c_image-text>div:after {
  display: none;
}

.c_image-text .imagebox, .c_image-text .textbox {
  width: 48%;
}

.c_image-text .image:not(first-child) {
  margin-top: 15px;
}

.c_image-text .image {
  text-align: center;
}

.c_image-text .image a {
  overflow: hidden;
  display: block;
}

@media (min-width: 768px) {
  .c_image-text .image a:hover img {
    transform: scale(1.1);
  }
}

.c_image-text .caption {
  margin-top: 10px;
  font-size: 90%;
}

.c_image-text .caption * {
  color: #999;
}

@media screen and (max-width: 767px) {
  .c_image-text:not(:first-child) {
    margin-top: 20px;
  }
  .c_image-text>div {
    flex-direction: column;
  }
  .c_image-text .imagebox, .c_image-text .textbox {
    width: 100%;
  }
  .c_image-text .imagebox>div {
    display: table;
    margin: 0 auto;
  }
  .c_image-text .caption {
    /* display: table-caption; */
    caption-side: bottom;
  }
  .c_image-text .textbox {
    margin-top: 15px;
  }
}

/*  small
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
	.c_image-text .imagebox.small {
		width: 33%;
	}
	.c_image-text .imagebox.small + .textbox {
		width: 63%;
	}
	.c_image-text.simple .imagebox.small + .textbox {
		width: 67%;
	}
}

/*  mini
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .c_image-text .imagebox.mini {
    width: 26%;
  }
  .c_image-text .imagebox.mini+.textbox {
    width: 71%;
  }
  .c_image-text.simple .imagebox.mini+.textbox {
    width: 75%;
  }
}

/*  w18
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .c_image-text .imagebox.w18 {
    width: 18%;
  }
}

/*  flow
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .c_image-text.flow>div {
    display: block;
  }
  .c_image-text.flow .imagebox {
    float: left;
    margin-right: 4%;
    margin-bottom: 10px;
    position: relative;
    z-index: 1;
  }
  .c_image-text.flow .textbox {
    width: 100%!important;
  }
  .c_image-text.flow .pbBlock {
    clear: none;
  }
  .c_image-text.flow .pbNested:after {
    display: none;
  }
}

/*  pc-reverse
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .c_image-text.pc-reverse>div {
    flex-direction: row-reverse;
  }
  .c_image-text.pc-reverse.flow .imagebox, .c_image-text.pc-reverse.auto .imagebox {
    float: right;
    margin-right: 0;
    margin-left: 4%;
  }
}

/*  video
========================================================================*/

.c_video:not(:first-child) {
	margin-top: 30px;
}
.c_video {
	position: relative;
	padding-top: 0%!important;
	padding-bottom: 56.25%!important;
	z-index: auto!important;
}
.c_video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 767px) {
	.c_video:not(:first-child) {
		margin-top: 20px;
	}
}

/*  w60
------------------------------------------------*/

.c_video.w60 {
width: 60%;
margin: 0 auto;
}

/*  accordion
========================================================================*/

.c_accordion:not(:first-child) {
	margin-top: 30px;
}
.c_accordion + .c_accordion {
	margin-top: 5px;
}
.c_accordion > div {
	background: #fff;
	border: 1px solid #ccc;
}
.c_accordion .trigger {
	position: relative;
	background: #fafafa;
	color: #3F9D59;
}
.c_accordion .trigger > div {
	padding: 20px 45px 20px 25px;
	font-size: 120%;
	font-weight: bold;
	cursor: pointer;
}
.c_accordion .trigger:before,
.c_accordion .trigger:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 20px;
	width: 16px;
	height: 2px;
	background: #3F9D59;
	transition: all .3s;
}
.c_accordion .trigger:after {
	transform: rotate(90deg);
}
.c_accordion.active .trigger:after {
	transform: rotate(360deg);
}
.c_accordion .content {
	border-top: 1px solid #ccc;
}
.c_accordion .content > div {
	padding: 20px 30px;
}

@media screen and (max-width: 767px) {
	.c_h3+.c_accordion:not(:first-child) {
	    margin-top: 30px;
	}
	.c_accordion:not(:first-child) {
		margin-top: 10px;
	}
	.c_accordion .trigger > div {
		font-size: 100%;
		padding: 15px 35px 15px 15px;
	}
	.c_accordion .trigger > div:before,
    .c_accordion .trigger > div:after {
		right: 15px;
	}
	.c_accordion .content > div {
		padding: 15px;
	}
}

/*  qa
------------------------------------------------*/

.c_accordion.qa .trigger > div,
.c_accordion.qa .content > div {
	position: relative;
	padding-left: 50px;
}
.c_accordion.qa .trigger > div:before,
.c_accordion.qa .content > div:before {
	content: 'Q.';
	position: absolute;
	top: 16px;
	left: 15px;
	color: #9b0000;
	font-size: 160%;
	line-height:1;
}
.c_accordion.qa .content > div:before {
	content: 'A.';
	top: 24px;
	left: 18px;
	color: #028893;
	font-size: 190%;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	.c_accordion.qa .trigger > div,
	.c_accordion.qa .content > div {
		padding-left: 40px;
	}
	.c_accordion.qa .trigger > div:before,
	.c_accordion.qa .content > div:before {
		font-size: 130%;
	}
	.c_accordion.qa .content > div:before {
		top: 16px;
		font-size: 160%;
	}
}

/*  imagebox
========================================================================*/

.c_h2+.c_imagebox:not(:first-child) {
	margin-top: 30px;
}
.c_imagebox:not(:first-child) {
	margin-top: 40px;
}
.c_imagebox .box > div {
	display: flex;
	flex-flow: column;
	height: 100%;
}
.c_imagebox .image:not(:first-child) {
	margin-top: 15px;
}
.c_imagebox .image {
	flex-shrink: 0;
	background: #ddd;
	text-align: center;
}
.c_imagebox .image a {
	overflow: hidden;
	display: block;
}
@media (min-width: 768px) {
	.c_imagebox .image a:hover img {
		transform: scale(1.1);
	}
}
.c_imagebox .title:not(:first-child) {
	margin-top: 20px;
}
.c_imagebox .title {
	font-weight: bold;
	font-size: 18px;
	letter-spacing: 1px;
}
.c_imagebox .text:not(:first-child) {
	margin-top: 10px;
}
.c_imagebox .caption:not(:first-child) {
	margin-top: 10px;
}
.c_imagebox .caption {
	font-size: 90%;
}
.c_imagebox .caption * {
	color: #999;
}
.c_imagebox .c_button {
	margin-top: auto;
}
.c_imagebox .c_button a {
	margin-top: 30px;
}

@media screen and (max-width: 767px) {
	.c_imagebox .box:not(:first-child) {
		margin-top: 40px;
	}
	.c_imagebox .title:not(:first-child) {
		margin-top: 15px;
	}
	.c_imagebox .title + .text {
		margin-top: 5px;
	}
	.c_imagebox .text:not(:first-child) {
		margin-top: 10px;
	}
	.c_imagebox .caption:not(:first-child) {
		margin-top: 5px;
	}
	.c_imagebox .box .c_button a {
		margin-top: 20px;
	}
}

/*  small
------------------------------------------------*/
.c_imagebox.small .image {
	width: 60%;
	margin: 0 auto;
}

/*  col-1
------------------------------------------------*/

.c_imagebox.col-1 > div {
	display: table;
	margin: 0 auto;
}
.c_imagebox.col-1 .image {
	min-width: 100px;
}
.c_imagebox.col-1 .textbox:not(:first-child) {
	margin-top: 15px;
}
.c_imagebox.col-1 .textbox {
	display: table-caption;
	caption-side: bottom;
}

@media print, screen and (min-width: 768px) {
	.c_imagebox.col-1 .textbox:not(:first-child) {
		margin-top: 20px;
	}
	.c_imagebox.col-1 .title {
		font-size: 160%;
	}
}

/*  col-2
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
	.c_imagebox.col-2 > div {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.c_imagebox.col-2 > div:after {
		display: none;
	}
	.c_imagebox.col-2 .box {
		width: 49%;
	}
	.c_imagebox.col-2 .box:nth-child(n+3) {
		margin-top: 45px;
	}
	.c_imagebox.col-2 .title {
		font-size: 20px;
	}
}

/*  col-3
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
	.c_imagebox.col-3 > div {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.c_imagebox.col-3 > div:after {
		content: '';
		display: block;
		width: 32%;
	}
	.c_imagebox.col-3 .box {
		width: 32%;
	}
	.c_imagebox.col-3 .box:nth-child(n+4) {
		margin-top: 45px;
	}
	.c_imagebox.col-3 .title {
		font-size: 17px;
	}
}

/*  col-4
------------------------------------------------*/

.c_imagebox.col-4 > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.c_imagebox.col-4 .box {
	font-size: 90%;
}
.c_imagebox.col-4 .title {
	margin-top: 10px;
}
.c_imagebox.col-4 .c_button a {
	margin-top: 20px;
	padding: 8px 25px 8px 10px;
}

@media print, screen and (min-width: 768px) {
.c_imagebox.col-4 > div:after,
	.c_imagebox.col-4 > div:before {
		content: '';
		display: block;
		width: 24%;
	}
	.c_imagebox.col-4 > div:before {
		order: 1;
	}
	.c_imagebox.col-4 .box {
		width: 24%;
	}
	.c_imagebox.col-4 .box:nth-child(n+5) {
		margin-top: 45px;
	}
	.c_imagebox.col-4 .text:not(:first-child) {
		margin-top: 5px;
	}
	.c_imagebox.col-4 .caption:not(:first-child) {
		margin-top: 5px;
	}
}

@media screen and (max-width: 767px) {
	.c_imagebox.col-4 > div:after {
		display: none;
	}
	.c_imagebox.col-4 .box {
		width: 48%;
		margin-top: 0;
	}
	.c_imagebox.col-4 .box:nth-child(n+3) {
		margin-top: 40px;
	}
}

/*  col-5
------------------------------------------------*/

.c_imagebox.col-5 > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.c_imagebox.col-5 .box {
	font-size: 90%;
}
.c_imagebox.col-5 .title {
	margin-top: 10px;
}
.c_imagebox.col-5 .c_button a {
	margin-top: 20px;
	padding: 8px 25px 8px 10px;
}

@media print, screen and (min-width: 768px) {
.c_imagebox.col-5 > div:after,
	.c_imagebox.col-5 > div:before {
		content: '';
		display: block;
		width: 24%;
	}
	.c_imagebox.col-5 > div:before {
		order: 1;
	}
	.c_imagebox.col-5 .box {
		width: 15.5%;
	}
	.c_imagebox.col-5 .box:nth-child(n+7) {
		margin-top: 45px;
	}
	.c_imagebox.col-5 .text:not(:first-child) {
		margin-top: 5px;
	}
	.c_imagebox.col-5 .caption:not(:first-child) {
		margin-top: 5px;
	}
}

@media screen and (max-width: 767px) {
	.c_imagebox.col-5 > div:after {
		display: none;
	}
	.c_imagebox.col-5 .box {
		width: 48%;
		margin-top: 0;
	}
	.c_imagebox.col-5 .box:nth-child(n+3) {
		margin-top: 40px;
	}
}

/*  line
------------------------------------------------*/

.c_imagebox.line .box {
	border: 1px solid #cccccc;
	padding: 20px;
}

@media screen and (max-width: 767px) {
	.c_h3+.c_imagebox:not(:first-child) {
		margin-top: 30px;
	}
	.c_imagebox.line .box {
		margin-top: 10px;
	}
}

/*  table
========================================================================*/

.c_style table th,
.c_style table td {
	padding: 9px 15px;
	background: #fff;
	text-align: left;
	vertical-align: middle;
	font-weight: normal;
}
.c_style table th {
	background: #333;
	color: #fff;
}
.c_style thead th:not(:first-child) {
	background: #666;
}
.c_style thead td {
	background: #999;
	color: #fff;
}

@media screen and (max-width: 767px) {
	.c_style table {
		font-size: 90%;
	}
	.c_style table th,
	.c_style table td {
		padding: 10px;
	}
	.c_style table td {
		padding: 10px;
	}
}

/*  table-col
------------------------------------------------*/

.c_style.table-col table {
	width: 100%;
	table-layout: fixed;
}

@media screen and (max-width: 767px) {
	.c_style.table-col table,
	.c_style.table-col thead,
	.c_style.table-col tbody,
	.c_style.table-col tr,
	.c_style.table-col th,
	.c_style.table-col td {
		display: block;
		width: 100%!important;
		height: auto!important;
	}
	.c_style.table-col th {
		border: none;
	}
	.c_style.table-col td {
		border-top: none;
	}
	.c_style.table-col tr:not(:last-child) td:last-child {
		border-bottom: none;
	}
}

/*  table-swipe
------------------------------------------------*/

.c_style.table-swipe table {
	width: 100%;
	table-layout: fixed;
}
@keyframes swipe {
  40%, 60%, 80% {transform: scale(1);}
  50%, 70% {transform: scale(.9);}
}

@media screen and (max-width: 767px) {
	.c_style.table-swipe {
		overflow: auto;
		position: relative;
	}
	.c_style.table-swipe:before,
	.c_style.table-swipe:after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		transition: all .3s;
		pointer-events: none;
	}
	.c_style.table-swipe:before {
		width: 80px;
		height: 70px;
		background: rgba(0,0,0,.7);
		border-radius: 5px;
	}
	.c_style.table-swipe:after {
		width: 60px;
		height: 60px;
		background: url(../img/icon_swipe.png) no-repeat center top / contain;
		animation: swipe 2s ease-out infinite;
	}
	.c_style.table-swipe.active:before,
	.c_style.table-swipe.active:after {
		opacity: 0;
	}
	.c_style.table-swipe::-webkit-scrollbar {
		height: 15px;
	}
	.c_style.table-swipe::-webkit-scrollbar-thumb {
		background: #d9dcdf;
		border-radius: 10px;
	}
	.c_style.table-swipe::-webkit-scrollbar-track {
		background: #f5f5f5;
		border-radius: 10px;
	}
	.c_style.table-swipe table {
		width: 800px;
		max-width: none;
		margin-bottom: 3px;
	}
}

/*  table-swipe-fix
------------------------------------------------*/

.c_style.table-swipe-fix table {
	width: 100%;
	table-layout: fixed;
}

@media screen and (max-width: 767px) {
	.c_style.table-swipe-fix {
		overflow: auto;
		position: relative;
	}
	.c_style.table-swipe-fix:before,
	.c_style.table-swipe-fix:after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		transition: all .3s;
		pointer-events: none;
	}
	.c_style.table-swipe-fix:before {
		width: 80px;
		height: 70px;
		background: rgba(0,0,0,.7);
		border-radius: 5px;
	}
	.c_style.table-swipe-fix:after {
		width: 60px;
		height: 60px;
		background: url(../img/icon_swipe.png) no-repeat center top / contain;
		animation: swipe 2s ease-out infinite;
	}
	.c_style.table-swipe-fix.active:before,
	.c_style.table-swipe-fix.active:after {
		opacity: 0;
	}
	.c_style.table-swipe-fix::-webkit-scrollbar {
		height: 15px;
	}
	.c_style.table-swipe-fix::-webkit-scrollbar-thumb {
		background: #d9dcdf;
		border-radius: 10px;
	}
	.c_style.table-swipe-fix::-webkit-scrollbar-track {
		background: #f5f5f5;
		border-radius: 10px;
	}
	.c_style.table-swipe-fix table {
		width: 800px;
		max-width: none;
		margin-bottom: 3px;
	}
	.c_style.table-swipe-fix table th:first-child {
		position: sticky;
		left: 0;
	}
}

/*  green
------------------------------------------------*/

.c_style.green table th {
	background: #E6F2E9;
	color: #000;
}