@charset "UTF-8";
/* 共通 */
.sec {
  padding: 60px 5% 150px;
}
.sec_title {
  font-size: 2.125rem;
}
.sec_subtitle {
  font-size: .9375rem;
  letter-spacing: 0.2em;
}


/* main */
.wrap {
  margin-right: 200px;
}
.logo {
  position: fixed;
  z-index: -1;
  top: 70px;
  right: 50%;
}

/* news */
.dllist {
  width: 74%;
  margin: auto;
}
.dllist-t {
  font-size: .75rem;
  font-family:  "Koburina Gothic W3 JIS2004";
}
.dllist-d {
  border-bottom: 2px dotted #00b4ff;
  padding-bottom: 20px;
  margin-bottom: 25px;
  line-height: 2;
}
.dllist-d:last-child {
  border: none;
}
#news a {
    color: #00b4ff ;
}
#news a:hover {
    color: #000 ;
}


/* design */
.sec-design {
  padding: 130px 5% 70px;
}
.box {
  width: 29.5%;
  margin-bottom: 68px;
  position: relative;
}
.box.is-empty {
  height: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.box-img {
  overflow: hidden;
}
.box-img img {
  width: 100%;
  display: block;
  -webkit-transition: 0.3s;
	transition: 0.3s;
}
.box-img img:hover {
  transform: scale(1.1);
  -webkit-transition: 0.3s;
	transition: 0.3s;
}
.category {
  background-color: #00b4ff;
  color: #fff;
  padding: 5px 10px;
  border-radius: 5px;
  font-size: .625rem;
  position: absolute;
  top: -15px;
  left: 10px;
  z-index: 10;
  letter-spacing: 0.1em;
}

/* contact */
.sec-contact {
  padding: 90px 5% 200px;
}
.pin::before {
  content: "●";
  font-size: .625rem;
  position: absolute;
  top: -20px;
  left: 8px;
}
.selected::before {
  content: "●";
  font-size: .5rem;
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
}
.alert {
  color: #ffff00;
  font-size: .75rem;
}
.bd-dashed {
  border-bottom: 2px dotted #fff;
  width: 80px;
  position: relative;
  top: -8px;
  margin: 0 5px;
  font-size: 0%;
  color: transparent;
}
.form-list {
  padding-bottom: 20px;
  margin-bottom: 21px;
  border-bottom: 1px solid #fff;
}
.form-list-last {
  margin-bottom: 38px;
}
.form-list-dt {
  width: 40%;
}
.form-list-dt-last {
  width: 100%!important;
}
.form-list-dd {
  width: 60%;
}
.btn {
  position: relative;
  right: 0;
  left: 0;
  margin: auto;
  width: 280px
}
.btn-input {
  position: absolute;
  width: 280px;
  height: 50px;
  display: block;
  border-radius: 5px;
  background-color: #fff;
  color: #00b4ff;
  -webkit-transition: -webkit-transform 0.15s cubic-bezier(0.15, 0, 0, 3);
  transition: -webkit-transform 0.15s cubic-bezier(0.15, 0, 0, 3);
  transition: transform 0.15s cubic-bezier(0.15, 0, 0, 3);
  transition: transform 0.15s cubic-bezier(0.15, 0, 0, 3), -webkit-transform 0.15s cubic-bezier(0.15, 0, 0, 3);
  font-family:  "Koburina Gothic W6 JIS2004";
}
.btn-input:hover {
  -webkit-transform: scale(1.1) rotateZ(0deg);
  transform: scale(1.1) rotateZ(0deg);
  background-color: #00215b;
  color: #fff;
}


/* company */
.sec-company {
  padding: 140px 5% 90px;
}
.company-w-36 {
  width: 36%;
}
.slide {
  width: 70%;
  padding-bottom: 63%;
  overflow: hidden;
  height: 0;
  position: relative;
}
.slide li {
  width: 100%;
  height: 100%;
  position: absolute;
}
.map {
  width: 64%;
  padding-bottom: 40%;
  border-radius: 5px;
  overflow: hidden;
  height: 0;
  position: relative;
}
.map-frame {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  filter:grayscale(100%);
  -webkit-filter:grayscale(100%);
}
.company-img {
  width: 100%;
  height: 100%;
}

/* kaso-header */
.g-nav-kaso {
  width: 200px;
  position: fixed;
  right: 0;
  font-family:  "Koburina Gothic W3 JIS2004";
}
/* Firefox */
@-moz-document url-prefix(){
  .g-nav-kaso {
    right: -80px;
    height: 400px;
  }
  .g-nav-kaso-design {
    right: -80px;
    height: 400px;
	}
}
/* Edge */
@supports (-ms-ime-align:auto) {
  .g-nav-kaso {
    right: -80px;
    height: 400px;
  }
  .g-nav-kaso-design {
    right: -80px;
    height: 400px;
	}
}
/* IE11 */
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop, .g-nav-kaso {
    right: -80px;
    height: 400px;
  }
  *::-ms-backdrop, .g-nav-kaso-design {
    right: -80px;
    height: 400px;
	}
}
/* kaso-contact */
.bg-blue-contact,.bg-blue-contact_2 {
  background-color: #00b4ff;
  color: #fff;
  border-radius: 0 0 5px 0;
}
.sec.bg-blue-contact {
  padding: 60px 5% 125px;
}

.form-list-contact {
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid #98e0ff;
}
.form-list-contact-last {
  margin-bottom: 40px;
}
.send {
  position: absolute;
  left: 60%;
}
.fix {
  position: absolute;
  right: 60%;
  text-align: center;
}
.fix::before,.fix-2::before{
  content: "";
  width: .6em;
  height: .6em;
  border-top: 2px solid #00b4ff;
  border-left: 2px solid #00b4ff;
  position: absolute;
  z-index: 1;
  top: 50px;
  bottom: 0;
  left: 20px;
  margin: auto;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.fix:hover::before,.fix-2:hover::before {
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
}
.fix a { line-height: 50px; }
.send::after{
  content: "";
  width: .6em;
  height: .6em;
  border-top: 2px solid #00b4ff;
  border-right: 2px solid #00b4ff;
  position: absolute;
  top: 50px;
  bottom: 0;
  right: 20px;
  margin: auto;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.send:hover::after{
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
/* Firefox */
@-moz-document url-prefix(){
	.fix::before,.fix-2::before,.send::after {
		top: 25px;
	}
}

/* kaso-design */
.kaso-sec-title {
  font-size: 2.125rem;
}

/*------2020.04.26追記------*/
.kaso-sec-title a {
  color: #fff;
}

.design-img {
  margin-bottom: 30px;
  border-radius: 5px;
  width: 100%;
}
.design-img-small {
  margin-bottom: 30px;
  border-radius: 5px;
  width: 100%;
}

/*------2020.04.26追記------*/
.design-img-maxwidth {
  margin-bottom: 30px;
  border-radius: 5px;
  max-width: 100%;
  /*width: 100%;*/
}

.kaso-box {
  margin-bottom: 110px;
  font-size: .75rem;
  line-height: 2;
}
.design-list {
  font-size: .75rem;
  line-height: 2.333;
}
.design-list-dt {
  width: 20%;
  margin-bottom: 30px;
}
.design-list-dd {
  width: 80%;
  margin-bottom: 30px;
}

/*------2020.04.26追記------*/
.design-list a {
    color: #fff;
}

/*------2020.04.26追記------*/
.design-list a:hover {
    color: #00b4ff;
}

.design-sec ul li {
  font-size: .9375rem;
  letter-spacing: 0.2em;
}
.design-sec .bd-dashed {
  width: 33%;
  top: -13px;
  border-bottom: 2px dotted #636363;
}
.design-sec .bd-dashed-none {
  border: transparent;
  width: 33%;
  color: transparent;
  font-size: 0%;
}
.prev-none,.next-none {
  font-size: 0;
  color: transparent;
}
.prev-arw,.next-arw {
  border-bottom: 1px solid #fff;
  display: block;
  position: relative;
}
.next-arw {
  right: -65px;
  bottom: 12px;
  width: 30px;
}
.prev-arw {
  left: -52px;
  top: 12px;
  width: 30px;
}
.prev-arw::before {
  content: "";
  width: 1em;
  height: 1em;
  top: -6px;
  left: 3px;
  position: absolute;
  border-left: 1px solid #fff;
  -webkit-transform: rotate(55deg);
  -ms-transform: rotate(55deg);
  transform: rotate(55deg);
}
.next-arw::after {
  content: "";
  width: 1em;
  height: 1em;
  right: -6px;
  bottom: 3px;
  position: absolute;
  border-left: 1px solid #fff;
  -webkit-transform: rotate(-55deg);
  -ms-transform: rotate(-55deg);
  transform: rotate(-55deg);
}

.prev:hover .prev-arw{
  animation: arw-left 0.7s infinite;
  -webkit-animation: arw-left 0.7s infinite;
  -ms-animation: arw-left 0.7s infinite;
  -o-animation: arw-left 0.7s infinite;
  -moz-animation: arw-left 0.7s infinite;
}
@keyframes arw-left {
  0% {
    transform: translateX(0);
    -webkit-tarnsform:  translateX(0);
  }
  10% {
    transform: translateX(-7px);
    -webkit-tarnsform:  translateX(-7px);
  }
  50% {
    transform: translateX(0);
    -webkit-tarnsform:  translateX(0);
  }
}
.next:hover .next-arw{
  animation: arw-right 0.7s infinite;
  -webkit-animation: arw-right 0.7s infinite;
  -ms-animation: arw-right 0.7s infinite;
  -o-animation: arw-right 0.7s infinite;
  -moz-animation: arw-right 0.7s infinite;
}
@keyframes arw-right {
  0% {
    transform: translateX(0);
    -webkit-tarnsform:  translateX(0);
  }
  10% {
    transform: translateX(7px);
    -webkit-tarnsform:  translateX(7px);
  }
  50% {
    transform: translateX(0);
    -webkit-tarnsform:  translateX(0);
  }
}





/*----------------------------
  レスポンシブ
-----------------------------*/
@media screen and (max-width:1124px){
  .design-wrap.w-80 {
    width: 100%;
  }
  .send {
    left: 45%;
  }
  .box {
    width: 30%;
  }
  /* kaso design */
  .design-sec .bd-dashed {
    width: 25%;
  }
}

@media screen and (max-width:1024px){
  .m-flex-none {
    display: block;
  }
  .m-mb-15 { margin-bottom: 15px; }

  /* company */
  .company-sp-flex {
    display: flex;
    display: -webkit-flex;
    display: -ms-flex;
    justify-content: space-between;
  }
  .company-w-36 {
    width: 100%;
  }
  .company-w-36 .mb-40 {
    margin-bottom: 25px;
  }
  .slide {
    width: 250px;
    padding-bottom: 0;
    height: 200px;
    margin-bottom: 30px;
  }
  .map {
    width: 100%;
    padding-bottom: 70%;
  }

  /* kaso contact */
  .fix:hover::before,.fix-2:hover::before {
    border-top: 2px solid #00215b;
    border-left: 2px solid #00215b;
  }
  .send:hover::after{
    border-top: 2px solid #00215b;
    border-right: 2px solid #00215b;
  }
  .send,.fix {
    margin: auto;
    left: 0;
    right: 0;
  }
  .send {
    top: 65px;
  }
  .sp-m-195 { margin-bottom: 195px; }

  /* kaso design */
  .design-sec ul li {
    font-size: .75rem;
  }
  .design-sec .bd-dashed {
    top: -8px;
  }
}


@media screen and (max-width:767px){
  /* 共通 */
  .sec {
    padding: 100px 5%;
  }
  .sec_title {
    font-size: 1.75rem;
  }
  .kaso-sec-title {
    font-size: 1.75rem;
  }
  .sec_subtitle {
    font-size: .75rem;
  }
  .design-sec .mb-100 {
    margin-bottom: 80px;
  }
  .design-sec .mb-140 {
    margin-bottom: 80px;
  }
  .g-nav-kaso-design .white { color: #fff;}

  /* kaso-header */
  .kaso-header-bg {
    background-color: rgba(0, 0, 0, 0.75);
    opacity: 0.5;
    height: 100vh;
    width: 100%;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99;
  }
  .g-nav-kaso {
    width: 100%;
    right: -100%;
    top: 0;
    z-index: -1;
    padding: 58px 20px 25px 27px;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .g-nav-kaso-design {
    background-color: #000;
  }
  .btnHamburger .kaso-line {
    border-left: 5px solid #fff;
  }
  .btnHamburger.is-active .g-nav-kaso {
    right: 0;
  }

/*------2020.04.26追記------*/
.design-img-maxwidth {
  margin-bottom: 30px;
  border-radius: 5px;
  width: 100%;
}    
    
  /* main */
  .wrap {
    margin-right: 0;
  }
  .logo {
    left: calc(50% - 185px/2);
  }
  .p-t-b-105 {
    padding: 75px 0;
  }
  .dllist { width: 95%; }
  /* design */
  .sec-design {
    padding: 100px 5% 40px;
  }
  .box {
    width: 48%;
  }
 .category {
    letter-spacing: 0.1em;
    left: 5px;
 }

  /* contact */
  .sec-contact {
    padding: 90px 5% 145px;
  }
  .pin::before {
    left: 9px;
  }
  .form-list-dt {
    width: 25%;
    margin-right: 8px;
  }
  .form-list-dd {
    width: 75%;
  }
  .btn {
    width: 240px
  }
  .btn-input {
    width: 240px;
    -webkit-transition: none;
    transition: none;
    transition: none;
    transition: none;
  }
  .btn-input:hover {
    -webkit-transform: none;
    transform: none;
    background-color: #fff;
    color: #00b4ff;
  }
  .btn-input:active {
    background-color: #00215b;
    color: #fff;
  }
  /* company */
  .sec-company {
    padding: 100px 5% 70px;
  }

  /* kaso-contact */
  .bg-blue-contact {
    border-radius: 0;
  }
  .fix:hover::before,.fix-2:hover::before {
    border-top: 2px solid #00b4ff;
    border-left: 2px solid #00b4ff;
  }
  .send:hover::after{
    border-top: 2px solid #00b4ff;
    border-right: 2px solid #00b4ff;
  }
  .fix:active::before,.fix-2:active::before {
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
  }
  .send:active::after{
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }

  /* kaso-design */
  .design-sec {
    padding: 100px 5% 0;
  }
  .design-list-dt {
    margin-right: 15px;
    width: 29%;
  }
  .design-list-dd {
    width: 60%;
  }
  .design-sec ul.jc-between {
    justify-content: center;
  }
  .design-sec .bd-dashed {
    width: 13%;
    top: -8px;
  }
  .design-sec .bd-dashed-none {
    width: 13%;
  }
  .design-sec ul li {
    font-size: .625rem;
  }
  .next-arw {
    right: -40px;
    bottom: 10px;
  }
  .prev-arw {
    left: -40px;
    top: 8px;
  }
  .prev-arw::before {
    top: -4px;
    left: 2px;
  }
  .next-arw::after {
    right: -2px;
    bottom: 2px;
  }

}


@media screen and (max-width:540px){
  .company-sp-flex {
    display: block;
  }
  .category {
    padding: 5px 3px;
  }
}