@charset "utf-8";
/* CSS Document */
.noto-sans-jp-<uniquifier > {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
body {
  font-family: "Noto Sans JP", sans-serif;
}
.fb {
  display: flex;
}
.fdc {
  flex-direction: column;
}
.fb .ai-center {
  align-items: center;
}
.fb.ai-stretch {
  align-items: stretch;
}
.jc-sb {
  justify-content: space-between;
}
.jc-c {
  justify-content: center;
}
.br-sp {
  display: none;
}
.b-copy p {
  color: #4778b6;
  font-size: 36px;
  font-size: 3.6rem;
  font-weight: bold;
}
.b-copy p span {
  font-size: 70px;
  font-size: 7.0rem;
}

@media (max-width:767px) {
  .br-sp {
    display: block;
  }
  .b-copy {
    text-align: center;
    margin-bottom: 30px;
  }
}
.main-copy {
  font-size: 36px;
  font-size: 3.6rem;
  font-weight: 600;
  margin: 80px 0 100px;
  color: #ffc000;
  text-align: center;
}
.scene-no, .scene-box {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-around;
}
.scene-no {
  margin-bottom: 30px;
  background: url("ol-b_img/scene-no_bg.jpg") no-repeat;
  background-position: center;
}
.circle {
  background: #ffc000;
  height: 80px;
  width: 80px;
  border-radius: 50%;
  font-size: 34px;
  font-size: 3.4rem;
  font-weight: 600;
  line-height: 1;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  box-shadow: 0px 3px 6px 1px rgba(50, 50, 50, 0.25);
}
.circle .stxt {
  font-size: 16px;
  font-size: 1.6rem;
}
a.fukidasi {
  width: 31%;
  position: relative;
  display: inline-block;
  padding: 15px;
  border: 3px solid #ffc000;
  border-radius: 20px;
  box-sizing: border-box;
  text-decoration: none;
  color: #000000;
  transition-duration: 0.3s; /*動く時間(なめらかになる)*/
}

.fukidasi img{
	width: 100%;
}
a.fukidasi:hover {
  transform: scale(1.03); /*拡大*/
}
.fukidasi:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  border-style: solid;
  border-width: 0 9px 20px 9px;
  border-color: transparent transparent #ffc000;
  translate: -50% -100%;
}
.fukidasi:after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  border-style: solid;
  border-width: 0 6px 14px 6px;
  border-color: transparent transparent #ffffff;
  translate: -50% -100%;
}
.scene-box .title {
  font-size: 24px;
  font-size: 2.4rem;
  text-align: center;
  padding-bottom: 15px;
  margin-bottom: 10px;
  color: #ffc000;
  border-bottom: 3px solid #ffd966;
}
.scene-box .copy {
  text-align: center;
  font-size: 20px;
  font-size: 2.0rem;
  font-weight: 600;
}
.scene-box .copy span {
  display: block;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 400;
}
.scene-box .img {
  text-align: center;
  margin: 20px 0;
}
.scene-box .txt {
  font-size: 16px;
  font-size: 1.6rem;
}
.sb-circle {
  display: none;
}
@media (max-width:767px) {
  .main-copy {
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 600;
    margin: 80px 0 50px;
  }
  .scene-box {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
  }
  a.fukidasi {
    width: 100%;
    margin-bottom: 30px;
    padding: 10px;
  }
  .scene-no {
    display: none;
  }
  .sb-circle {
    background: #ffc000;
    height: 80px;
    width: 80px;
    border-radius: 50%;
    font-size: 34px;
    font-size: 3.4rem;
    font-weight: 600;
    line-height: 1;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    box-shadow: 0px 3px 6px 1px rgba(50, 50, 50, 0.25);
    margin: 0 auto 20px;
  }
  .sb-circle .stxt {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .scene-box .img img {
    width: 100%;
  }
}
.scene-title {
  font-size: 30px;
  font-size: 3.0rem;
  font-weight: 600;
  color: #f5a700;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("ol-b_img/scene-title_bg.jpg") no-repeat;
  background-position: 50% 92%;
  margin-bottom: 50px;
}
.st-circle {
  color: #090909;
  background: #ffc000;
  height: 80px;
  width: 80px;
  border-radius: 50%;
  font-size: 34px;
  font-size: 3.4rem;
  font-weight: 600;
  line-height: 1;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  box-shadow: 0px 3px 6px 1px rgba(50, 50, 50, 0.25);
  margin: 0 10px;
}
.st-circle .stxt {
  font-size: 16px;
  font-size: 1.6rem;
}
@media (max-width:767px) {
  .scene-title {
    font-size: 20px;
    font-size: 2.0rem;
    margin-bottom: 20px;
  }
  .st-circle {
    height: 60px;
    width: 60px;
    font-size: 28px;
    font-size: 2.8rem;
  }
  .st-circle .stxt {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
.mb120 {
  margin-bottom: 120px;
}
.s1copy-1 {
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 600;
}
.s1copy-2 {
  font-size: 20px;
  font-size: 2.0rem;
  font-weight: 400;
}
.s1copy-3, .s1copy-5 {
  font-size: 48px;
  font-size: 4.8rem;
  font-weight: 800;
}
.s1copy-3 span.stxt {
  font-size: 36px;
  font-size: 3.6rem;
}
.s1copy-4 {
  font-size: 32px;
  font-size: 3.2rem;
}
.s1copy-4 span {
  font-size: 24px;
  font-size: 2, 4rem;
}
.redtext {
  color: #ff0054;
}
@media (max-width:767px) {
  .s1copy-1 {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .s1copy-2 {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .s1copy-3, .s1copy-5 {
    font-size: 48px;
    font-size: 3.0rem;
    font-weight: 800;
  }
  .s1copy-3 span.stxt {
    font-size: 20px;
    font-size: 2.0rem;
  }
  .s1copy-4 {
    font-size: 24px;
    font-size: 2.4rem;
  }
  .s1copy-4 span {
    font-size: 24px;
    font-size: 2, 4rem;
  }
  .redtext {
    color: #ff0054;
  }
}
.o-box {
  margin: 100px auto 50px;
  max-width: 1000px;
  position: relative;
  background: url("ol-b_img/scene01_img05_oboxbg.png")no-repeat;
  background-position: right bottom;
  padding: 30px;
  border-radius: 20px;
  box-sizing: border-box;
}
.o-box .img {
  position: absolute;
  right: 15px;
  bottom: 0px;
}
.o-box .ltxt {
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 600;
}
.o-box .stxt {
  font-size: 20px;
  font-size: 2.0rem;
  font-weight: 400;
}
@media (max-width:767px) {
  .o-box {
	  padding: 15px;
    margin: 50px auto 50px;
    max-width: 1000px;
    border-radius: 15px;
    background-position: left bottom;
  }
  .o-box .ltxt {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .o-box .stxt {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .o-box .img {
    display: none;
  }
}
.scene1-txt1 {
  font-size: 20px;
  font-size: 2.0rem;
}
.scene1-txt1 span {
  color: #FF0004;
}

@media (max-width:767px) {
	.scene1-txt1 {
  font-size: 16px;
  font-size: 1.6rem;	
}
}
.scene-box2 {
  max-width: 1000px;
  padding: 20px;
  border-radius: 20px;
  box-sizing: border-box;
  background: #eceef1;
  margin: 50px auto 20px;
}
.w32 {
  width: 32%;
}
.w32 img {
  width: 100%;
}


	
	

.scene-box2 .txt {
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.4;
}
.scene-box2 .txt span {
  font-size: 20px;
  font-size: 2.0rem;
}
.st-box {
  color: #090909;
  background: #ffffff;
  height: 90px;
  width: 90px;
  border-radius: 10px;
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1.2;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  box-shadow: 0px 3px 6px 1px rgba(50, 50, 50, 0.25);
  margin: 0 20px 0 0;
}
.st-box .stxt {
  font-size: 22px;
  font-size: 2.2rem;
}

@media (max-width:767px) {
	.w32 {
  width: 100%;
		margin-bottom: 10px;
}
	
	.w32:last-child{
		margin-bottom: 0;
	}
	.st-box{
		margin-bottom: 20px;
	}
	
	.scene-box2 .txt {
  font-size: 18px;
  font-size: 1.8rem;
}
.scene-box2 .txt span {
  font-size: 14px;
  font-size: 1.4rem;
}

}

.scene2-txt1{
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: 600;
	text-align: center;
	margin-bottom: 50px;
}

.nayami-box {
  max-width: 1000px;
  padding: 20px;
  border-radius: 20px;
  box-sizing: border-box;
  background: url("ol-b_img/scene02_nayamibg.png") repeat-x top;
  margin: 50px auto 20px;
}

.nayami-copy{
	color: #4d4a45;
	font-size: 30px;
	font-size: 3.0rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 30px;
}
.w35 {
  width: 35%;
	box-sizing: border-box;
}
.w35 img {
  width: 100%;
}

.nayami-box div.w35 img {
  width: 100%;
	box-shadow: 0px 3px 6px 1px rgba(50, 50, 50, 0.25);}

.w28{
	width: 28%;
	text-align: center;
		padding: 0 20px;
	box-sizing: border-box;
}


.nayami-box .txt,.rb-txt {
  font-size: 20px;
  font-size: 2.0rem;
	color: #FFFFFF;
  font-weight: 600;
	background: #ff3e50;
	padding: 10px;
	border-radius: 10px;
	text-align: center;
}

.nayami-circle {
  color: #ffffff;
  background: #ff3e50;
  height: 50px;
  width: 50px;
  border-radius: 50%;
  font-size: 3px;
  font-size: 3.0rem;
  font-weight: 600;
  line-height: 1;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  margin: 0 15px 0 30px;
}

.nayami-txt{
	font-size: 16px;
	font-size: 1.6rem;
}

.nayami-txt span{
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: 600;
	color:#ff3e50; 
}


@media (max-width:767px) {
	.scene2-txt1{
	font-size: 20px;
	font-size: 2.0rem;
	margin-bottom: 30px;
}
	
	.nayami-copy{
	font-size: 16px;
	font-size: 1.6rem;
	margin-bottom: 30px;
}
	
	.w35,.w28 {
  width: 100%;
}
	
		.w35{
			margin-bottom: 30px;
}
	
	.nayami-circle {
  height: 40px;
  width: 40px;
  font-size: 20px;
  font-size: 2.0rem;
  margin: 0;
		margin-right: 10px;
}
	
	.nayami-txt{
	font-size: 12px;
	font-size: 1.2rem;
}

.nayami-txt span{
	font-size: 16px;
	font-size: 1.6rem;
}
	
	.nayami-box .txt,.rb-txt {
  font-size: 16px;
  font-size: 1.6rem;
	padding: 10px 5px;

}
	
	.w28 img{
		width: 80%;
	}



	
}


.r-box {
  margin: 50px auto;
  max-width: 1000px;
  position: relative;
	border: 3px solid #ff2b3f;
  padding: 10px 20px 20px;
  border-radius: 10px;
  box-sizing: border-box;
}
.r-box .img {
  position: absolute;
  right: 20px;
  bottom: 0px;
}
.r-box .ltxt {
  font-size: 30px;
  font-size: 3.0rem;
  font-weight: 600;
	color: #ff2b3f;
}
.r-box .stxt {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 400;
}

.r-box .stxt span {
color: #ff2b3f;
}

.ul-text{
	max-width: 1000px;
	font-size: 20px;
	font-size: 2.0rem;
	padding-top:50px;
	margin:50px auto 50px;
	border-top: 2px solid #e8e7e3;
}

.kankaku-txt{
	color: #ff2b3f;
	font-size: 36px;
	font-size: 3.6rem;
	font-weight: 600;
	line-height: 1.4;
}
.kankaku-txt span{
	font-size: 34px;
	font-size: 3.4rem;
}
.kankaku-txt span.stxt{
	font-size: 26px;
	font-size: 2.6rem;
}

.scene3-txt1{font-size: 16px;
font-size: 1.6rem;
max-width: 1000px;
margin: 30px auto;}

.scene3-txt1 span{color:#ff2b3f;}


.r-box2{
	max-width: 1000px;
	margin: 50px auto;
	border: 3px solid #ff2b3f;
	border-radius: 20px;
}

.r-box2 .txt-box{padding: 25px 0 25px 25px;}

.txt-box{
	display: flex;
	flex-direction: column;
	width: 60%;
}

.txt-box .title{
	font-size: 30px;
	font-size: 3.0rem;
	font-weight: 600;
	color: #ff2b3f;}
	
	
.txt-box .txt span{	
color: #ff2b3f;
}

.txt-box .txt span.bgb{	
		font-size: 20px;
	font-size: 2.0rem;
	background: #000000;
color: #ffffff;
	padding: 5px 20px;
	border-radius: 30px;
	margin-bottom: 10px;
}

.txt-box .txt{	
		font-size: 18px;
	font-size: 1.8rem;
	
}




.ai-fe{
	align-items: flex-end;
}

@media (max-width:767px) {
  .r-box {
	  padding: 15px;
    margin: 50px auto 50px;
    max-width: 1000px;
    border-radius: 15px;
    background-position: left bottom;
  }
  .r-box .ltxt {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .r-box .stxt {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .r-box .img {
    display: none;
  }
	.ul-text{
	font-size: 16px;
	font-size: 1.6rem;
	padding-top:20px;
	margin:30px auto 30px;
}
	
	.kankaku-txt{
	font-size: 28px;
	font-size: 2.8rem;
		margin-bottom: 40px;
}
.kankaku-txt span{
	font-size: 24px;
	font-size: 2.4rem;
}
.kankaku-txt span.stxt{
	font-size: 18px;
	font-size: 1.8rem;
}
	
	

.r-box2 .txt-box{padding: 20px;
	box-sizing: border-box;
	
	}

.txt-box{
	width: 100%;
}

.txt-box .title{
	font-size: 18px;
	font-size: 1.8rem;}
	
	
.txt-box .txt span{	
		font-size: 18px;
	font-size: 1.8rem;
	width: 100%;
	display: block;
	box-sizing: border-box;
}

.txt-box .txt{	
		font-size: 16px;
	font-size: 1.6rem;
	
}
	
	.sp-w80 img{
		width: 80%;
	}
	}


}







.title span.fwb, span.fwb {
  font-weight: bold;
}
.w100 {
  width: 100%;
  margin: 0 auto 150px;
}
.al-c {
  text-align: center;
}
.yajirushi {
  z-index: 5;
  position: relative;
  text-align: center;
}
@media (max-width:767px) {
  .w100 {
    width: 100%;
    margin: 0 auto 50px;
  }
  .name {
    margin: 0 20px;
  }
  .titlenav .wrap {
    width: 100%;
    margin: 0;
    text-align: center;
  }
  .ol_subnav div {
    padding: 0 10px;
    border-right: 1px solid #dbdbdb;
    margin-bottom: 10px;
  }
  .ol_subnav .sn div {
    padding: 0 10px;
    border-right: 1px solid #dbdbdb;
  }
  .ggbg {
    padding: 50px 20px 25px;
  }
  .yajirushi img {
    width: 60%;
    margin: 0 auto;
  }
}
.w70 {
  width: 70%;
  padding-left: 20px;
}
.w25 {
  width: 25%;
  text-align: center;
}
.w25 p span {
  font-size: 1.2rem;
}
.w45 {
  width: 45%;
}
.w10 {
  width: 10%;
  margin-top: -40px;
}
.w48 {
  width: 48%;
}
.txtAC {
  text-align: center;
}
.jcsb {
  justify-content: space-between;
}
.ai-center {
  align-items: center;
}
div.underline {
  padding: 0;
}
div.underline span {
  font-size: 2.6rem;
  color: #2d3134;
  padding: 0 10px;
  background: linear-gradient(transparent 55%, #d5f6ff 65%, #ade9ff 95%);
}
h2 {
  font-size: 2.0rem;
}
@media (max-width:767px) {
  .fd-column {
    flex-direction: column;
  }
  .fd-columnr {
    flex-direction: column-reverse;
  }
  .w48 {
    width: 100%;
  }
  .spmb20 {
    margin-bottom: 20px;
  }
}
table.tbr tr th {
  width: auto;
  background: #fbfbfb;
}
table.tbr tr th.inh {
  width: 25%;
  background: #fbfbfb;
}
table.tbr tr th.w50 {
  width: 50%;
}
table.tbr tr th.dg {
  background: #f5f5f5;
}
.spec div {
  width: 50%
}
@media (max-width:767px) {
  .spec {
    flex-direction: column;
  }
  .spec div {
    width: 100%
  }
}
/*
  アコーディオンそのものの横幅と余白を指定。
  開閉動作に影響なし。
*/
.accordion__list {
  width: 95%;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  box-shadow: 0px 3px 8px 1px rgba(111, 111, 111, 0.5);
}
/*
  アコーディオンの開閉をつかさどる、
  type="checkbox" を指定しているinputタグ。
  inputタグそのものは非表示にする。*/
.accordion__input {
  display: none;
}
/*
  アコーディオンの2つ目以降、上に余白を取る。
  開閉動作に影響なし。
*/
.accordion__item:nth-child(n+2) {
  margin-top: 10px;
}
/*
  アコーディオンの開閉ボタンの装飾。
  position: relative;が無いと、
  「+」「-」の位置がずれるので注意。
*/
.accordion__head {
  position: relative;
  display: block;
  width: 100%;
  padding: 10px 20px;
  box-sizing: border-box;
  color: #fff;
  background: #393939;
  /*cursor: pointer;*/
  font-size: 1.8rem;
  font-weight: bold;
}
/*
  アコーディオンの開閉ボタンの右側に「+」を表示。

.accordion__head::after {
  content: "+";
  position: absolute;
  top: 8px;
  right: 20px;
}*/
/*
  アコーディオンの閉じている部分の装飾。
  height: 0; overflow: hidden;にすることで、
  通常時は表示されないようにする。
*/
.accordion__body {
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
  /*height: 0;*/
  height: auto;
  padding: 0 20px;
  background: #393939;
  transition: all .35s ease;
}
.accordion__body p {
  font-size: 1.6rem;
  color: #fff;
}
/*
  アコーディオンの開閉ボタン（labelタグ、class="accordion__head"）をクリックすると、
  対となっているinputタグ（class="accordion__input"）がチェック状態（checked）になる。

  チェック状態のinputタグの隣の隣にある、
  アコーディオンの閉じている部分（class="accordion__body"）の
  heightとpaddingを変更し、アコーディオンを開いた状態にする。
*/
.accordion__input:checked + .accordion__head + .accordion__body {
  height: auto;
  padding: 20px;
}
/*
  チェック状態のinputタグの隣にある、開閉ボタンの「+」を「-」に変更する。
*/
.accordion__input:checked + .accordion__head::after {
  content: "-";
  right: 23px;
}
@media (max-width:767px) {
  .accordion__head {
    font-size: 1.6rem;
  }
  .accordion__body p {
    font-size: 1.4rem;
  }
}
@media (max-width:767px) {
  .scroll-infinity__item {
    width: calc(100vw / 3);
  }
}
.scroll-infinity__item > img {
  width: 100%;
}
.movie div {
  width: 640px;
  height: 360px;
}
.pc_none {
  display: none;
}
.sceneimg {
  margin-bottom: 20px;
  width: 48%;
}
.sceneimg img {
  margin-bottom: 10px;
  width: 100%;
}
@media (max-width:767px) {
  .sceneimg {
    margin-bottom: 30px;
    width: 100%;
  }
}
}
.subtitle {
  font-size: 2.4rem;
  font-weight: bold;
}
.movie {
  box-shadow: 0px 15px 20px 1px rgba(0, 0, 0, 0.2);
  width: 60%;
  height: 0;
  position: relative;
  padding-bottom: 33.75%;
  margin: 30px auto 100px;
}
.movie iframe {
  position: absolute;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.fd-c {
  width: 48%;
}
@media (max-width:767px) {
  .spresize img {
    width: 70%;
  }
  .pc_none {
    display: block;
  }
  .sceneimg {
    margin-bottom: 10px;
  }
  .sceneimg img {
    width: 95%;
  }
  .fd-c {
    width: 100%;
    flex-direction: column;
  }
  .subtitle {
    font-size: 2rem;
    font-weight: bold;
  }
  .fs18 {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
  .movie {
    width: 100%;
    padding-bottom: 45%;
  }
  table.tbr tr th.w20 {
    width: 20%;
  }
  table.tbr tr th.w60 {
    width: 60%;
  }
}
@media(min-width: 769px) {
  .os_list {
    padding: 20px 0 1px;
  }
  .os_list ul li {
    float: left;
    width: 33.33%;
    text-align: center;
    margin: 0 0 20px;
    border-right: 1px solid #c3c3c3;
    box-sizing: border-box;
    height: 150px;
    vertical-align: top;
  }
}
.os_list ul li {
  display: flex;
  align-items: center;
  justify-content: center;
}
.mr40 {
  margin-right: 40px;
}
.mr20 {
  margin-right: 20px;
}
.function {
  width: 70%;
  margin-top: 20px;
}
.function h4 {
  font-size: 18px;
  font-size: 1.8em;
}
.function p {
  font-size: 16px;
  font-size: 1.6em;
}
@media(max-width: 769px) {
  .mr20 {
    margin-right: 0px;
    text-align: center;
  }
  .function {
    width: 100%;
    margin-bottom: 30px;
  }
  .function h4 {
    font-size: 16px;
    font-size: 1.6em;
  }
  .function p {
    font-size: 14px;
    font-size: 1.4em;
  }
}
/*input要素は非表示*/
input {
  display: none;
}
/*タブエリアの設定*/
.tab_area {
  display: flex;
  flex-wrap: wrap;
}
/*タブボタン部分*/
label {
  display: block;
  box-sizing: border-box;
  width: 50%;
  padding: 10px 0;
  border-radius: 5px 5px 0 0;
  background: #e4e4e4;
  float: left;
  cursor: pointer;
  order: -1;
  font-size: 18px;
  font-size: 1.8rem;
  text-align: center;
}
label span {
  font-weight: bold;
  font-size: 20px;
  font-size: 2.0rem;
}
/*コンテンツ部分*/
.content, .content2 {
  display: none;
  width: 100%;
  padding: 1em;
  background: #e8ad82;
  border-radius: 0 0 5px 5px;
}
.content p, .content2 p {
  font-size: 16px;
  font-size: 1.6rem;
}
.content2 {
  background: #82cae8;
}
/*フェイドインアニメーションのために透明度を０に*/
.tabinner {
  opacity: 0;
  background: #FFFFFF;
  border-radius: 5px;
  padding: 50px 20px 20px 20px;
}
/*タブを選択したとき*/
input:checked + .btn_tab {
  background: #e8ad82;
}
input:checked + .btn_tab2 {
  background: #82cae8;
}
input:checked + .btn_tab + .content, input:checked + .btn_tab2 + .content2 {
  display: block;
}
/*コンテンツをフェイドインするアニメーション*/
input:checked + .btn_tab + .content .tabinner, input:checked + .btn_tab2 + .content2 .tabinner {
  animation: fadeIn 0.5s forwards;
}
.pvt {
  font-weight: bold;
  font-size: 18px;
  font-size: 1.8rem;
  color: #58090B;
}
.pvt2 {
  font-weight: bold;
  font-size: 18px;
  font-size: 1.8rem;
  color: #055080;
}
.ultxt {
  text-align: center;
  margin-bottom: 30px;
}
.ultxt span {
  font-size: 20px;
  font-size: 2.0rem;
  font-weight: bold;
  color: #2d3134;
  padding: 0 10px;
  background: linear-gradient(transparent 50%, #fff9ce 50%);
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.w60 {
  width: 60%;
}
.mrl10 {
  margin: 0 10px;
}
.mode-title {
  margin-bottom: 30px;
}
.mode-title p {
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
}
.mode-title p span {
  font-size: 24px;
  font-size: 2.4rem;
  text-align: center;
  margin-right: 10px;
}
.mainimg img {
  width: 100%;
}
.ondokei {
  margin-right: 20px;
}
@media(max-width: 769px) {
  .w60 {
    width: 100%;
  }
  .lns {
    line-height: 1.4;
  }
  .ondokei {
    margin-right: 0px;
    width: 100%;
    text-align: center;
  }
  .ondokei img {
    width: 40%;
  }
  .ondokeitxt {
    width: auto;
    margin: 0 auto;
  }
}
.wbgt {
  width: 80%;
  margin: 0 auto 50px;
}
h2.led-title {
  font-size: 40px;
  font-size: 4.0rem;
  font-weight: bold;
  border-left: none;
  margin: 0 0 50px;
  text-align: center;
}
h3.dg {
  background: #323232;
  color: #fff;
}
ol.no-list {
  margin: 0;
}
ol.no-list li span, ol.no-list li::marker {
  font-weight: bold;
}
@media (max-width:767px) {
  h2.led-title {
    display: block;
    padding: 15px;
    text-align: center;
    width: 100%;
    font-size: 36px;
    font-size: 3.6rem;
    box-sizing: border-box;
  }
  .wbgt {
    width: 100%;
  }
}
/*ユーザーの声*/
.user-voice {
  display: flex;
  justify-content: space-between;
}
.user-voice div.uv-box {
  display: flex;
  box-sizing: border-box;
  flex-direction: column;
  border: 4px solid #FFDD00;
  border-radius: 5px;
  padding: 20px;
  width: 30%;
  text-align: center;
}
.user-voice .title {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 10px
}
.user-voice .copy {
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: bold;
  text-decoration: underline;
  line-height: 1.4;
  height: 120px;
}
.user-voice .illust {
  margin: 15px auto 30px;
}
.user-voice .text {
  font-size: 16px;
  font-size: 1.6rem;
  text-align: left;
  line-height: 1.4;
}
@media (max-width:767px) {
  .user-voice {
    flex-direction: column;
  }
  .user-voice div.uv-box {
    width: 100%;
    margin-bottom: 30px;
  }
  .user-voice .copy {
    height: auto;
  }
}
/*お悩み*/
.worry-cont {
  background-image: linear-gradient(0deg, #c4d5e9, #dfefff 39%, #fdfcfd 80%, #ffffff 98%);
  padding: 50px 0;
  margin-bottom: 50px;
}
.worry-box {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin-bottom: 100px;
}
.worry-box .img {
  padding: 0 30px;
}
.worry-box .text {}
.worry-box .text h4 {
  border: 1px solid #828990;
  padding: 5px 30px;
  border-radius: 50px;
  display: inline-block;
  font-size: 20px;
  font-size: 2.0rem;
}
.worry-box .text ul li {
  font-size: 18px;
  font-size: 1.8rem;
}
.worry-cont-title {
  display: flex;
  margin-bottom: 50px;
}
.worry-cont-title h2 {
  font-size: 26px;
  font-size: 2.6rem;
  color: #5d7ca5;
  padding: 0 20px;
}
.worry-cont-title .namisen {
  flex-grow: 1;
}
.worry-cont-title .namisen.left {
  background-image: url('ol_img/onsitudo-namise_left.png');
  background-repeat: repeat-x;
  background-position: right;
}
.worry-cont-title .namisen.right {
  background-image: url('ol_img/onsitudo-namise_right.png');
  background-repeat: repeat-x;
  background-position: left;
}
@media (max-width:767px) {
  .worry-cont-title h2 {
    font-size: 20px;
    font-size: 2.0rem;
    font-weight: bold;
    text-align: center;
  }
  .worry-cont {
    padding: 50px 0 1px;
  }
  .worry-box {
    flex-direction: column;
    margin-bottom: 50px;
  }
  .worry-box .img {
    order: -1;
    width: 100%;
    text-align: center;
    margin-bottom: 30px;
    padding: 0;
  }
  .worry-box .text {
    width: 100%;
  }
  .worry-box .text h4 {
    text-align: center;
    width: 100%;
    padding: 5px 0;
    display: block;
    font-size: 18px;
    font-size: 1.8rem;
  }
  .worry-box .text ul li {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .worry-cont-title .namisen {
    display: none;
  }
}
/*4段階でお知らせ*/
.color-box {
  background-image: linear-gradient(90deg, rgba(227, 240, 255, 1), rgba(242, 255, 213, 1) 20%, rgba(253, 244, 187, 1) 50%, rgba(255, 218, 179, 1) 80%, rgba(255, 207, 225, 1));
  padding: 15px 0;
  text-align: center;
  font-size: 24px;
  font-size: 2.4rem;
}
.color-box span {
  font-weight: bold;
}
.wbgt-box {
  background: #e7e5d9;
  border-radius: 10px;
  padding: 20px;
  margin-top: 50px;
}
.wbgt-box h4 {
  font-size: 32px;
  font-size: 3.2rem;
  color: #474434;
  text-align: center;
  margin-bottom: 0px;
}
.atusa-title {
  margin-bottom: 20px;
  display: inline-block;
}
.atusa-title a {
  font-size: 20px;
  font-size: 2.0rem;
  color: #fff;
  background: #8d8c87;
  border-radius: 5px;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 5px 60px;
  text-decoration: none;
}
.atusa-title a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 1px #d6d5d1;
  border-right: solid 1px #d6d5d1;
  transform: rotate(135deg);
  position: absolute;
  margin-top: -8px;
  top: 50%;
  right: 20px;
}
.atusa-title2 {
  font-size: 24px;
  font-size: 2.4rem;
  margin-right: 20px;
}
.wbgt-box .wb {
  padding: 25px 20px;
  background: #FFFFFF;
  border-radius: 5px;
  font-size: 18px;
  font-size: 1.8rem;
  text-align: left;
}
.wbgt-box .wb span {
  font-size: 20px;
  font-size: 2..0rem;
  font-weight: bold;
  margin-bottom: 30px;
}
@media (max-width:767px) {
  .color-box {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .wbgt-box .wb {
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
  .atusa-title2 {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
/*LEDアラームについて*/
.ledalerm-title {
  text-align: center;
  font-size: 30px;
  font-size: 3.0rem;
  font-weight: bold;
  margin: 50px 0 30px;
}
.ledalerm-title span.ltxt {
  font-size: 38px;
  font-size: 3.8rem;
}
.ledalerm-title span.ltxtU {
  font-size: 42px;
  font-size: 4.2rem;
  text-decoration: underline;
}
.ledalerm-title span.rtxt {
  color: #ff526a;
}
.ledalerm-box {
  background: #ededed;
  padding: 20px;
  border-radius: 10px;
}
.ledalerm-box .title {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
}
.ledalerm-box .text {
  font-weight: bold;
  font-size: 26px;
  font-size: 2.6rem;
}
.ledalerm-box .stext {
  font-size: 18px;
  font-size: 1.8rem;
}
@media (max-width:767px) {
  .ledalerm-title {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .ledalerm-box .text {
    font-size: 24px;
    font-size: 2.4rem;
  }
  .ledalerm-title span.ltxt, .ledalerm-title span.ltxtU {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
/*特許パート*/
/*LEDアラーム*/
.ledalerm-cont {
  background-image: linear-gradient(0deg, #dedede, #ececec 39%, #f9f9f9 80%, #ffffff 98%);
  padding: 0;
  margin-bottom: 50px;
}
.ledtitle {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
}
.ledtitle span {
  font-size: 60px;
  font-size: 6.0rem;
}
.alerm-v {
  position: relative;
}
.alerm-v-box {
  width: 100%;
  max-width: 1200px;
  min-width: 940px;
  margin: 0 auto;
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.tt {
  width: 100%;
  font-size: 2vw;
  font-weight: bold;
  box-sizing: border-box;
  padding: 0 20px;
  line-height: 1.6;
}
.tt .rtxt {
  color: #ff526a;
}
.tt .rtxt sup {
  font-size: 1vw;
}
.tt .toptxt {
  font-size: 2.8vw;
}
@media (max-width:767px) {
  .ledtitle {
    font-size: 18px;
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
  .ledtitle span {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .alerm-v {
    padding-top: 10px;
  }
  .alerm-v-box {
    width: 100%;
    min-width: auto;
    margin: 0 auto;
    position: absolute;
    top: 0%;
    left: 0%;
    transform: translate(0%, 0%);
  }
  .tt {
    font-size: 3vw;
  }
  .tt .rtxt sup {
    font-size: 1vw;
  }
  .tt .toptxt {
    font-size: 4vw;
  }
}
.main-v {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  height: calc(100vh - 1px);
}
.main-v .mvimg {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0%, -50%);
}
.main-v-box {
  width: 100%;
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -55%);
  flex-direction: row-reverse;
}
.maintt {
  width: 70%;
}
.main-v-box h1 {
  font-size: 4vw;
  line-height: 1.2;
  letter-spacing: 1rem;
  margin-bottom: 40px;
  text-align: right;
}
.maintt .rtxt {
  color: #ff526a;
}
.maintt .rtxt sup {
  font-size: 1vw;
}
.maintt .stxt {
  font-size: 2vw;
  line-height: 1.2;
  font-weight: bold;
  letter-spacing: 0.1rem;
  text-align: right;
}
.maintt .logo {
  font-size: 2.7vw;
  font-weight: bold;
  text-align: right;
}
.led-spbox ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width:767px) {
  .main-v {
    padding-top: 200px;
    height: auto;
  }
  .maintt {
    width: 100%;
    padding: 0 20px 0 0;
  }
  .main-v .mvimg {
    position: static;
    top: 0;
    left: 0;
    transform: none;
  }
  .main-v-box h1 {
    font-size: 5vw;
    font-weight: bold;
    letter-spacing: 1.2rem;
    margin-bottom: 10px;
  }
  .maintt .stxt {
    font-size: 3vw;
    letter-spacing: 0.1rem;
    padding-left: 0;
    margin-bottom: 10px;
  }
  .maintt .logo {
    font-size: 3.7vw;
  }
  .led-spbox {
    padding: 20px
  }
}
.pl30 {
  padding-left: 50px;
  box-sizing: border-box;
}
@media (max-width:767px) {
  .pl30 {
    padding-left: 0px;
    margin-bottom: 20px;
  }
  .spw80 img {
    width: 80px;
  }
}
.news-cont {
  margin: 200px 0 350px;
}
.order-cont {
  margin: 50px 0;
  box-sizing: border-box;
  padding: 60px;
  border: 1px solid #b2b2b2;
}
.mt200 {
  margin-top: 200px;
}
@media (max-width:767px) {
  .news-cont {
    margin: 100px 0 200px;
  }
  .order-cont {
    margin: 50px 0;
    box-sizing: border-box;
    padding: 30px 10px;
    border: 1px solid #b2b2b2;
  }
  .mt200 {
    margin-top: 100px;
  }
  .mtpt {
    margin-top: -60px;
    padding-top: 60px;
  }
}
.rtxt2 {
  text-align: center;
  font-weight: bold;
  color: #FF0004;
  font-size: 24px;
  font-size: 2.4rem;
  margin-top: 20px;
}
@media (max-width:767px) {
  .rtxt2 {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
p.news-list {
  font-size: 18px;
  font-size: 1.8rem;
  padding-bottom: 10px;
  margin-bottom: 20px;
  border-bottom: 1px solid #D3D3D3;
}
p.news-list span {
  font-weight: bold;
  padding-right: 20px;
}
a.order-btn {}
a.order-btn {
  text-align: center;
  display: inline-block;
  width: 100%;
  box-sizing: border-box;
  border: 2px solid #7f7f7f;
  padding: 20px;
  border-radius: 60px;
  box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.2);
  position: relative;
}
a.order-btn:hover {
  border: 2px solid #003d8e;
}
a.order-btn:after {
  content: "";
  width: 20px;
  height: 20px;
  border-top: solid 3px #5f5f5f;
  border-right: solid 3px #7f7f7f;
  transform: rotate(45deg);
  position: absolute;
  margin-top: -8px;
  top: 50%;
  right: 40px;
}
a.order-btn:hover::after {
  border-top: solid 3px #002e6c;
  border-right: solid 3px #003d8e;
}
a.order-btn img {
  max-width: 100%;
  height: auto;
}
p.news-list span.chip_b, p.news-list span.chip_g, p.news-list span.chip_o, p.news-list span.chip_gr {
  line-height: 1;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: normal;
  color: #FFFFFF;
  padding-right: 0px;
  padding: 10px 15px;
  ;
  border-radius: 5px;
  margin-right: 10px;
  width: 85px;
  display: inline-block;
  text-align: center;
}
.chip_b {
  background: #2C94DF;
}
.chip_g {
  background: #14824D;
}
.chip_o {
  background: #FF6E00;
}
.chip_gr {
  background: #4D4D4D;
}
/*スクロール未使用*/
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
  box-shadow: 0px 4px 10px 0px rgba(111, 111, 111, 0.2);
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 90s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 4);
}
.mxw1000 {
  max-width: 1000px;
  margin: 0 auto;
}

a.feature-button {
	color: #43321d;
	text-decoration: none;
  font-family: "Noto Sans JP", sans-serif;
	font-size: 20px;
	font-size: 2.0rem;
  background-color: #ffcc00;
  border: none;
  padding: 10px 50px 10px 30px;
  border-radius: 30px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s;
  box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.3);
	position: relative;
}



@media (max-width:767px) {
	a.feature-button{
		display: inline-block;
	width: 100%;
		box-sizing: border-box;
}
}


a.feature-button:hover {
  background-color: #de6ad00;
}


a.feature-button:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 2px #937006;
  border-right: solid 2px #937006;
  transform: rotate(135deg);
  position: absolute;
  margin-top: -8px;
  top: 50%;
  right: 20px;
}