@charset "utf-8";

/*----------------------------------------------------
 elements
----------------------------------------------------*/
* {-webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box
  }

body{position: relative;}

html { font-size: 62.5%; color:#454545; } /* 10px */
body { font-size: 1.6rem; } /* 16px */
p  { font-size: 1.6rem; } /* 16px */
li { font-size: 1.6rem; } /* 16px */
li p { font-size: 1.6rem; } /* 16px */

a {color:#409c63;}
a:hover{opacity: 0.7; transition: opacity 0.3s;}

* img{max-width: 100%;}

.red{color: #ff0000;}

body{
  font-family:
  'ヒラギノ丸ゴ ProN', 
  'ヒラギノ角ゴ ProN W3', 
  "UD デジタル 教科書体 N-R",
   -apple-system,
   BlinkMacSystemFont,
   Roboto,
   Futura,
   'Century Gothic',
   "游ゴシック体",
   YuGothic,
   "游ゴシック Medium",
   "Yu Gothic Medium",
   "游ゴシック",
   "Yu Gothic",
   "Sogoe UI",
   Verdana,
   "メイリオ",
   Meiryo,
   sans-serif;
}
.font-go{
  font-family: 
  -apple-system,
   BlinkMacSystemFont,
   Roboto,
   Futura,
   'Century Gothic',
   "游ゴシック体",
   YuGothic,
   "游ゴシック Medium",
   "Yu Gothic Medium",
   "游ゴシック",
   "Yu Gothic",
   "Sogoe UI",
   Verdana,
   "メイリオ",
   Meiryo,
   sans-serif;
}
.font-min{
  font-family: Georgia,
   "游明朝体",
   "YuMincho",
   "游明朝",
   "Yu Mincho",
   "ヒラギノ明朝 ProN W3",
   "Hiragino Mincho ProN W3",
   HiraMinProN-W3,
   "ヒラギノ明朝 ProN",
   "Hiragino Mincho ProN",
   "ヒラギノ明朝 Pro",
   "Hiragino Mincho Pro",
   "HGS明朝E",
   "ＭＳ Ｐ明朝",
   "MS PMincho",
   serif;
}
.font-marugo{
  font-family:"ヒラギノ丸ゴ Pro W4",
  "ヒラギノ丸ゴ Pro",
  "Hiragino Maru Gothic Pro",
  "ヒラギノ角ゴ Pro W3",
  "Hiragino Kaku Gothic Pro",
  "HG丸ｺﾞｼｯｸM-PRO",
  "HGMaruGothicMPRO";
}

/*----------------------------------------------------
 display
----------------------------------------------------*/
.dispN  { display: none !important; }
.dispB  { display: block !important; }
.dispI  { display: inline !important; }
.dispIB { display: inline-block !important; }
.dispT  { display: table !important; }
.dispTC { display: table-cell !important; }

@media screen and (max-width:640px) {
  .spdispN  { display: none !important; }
  .spdispB  { display: block !important; }
  .spdispI  { display: inline !important; }
  .spdispIB { display: inline-block !important; }
  .spdispT  { display: table !important; }
  .spdispTC { display: table-cell !important; }
}

/*----------------------------------------------------
 header
----------------------------------------------------*/
header {
  width: 100%;
  min-width: 1160px;
  color:#737373;
  position: absolute;
  top: 0;
  z-index: 999;
}

#spHeader{ display: none; }
ul.spMenu1st{ display: none;}

#pcHeader {
  width: 1160px;
  padding:40px 0 0px;
  margin: 0 auto;
}
.hdr_pc01{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding:0;
}
.hdr_pc01 .hdr_discription a{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: #363636;
  text-decoration: none;
}
.hdr_pc01 .hdr_discription a img{
  margin-right: 10px;
}
.hdr_pc01 .hdr_discription a span.tit{
  font-size: 2.0rem; 
  display: block; 
}
.hdr_pc01 .hdr_discription a span.main{
  font-size: 2.4rem;  
  display: block; 
  margin-top: 8px;
}
.hdr_pc01 ul.hdr_link{
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.hdr_pc01 ul.hdr_link li{
  margin-right: 20px;
}
.hdr_pc01 ul.hdr_link li:last-child{
  margin-right: 0;
}

@media screen and (max-width:640px) {
  /*----------------------------------------------------
   header
  ----------------------------------------------------*/
  header {
    min-width: 100%;
    position: relative;
  }
  header #spHeader{
    display: block;
  }
  header #spHeader .spHeaderInner{
    width:94%;
    margin:0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 0;
  }
  header #spHeader .spHeaderInner img{
    max-width: 100%;
  }
  header #pcHeader{
    display: none;
  }
  .pageContent #topNavi{
    display: none;
  }

  #spHeader .hdr_discription a{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #363636;
    text-decoration: none;
  }
  #spHeader .hdr_discription a img{
    margin-right: 10px;
  }
  #spHeader .hdr_discription a span.tit{
    font-size: 1.6rem; 
    display: block; 
  }
  #spHeader .hdr_discription a span.main{
    font-size: 2.0rem;  
    display: block; 
    margin-top: 5px;
  }

  /* menuBtn */
  .menu-trigger,
  .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
  .menu-trigger {
    position: relative;
    width: 50px;
    height: 44px;
  }
  .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #449144;
    border-radius: 4px;
  }
  .menu-trigger span:nth-of-type(1) {
    top: 0;
  }
  .menu-trigger span:nth-of-type(2) {
    top: 20px;
  }
  .menu-trigger span:nth-of-type(3) {
    bottom: 0;
  }
  .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(20px) rotate(-45deg);
    transform: translateY(20px) rotate(-45deg);
  }
  .menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-20px) rotate(45deg);
    transform: translateY(-20px) rotate(45deg);
  }


  /* Accordion 1st */
  .spMenuWrap{
    position: relative;
  }
  ul.spMenu1st{
    display: none;
    border-top: solid 1px #fff;
    position: absolute;
    width: 100%;
    top:0;
    left:0;
    z-index: 999;
  }
  ul.spMenu1st > li{
    border-bottom: solid 1px #fff;
    background-color: #449144;
    color: #fff;
    font-weight: 500;
  }
  ul.spMenu1st > li > a{
    padding: 15px 5%;
    text-decoration: none;
    color: #fff;
    font-weight: 700;
    display: block;
  }
  ul.spMenu1st > li > span{
    padding: 15px 5%;
    font-weight: 700;
    display: block;
    cursor: pointer;
    position: relative;
  }
  ul.spMenu1st > li > span:after{
      position: absolute;
      right:5%;
      font-family: 'Font Awesome 5 Free';
      content: '\f067';
      font-weight: 900;
      display: inline-block;
      width: 1em;
      color: #fff;
      text-indent: 0;
  }
  ul.spMenu1st > li > span.active:after{
      content: '\f068';
  }
  ul.spMenu1st > li > span:hover{
    opacity: 0.7;
  }

  /* Accordion 2nd */
  ul.spMenu2nd{
    display: none;
    border-top: solid 1px #449144;
  }

  ul.spMenu2nd > li{
    border-bottom: solid 1px #449144;
    background-color: #fff;
    color: #449144;
  }
  ul.spMenu2nd > li:last-child{
    border-bottom: none;
  }
  ul.spMenu2nd > li > a{
    padding: 15px 5% 15px 8%;
    text-decoration: none;
    color: #449144;
    display: block;
  }



}


/*----------------------------------------------------
 footer
----------------------------------------------------*/
footer {
  width: 100%;
  min-width: 1160px;
  background: #ececec;
  padding-bottom: 25px;
}
#footerInner {
  width: 1160px;
  margin: 0 auto;
}

ul.ftrTxtLinkArea{
  padding: 70px 0 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}
ul.ftrTxtLinkArea > li > a{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  color: #333;
  text-decoration: none;
  border-right: solid 1px #333;
}
ul.ftrTxtLinkArea > li:last-child > a{
  border-right: none; 
}

.ftrTxtArea{
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 25px;
}
.ftrTxtArea .hdr_discription a{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: #363636;
  text-decoration: none;
}
.ftrTxtArea .hdr_discription a img{
  margin-right: 10px;
}
.ftrTxtArea .hdr_discription a span.tit{
  font-size: 2.0rem; 
  display: block; 
}
.ftrTxtArea .hdr_discription a span.main{
  font-size: 2.4rem;  
  display: block; 
  margin-top: 8px;
}
.ftrTxtArea .address{
  font-size: 1.8rem;
  line-height: 1.6;
  text-align: center;
}

@media screen and (max-width:640px) {
  footer {
    width: 100%;
    min-width: 100%;
    padding-bottom: 0;
  }
  #footerInner {
    padding:25px 0;
    width: 94%;
    margin:0 auto;
    height: 100%; 
  }

  ul.ftrTxtLinkArea{
    padding: 0 0 20px;
    display: block;
    align-items: center;
    justify-content: center;
  }
  ul.ftrTxtLinkArea > li > a{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 0;
    color: #333;
    text-decoration: none;
    border-right: none;
  }
  ul.ftrTxtLinkArea > li:last-child > a{
    border-right: none; 
  }

  .ftrTxtArea{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
  }
  .ftrTxtArea .hdr_discription a{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #363636;
    text-decoration: none;
  }
  .ftrTxtArea .hdr_discription a img{
    margin-right: 10px;
  }
  .ftrTxtArea .hdr_discription a span.tit{
    font-size: 1.8rem; 
    display: block; 
  }
  .ftrTxtArea .hdr_discription a span.main{
    font-size: 2.0rem;  
    display: block; 
    margin-top: 8px;
  }
  .ftrTxtArea .address{
    font-size: 1.6rem;
    line-height: 1.6;
    text-align: left;
  }

}
#copyRight{
  background-color: #449144;
  padding: 10px 0;
  min-width: 1160px;
}
#copyRight p{
  min-width: 1160px;
  margin:0 auto;
  padding:10px 0;
  text-align: center;
  color:#fff;
  font-size: 1.4rem;
}
@media screen and (max-width:640px) {
  #copyRight{
    min-width: 100%;
  }
  #copyRight p{
    min-width: 94%;
    margin:0 auto;
    font-size: 0.8rem;
  }
}

/*----------------------------------------------------
 pageTop
----------------------------------------------------*/
#pageTop{
  position: fixed;
  right: 5%;
  bottom: -15%;
}
@media screen and (max-width:640px) {
  #pageTop{
    max-width: 13vw;
    right: 3%;
    bottom: -15%;
  }  
}

/*----------------------------------------------------
 content
----------------------------------------------------*/
#content {
  width: 100%;
  background: #fff;
  position: relative;
}

/*----------------------------------------------------
TITLEs
----------------------------------------------------*/
.imgTit{
  text-align: center;
}
.imgTit img{
  max-width: 100%;
}

/*====================================================
 toppage
====================================================*/
/* slider */
.slider{
  min-width: 1160px;
}
.slider img{
  width: 100%;
  max-width: 100%;
}
.slick-dots,
.slick-arrow{
  display: none !important;
}
@media screen and (max-width:640px) {
  .slider{
    min-width: 100%;
  } 
}

.secWrapper{
  width: 100%;
  padding:70px 0;
}
.secOuter {
  width: 1160px;
  margin: 0 auto;
  zoom: 1;
}
.secInner {
  width: 800px;
  margin: 0 auto;
  zoom: 1;
}

@media screen and (max-width:640px) {
  .secWrapper{
    width: 100%;
    padding:30px 0;
  }
  .secOuter {
    width: 94%;
    margin:0 auto;
    padding: 8px;
  }
  .secInner {
    width: 100%;
  }
}

/*----------------------------------------------------
SEC01 secGnav
----------------------------------------------------*/
.secWrapper.secGnav{
  background-color: #449144;
  padding: 25px;
}
ul.pcNav{
  display: flex;
  align-items: center;
  justify-content: center;
}
ul.pcNav > li > a{
  font-size: 2.0rem;
  color: #fff;
  text-decoration: none;
  display: flex;
  padding: 0 15px;
  align-items: center;
  justify-content: center;
  border-right: solid 1px #fff;
}
ul.pcNav > li:first-child > a{
  padding-left: 0;
}
ul.pcNav > li:last-child > a{
  border-right: none;
  padding-right: 0;
}
@media screen and (max-width:640px) {
  .secWrapper.secGnav{
    display: none;
  }
}


/*----------------------------------------------------
SEC02
----------------------------------------------------*/
.secWrapper.sec02{
  background-color: #d7eaff;
  padding: 50px 0 230px;
}

.sec02 .intro{
  background-color: #fff;
  padding: 25px;
  border-radius: 8px;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  margin-bottom: 35px;
}
.sec02 .intro .imgCol,
.sec02 .intro .txtCol{
  width: calc( (100% - 25px) / 2 );
}
h3.topTitEn{
  font-size: 2.4rem;
  color: #353535;
  margin-bottom: 10px;
  letter-spacing: 0.2rem;
}
h3.topTitEn span.en{
  font-size: 1.3rem;
  color: #246224;
  display: block;
  margin-top: 15px;
  letter-spacing: 0.3rem;
}
.sec02 .intro .lead{
  font-size: 2.0rem;
  color: #353535;
  line-height: 1.8;
}
@media screen and (max-width:640px) {
  .secWrapper.sec02{
    padding: 30px 0 ;
  }
  .sec02 .intro{
    padding: 15px;
    border-radius: 4px;
    display: block;
  }
  .sec02 .intro .imgCol,
  .sec02 .intro .txtCol{
    width: 100%;
    margin-bottom: 15px;
  }
  h3.topTitEn{
    font-size: 2.0rem;
    margin-bottom: 10px;
  }
  h3.topTitEn span.en{
    font-size: 1.2rem;
    margin-top: 10px;
  }
  .sec02 .intro .lead{
    font-size: 1.6rem;
    line-height: 1.6;
  }
}

/*----------------------------------------------------
SEC03
----------------------------------------------------*/
.secWrapper.sec03{
  background-color: #fff;
  padding: 50px 0 ;
}
.circle3Col{
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  margin-top: -190px;
}
.circle3Col a{text-decoration: none;}
.circle3Col a:hover{opacity: 0.7; transition: opacity 0.3s;}
.circle3Col > .circleInnerCol{
  width: calc( ( 100% - 200px ) / 3);
}
.circle3Col > .circleInnerCol dl{
  background-color: transparent;
}
.circle3Col > .circleInnerCol dl > dt{
  background-color: #fafcff;
  border-radius: 50%;
  border: solid 10px rgba(171, 211, 255, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 300px;
  margin-bottom: 30px;
}
.circle3Col > .circleInnerCol dl > dd{
  display: flex;
  align-items: center;
  justify-content: center;
}
.circle3Col > .circleInnerCol dl > dd h3{
  font-size: 2.2rem;
  color: #4488cf;
}
@media screen and (max-width:640px) {
  .secWrapper.sec03{
    padding: 30px 0 ;
  }
  .circle3Col{
    display: block;
    margin-top: 0;
  }
  .circle3Col a{text-decoration: none;}
  .circle3Col a:hover{opacity: 0.7; transition: opacity 0.3s;}
  .circle3Col > .circleInnerCol{
    width: 50vw;
    margin: 0 auto 30px;
  }
  .circle3Col > .circleInnerCol dl > dt{
    border: solid 6px rgba(171, 211, 255, 0.25);
    height: 50vw;
    margin-bottom: 15px;
  }
  .circle3Col > .circleInnerCol dl > dd{
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .circle3Col > .circleInnerCol dl > dd h3{
    font-size: 2.0rem;
  }
}

/*----------------------------------------------------
SEC04
----------------------------------------------------*/
.secWrapper.sec04{
  background: url(../img/top/sec04_bg.png) left top repeat;
  background-color: #fff;
  padding: 100px 0 ;
}
.sec04 .news2Col{
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
.sec04 .news2Col > .newsCol{
  width: calc( 100% - 300px );
  background-color: #fff;
  border-radius: 8px;
  padding: 35px;
  position: relative;
}
.sec04 .news2Col > .newsCol h3.topTitEn{
  padding-left: 15px;
}
.sec04 .news2Col > .newsCol .btnAbs{
  position: absolute;
  top: 35px;
  right: 35px;
  margin: 0;
}

.newsList > dl{
  border-bottom: solid 1px #bfbfbf;
  padding: 10px 10px;
}
.newsList > dl:first-child{
  border-top: solid 1px #bfbfbf; 
}
.newsList > dl > dt{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 5px;
}
.newsList > dl > dt p.ico{
  width: 120px;
  margin-right: 15px;
}
.newsList > dl > dt p.ico span{
  background-color: #679fda;
  color: #fff;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  padding: 3px 0;
}
.newsList > dl > dt p.ico span.new{background-color:#679fda ;}
.newsList > dl > dt p.ico span.topics{background-color:#449144 ;}

.newsList > dl > dt p.ico span.ico01{background-color:#679fda ;}
.newsList > dl > dt p.ico span.ico02{background-color:#a18bdd ;}
.newsList > dl > dt p.ico span.ico03{background-color:#e73c5b ;}
.newsList > dl > dt p.ico span.ico04{background-color:#449144 ;}

.newsList > dl > dt p.date{
  font-size: 1.5rem;
  color: #333;
}
.newsList > dl > dd a{
  display: block;
  font-size: 1.6rem;
  color: #333;
  text-decoration: none;
  line-height: 1.4;
}
.sec04 .news2Col > .bnrCol{
  width: 263px;
}
.sec04 .news2Col > .bnrCol li{
  margin-bottom: 20px;
}
.sec04 .news2Col > .bnrCol li a{
  display: block;
}

@media screen and (max-width:640px) {
  .secWrapper.sec04{
    padding: 30px 0 ;
  }
  .sec04 .news2Col{
    display: block;
  }
  .sec04 .news2Col > .newsCol{
    width: 100%;
    border-radius: 6px;
    padding: 15px;
    margin-bottom: 40px;
  }
  .sec04 .news2Col > .newsCol h3.topTitEn{
    padding-left: 0;
  }
  .sec04 .news2Col > .newsCol .btnAbs{
    position: relative;
    top: inherit;
    right: inherit;
    margin: 30px 0;
  }
  .sec04 .news2Col > .bnrCol{
    margin: 0 auto;
  }
}

/*----------------------------------------------------
SEC05
----------------------------------------------------*/
.secWrapper.sec05{
  background-color: #fff;
  padding: 80px 0 ;
}
ul.txtLinkArea{
  width: 80%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
ul.txtLinkArea > li > a{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 15px;
  color: #212121;
  text-decoration: none;
}
ul.txtLinkArea > li > a:before{
  content: '▶ ';
  color: #212121;
  margin-right: 5px;
  font-size: 1.3rem;
}

@media screen and (max-width:640px) {
  .secWrapper.sec05{
    background-color: #fff;
    padding: 20px 0 ;
  }
  ul.txtLinkArea{
    display: block;
    width: 100%;
  }
  ul.txtLinkArea > li > a{
    display: block;
    padding: 10px 0;
    text-decoration: none;
  }
  ul.txtLinkArea > li > a:before{
    content: '▶ ';
    color: #212121;
    margin-right: 5px;
  }
}

/*====================================================
 BTN
====================================================*/
.btn-basic{
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  margin:30px auto;
}
.btn-basic .btn{
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
}
.btn-basic .btn a{
  padding:15px 50px 15px 30px;
  font-size: 1.8rem;
  width: 100%;
  margin:0 auto;
  color:#fff;
  background-color: #449144;
  /*text-align: center;*/
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-decoration: none;
  position: relative;
  line-height: 1.2;
}
.btn-basic .btn a:after {
    content: '\f054';
    display: inline-block;
    font-weight: 700;
    font-size: 1.4rem;
    width: auto;
    color: #fff;
    font-family: 'Font Awesome 5 Free';
    position: absolute;
    right:20px;
    top:calc(50% - 0.7rem );
}
.btn-basic .btn a:hover{
  text-decoration: none;
}

/* WHITE  */
.btn-basic .btn.white a{
  color:#535353;
  background-color: #fff;
  border: solid 1px #535353;
}
.btn-basic .btn.white a:after {
    color: #535353;
}

/* with ico  */
.btn-basic .btn a.ico_dl:before {
  content: '';
  display: inline-block;
  width: 19px;/*画像の幅*/
  height: 27px;/*画像の高さ*/
  background-image: url(../img/common/ico_dl.png);
  background-size: contain;
  vertical-align: middle;
  margin-right: 10px;
}
/* btn-1col */
.btn-basic.btn-1col{justify-content: center;}
.btn-basic.btn-1col .btn a{padding:15px 50px 15px 30px;}
/* btn-2col */
.btn-2col .btn{ width: calc((100% - 30px) / 2);}
.btn-2col .btn{margin-right: 30px;}
.btn-2col .btn:nth-child(2n){margin-right: 0;}
/* btn-3col */
.btn-3col .btn{ width: calc((100% - 60px) / 3);}
.btn-3col .btn{margin-right: 30px;}
.btn-3col .btn:nth-child(3n){margin-right: 0;}
/* btn-4col */
.btn-4col .btn{ width: calc((100% - 90px) / 4);}
.btn-4col .btn{margin-right: 30px;}
.btn-4col .btn:nth-child(4n){margin-right: 0;}


/* alnR  */
.btn-basic.alnR{justify-content: flex-end;}

.btn-basic.alnR{
  display: flex;
  justify-content: flex-end;
  align-items: stretch;
  margin:30px auto;
}
.btn-basic.alnR.btn-2col .btn{ width: auto;}
.btn-basic.alnR.btn-2col .btn{margin-right: 0px; margin-left: 30px;}
.btn-basic.alnR.btn-2col .btn:nth-child(2n){margin-right: 0;}

/* alnL  */
.btn-basic.alnL{justify-content: flex-start;}

@media screen and (max-width: 640px) {
  .btn-basic{
    display: block;
    margin:30px auto;
  }
  .btn-basic .btn{
    display: block;
    margin-bottom: 30px;
  }
  .btn-basic .btn:last-child{
    margin-bottom: 0;
  }
  .btn-basic .btn a{
    padding:10px 40px 10px 10px;
    text-align: center;
    display: block;
  }
  /* ボタン：1列 */
  .btn-basic.btn-1col{text-align: center;}
  .btn-basic.btn-1col .btn a{padding:10px 50px 10px 25px;}
  /* ボタン：2列 */
  .btn-2col .btn{ width: 100%;}
  .btn-2col .btn{ margin-right: 0;}
  /* ボタン：3列 */
  .btn-3col .btn{ width: 100%;}
  .btn-3col .btn{ margin-right: 0;}
  /* ボタン：4列 */
  .btn-4col .btn{ width: 100%;}
  .btn-4col .btn{ margin-right: 0;}

  /* alnR  */
  .btn-basic.alnR{justify-content: center;}

  .btn-basic.alnR{
    justify-content: center;
    flex-wrap: wrap; 
  }
  .btn-basic.alnR.btn-2col .btn{ width: 100%;}
  .btn-basic.alnR.btn-2col .btn{margin-right: 0px; margin-left: 0px;}
  .btn-basic.alnR.btn-2col .btn:nth-child(2n){margin-right: 0;}

  /* alnL  */
  .btn-basic.alnL{justify-content: center;}

}




/*====================================================
 
 PAGES

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

/*====================================================
 pageMv
====================================================*/
.pageMv{
  position: relative;
  width: 100%;
  min-width: 1160px;
}
.pageMv > dt{
  position: relative;
  width: 100%;
}
.pageMv > dt img{
  width: 100%;
  max-width: 100%;
}
.pageMv > dd{
  position: absolute;
  top :0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}
.pageMv > dd h2.pageTit{
  width: 1160px;
  display: flex;
  justify-content: flex-end;
  letter-spacing: 0.4rem;
  line-height: 1.2;
  margin: 0 auto;
  font-size: 4.4rem;
  color: #449144;
  text-shadow: 
    #faf9ff 2px 0px 4px, #faf9ff -2px 0px 4px,
    #faf9ff 0px -2px 4px, #faf9ff -2px 0px 4px,
    #faf9ff 2px 2px 4px, #faf9ff -2px 2px 4px;
}

@media screen and (max-width: 640px) {
  .pageMv{
    width: 100%;
    /*min-width: 1160px;*/
    min-width: 100%;
  }
  .pageMv > dd h2.pageTit{
    width: 100%;
    margin: 0 auto;
    /*justify-content: flex-start;*/
    font-size: 2.4rem;
    letter-spacing: 0;
    /*padding-left: 3%;*/
    padding-right: 3%;
    /*text-shadow: 
      #5a5a5a 2px 0px 3px, #5a5a5a -2px 0px 3px,
      #5a5a5a 0px -2px 3px, #5a5a5a -2px 0px 3px,
      #5a5a5a 2px 2px 3px, #5a5a5a -2px 2px 3px;*/
  }
}

/*====================================================
 breadCrumb
====================================================*/
.secWrapper.breadCrumb{
  padding: 50px 0;
}
.breadCrumb ul{
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.breadCrumb ul > li > a,
.breadCrumb ul > li > span{
  display: block;
  padding: 0 15px;
  text-decoration: none;
  position: relative;
}
.breadCrumb ul > li > a:after {
    content: '\f054';
    display: inline-block;
    font-weight: 700;
    font-size: 1.4rem;
    width: auto;
    color: #5a5a5a;
    font-family: 'Font Awesome 5 Free';
    position: absolute;
    right: -5px;
    top: calc(50% - 0.7rem );
}

@media screen and (max-width: 640px) {
  .secWrapper.breadCrumb{
    display: none;
  }
}

/*====================================================
 pageContent
====================================================*/
.secWrapper.pageContent{
  padding: 0 0 180px;
}
.secWrapper.pageContent > .secOuter{
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
.secWrapper.pageContent > .secOuter > .sideCol{
  width: 280px;
}
.secWrapper.pageContent > .secOuter > .mainCol{
  width: 830px;
}
@media screen and (max-width: 640px) {
  .secWrapper.pageContent{
    padding: 30px 0 60px;
  }
  .secWrapper.pageContent > .secOuter{
    display: block;
  }
  .secWrapper.pageContent > .secOuter > .sideCol{
    display: none;
  }
  .secWrapper.pageContent > .secOuter > .mainCol{
    width: 100%;
  }
}

/*================================
 sideCol
================================*/
.sideCol * a{
  display: block;
  text-decoration: none;
}

.sideNav1st{
  border: solid 2px #e3e3e3;
  border-bottom: none;
}
.sideNav1st > li{
  border-bottom: solid 2px #e3e3e3;
}
.sideNav1st > li > a{
  padding: 20px 30px;
  background-color: #fff;
  color: #4d4b4b;
  font-size: 2.0rem;
  position: relative;
}
.sideNav1st > li > a:after {
    content: '\f054';
    display: inline-block;
    font-weight: 700;
    font-size: 1.6rem;
    width: auto;
    color: #3179be;
    font-family: 'Font Awesome 5 Free';
    position: absolute;
    right: 15px;
    top: calc(50% - 0.7rem );
}
.sideNav1st > li > a.active{
  background-color: #449144;
  color: #fff;
}
.sideNav1st > li > a.active:after {
    color: #fff;
}


.sideNav2nd{
  background-color: #e8f2e8;
  padding: 25px ;
  border-top: solid 2px #e3e3e3;
}
.sideNav2nd > li > a{
  padding: 0 0 0 25px;
  color: #4d4b4b;
  font-size: 1.8rem;
  line-height: 1.6;
  margin-bottom: 5px;
  position: relative;
}
.sideNav2nd > li:last-child > a{
  margin-bottom: 0px;
}
.sideNav2nd > li > a:before {
    content: '\f054';
    display: inline-block;
    font-weight: 700;
    font-size: 1.2rem;
    width: auto;
    color: #8d8d8d;
    font-family: 'Font Awesome 5 Free';
    position: absolute;
    left: 5px;
    top: 0.4rem;
}


/*====================================================
 mainCol
====================================================*/
.pageSec{
  position: relative;
  margin-bottom: 80px;
}
@media screen and (max-width:640px) {
  .pageSec{
    margin-bottom: 60px;
  }  
}
/*================================
 Title / TXT
================================*/
.tit03{
  font-size: 3.0rem;
  color: #4d4b4b;
  margin-bottom: 40px;
  padding-left: 20px;
  border-left: solid 6px #449144;
  line-height: 1.2;
}
.tit04{
  font-size: 2.4rem;
  color: #4d4b4b;
  margin-top: 30px;
  margin-bottom: 20px;
  padding: 0 0 5px 0;
  border-bottom: solid 1px #449144;
  line-height: 1.2;
}
.tit05{
  font-size: 2.0rem;
  color: #449144;
  margin-bottom: 10px;
  padding: 0 ;
  line-height: 1.2;
}
.tit06{
  font-size:1.8rem;
  color: #4d4b4b;
  margin-bottom: 5px;
  padding: 0 ;
  line-height: 1.2;
}
p.txt{
  font-size: 1.8rem;
  line-height: 1.8;
  margin-bottom: 30px;
}
.txtLink{
  margin-bottom: 15px;
}
.txtLink a{
  color:#449144 ;
  text-decoration: none;
}
.txtLink a:before{
  content: '\f054';
  display: inline-block;
  font-weight: 700;
  font-size: 1.4rem;
  width: auto;
  color: #449144;
  font-family: 'Font Awesome 5 Free';
  margin-right: 5px;
}
.bdrBox{
  border: solid 1px #449144;
  padding: 20px 20px 15px 20px;
}

@media screen and (max-width:640px) {
  .tit03{
    font-size: 2.4rem;
    margin-bottom: 20px;
    padding-left: 15px;
    border-left: solid 4px #449144;
  }
  .tit04{
    font-size: 2.0rem;
    margin-top: 20px;
    margin-bottom: 15px;
    padding: 0 0 3px 0;
  }

  .tit05{
    font-size: 1.8rem;
  }
  .tit06{
    font-size:1.5rem;
  }
  p.txt{
    font-size: 1.6rem;
    line-height: 1.6;
    margin-bottom: 20px;
  }
  .bdrBox{
    padding: 15px 15px 10px;
  }
}

/*================================
 pageLink3Col
================================*/
.pageLink3Col{
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.pageLink3Col > .pageLinkInnerCol{
  width: calc( (100% - 60px) / 3 );
  margin-right: 30px;
  margin-bottom: 40px;
  border-radius: 4px;
  border: solid 5px #ffd069;
  background-color: #fff;
  padding: 4px;
}
.pageLink3Col > .pageLinkInnerCol:nth-child(3n){
  margin-right: 0;
}
.pageLink3Col > .pageLinkInnerCol > a{
  display: block;
  position: relative;
  background-color: #fff3d9;
  padding: 20px 15px 35px;
  text-decoration: none;
  height: 100%;
}
.pageLink3Col > .pageLinkInnerCol > a > dl{
  text-align: center;
}
.pageLink3Col > .pageLinkInnerCol > a > dl > dt{
  font-size: 2.0rem;
  color: #e5a823;
  font-family:"ヒラギノ丸ゴ Pro W4",
  "ヒラギノ丸ゴ Pro",
  "Hiragino Maru Gothic Pro",
  "HG丸ｺﾞｼｯｸM-PRO",
  "HGMaruGothicMPRO";
  margin-bottom: 20px;
}
.pageLink3Col > .pageLinkInnerCol > a > dl > dd{
  color: #4d4b4b;
  font-size: 1.8rem;
  line-height: 1.6;
}
.pageLink3Col > .pageLinkInnerCol > a > span.more{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: solid 2px #fff;
  background-color: #e5a823;
  color: #fff;
  font-size: 1.2rem;
  position: absolute;
  left: calc( 50% - 30px );
  bottom: -30px;
}
.pageLink3Col > .pageLinkInnerCol > a > span.more:after{
  content: '\f054';
  display: inline-block;
  margin-left: 5px;
  font-weight: 700;
  font-size: 1.0rem;
  width: auto;
  color: #fff;
  font-family: 'Font Awesome 5 Free';
  /*position: absolute;
  right: 0px;
  top: 0.5rem;*/
}

/*--------------------
 Title / TXT 
----------------------*/
.numTit{
  font-size: 3.2rem;
  margin-bottom: 40px;
  line-height: 1.2;
}
.numTit span.num{
  font-size: 4.2rem;
  display: inline-block;
  font-family:"ヒラギノ丸ゴ Pro W4",
  "ヒラギノ丸ゴ Pro",
  "Hiragino Maru Gothic Pro",
  "HG丸ｺﾞｼｯｸM-PRO",
  "HGMaruGothicMPRO";
  margin-right: 20px;
}
.numTit.num01 {color: #e5a823;}
.numTit.num02 {color: #f47283;}
.numTit.num03 {color: #5ec98b;}
.numTit.num04 {color: #58c6d4;}
.numTit.num05 {color: #ac85ef;}
.numTit.num06 {color: #f8cb18;}
.numTit.num07 {color: #f87676;}
.numTit.num08 {color: #2b8bdd;}

@media screen and (max-width:640px) {
  .numTit{
    font-size: 2.4rem;
    margin-bottom: 20px;
  }
  .numTit span.num{
    font-size: 3.0rem;
    margin-right: 10px;
  }
}
/*--------------------
 color 
----------------------*/
/* 外枠  */
.pageLink3Col > .pageLinkInnerCol.link01 {border: solid 5px #ffd069;}
.pageLink3Col > .pageLinkInnerCol.link02 {border: solid 5px #ffb3bd;}
.pageLink3Col > .pageLinkInnerCol.link03 {border: solid 5px #93ddb3;}
.pageLink3Col > .pageLinkInnerCol.link04 {border: solid 5px #8fdbe5;}
.pageLink3Col > .pageLinkInnerCol.link05 {border: solid 5px #c7acf6;}
.pageLink3Col > .pageLinkInnerCol.link06 {border: solid 5px #fdee71;}
.pageLink3Col > .pageLinkInnerCol.link07 {border: solid 5px #fd8585;}
.pageLink3Col > .pageLinkInnerCol.link08 {border: solid 5px #2b8bdd;}

/* 内側BGC  */
.pageLink3Col > .pageLinkInnerCol.link01 > a {background-color: #fff3d9;}
.pageLink3Col > .pageLinkInnerCol.link02 > a {background-color: #ffeee1;}
.pageLink3Col > .pageLinkInnerCol.link03 > a {background-color: #e0f6e0;}
.pageLink3Col > .pageLinkInnerCol.link04 > a {background-color: #def6f9;}
.pageLink3Col > .pageLinkInnerCol.link05 > a {background-color: #f1e9ff;}
.pageLink3Col > .pageLinkInnerCol.link06 > a {background-color: #fffad7;}
.pageLink3Col > .pageLinkInnerCol.link07 > a {background-color: #ffe3e3;}
.pageLink3Col > .pageLinkInnerCol.link08 > a {background-color: #dcefff;}

/* 番号  */
.pageLink3Col > .pageLinkInnerCol.link01 > a > dl > dt {color: #e5a823;}
.pageLink3Col > .pageLinkInnerCol.link02 > a > dl > dt {color: #f47283;}
.pageLink3Col > .pageLinkInnerCol.link03 > a > dl > dt {color: #5ec98b;}
.pageLink3Col > .pageLinkInnerCol.link04 > a > dl > dt {color: #58c6d4;}
.pageLink3Col > .pageLinkInnerCol.link05 > a > dl > dt {color: #ac85ef;}
.pageLink3Col > .pageLinkInnerCol.link06 > a > dl > dt {color: #f8cb18;}
.pageLink3Col > .pageLinkInnerCol.link07 > a > dl > dt {color: #f87676;}
.pageLink3Col > .pageLinkInnerCol.link08 > a > dl > dt {color: #2b8bdd;}

/* MORE  */
.pageLink3Col > .pageLinkInnerCol.link01 > a > span.more {background-color: #e5a823;}
.pageLink3Col > .pageLinkInnerCol.link02 > a > span.more {background-color: #fa9ca8;}
.pageLink3Col > .pageLinkInnerCol.link03 > a > span.more {background-color: #76d49e;}
.pageLink3Col > .pageLinkInnerCol.link04 > a > span.more {background-color: #57c0ce;}
.pageLink3Col > .pageLinkInnerCol.link05 > a > span.more {background-color: #c7acf6;}
.pageLink3Col > .pageLinkInnerCol.link06 > a > span.more {background-color: #fdd534;}
.pageLink3Col > .pageLinkInnerCol.link07 > a > span.more {background-color: #fd8585;}
.pageLink3Col > .pageLinkInnerCol.link08 > a > span.more {background-color: #2b8bdd;}

@media screen and (max-width:640px) {
  .pageLink3Col > .pageLinkInnerCol{
    width: calc( (100% - 20px) / 2 );
    margin-right: 20px;
    margin-bottom: 30px;
    border-radius: 3px;
    border: solid 3px #ffd069;
    padding: 2px;
  }
  .pageLink3Col > .pageLinkInnerCol:nth-child(3n){
    margin-right: 20px;
  }
  .pageLink3Col > .pageLinkInnerCol:nth-child(2n){
    margin-right: 0;
  }
  .pageLink3Col > .pageLinkInnerCol > a{
    padding: 15px 10px 25px;
  }
  .pageLink3Col > .pageLinkInnerCol > a > dl > dt{
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
  .pageLink3Col > .pageLinkInnerCol > a > dl > dd{
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .pageLink3Col > .pageLinkInnerCol > a > span.more{
    width: 50px;
    height: 50px;
    font-size: 1.0rem;
    position: absolute;
    left: calc( 50% - 25px );
    bottom: -25px;
  }
  .pageLink3Col > .pageLinkInnerCol > a > span.more:after{
    content: '\f054';
    display: inline-block;
    margin-left: 2px;
    font-weight: 700;
    font-size: 0.8rem;
    width: auto;
    color: #fff;
  }
}




/* ==================== */
/* img-content */
/* ==================== */
.img-content {
  margin-bottom: 30px;
}
.img-content .img{
  max-width: 40%;
}
.img-content .img img{
  max-width: 100%;
  margin-bottom: 5px;
}
.img-content.imgR .img {
  float: right;
  margin-left: 15px;
  margin-bottom: 15px;
  text-align: center;
}
.img-content.imgL .img {
  float: left;
  margin-right: 15px;
  margin-bottom: 15px;
  text-align: center;
}
.img img{
  margin-bottom: 15px;
}
.img span.cap{
  display: inline-block;
  margin-bottom: 15px;
  font-size: 80%;
  color: #555;
  line-height: 1.2;
}
@media screen and (max-width: 640px) {
  .img-content {
  margin-bottom: 30px;
  }
  .img-content .img{
  max-width: 100%;
  width: 100%;
  text-align: center;
  }
  .img-content .img img{
  max-width: 100%;
  margin:0 auto 5px;
  max-width: 100%;
  }
  .img-content.imgR .img {
  float: none;
  margin-left: 0;
  margin-bottom: 15px;
  }
  .img-content.imgL .img {
  float: none;
  margin-right: 0;
  margin-bottom: 15px;
  }
}


/* ==================== */
/* tbl-basic */
/* ==================== */
.tbl-basic{
  width:100%;
  margin: 0 0 30px 0;
  line-height: 1.8;
  font-size: 1.8rem;
}
.tbl-basic thead th {
    padding: 15px 15px;
    border: 1px solid #ccc;
    background: #449144;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    font-weight: 100;
}
.tbl-basic thead td {
    padding: 10px 15px;
    border: 1px solid #ccc;
    background: #fff;
    color: #004576;
    text-align: center;
    vertical-align: middle;
}
.tbl-basic tbody th {
    padding: 10px 15px;
    border: 1px solid #ccc;
    background: #e8f2e8;
    text-align: center;
    vertical-align: middle;
    font-weight: 100;
    /*white-space: nowrap;*/
}
.tbl-basic tbody td {
    padding: 10px 15px;
    border: 1px solid #ccc;
    background: #fff;
    vertical-align: top;
}
.tbl-basic tbody.font-small th,
.tbl-basic tbody.font-small td {
    font-size: 1.4rem;
}
/*.tbl-basic tbody tr:nth-child(odd) td{
  background-color: #f3f4f3;
}
.tbl-basic tbody tr:nth-child(even) td{
  background-color: #e5e5e5;
}*/
.tbl-basic caption{
    color: #004576;
    margin-bottom: 10px;
    margin-top: 20px;
}
.tbl-basic.color-inherit{
  background-color: inherit;
}
.tbl-basic.color-inherit tbody td.color01,
.tbl-basic.color-inherit tbody th.color01{
  background-color: #FF99FF;
}
.tbl-basic.color-inherit tbody td.color02,
.tbl-basic.color-inherit tbody th.color02{
  background-color: #66CCFF;
}
.tbl-basic.color-inherit tbody td.color03,
.tbl-basic.color-inherit tbody th.color03{
  background-color: #CC33CC;
}
.tbl-basic.color-inherit tbody td.color04,
.tbl-basic.color-inherit tbody th.color04{
  background-color: #FFFF33;
}
.tbl-basic.color-inherit tbody td.color05,
.tbl-basic.color-inherit tbody th.color05{
  background-color: #B0FF3C;
}
@media screen and (max-width: 768px) {
  .table-wrap {
    overflow: auto;
    white-space: nowrap;
    display:block;
    width:auto;
    max-width: 1000px;
  }
  .tbl-basic{
    margin: 0 0 20px 0;
    line-height: 1.6;
    font-size: 1.5rem;
  }
  .table-wrap table {
    width: 100%;
    display:table;
  }
  .table-wrap:-webkit-scrollbar {
    height: 5px;
  }
  .table-wrap:-webkit-scrollbar-track {
    background: #F1F1F1;
  }
  .table-wrap:-webkit-scrollbar-thumb {
    background: #BCBCBC;
  }
}

/* ==================== */
/* table *plain-table */
/* ==================== */
table{
  width:100%;
  margin: 0 0 30px 0;
  line-height: 1.8;
  font-size: 1.8rem;
}
table thead th {
    padding: 15px 15px;
    border: 1px solid #ccc;
    background: #449144;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    font-weight: 100;
}
table thead td {
    padding: 10px 15px;
    border: 1px solid #ccc;
    background: #fff;
    color: #004576;
    text-align: center;
    vertical-align: middle;
}
table tbody th {
    padding: 10px 15px;
    border: 1px solid #ccc;
    background: #e8f2e8;
    text-align: center;
    vertical-align: middle;
    font-weight: 100;
    /*white-space: nowrap;*/
}
table tbody td {
    padding: 10px 15px;
    border: 1px solid #ccc;
    background: #fff;
    vertical-align: top;
}

/* ==================== */
/* dl.chrono */
/* ==================== */
dl.chrono{
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  font-size: 100%;
  line-height: 1.6;
  border-bottom: solid 1px #ccc;
  padding: 10px 0;
}
dl.chrono dt{
  width: 25%;
  padding: 5px 15px 5px 0;
}
dl.chrono dd{
  width: 75%;
  padding: 5px 0 5px 0;
}
@media screen and (max-width: 640px) {
  dl.chrono{
    display: block;
    line-height: 1.6;
  }
  dl.chrono dt{
    width: 100%;
    padding: 5px 0 0 0;
  }
  dl.chrono dd{
    width: 100%;
    padding: 0 0 5px 0;
  }
}

/* ==================== */
/* list-style */
/* ==================== */

/* ul-basic01 */
ul.ul-basic01{
  margin:0 0 30px 0;
}
ul.ul-basic01 > li {
  list-style:none;
  margin-bottom: 10px;
  line-height: 1.6;
  font-size: 100%;
  position: relative;
  padding-left: 25px;
}
ul.ul-basic01 > li:before {
  content: '\f111';
    display: inline-block;
    font-weight: 700;
    font-size: 1.6rem;
    width: auto;
    color: #449144;
    font-family: 'Font Awesome 5 Free';
    position: absolute;
    left: 0;
    top: 2px;
}

/* ol-basic02 */
ol.ol-basic02{
  margin:0 0 30px 0;
  list-style-position: inside;
}
ol.ol-basic02 > li {
  list-style-type: auto;
  margin-bottom: 10px;
  text-indent: -1.4em;
  padding-left: 1.4em;
  line-height: 1.6;
  font-size: 100%;
}

/* ==================== */
/* PAGENATION */
/* ==================== */
nav.pagination{
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 50px 0;
}
nav.pagination h2.screen-reader-text{
  display: none !important;
}
nav.pagination .nav-links span,
nav.pagination .nav-links a{
  padding:10px 15px;
  background-color: #449144;
  color: #fff;
  text-decoration: none;
}

.pageSec.siteMap a{
 color: black;
 font-weight: normal;
 text-decoration: none; 
}

/* ==================== */
/* EDITOR STYLE */
/* ==================== */

span.red {color:#e73c5b;}
span.black {color:#454545;}
span.blue {color:#4488cf;}
span.green {color:#449144;}

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

 ADJUST STYLE

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

/* text-align */
.alnR {text-align: right !important;}
.alnL { text-align: left !important; }
.alnC { text-align: center !important; }
.valT { vertical-align: top !important; }
.valB { vertical-align: baseline !important; }
.valM { vertical-align: middle !important; }

/* adjust margin-bottom */
.mb00 {margin-bottom: 0 !important;}
.mb05 {margin-bottom: 5px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb15 {margin-bottom: 15px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb25 {margin-bottom: 25px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb35 {margin-bottom: 35px !important;}
.mb40 {margin-bottom: 40px !important;}
.mb45 {margin-bottom: 45px !important;}
.mb50 {margin-bottom: 50px !important;}
.mb55 {margin-bottom: 55px !important;}
.mb60 {margin-bottom: 60px !important;}
.mb65 {margin-bottom: 65px !important;}
.mb70 {margin-bottom: 70px !important;}
.mb75 {margin-bottom: 75px !important;}
.mb80 {margin-bottom: 80px !important;}
.mb85 {margin-bottom: 85px !important;}
.mb90 {margin-bottom: 90px !important;}
.mb95 {margin-bottom: 95px !important;}
.mb100 {margin-bottom: 100px !important;}

/* adjust width */
.w05{width: 5% !important;}
.w10{width: 10% !important;}
.w15{width: 15% !important;}
.w20{width: 20% !important;}
.w25{width: 25% !important;}
.w30{width: 30% !important;}
.w40{width: 40% !important;}
.w45{width: 45% !important;}
.w50{width: 50% !important;}
.w55{width: 55% !important;}
.w60{width: 60% !important;}
.w65{width: 65% !important;}
.w70{width: 70% !important;}
.w75{width: 75% !important;}
.w80{width: 80% !important;}
.w85{width: 85% !important;}
.w90{width: 90% !important;}
.w95{width: 95% !important;}
.w100{width: 100% !important;}

.pcW05{width: 5%; margin:0 auto;}
.pcW10{width: 10%; margin:0 auto;}
.pcW15{width: 15%; margin:0 auto;}
.pcW20{width: 20%; margin:0 auto;}
.pcW25{width: 25%; margin:0 auto;}
.pcW30{width: 30%; margin:0 auto;}
.pcW40{width: 40%; margin:0 auto;}
.pcW45{width: 45%; margin:0 auto;}
.pcW50{width: 50%; margin:0 auto;}
.pcW55{width: 55%; margin:0 auto;}
.pcW60{width: 60%; margin:0 auto;}
.pcW65{width: 65%; margin:0 auto;}
.pcW70{width: 70%; margin:0 auto;}
.pcW75{width: 75%; margin:0 auto;}
.pcW80{width: 80%; margin:0 auto;}
.pcW85{width: 85%; margin:0 auto;}
.pcW90{width: 90%; margin:0 auto;}
.pcW95{width: 95%; margin:0 auto;}
.pcW100{width: 100%; margin:0 auto;}

@media screen and (max-width:640px) {
  .pcW05{width: 100% ;}
  .pcW10{width: 100% ;}
  .pcW15{width: 100% ;}
  .pcW20{width: 100% ;}
  .pcW25{width: 100% ;}
  .pcW30{width: 100% ;}
  .pcW40{width: 100% ;}
  .pcW45{width: 100% ;}
  .pcW50{width: 100% ;}
  .pcW55{width: 100% ;}
  .pcW60{width: 100% ;}
  .pcW65{width: 100% ;}
  .pcW70{width: 100% ;}
  .pcW75{width: 100% ;}
  .pcW80{width: 100% ;}
  .pcW85{width: 100% ;}
  .pcW90{width: 100% ;}
  .pcW95{width: 100% ;}
  .pcW100{width: 100% ;}  

  .spW05{width: 5% ;}
  .spW10{width: 10% ;}
  .spW15{width: 15% ;}
  .spW20{width: 20% ;}
  .spW25{width: 25% ;}
  .spW30{width: 30% ;}
  .spW35{width: 35% ;}
  .spW40{width: 40% ;}
  .spW45{width: 45% ;}
  .spW50{width: 50% ;}
  .spW55{width: 55% ;}
  .spW60{width: 60% ;}
  .spW65{width: 65% ;}
  .spW70{width: 70% ;}
  .spW75{width: 75% ;}
  .spW80{width: 80% ;}
  .spW85{width: 85% ;}
  .spW90{width: 90% ;}
  .spW95{width: 95% ;}
  .spW100{width: 100% ;} 
}

/* text-align */
.alnR {text-align: right !important;}
.alnL { text-align: left !important; }
.alnC { text-align: center !important; }
.valT { vertical-align: top !important; }
.valB { vertical-align: baseline !important; }
.valM { vertical-align: middle !important; }

/*----------------------------------------------------
 display
----------------------------------------------------*/
.dispN  { display: none !important; }
.dispB  { display: block !important; }
.dispI  { display: inline !important; }
.dispIB { display: inline-block !important; }
.dispT  { display: table !important; }
.dispTC { display: table-cell !important; }

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

  /*----------------------------------------------------
   display
  ----------------------------------------------------*/
  .spdispN  { display: none !important; }
  .spdispB  { display: block !important; }
  .spdispI  { display: inline !important; }
  .spdispIB { display: inline-block !important; }
  .spdispT  { display: table !important; }
  .spdispTC { display: table-cell !important; }

}

/*----------------------------------------------------
 <br> style
----------------------------------------------------*/
br.pc{display: inline;}
br.sp{display: none;}
@media screen and (max-width:640px) { 
  br.pc{display: none;}
  br.sp{display: inline;}
}
/*----------------------------------------------------
 clearfix
----------------------------------------------------*/
.clearfix:after,
.img-content:after  {
  content:".";
  display:block;
  height:0.1px;
  visibility:hidden;
  clear:both;
  font-size:0.1em;
  line-height:0;
  }
.clearfix, .img-content { min-height:1px; }
* html .clearfix, * html .img-content { height:1px; };

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

.bnr_top_pkpum {
}
.bnr_top_pkpum a {
	text-align: center;
	border: 2px solid #9e80ec;
	display: block;
	text-decoration: none;
	color: #232323;
	padding: 55px 10px 25px;
	box-sizing: border-box;
	border-radius : 10px;
	background-color: #fff;
}
.bnr_top_pkpum a p {
	font-size: 20px!important;
}
.bnr_top_pkpum a br {
	display: none;
}
.bnr_top_pkpum a img {
	width: 100%;
	max-width: 721px;
	margin-bottom: 40px;
}

@media screen and (max-width:768px) {
  .bnr_top_pkpum a {
	padding: 28px 10px 18px;
}
  .bnr_top_pkpum a img {
	width: 95%;
  }
  .bnr_top_pkpum a p {
	font-size: 14px!important;
	line-height: 1.4;
  }
}

@media screen and (max-width:640px) {
  .bnr_top_pkpum a {
	padding: 23px 10px 13px;
  }
  .bnr_top_pkpum a br {
	display: block;
}
  .bnr_top_pkpum a img {
	margin-bottom: 20px;
  }
}