@charset "UTF-8";
/* ---------------------------------------------------
	common
------------------------------------------------------ */
/*横スクロールバーが出ないように*/
.acms-admin-module-edit-wrapper .acms-admin-module-edit{right: 0;}
.acms-admin-module-edit-wrapper:hover:before{left: 0;right: 0}

/* ---------------------------------------------------
	mainvisual
------------------------------------------------------ */
.fix-height, .main-slider-image{
  max-height: 980px;
  height: calc(100vw * (900 / 1920));
}
#mainvisual .slick-dots{
    bottom: 20px;;
}

#mainvisual .slick-prev, #mainvisual .slick-next{
    width: 20px;
    height: 60px;

}
#mainvisual .slick-prev{
    left: 20px;
    background: url(../images/marker/icon_white_arrow_left.png) no-repeat;
}
#mainvisual .slick-next{
    right: 20px;
    background: url(../images/marker/icon_white_arrow_right.png) no-repeat;
}

#mainvisual {
  position: relative;
  width: 100%;
}
#mainvisual .main-slide .slide img {
  width: 100%;
}
#mainvisual .main-tit {
  position: absolute;
  right: calc(100vw*(100 / 1920));
  bottom: calc(100vw*(120 / 1920));
  color: #fff;
  font-size: calc(100vw*(80 / 1920));
  font-family:var(--fontfamily), "Noto Sans JP";
  font-weight: 500;
  line-height: 1.5;
}

#mainvisual .slick-dots li button:before{
    color: #FFF;
    opacity: 1;
    font-size: 10px;
}

#mainvisual .slick-dots li.slick-active button:before{
    color: var(--themecolor);
}

#mainvisual .slick-dots li button:focus{
    border: none;
}

@media screen and (max-width: 1920px) {
  #mainvisual .main-tit {
    /* font-size: 6.375vw; */
  }
}
@media screen and (max-width: 1280px) {
  #mainvisual .main-tit {
    /* font-size: 50px;
    right: 70px;
    bottom: 90px; */
  }
}
@media screen and (max-width: 1100px) {
  #mainvisual .main-tit {
    /* bottom: 22%; */
    /* font-size: 70px; */
  }
}
@media screen and (max-width: 896px) {
  @media screen and (orientation:landscape){
    .fix-height, .main-slider-image{
      min-height: auto;
    }
  }
}
@media screen and (max-width: 767px) {
  .fix-height, .main-slider-image{
    min-height: auto;
  }
  #mainvisual {
    margin-top: 60px;
  }
  #mainvisual .main-slide .slide img {
    width: 130%;
    max-width: 130%;
    margin: 0 -15%;
  }
  #mainvisual .main-tit {
    bottom: 20%;
    font-size: 8vw;
  }
    #mainvisual .slick-dots{
    bottom: 0;
}
  @media screen and (orientation:landscape) {
    #mainvisual .main-tit{bottom: 10%;font-size: 40px;}
  }
}
/* ---------------------------------------------------
	sec01
------------------------------------------------------ */
#sec01 {
  padding: 150px 0 100px;
}
#sec01 h2 {
  margin-bottom: 50px;
  font-family:var(--fontfamily), "Noto Sans JP";
    text-align: center;
}
#sec01 h2 > span {
  position: relative;
  display: inline-block;
  padding-top: 30px;
  font-weight: bold;
}
#sec01 h2 .icon {
  width: 90px;
  position: absolute;
  right: -70px;
  top: 0;
}
#sec01 .sec-lead {
  margin-bottom: 50px;
  font-size: 20px;
  line-height: 2.2;
  font-family:var(--fontfamily), "Noto Sans JP";
  font-weight: 400;
}
#sec01 .sec-list {
  width: 94%;
  max-width: 1720px;
  margin: 0 auto;
    justify-content: flex-start;
}
#sec01 .sec-list .list-item {
  position: relative;
  display: block;
  width: 547px;
  max-width: 31.81%;
  margin-right: 2.285%;
  margin-bottom: 50px;
  border-radius: 10px;
  color: var(--themecolor);
  overflow: hidden;
}
#sec01 .sec-list .list-item:nth-of-type(3n){
    margin-right: 0;
}
#sec01 .sec-list.column4 .list-item{
    max-width: 23.81%;
    margin-right: 1.58%;
}
#sec01 .sec-list.column4 .list-item:nth-of-type(4n){
    margin-right: 0;
}

#sec01 .sec-list .list-item:hover {
  color: #FFF;
  opacity: 1;
}
#sec01 .sec-list .list-item:hover:before {
  background: var(--themecoloralpha);
}
#sec01 .sec-list .list-item:hover:after {
  background: url(/themes/web6/images/top/icon-sec01-02.png) no-repeat;
  background-size: 100%;
}
#sec01 .sec-list .list-item:hover img {
  opacity: 1;
}
#sec01 .sec-list .list-item:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.75);
  transition: all .3s;
  z-index: 1;
}
#sec01 .sec-list .list-item:after {
  content: "";
  display: block;
  position: absolute;
  right: 8%;
  top: 0;
  bottom: 0;
  width: 23px;
  height: 34px;
  margin: auto 0;
  /*background: url(/themes/web6/images/top/icon-sec01-01.png) no-repeat;*/
  background: var(--themecolor);
  mask:url(/themes/web6/images/top/icon-sec01-01.png) no-repeat;
  -webkit-mask:url(/themes/web6/images/top/icon-sec01-01.png) no-repeat;
  background-size: 100%;
  mask-size:100%;
  -webkit-mask-size:100%;
  transition: background .3s;
  z-index: 10;
}
#sec01 .sec-list .list-item .item-txt {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  width: 100%;
  height: 100%;
  padding: 25px 13% 0 6%;
  padding-right: 13%;
  flex-direction: column;
  justify-content: center;
  line-height: 1.3;
  z-index: 10;
}
#sec01 .sec-list .list-item .item-txt .tit {
  font-size: 34px;
  font-weight: bold;
  letter-spacing: .1em;
  font-family:var(--fontfamily), "Noto Sans JP";
}
.is_tablet #sec01 .sec-list .list-item .item-txt .tit {
  font-size: 28px;
}
#sec01 .sec-list .list-item .item-txt .tit span {
  font-weight: bold;
  word-break: keep-all;
}
#sec01 .sec-list .list-item .item-txt .en {
  margin-top: 10px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-family:var(--fontfamilyspecial), "Roboto";
}

@media screen and (max-width: 1280px) {
  #sec01 .sec-list .list-item {
    margin-bottom: 30px;
  }
  #sec01 .sec-list .list-item:after {
    right: 5%;
    width: 21px;
    height: 30px;
  }
  #sec01 .sec-list .list-item .item-txt {
    padding: 25px 13% 0 6%;
  }
  #sec01 .sec-list .list-item .item-txt .tit {
    font-size: 24px;
  }
  #sec01 .sec-list .list-item .item-txt .en {
    margin-top: 10px;
    font-size: 14px;
  }
}
@media screen and (max-width: 1000px) {
  #sec01 .sec-list .list-item {
    margin-bottom: 20px;
  }
  #sec01 .sec-list .list-item:after {
    right: 5%;
    width: 14px;
    height: 20px;
  }
  #sec01 .sec-list .list-item .item-txt {
    padding: 15px 10% 0 6%;
  }
  #sec01 .sec-list .list-item .item-txt .tit {
    font-size: 25px;
  }
  #sec01 .sec-list .list-item .item-txt .en {
    margin-top: 5px;
  }
}
@media screen and (max-width: 767px) {
  #sec01 {
    padding: 50px 0 80px;
  }
  #sec01 h2 {
    margin-bottom: 25px;
    font-size: 28px;
  }
  #sec01 h2 > span {
    padding-top: 20px;
    font-size: 28px;
  }
  #sec01 h2 .icon {
    width: 60px;
    right: -30px;
  }
  #sec01 .sec-lead {
    margin-bottom: 35px;
    font-size: 19px;
    line-height: 2.2;
    text-align: left;
  }
  #sec01 .sec-list {
    width: 90%;
  }
  #sec01 .sec-list .list-item {
    width: 49%;
    max-width: 49%;
    margin-bottom: 15px;
  }
  #sec01 .sec-list .list-item .item-pic img {
    width: 100%;
  }
  #sec01 .sec-list .list-item .item-txt {
    padding: 10px 10% 0 6%;
  }
  #sec01 .sec-list .list-item .item-txt .tit {
    font-size: 24px;
  }
  #sec01 .sec-list .list-item .item-txt .tit span {
	  word-break: normal;
  }
  #sec01 .sec-list .list-item .item-txt .en {
    margin-top: 5px;
    font-size: 14px;
  }
}
@media screen and (max-width: 844px) and (orientation:landscape) {
  #sec01 .sec-list .list-item .item-txt .tit span {
	  word-break: normal;
  }
}
@media screen and (max-width: 568px) {
  #sec01 .sec-list .list-item {
    width: 100%!important;
    max-width: 100%!important;
    margin-right: 0!important;
  }
  #sec01 .sec-list .list-item:last-of-type {
    margin-bottom: 0!important;
  }
  #sec01 .sec-list .list-item .item-pic img {
    width: 100%!important;
    margin: -10% 0!important;
  }
}
/* ---------------------------------------------------
	sec02
------------------------------------------------------ */
/* #sec02 {
  position: relative;
  padding: 100px 0;
  background: var(--subthemecolor);
  overflow: hidden;
}
#sec02 h2 {
  margin-bottom: 40px;
}
#sec02 h2 > span {
  position: relative;
  display: inline-block;
  padding-top: 30px;
  font-weight: bold;
}
#sec02 h2 .icon {
  width: 90px;
  position: absolute;
  right: -70px;
  top: 0;
}
#sec02 .sec-lead {
  margin-bottom: 30px;
  font-size: 20px;
  text-align: center;
}
#sec02 .sec-list .list-item {
  width: 407px;
  padding: 0 10px;
}
#sec02 .sec-list .list-item .item-pic {
  border-radius: 5px 5px 0 0;
  overflow: hidden;
}
#sec02 .sec-list .list-item .item-pic > a {
	overflow: hidden;
	position: relative;
	display: block;
	width: 387px;
	height: 240px;
}
#sec02 .sec-list .list-item .item-pic > a img {
	position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);
	min-width: 100%; min-height: 100%; width: auto; height: auto;
}
#sec02 .sec-list .list-item .item-pic .tag a {
  display: block;
  width: 100%;
  padding: 2px 10px;
  color: #fff;
	background-color: #A4A4A4;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: .1em;
  text-decoration: none;
}
#sec02 .sec-list .list-item .item-pic .tag a:hover {
  opacity: .7;
}

#sec02 .sec-list .list-item .item-pic .tag.works_c1 a{
	 background: #3C9800;
}
#sec02 .sec-list .list-item .item-pic .tag.works_c2 a{
  background: #005B98;
}
#sec02 .sec-list .list-item .item-pic .tag.works_c3 a{
  background: #DFBD12;
  color: var(--charactercolor);
}
#sec02 .sec-list .list-item .item-txt a {
  display: block;
  padding-top: 10px;
  text-decoration: none;
}
#sec02 .sec-list .list-item .item-txt a:hover {
  text-decoration: underline;
}
#sec02 .sec-btn {
  margin-top: 40px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  #sec02 {
    padding: 50px 0;
  }
  #sec02 h2 {
    margin-bottom: 25px;
  }
  #sec02 h2 > span {
    padding-top: 20px;
    font-size: 28px;
  }
  #sec02 h2 .icon {
    width: 60px;
    right: -30px;
  }
  #sec02 .sec-list .list-item {
    width: 380px;
    padding: 0 10px;
  }
	#sec02 .sec-list .list-item .item-pic > a {
		width: 255px;
		height: 158px;
	}
  #sec02 .sec-list .list-item .item-pic img {
    width: 100%;
  }
  #sec02 .sec-list .list-item .item-pic .tag a {
    font-size: 14px;
  }
  #sec02 .sec-list .list-item .item-pic .tag a:hover {
    opacity: 1;
  }
  #sec02 .sec-list .list-item .item-txt a {
    text-decoration: none;
  }
  #sec02 .sec-list .list-item .item-txt a:hover {
    text-decoration: none;
  }
  #sec02 .sec-btn {
    margin-top: 30px;
  }
} */
/* ---------------------------------------------------
	sec03
------------------------------------------------------ */
#sec03 {
  padding: 100px 0;
  background-color: var(--subthemecolor);
}

#sec03 .sec-col {
  margin: 0 auto;
  width: 100%;
  max-width: 1000px;
}
#sec03 .sec-col .col-tit {
  width: 140px;
  text-align: center;
}
#sec03 .sec-col .col-tit h2 {
  font-size: 24px;
  font-family:var(--fontfamily), "Noto Sans JP";
  font-weight: 700;
}
#sec03 .sec-col .col-tit h2 .icon {
  display: block;
  top: 0;
  margin: 0 auto 10px;
  
}
#sec03 .sec-col .col-tit h2 .icon path {
   stroke :var(--themecolor);
}
#sec03 .sec-col .col-list {
  width: calc(100% - 140px - 50px);
  font-family:var(--fontfamily), "Noto Sans JP";
  
}
#sec03 .sec-col .col-list li {
  margin-bottom: 20px;
  line-height: 1.6;
  font-weight: 400;
}
#sec03 .sec-col .col-list li a {
  display: flex;
  width: 100%;
  text-decoration: none;
}
#sec03 .sec-col .col-list li a:hover .tit {
  text-decoration: underline;
}
#sec03 .sec-col .col-list li a .date {
  display: block;
  width: 9em;
  color: var(--charactercolor);
}
#sec03 .sec-col .col-list li a .tit {
  display: block;
  width: calc(100% - 9em);
}
#sec03 .sec-btn {
  margin-top: 30px;
}
#sec03 .sec-btn .btn {
  min-width: 140px;
  border: 1px solid #EBECEF;
  font-family:var(--fontfamily), "Noto Sans JP";
  font-weight: 400;
  text-align: center;
   
}
#sec03 .sec-btn .btn::after{
    margin: 0 0 3px 0;
    transform: translateX(10px);
}
#sec03 .sec-btn .btn:hover::after{
    transform: translateX(12px);
}

#sec04 .sec-bnr{
  max-width: 1200px;
  margin:120px auto;
}
#sec04 .sec-bnr .bnr-col {
  position: relative;
  display: block;
  width: 48%;
  padding: 38px;
  border-radius: 5px;
  border: 2px solid var(--themecolor);
  color: var(--themecolor);
  line-height: 1.5;
  text-decoration: none;
  font-family:var(--fontfamily), "Noto Sans JP";
  font-weight: 700;
  letter-spacing: 0.2em;
  margin-bottom: 20px;
}
#sec04 .sec-bnr .bnr-col:hover {
  background: var(--subthemecolor);
}
#sec04 .sec-bnr .bnr-col:hover img {
  opacity: 1;
}
#sec04 .sec-bnr .bnr-col .icon {
  display: inline-block;
  top: 0;
  height: 40px;
  margin-right: 20px;
  vertical-align: middle;
}
#sec04 .sec-bnr .bnr-col .icon img {
  vertical-align: middle;
}
#sec04 .sec-bnr .bnr-col .tit {
  display: inline-block;
  margin-right: 15px;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: .1em;
  vertical-align: middle;
}
#sec04 .sec-bnr .bnr-col .en {
  display: inline-block;
  font-size: 14px;
  letter-spacing: .2em;
  vertical-align: middle;
  font-family:var(--fontfamilyspecial), "Roboto";
  font-weight: 400;
  line-height: 1.6;
}
#sec04 .sec-bnr .bnr-col .icon-arrow {
  position: absolute;
  right: 9%;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 15px;
  height: 23px;
  
}
#sec04 .sec-bnr .bnr-col svg.icon-arrow path  {
    fill:var(--themecolor);
}
@media screen and (max-width: 1000px) {
  #sec04 .sec-bnr .bnr-col {
    padding: 38px 20px;
  }
  #sec04 .sec-bnr .bnr-col .icon-arrow {
    right: 4%;
  }
}
@media screen and (max-width: 896px) and (orientation:landscape){
  #sec04 .sec-bnr{max-width: 90%;}
}
@media screen and (max-width: 767px) {
  #sec03 {
    padding: 50px 0;
  }
  #sec03 .sec-col {
    margin-bottom: 0;
  }
  #sec03 .sec-col .col-tit {
    width: 100%;
  }
  #sec03 .sec-col .col-tit h2 {
    margin-bottom: 25px;
    font-size: 28px;
  }
  #sec03 .sec-col .col-list {
    width: 100%;
  }
  #sec03 .sec-col .col-list li {
    margin-bottom: 20px;
  }
  #sec03 .sec-col .col-list li a {
    display: block;
  }
  #sec03 .sec-col .col-list li a:hover .tit {
    text-decoration: none;
  }
  #sec03 .sec-col .col-list li a .date {
    display: block;
    width: 100%;
  }
  #sec03 .sec-col .col-list li a .tit {
    display: block;
    width: 100%;
  }
  #sec03 .sec-btn {
    margin-top: 10px;
    text-align: center;
  }
  #sec03 .sec-btn .btn {
    min-width: 140px;
  }


  #sec04{
    margin-bottom: 50px;
  }
  #sec04 .sec-bnr {
    max-width: 480px;
    margin: 50px auto 0;
  }
  #sec04 .sec-bnr .bnr-col {
    width: 90%;
    padding: 20px 30px 20px 15px;
    margin: auto;
  }
  #sec04 .sec-bnr .bnr-col + .bnr-col {
    margin-top: 20px;
  }
  #sec04 .sec-bnr .bnr-col:hover {
    background: none;
  }
  #sec04 .sec-bnr .bnr-col .icon {
    width: 57px;
    margin-right: 15px;
    text-align: center;
  }
  #sec04 .sec-bnr .bnr-col .tit {
    margin-right: 15px;
    font-size: 24px;
  }
  #sec04 .sec-bnr .bnr-col .en {
    font-size: 13px;
    letter-spacing: .15em;
  }
  #sec04 .sec-bnr .bnr-col .icon-arrow {
    right: 4%;
    width: 10px;
    height: 15px;
  }
}
@media screen and (max-width: 320px) {
  #sec04 .sec-bnr .bnr-col .icon {
    width: 47px;
    margin-right: 10px;
  }
  #sec04 .sec-bnr .bnr-col .tit {
    margin-right: 10px;
    font-size: 23px;
  }
  #sec04 .sec-bnr .bnr-col .en {
    font-size: 11px;
  }
}
/*-------------------------------------------*/
/*
/*　　IE用cssハック
/*
/*-------------------------------------------*/
