@charset "UTF-8";
/*
Reset
*/


figure, picture {
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
}

/* 上書き */
/* ____________________________________ */
.is-fixed {
  position: fixed;
  overflow-y: scroll;
  width: 100%;
}

* {
  line-height: 1.5;
}
p {
  margin-top: 16px;
  margin-bottom: 16px;
}
h2,h3 {
  margin-top: 28px;
  margin-bottom: 28px;
}
@media screen and (max-width: 767px) {
	.copyright {
			padding: 15px 3% 60px;
	}
}
.smartlife {
  margin-bottom: 80px;
}
.mainV img {
  width: 100%;
}
.map {
  padding-top: 0;
}
.design .design_wrap h2 {
  font-size: 24px;
}
.performance h1, 
.economic h1 ,
.design h1 {
  font-size: 57px;
  font-size: min(6vw,57px);
  font-weight: 700;
}
.performance h1 span, 
.economic h1 span,
.design h1  span{
  padding-bottom: 5px;
}
.performance h1 strong, 
.economic h1 strong,
.design h1  strong{
  letter-spacing: 0.3em;
  font-weight: bold;
}
.performance h1 {
  color: rgb(117,191,98);
}
.performance h1 span {
  border-bottom: 2px dashed rgb(117,191,98);
}
.economic h1 {
  color: #F39D56;
}
.economic h1 span {
  border-bottom: 2px dashed #F39D56;
}
.design h1 {
  color: #EE87B4;
}
.design h1 span {
  border-bottom: 2px dashed #EE87B4;
}


.fix_nav .bar_slide {
  position: absolute;
  top: 0;
  right: 100%;
  writing-mode: initial;
  overflow: hidden;
  transform: translateX(100%);
  transition: .3s ease;
  z-index: -1;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
@media screen and (min-width: 950px) {
  .fix_nav .btn3:hover > .bar_slide {
    transform: translateX(0);
    z-index: 1;
    opacity: 1;
    visibility: visible;
    pointer-events: initial;
  }
}
.fix_nav .bar_slide .slide_items {
  display: flex;
  gap: 10px;
} 
.fix_nav .bar_slide .slide_item {
  background: hsl(220deg, 70%, 95%);
  border: 1px solid hsl(220deg,100%,70%);
  border-radius: 10px;
  float: none;
  width: 216px;
}
.fix_nav .bar_slide .slide_item  a {
  color: #000;
  text-decoration: none;
  padding: 10px;
  display: block;
}
.fix_nav .bar_slide .slide_item .title {
  font-size: 12px;
  white-space: nowrap;
  writing-mode: initial;
  display: block;
  text-align: center;
}
.fix_nav .bar_slide .slide_item .title span {
  display: inline-block;
  font-weight: 500;
  text-align: left;
}
.fix_nav .bar_slide .slide_item .image {
  width: 150px;
  margin: 10px auto 0;
  display: block;
}
.fix_nav .bar_slide .slide_item .image img {
  width: 100%;
}
.btn_close {
  display: none;
} 
.bg-gray {
  display: none;
}
@media screen and (max-width: 959px) {
  
  .btn_close {
    display: block;
    position: fixed;
    top: 2%;
    right: 7%;
    transform: translate(0, 0);
    width: 50px;
    height: 50px;
  } 
  .btn_close span{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80%;
    height: 2px;
    background: #fff;
    color: #fff;
  }
  .btn_close span:nth-child(1){
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .btn_close span:nth-child(2){
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  
  .bg-gray.is-open {
    display: block;
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(0,0,0,0.4);
    z-index: 2;
  }
  .fix_nav .bar_slide {
    position: fixed;
    top: 50%;
    right: initial;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow: initial;
    transition: .3s ease;
    z-index: initial;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    height: 100vh;
    overflow-y: auto;
  }
  
  .fix_nav .bar_slide.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: initial;
    z-index: 1000;
  }
  .fix_nav .bar_slide .slide_items {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    position: relative;
    padding: 0 0 20px;
    margin: 30% auto 0;
    width: fit-content;
  } 
  .fix_nav .bar_slide .slide_item {
    background: hsl(220deg, 70%, 95%);
    border: 1px solid hsl(220deg,100%,70%);
    border-radius: 10px;
    float: none;
    width: 216px;
  }
  .fix_nav .bar_slide .slide_item  a {
    color: #000;
    text-decoration: none;
    padding: 10px;
    display: block;
  }
  .fix_nav .bar_slide .slide_item .title {
    font-size: 12px;
    white-space: nowrap;
    writing-mode: initial;
    display: block;
    text-align: center;
  }
  .fix_nav .bar_slide .slide_item .title span {
    display: inline-block;
    font-weight: 500;
    text-align: left;
  }
  .fix_nav .bar_slide .slide_item .image {
    width: 107px;
    margin: 10px auto 0;
    display: block;
  }
  .fix_nav .bar_slide .slide_item .image img {
    width: 100%;
  }
  
}

/* ____________________________________ */

*, *::before, *::after {
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}

/*
header-nav
*/
.header-nav {
  width: 100%;
}

.header-nav nav {
  padding-right: 5%;
  padding-left: 5%;
}

@media screen and (min-width: 1200px) {
  .header-nav nav {
    padding-right: 140px;
    padding-left: 140px;
  }
}

/*
  Common
  */
.section {
  text-align: center;
}

.section span {
  display: inline-block;
}

.section > * {
  margin-right: auto;
  margin-left: auto;
}

.section h1 {
  /* padding: 16px; */
  padding: 16px;
}

@media screen and (min-width: 960px) {
  .section h1 {
    /* padding-top: 32px; */
    padding-top: 32px;
  }
}

@media screen and (min-width: 1200px) {
  .section h1 {
    /* padding-top: 48px; */
    padding-top: 48px;
  }
}

.flex {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
  width: 100%;
  margin: 0 auto;
  margin-top: 50px;
  margin-bottom: 50px;
}

@media screen and (min-width: 960px) {
  .row_2 > * {
    width: 50%;
  }
  .row_2::after {
    display: block;
    content: "";
    width: 50%;
    height: 0;
  }
}

.row_5 > * {
  /* padding: 0.280px; */
  padding: 4px;
}

@media screen and (min-width: 960px) {
  .row_5 > * {
    width: 20%;
  }
}

.navbtn {
  width: 100%;
  max-width: 310px;
  min-width: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 30px;
  text-decoration: none;
  /* font-size: 19px; */
  font-size: 19px;
  height: 50px;
  margin: 0 auto;
 /* border-top: 2px solid rgba(255,255,255,0.2);*/
  border-bottom: 3px solid rgba(0,0,0,0.2);
}
.navbtn:hover{
  opacity:0.8;
  transform: translate(0,3px);
	border-bottom:none;
}
@media screen and (min-width: 960px) {
  .navbtn {
    /* font-size: 24px; */
    font-size: 24px;
  }
}

@media screen and (min-width: 1200px) {
  .navbtn {
    height:50px;
    /* font-size: 24px; */
    font-size: 24px;
    width: auto;
  }
}

.imagegallery > * {
  /* padding: 8px; */
  padding: 8px;
}

.imagegallery figure, .imagegallery picture {
  /* padding: 16px; */
  padding: 16px;
}

@media screen and (min-width: 960px) {
  .imagegallery figure, .imagegallery picture {
    position: relative;
    overflow: hidden;
    padding-top: 65%;
  }
  .imagegallery figure img, .imagegallery picture img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
  }
}

.lightblue_bg {
  background-color: #e9f6fe;
}

/*
* ColorPreset
*/
.blue {
  color: #5db7e9;
}

.blue_bg {
  background-color: #5db7e9;
}

.blue_bd {
  border-color: #5db7e9;
}

.white {
  color: #ffffff;
}

.white_bg {
  background-color: #ffffff;
}

.white_bd {
  border-color: #ffffff;
}

.green {
  color: #b5d781;
}

.green_bg {
  background-color: #b5d781;
}

.green_bd {
  border-color: #b5d781;
}

.orange {
  color: #f49950;
}

.orange_bg {
  background-color: #f49950;
}

.orange_bd {
  border-color: #f49950;
}

.pink {
  color: #ed86b5;
}

.pink_bg {
  background-color: #ed86b5;
}

.pink_bd {
  border-color: #ed86b5;
}

.navbtn_white {
  /*outline: 1px solid #5db7e9;*/
  color: #5db7e9;
  box-shadow: 0 0 0 1px #5db7e0;
}

.navbtn_blue {
  background-color: #5db7e9;
  color: #ffffff;
}

.navbtn_green {
  background-color: #b5d781;
  color: #ffffff;
}

.navbtn_orange {
  background-color: #f49950;
  color: #ffffff;
}

.navbtn_pink {
  background-color: #ed86b5;
  color: #ffffff;
}

.negative_top {
  /* margin-top: -16px; */
  margin-top: -16px;
}

/*
カード
*/
.card {
  /* margin: 8px auto; */
  margin: 8px auto;
  padding: 20px;
  max-width: 96%;
  margin-right: auto;
  margin-left: auto;
  text-align: left;
  position: relative;
}

@media screen and (min-width: 1024px) {
  .card {
    max-width: 960px;
  }
}

@media screen and (min-width: 1200px) {
  .card {
    max-width: 1200px;
    /* padding-right: 64px; */
    padding-right: 64px;
    /* padding-left: 64px; */
    padding-left: 64px;
  }
}

@media screen and (min-width: 1920px) {
  .card {
    max-width: 1500px;
     /* padding-right: 64px; */
     padding-right: 64px;
     /* padding-left: 64px; */
     padding-left: 64px;
  }
}

@media screen and (min-width: 960px) {
  .card {
    padding: 20px;
  }
}

.card h2 {
  width: 100%;
  font-size: 19px;
  line-height: 1.6;
  color: #5db7e9;
  display: flex;
  flex-direction: row;
  align-items: center;
}

.card h2 img {
  width: min(80px,10vw);
  height: min(80px,10vw);
  margin-right: 16px;
}

.card h2 span {
  display: flex;
  align-items: flex-end;
}

@media screen and (min-width: 960px) {
  .card h2 {
    height:96px;
    margin-top: 16px;
    margin-bottom: 16px;
  }
}

.card p {
  font-size: 15px;
  line-height: 1.6;
}

@media screen and (min-width: 1024px) {
  .card {
    display: flex;
    flex-flow: row wrap;
  }
  .card h2 {
    order: 1;
    font-size: 28px;
    font-size: min(3.7vw,28px);
  }
}

@media screen and (min-width: 1024px) and (min-width: 1920px) {
  .card h2 {
    font-size: 28px;
  }
}

@media screen and (min-width: 1024px) {
  .card h2 br {
    display: none;
  }
  .card_content {
    order: 2;
    padding-right: 64px;
    width: 60%;
  }
  .card_image {
    order: 3;
    width: 40%;
    display: flex;
    align-items: center;
  }
}

@media screen and (min-width: 1200px) {
  .card_content {
    width: 55%;
    padding-right: 64px;
  }
  .card_content p {
    width: auto;
  }
  .card_image {
    width: 45%;
    display: flex;
    align-items: center;
    top: 0;
    position: static;
  }
}

/*
* インナーボックス
*/
.inner {
  max-width: 96%;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (min-width: 1024px) {
  .inner {
    max-width: 960px;
  }
}

@media screen and (min-width: 1200px) {
  .inner {
    max-width: 1200px;
    padding-right: 64px;
    padding-left: 64px;
  }
}

@media screen and (min-width: 1920px) {
  .inner {
    max-width: 1500px;
    padding-right: 64px;
    padding-left: 64px;
  }
}

/*
*   ボックス
*/
.box {
  width: 95%;
  max-width:1100px;
  border-width: 2px;
  border-style: solid;
  margin-bottom: 32px;
  position: relative;
}

.box h2 {
  font-size: 28px;
  font-size: min(3.7vw,28px);
}

@media screen and (min-width: 1920px) {
  .box h2 {
    font-size: 28px;
  }
}

.box h3 {
  font-size: 28px;
  font-size: min(3.7vw,28px);
}

@media screen and (min-width: 1920px) {
  .box h3 {
    font-size: 28px;
  }
}

.box p {
  font-size: 16px;
  padding-left: 64px;
  padding-right: 64px;
  padding-left: min(5%,64px);
  padding-right: min(5%,64px);
  text-align: left;
}

.listbox {
  width: 90%;
  max-width: 96%;
  margin-right: auto;
  margin-left: auto;
  padding: 24px;
  text-align: left;
  border-radius: 20px;
  margin-bottom: 16px;
}

@media screen and (min-width: 1024px) {
  .listbox {
    max-width: 960px;
  }
}

@media screen and (min-width: 1200px) {
  .listbox {
    max-width: 1200px;
    padding-right: 64px;
    padding-left: 64px;
  }
}

@media screen and (min-width: 1920px) {
  .listbox {
    max-width: 1500px;
    padding-right: 64px;
    padding-left: 64px;
  }
}

.listbox dt {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  font-size: 4.1vw;
}

.listbox dt > span {
  display: inline-flex;
  margin-right: 8px;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 960px) {
  .listbox dt > span {
    margin-right: 16px;
  }
}

.listbox dt > p {
  margin: 0;
  line-height: 1;
  height: 4.2vw;
  display: flex;
  align-items: flex-end;
  font-weight: bold;
}

.listbox dt > span {
  width: 4.2vw;
  height: 4.2vw;
  font-size: 3.5vw;
  line-height: 1;
  border-radius: 2.1vw;
}

.listbox dt > span.digits2 {
  letter-spacing: -0.05em;
  text-indent: -0.1em;
}

@media screen and (min-width: 1024px) {
  .listbox dt {
    font-size: 24px;
    font-size: min(3.7vw,24px);
  }
}

@media screen and (min-width: 1024px) and (min-width: 1920px) {
  .listbox dt {
    font-size: 24px;
  }
}

@media screen and (min-width: 1024px) {
  .listbox dt > p {
    height: 24px;
  }
  .listbox dt > span {
    width: 32px;
    height: 32px;
    font-size: 24px;
    border-radius: 16px;
  }
}

.listbox dd {
  margin-left: 0;
  font-size: 16px;
}

@media screen and (min-width: 1024px) {
  .listbox dd {
    padding-left: 32px;
  }
}

/*
*   concept
*/
section.concept {
  text-align: center;
}

section.concept h1 {
  font-size: 4vw;
  padding-right: 0.32px;
  padding-left: 0.32px;
  font-size: 28px;
  font-size: min(4vw,28px);
}

@media screen and (min-width: 1920px) {
  section.concept h1 {
    font-size: 28px;
  }
}

section.concept p {
  padding-right: 16px;
  padding-left: 16px;
  font-size: 15px;
  font-size: min(4vw,16px);
}

@media screen and (min-width: 1920px) {
  section.concept p {
    font-size: 15px;
  }
}

/*
*   ５つの約束
*/
.promise {
  /*
    background: linear-gradient(#d8eaf8 20%, #ffffff 70%);
    @include mq(m){
        background: url(../images/ttl_promise_bg.jpg) repeat-x;
    }*/
  background: url(../images/ttl_promise_bg.jpg) repeat-x;
}

.promise__list {
  margin: 0 auto;
  width: 100%;
  font-size: 16px;
  text-align: left;
  list-style-type: none;
  list-style-position: inside;
  line-height: 1;
  color: #5db7e9;
  font-weight:bold;
  padding-right: 10px;
  padding-left: 10px;
}

@media screen and (min-width: 960px) {
  .promise__list {
    font-size: 28px;
  }
}

.promise__list li {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.promise__list li span {
  padding-top: 16px;
  padding-bottom: 16px;
}

.promise__list li img {
  width: 59px;
  height: 28px;
  margin-right: 16px;
}

@media screen and (min-width: 960px) {
  .promise__list li img {
    width: auto;
    height: auto;
  }
}

@media screen and (min-width: 640px) {
  .promise__list li {
    align-items: center;
    flex-direction: row;
    height: 64px;
    margin-bottom: 32px;
  }
  .promise__list li span {
    padding-bottom: 0;
  }
}

@media screen and (min-width: 1024px) {
  .promise__list {
    width: 1024px;
    padding-left: 80px;
  }
}

.performance {
  background: url(../images/ttl_performance_bg.jpg) repeat-x;
}

.performance__box {
  border-color: #b5d781;
}

.performance__box h2 {
  color: #fff;
  background-color: #b5d781;
  font-size: 28px;
  font-size: min(3.7vw,28px);
  margin: 0;
  text-align: left;
  display: flex;
  align-items: center;
}

@media screen and (min-width: 1920px) {
  .performance__box h2 {
    font-size: 28px;
  }
}

.performance__box h2 p {
  display: inline-block;
  margin: 0;
  padding-left: 16px;
  font-size: 28px;
  font-size: min(3.7vw,28px);
  border-left: 2px solid #fff;
}

@media screen and (min-width: 1920px) {
  .performance__box h2 p {
    font-size: 28px;
  }
}

.performance__box h2 span {
  display: inline-block;
  width:72px;
  text-align: center;
}

.performance__box h2 small {
  font-size: 15px;
  font-size: min(3vw,15px);
}

@media screen and (min-width: 1920px) {
  .performance__box h2 small {
    font-size: 15px;
  }
}

.performance__box h3 {
  font-size: 28px;
  font-size: min(3.7vw,28px);
}
.performance__box h3 small{
  font-size: 15px;
  font-size: min(3vw,15px);
}
@media screen and (min-width: 1920px) {
  .performance__box h3 {
    font-size: 28px;
  }
}

.performance__box figure, .performance__box picture {
  margin-bottom: 32px;
  padding-right: 16px;
  padding-left: 16px;
}

.performance__box figure figcaption, .performance__box picture figcaption {
  font-size: 31px;
  font-size: min(4.66vw,31px);
  font-weight: bold;
  text-align: left;
  display: flex;
  /*align-items: center;*/
  justify-content: center;
  width: fit-content;
  margin: 0 auto 51px;
  position: relative;
}
.performance__box figure figcaption span.small, .performance__box picture figcaption span.small {
  position: absolute;
  left: 17vw;
  bottom: 2vw;
  transform: translateY(2em);
  font-size: 60%;
}
.performance__box figure figcaption span.txt, .performance__box picture figcaption span.txt {
  font-size:15px;
  font-weight: normal;
  display: flex;
  align-items: center;
}
.performance__box figure figcaption.note, .performance__box picture figcaption.note {
  font-size: min(3.2vw,13px);
  font-weight: normal;
  margin: 1em auto 0;
  padding: 0;

}
.performance__box figure figcaption img, .performance__box picture figcaption img {
  width: 14vw;
  height: 14vw;
  margin-right: 3vw;
}

@media screen and (min-width: 960px) {
  .performance__box figure img.small, .performance__box picture img.small {
    width: 60%;
  }
  .performance__box figure img.middle, .performance__box picture img.middle {
    width: 75%;
  }
  .performance__box figure figcaption, .performance__box picture figcaption {
    font-size: min(1.86vw,31px);  
  }
  .performance__box figure figcaption span.txt, .performance__box picture figcaption span.txt {
    font-size:15px;
  }
  .performance__box figure figcaption.note, .performance__box picture figcaption.note {
    width: 60%;
  }
  .performance__box figure figcaption img, .performance__box picture figcaption img {
    width: 8vw;
    height: 8vw;
    margin-right:1.5vw;
  }
  .performance__box figure figcaption span.small, .performance__box picture figcaption span.small {
    left: 9.6vw;
    transform: translateY(1.4em);
  }
}
@media screen and (min-width: 1024px) {
  .performance__box figure figcaption, .performance__box picture figcaption {
    /* padding-left: 64px; */
    /* padding-right: 32px; */
  }
}
@media screen and (min-width: 1200px) {
  .performance__box figure figcaption, .performance__box picture figcaption {
    padding-right: 32px;
  }
  .performance__box figure figcaption img, .performance__box picture figcaption img {
    width: 128px;
    height: 128px;
    margin-right: 20px;
  }
  .performance__box figure figcaption span.small, .performance__box picture figcaption span.small {
    left: 148px;
  }
}

.performance__content {
  margin-bottom: 32px;
}

.performance__content h2 {
  background-color: #b5d781;
  color: #ffffff;
  font-size: 28px;
  font-size: min(3.7vw,28px);
  padding: 16px;
  margin-top: 48px;
  margin-bottom: 48px;
}

@media screen and (min-width: 1920px) {
  .performance__content h2 {
    font-size: 28px;
  }
}

@media screen and (min-width: 960px) {
  .performance__content h2 {
    padding:16px;
  }
}

.performance__content p {
  padding-right: 16px;
  padding-left: 16px;
  font-size: 16px;
}

/*
*経済効果
*/
.economic {
  background: url(../images/ttl_economic_bg.png) repeat-x;
}

.economic h1 {
  margin-bottom: 48px;
}

.economic__box {
  border-color: #f49950;
  padding-bottom: 16px;
  padding-right: 16px;
  padding-left: 16px;
}
.economic__box .inner{
  max-width: 100%;
}
.economic__box h2 {
  color: #f49950;
}

.economic__box h3 {
  margin-right: 0rem;
  margin-left: 8px;
}

@media screen and (min-width: 960px) {
  .economic__box h3 {
    margin-right: 0rem;
    margin-left: 0rem;
  }
}

.economic__box p {
  font-size: min(3.2vw,16px);
  text-align: center;
  padding-right: min(2.5%,32px);
  padding-left: min(2.5%,32px);
  text-align: center;
}
/*
*デザイン
*/
.design {
  background: url(../images/ttl_design_bg.png) repeat-x;
}

.design h1 {
  margin-bottom: 48px;
}

.design .design_wrap {
  max-width: 96%;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 64px;
}
.design .design_type figure.main {
  width: 80%;
  margin: auto;
}
.design .design_type figure.map {
  width: 90%;
  margin: auto;
}

@media screen and (min-width: 1024px) {
  .design .design_wrap {
    max-width: 960px;
  }
  .design .design_type figure.main {
    width: 60%;
    margin: auto;
  }
  .design .design_type figure.map {
    width: 80%;
    margin: auto;
  }
}

@media screen and (min-width: 1200px) {
  .design .design_wrap {
    max-width: 1200px;
    padding-right: 64px;
    padding-left: 64px;
  }
}

@media screen and (min-width: 1920px) {
  .design .design_wrap {
    max-width: 1500px;
    padding-right: 64px;
    padding-left: 64px;
  }
}

.design .design_wrap h2 {
  padding-right: 16px;
  padding-left: 16px;
}
.design .design_wrap h2 img{
  max-height:1.0em;
  width: auto;
  max-width: 100%;
}
.design .design_wrap p {
  font-size: 16px;
  font-size: min(3.5vw,16px);
}

@media screen and (min-width: 960px) {
  .design .design_wrap h2 img{
    /* max-height:2.2em; */
    max-height:52px;
  }
  .design .design_wrap p {
    font-size: 16px;
  }
}

.design .design_wrap > figure, .design .design_wrap picture {
  padding: 32px;
}

.design .design_wrap .imagegallery p {
  font-size:15px;
}

/*
*スマートな暮らし
*/
.smartlife h1 {
  font-size: 28px;
  font-size: min(3.7vw,28px);
  padding: 16px;
}

@media screen and (min-width: 1920px) {
  .smartlife h1 {
    font-size: 28px;
  }
}

@media screen and (min-width: 960px) {
  .smartlife img {
    max-width: 960px;
  }
}

.smartlife__wrap {
  max-width: 96%;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (min-width: 1024px) {
  .smartlife__wrap {
    max-width: 960px;
  }
}

@media screen and (min-width: 1200px) {
  .smartlife__wrap {
    max-width: 1200px;
    padding-right: 64px;
    padding-left: 64px;
  }
}

@media screen and (min-width: 1920px) {
  .smartlife__wrap {
    max-width: 1500px;
    padding-right: 64px;
    padding-left: 64px;
  }
}
/*# sourceMappingURL=style.css.map */

nav.fix_nav {
  position: fixed;
  right: 0;
  bottom: 0;
  display:flex;
  width: 100%;
  opacity: 0.95;
  z-index: 3;
}

nav.fix_nav > a{
  display:block;
  text-decoration:none;
  color: #fff;
  width: 50%;
  text-align: center;
  font-size: 4vw;
  line-height: 1;
  padding:4.5vw 0em 4.2vw 1.5em;
  background-repeat: no-repeat;
  background-size:1.3em auto;
  background-position: left 1.5vw center;
  font-weight: 400;
  display: flex;
  justify-content: center;
  align-items: center;
}
nav.fix_nav > div{
  display:block;
  text-decoration:none;
  color: #fff;
  width: 50%;
  text-align: center;
  font-size: 4vw;
  line-height: 1;
  padding:4.5vw 0em 4.2vw 1.5em;
  background-repeat: no-repeat;
  background-size:1.3em auto;
  background-position: left 1.5vw center;
  border-radius: 0;
  position: relative;
  font-weight: 400;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 959px) {
  nav.fix_nav > div > span{
     display: none;
  }
}

nav.fix_nav > a:first-of-type{
  background-color:#4aa9de;
  background-image:url(../images/fix_nav_icn1.png);
  border-radius: 0;
}
/* nav.fix_nav a:nth-child(2){
  background-color:#f49950;
  background-image:url(../images/fix_nav_icn2.png);
} */
nav.fix_nav > a:last-of-type{
  background-color:#8bc34a;
  background-image:url(../images/fix_nav_icn2.png);
  border-radius: 0;
}
nav.fix_nav > div{
  background-color:#f49950;
  background-image:url(../images/icon-house.svg);
}
main{
  margin-bottom:13.04vw;
}
@media screen and (min-width: 960px) {
  nav.fix_nav {
    top: 3vw;
    bottom:auto;
    flex-direction: column;
    width: auto;
    opacity: 1;
  }
  nav.fix_nav > a{
    width: auto;
    font-size: 16px;
    line-height: 1;
    writing-mode: tb-rl;
    padding:70px 18px 20px 16px;
    transition:0.3s;
    background-size: 1.5em auto;
    background-position: top 28px center;
    z-index: 2;
    position: relative;
    
  }  
  nav.fix_nav > div{
    width: auto;
    font-size: 16px;
    line-height: 1;
    writing-mode: tb-rl;
    padding:70px 18px 20px 16px;
    transition:0.3s;
    background-size: 1.5em auto;
    background-position: top 28px center;
    z-index: 2;
    position: relative;
   
  }  
  nav.fix_nav > a:first-of-type{
    border-radius: 5px 0 0 0;
  }
  nav.fix_nav > *:first-child{
    border-radius: 5px 0 0 0;
  }
  nav.fix_nav> a:last-of-type{
    border-radius: 0 0 0 5px; 
  }
  nav.fix_nav a:hover{
    opacity:0.7;
  }
  main{
    margin-bottom:initial;
  }  
}

/*Topに戻る*/
#js-pagetop{
  display: flex;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  position: fixed;
  bottom: 50px;
  right: 10px;
  background:rgba(0,0,0,0.7);
  color: #fff;
  align-items: center;
  justify-content: center;
  text-decoration: none;

}
.go_top{
  position: relative;
  top:5px;
  color: #fff;
}
.go_top::before{
  content:"";
  display: block;
  position: absolute;
  width:10px;
  height:10px;
  border-top:2px solid #fff;
  border-left:2px solid #fff;
  top:-5px;
  left:8px;
  transform:rotate(45deg);
}
@media screen and (min-width: 960px) {
  #js-pagetop{
    right: 60px;
  }

}