﻿#home {

  position: relative

}



#home::before {

  content: "";

  display: block;

  width: 100%;

  height: 100%;

  position: fixed;

  top: 0;

  z-index: -1;

/*--  background-image: url(../img/common/bk.png);--*/

  background-attachment: fixed;

  background-position: center center;

  background-size: cover

}



#home h2.sec_ttl {

  text-align: center;

  font-size: 36px;

  letter-spacing: .1em;

  color: #0071c2;

  margin-bottom: 40px;

  font-weight: 500

}



#home h2.sec_ttl span {

  display: block;

  font-size: 16px;

  font-weight: 500;

  letter-spacing: .1em;

  color: #696969

}



@media print,

screen and (min-width: 600px) {

  #home h2.sec_ttl {

    font-size: 54px

  }



  #home h2.sec_ttl span {

    font-size: 17px

  }

}



@media print,

screen and (min-width: 1024px) {

  #home h2.sec_ttl {

    font-size: 72px;

    margin-bottom: 70px

  }



  #home h2.sec_ttl span {

    font-size: 18px

  }

}



#home a.btn {

  display: inline-block;

  box-sizing: border-box;

  text-align: center;

  width: 250px;

  max-width: 100%;

  padding: 15px 50px 15px 0;

  box-shadow: 4px 4px 15px rgba(0, 0, 0, 0.6);

  color: #0071c2;

  position: relative;

  font-size: 14px;

  font-weight: 700;

  background-color: #fff

}



#home a.btn::after {

  content: "";

  display: block;

  position: absolute;

  width: 30px;

  height: 5px;

  border-bottom: 1px solid #0071C2;

  border-right: 1px solid #0071C2;

  transform: skewX(35deg);

  bottom: 21px;

  right: 50px

}



#home section.sec01 {

  padding-bottom: 100px

}



#home section.sec01 .slider_top {

  width: calc(100% + 40px);

  margin-left: -20px;

  margin-bottom: 0

}



#home section.sec01 .slider_top .slick-slide {

  height: auto;

  cursor: grab

}



#home section.sec01 .slider_top .slick-slide:active {

  cursor: grabbing

}



#home section.sec01 .slider_top .slick-slide .slide {

  position: relative

}



#home section.sec01 .slider_top .slick-slide .slide img.slide_img {

  width: 100%;

  max-width: 800px;

  height: 70vw;

  object-fit: cover;

  box-shadow: 4px 4px 15px rgba(0, 0, 0, 0.6)

}



#home section.sec01 .slider_top .slick-slide .slide .slide_txt {

  position: relative;

  background-color: #fff;

  box-shadow: 4px 4px 15px rgba(0, 0, 0, 0.6);

  width: calc(100% - 40px);

  margin: -30px auto 40px;

  padding: 35px 25px 20px;

  display: block;

  box-sizing: border-box

}



#home section.sec01 .slider_top .slick-slide .slide .slide_txt p.number {

  position: relative;

  font-weight: 700;

  font-size: 36px;

  padding-left: 25px

}



#home section.sec01 .slider_top .slick-slide .slide .slide_txt p.number span {

  position: absolute;

  font-weight: 100;

  transform: rotate(90deg);

  bottom: 35px;

  left: -22px;

  font-size: 18px;

  line-height: 1em

}



#home section.sec01 .slider_top .slick-slide .slide .slide_txt h3 {

  margin-bottom: 10px

}



#home section.sec01 .slider_top .slick-slide .slide .slide_txt p.about {

  margin-bottom: 20px;

  min-height: calc(4em * 1.7);

  font-size: 16px;

  font-weight: 600

}



#home section.sec01 .slider_top .slick-slide .slide .slide_txt div.slide_more {

  text-align: right

}



#home section.sec01 .slider_top .slick-slide .slide .slide_txt div.slide_more span {

  position: relative;

  padding-right: 38px;

  color: #0071C2;

  font-size: 14px

}



#home section.sec01 .slider_top .slick-slide .slide .slide_txt div.slide_more span::after {

  content: "";

  display: block;

  position: absolute;

  width: 30px;

  height: 5px;

  border-bottom: 1px solid #0071C2;

  border-right: 1px solid #0071C2;

  transform: skewX(35deg);

  bottom: 4.5px;

  right: 0

}



#home section.sec01 .slider_top .slick-slide .progress {

  height: 2px;

  background-color: #C0C0C0;

  width: 400px;

  max-width: calc(100% - 120px);

  margin: 0 auto 20px

}



@keyframes progress {

  from {

    width: 0%

  }



  to {

    width: 100%

  }

}



#home section.sec01 .slider_top .slick-slide.slick-current .progress span.progress_bar {

  display: block;

  width: 100%;

  height: 2px;

  background-color: #C6A01A;

  animation-name: progress;

  animation-duration: 5s;

  animation-iteration-count: 1;

  animation-timing-function: linear;

  margin: -1px

}



#home section.sec01 .slick-dots {

  position: static

}



#home section.sec01 .slick-dots li button:before {

  filter: blur(2px);

  background-color: #c0c0c0;

  width: 10px;

  height: 10px;

  opacity: 1;

  content: "";

  display: block;

  border-radius: 50%

}



#home section.sec01 .slick-dots li button:after {

  position: absolute;

  width: 14px;

  height: 14px;

  content: '';

  border-radius: 50%;

  border: 1px solid #C6A01A;

  opacity: 0

}



#home section.sec01 .slick-dots li button:before,

#home section.sec01 .slick-dots li button:after {

  top: 50%;

  left: 50%;

  transform: translate(-50%, -50%);

  transition: .5s

}



#home section.sec01 .slick-dots li.slick-active button:before {

  background-color: #C6A01A

}



#home section.sec01 .slick-dots li.slick-active button:after {

  opacity: 1

}



@media print,

screen and (min-width: 600px) {

  #home section.sec01 .container {

    width: 100%

  }



  #home section.sec01 .slider_top {

    width: 100%;

    margin: 0 auto

  }



  #home section.sec01 .slider_top .slick-slide .slide {

    padding-top: 40px

  }



  #home section.sec01 .slider_top .slick-slide .slide img.slide_img {

    width: calc(100% - 120px);

    position: absolute;

    left: 40px;

    top: 40px;

    height: 400px

  }



  #home section.sec01 .slider_top .slick-slide .slide .slide_txt {

    width: calc(100% - 160px);

    max-width: 400px;

    position: absolute;

    margin: 0;

    bottom: 60px;

    right: 40px

  }



  #home section.sec01 .slider_top .slick-slide .slide .slide_txt p.about {

    min-height: inherit

  }



  #home section.sec01 .slider_top .slick-slide .progress {

    width: 400px;

    max-width: calc(100% - 120px);

    margin: calc(400px + 160px) auto 20px

  }

}



@media print,

screen and (min-width: 1024px) {

  #home section.sec01 .container {

    width: 1200px

  }



  #home section.sec01 .slider_top {

    width: 100%;

    margin: 0 auto

  }



  #home section.sec01 .slider_top .slick-slide .slide img.slide_img {

    width: 800px;

    left: 140px;

    height: 350px

  }



  #home section.sec01 .slider_top .slick-slide .slide .slide_txt {

    width: 480px;

    max-width: none;

    bottom: 60px;

    right: 20px;

    padding-top: 40px;

    padding-left: 110px

  }



  #home section.sec01 .slider_top .slick-slide .slide .slide_txt:active {

    cursor: grabbing

  }



  #home section.sec01 .slider_top .slick-slide .slide .slide_txt p.about {

    min-height: inherit

  }



  #home section.sec01 .slider_top .slick-slide .slide .slide_txt p.number {

    position: absolute;

    left: 20px;

    top: 30px

  }



  #home section.sec01 .slider_top .slick-slide .slide .slide_txt h3 {

    font-size: 24px

  }



  #home section.sec01 .slider_top .slick-slide .progress {

    width: 520px;

    max-width: calc(100% - 120px);

    margin: calc(350px + 42px) auto 40px

  }



  #home section.sec01 .slick-dots li {

    margin: 0 15px

  }

}



#home section.sec02 {

  padding-bottom: 60px

}



#home section.sec02 div.product_deck div.product_card {

  margin-bottom: 60px

}



#home section.sec02 div.product_deck div.product_card img.product_card__head {

  width: calc(100% + 40px);

  max-width: calc(100% + 40px);

  margin-left: -20px

}



#home section.sec02 div.product_deck div.product_card div.product_card__body {

  position: relative;

  z-index: 1;

  width: 100%;

  margin: -30px auto 0;

  padding: 20px 25px;

  box-shadow: 4px 4px 15px rgba(0, 0, 0, 0.6);

  background-color: #fff

}



#home section.sec02 div.product_deck div.product_card div.product_card__body h3.product_card__ttl {

  font-size: 18px;

  color: #0071c2;

  margin-bottom: 11px;

  line-height: 1.3em

}



#home section.sec02 div.product_deck div.product_card div.product_card__body p.product_card__txt {

  font-size: 14px;

  color: #939393;

  margin-bottom: 30px

}



#home section.sec02 div.product_deck div.product_card div.product_card__body.twolines {

  padding-top: 14px

}



#home section.sec02 div.product_deck div.product_card div.product_card__body.twolines h3.product_card__ttl {

  margin-bottom: 7px

}



#home section.sec02 div.product_deck div.product_card div.product_card__body.twolines p.product_card__txt {

  margin-bottom: 17px

}



#home section.sec02 div.product_deck div.product_card div.product_card__body h4.product_card__ex {

  font-size: 12px;

  margin-bottom: 14px

}



#home section.sec02 div.product_deck div.product_card div.product_card__body ul.product_card__exlist {

  margin-bottom: 17px

}



#home section.sec02 div.product_deck div.product_card div.product_card__body ul.product_card__exlist li {

  font-size: 14px;

  margin-bottom: 7px

}



#home section.sec02 div.product_deck div.product_card div.product_card__body ul.product_card__exlist li img {

  margin-right: 13px;

  vertical-align: middle

}



#home section.sec02 div.product_deck div.product_card div.product_card__body div.product_card__more {

  text-align: right

}



#home section.sec02 div.product_deck div.product_card div.product_card__body div.product_card__more a {

  position: relative;

  padding-right: 38px;

  color: #0071C2;

  font-size: 14px

}



#home section.sec02 div.product_deck div.product_card div.product_card__body div.product_card__more a::after {

  content: "";

  display: block;

  position: absolute;

  width: 30px;

  height: 5px;

  border-bottom: 1px solid #0071C2;

  border-right: 1px solid #0071C2;

  transform: skewX(35deg);

  bottom: 4.5px;

  right: 0

}



@media print,

screen and (min-width: 600px) {

  #home section.sec02 div.product_deck div.product_card {

    max-width: 600px;

    margin: 0 auto 60px

  }



  #home section.sec02 div.product_deck div.product_card img.product_card__head {

    width: 100%;

    max-width: 100%;

    margin-left: 0

  }



  #home section.sec02 div.product_deck div.product_card div.product_card__body {

    width: calc(100% - 80px);

    margin: -60px auto 0

  }

}



@media print,

screen and (min-width: 1024px) {

  #home section.sec02 {

    padding-bottom: 100px

  }



  #home section.sec02 .container {

    width: 1280px;

    max-width: calc(100% - 40px)

  }



  #home section.sec02 div.product_deck {

    display: flex;

    justify-content: space-between;

    align-items: flex-start

  }



  #home section.sec02 div.product_deck div.product_card {

    width: 400px;

    max-width: 30.333%;

    margin: 0

  }



  #home section.sec02 div.product_deck div.product_card div.product_card__body {

    width: calc(100% - 80px);

    margin: -30px auto 0

  }

}



#home section.sec03 {

  margin-bottom: 100px;

  padding: 60px 0;

  background-color: #7ca3de;

  background-position: center center;

  background-size: cover

}



#home section.sec03 h2 {

  font-weight: 100;

  margin-bottom: 50px;

  color: #fff;

  text-align: center

}



#home section.sec03 h2 span {

  color: #fff

}



#home section.sec03 .slider_pickup {

  position: relative;

  cursor: grab

}



#home section.sec03 .slider_pickup:active {

  cursor: grabbing

}



#home section.sec03 .slider_pickup .slick-slide {

  height: auto

}



#home section.sec03 .slider_pickup *:focus {

  outline: none

}



#home section.sec03 .slide {

  display: block;

  margin: 0 10%;

  width: 80% !important

}



#home section.sec03 .slide:active {

  cursor: grabbing

}



#home section.sec03 .slide img {

  width: 100%;

  height: auto;

  object-fit: cover;

  margin-bottom: 10px

}



#home section.sec03 .slide p {

  text-align: center;

  color: #fff;

  font-size: 14px

}



#home section.sec03 .slide:focus {

  outline: none

}



#home section.sec03 button.prev,

#home section.sec03 button.next {

  position: absolute;

  top: -35px;

  z-index: 2;

  background: none;

  border: none;

  color: #fff;

  font-weight: 900;

  font-size: 18px;

  cursor: pointer

}



#home section.sec03 button.prev:focus,

#home section.sec03 button.next:focus {

  outline: none

}



#home section.sec03 button.prev {

  left: 5%

}



#home section.sec03 button.next {

  right: 5%

}



@media print,

screen and (min-width: 600px) {

  #home section.sec03 {

    padding: 60px 0 100px;

    margin-bottom: 80px

  }



  #home section.sec03 .slide {

    display: block;

    margin: 0 20px;

    width: 365px !important

  }



  #home section.sec03 .slide img {

    height: 200px

  }



  #home section.sec03 button.prev,

  #home section.sec03 button.next {

    top: -60px

  }



  #home section.sec03 button.prev {

    left: 60px

  }



  #home section.sec03 button.next {

    right: 60px

  }

}



@media print,

screen and (min-width: 1024px) {

  #home section.sec03 button.prev {

    left: auto;

    right: calc(50% + 560px)

  }



  #home section.sec03 button.next {

    right: auto;

    left: calc(50% + 560px)

  }

}



/*--石川page化--*/



#page section.sec04 {

  padding-bottom: 100px

}



#page section.sec04 .topics_wrap {

  background-color: #fff;

  margin-top: -85px;

  padding: 100px 0 70px

}



#page section.sec04 .topics_wrap ul.topics_list {

  border-top: 1px solid #ddd

}



#page section.sec04 .topics_wrap ul.topics_list li.topics_item {

  border-bottom: 1px solid #ddd

}



#page section.sec04 .topics_wrap ul.topics_list li.topics_item a {

  font-size: 14px

}



#page section.sec04 .topics_wrap ul.topics_list li.topics_item a dl {

  padding: 20px 0

}



#page section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dt {

  font-weight: 100;

  line-height: 1.7em;

  margin-bottom: 10px

}



#page section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dt span {

  font-weight: 400;

  background-color: #666;

  color: #fff;

  width: 90px;

  display: inline-block;

  text-align: center;

  margin-left: 25px

}



#page section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dt span.exhibition {

  background-color: #32c5ce

}



#page section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dt span.news {

  background-color: #5c85d4

}



#page section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dd {

  padding-right: 30px;

  position: relative

}



#page section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dd::after {

  content: "＞";

  display: block;

  position: absolute;

  top: 50%;

  right: 0;

  transform: translate(0, -50%)

}



#page section.sec04 .topics_wrap div.link {

  text-align: center;

  margin-top: 30px

}



@media print,

screen and (min-width: 600px) {

  #page section.sec04 {

    padding-bottom: 20px

  }



  #page section.sec04 .topics_wrap {

    margin-top: -95px;

    padding: 120px 0 80px

  }



  #page section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dd {

    padding-right: 60px

  }

}



@media print,

screen and (min-width: 1024px) {

  #page section.sec04 .container {

    max-width: 1000px

  }



  #page section.sec04 .topics_wrap {

    margin-top: -145px;

    padding: 145px 0 80px

  }



  #page section.sec04 .topics_wrap ul.topics_list li.topics_item a dl {

    display: flex;

    align-items: center;

    justify-content: flex-start

  }



  #page section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dt {

    margin: 0;

    width: 230px

  }



  #page section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dd {

    width: calc(100% - 230px);

    padding-right: 60px

  }

}









/*---#home section.sec04 {

  padding-bottom: 100px

}



#home section.sec04 .topics_wrap {

  background-color: #fff;

  margin-top: -85px;

  padding: 100px 0 70px

}



#home section.sec04 .topics_wrap ul.topics_list {

  border-top: 1px solid #ddd

}



#home section.sec04 .topics_wrap ul.topics_list li.topics_item {

  border-bottom: 1px solid #ddd

}



#home section.sec04 .topics_wrap ul.topics_list li.topics_item a {

  font-size: 14px

}



#home section.sec04 .topics_wrap ul.topics_list li.topics_item a dl {

  padding: 20px 0

}



#home section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dt {

  font-weight: 100;

  line-height: 1.7em;

  margin-bottom: 10px

}



#home section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dt span {

  font-weight: 400;

  background-color: #666;

  color: #fff;

  width: 90px;

  display: inline-block;

  text-align: center;

  margin-left: 25px

}



#home section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dt span.exhibition {

  background-color: #32c5ce

}



#home section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dt span.news {

  background-color: #5c85d4

}



#home section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dd {

  padding-right: 30px;

  position: relative

}



#home section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dd::after {

  content: "＞";

  display: block;

  position: absolute;

  top: 50%;

  right: 0;

  transform: translate(0, -50%)

}



#home section.sec04 .topics_wrap div.link {

  text-align: center;

  margin-top: 60px

}



@media print,

screen and (min-width: 600px) {

  #home section.sec04 {

    padding-bottom: 120px

  }



  #home section.sec04 .topics_wrap {

    margin-top: -95px;

    padding: 120px 0 80px

  }



  #home section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dd {

    padding-right: 60px

  }

}



@media print,

screen and (min-width: 1024px) {

  #home section.sec04 .container {

    max-width: 1000px

  }



  #home section.sec04 .topics_wrap {

    margin-top: -145px;

    padding: 145px 0 80px

  }



  #home section.sec04 .topics_wrap ul.topics_list li.topics_item a dl {

    display: flex;

    align-items: center;

    justify-content: flex-start

  }



  #home section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dt {

    margin: 0;

    width: 230px

  }



  #home section.sec04 .topics_wrap ul.topics_list li.topics_item a dl dd {

    width: calc(100% - 230px);

    padding-right: 60px

  }

}--*/



#home section.sec05 {

  padding-bottom: 140px

}



#home section.sec05 .container div {

  position: relative

}



#home section.sec05 .container div.company {

  margin-bottom: 80px

}



#home section.sec05 .container div img {

  width: calc(100% + 40px);

  max-width: calc(100% + 40px);

  margin-left: -20px

}



#home section.sec05 .container div a.btn {

  position: absolute;

  z-index: 1;

  height: 80px;

  padding: 27px 30px 27px 0;

  transform: translate(-50%, 50%);

  left: 50%;

  bottom: 0

}



#home section.sec05 .container div a.btn::after {

  bottom: 36.5px;

  right: 70px

}



@media print,

screen and (min-width: 600px) {

  #home section.sec05 {

    padding-bottom: 160px

  }



  #home section.sec05 .container div {

    max-width: 600px;

    margin: 0 auto

  }



  #home section.sec05 .container div img {

    width: 100%;

    max-width: 100%;

    margin-left: 0

  }



  #home section.sec05 .container div a.btn {

    transform: translate(0, 50%);

    left: auto;

    right: 33px

  }

}



@media print,

screen and (min-width: 1024px) {

  #home section.sec05 .container {

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    width: 1280px;

    max-width: calc(100% - 40px)

  }



  #home section.sec05 .container div {

    width: calc(50% - 40px);

    max-width: 600px;

    margin: 0

  }



  #home section.sec05 .container div.company {

    margin-bottom: 0

  }



  #home section.sec05 .container div img {

    width: 100%;

    max-width: 100%;

    margin-left: 0

  }



  #home section.sec05 .container div a.btn {

    transform: translate(0, 50%);

    left: auto;

    right: 33px

  }

}



#home section.sec06 {

  padding: 60px 0 100px;

  position: relative

}



#home section.sec06 div.bk {

  width: 100%;

  height: 200px;

  position: absolute;

  z-index: 0;

  top: 0;

  left: 0;

  background-image: url(../img/home/bk2.png);

  background-position: center top;

  background-position-x: center;

  background-position-y: top;

  background-size: cover;

  background-repeat: no-repeat

}



#home section.sec06 .container {

  position: relative;

  z-index: 1

}



#home section.sec06 .container h2 {

  font-size: 20px;

  font-weight: 700;

  text-align: center;

  color: #fff;

  margin-bottom: 40px;

  letter-spacing: .1em

}



#home section.sec06 .container div.group_deck {

  margin-bottom: -40px

}



#home section.sec06 .container div.group_deck a.group_card {

  display: block;

  margin: 0 auto 40px;

  text-align: center;

  width: 100%;

  max-width: 400px

}



#home section.sec06 .container div.group_deck a.group_card img.group_card__head {

  width: 100%

}



#home section.sec06 .container div.group_deck a.group_card p.group_card__body {

  position: relative;

  padding-top: 40px;

  text-align: center;

  font-weight: 700;

  font-size: 20px;

  line-height: 1.3em

}



#home section.sec06 .container div.group_deck a.group_card p.group_card__body::before {

  content: "";

  display: block;

  position: absolute;

  top: 0;

  left: 50%;

  height: 60px;

  width: 1px;

  border-right: 1px solid #c6a01a;

  transform: translate(0, -50%)

}



@media print,

screen and (min-width: 600px) {

  #home section.sec06 {

    padding: 80px 0 100px

  }



  #home section.sec06 div.bk {

    height: 280px

  }



  #home section.sec06 .container h2 {

    font-size: 24px;

    margin-bottom: 60px

  }



  #home section.sec06 .container div.group_deck {

    margin-bottom: -40px

  }



  #home section.sec06 .container div.group_deck a.group_card {

    margin: 0 auto 60px

  }



  #home section.sec06 .container div.group_deck a.group_card p.group_card__body {

    padding-top: 60px;

    font-size: 24px

  }



  #home section.sec06 .container div.group_deck a.group_card p.group_card__body::before {

    height: 80px

  }

}



@media print,

screen and (min-width: 1024px) {

  #home section.sec06 {

    padding: 100px 0;

    background-size: contain

  }



  #home section.sec06 div.bk {

    height: 340px

  }



  #home section.sec06 .container {

    width: 1240px;

    max-width: calc(100% - 40px)

  }



  #home section.sec06 .container h2 {

    margin-bottom: 70px

  }



  #home section.sec06 .container div.group_deck {

    margin-bottom: 0;

    display: flex;

    align-items: stretch;

    justify-content: space-between

  }



  #home section.sec06 .container div.group_deck a.group_card {

    margin: 0

  }



  #home section.sec06 .container div.group_deck a.group_card.twolines p.group_card__body {

    padding-top: 48px

  }

}

/*--石川追加0326--*/

@media print, screen and (min-width: 1024px){

#home section.sec05 .container div.encorpoinfo {

    margin: auto;

}

#home section.sec05 .container div a.btn::after {

    bottom: 20px;

    right: 30px;

}

}

/*--石川追加0326--*/