@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i);

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

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  color: #2C2C2C;
  font-family: 'ヒラギノ角ゴ ProN W3', sans-serif;
  font-size: 1em;
  line-height: 150%;
  text-align: center;
  width: 100%;
  height: 100%;
  word-break: break-all;
}

body.fs-big {
  font-size: 1.2em;
  line-height: 175%;
}

a:link,
a:visited {
  text-decoration: none;
  color: #2C2C2C;
}

a:hover,
a:active {
  text-decoration: none;
  color: #2C2C2C;
  opacity: 0.7;
}

figure,
figcaption,
div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dt,
dd,
ul,
ol,
li,
form {
  margin: 0;
  padding: 0;
}

img,
a img {
  border: none;
  vertical-align: bottom;
}

a img:hover {
  filter: alpha(opacity=75);
  -moz-opacity: 0.75;
  opacity: 0.75;
}


/* List_group */
ul,
ol,
li {
  list-style: none;
}

/* inline-style */
address {
  font-style: normal;
  font-size: 12px;
  color: #020202;
}

address a,
address a:link,
address a:visited {
  text-decoration: none;
  color: #020202;
}

address a:hover,
address a:active {
  text-decoration: underline;
  color: #020202;
}

/* table */
table {
  width: 100%;
}

tr,
th,
td {}

*,
*:before,
*:after {
  outline: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

.tsn,
a {
  -webkit-transition: 0.4s;
  -moz-transition: 0.4s;
  -o-transition: 0.4s;
  -ms-transition: 0.4s;
  transition: 0.4s;
}

.clear::after {
  content: " ";
  clear: both;
  display: block;
  width: 100%;
  height: 0;
}

.en {
  font-family: 'Open Sans', sans-serif;
}

.min {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
}

.pn {
  display: none;
}

.sp_nav {
  display: none;
}

.count-particles {
  position: absolute;
  top: 48px;
  left: 0;
  width: 80px;
  font-size: .8em;
  text-align: left;
  text-indent: 4px;
  line-height: 14px;
  padding-bottom: 2px;
  font-family: Helvetica, Arial, sans-serif;
  font-weight: bold;
}

#particles-js {
  width: 100%;
  height: 100%;
  background-color: #fff;
  background-image: url('');
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

.inner1070 {
  max-width: 1070px;
  display: block;
  margin: 0 auto;
  background:#fff ;
}

.inner1260 {
  max-width: 1260px;
  display: block;
  margin: 0 auto;
}

.contentwrap {
  padding-right: 180px;
}



/*=========================================================================
  layout rulu
=========================================================================*/

/*  header
--------------------*/
.head .head-sp {
  display: none;
}

.head {
  position: fixed;
  top: 0;
  right: 0;
  width: 180px;
  height: 100%;
  padding: 30px 15px;
  box-shadow: 3px 6px 8px rgba(0, 0, 0, 0.3);
  background: #fff;
  z-index: 100000;
}

.head .head-logo {
  width: 100%;
  margin-bottom: 35px;
}

.head .head-logo a,
.head .head-logo img {
  display: block;
  width: 100%;
}

.head .head-nav {
  margin-bottom: 100px;
  text-align: left;
}

.head .head-nav .head-nav-list li {
  margin-bottom: 15px;
  position: relative;
}

.head .head-nav .head-nav-list li a.actv::after {
  content: " ";
  position: absolute;
  top: -3px;
  left: -15px;
  width: 3px;
  height: 100%;
  background: #319F73;
}

.head .head-nav .head-nav-list li a {
  letter-spacing: 2px;
  display: block;
  font-size: 1em;
  line-height: 1em;
  cursor: pointer;
}

.head .head-nav .head-nav-list li a:hover {
  opacity: 1;
}

.head .head-nav .head-nav-list li:hover::before {
  content: " ";
  position: absolute;
  top: -3px;
  left: -15px;
  width: 3px;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
}

.head .head-nav .head-nav-list li a span {
  display: block;
  color: rgba(0, 0, 0, 0.3);
  font-size: 0.6em;
}
.head .seiwa_button{
  margin-bottom: 25px;
}
.head .seiwa_button a{
  background: #319f73;
  font-size: 12px;
  display: block;
  padding: 10px 5px;
  text-align: left;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 4px;
}
.head .seiwa_button a .inner{
  display: inline-block;
  padding-left: 35px;
  position: relative;
}
.head .seiwa_button a .inner:before{
  content: "";
  width: 20px;
  height: 20px;
  background: url('/hanwaizumi/_seiwaizumi/uniq/images/icon_home.png') no-repeat center center/contain;
  position: absolute;
  left: 5px;
  top: 50%;
  margin-top: -10px;
}
.head .head-elem .head-elem-size {
  background: #319F73;
  border-radius: 50px;
  text-align: center;
  display: inline-block;
  padding: 2px;
  line-height: 30px;
  margin: 0 auto 20px auto;
  position: relative;
  width: 85px;
}

.head .head-elem .head-elem-size::after {
  content: " ";
  position: absolute;
  top: 0px;
  left: 2px;
  bottom: 0;
  margin: auto;
  height: calc(100% - 4px);
  width: 50%;
  border-radius: 50px;
  background: #fff;
  transition: 0.4s;
  -webkit-transition: 0.4s;
  -moz-transition: 0.4s;
  -ms-transition: 0.4s;
}

.head .head-elem .head-elem-size span {
  position: relative;
  letter-spacing: 2px;
  z-index: 100;
  font-size: 12px;
  width: 50%;
  display: inline-block;
  cursor: pointer;
}

.head .head-elem .head-elem-size span#fs-big {
  color: #fff;
}

body.fs-big .head .head-elem .head-elem-size::after {
  left: 41px;
}

body.fs-big .head .head-elem .head-elem-size span#fs-big {
  color: #222;
}

body.fs-big .head .head-elem .head-elem-size span#fs-nomal {
  color: #fff;
}

.head .head-elem .head-elem-search {
  position: relative;
  margin-bottom: 20px;
}

.head .head-elem .head-elem-search input[type="text"] {
  border-radius: 45px;
  border: none;
  background: #f1f1f1 !important;
  width: 100%;
  height: 25px;
  padding-left: 30px;
  font-size: 16px;
  text-indent: 0 !important;
}

.head .head-elem .head-elem-search input[type="submit"] {
  position: absolute;
  top: 0;
  left: 10px;
  bottom: 0;
  margin: auto;
  display: block;
  border: none;
  background: url(../images/ico_searcher.svg) no-repeat center;
  background-size: 95%;
  width: 14px;
  height: 14px;
  cursor: pointer;
}

.head .head-elem-tel {
  font-size: 0.6em;
  margin-bottom: 20px;
}

.head .head-elem-tel a {
  display: inline-block;
  font-size: 1.9em;
  padding-left: 20px;
  background: url(../images/ico_tell.svg) no-repeat left center;
  background-size: 15px;
  font-weight: bold;
}

.head .head-elem-contact a {
  font-size: 0.8em;
  display: block;
  padding-top: 30px;
  background: url(../images/ico_mail.svg) no-repeat center top;
  background-size: 30px;
}


@media screen and (max-height: 930px) {
  .head {
    padding: 15px;
  }

  .head .head-nav {
    margin-bottom: 50px;
  }
}


/*  header PC nav
--------------------*/
.fade_nav_area {
  display: none;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  background: #F8F8F8;
  height: 100%;
  width: 100%;
  padding-right: 190px;
  z-index: 100;
}

.fade_nav_list {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 47%;
  padding-right: 190px;
  text-align: left;
}

.fade_nav_list li {
  margin-bottom: 60px;
}

.fade_nav_list .fade_nav_link {
  font-size: 1.9em;
  line-height: 1.2em;
  letter-spacing: 10px;
  display: block;
  margin-bottom: 10px;
  padding-left: 10px;
  position: relative;
}

.fade_nav_list .fade_nav_link:hover::after {
  content: " ";
  position: absolute;
  top: -4px;
  left: -5px;
  bottom: 0;
  margin: auto;
  width: 3px;
  height: 100%;
  display: block;
  background: rgb(29, 123, 85);
}

.fade_nav_list .fade_nav_link_sm {
  position: relative;
  padding-left: 12px;
  margin-right: 20px;
  display: inline-block;
  font-size: 1em;
  letter-spacing: 2px;
}

.fade_nav_list .fade_nav_link_sm::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 5px;
  border-color: transparent transparent transparent #319f73;
}

.fade_nav_list .fade_nav_link_sm:hover {
  text-decoration: underline;
}

.fade_nav_list .fade_nav_link:hover,
.fade_nav_list .fade_nav_link_sm:hover {
  opacity: 1;
}

.fade_nav_hid {
  position: fixed;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: -1;
}

#fade_nav_area01 {
  background: url(../images/bg_nav_01.png) no-repeat center #F8F8F8;
  background-size: cover;
}

#fade_nav_area01 .fade_nav_list {
  min-width: 480px;
  height: 300px;
}

#fade_nav_area02 {
  background: url(../images/bg_nav_02.png) no-repeat center #F8F8F8;
  background-size: cover;
}

#fade_nav_area02 .fade_nav_list {
  min-width: 480px;
  height: 300px;
}

#fade_nav_area03 {
  background: url(../images/bg_nav_03.png) no-repeat center #F8F8F8;
  background-size: cover;
}

#fade_nav_area03 .fade_nav_list {
  min-width: 600px;
  height: 300px;
}


/*  footer
--------------------*/
.foot {
  background: #F8F8F8;
  padding: 70px 200px 70px 20px;
  margin-top: 100px;
}

.foot .foot-left {
  float: left;
  width: 49%;
  text-align: left;
}

.foot .foot-left .foot-left-logo {
  max-width: 220px;
  width: 100%;
  margin-bottom: 25px;
}

.foot .foot-left .foot-left-logo a,
.foot .foot-left .foot-left-logo img {
  display: block;
  width: 100%;
}

.foot .foot-left .foot-left-adrss {
  font-size: 0.9em;
  margin-bottom: 20px;
}

.foot .foot-left .foot-left-tell a,
.foot .foot-left .foot-left-tell span {
  font-size: 1.2em;
  display: inline-block;
}

.foot .foot-left .foot-left-tell a {
  padding-right: 30px;
}

.foot .foot-left .foot-left-tell b {
  font-size: 0.8em;
  font-weight: 400;
}

.foot .foot-right {
  float: right;
  width: 49%;
  text-align: right;
  padding-top: 15px;
}

.foot .foot-right .foot-right-list {
  margin-bottom: 25px;
}

.foot .foot-right .foot-right-list a {
  padding: 0 25px;
  position: relative;
  display: inline-block;
  font-size: 0.9em;
}

.foot .foot-right .foot-right-list a::after {
  content: " ";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 1px;
  height: 13px;
  background: #000;
}

.foot .foot-right .foot-right-list a:last-child {
  padding-right: 0;
}

.foot .foot-right .foot-right-list a:last-child::after {
  display: none;
}

.foot .foot-right .foot-right-list02 {
  margin-bottom: 25px;
}

.foot .foot-right .foot-right-list02 a {
  padding: 0 10px;
  position: relative;
  display: inline-block;
  font-size: 0.8em;
}

.foot .foot-right .foot-right-list02 a::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 5px;
  border-color: transparent transparent transparent #319f73;
}

.foot .foot-right .foot-right-list02 a:last-child {
  padding-right: 0;
}

.foot .foot-right .foot-right-copy {
  font-size: 0.7em;
  letter-spacing: 2px;
}


/*  news
--------------------*/
.news {
  padding: 0 10px;
}

.news .ttl {
  margin-bottom: 30px;
  text-align: left;
}

.news .news-tabbtn {
  margin-bottom: 50px;
  text-align: left;
}

.news .news-tabbtn li {
  display: inline-block;
  width: 190px;
  text-align: center;
  margin-right: 3px;
}

.news .news-tabbtn li:last-child {
  margin-right: 0;
}

.news .news-tabbtn li span {
  cursor: pointer;
  display: block;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
  padding: 18px 10px;
  border-radius: 30px;
  font-size: 0.9em;
  font-weight: bold;
  position: relative;
}

.news .news-tabbtn li span.actv {
  color: #fff;
  background: #1D7B55;
}

.news .news-tabbtn li span::after {
  content: " ";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  border-color: #1d7b55 transparent transparent transparent;
}

.news .news-tabbtn li span.actv::after {
  border-color: #fff transparent transparent transparent;
}

.news .news-tabbtn li span:hover {
  color: #fff;
  background: #1D7B55;
}

.news .news-tabbtn li span:hover::after {
  border-color: #fff transparent transparent transparent;
}

.news .news-list {
  margin-bottom: 50px;
  display: none;
  opacity: 0;
  text-align: left;
}

.news .news-list#news-list-01 {
  display: block;
  opacity: 1;
}

.news .news-list li {
  margin-bottom: 10px;
}

.news .news-list li:last-child {
  margin-bottom: 0;
}

.news .news-list li a {
  display: block;
  position: relative;
  background: #F8F8F8;
  border-radius: 27px;
  padding: 20px 30px;
  font-size: 0.9em;
}

.news .news-list li a::before {
  content: " ";
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
  width: 26px;
  height: 26px;
  border-radius: 100%;
  background: #1D7B55;
}

.news .news-list li a::after {
  content: " ";
  position: absolute;
  top: 0;
  right: 30px;
  bottom: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.news .news-list li .date {
  vertical-align: middle;
}

.news .news-list li .cate {
  font-size: 0.8em;
  width: 100px;
  display: inline-block;
  margin: 0 15px;
  border-radius: 30px;
  text-align: center;
  background: #E1E1E1;
  vertical-align: middle;
}

.news .news-list li .news-ttl {
  width: calc(100% - 260px);
  display: inline-block;
  vertical-align: top;
}

.news .news-list li a:hover {
  opacity: 1;
}

.news .news-list li a:hover .news-ttl {
  text-decoration: underline;
}

.news .btn {
  margin: 0 auto;
}

.wp-pagenavi {
  clear: both;
  text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-block;
  color: #1D7B55;
  font-weight: bold;
  background-color: #fff;
  border: solid 1px #1D7B55;
  ;
  padding: 13px 11px;
  margin: 0 2px;
  white-space: nowrap;
  -webkit-transition: 0.2s ease-in-out;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  text-align: center;
  text-decoration: none;
}

.wp-pagenavi .extend,
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
  border: none;
  background: none;
}

.wp-pagenavi span.current {
  color: #FFF;
  background: #1D7B55;
  border-color: #1D7B55;
  font-weight: bold;
}

.wp-pagenavi a:hover {
  color: #FFF;
  background-color: #999;
  border-color: #999;
}

.news-detail-cont {
  max-width: 1000px;
  margin: 0 auto;
  word-break: break-all;
  font-size: 1.2em;
  line-height: 30px;
  text-align: left;
}

.news-detail-cont .news-detail-date,
.news-detail-cont .news-detail-cate {
  text-align: center;
  border-radius: 20px;
  font-size: 0.8em;
  padding: 0 20px;
  margin-bottom: 10px;
  display: inline-block;
  vertical-align: middle;
  background: #E1E1E1;
  border-color: #ff5e62;
}

.news-detail-cont .news-detail-date {
  margin-right: 5px;
}

.news-detail-cont .news_txt {
  padding: 1em 0;
}

.news-detail-cont .news_txt p {}

.news-detail-cont .news_txt a {
  color: #257a53;
  text-decoration: underline;
}

.news-detail-cont .news_txt img {
  margin: 0.5em 0 1em;
}

.news-detail-cont .news_txt blockquote {}

.news_txt .txt-list {
  text-align: left;
  padding-left: 30px;
  margin: 0.5em 0 1em;
}

.news_txt .txt-list li {
  font-size: 1em;
  line-height: 1.7em;
  position: relative;
}

.news_txt .txt-list-01 li {
  list-style-type: disc;
}

.news_txt .txt-list-02 li::after {
  content: " ";
  position: absolute;
  top: 8px;
  left: -16px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 3px;
  border-color: transparent transparent transparent #000;
}

.news_txt .txt-list-03 li {
  list-style-type: decimal;
}

.news_txt .txt-list-04 li::after {
  content: "※";
  position: absolute;
  top: 0;
  left: -23px;
}

.news_txt .txt-list-05 li::after {
  content: "・";
  position: absolute;
  top: 0;
  left: -22px;
  font-size: 0.8em;
}

.news_txt .pdf-link a {
  display: block;
  padding: 3px 0 3px 30px;
  text-align: left;
  font-size: 1em;
  line-height: 1.7em;
  background: url(../images/ico_pdf.svg) no-repeat left 3px top 2px;
  background-size: 20px;
}

.news_txt .img-list {
  margin: 0.5em 0 1em;
}

.news_txt .img-list li {
  float: left;
}

.news_txt .img-list01 li {
  width: 49%;
  margin-right: 2%;
}

.news_txt .img-list01 li:last-child {
  margin-right: 0;
}

.news_txt .img-list02 li {
  width: 32%;
  margin-right: 2%;
}

.news_txt .img-list02 li:last-child {
  margin-right: 0;
}

.news_txt .img-list03 li {
  width: 22%;
  margin-right: 4%;
}

.news_txt .img-list03 li:last-child {
  margin-right: 0;
}

.news_txt .img-list04 li {
  width: 18%;
  margin-right: 2.5%;
}

.news_txt .img-list04 li:last-child {
  margin-right: 0;
}

.news_txt .table01,
.news_txt .table01 th,
.news_txt .table01 td {
  background: #fff;
  border-collapse: collapse;
}

.news_txt .table01 {
  text-align: left;
}

.news_txt .table01 tr {
 border-bottom: 1px solid #F8F8F8;
}

.news_txt .table01,
.news_txt table01 th,
.news_txt .table01 td {
  background: #fff;
  border-collapse: collapse;
}
.news_txt table01 th,
.news_txt .table01 td{
 border: 1px solid #ddd;
}

.news_txt .table01 td {
  font-size: 1em;
  line-height: 1.4em;
}

.news_txt .table01 td:first-child {
  width: 200px;
  padding: 20px 20px 20px 30px;
}

.news_txt .table01 td {
  font-size: 1em;
  line-height: 1.4em;
}

.news_txt .table01 td:last-child span {
  margin: 20px 0;
  border-left: 1px solid #1D7B55;
  padding-left: 20px;
  display: block;
}

.news_txt .clear::after {
  content: " ";
  clear: both;
  display: block;
  width: 100%;
  height: 0;
}





.news-detail-date img {
  max-width: 100%;
}

.pegebav_bt {
  overflow: hidden;
  margin: 25px 0;
}

.pegebav_bt li:first-child {
  float: left;
}

.pegebav_bt li:last-child {
  float: right;
}

.pegebav_bt li a {
  display: block;
  background-color: #eee;
  padding: 5px 10px;
  font-size: 0.8em;
}

/*  comp area --------------------------*/

/*  comp mv
----------------*/
.mvsub img {
  display: block;
  width: 100%;
  margin-bottom: 20px;
}

/*  comp bread
--------------------*/
.bread {
  margin-bottom: 60px;
}

.bread .bread_crumb {
  margin: 0 auto;
  padding: 0 30px;
  display: block;
  text-align: left;
}

.bread .bread_crumb li {
  display: inline-block;
  font-size: 0.9em;
}

.bread .bread_crumb li.top a {
  padding-left: 30px;
}

.bread .bread_crumb li.top a::before {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  background: url(../images/ico_home.svg) no-repeat center;
  background-size: cover;
}

.bread .bread_crumb li a::after {
  position: absolute;
  content: "・";
  top: 0;
  right: 2px;
  bottom: 0 margin: auto;
}

.bread .bread_crumb li a {
  display: inline-block;
  position: relative;
  padding-right: 30px;
}

.bread .bread_crumb li a::after {
  position: absolute;
  content: " ";
  top: 0;
  right: 12px;
  bottom: 0;
  margin: auto;
  width: 5px;
  height: 5px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 1px solid #000;
  border-right: 1px solid #000;
}

/*  comp w-clmn01 w-clmn02
-------------------------------*/
.w-clmn {
  text-align: left;
  padding: 0 10px;
}

.w-clmn .ttl-a {
  margin-bottom: 30px;
  text-align: left;
}

.w-clmn .w-clmn-left {
  float: left;
  width: 45%;
}

.w-clmn .w-clmn-about {
  font-size: 1em;
  line-height: 2em;
  margin-bottom: 35px;
}

.w-clmn .w-clmn-right {
  float: right;
  width: 52%;
}

.w-clmn-right.w48 {
  width: 48%;
}

.w-clmn.w-clmn01 .w-clmn-left,
.w-clmn.w-clmn02 .w-clmn-right {
  padding-top: 20px;
}

.w-clmn.w-clmn02 .w-clmn-left {
  width: 52%;
}

.w-clmn.w-clmn02 .w-clmn-right {
  width: 45%;
}

.w-clmn.w-clmn02 .btn {
  margin-bottom: 10px;
}

.w-clmn img {
  display: block;
  width: 100%;
}

.w-clmn img.pn-img {
  display: none;
}


/*  comp txt-list
-------------------------------*/
.txt-list {
  text-align: left;
  padding-left: 30px;
}

.txt-list li {
  font-size: 1em;
  line-height: 1.7em;
  position: relative;
}

.txt-list-01 li {
  list-style-type: disc;
}

.txt-list-02 li::after {
  content: " ";
  position: absolute;
  top: 8px;
  left: -16px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 3px;
  border-color: transparent transparent transparent #000;
}

.txt-list-03 li {
  list-style-type: decimal;
}

.txt-list-04 li::after {
  content: "※";
  position: absolute;
  top: 0;
  left: -23px;
}

.txt-list-05 li::after {
  content: "・";
  position: absolute;
  top: 0;
  left: -22px;
  font-size: 0.8em;
}

.pdf-link a {
  display: block;
  padding: 3px 0 3px 30px;
  text-align: left;
  font-size: 1em;
  line-height: 1.7em;
  background: url(../images/ico_pdf.svg) no-repeat left 3px top 2px;
  background-size: 20px;
}

.pdf-link a:hover {
  opacity: 1;
  text-decoration: underline;
}

/*  comp img-list
-------------------------------*/
.img-list li {
  float: left;
}

.img-list li img,
.img-list li a {
  display: block;
  width: 100%;
}

.img-list01 li {
  width: 49%;
  margin-right: 2%;
}

.img-list01 li:last-child {
  margin-right: 0;
}

.img-list02 li {
  width: 32%;
  margin-right: 2%;
}

.img-list02 li:last-child {
  margin-right: 0;
}

.img-list03 li {
  width: 22%;
  margin-right: 4%;
}

.img-list03 li:last-child {
  margin-right: 0;
}

.img-list04 li {
  width: 18%;
  margin-right: 2.5%;
}

.img-list04 li:last-child {
  margin-right: 0;
}


/*  comp table01
-------------------------------*/
.table01,
.table01 th,
.table01 td {
  background: #fff;
  border-collapse: collapse;
}

.table01 {
  text-align: left;
}

.table01 tr {
  border-bottom: 2px solid #F8F8F8;
}

.table01 td {
  font-size: 1em;
  line-height: 1.4em;
}

.table01 td:first-child {
  width: 15em;
  padding: 20px 20px 20px 30px;
}

.table01 td:last-child span {
  margin: 20px 0;
  border-left: 1px solid #1D7B55;
  padding-left: 20px;
  display: block;
}

.table01 input[type="text"],
.table01 input[type="email"] {
  display: block;
  width: 100%;
  border: 1px solid #ccc;
  height: 40px;
  padding: 5px;
  font-size: 1em;
  line-height: 2em;
  border-radius: 0;
}

.table01 .w300 input {
  max-width: 300px;
}

.table01 .w500 input {
  max-width: 500px;
}

.table01 textarea {
  padding: 10px;
  max-width: 500px;
  width: 100%;
  height: 250px;
  border: 1px solid #ccc;
  font-size: 1em;
  line-height: 2em;
  border-radius: 0;
}

.table01 .red {
  color: #ff0000;
}

.table01 label {
  cursor: pointer;
}

.table01 label a {
  color: #ff0000;
}

.table01 select {
  height: 35px;
  font-size: 0.8em;
}

input[type="submit"] {
  background: #319F73;
  color: #fff;
  display: block;
  max-width: 200px;
  height: 50px;
  width: 100%;
  margin: 0 auto;
  font-size: 1.5rem;
  letter-spacing: 5px;
  transition: 0.4s;
  -webkit-transition: 0.4s;
  -ms-transition: 0.4s;
  -moz-transition: 0.4s;
  border: 1px solid #319F73;
}

input[type="submit"]:hover {
  background: #F8F8F8;
  color: #319F73;
}



/*  comp table02
-------------------------------*/
.table02,
.table02 th,
.table02 td {
  background: #fff;
  border-collapse: collapse;
  border: 2px solid #F8F8F8;
}

.table02 tr td {
  font-size: 1em;
  padding: 18px 10px;
}

.table02 tr td:nth-child(1) {
  width: 200px;
  background: #EAF1F5;
}

.table02 tr:nth-child(1) td {
  background: #F8F8F8;
}


/*  comp attention
-------------------------------*/
.attention {
  padding: 0 10px;
}

.attention .inner1070 {
  background: #EAF1F5;
  padding: 30px 50px 80px 50px;
  text-align: left;
  border-radius: 20px;
}

.attention .attention-ttl {
  text-align: center;
  font-size: 1.9em;
  line-height: 2em;
  padding-top: 45px;
  margin-bottom: 20px;
  letter-spacing: 5px;
  font-weight: 400;
  background: url(../images/ico_attention.svg) no-repeat center top;
  background-size: 40px;
}

.attention .attention-list li {
  position: relative;
  font-size: 1em;
  line-height: 1.2em;
  background: #fff;
  border-radius: 10px;
  padding: 22px 20px 22px 65px;
  margin-bottom: 25px;
  letter-spacing: 3px;
}

.attention .attention-list li::after {
  content: "1";
  padding: 10px 0 0 4px;
  text-align: center;
  color: #fff;
  font-family: 'Open Sans', sans-serif;
  font-size: 1.4em;
  font-weight: 400;
  position: absolute;
  top: 11px;
  left: 15px;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background: #1D7B55;
}

.attention .attention-list li:nth-child(2)::after {
  content: "2";
}

.attention .attention-list li:nth-child(3)::after {
  content: "3";
}

.attention .attention-list li:nth-child(4)::after {
  content: "4";
}

.attention .attention-list li:nth-child(5)::after {
  content: "5";
}

.attention .attention-list li:nth-child(6)::after {
  content: "6";
}

.attention .attention-list li:nth-child(7)::after {
  content: "7";
}

.attention .attention-list li:nth-child(8)::after {
  content: "8";
}

.attention .attention-txt {
  font-size: 1em;
}


/*  comp link-list
-------------------------------*/
.link-list {
  text-align: center;
}

.link-list .inner1070 li {
  display: inline-block;
  width: 31%;
  margin-right: 2.5%;
  vertical-align: top;
}

.link-list .inner1070 li p {
  display: none;
}

.link-list .inner1070 li p.btn {
  display: inline-block;
}

.link-list .inner1070 li:last-child {
  margin-right: 0;
}

.link-list .inner1070 a.link-list-unc {
  display: block;
  position: relative;
  padding-bottom: 45px;
}

.link-list.link-list-b .inner1070 a.link-list-unc::before {
  content: " ";
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 26px;
  height: 26px;
  border-radius: 100%;
  background: #1D7B55;
}

.link-list.link-list-b .inner1070 a.link-list-unc::after {
  content: " ";
  position: absolute;
  right: 0;
  left: -3px;
  bottom: 9px;
  margin: auto;
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.link-list .inner1070 img {
  display: block;
  width: 100%;
  box-shadow: 0 3px 20px rgba(0, 0, 0, 0.2);
  border-radius: 100%;
  margin-bottom: 20px;
}

.link-list.link-list-a figure {
  margin-bottom: 20px;
}

.link-list .inner1070 figcaption {
  font-size: 1.3em;
  line-height: 1.3em;
  font-weight: 400;
}

.link-list .inner1070 figcaption span {
  display: block;
  font-size: 0.5em;
  color: #A0A1A1;
}

.link-list.link-list-a li .btn {
  margin-bottom: 10px;
  width: 100%;
  text-align: left;
}

.link-list.link-list-a li .btn:last-child {
  margin-bottom: 0;
}


/*  comp program
-------------------------------*/
.program .ttl {
  margin-bottom: 30px;
}

.program .inner1070 {
  background: #F8F8F8;
  padding: 0 120px 80px 120px;
  text-align: center;
}

.program .program-ttl {
  background: #1D7B55;
  color: #fff;
  text-align: center;
  font-size: 1.2em;
  line-height: 1.5em;
  letter-spacing: 3px;
  display: inline-block;
  font-weight: 400;
  padding: 10px 20px;
  margin-bottom: 45px;
}

.program .program-about {
  font-size: 1em;
  line-height: 2em;
  margin-bottom: 50px;
  text-align: left;
  display: block;
  max-width: 500px;
  width: 100%;
  margin: 0 auto 45px auto;
}

.program .program-white {
  background: #fff;
  padding: 30px 70px 70px 70px;
}

.program .program-list {
  text-align: left;
}

.program .program-list li {
  margin-bottom: 50px;
  min-height: 120px;
  padding: 15px 0 20px 150px;
  position: relative;
  display: block;
}

.program .program-list li::after {
  content: "Ⅰ期";
  position: absolute;
  top: 0;
  left: 0;
  width: 120px;
  min-height: 120px;
  height: 100%;
  padding-top: 15px;
  border-radius: 10px;
  background: #319f73;
  color: #fff;
  text-align: center;
  font-size: 2em;
  line-height: 3em;
}

.program .program-list li::before {
  content: " ";
  position: absolute;
  left: 51px;
  bottom: -8px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 7.5px 0 7.5px;
  border-color: #319f73 transparent transparent transparent;
}

.program .program-list li:last-child::before {
  display: none;
}

.program .program-list li:nth-child(2)::after {
  content: "Ⅱ期";
}

.program .program-list li:nth-child(3)::after {
  content: "Ⅲ期";
}

.program .program-list li:nth-child(4)::after {
  content: "Ⅳ期";
}

.program .program-list li:nth-child(5)::after {
  content: "Ⅴ期";
}

.program .program-list li:nth-child(6)::after {
  content: "Ⅵ期";
}

.program .program-list .program-list-head {
  font-size: 1em;
  line-height: 2em;
  position: relative;
}

.program .program-list .program-list-head.underline {
  padding-bottom: 50px;
  border-bottom: 1px solid #F8F8F8;
  margin-bottom: 20px;
}

.program .program-list-body {
  margin-bottom: 30px;
}

.program .program-list-body:last-child {
  margin-bottom: 0;
}

.program .program-list-body dt {
  display: block;
  border-left: 3px solid #319F73;
  font-size: 1em;
  padding-left: 10px;
  line-height: 1.5em;
  margin-bottom: 10px;
}

.program .program-list-body dd {
  display: block;
  background: #F8F8F8;
  font-size: 1em;
  line-height: 1.5em;
  padding: 10px;
  margin-bottom: 10px;
}

.program .program-list-body dd:last-child {
  margin-bottom: 0;
}

.program .program-list-body dd span {
  padding-right: 20px;
}

.program .program-table {
  text-align: left;
  border-collapse: collapse;
  font-size: 1em;
  line-height: 1.5em;
}

.program .program-table th {
  background: #F8F8F8;
  border: 1px solid #ddd;
  padding: 20px 30px;
  font-weight: 400;
}

.program .program-table td {
  border: 1px solid #ddd;
  padding: 20px 30px;
}

.program .program-table td:first-child {
  text-align: center;
  min-width: 100px;
  padding: 0;
}

.fig-list li {
  float: left;
  width: 48%;
  margin: 0 4% 4% 0;
  text-align: left;
}

.fig-list li:nth-child(2n) {
  margin-right: 0;
}

.fig-list li a,
.fig-list li img {
  display: block;
  width: 100%;
}

.fig-list li figcaption {
  display: block;
  margin: 25px 0 20px 0;
  font-size: 1.2em;
  line-height: 1.5em;
  padding: 0 20px;
}

.fig-list li span {
  display: block;
  border-left: 2px solid #1D7B55;
  padding-left: 20px;
  letter-spacing: 3px;
}

.fig-list li p {
  padding: 0 20px;
  font-size: 1em;
  line-height: 2em;
}

/*=========================================================================
  module rulu
=========================================================================*/

.ttl {
  font-size: 2em;
  letter-spacing: 5px;
  font-weight: 400;
  line-height: 1.2em;
}

.ttl span {
  font-size: 0.4em;
  color: #A0A1A1;
  display: block;
}

.ttl.uline {
  padding-bottom: 10px;
  position: relative;
}

.ttl.uline::after {
  content: " ";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 20px;
  height: 2px;
  background: #1D7B55;
}

.ttl-a {
  font-size: 1.4em;
  line-height: 1.4em;
  font-weight: 400;
  border-left: 2px solid #1D7B55;
  padding-left: 10px;
}

.btn {
  min-width: 275px;
  width: auto;
  display: inline-block;
}

.btn a {
  display: block;
  padding: 12px 35px 12px 20px;
  font-size: 1em;
  text-align: left;
  border-radius: 32px;
  background: #fff;
  border: 1px solid #EBEBEB;
  letter-spacing: 2px;
  position: relative;
}

.btn a::after {
  content: " ";
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #1D7B55;
  border-right: solid 2px #1D7B55;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.btn a:hover {
  background: #1D7B55;
  color: #fff;
  opacity: 1;
}

.btn a:hover::after {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}


.btn-tell {
  max-width: 400px;
  width: 100%;
  margin: 0 auto;
  display: block;
}

.btn-tell a {
  text-align: center;
  display: block;
  background: #F8F8F8;
  font-size: 0.8em;
  line-height: 2em;
  padding: 15px 5px;
}

.btn-tell span {
  background: url(../images/ico_tell.svg) no-repeat left center;
  background-size: 25px;
  display: inline-block;
  font-size: 2em;
  letter-spacing: 3px;
  padding: 3px 3px 3px 30px;
}

/* line-bnr */
.news .line-bnr .sn{ display: block !important; }
.news .line-bnr .pn{ display: none !important; }

@media screen and (max-width:1000px){
.news .line-bnr .sn{ display: none !important; }
.news .line-bnr .pn{ display: block !important; }
}

.news .line-bnr {
  margin-bottom: 5rem;
  margin-top: 3rem;
}
.news .line-bnr.min {
  max-width: 640px;
}

.news .line-bnr img {
  width: 100%;
}

@media screen and (max-width: 1000px) {
.news .line-bnr {
  margin-bottom: 1.5rem;
  margin-top: 2rem;}
}

.alcoholism .program .line-bnr {
  margin-bottom: 3rem;
}

@media screen and (max-width: 1000px) {
  .alcoholism .program .line-bnr {
    margin-bottom: 2rem;
  }

  .alcoholism .program .line-bnr img {
    max-width: 100%;
  }
}

/* head-line */
.head-line a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.5rem;
  border: 1px solid #1D7B55;
  padding: 0.4em;
}

.head-line p {
  font-size: 11px;
  width: 68%;
}

.head-line img {
    max-width: 40px;
}

/* hm-line */
.hm-line a {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.5rem;
  border: 1px solid #1D7B55;
  padding: 0.4em;
}

.hm-line p {
  font-size: 11px;
  width: 56%;
}

.hm-line img {
    max-width: 40px;
}

.pchm-line {
  margin-top: 2rem;
}

.pchm-line img {
  max-width: 100%;
}