@charset "utf-8";
/*===================================================
メイン画像
===================================================*/
#mainImg {
  position: relative;
}
#mainImg::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: url(../images/top_img_grada.png) repeat-x 0 0 / 100px;
}

#mainImgSlider .slick-slide {
  height: 500px;
}

#mainImgSlider .slick-slide > p {
  position: absolute;
  top: 0;
  left: 50%;
  width: 80%;
  max-width: 620px;
  height: 100%;
  text-indent: 101%;
  background: no-repeat center / contain;
  white-space: nowrap;
  overflow: hidden;
  transform: translate(-50%,0);
  z-index: 2;
}
#mainImgSlider #mainImg01 p {
  background-image: url(../images/top_img_text01.svg);
}
#mainImgSlider #mainImg02 p {
  background-image: url(../images/top_img_text02.svg);
}
#mainImgSlider #mainImg03 p {
  background-image: url(../images/top_img_text03.svg);
}
#mainImgSlider #mainImg04 p {
  background-image: url(../images/top_img_text04.svg);
}

#mainImgSlider .slick-slide > div {
  position: relative;
  width: 100%;
  height: 100%;
}
#mainImgSlider .slick-slide > div::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/top_img_textbg.png) repeat-x center / 10px 100%;
}

@media screen and ( min-width:769px ) and ( max-width:950px ) {
#mainImgSlider .slick-slide {
  height: 400px;
}
}

@media screen and ( min-width:376px ) and ( max-width:768px ) {
#mainImgSlider .slick-slide {
  height: 300px;
}
}

@media screen and ( max-width:375px ) {
#mainImg::after {
  height: 50px;
  background-size: 50px;
}

#mainImgSlider .slick-slide {
  height: 200px;
}

#mainImgSlider .slick-slide > div::before {
  background-size: 10px 150%;
}
}


/*===================================================
コンテンツ
===================================================*/
#wrapper > section:nth-of-type(n+2) {
  margin-top: 100px;
}
#wrapper > section#topAbout {
  max-width: 1530px;
  margin-top: 30px;
}

@media screen and ( max-width:768px ) {
#wrapper > section:nth-of-type(n+2) {
  margin-top: 50px;
}
}


/*===================================================
About Us
===================================================*/
#topAbout > div > p {
  line-height: 2;
  text-align: center;
}

#topAbout .ly_dsFlex {
  margin: 0 auto;
}

#topAbout .ly_dsFlex li div {
  position: relative;
}

#topAbout .ly_dsFlex li div img {
  position: absolute;
  top: 0;
  left: 0;
}

#topAbout .ly_dsFlex li p {
  width: 80%;
  height: 70px;
  max-width: 300px;
  color: #fff;
  text-align: center;
  background-color: #e84c03;
  padding: 10px 20px;
  margin: -35px auto 0;
}
#topAbout .ly_dsFlex li:nth-of-type(2) p {
  background-color: #e31919;
}
#topAbout .ly_dsFlex li:nth-of-type(3) p {
  background-color: #002f89;
}

#topAbout .ly_dsFlex li p::after {
  border-color: #fff;
}
#topAbout .ly_dsFlex li a:hover p::after {
  right: 10px;
}

#topAbout .ly_dsFlex li p span {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  white-space: nowrap;
  transform: translate(0,-50%);
}

@media print, screen and ( min-width:1100px ) {
#topAbout .ly_dsFlex li {
  width: calc(100% / 3);
  margin-top: 50px;
}
#topAbout .ly_dsFlex li:first-of-type {
  margin-top: 125px;
}
#topAbout .ly_dsFlex li:nth-of-type(2) {
  margin-top: 100px;
}

#topAbout .ly_dsFlex li div {
  height: 400px;
}
}

@media screen and ( max-width:1099px ) {
#topAbout .ly_dsFlex li {
  width: 100%;
  margin-top: 15px;
}

#topAbout .ly_dsFlex li div {
  height: 150px;
}

#topAbout .ly_dsFlex li p {
  height: 50px;
  padding: 5px;
  margin: -25px auto 0;
}
}

@media screen and ( max-width:768px ) {
#topAbout > div > p br {
  display: none;
}
}


/*===================================================
News
===================================================*/
#topNews {
  padding: 50px 0;
  background-color: #ededed;
}

#topNews .ly_dsFlex {
  max-width: 1100px;
  padding: 0 50px;
  margin: 0 auto;
}
#topNews .ly_dsFlex:nth-of-type(n+2) {
  margin-top: 15px;
}

#topNews .ly_dsFlex dt {
  position: relative;
  width: 7em;
}
#topNews .ly_dsFlex dt.el_new::after {
  content: "NEW";
  position: absolute;
  top: 3px;
  left: -50px;
  width: 40px;
  height: 20px;
  font-size: .101rem;
  font-weight: 700;
  line-height: 20px;
  color: #fff;
  text-align: center;
  background-color: #e84c03;
  border-radius: 5px;
}

#topNews .ly_dsFlex dd {
  width: calc(100% - 7em);
  text-align: justify;
}
#topNews .ly_dsFlex dd a {
  display: block;
  color: #be6135;
  text-decoration: none;
}

#topNews .ly_dsFlex + div {
  width: 80%;
  max-width: 300px;
  margin: 30px auto 0;
}
#topNews .ly_dsFlex + div a {
  display: block;
  line-height: 56px;
  text-align: center;
  text-decoration: none;
  background-color: #fff;
  border: 2px solid #e84c03;
}

@media print, screen and ( min-width:769px ) {
#topNews .ly_dsFlex dt,
#topNews .ly_dsFlex dd {
  border-bottom: 1px dashed #999;
  padding-bottom: 10px;
}
}

@media screen and ( max-width:768px ) {
#topNews {
  padding: 30px 0;
}

#topNews .ly_dsFlex {
  padding: 0;
}

#topNews .ly_dsFlex dt {
  width: 6em;
  line-height: 1;
  padding-bottom: 5px;
}
#topNews .ly_dsFlex dt.el_new::after {
  top: 0;
  right: -40px;
  left: auto;
  width: 36px;
  height: 16px;
  line-height: 16px;
}

#topNews .ly_dsFlex dd {
  width: 100%;
  border-bottom: 1px dashed #999;
  padding-bottom: 10px;
}

#topNews .ly_dsFlex + div a {
  line-height: 41px;
}
}


/*===================================================
About Us
===================================================*/
#topProduct > .ly_cont h1 + p {
  text-align: center;
}

#topProduct01 {
  position: relative;
}
#topProduct02 {
  position: relative;
  margin-top: 100px;
}

#topProduct01::before,
#topProduct02::before {
  position: absolute;
  top: 0;
}
#topProduct01::before {
  background-color: #e84c03;
}
#topProduct02::before {
  background-color: #002f89;
}

#topProduct01 .ly_cont,
#topProduct02 .ly_cont {
  position: relative;
  z-index: 2;
}

#topProduct01 .ly_cont h1,
#topProduct02 .ly_cont h1 {
  font-size: .301rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
}

#topProduct01 .ly_cont li {
  background-color: #fff;
}

#topProduct01 .ly_cont li a,
#topProduct02 .ly_cont div a {
  position: relative;
  display: block;
  height: 100%;
  background: url(../images/top_product_img01.jpg) no-repeat center / cover;
}
#topProduct01 .ly_cont li:nth-of-type(2) a {
  background-image: url(../images/top_product_img02.jpg);
  background-position: center bottom;
}
#topProduct01 .ly_cont li:nth-of-type(3) a {
  background-image: url(../images/top_product_img03.jpg);
}
#topProduct01 .ly_cont li:nth-of-type(4) a {
  background-image: url(../images/top_product_img04.jpg);
}
#topProduct02 .ly_cont div a {
  background-image: url(../images/top_product_img05.jpg);
}

#topProduct01 .ly_cont li a::before,
#topProduct02 .ly_cont div a::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
}
#topProduct01 .ly_cont li a:hover::before,
#topProduct02 .ly_cont div a:hover::before {
  opacity: .5;
}

#topProduct01 .ly_cont li a p,
#topProduct02 .ly_cont div a p {
  position: absolute;
  top: 50%;
  left: 15px;
  width: 250px;
  color: #fff;
  background: rgba(0,0,0,0.4);
  border: 2px solid #fff;
  padding: 10px;
  transform: translate(0,-50%);
  z-index: 2;
}
#topProduct01 .ly_cont li a p::after,
#topProduct02 .ly_cont div a p::after {
  border-color: #fff;
}
#topProduct01 .ly_cont li a:hover p::after,
#topProduct02 .ly_cont div a:hover p::after {
  right: 10px;
}
#topProduct01 .ly_cont li a p span {
  display: inline-block;
}

@media print, screen and ( min-width:769px ) {
#topProduct01::before {
  left: 0;
  width: 100%;
  height: 400px;
}
#topProduct02::before {
  left: 50px;
  width: calc(100% - 50px);
  height: 250px;
}

#topProduct01 .ly_cont,
#topProduct02 .ly_cont {
  max-width: none;
  padding: 0 50px;
}
#topProduct01 .ly_cont {
  padding-top: 50px;
}
#topProduct02 .ly_cont {
  height: 250px;
}

#topProduct01 .ly_cont h1 {
  position: absolute;
  top: 50px;
  left: 50px;
}
#topProduct02 .ly_cont h1 {
  position: absolute;
  top: 0;
  right: 0;
  width: 300px;
  line-height: 250px;
  padding-left: 30px;
}

#topProduct01 .ly_cont li {
  width: 50%;
  height: 250px;
}
#topProduct01 .ly_cont li:nth-of-type(1),
#topProduct01 .ly_cont li:nth-of-type(3) {
  transform: translate(0,50px);
}

#topProduct02 .ly_cont div {
  position: absolute;
  top: 50px;
  left: 0;
  width: calc(100% - 300px);
  height: 100%;
}

#topProduct02 .ly_cont div a p {
  left: 65px;
}
}

@media screen and ( max-width:768px ) {
#topProduct02 {
  margin: 30px 0 0;
}

#topProduct01::before,
#topProduct02::before {
  width: calc(100% - 30px);
  height: calc(100% - 30px);
}

#topProduct01::before {
  left: 0;
}
#topProduct02::before {
  right: 0;
}

#topProduct01 .ly_cont,
#topProduct02 .ly_cont {
  padding: 15px 15px 0 15px;
}

#topProduct01 .ly_cont h1,
#topProduct02 .ly_cont h1 {
  font-size: .181rem;
  margin-bottom: 10px;
}
#topProduct02 .ly_cont h1 {
  text-align: right;
}

#topProduct01 .ly_cont li,
#topProduct02 .ly_cont div {
  width: 100%;
  height: 125px;
}
#topProduct01 .ly_cont li:nth-of-type(n+2) {
  border-top: 1px solid #fff;
}
}


/*===================================================
topCompany
===================================================*/
#topCompany {
  position: relative;
  padding: 150px 0 100px;
  margin: 0 !important;
}
#topCompany::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fef6f2;
  transform: skewX(-10deg) translate(-50%,0);
  z-index: -1;
}

#topCompany .ly_cont > div {
  position: relative;
  padding-top: 410px;
}
#topCompany .ly_cont > div::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 450px;
  background: url(../images/top_company_img.jpg) no-repeat center / cover;
}

#topCompany .ly_cont > div > div {
  position: relative;
  width: 90%;
  max-width: 750px;
  background-color: #fff;
  padding: 20px;
  margin: 0 auto;
  z-index: 2;
}

#topCompany .ly_cont > div > div p {
  text-align: center;
  margin-bottom: 30px;
}

#topCompany .ly_cont > div > div .ly_dsFlex {
  width: 100%;
  max-width: 550px;
  margin: 0 auto;
}

#topCompany .ly_cont > div > div .ly_dsFlex li {
  width: calc((100% - 50px) / 2);
}
#topCompany .ly_cont > div > div .ly_dsFlex li:first-of-type {
  margin-right: 50px;
}

#topCompany .ly_cont > div > div .ly_dsFlex li a {
  display: block;
  line-height: 41px;
  text-align: center;
  text-decoration: none;
  background-color: #fff;
  border: 2px solid #e84c03;
}

@media screen and ( max-width:768px ) {
#topCompany {
  padding: 30px 0;
}

#topCompany .ly_cont > div {
  padding-top: 210px;
}
#topCompany .ly_cont > div::after {
  height: 250px;
}

#topCompany .ly_cont > div > div p {
  margin-bottom: 15px;
}

#topCompany .ly_cont > div > div .ly_dsFlex li {
  width: calc((100% - 15px) / 2);
}
#topCompany .ly_cont > div > div .ly_dsFlex li:first-of-type {
  margin-right: 15px;
}
}


/*===================================================
topContact
===================================================*/
#topContact {
  position: relative;
  background: url(../images/top_contact_img.jpg) no-repeat center / cover;
  padding: 100px 0;
  margin: 0 !important;
}
#topContact::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: .65;
}

#topContact .ly_cont {
  position: relative;
  z-index: 2;
}

#topContact .ly_cont h1.el_baseTit span,
#topContact .ly_cont p {
  color: #fff;
}

#topContact .ly_cont p {
  text-align: center;
  margin-bottom: 50px;
}

#topContact .ly_cont .ly_dsFlex {
  width: 100%;
  max-width: 850px;
  margin: 0 auto;
}

#topContact .ly_cont .ly_dsFlex li a {
  display: block;
  line-height: 41px;
  text-align: center;
  text-decoration: none;
  background-color: rgba(0,0,0,0.4);
  border: 2px solid #e84c03;
}
#topContact .ly_cont .ly_dsFlex li a:hover {
  background-color: rgba(0,0,0,0.75);
}

@media print, screen and ( min-width:769px ) {
#topContact .ly_cont .ly_dsFlex li {
  width: calc((100% - 100px) / 3);
}
#topContact .ly_cont .ly_dsFlex li:nth-of-type(n+2) {
  margin-left: 50px;
}
}

@media screen and ( max-width:768px ) {
#topContact {
  padding: 30px 0;
}

#topContact .ly_cont p {
  margin-bottom: 15px;
}

#topContact .ly_cont .ly_dsFlex {
  width: 250px;
  flex-direction: column;
}
  
#topContact .ly_cont .ly_dsFlex li {
  width: 100%;
}
#topContact .ly_cont .ly_dsFlex li:nth-of-type(n+2) {
  margin-top: 10px;
}
}


/*===================================================
印刷用
===================================================*/
@media print {
#mainImgSlider .slick-track {
  width: 100% !important;
}

#mainImgSlider .slick-track > div:first-of-type {
  z-index: 999 !important;
  opacity: 1 !important;
}
#mainImgSlider .slick-track > div:nth-of-type(n+2) {
  display: none !important;
}
  
#mainImgSlider .slick-slide {
  width: 100% !important;
  height: auto !important;
}
}