
/*　home
------------------------------------------------------------------------------------------------*/

#home .home-about{
  padding: 11rem 0 15rem;
  position: relative;
}
#home .home-about::before{
  content: "";
  display: block;
  width: calc(50% - 40rem);
  height: 44rem;
  background: #224886;
  position: absolute;
  left: 0;
  top: 0;
}
#home .home-about .box-1{
  padding-left: 26rem;
}


#home .home-service{
  padding: 16rem 0 12rem;
  position: relative;
}
#home .home-service::before{
  content: "";
  display: block;
  width: calc(50% + 40rem);
  height: 100%;
  background: #F8F8F8;
  position: absolute;
  top: 0;
  left: 0;
}
#home .home-service .content{
  position: relative;
  z-index: 1;
}
#home .home-service .box-1{
  position: relative;
  margin: 14rem 0 12rem;
  padding: 0rem 0;
}
#home .home-service img.img_service{
  width: 62.7rem;
  position: absolute;
  right: -18rem;
  top: 0;
}


.swiper-service{
  overflow: visible;
  max-width: 119rem;
  width: 100%;
  padding: 0 5rem;
  margin: 0 auto;
}
.swiper-service .swiper-slide{
  width: 22%;
  margin-right: 4%;
}
.swiper-service .swiper-slide:last-child{
  margin-right: 0;
}
.swiper-service .swiper-slide a{
  display: block;
}
.swiper-service .swiper-slide a:hover img{
  opacity: 1;
}
.swiper-service .swiper-slide span{
  font-size: 6.3rem;
  font-weight: 300;
  color: #224886;
  opacity: 0.26;
  line-height: 1;
}
.swiper-service .swiper-slide .img-wrap{
  width: 100%;
  height: 24rem;
  background: #fff;
  border-radius: 50%;
  box-shadow: 1rem 1.9rem 4.5rem rgba(0,0,0,0.05);
  margin-top: -3.5rem;

  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 1190px){
.swiper-service .swiper-slide .img-wrap{
  height: 19.7vw;
}
}

.swiper-service .swiper-slide .img-wrap img{
  width: 83.33%;
}
.swiper-service .swiper-slide h4{
  text-align: center;
  margin-top: 1.6em;
}
.swiper-scrollbar-drag {
    background: #224886;
}
.swiper-container-horizontal > .swiper-scrollbar {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 50;
    height: 0.4rem;
    width: 40rem;
    background: rgba(0, 0, 0, 0.08);
}


#home .home-pickup{
  padding: 16rem 0 17rem;
}

#home .home-pickup .box-1{
  position: relative;
  margin-top: 14rem;
  padding-left: 56rem;
}
#home .home-pickup img.img_pickup{
  width: 54.6rem;
  position: absolute;
  left: -14rem;
  top: 0;
}
#home .home-pickup h3{
  font-size: 4.4rem;
  color: #002D64;
  letter-spacing: 0.1em;
}
#home .home-pickup .txt-1{
  margin: 0.1em 0 6rem;
}
#home .home-pickup ul{
  display: block;
  background: #F8F8F8;
  padding: 2.5rem 3rem;
  margin-top: 6rem;
}
#home .home-pickup ul li{
  display: block;
}
#home .home-pickup ul li::before{
  content: "■ ";
}




/*　service
------------------------------------------------------------------------------------------------*/

#service .bg-img{ overflow: hidden; }
#service .bg-img img{
  object-fit: cover;
  width: calc(50% + 35rem);
  height: 71.7rem;
}
#service .sec-1 .bg-img img,
#service .sec-3 .bg-img img{
  float: left;
}
#service .sec-2 .bg-img img,
#service .sec-4 .bg-img img{
  float: right;
}

#service .service-box{
  width: 66.4rem;
  min-height: 47.4rem;
  padding: 10rem 0 0 10rem;
  margin: -45.7rem 0 3rem;
  background: #fff;
  position: relative;
}
#service .sec-1 .service-box,
#service .sec-3 .service-box{
  float: right;
}
#service .sec-2 .service-box,
#service .sec-4 .service-box{
  float: left;
  padding-left: 1rem;
  padding-right:12rem;
}

#service ul.produce-li{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#service ul.produce-li li{
  display: block;
  width: 30.7rem;
  font-size: 1.3rem;
  margin-bottom: 5rem;
}
#service ul.produce-li::after{
  content: "";
  width: 30.7rem;
}
#service ul.produce-li li .img-wrap{
  display: flex;
  justify-content: center;
  align-items: center;

  width: 100%;
  height: 26rem;
  background: #F8F8F8;
}
#service ul.produce-li li .img-wrap img.Duelproject_03{ width: 18.7rem; }
#service ul.produce-li li .img-wrap img.Duelpod{ width: 18.7rem; }
#service ul.produce-li li .img-wrap img.vulgar{ width: 18.7rem; }
#service ul.produce-li li .img-wrap img.img_beauty_01{ width: 21.7rem; }
#service ul.produce-li li .img-wrap img.img_beauty_02{ width: 21.7rem; }

#service ul.produce-li li h5{
  font-size: 1.6rem;
  line-height: 1.5;
  color: #002D64;
  font-weight: 400;
  margin: 1.2em 0 0.4em;
}
#service ul.produce-li li a{
  display: inline-block;
  font-size: 1.4rem;
  color: #224886;
  position: relative;
}
#service ul.produce-li li a:hover{ opacity: 1; }
#service ul.produce-li li a::before {
  position: absolute;
  bottom: 0.3em;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.4s;
  background: #224886;
}
#service ul.produce-li li a:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}


#service .sec-1{
  padding: 0 0 16rem;
}
#service .sec-1 img.Duelproject_02{
  width: 17rem;
  float: left;
  margin-top: 5.5rem;
  margin-right: 4rem;
}
#service .sec-1 img.Duelproject_01{
  width: 14rem;
  float: left;
  margin-top: 5.5rem;
}
#service .sec-1 .btn-1{
  margin-top: 3rem;
}


#service .sec-2{
  padding: 0 0 10rem;
}


#service .sec-3{
  padding: 0 0 16rem;
}
#service .sec-3 img.Holy-K{
  width: 15.8rem;
  margin-top: 5.5rem;
}


#service-01,#service-02,#service-03{
  margin-top: -12rem;
  padding-top: 12rem;
}




/*　company
------------------------------------------------------------------------------------------------*/

#company .sec-1{
  overflow: hidden;
  padding: 0 0 12rem;
}
#company .sec-1 .box-1{
  float: left;
  padding-top: 8rem;
}
#company .sec-1 img.img_01{
  width: 32rem;
  float: right;
}


#company .sec-2{
  padding: 0 0 12rem;
}
#company .sec-2 dl{
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #EDEDED;
  margin-top: 5rem;
}
#company .sec-2 dl dt,
#company .sec-2 dl dd{
  padding: 4.5rem 0 4.5rem 4rem;
  border-bottom: 1px solid #EDEDED;
}
#company .sec-2 dl dt{
  width: 25%;
}
#company .sec-2 dl dd{
  width: 75%;
}
#company .sec-2 dl dd .table{
  display: table;
}
#company .sec-2 dl dd .table .table-row{
  display: table-row;
}
#company .sec-2 dl dd .table .table-cell{
  display: table-cell;
  padding: 1em;
  border-bottom: 1px solid #EDEDED;
}
#company .sec-2 dl dd .table .table-row:last-child .table-cell{
  border-bottom: 0;
}


#company .sec-3{
  padding: 8rem 0 17rem;
  position: relative;
}
#company .sec-3 .content{
  position: relative;
  z-index: 1;
}
#company .sec-3::before{
  content: "";
  display: block;
  width: calc(50% + 30rem);
  height: 100%;
  background: #F8F8F8;
  position: absolute;
  left: 0;
  top: 0;
}
#company .sec-3 .box-1{
  display: inline-block;
  float: left;
}
#company .sec-3 iframe.map{
  display: block;
  width: 44rem;
  height: 33rem;
  float: right;
  box-shadow: 1rem 2rem 4.5rem rgba(0,0,0,0.05);
}
#company .sec-3 h5{
  font-size: 2.2rem;
  font-weight: 400;
  margin-bottom: 0.3em;
}
#company .sec-3 .address{
  font-size: 1.6rem;
  padding-left: 2rem;
  position: relative;
}
#company .sec-3 .address::before{
  content: "";
  display: block;
  width: 1.2rem;
  height: 2rem;
  background: url(../images/company/icon_axess.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  top: 0.5em;
  left: 0;
}
#company .sec-3 a.btn-1 {
    margin-top: 3rem;
}




/*　news
------------------------------------------------------------------------------------------------*/

#news .sec-1{
  padding-bottom: 17rem;
}
#news ul.news-li{
  border-top: 1px solid #EDEDED;
}
#news ul.news-li li{
  display: block;
  border-bottom: 1px solid #EDEDED;
}
#news ul.news-li li a{
  display: block;
  padding: 3rem 10rem 3rem 0;
  position: relative;
}
#news ul.news-li li a:hover{
  opacity: 1;
  color: #224886;
}
#news ul.news-li li a::after{
  content: "";
  display: block;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  border: 1px solid #224886;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
  background: url(../images/common/arrow-bl.svg) center center no-repeat transparent;
  background-size: 0.8rem auto;
}
#news ul.news-li li a:hover::after{
  background: url(../images/common/arrow-wh.svg) center center no-repeat #224886;
  background-size: 0.8rem auto;
}
#news ul.news-li li a .day{
  display: block;
  font-weight: 700;
  margin-bottom: 0.3em;
  color: #002D64;
}
#news ul.news-li li a .day .new{
  display: inline-block;
  font-size: 1.2rem;
  background: #224886;
  color: #fff;
  line-height: 1.8rem;
  padding: 0 0.7em;
  margin-left: 1em;
  vertical-align: text-bottom;
}


#single-news .sec-1{
  padding: 7rem 0 17rem;
}
#single-news .sec-1 .day{
  font-weight: 700;
  color: #002D64;
}
#single-news .sec-1 h2{
  font-size: 2.6rem;
  line-height: 1.8;
  margin: 0.3em 0 3em;
}
#single-news .sec-1 p{
  margin-bottom: 7rem;
}
#single-news .sec-1 .img-wrap{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 7rem;
}
#single-news .sec-1 .img-wrap.clm3 img{
  width: calc(100%/3);
}
#single-news .sec-1 iframe.map{
  display: block;
  width: 100%;
  height: 24rem;
  margin-bottom: 7rem;
}
#single-news .sec-1 .share{
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2rem 0 10rem;
}
#single-news .sec-1 .share span{
  font-size: 3.1rem;
  color: #224886;
  opacity: 0.12;
  font-weight: 700;
  margin-right: 2rem;
}
#single-news .sec-1 .share a{
  display: block;
  width: 3rem;
  margin-left: 2rem;
}




/*　contact
------------------------------------------------------------------------------------------------*/

form{
  display: block;
  padding: 6rem 12rem 8rem;
  margin-top: 8rem;
  background: #F8F8F8;
  font-size: 1.6rem;
}
form dl dt.required::after{
  content: "*";
  color: #224886;
  margin-left: 0.1em;
}
form dl dt{
  color: #002D64;
  font-weight: 700;
  margin-bottom: 0.4em;
}
form dl dd{
  margin-bottom: 4rem;
}
form dl dd .note{
  display: block;
  font-size: 1.4rem;
  margin-top: 0.5em;
}
form input[type="text"],
form input[type="email"],
form textarea{
  display: block;
  width: 100%;
  padding: 1.1em 1.2em;
  border: 0;
}
form textarea{
  height: 20rem;
}
form input[type="submit"],
form input[type="button"]{
  display: block;
  width: 24rem;
  line-height: 5.6rem;
  font-size: 1.4rem;
  font-weight: 700;
  border: 0;
  text-align: center;
  margin: 8rem auto 0;
  transition: 0.3s;
  color: #fff;
}
form input[type="submit"]{
  background: #224886;
}
form input[type="button"]{
  background: #A2A2A2;
}
form input[type="submit"]:hover,
form input[type="button"]:hover{
  opacity: 0.6;
}


#contact-2 table th,
#contact-2 table td{
  display: block;
  text-align: left;
}
#contact-2 table th{
  color: #002D64;
  font-weight: 700;
}
#contact-2 table td{
  margin-bottom: 4rem;
  font-size: 1.4rem;
}
#contact-2 .btn-wrap{
  display: flex;
  justify-content: center;
  margin-top: 4rem;
}
#contact-2 .btn-wrap input{
  margin: 0 2rem;
}


#contact .sec-1,
#contact-2 .sec-1,
#contact-3 .sec-1{
  padding: 0 0 17rem;
}
#contact-3 .sec-1 h3{
  font-size: 1.8rem;
  font-weight: 400;
  margin-bottom: 2em;
}




/*　PC
------------------------------------------------------------------------------------------------*/
@media (min-width: 769px){
.sp{ display: none !important; }




/*　タブレット
------------------------------------------------------------------------------------------------*/
@media (max-width: 1100px){




}/*　タブレットここまで */
}/*　PCここまで */




/*　スマホ
------------------------------------------------------------------------------------------------*/
@media (max-width: 768px){


/*　home SP
------------------------------------------------------------------------------------------------*/

#home .home-about{
  padding: 7rem 0 6rem;
}
#home .home-about::before {
    width: calc(50% - 9rem);
    height: 16rem;
}
#home .home-about .box-1 {
    padding-left: 0;
}
#home .home-about h2.h2-1{
  transform: translateX(10rem);
}


#home .home-service {
    padding: 6rem 0 8rem;
}
#home .home-service::before {
    width: calc(50% + 14rem);
}
#home .home-service .box-1 {
    margin: 0;
    padding: 0;
}
#home .home-service img.img_service {
    max-width: 35rem;
    position: unset;
    margin: 4rem 0 8rem;
}


.swiper-service{
  padding: 0 6% 6rem;
}
.swiper-service .swiper-slide {
    width: 23rem;
    margin-right: 4rem;
}
.swiper-service .swiper-slide span {
    font-size: 6rem;
}
.swiper-service .swiper-slide .img-wrap {
    width: 23rem;
    height: 23rem;
    margin-top: -3.2rem;
}
.swiper-service .swiper-slide .img-wrap img{
  width: 19.2rem;
}
.swiper-container-horizontal > .swiper-scrollbar {
    width: 88%;
    left: 6%;
}


#home .home-pickup {
    padding: 12rem 0 18rem;
}
#home .home-pickup .box-1 {
    margin: 0;
    padding-left: 0;
}
#home .home-pickup img.img_pickup {
    position: unset;
    max-width: 35rem;
    margin: 8rem 0 6rem;
}
#home .home-pickup h3 {
    font-size: 3.1rem;
    margin-top: 6rem;
}
#home .home-pickup .txt-1 {
    margin: 0.5em 0 2rem;
}
#home .home-pickup ul {
    padding: 2.2rem 2.5rem;
    margin-top: 4rem;
}




/*　service SP
------------------------------------------------------------------------------------------------*/

#service .bg-img img {
    width: 100%;
    height: 48rem;
}
#service .service-box {
    width: 31rem;
    min-height: 27rem;
    padding: 7rem 3.2rem 0 !important;
    margin: -27rem 0 2rem;
}


#service .sec-1 {
    padding: 0 0 12rem;
}
#service .sec-1 img.Duelproject_02 {
    width: 12rem;
    float: left;
    margin-top: 4rem;
    margin-right: 2rem;
}
#service .sec-1 img.Duelproject_01 {
    width: 10rem;
    float: left;
    margin-top: 4rem;
}
#service ul.produce-li li {
    width: 48%;
    margin-bottom: 4rem;
}
#service ul.produce-li li .img-wrap {
    height: 13.2rem;
}
#service ul.produce-li li .img-wrap img.Duelproject_03{ width: 10.8rem; }
#service ul.produce-li li .img-wrap img.Duelpod{ width: 10.8rem; }
#service ul.produce-li li .img-wrap img.vulgar{ width: 10.8rem; }
#service ul.produce-li li .img-wrap img.img_beauty_01{ width: 10.8rem; }
#service ul.produce-li li .img-wrap img.img_beauty_02{ width: 10.8rem; }

#service ul.produce-li li a {
    font-size: 1.3rem;
    margin-top: 0.4em;
    text-decoration: underline;
}
#service ul.produce-li li a::before{
  content: none;
}
#service .sec-1 a.btn-1 {
    margin-top: 2rem;
}


#service .sec-2 {
    padding: 0 0 12rem;
}


#service .sec-3 {
    padding: 0 0 6rem;
}


#service-01,#service-02,#service-03{
  margin-top: -11rem;
  padding-top: 6rem;
}




/*　company SP
------------------------------------------------------------------------------------------------*/

#company .sec-1 {
    padding: 0 0 8rem;
}
#company .sec-1 .box-1 {
    float: inherit;
    padding-top: 0;
}
#company .sec-1 img.img_01 {
    width: 25rem;
    float: inherit;
    margin: 4.5rem auto 0;
}
#company .sec-2 dl {
    margin-top: 0;
}
#company .sec-2 dl dt,
#company .sec-2 dl dd {
    padding: 3rem 0;
}
#company .sec-2 dl dt {
    width: 38%;
}
#company .sec-2 dl dd {
    width: 62%;
}
.sp-block{
  width: 100%;
  display: block;
}
#company .sec-2 dl dd .table,
#company .sec-2 dl dd .table .table-row{
  display: block;
}
#company .sec-2 dl dd .table .table-cell{
  display: inline-block;
  padding: 0;
  border-bottom: 0;
}
#company .sec-2 dl dd .table .table-cell.sp-block{
  display: block;
  padding-bottom: 1em;
  margin-bottom: 1em;
  border-bottom: 1px solid #EDEDED;
}
#company .sec-2 dl dd .table .table-row:last-child .table-cell.sp-block{
  padding-bottom: 0;
  margin-bottom: 0;
}


#company .sec-3 {
    padding: 5rem 0 12rem;
}
#company .sec-3::before {
    width: calc(50% + 14rem);
}
#company .sec-3 .box-1 {
    display: block;
    float: inherit;
    margin-bottom: 5rem;
}
#company .sec-3 h5 {
    font-size: 1.8rem;
}
#company .sec-3 .address {
    font-size: inherit;
}
#company .sec-3 iframe.map {
    width: 100%;
    height: 24rem;
}




/*　news SP
------------------------------------------------------------------------------------------------*/

#news .sec-1 {
    padding-bottom: 12rem;
}
#news ul.news-li li a {
    padding: 2rem 0;
}
#news ul.news-li li a::after{
  content: none;
}


#single-news .sec-1 h2 {
    font-size: 1.8rem;
}
#single-news .sec-1 p {
    margin-bottom: 5rem;
}
#single-news .sec-1 .img-wrap {
    margin-bottom: 5rem;
}
#single-news .sec-1 .img-wrap.clm3 img {
    width: 50%;
}
#single-news .sec-1 iframe.map {
    margin-bottom: 5rem;
}
#single-news .sec-1 .share{
  margin: 0;
}
#single-news .sec-1 .share span {
    font-size: 2.7rem;
    margin-right: 1rem;
}
#single-news .sec-1 .share a {
    width: 2.6rem;
    margin-left: 1.5rem;
}




/*　contact SP
------------------------------------------------------------------------------------------------*/

form {
    padding: 4rem 6% 12rem;
    margin-top: 6rem;
    font-size: inherit;
}
form dl dt {
    margin-bottom: 0.6em;
}
form input[type="text"],
form input[type="email"],
form textarea {
    padding: 1.3em 1.1em;
}
form dl dd .note {
    font-size: 1.3rem;
    margin-top: 0.8em;
}
form input[type="submit"],]
form input[type="button"] {
    margin: 5rem auto 0;
}
form textarea{
  height: 19rem;
}


#contact .sec-1,
#contact-2 .sec-1{
  padding: 0;
}
#contact-3 .sec-1{
  padding: 0 0 12rem;
}


#contact-2 table td {
    margin-bottom: 3rem;
}
#contact-2 .btn-wrap {
    flex-wrap: wrap;
    flex-direction: column-reverse;
    margin-top: 0;
}
#contact-2 .btn-wrap input {
    margin: 2.5rem auto 0;
}




}/*　スマホここまで */



