main{
  padding: 2em 0 4em 0;
}
h1{
  margin:0.5em 0 0.5em 0;
}
.section-1 {
    margin: 2em auto;
}

/* ==========================================================================
   slider
   ========================================================================== */
.slide-container {
	width:100%;
	max-width:1700px;
	margin: 0 auto;
	padding:0;
}
.bx-wrapper {
  margin: 0 !important;
  -moz-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border: none !important;
  background: none !important;
}
.bx-wrapper ul,
.bx-wrapper ul li {
  margin: 0 !important;
}
.bxslider img{
  width: 100% !important;
  height: auto !important;
	padding:0;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
	background: green !important;
}

/* ==========================================================================
   Announce
   ========================================================================== */
.announce{
	width: 100%;
	max-width: 1200px;
	border: 1px solid #ccc;
	padding: 10px;
	box-sizing: border-box;
	margin: 0 auto 50px;
	font-size: 14px;
}


/* ==========================================================================
   Tag
   ========================================================================== */
.tag-title{
  width: 100%;
  text-align: center;
  font-size: 1.2em;
  padding: 10px 5%;
  background: #15989B;
  color:#FFF;
  border:none;
}
#actual_list {
	width: 100%;
	margin: 50px 0 30px 0 ;
	padding: 0;
}
#actual_list li {
	width: 32%;
	margin: 0 2% 1% 0;
	border: 1px solid #CCC;
	text-align: center;
	color: #002A0C;
	font-weight:600;
	font-size: 1.2em;
	height: 3.5em;
	min-height: 3.5em;
	list-style: none;
	float: left;
	padding: 0.5em 0 0.3em 0;
	background: url("../img/common/ico_btn_arrow.png") no-repeat;
	background-position: right 15px center;
	overflow:hidden;
	vertical-align: middle;
	display:table;
}
#actual_list li:nth-child(3n) {
	margin: 0 0 3% 0;
}
#actual_list li span {
	font-weight:400;
	font-size: 0.6em;
	display: block;
	margin:0;
	padding:0;
	text-align:1.1;
}
#actual_list li a {
	color: #002A0C;
	height:100%;
	display:table-cell;
	vertical-align:middle;
}
#actual_list li:hover {
	background-position: right 10px center;
}
@media screen and (max-width:1024px){
	#actual_list li {
		width: 49%;
		margin: 0 2% 1% 0;
		font-size: 1.1em;
	}
	#actual_list li:nth-child(3n) {
		margin: 0 2% 1% 0;
	}
	#actual_list li:nth-child(2n) {
		margin: 0 0 1% 0;
	}
	#actual_list li span {
	}
}
@media screen and (max-width:680px) {
	#actual_list {
		margin: 30px 0 30px 0 ;
		padding: 0;
	}
	#actual_list li {
		width: 100%;
		margin: 0 0 1% 0;
		font-size: 1.1em;
	}
	#actual_list li:nth-child(3n) {
		margin: 0 0 1% 0;
	}
	#actual_list li:nth-child(2n) {
		margin: 0 0 1% 0;
	}
	#actual_list li span {
	}
}


/* ==========================================================================
   top-image
   ========================================================================== */
.pc-top-image{
  background:url('../img/home/bg_main-pc.png') center center no-repeat;
  background-size:cover;
  height:240px;
  position:relative;
}
.mobile-container{
  display:none;
}
.mb-top-image{
  background:url(../img/home/bg_main-mobile.png) center center no-repeat;
  height:100px;
  background-size:cover;
}

@media screen and (max-width:680px) {
  .pc-container{
    display:none;
  }
  .mobile-container{
    display:block;
  }
}

/* ==========================================================================
   upcoming-event
   ========================================================================== */
.upcoming-event{
  background:url(../img/home/bg_event.png) no-repeat rgba(0,0,0,0.6);
  background-size:cover;
  padding: 30px 134px 30px 134px;
  position:relative;
  z-index:1;
  color:white;
  margin-top: 0;
}
.upcoming-mark{
  position:absolute;
  top:50px;
  left:-10px;
  z-index:3;
}
.upcoming-text{
  width: 50%;
  box-sizing:border-box;
  float:left;
  font-weight:bold;
  padding: 0 16px;
}
  .upcoming-date{
    background:#BBBBBA;
  }
  .upcoming-description{
    margin-top:30px;
    margin-bottom: 30px;
  }
  .upcoming-description a{
    font-weight: bold;
    font-size:0.9em;
    color:white;
  }
.apply{
  width: 50%;
  text-align: center;
  float: left;
}
  .apply h3{
    padding: 10px 0px;
    font-size: 1.2em;
    border:3px solid #fff;
    width:223px;
    text-align:center;
    margin: 70px auto 0 auto;
  }
  .apply h3 a{
    color:white;
  }
@media screen and (max-width:960px){
  .upcoming-text{
    width: 70%;
  }
  .text-container h1{
    font-size:1.7em;
    margin: 1em 0 0.5em 0;
  }
  .apply {
    width:30%;
  }
}
@media screen and (max-width:680px) {
  .upcoming-event{
    padding: 17px 22px 50px;
    margin:50px auto 0;
  }
  .upcoming-mark{
    top:0;
  }
  .upcoming-mark img{
    width:110px;
  }
  .text-container h1{
    margin: 2em 0 0.5em 0;
  }
  .upcoming-text{
    width:100%;
  }
  .apply{
    width:100%;
  }
  .apply h3{
    width:auto;
    margin: 0 auto 0 auto;
  }
}

ul.upcoming-list{
	margin: 0;
}
ul.upcoming-list li{
	border-bottom: 1px solid #fff;
	padding: 15px 0;
	list-style: none;
	clear: both;
	overflow: hidden;
	display: table;
	width: 100%;
	box-sizing: border-box;
}
ul.upcoming-list li a{
	display: block;
	color: #fff;
	text-decoration: none;
}
ul.upcoming-list li a:hover{
	text-decoration: none;
}
.upcoming-list-date{
	display: table-cell;
	box-sizing: border-box;
	width: 130px;
	text-align: left;
	font-size: 0.9em;
}
.upcoming-list-title{
	display: table-cell;
	box-sizing: border-box;
	width: auto;
	text-align: left;
}
@media screen and (max-width:680px) {
	.upcoming-list-date{
		display: block;
		width: 100%;
		margin: 0 0 5px 0;
	}
	.upcoming-list-title{
		display: block;
		width: 100%;
		margin: 0 0 10px 0;
	}
}		
.upcoming-list-title:hover{
	text-decoration: underline;
}



/* ==========================================================================
   column
   ========================================================================== */
.green-box-thin{
  font-size: 1.2em;
  padding: 10px 20px;
  font-family: 'Calibri';
}
.column {
  width: calc(33.3% - 30px);
  margin-right: 30px;
  float: left;
  position: relative;
  box-sizing: border-box;
  height:300px;
  text-align: center;
  margin-bottom: 30px;
}
.column .tag{
  position:absolute;
  top: 10px;
  left: -6px;
  color: white;
  font-size: 0.8em;
  font-weight: bold;
  padding: 0px 10px;
}
.column-text a:hover {
	text-decoration: underline;
}
@media screen and (max-width:680px) {
  .column{
    width:83%;
    text-align:center;
    /*margin:0 30px;*/
    margin-bottom:30px;
  }
}
@media screen and (max-width:680px) {
  .column img{
    position:relative;
  }
}

/* ==========================================================================
   health-policy
   ========================================================================== */
.health-policy{
  background:url(../img/home/bg_policy.png) no-repeat rgba(0,0,0,0.6);
  max-height:500px;
}
.health-policy-container{
  color: white;
  width: 40%;
  margin: 0 auto;
  padding: 70px 0 40px 0;
  text-align: center;
}
.health-policy h1,
.health-policy h2{
  margin-bottom:0;
}
:lang(en) .health-policy h2{
  font-size:1.1em;
}
@media screen and (max-width:1200px) {
  .health-policy-container{
    width: 50%;
  }
}
@media screen and (max-width:960px) {
  .health-policy-container{
    width: 70%;
  }
}
@media screen and (max-width:680px) {
  .health-policy{
    height:auto;
  }
  .health-policy-container{
    width:100% !important;
    padding:25px 10px;
    box-sizing:border-box;
  }
  .health-policy h2{
    font-size: 0.9em;
  }
  :lang(en) .health-policy h2{
    font-size:0.8em;
  }
}

/* button
   ----------------------------------------------------------------- */
.button-container{
  padding:30px 0;
  overflow: hidden;
  margin:0 auto;
}
.health-policy-botton{
  padding: 10px 45px;
  color: white;
  border: 3px solid white;
}
  .health-policy-botton:first-child{
    /* float:left; */
  }
  .health-policy-botton:last-child{
    /* float:right; */
  }
  .health-policy-botton a{
    color:white;
    font-weight:bold;
  }
	.health-policy-botton a:hover {
		text-decoration: underline;
	}
@media screen and (max-width:1200px) {
  .health-policy-botton{
    padding:10px 42px;
  }
}
@media screen and (max-width:960px){
  .health-policy-botton{
    padding:10px 13px;
  }
}
@media screen and (max-width:680px) {
  .button-container{
    padding:0;
    width:85%;
  }
  .health-policy-botton{
    padding:10px 36px;
    width:100%;
    margin:4px 0;
    float:left;
  }
}

/* ==========================================================================
   banner-section
   ========================================================================== */
.banner-section{
  font-weight:bold;
  margin-bottom:30px;
  overflow: hidden;
}
.banner-div{
  width:calc(33.3% - 30px);
  margin: 0 15px;
  float:left;
  position:relative;
  box-sizing:border-box;
}
@media screen and (max-width:680px) {
  .banner-div{
    width:100% !important;
    padding:0 30px;
  }
}
.banner-div a{
  color:black;
}
.banner-div a:hover img {
	opacity: 0.75;
}
.banner-div:nth-child(2) img{
  border:1px solid #cdcdcc;
}

/* 202305追加　文字動き */

.moveText {
	margin: 0 10px;
	overflow: hidden;
}
.homeText{
	opacity: 0;
	animation: homeTextMove 4s ease infinite alternate;
	position: relative;
}
@keyframes homeTextMove{
  0%{
	  opacity: 1;
  }
  80%{
	  opacity: 1;
  }
  100%{
	  opacity: 0;
  }
}


.homeText2{
/* 	overflow: hidden; */
	animation: homeTextMove2 20s linear infinite;
	white-space: nowrap;
	position: relative;
	padding-left:100%;
	display : inline-block;
}
@keyframes homeTextMove2{
  0%{
	 transform: translateX(0);
  }
  100%{
	  transform: translateX(-100%)
  }
}