.clearfix::after, .l-function__plan::after, .l-function__in::after , .l-iot::after{
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

@font-face {
  font-family: 'js';
  font-weight: 300;
  font-style: normal;
  src: url("/spcontent/tomobataraki/font/JosefinSans-Regular.ttf") format("opentype");
}

@font-face {
  font-family: 'js';
  font-weight: 500;
  font-style: normal;
  src: url("/spcontent/tomobataraki/font/JosefinSans-SemiBold.ttf") format("opentype");
}

@font-face {
  font-family: 'js';
  font-weight: 700;
  font-style: normal;
  src: url("/spcontent/tomobataraki/font/JosefinSans-Bold.ttf") format("opentype");
}

@font-face {
  font-family: 'fm';
  font-weight: 100;
  font-style: normal;
  src: url("/spcontent/tomobataraki/font/Futura-Boo.ttf") format("opentype");
}

@font-face {
  font-family: 'fm';
  font-weight: 300;
  font-style: normal;
  src: url("/spcontent/tomobataraki/font/Futura-Med.ttf") format("opentype");
}

@font-face {
  font-family: 'fm';
  font-weight: 500;
  font-style: normal;
  src: url("/spcontent/tomobataraki/font/Futura-Bol.ttf") format("opentype");
}

@font-face {
  font-family: 'ns';
  font-weight: 300;
  font-style: normal;
  src: url("/spcontent/tomobataraki/font/NotoSansCJKjp-Medium.otf") format("opentype");
}

@font-face {
  font-family: 'ns';
  font-weight: 500;
  font-style: normal;
  src: url("/spcontent/tomobataraki/font/NotoSansCJKjp-Bold.otf") format("opentype");
}

.l-keyvisual {
  position: relative;
}

.l-keyvisual__pic {
  padding-right: 17.063492063492063vw;
}

@media (max-width: 1260px) {
  .l-keyvisual__pic {
    padding-right: 215px;
  }
}

@media (max-width: 767px) {
  .l-keyvisual__pic {
    padding-right: 0;
  }
}

.l-keyvisual__pic::before {
  content: "";
  display: block;
  padding-top: 66.66666666666666%;
  background: url(/spcontent/tomobataraki/images/point3/pic_keyvisual01.jpg) no-repeat;
  background-size: cover;
}

@media (max-width: 767px) {
  .l-keyvisual__pic::before {
    padding-top: 106.66666666666667%;
    background-image: url(/spcontent/tomobataraki/images/point3/pic_keyvisual01_sp.jpg);
  }
}

.l-keyvisual__txt {
  position: absolute;
  top: 6.25vw;
  left: 8.33333vw;
  background-color: rgba(255,255,255,0.5);
  padding: .8vw;
}

@media (max-width: 1260px) {
  .l-keyvisual__txt {
    top: 79px;
    left: 105px;
  }
}

@media (max-width: 767px) {
  .l-keyvisual__txt {
    top: 12vw;
    left: 8.66667vw;
  }
}

.l-keyvisual__sub {
  font-size: 1.11111vw;
  font-weight: bold;
  color: #333;
}

@media (max-width: 1260px) {
  .l-keyvisual__sub {
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .l-keyvisual__sub {
    font-size: 3.2vw;
  }
}

body.android .l-keyvisual__sub {
  font-weight: 500;
}

/*アイコン追加*/
.l-keyvisual__iot {
	margin-top:3.5vw;
	padding-left:3.4vw;
	position: relative;
}
p.l-keyvisual__iot:before {
	position: absolute;
	content: " ";
	display: inline-block;
	width: 3.2em;
	height: 3.2em;
	background-image: url("/spcontent/tomobataraki/images/icon_iot.svg") ; 
	background-size: contain;
	vertical-align: middle;	
	background-repeat: no-repeat;
	top:0;
	left:0;
}

@media (max-width: 1260px) {
	.l-keyvisual__iot {
	padding-left:43px;
	position: relative;
  margin-top: 44.1px;
}
}

@media (max-width: 767px) {
	.l-keyvisual__iot {
 font-size: 3.2vw;
margin-top:10.3vw;
	padding-left:11.8vw;
	position: relative;
}
}


.l-keyvisual h1 {
  width: 20.48611vw;
  height: 2.08333vw;
  margin-top: 1.04167vw;
}

@media (max-width: 1260px) {
  .l-keyvisual h1 {
    width: 258px;
    height: 25px;
    margin-top: 13px;
  }
}

@media (max-width: 767px) {
  .l-keyvisual h1 {
    width: 57.33333vw;
    height: 5.86667vw;
    margin-top: 4vw;
  }
}

.l-keyvisual__n {
  position: relative;
  z-index: 1;
  margin-top: 10px;
  padding: 0 17.063492063492063vw 0 3.1746031746031744vw;
}

@media (max-width: 1260px) {
  .l-keyvisual__n {
    padding: 0 215px 0 40px;
  }
}

@media (max-width: 767px) {
  .l-keyvisual__n {
    padding: 0 8.66667vw;
  }
}

.l-part {
  position: relative;
  padding: 6.25vw 0 0 58.68056vw;
}

@media (max-width: 1260px) {
  .l-part {
    padding: 78px 0 0 740px;
  }
}

@media (max-width: 767px) {
  .l-part {
    padding: 16vw 8.66667vw 40vw;
  }
}

.l-part h2 {
  width: 30.06944vw;
  height: 5.55556vw;
}

@media (max-width: 1260px) {
  .l-part h2 {
    width: 379px;
    height: 70px;
  }
}

@media (max-width: 767px) {
  .l-part h2 {
    width: 80.26667vw;
    height: 15.73333vw;
  }
}

.l-part__txt {
  font-size: 1.11111vw;
  line-height: 2;
  width: 29.86111vw;
  margin-top: 2.08333vw;
}

@media (max-width: 1260px) {
  .l-part__txt {
    font-size: 14px;
    width: 376px;
    margin-top: 25px;
  }
}

@media (max-width: 767px) {
  .l-part__txt {
    font-size: 3.2vw;
    width: auto;
    margin-top: 6.66667vw;
  }
}

.l-part .l-part__thinkBox {
  position: absolute;
  top: -10.41667vw;
  left: -0.55556vw;
  width: 44.44444vw;
  height: 34.86111vw;
  border: 0.55556vw solid #f5cfcc;
}

@media (max-width: 1260px) {
  .l-part .l-part__thinkBox {
    top: -131px;
    left: -7px;
    width: 560px;
    height: 439px;
    border: 7px solid #f5cfcc;
  }
}

@media (max-width: 767px) {
  .l-part .l-part__thinkBox {
    top: auto;
    bottom: 0;
    left: -0.93333vw;
    width: 85.33333vw;
    height: 32vw;
    border: 0.93333vw solid #f5cfcc;
  }
}

.l-part .l-part__thinkBox p {
  position: absolute;
  bottom: 2.77778vw;
  left: 9.16667vw;
  width: 19.65278vw;
  height: 6.11111vw;
}

@media (max-width: 1260px) {
  .l-part .l-part__thinkBox p {
    bottom: 35px;
    left: 115px;
    width: 247px;
    height: 77px;
  }
}

@media (max-width: 767px) {
  .l-part .l-part__thinkBox p {
    bottom: 7.33333vw;
    left: 8.66667vw;
    width: 56.4vw;
    height: 17.33333vw;
  }
}

.l-life {
  position: relative;
  height: 42.15278vw;
  margin-top: 8.33333vw;
}

@media (max-width: 1260px) {
  .l-life {
    height: 531px;
    margin-top: 105px;
  }
}

@media (max-width: 767px) {
  .l-life {
    height: auto;
    margin-top: 16vw;
  }
}

.l-life__pic {
  width: 63.19444vw;
  height: 42.08333vw;
  margin-left: auto;
  background: url(/spcontent/tomobataraki/images/point3/pic_life01.jpg) no-repeat;
  background-size: contain;
}

@media (max-width: 1260px) {
  .l-life__pic {
    width: 796px;
    height: 530px;
  }
}

@media (max-width: 767px) {
  .l-life__pic {
    width: 100vw;
    height: 66.66667vw;
  }
}

.l-life .l-txtBox {
  top: 6.94444vw;
  left: 8.68056vw;
}

@media (max-width: 1260px) {
  .l-life .l-txtBox {
    top: 87px;
    left: 109px;
  }
}

@media (max-width: 767px) {
  .l-life .l-txtBox {
    position: relative;
    top: auto;
    left: auto;
    margin: 16vw 0 0 8.66667vw;
  }
}

.l-life .l-txtBox h3 {
  width: 22.56944vw;
  height: 1.52778vw;
}

@media (max-width: 1260px) {
  .l-life .l-txtBox h3 {
    width: 284px;
    height: 19px;
  }
}

@media (max-width: 767px) {
  .l-life .l-txtBox h3 {
    width: 64.8vw;
    height: 4.4vw;
  }
}

@media (max-width: 767px) {
  .l-life .l-txtBox__lead {
    padding-right: 18vw;
  }
}

.l-family {
  position: relative;
  height: 75vw;
  margin-top: 8.33333vw;
  padding: 1.73611vw 0 0 50vw;
}

@media (max-width: 1260px) {
  .l-family {
    height: 945px;
    margin-top: 105px;
    padding: 21px 0 0 630px;
  }
}

@media (max-width: 767px) {
  .l-family {
    height: auto;
    margin-top: 14vw;
    padding: 73.33333vw 0 0 0;
  }
}

.l-family::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 46.38889vw;
  height: 100%;
  content: '';
  background-color: #f9d8d4;
}

@media (max-width: 1260px) {
  .l-family::before {
    width: 584px;
  }
}

@media (max-width: 767px) {
  .l-family::before {
    width: 82.66667vw;
    height: 132vw;
  }
}

.l-family__pic {
  position: absolute;
  top: 18.40278vw;
  left: 0;
  width: 91.66667vw;
  height: 50vw;
  background: url(/spcontent/tomobataraki/images/point3/pic_family01.jpg) no-repeat;
  background-size: contain;
}

@media (max-width: 1260px) {
  .l-family__pic {
    top: 232px;
    width: 1155px;
    height: 630px;
  }
}

@media (max-width: 767px) {
  .l-family__pic {
    top: 6.66667vw;
    width: 100vw;
    height: 54.66667vw;
  }
}

.l-family .l-txtBox {
  position: relative;
  width: auto;
}

@media (max-width: 767px) {
  .l-family .l-txtBox {
    padding: 0 4.66667vw;
  }
}

.l-family .l-txtBox h3 {
  width: 18.68056vw;
  height: 1.52778vw;
  margin-top: 20px;
}

@media (max-width: 1260px) {
  .l-family .l-txtBox h3 {
    width: 235px;
    height: 19px;
    margin-top: 17px;
  }
}

@media (max-width: 767px) {
  .l-family .l-txtBox h3 {
    width: 54.53333vw;
    height: 4.4vw;
    margin-top: 4vw;
  }
}

.l-commu {
  margin-top: 145px;
}

.l-commu__pic {
  width: 100vw;
  height: 50vw;
  background: url(/spcontent/tomobataraki/images/point3/pic_commu01.jpg) no-repeat;
  background-size: contain;
}

@media (max-width: 1260px) {
  .l-commu__pic {
    width: 1260px;
    height: 630px;
  }
}

@media (max-width: 767px) {
  .l-commu__pic {
    width: 100vw;
    height: 50vw;
  }
}

.l-commu .l-txtBox {
  position: relative;
  width: auto;
  margin: 4.86111vw 0 0 8.33333vw;
}

@media (max-width: 1260px) {
  .l-commu .l-txtBox {
    margin: 61px 0 0 105px;
  }
}

@media (max-width: 767px) {
  .l-commu .l-txtBox {
    margin: 12vw 8.66667vw 0;
  }
}

.l-commu .l-txtBox h3 {
  width: 20.69444vw;
  height: 1.52778vw;
  margin-top: 20px;
}

@media (max-width: 1260px) {
  .l-commu .l-txtBox h3 {
    width: 260px;
    height: 19px;
    margin-top: 17px;
  }
}

@media (max-width: 767px) {
  .l-commu .l-txtBox h3 {
    width: 59.46667vw;
    height: 4.4vw;
    margin-top: 4vw;
  }
}

.l-place {
  position: relative;
  box-sizing: border-box;
  height: 41.66667vw;
  margin: 6.94444vw 0 23.61111vw 8.33333vw;
  padding: 10.41667vw 0 0 47.22222vw;
  background-color: #fbdad5;
}

@media (max-width: 1260px) {
  .l-place {
    height: 525px;
    margin: 87px 0 297px 105px;
    padding: 131px 0 0 595px;
  }
}

@media (max-width: 767px) {
  .l-place {
    height: auto;
    margin: 13.33333vw 8.66667vw 0;
    padding: 5.33333vw 0 0 0;
    background-color: transparent;
  }
  .l-place::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 91.33333vw;
    height: 80vw;
    content: '';
    background-color: #fbdad5;
  }
}

.l-place__pic {
  position: absolute;
  top: 2.77778vw;
  left: 0;
  width: 36.11111vw;
  height: 54.16667vw;
  background: url(/spcontent/tomobataraki/images/point3/pic_place01.jpg) no-repeat;
  background-size: contain;
}

@media (max-width: 1260px) {
  .l-place__pic {
    top: 35px;
    width: 455px;
    height: 682px;
  }
}

@media (max-width: 767px) {
  .l-place__pic {
    position: relative;
    top: auto;
    left: auto;
    width: 69.33333vw;
    height: 104vw;
  }
}

@media (max-width: 767px) {
  .l-place .l-txtBox {
    position: relative;
    margin-top: 14.66667vw;
  }
}

.l-function {
  position: relative;
  margin: 0 8.33333vw;
  padding: 0.34722vw 0;
  border-top: 1 solid #000;
  border-bottom: 1 solid #000;
}

@media (max-width: 1260px) {
  .l-function {
    margin: 0 105px;
    padding: 4px 0;
  }
}

@media (max-width: 767px) {
  .l-function {
    margin: 17.33333vw 8.66667vw 0;
    padding: 1.06667vw 0;
  }
}

.l-function__in {
  padding: 5.55556vw 6.25vw;
  border-top: 1 solid #000;
  border-bottom: 1 solid #000;
}

@media (max-width: 1260px) {
  .l-function__in {
    padding: 70px 78px;
  }
}

@media (max-width: 767px) {
  .l-function__in {
    padding: 12vw 0;
  }
}

.l-function h2 {
  width: 30.27778vw;
  height: 1.59722vw;
  margin: 20px auto 0;
}

@media (max-width: 1260px) {
  .l-function h2 {
    width: 235px;
    height: 19px;
    margin-top: 17px;
  }
}

@media (max-width: 767px) {
  .l-function h2 {
    width: 50vw;
    height: 11.73333vw;
    margin-top: 4vw;
  }
}

.l-function__plan {
  width: 75vw;
  margin: 3.47222vw auto 0;
}

@media (max-width: 1260px) {
  .l-function__plan {
    width: 945px;
    margin: 44px auto 0;
  }
}

@media (max-width: 767px) {
  .l-function__plan {
    width: auto;
    margin: 0;
  }
}

.l-function__plan > div {
  float: left;
  width: 20.83333vw;
  padding: 0 2.08333vw;
}

@media (max-width: 1260px) {
  .l-function__plan > div {
    width: 263px;
    padding: 0 26px;
  }
}

@media (max-width: 767px) {
  .l-function__plan > div {
    float: none;
    width: auto;
    padding: 0;
  }
}

.l-function__plan > div:first-child {
  padding-left: 0;
}

.l-function__plan > div:last-child {
  padding-right: 0;
}

.l-function__plan h3 {
  font-size: 1.11111vw;
  font-weight: bold;
  position: relative;
  margin-top: 2.08333vw;
  padding: 0.34722vw 0 0.34722vw 2.08333vw;
  border-left: 1px solid #101010;
}

body.android .l-function__plan h3 {
  font-weight: 500;
}

@media (max-width: 1260px) {
  .l-function__plan h3 {
    font-size: 14px;
    margin-top: 25px;
    padding: 4px 0 4px 25px;
  }
}

@media (max-width: 767px) {
  .l-function__plan h3 {
    font-size: 3.46667vw;
    margin-top: 5.33333vw;
    padding: 0.66667vw 0 0.66667vw 6vw;
  }
}

.l-function__plan__pic, .l-function__plan__pic--1, .l-function__plan__pic--2, .l-function__plan__pic--3, .l-function__plan__pic--4, .l-function__plan__pic--5, .l-function__plan__pic--6 {
  width: 20.83333vw;
  height: 13.88889vw;
  background-repeat: no-repeat;
  background-size: contain;
}

@media (max-width: 1260px) {
  .l-function__plan__pic, .l-function__plan__pic--1, .l-function__plan__pic--2, .l-function__plan__pic--3, .l-function__plan__pic--4, .l-function__plan__pic--5, .l-function__plan__pic--6 {
    width: 262px;
    height: 175px;
  }
}

@media (max-width: 767px) {
  .l-function__plan__pic, .l-function__plan__pic--1, .l-function__plan__pic--2, .l-function__plan__pic--3, .l-function__plan__pic--4, .l-function__plan__pic--5, .l-function__plan__pic--6 {
    width: 82.66667vw;
    height: 54.93333vw;
    margin-top: 10.66667vw;
  }
}

.l-function__plan__pic--1 {
  background-image: url(/spcontent/tomobataraki/images/point3/pic_function01.jpg);
}

.l-function__plan__pic--2 {
  background-image: url(/spcontent/tomobataraki/images/point3/pic_function02.jpg);
}

.l-function__plan__pic--3 {
  background-image: url(/spcontent/tomobataraki/images/point3/pic_function03.jpg);
}

.l-function__plan__pic--4 {
  background-image: url(/spcontent/tomobataraki/images/point3/pic_function04.jpg);
}

.l-function__plan__pic--5 {
  background-image: url(/spcontent/tomobataraki/images/point3/pic_function05.jpg);
}

.l-function__plan__pic--6 {
  background-image: url(/spcontent/tomobataraki/images/point3/pic_function06.jpg);
}

.l-function__plan__txt {
  font-size: 1.11111vw;
  margin-top: 2.08333vw;
}

@media (max-width: 1260px) {
  .l-function__plan__txt {
    font-size: 14px;
    margin-top: 26px;
  }
}

@media (max-width: 767px) {
  .l-function__plan__txt {
    font-size: 3.2vw;
    margin-top: 3.46667vw;
  }
}

.l-txtBox {
  position: absolute;
  width: 27.77778vw;
}

@media (max-width: 1260px) {
  .l-txtBox {
    width: 350px;
  }
}

@media (max-width: 767px) {
  .l-txtBox {
    width: auto;
  }
}

.l-txtBox__sub {
  font-weight: bold;
}

body.android .l-txtBox__sub {
  font-weight: 500;
}

.l-txtBox h3 {
  margin-top: 20px;
}

@media (max-width: 1260px) {
  .l-txtBox h3 {
    margin-top: 17px;
  }
}

@media (max-width: 767px) {
  .l-txtBox h3 {
    margin-top: 4vw;
  }
}

.l-txtBox__lead {
  font-size: 1.11111vw;
  line-height: 2;
  margin-top: 2.77778vw;
}

@media (max-width: 1260px) {
  .l-txtBox__lead {
    font-size: 14px;
    margin-top: 35px;
  }
}

@media (max-width: 767px) {
  .l-txtBox__lead {
    font-size: 3.2vw;
    margin-top: 6.66667vw;
  }
}

/*tuika */

.l-iot {
  margin-top: 6.94444vw;
	margin-bottom: 6vw;
}

@media (max-width: 1260px) {
  .l-iot  {
    margin-top: 87px;
  }
}

@media (max-width: 767px) {
  .l-iot  {
    margin-top: 12vw;
  }
}

.l-iot  h2 {
  width: 52.19444vw;
  margin: 0 auto;
}

@media (max-width: 1260px) {
  .l-iot  h2 {
    width: 640px;
  }
}

@media (max-width: 767px) {
  .l-iot h2 {
    width: 88.66667vw;
  }
}

.l-iot__tbl--1 {
  margin-top: 6.94444vw;
	margin-bottom: 6vw;
}

@media (max-width: 1260px) {
  .l-iot__tbl--1 {
    margin-top: 87px;
  }
}

@media (max-width: 767px) {
  .l-iot__tbl--1 {
    margin-top: 10vw;
  }
}

.l-iot__tbl--1 > div:first-child {
  float: right;
}

@media (max-width: 767px) {
  .l-iot__tbl--1 > div:first-child {
    float: none;
  }
}

.l-iot__tbl--1 > div:last-child {
  float: left;
}

@media (max-width: 767px) {
  .l-iot__tbl--1 > div:last-child {
    float: none;
  }
}

.l-iot__tbl--1 .l-iot__tbl__pic {
  width: 100%;
  height: 34.72222vw;
  background: url(/spcontent/tomobataraki/images/point3/pic_iot_05.jpg) 0 100% no-repeat;
  background-size: contain;
}

@media (max-width: 1260px) {
  .l-iot__tbl--1 .l-iot__tbl__pic {
    height: 440px;
  }
}

@media (max-width: 767px) {
  .l-iot__tbl--1 .l-iot__tbl__pic {
    height: 69.33333vw;
  }
}

@media (max-width: 767px) {
  .l-iot__tbl--2 {
    margin-top: 12vw;
  }
}

.l-iot__tbl--2 > div:first-child {
  float: left;
}

@media (max-width: 767px) {
  .l-iot__tbl--2 > div:first-child {
    float: none;
  }
}

.l-iot__tbl--2 > div:last-child {
  float: right;
}

@media (max-width: 767px) {
  .l-iot__tbl--2 > div:last-child {
    float: none;
  }
}

.l-iot__tbl--2 .l-iot__tbl__pic {
  width: 100%;
  height: 34.72222vw;
  background: url(/spcontent/tomobataraki/images/point2/pic_coziness02.jpg) no-repeat;
  background-size: contain;
}

@media (max-width: 1260px) {
  .l-iot__tbl--2 .l-iot__tbl__pic {
    height: 440px;
  }
}

@media (max-width: 767px) {
  .l-iot__tbl--2 .l-iot__tbl__pic {
    height: 69.33333vw;
    background-image: url(/spcontent/tomobataraki/images/point2/pic_coziness02_sp.jpg);
  }
}

.l-iot__tbl > div, .l-iot__tbl--1 > div, .l-iot__tbl--2 > div {
  width: 50%;
  height: 34.72222vw;
  vertical-align: top;
}

@media (max-width: 1260px) {
  .l-iot__tbl > div, .l-iot__tbl--1 > div, .l-iot__tbl--2 > div {
    height: 440px;
  }
}

@media (max-width: 767px) {
  .l-iot__tbl > div, .l-iot__tbl--1 > div, .l-iot__tbl--2 > div {
    width: auto;
    height: auto;
  }
}

.l-iot__tbl__descript {
  padding: 9.72222vw 0 0 8.33333vw;
}

@media (max-width: 1260px) {
  .l-iot__tbl__descript {
    padding: 122px 0 0 105px;
  }
}

@media (max-width: 767px) {
  .l-iot__tbl__descript {
    padding: 5.33333vw 8.66667vw 0;
  }
}

.l-iot__tbl__descript__title--1 {
  width: 28.09722vw;
}

@media (max-width: 1260px) {
  .l-iot__tbl__descript__title--1 {
    width: 303px;
    height: 20px;
  }
}

@media (max-width: 767px) {
  .l-iot__tbl__descript__title--1 {
    width:75.46667vw;
  }
}

.l-iot__tbl__descript__title--2 {
  width: 23.70833vw;
}

@media (max-width: 1260px) {
  .l-iot__tbl__descript__title--2 {
    width: 349px;
    height: 20px;
  }
}

@media (max-width: 767px) {
  .l-iot__tbl__descript__title--2 {
    width: 69.73333vw;
  }
}

.l-iot__tbl__descript__txt {
  line-height: 2;
  margin-top: 2.77778vw;
margin-bottom: 2vw;
}

@media (max-width: 1260px) {
  .l-iot__tbl__descript__txt {
    margin-top: 35px;
  }
}

@media (max-width: 767px) {
  .l-iot__tbl__descript__txt {
    margin-top: 4vw;
  }
}