@charset "UTF-8";

/* ===============================
	共通スタイル
=============================== */

html {
	font-size: 100%;
	/* 1rem=16px */
	line-height: 150%;
}

body, p, a, h1, h2, h3, span {
	line-height: 150% !important;
}

:root {
	--base: calc(50/144*1vw);
	--rad: 6px;
	--max-width: min(80%, 1440px)
}

/* 幅1440では　0.625vw = 9px */

.font-weight-700 {
	font-weight: 700;
}

.font-size-10 {
	font-size: clamp(0.7rem, calc(0.5rem + var(--base)), 1.3rem) !important;
}

.font-size-12 {
	font-size: clamp(0.9rem, calc(0.7rem + var(--base)), 1.5rem) !important;
}

.font-size-14 {
	font-size: clamp(1.1rem, calc(0.9rem + var(--base)), 1.7rem) !important;
}

.font-size-16 {
    font-size: clamp(1.3rem, calc(1.1rem + var(--base)), 1.9rem) !important;
}

.font-size-17 {
    font-size: clamp(1.4rem, calc(1.2rem + var(--base)), 2rem) !important;
}

.font-size-18 {
    font-size: clamp(1.5rem, calc(1.3rem + var(--base)), 2.1rem) !important;
}

.font-size-20 {
    font-size: clamp(1.7rem, calc(1.5rem + var(--base)), 2.3rem) !important;
}

.font-size-24 {
    font-size: clamp(2.1rem, calc(1.9rem + var(--base)), 2.7rem) !important;
}

.font-size-32 {
    font-size: clamp(2.9rem, calc(2.7rem + var(--base)), 3.5rem) !important;
}

.font-size-34 {
    font-size: clamp(3.1rem, calc(2.9rem + var(--base)), 3.7rem) !important;
}

.size-136 {
    width: clamp(13.3rem, calc(13.1rem + var(--base)), 13.9rem) !important;
}

.size-140 {
    width: clamp(13.7rem, calc(13.5rem + var(--base)), 14.3rem) !important;
}

.size-340 {
    width: clamp(33.7rem, calc(33.5rem + var(--base)), 34.3rem) !important;
}

.line-height-29 {
    line-height: clamp(2.6rem, calc(2.4rem + var(--base)), 3.2rem) !important;
}

/* サブセクション */

.sub-title {
	font-weight: 500;
	background: #e6e6e6;
}

.top-img-container {
	margin: 0;
	position: relative;
}

.logo-text {
	position: absolute;
	top: 29%;
	left: 8%;
	font-size: 1.4vw;
	font-weight: 600;
	line-height: 3vw;
	letter-spacing: .1em;
}

.logo-title {
	font-size: 2.7vw;
}

.logo-description {
	position: absolute;
	top: 53%;
	left: 7%;
	font-size: 1.25vw;
	font-weight: 600;
	line-height: 1.6vw;
	letter-spacing: .07em;
}

.slide-bar {
	position: absolute;
	bottom: 8%;
	left: 8%;
	
	li {
		display: inline-block;
		margin: 0 5px;
	}
	button {
		padding: 0;
		color: transparent;
		outline: none;
		width: 50px;
		border: unset;
		height: 5px;
		display: block;
		background: #fff;
		cursor: pointer;
	}
	.slick-active {
		button {
			background: #FC7C59;
		}
	}
}

.lens::before {
	content: "";
	display: inline-block;
	background-image: url("../../../images/lens.png");
	width: 4.8rem;
	height: 6.4rem;
	position: relative;
	top: 50%;
	left: 1rem;
	transform: translateY(30%);
}

.topic-description{
	text-align: left;
	font-weight: 700;
	margin: auto;
	margin-bottom: 3rem;
	letter-spacing: 0.05em;
	line-height: 2.7rem;
}

.header-section {
	background: linear-gradient(90deg, #E1EDED 0%, rgba(215, 228, 228, 0) 100%);
	display: inline-block;
	line-height: 3.7rem;
	letter-spacing: 0.07em;
	padding: 1rem 3rem;
}

.header-section2{
	text-align: center;
	font-weight: 700;
	color: #52B6C5;
	line-height: 3.7rem;
}

.adjust-margin {
	margin-top: 4rem;
}

.header-mission {
	text-align: center;
	font-weight: 700;
	color: #52B6C5;
	line-height: 3.8rem;
	letter-spacing: 0.07em;
}

.header-section2-left{
	text-align: left;
	font-weight: 700;
	color: #52B6C5;
	letter-spacing: 0.07em;
	margin: 0;
	line-height: 4rem;
}

.header-section-english{
	text-align: center;
	color: #73C7D3;
	opacity: 0.6;
}

.header-section-english-left{
	font-weight: 500;
	text-align: left;
	color: #73C7D3;
	margin: 0;
	margin-left: 0.5rem;
	opacity: 0.4;
	letter-spacing: 0.05em;
	line-height: 3.7rem;
}

.white-sep{
	background-color: #fff;
	margin: auto;
	width: var(--max-width);
	border-radius: var(--rad);
}

.gradient-sep{
	margin: auto;
	width: var(--max-width);
	border-radius: var(--rad);
	background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 10%, #FFFFFF 90%, rgba(255, 255, 255, 0) 100%);
}

.white-sep2 {
	background-color: #fff;
	margin: auto;
	padding-bottom: 5rem;
}

.gray-box{
	background: linear-gradient(180deg,white 0%,white 4.2vw,#E9F2F2 4.2vw,#E9F2F2 100%);
	align-items: center;
	position: relative;
	border-radius: var(--rad);
	padding-bottom: 4rem;
}

.gray-box2{
	background-color: #E9F2F2;
	margin-top: 3rem;
	align-items: center;
	position: relative;
	border-radius: var(--rad);
	padding-bottom: 5rem;
}

.white-box2{
	text-align: center;
	background-color: #fff;
	border-radius: var(--rad);
}

.mission-bg {
	text-align: center;
	background-color: rgba(255,255,255,0.8);
	border-radius: var(--rad);
}

.box-benefit-outer a {
	text-decoration: none;
}

.benefit-list {
	margin: auto;
	margin-bottom: 0;
	padding-bottom: 13rem;
	width: var(--max-width);
}

.benefit-bg {
	background-color: #fff;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	border-top-right-radius: 12px;
	border-bottom-left-radius: 12px;
	border-bottom-right-radius: 12px;
	box-shadow: 0px 4px 10px 0px #00000014;
}

.benefit-container {
	margin: auto;
	width: var(--max-width);
}

.benefit-text-container p {
	text-align: center;
	font-weight: 500;
	line-height: 2.1rem;
}

.box-benefit {
	display: flex;
}

.box-benefit-item {
	padding-top: 10%;
	display: flex;
}

.box-benefit-deco1 {
	background-color: #FC7C59;
	width: 2%;
}

.box-benefit-deco2 {
	background-color: #4470C2;
	width: 2%;
}

.box-benefit-deco3 {
	background-color: #058F33;
	width: 2%;
}

.box-benefit-head {
	text-align: center;
	border-top-right-radius: 4px;
	border-top-left-radius: 4px;
	width: 40%;
}

.box-benefit-head-item {
	text-align: center;
	border-radius: 4px;
	width: 17%;
}

.benefit1-bg {
	background-color: #FC7C59;
}

.benefit1-under {
	text-decoration: underline;
	text-decoration-thickness: 0.6rem; 
	text-decoration-color: #FECABD; 
	text-underline-offset: -0.2rem; 
	text-decoration-skip-ink: none; 
}

.benefit2-bg {
	background-color: #4470C2;
}

.benefit2-under {
	text-decoration: underline;
	text-decoration-thickness: 0.6rem; 
	text-decoration-color: #B4C8E7; 
	text-underline-offset: -0.2rem; 
	text-decoration-skip-ink: none; 
}

.benefit3-bg {
	background-color: #59AF8B;
}

.benefit3-under {
	text-decoration: underline;
	text-decoration-thickness: 0.6rem; 
	text-decoration-color: #C0E1D3; 
	text-underline-offset: -0.2rem; 
	text-decoration-skip-ink: none; 
}

.streamlining-title-container dt {
	font-weight: 700;
	line-height: 2.4rem;
	text-align: left;
	margin: 0;
}

.streamlining-main-container dd {
	font-weight: 500;
	text-align: left;
	margin: 0;
	line-height: 2.1rem;
}

.section-streamlining{
	position: absolute;
	top: -3rem;
}

.streamlining-container {
	display: flex;
}

.horizontal-line {
	width: 2rem;
	height: 100%;
	margin-right: 1vw;
	background-color: #FC7C59
}

.streamlining-deco {
	background-color: #FC7C59;
	width: 10px;
	margin-right: 1rem;
}

.anxiety-outer {
	text-align:center;
	margin-top: 3rem;
}

.anxiety-outer p {
	font-weight: 700;
	margin: auto;
	color: #FC7C59;
	line-height: 3.7rem;
}

.anxiety-outer p::before {
	content: "";
	display: inline-block;
	background-image: url("../../../images/slash.png");
	width: 2vw;
	height: 2.5vw;
	position: relative;
	top: 0.3vw;
	left: -2vw;
	background-size: contain;
}

.anxiety-outer p::after {
	content: "";
	display: inline-block;
	background-image: url("../../../images/slash.png");
	width: 2vw;
	height: 2.5vw;
	position: relative;
	top: 0.3vw;
	right: -2vw;
	background-size: contain;
	transform: scaleX(-1);
}

.fukidashi:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 60%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-left: 15px solid #fff;
	z-index: 0;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

.fukidashi p {
	margin: 0;
	font-weight: 500;
	line-height: 2.1rem;
}

.dotted-line {
	padding-bottom: 5%;
	background-image : linear-gradient(to right, #fff 12px, transparent 12px); 
	background-size: 20px 4px;  
	background-position: bottom;  
	background-repeat: repeat-x;
}

.border {
	width: 85%;
	border-top: 1px solid #52B6C5;
	margin: 6rem auto 4rem auto;
}

.border-contact {
	width: 100%;
	border-top: 1px solid #fff;
	margin: 2rem auto 2rem auto;
}

.header-usecase {
	text-align: center;
	font-weight: 700;
	padding-top: 6rem;
	margin-bottom: 5rem;
	color: #52B6C5;
	letter-spacing: 0.07em;
	line-height: 3.7rem;
}

.box-usecase p {
	color: #fff;
}

.box-facility {
	display: flex;
}

.box-facility-head {
	text-align: center;
	border-top-right-radius: 0.7rem;
	border-top-left-radius: 0.7rem;
	width: 100%;
	background-color: #E9F2F2;
}

.box-facility-head p {
	color: #000;
	font-weight: 500;
}

.usecase-img-container {
	width: 100%;
	margin: auto;
}

.usecase-img-container img {
	border-radius: var(--rad);
}

.usecase-text-container {
	text-align: left;
	margin-bottom: 5%;
}

.usecase-text-container p {
	font-weight: 500;
	color: #000;
	line-height: 2.1rem;
	margin: 1rem 0 0 0;
}

.function-name {
	text-align: center;
	width: 100%;
}

.function-name-no {
	text-align: center;
	width: 100%;
}

.function-name p{
	background-color: #3E78CE;
	color: #fff;
	text-align: center;
	padding: 0.7rem;
	margin: 0;
	margin-bottom: 1.5rem;
	font-weight: 500;
	border-radius: 4px;
	font-weight: 500;
	align-items: center;
}

.function-name-no p{
	background-color: #3E78CE;
	color: #fff;
	text-align: center;
	margin: 0;
	padding: 0.5rem;
	font-weight: 500;
	border-radius: 4px;
	font-weight: 500;
	justify-content: center;
	align-items: center;
}

.horizontal-container-left {
	display: inline-block;
	margin: 4rem 1rem;
	text-align: left;
}

.function-text-container {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	margin-top: 1rem;
}

.function-text-container p {
	text-align: center;
	font-weight: 500;
	line-height: 2.1rem;
}

.function-text-container2 {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 1rem 2rem;
}

.function-text-container2 p {
	text-align: center;
	font-weight: 500;
	line-height: 2.1rem;
}

.capture-img-container1 img{
	width: 100%;
	border-radius: var(--rad);
}

.capture-img-container2 img{
	width: 100%;
	border-radius: var(--rad);
}

.environment-outer {
	width: 85%;
	margin: auto;
}

.environment-text-container {
	text-align: center;
	margin-top: 1rem;
}

.environment-text-container p{
	text-align: center;
	font-weight: 700;
	line-height: 2.4rem;
}

.environment-img-container {
	display: flex;
    align-items: center;
    justify-content: center;
}

.flow-container {
	border-radius: var(--rad);
	background: #fff;
	width: 90%;
	margin: 1rem auto;
	padding: 0 1rem;
}

.flow li{
	position: relative;
	padding: calc(2.5rem + var(--base));
	margin: 0;
	font-weight: 700;
	line-height: 2.4rem;
	color: #058F33;
}

.flow-description{
	text-align: left;
	font-weight: 500;
	margin: 0;
	margin-top: 1rem;
	color: #000;
	line-height: 1.8rem;
}

.flow-notes{
	text-align: left;
	font-weight: 500;
	color: #000;
}

.contact-head-container {
	display: flex;
	align-items: center;
}

.contact-head-container img {
	margin: 0.5rem 2rem 0 0;
	height: 3rem;
	width: 4rem;
}

.contact-description {
	color: #fff;
	font-weight: 700;
	margin: 0;
	margin-top: 1rem;
	letter-spacing: 0.05em;
}

.contact-button {
	margin: auto 0;
}

.contact-button a {
	display: block;
	padding: 4rem 8rem;
	border-radius: 200px;
	background-color: #E9F2F2;
	text-decoration: none;
	text-align: center;
	color: #52B6C5;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 2.4rem;
}

.contact-button a::after {
	content: "";
	display: inline-block;
	background-image: url("../../../images/allow_icon.png");
	width: 2.1rem;
	height: 2.1rem;
	position: relative;
	top: 50%;
	transform: translateY(10%);
	right: -2rem;
}

.vision-outer {
	position: relative;
	background-color: #E9F2F2;
	z-index: 0;
}

.mountain-container {
	height: inherit;
	position: relative;
	overflow: hidden;
}

.mountain {
	position: absolute;
	bottom: 0;
	left: 0;
	height: 100% !important;
	object-fit: cover;
	z-index: -2;
}

.airplane {
	position: absolute;
	top: 10%;
	left: 0;
	width: 30% !important;
	z-index: -1;
}

.walkdog {
	position: absolute;
	bottom: 0;
	right: 11%;
	width: 10% !important;
	z-index: -1;
}

.vision-container {
	text-align: center;
	padding-bottom: 4rem;
	margin-top: 5rem;
}

.vision-text-container {
	z-index: 200;
	padding-top: 10rem;
	padding-bottom: 10rem;
}

.vision-head-container p {
	font-weight: 700;
	margin: auto;
	margin-bottom: 1rem;
	letter-spacing: 0.07em;
	text-decoration: underline;
	text-decoration-thickness: 1.4rem; 
	text-decoration-color: #C3E5E5; 
	text-underline-offset: -0.2rem; 
	text-decoration-skip-ink: none; 
	line-height: 3.7rem;
}

.vision-description-container {
	display: inline-block;
	width: min(65%, 1440px);	
	padding: 5rem 10%;
}

.vision-description-container p {
	font-weight: 500;
	line-height: 2.88rem;
	margin: 3rem;
}

.download-container {
    margin: auto;
    width: var(--max-width);
    align-items: center;
    position: relative;
}

.download-item {
	text-align: left;
}

.download-item p{
	display: inline-block;
	background-color: #E9F2F2;
	color: #52B6C5;
	text-align: center;
	padding: 0.5rem 3rem;
	margin: auto;
	margin-top: 2rem;
	font-size: 1rem;
	font-weight: 500;
	border-top-left-radius: 12px;
	border-top-right-radius: 12px;
}

.download-title {
	font-weight: 500;
	font-size: 1.2rem;
	text-align: center;
	margin: 5px;
	margin-top: 8%;
}

.download-img-container {
	width: 40%;
	position: relative;
	margin: 1rem auto;
	margin-bottom: 2rem;
}

.download-button a {
	position: relative;
	width: 100%;
	padding: 0.5rem 2rem;
	border-radius: var(--rad);
	background-color: #52B6C5;
	text-decoration: none;
	text-align: center;
	color: #fff;
	font-weight: 500;
}

.box-header{
	text-align: center;
	margin: auto;
	margin-top: 20%;
	margin-bottom: 10%;
}

.box-description{
	text-align: center;
	font-weight: 700;
	width: 100%;
	line-height: 2.1rem;
}

.box-notes{
	text-align: right;
	margin-bottom: 2rem;
}

.box-notes p{
	display: inline-block;
	text-align: left;
}

.trouble-list {
	width: 85%;
	margin: auto;
}

.trouble-outer {
	width: 32%;
	flex-direction: column;
	display: flex;
    height: 100%;
}

.trouble-img-container img{
	display: block;
	margin: auto;
    object-fit: contain;
}

.streamlining-img-container img{
	display: block;
	margin: auto;
    object-fit: contain;
	border-radius: var(--rad);
}

.streamlining-header {
	display: flex;
}

.border-horizontal {
	border: #FC7C59;
}

.solution-intro-outer {
	text-align: center;
	position: relative;
	margin: 8rem auto;
	width: fit-content;
}

.highlight {
	color: #52B6C5;
}

.solution-intro::before {
	content: "";
	display: inline-block;
	background-image: url("../../../images/before1.png");
	width: 3rem;
	height: 3rem;
	position: relative;
	left: -0.1em;
	top: -0.4em;
	background-size: contain;
}

.solution-intro::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 20px;
	background: transparent;
	border-bottom: 2px solid #98c5dc;
	background-image: 
	  linear-gradient(45deg, transparent 50%, #98c5dc 50%),
	  linear-gradient(-45deg, transparent 50%, #98c5dc 50%);
	background-position: right bottom, right bottom;
	background-size: 8px 8px;
	background-repeat: no-repeat;
}

.solution-outro-outer {
	text-align: center;
	margin-top: 4%;
	margin-bottom: 10%;
}

.solution-outro {
	font-size: 1.7vw;
	font-weight: 700;
	margin: auto;
}

.solution-outro::before {
	content: "";
	display: inline-block;
	background-image: url("../../../images/before1.png");
	width: 25px;
	height: 25px;
	position: relative;
	left: -0.5em;
	background-size: contain;
}

.trouble{
	font-weight: 200;
	margin-right: 10%;
}

.trouble::before {
	font-family: "Font Awesome 5 Free";
	content: "\f4ad";
	font-weight: 900;
	position: absolute;
	font-size: 2em;
	left: -1em;
	top: 0;
	color: #5f5f5f;
	font-weight: 900;
	transform: scaleX(-1);
}

.flex-container.column3 .trouble {
	height: 50%;
}

.sub-section .ttl {
	font-weight: 500;
}

/* 製品概要・フォトギャラリー */
ul.gallery-thumbs li {
	border: solid 1px #d9d9d9;
}

ul.gallery-thumbs li.active {
	border: solid 2px #535353;
	pointer-events: none;
}

ul.list-prod-colors li a.active {
	border: solid 1px #535353;
	pointer-events: none;
}

.gallery-outer {
	position: relative;
}

.gallery-container .hint {
	display: none;
}

.gallery-container .swiper-slide .title {
	padding: 0.5em 0;
	font-size: 1.4rem;
	text-align: center;
	font-size: 62.5%;
}

ul.gallery-thumbs {
	display: flex;
	flex-wrap: wrap;
	margin-top: 1em;
}

ul.gallery-thumbs li {
	width: 15%;
	margin-top: 1rem;
	margin-left: 2%;
}

ul.gallery-thumbs li:nth-child(-n + 6) {
	margin-top: 0;
}

ul.gallery-thumbs li:nth-child(6n-5) {
	margin-left: 0;
}

ul.gallery-thumbs li a {
	display: block;
	cursor: pointer;
}

/* 製品概要・製品カラー */
.prod-colors .pcolor {
	display: inline-block;
	width: 1.2rem;
	height: 1.2rem;
	margin-right: 0.5rem;
	background: #fff;
	border: solid 1px #a2a2a2;
	border-radius: 50%;
}

.prod-colors .pcolor.black {
	background: #000;
}

.prod-colors .pcolor.silver {
	background: #b4b4b4;
}

.prod-colors .pcolor.red {
	background: #be000b;
}

/* 発売予定 */
.red-yotei {
	color: red;
	padding-left: 1.4rem;
}

/* 仕様ボタン */
a.btn-spec {
	background: #535353;
	color: #fff;
	display: inline-block;
	padding: 0.5em 0.75em 0.5em 1.5em;
	font-size: 1.2rem;
	line-height: 1;
	text-align: center;
	position: relative;
	text-decoration: none;
}

a.btn-spec.recipe {
	margin: 1.5em 0 0 0;
}

a.btn-spec::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f105";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0.5em;
	margin-top: -0.5em;
}

#about .base-width {
	border-bottom: solid 1px #d9d9d9;
	padding-bottom: 4.2rem;
}

/* おすすめ特長 */
#features .sub-item .img.has-img-caption {
	margin-bottom: 0;
}

#features .sub-item .img-caption-right {
	min-height: 1.5em;
	text-align: right;
}

#features .ttl {
	text-align: left;		
	}

	
	
/* ====================================
	スマートフォン専用スタイル
===================================== */
@media only screen and (max-width: 767px) {

	/* フレックスコンテナ・イメージテキスト */
	.flex-container.img-text {
		justify-content: space-between;
	}
	.flex-container.img-text>.flex-img {
		width: 30%;
	}
	.flex-container.img-text>.flex-text {
		width: 65%;
	}

	.header{
		text-align: center;
		font-weight: 500;
		font-size: 1.5rem;
	}

	.main-section{
		position: relative;
		text-align: center;
		padding-top: 13rem;
		margin-bottom: 4.2rem;
	}

	.topic-section{
		padding-top: 3rem;
		margin-bottom: 2rem;
	}

	/* 製品ロゴアイコン */
	ul.list-logo-icons {
		margin-top: 0.7em;
	}
	ul.list-logo-icons li {
		margin-right: 2%;
	}
	ul.list-logo-icons li img {
		width: auto;
		height: 100%;
	}

	/* 製品ピクト */
	ul.list-pict-icons {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-end;
		margin-top: 3rem;
	}
	ul.list-pict-icons li {
		height: 4rem;
		margin-bottom: 2%;
		margin-right: 2%;
	}
	ul.list-pict-icons li.large {
		height: 5rem;
		margin-right: 4%;
	}
	ul.list-pict-icons li.small {
		height: 3rem;
	}
	ul.list-pict-icons li img {
		width: auto;
		height: 100%;
	}
	ul.list-pict-icons li sup {
		top: -1em;
	}

	/* サブセクション */
	.sub-section {
		padding-top: 3rem;
		padding-bottom: 4rem;
	}

	.sub-title {
		margin-bottom: 3rem;
		padding: 0.2em 0;
		font-size: 1.2rem;
		text-align: center;
	}


	/* 製品概要 */
	#about {
		padding-bottom: 0;
	}
	#about .about-title {
		font-size: 2rem;
		font-weight: 500;
	}
	#aboutMain .about-title {
		font-size: 1.45rem;
		font-weight: 500;
	}

	/* 製品概要・基本情報 */
	ul.list-prod-about {
		margin-top: 0.7em;
	}
	ul.list-prod-about li .sub-text {
		font-size: 1.2rem;
	}
	ul.list-prod-about li.prod-category {
		font-size: 1.3rem;
	}
	ul.list-prod-about li.product-name {
		font-size: 1.6rem;
		font-weight: 700;
	}
	ul.list-prod-about li.product-name 	.open-price {
		margin-left: 0.5em;
		font-size: 1.4rem;
		font-weight: 300;
	}

	/* 製品概要・製品カラー */
	ul.list-prod-colors {
		margin-top: 1rem;
		display: flex;
		flex-wrap: wrap;
	}
	ul.list-prod-colors li {
		margin-right: 0.5em;
		margin-bottom: 0.5em;
	}
	ul.list-prod-colors li:last-child {
		margin-right: 0;
	}
	ul.list-prod-colors li a {
		display: flex;
		align-items: center;
		padding: 0.2em 0.8em;
		font-size: 1.2rem;
		border: solid 1px #d9d9d9;
		text-decoration: none;
		cursor: pointer;
	}

	/* 仕様ボタン */
	a.btn-spec {
		margin-top: 4rem;
	}

	/* 製品概要・製品情報 */
	ul.list-prod-info {
		margin-top: 1em;
		border-bottom: solid 1px #bfbfbf;
	}
	ul.list-prod-info li {
		padding: 0.5em 0;
		border-top: solid 1px #bfbfbf;
	}

	/* おすすめ特長 */
	#features {
		border-top: none;
	}
	#features .sub-item {
		margin-top: 3rem;
		padding-top: 1rem;
		font-size: 1.5rem;
		border-top: dashed 1px #d9d9d9;
	}
	#features .sub-item:first-of-type {
		margin-top: 0;
		padding-top: 0;
		border-top: none;
	}
	#features .sub-item .img {
		margin-bottom: 0.6em;
	}
	#features .sub-item .ttl {
		font-size: 1.3rem;
		margin-top: -0.4em;
	}
	#features .sub-item .text {
		margin-top: 1em;
	}
	#features .text {
		font-size: 1.1rem;
	}
	
	.other-feature {
		margin-top: 4rem;
		padding-top: 4rem;
		font-size: 1.5rem;
		border-top: dashed 1px #d9d9d9;
	}
	.other-feature .flex-container {
		margin-top: 2rem;
	}
	.other-feature .ttl {
		font-size: 1.3rem;
	}
	ul.list-other-feature {
		padding-left: 2.2rem;
	}
	ul.list-other-feature li {
		margin-top: 0.5em;
		text-indent: -2.2rem;
	}
	ul.list-other-feature li:first-child {
		margin-top: 0;
	}

	/* おすすめ特長・概要バージョン */
	.features-about>.flex-item {
		margin-top: 2rem;
		padding-top: 2rem;
		border-top: dashed 1px #d9d9d9;
	}
	.features-about>.flex-item:first-of-type {
		margin-top: 0;
		padding-top: 0;
		border-top: none;
	}
	.features-about .ttl {
		font-size: 1.3rem;
	}
	.features-about .text {
		margin-top: 1em;
		font-size: 1.1rem;
	}

	/* おすすめ特長・詳しく見るバナー */
	#features .btn-arrow {
		display: block;
		margin: 4rem 0 0;
	}

	/* ポップアップ動画 */
	.popup-movie {
		margin-top: 3rem;
	}
	
	.trouble-img-container {
		margin-top: 10%;
		align-items: center;
		justify-content: center;
		width: clamp(23.5rem, calc(23.7rem + var(--base)), 24.5rem); 
	}

	.trouble-description {
		margin: 0;
		margin-top: 1rem;
		margin-bottom: 4rem;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 18.2rem;
	}

	.solution-intro {
		font-weight: 700;
		margin: auto;
		margin-top: 3rem;
		text-decoration: underline;
		text-decoration-thickness: 1rem; 
		text-decoration-color: #C3E5E5; 
		text-underline-offset: -0.2rem; 
		text-decoration-skip-ink: none; 
		letter-spacing: 0.07em;
		line-height: 3.7rem;
	}

	.benefit-outer {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.box-benefit-outer{
		width: 100%;
		text-align: center;
		border-radius: var(--rad);
		margin-bottom: 5%;
	}
	
	.benefit-title {
		font-weight: 700;
		text-align: center;
		padding: 4rem 4rem 2rem 4rem;
		margin: 0;
		letter-spacing: 0.07em;
		line-height: 2.4rem;
	}

	.benefit-text-container {
		text-align: center;
		padding: 1rem 4rem 4rem 4rem;
		margin: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.benefit-img-container {
		width: clamp(23.9rem, calc(23.7rem + var(--base)), 24.5rem);
		align-items: center;
		justify-content: center;
	}

	.benefit-head {
		font-weight: 700;
		color: #fff;
		margin: auto;
		padding: 4%;
	}

	.box-benefit-head-item p {
		font-weight: 700;
		color: #fff;
		margin: auto;
		padding: 4%;
		letter-spacing: 0.05em;
		line-height: 3.7rem;
	}

	.streamlining-img-outer {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.streamlining-img-container {
		align-items: center;
		justify-content: center;
		width: clamp(18.7rem, calc(18.5rem + var(--base)), 19.3rem); 
	}
	
	.box-header-streamlining{
		text-align: center;
		margin: auto;
		margin-top: 5%;
		margin-bottom: 2%;
	}
	
	.streamlining-title-container {
		text-align: center;
		display: flex;
		align-items: center;
	}
	
	.streamlining-main-container {
		text-align: center;
		display: flex;
		align-items: center;
	}
	
	.box-usecase {
		width: var(--max-width);
		margin-left: 1%;
		margin-right: 1%;
		text-align: center;
		border-radius: var(--rad);
	}

	.white-box{
		background-color: #fff;
		border-radius: var(--rad);
		margin: 0;
		text-align: center;
	}

	.function-container {
		margin: auto 2rem;
		justify-content: space-between;
		text-align: center;
		width: 85%;
	}

	.function-container.flex {
		display: flex;
		flex-wrap: wrap;
		margin: auto 2rem;
		justify-content: space-between;
		text-align: center;
	}

	.horizontal-container{
		text-align: center;
		height: 20%;
	}

	.horizontal-container-no{
		text-align: center;
		width: 22%;
	}

	.capture-img-container1 {
		width: 40%;
		text-align: center;
		margin: auto;
	}
	
	.capture-img-container2 {
		width: 100%;
		text-align: center;
		margin: auto;
	}

	.fukidashi-container {
		text-align: center;
		margin: 2rem auto;
		padding-bottom: 4rem;
		width: 85%;
	}

	.fukidashi {
		text-align: left;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 1rem;
		padding: 2rem 1.5rem;
		width: 70%;
		background: #fff;
		border-radius: 20px;
	}

	.sp-break{ 
		display: block; 
	}

	.box-environment {
		justify-content: center;
	}

	.environment-img-container img{
		display: block;
		margin: auto;
		object-fit: contain;
	}

	.flow{
		list-style: none;
		margin: 0 2rem;
	}

	.flow-allow-before {
		width: 2%;
		background: linear-gradient(to bottom left, #E9F2F2 50%, #fff 50%) top left/ 100% 50% no-repeat,
		linear-gradient(to top left, #E9F2F2 50%, #fff 50%) bottom left / 100% 50% no-repeat;
	}
	
	.flow-allow-after {
		width: 2%;
		background: linear-gradient(to bottom left, #fff 50%, #E9F2F2 50%) top left/ 100% 50% no-repeat,
		linear-gradient(to top left, #fff 50%, #E9F2F2 50%) bottom left / 100% 50% no-repeat;
	}

	.contact-content-container {
		margin: auto;
		width: 90%;
		display: flex;
		justify-content: space-between;
	}

	.contact-head {
		color: #fff;
		font-weight: 700;
		margin: 0;
		letter-spacing: 0.07em;
		line-height: 3.12rem;
	}

	.contact-container {
		padding: 1.2rem;
		background-color: #52B6C5;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.svg-container { 
		display: none;
	}

	.vision-head-container {
		display: inline-block;
		width: var(--max-width);
	}

	.gray-box3 {
		background-color: #E9F2F2;
		margin: auto;
		align-items: center;
		border-top-right-radius: 12px;
		border-bottom-left-radius: 12px;
		border-bottom-right-radius: 12px;
		justify-content: space-around;
		text-align: center;
	}

	.download-content {
		display: inline-block;
		width: var(--max-width);
		margin: 1rem;
		text-align: center;
		border-radius: var(--rad);
	}
}

/* ====================================
	PC&タブレット、印刷専用スタイル
===================================== */
@media print , screen and (min-width: 768px) {

	/* フレックスコンテナ・イメージテキスト */
	.flex-container.img-text {
		justify-content: space-between;
	}
	.flex-container.img-text>.flex-img {
		width: 30%;
	}
	.flex-container.img-text>.flex-text {
		width: 65%;
	}

	.header{
		text-align: center;
		font-weight: 500;
		font-size: 2rem;
	}

	.main-section{
		text-align: center;
		padding-top: 13rem;
		margin-bottom: 4.2rem;
	}

	.topic-section{
		padding-top: 3rem;
		margin-bottom: 2rem;
	}
	
	/* 製品ロゴアイコン */
	ul.list-logo-icons {
		margin: 0 0 4rem;
	}
	ul.list-logo-icons li {
		margin-top: 26px !important; 
		margin-right: 2%;
	}
	ul.list-logo-icons li img {
		width: auto;
		height: 100%;
	}

	/* 製品ピクト */
	ul.list-pict-icons {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-end;
		margin-top: 3rem;
	}
	ul.list-pict-icons li {
		height: 4rem;
		margin-bottom: 2%;
		margin-right: 2%;
	}
	ul.list-pict-icons li.large {
		height: 5rem;
		margin-right: 4%;
	}
	ul.list-pict-icons li.small {
		height: 3rem;
	}
	ul.list-pict-icons li img {
		width: auto;
		height: 100%;
	}
	ul.list-pict-icons li sup {
		top: -1em;
	}

	/* サブセクション */
	.sub-section {
		padding-top: 6rem;
	}
	.sub-title {
		margin-bottom: 24px; /*旧 72px*/
		padding: 0.2em 0;
		font-size: 1.3rem;
		text-align: center;
	}

	/* 製品概要 */
	#aboutMain .about-title {
		font-size: 2.6rem;
		font-weight: 500;
		padding-bottom: 3rem;
	}
	#aboutMain .about-title sup {
		font-size: 50%;
		top: -0.8em;
	}

	/* 製品概要・フォトギャラリー */
	.gallery-button-next, .gallery-button-prev {
		width: 30px;
		height: 80px;
		margin-top: -50px;
	}

	/* 製品概要・基本情報 */
	ul.list-prod-about {
	}
	ul.list-prod-about li {

	}
	ul.list-prod-about li.prod-category {
		font-size: 1.4rem;
	}
	ul.list-prod-about li .sub-text {
		font-size: 1.4rem;
	}
	ul.list-prod-about li.product-name {
		font-size: 2.0rem;
		font-weight: 700;
	}
	ul.list-prod-about li .open-price {
		margin-left: 0.5em;
		font-size: 1.6rem;
		font-weight: 300;
	}


	/* 製品概要・製品カラー */
	ul.list-prod-colors {
		margin-top: 1rem;
		display: flex;
		flex-wrap: wrap;
	}
	ul.list-prod-colors li {
		margin-right: 0.5em;
		margin-bottom: 0.5em;
	}
	ul.list-prod-colors li:last-child {
		margin-right: 0;
	}
	ul.list-prod-colors li a {
		display: flex;
		align-items: center;
		padding: 0.2em 0.8em;
		font-size: 1.2rem;
		border: solid 1px #d9d9d9;
		text-decoration: none;
		cursor: pointer;
	}

	/* 仕様ボタン */
	a.btn-spec {
		margin-top: 4rem;
	}

	/* 製品概要・製品情報 */
	ul.list-prod-info {
		margin-top: 1em;
		border-bottom: solid 1px #bfbfbf;
	}
	ul.list-prod-info li {
		padding: 0.35em 0;
		border-top: solid 1px #bfbfbf;
		font-size: 1.4rem;
	}

	/* おすすめ特長 */
	#features {
		padding-bottom: 0rem;
	}
	#features.sub-section {
		padding-top: 6.3rem;
	}
	#features .sub-item {
		padding-top: 4rem;
		padding-bottom: 4rem;
		font-size: 1.6rem;
		border-bottom: dashed 1px #d9d9d9;
		position: relative;
	}
	#features .sub-item:nth-of-type(-n+2) {
		padding-top: 0;
	}
	#features .ttl {
		margin-top: -1em;
		font-size: 1.45rem;
	}
	#features .text {
		margin-top: 1.2em;
		font-size: 1.12rem;
	}
	#features .img {
		margin-bottom: 1em;
	}
	#features .sub-item.other-feature {
		padding-top: 4rem;
		padding-bottom: 4rem;
		border-bottom: none;
	}
	.other-feature .ttl {
		font-size: 1.45rem;
	}
	ul.list-other-feature {
		margin-top: 1em;
	}
	ul.list-other-feature li {
		margin-top: 0.5em;
	}
	ul.list-other-feature li:first-child {
		margin-top: 0;
	}

	/* おすすめ特長・概要バージョン */
	.features-about>.flex-item {
		margin-top: 6rem;
	}
	.features-about>.flex-item:nth-of-type(-n+2) {
		margin-top: 0;
	}
	.features-about .ttl {
		font-size: 1.45rem;
	}
	.features-about .text {
		margin-top: 0.7em;
	}

	/* おすすめ特長・詳しく見るバナー */
	#features .btn-arrow {
		display: block;
		width: 380px;
		margin: 8rem auto 0;
		font-size: 1.8rem;
		line-height: 1.4;
	}

	/* ポップアップ動画 */
	.popup-movie {
		max-width: 400px;
		margin-top: 4rem;
	}
	
	#pickup {
		margin-top: -4rem;
	}

	.toc-highlight {
		color: #52B6C5;
	}
	
	.trouble-img-container {
		margin-top: 3vw;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 24.2rem; 
	}

	.trouble-description {
		margin-top: 1rem;
		margin-bottom: 4rem;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 18.2rem;
	}

	.solution-intro {
		font-weight: 700;
		margin: auto;
		margin-top: 3rem;
		letter-spacing: 0.07em;
		line-height: 3.7rem;
	}

	.benefit-outer {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.box-benefit-outer{
		display: flex;
		flex-direction: column;
		width: 31%;
		text-align: center;
		border-radius: var(--rad);
	}
	
	.benefit-title {
		font-weight: 700;
		text-align: center;
		padding: 4rem 4rem 2rem 4rem;
		margin: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		letter-spacing: 0.07em;
		line-height: 2.4rem;
	}

	.benefit-text-container {
		text-align: center;
		padding: 1rem 4rem 4rem 4rem;
		margin: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.benefit-img-container {
		width: clamp(23.9rem, calc(23.7rem + var(--base)), 24.5rem);
		align-items: center;
		justify-content: center;
	}

	.benefit-head {
		font-weight: 700;
		color: #fff;
		margin: auto;
		padding: 4%;
	}

	.box-benefit-head-item p {
		font-weight: 700;
		color: #fff;
		margin: auto;
		padding: 4%;
		letter-spacing: 0.05em;
		line-height: 3.7rem;
	}

	.streamlining-list-outer {
		width: 85%;
		margin: auto;
	}

	.streamlining-outer {
		width: 30%;
	}
	
	.streamlining-img-container {
		align-items: center;
		justify-content: center;
		width: clamp(18.7rem, calc(18.5rem + var(--base)), 19.3rem); 
	}

	.box-header-streamlining{
		display: flex;
		text-align: center;
		margin: auto;
		margin-top: 2vw;
		margin-bottom: 10%;
	}
	
	.streamlining-title-container {
		text-align: center;
		display: flex;
		align-items: center;
		margin-bottom: 2rem;
	}
	
	.streamlining-main-container {
		text-align: center;
		display: flex;
		align-items: center;
	}

	.usecase-outer {
		width: 85%;
		margin: auto;
	}

	.box-usecase {
		display: inline-block;
		width: 28%;
		text-align: center;
		border-radius: var(--rad);
	}

	.white-box{
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		background-color: #fff;
		border-radius: var(--rad);
		margin: 0;
	}

	.function-container {
		display: flex;
		margin: 2rem auto;
		justify-content: space-between;
		width: 85%;
	}

	.horizontal-container{
		display: inline-block;
		text-align: center;
	}

	.horizontal-container-noimg{
		text-align: center;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 22%;
		margin: 1rem;
	}
	
	.function-main1 {
		width: 39%;
	}

	.function-main2 {
		width: 16%;
	}

	.function-sub1 {
		width: 31%;
	}

	.capture-img-container1 {
		width: 100%;
		text-align: center;
		margin: auto;
	}
	
	.capture-img-container2 {
		width: 100%;
		text-align: center;
		margin: auto;
	}

	.fukidashi-container {
		justify-content: center;
		display: flex;
		margin: 2rem auto;
		width: 85%;
	}

	.fukidashi {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 1rem;
		padding: 2rem 1.2rem;
		background: #fff;
		border-radius: 20px;
	}

	.environment-img-container img{
		display: block;
		margin: auto;
		object-fit: contain;
	}

	.sp-break{ 
		display: none; 
	}

	.box-environment {
		display: flex;
		justify-content: center;
	}	

	.flow{
		justify-content: center;
		display: flex;
		list-style: none;
		margin: auto;
	}

	.svg-container { 
		display: flex;
		width: 3%;
		align-items: stretch;
	}

	.svg-container svg {
		height: 100%;
	}

	.flow-first{
		width: 20%;
	}

	.flow-second{
		width: 22%;
	}

	.flow-third{
		width: 25%;
	}

	.flow-fourth{
		width: 26%;
	}

	.contact-content-container {
		margin: auto;
		width: 75%;
		display: flex;
		justify-content: space-between;
	}

	.contact-container {
		padding: 1.5rem 0;
		background-color: #52B6C5;
		display: flex;
		align-items: center;
	}

	.contact-head {
		color: #fff;
		font-weight: 400;
		margin: 0;
		letter-spacing: 0.1em;
	}

	.vision-head-container {
		display: inline-block;
		width: var(--max-width);
		margin-bottom: 3rem;
	}

	.gray-box3 {
		background-color: #E9F2F2;
		align-items: center;
		border-top-right-radius: 12px;
		border-bottom-left-radius: 12px;
		border-bottom-right-radius: 12px;
		display: flex;
		justify-content: space-around;
		margin: auto;
	}

	.download-content {
		display: inline-block;
		width: 30%;
		margin: 0 1rem 1rem 1rem;
		text-align: center;
		border-radius: var(--rad);
	}
}

/* ====================================
	PC専用スタイル
===================================== */
@media screen and (min-width: 1080px) {

	/* 製品概要・フォトギャラリー */
	.gallery-container .hint {
		font-size: 0.8em;
		text-align: center;
		display: inherit;
	}

	/* 拡大鏡 */
	.zoomContainer {
		z-index: 1;
	}
	.zoomWindow {
		box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.6);
	}
}



/* ====================================
	AQUOS用
===================================== */

ul.list-logo-icons {
	margin-top: 22px;
}
ul.list-logo-icons li:first-child {
	margin-left: 0;
}
ul.list-logo-icons .logo_8k img {
	width: 100%;
	max-width: 206px;
	height: auto;
}
ul.list-logo-icons .logo_androidtv img {
	width: 100%;
	max-width: 148px;
	height: auto;
}
ul.list-logo-icons .logo_g_assistant img {
	width: 100%;
	max-width: 200px;
	height: auto;
}

 ul.list-logo-icons .logo_ok_google img {
 width: 100%;
 max-width: 180px;
}

ul.list-logo-icons .logo_gooddesign img {
	width: 100%;
	max-width: 206px;
	height: auto;
}

.open-price {
	margin-left: 15px;
	font-size: 1.0rem;
}

.dating {
	margin-left: 15px;
	font-size: 1.4rem;
}

.adjust-pb img {
	border: solid 1px #d9d9d9;
}
.relation {
	margin-top: 40px;
}
ul.logo {
	width:100%;
	margin-top: -30px;
	margin-bottom: 10px;
	clear: both;
}
ul.logo li {
	float:left;
	overflow:hidden;
	list-style:none;
	margin-top: 0;
	margin-right: 0px;
	margin-bottom: 5px;
	margin-left: 0;
	text-align: right;
}

.star.caption a {
	color: #2b7bcf;	
}
.type-name {
	font-size:21px;
	font-weight: bold;
}
.type-size {
	color: #FFF;
	font-size: 68%;
	background-color: #000;
	padding-top: 3px;
	padding-right: 10px;
	padding-bottom: 3px;
	padding-left: 10px;
	margin-right: 10px;
}
.list-prod-info {
	margin-top: 20px;
}
	ul.list-prod-info li {
	margin-top: auto;
	margin-bottom: auto;
	vertical-align: middle;
	display: flex;
	align-items: center;
	}
	
.sub-item img  {
	border: 1px solid #d9d9d9;	
}
.sub-item a:hover img{
  opacity: 0.7;
  transition-duration: 0.3s;
}




.br-dating {
display: none;
}
 @media only screen and (max-width: 950px) {
.br-dating {
display: block;
}
ul.list-prod-info li {
display: block;
}
.dating {
	margin-left: 70px;
	font-size: 1.3rem;
}
}

 @media only screen and (max-width: 767px) {
 ul.list-logo-icons {
 margin-top: 30px;
 margin-bottom: 4rem;
}
 ul.list-logo-icons li {
 margin-top: 22px !important;
 margin-left: 2%;
}
 ul.list-logo-icons li:first-child {
 margin-left: 0;
}
 ul.list-logo-icons .logo_8k img {
 width: 100%;
 max-width: 160px;
}
 ul.list-logo-icons .logo_androidtv img {
 width: 100%;
 max-width: 120px;
}

 ul.list-logo-icons .logo_g_assistant img {
 width: 100%;
 max-width: 162px;
}

 ul.list-logo-icons .logo_ok_google img {
 width: 100%;
 max-width: 160px;
}

 ul.list-logo-icons .logo_gooddesign img {
 width: 100%;
 max-width: 160px;
}

 .relation {
 margin-top: 0px;
}
ul.logo {
	margin-top: -10px;
}


.type-size {
	font-size: 85%;
}

}


@media print , screen and (min-width: 768px) {
#function {
 margin-top: -110px;
}
}



/* ====================================
	IE印刷専用スタイル
===================================== */
@media print and (-ms-high-contrast: none) {
 .flex-container.column2 {
 display: block;
}
 .flex-container.column2 .flex-item {
 margin-left: 3.5%;
 display: inline-block;
 vertical-align: top;
}
 .flex-container.column2 .flex-item:nth-child(odd) {
 margin-left: 0;
}
}


.sub-item {
	border-bottom-style: none;
	}
.sub-item a {
	text-decoration: none;
	}
	
.sub-item a:hover {
	text-decoration: underline;	
	}
	
.text.f11 {
	font-size: 62.5% !important;
}