@charset "UTF-8";
/*
Theme Name: DIIO 2025
Author: HeartLanguage Developers
Description:HeartLanguage,Inc.All Rights Reserved.
Version:1.0
*/
/************************************
基本設定
************************************/
html,body{
	height: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
}
button{
	cursor: pointer;
}
input,
textarea{
  /* -webkit-appearance: none; */
}
input[type="submit"],
input[type="button"],
input[type="reset"],
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea{
	/* -webkit-appearance: none; */
	border-radius: 2px;
	border: 1px solid #222D47;
	padding: 15px;
	width: 100%;
}
input[type="submit"],
input[type="button"] {
	display: block;
	margin: 0 auto;
	max-width: 400px;
	width: 90%;
	padding: 30px 0;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
input[type="submit"] {
	background: #0D0D0D;
	color: #F2F2F2;
}
input[type="submit"]:hover {
	background: #F2F2F2;
	color: #0D0D0D;
}
input[type="button"] {
	background: #BFBFBF;
	color: #F2F2F2;
	border: 1px solid #BFBFBF;
	margin: 0 auto 20px;
}
input[type="button"]:hover {
	background: #F2F2F2;
	color: #0D0D0D;
}
/* .ajax-loader {
	display: none!important;
} */

.cf:after{
	content: "";
	clear: both;
	display: block;
}
.fll{ float: left; }
.flr{ float: right; }
.tbl{ display: table; }
.cell{ display: table-cell; }
*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
a{
	text-decoration: none;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all  0.3s;
	color:#fff;
}
img{
	vertical-align: bottom;
}
.pc{
	display: none;
}
.sp{
	display: block;
}
/************************************
共通
************************************/
body{
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	font-size: 14px;
	line-height: 2;
	color: #f2f2f2;
	background: #1A1A1A;
	word-wrap: break-word;
	overflow-wrap: break-word;
	letter-spacing: 0.2em;
}
h1{
	font-size: 22px;
	font-weight: bold;
}
h2{
	font-size: 22px;
	font-weight: bold;
}
header,main,footer{
	width: 100%;
	margin: 0 auto;
}
.footer__in{
	width: 90%;
	margin: 0 auto;
}

/** 画像アニメーション **/
.box {
  width: 100%;
  height: auto;
  overflow: hidden;
}
.box .boxInner,
.box .boxInner_r {
  width: inherit;
  height: inherit;
  opacity: 0;
	background: #1A1A1A;
}
.box .boxInner_b {
	background: #292929;
}
/**「boxInner」をスライドインする **/
@keyframes play {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes play_r {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
/** マスク要素をスライドアウトする **/
@keyframes maskOut {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100%);
  }
}
@keyframes maskOut_r {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
/** スライドインを動作するclass **/
.isPlay {
  animation-name: play;
  animation-duration: .5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.8,0,.5,1);
  position: relative;
  opacity: 1 !important;
}
.isPlay_r {
  animation-name: play_r;
  animation-duration: .5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.8,0,.5,1);
  position: relative;
  opacity: 1 !important;
}
/** isPlayの疑似要素にマスクとマスクを外すアニメーションを設定  **/
.isPlay:before {
  animation-name: maskOut;
  animation-duration: .5s;
  animation-delay: .5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.8,0,.5,1);
  content: '';
  position: absolute;
  top: 0;
  left: 1px;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: #000;
}
.isPlay_r:before {
  animation-name: maskOut_r;
  animation-duration: .5s;
  animation-delay: .5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.8,0,.5,1);
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: #000;
}



/** 見出しテキストアニメーション **/
.fadein_text,
.fadein_text span {
  opacity: 0;
}

/************************************
header
************************************/
header{
	height: 64px;
	background-color: #1A1A1A;
	/* border-bottom: 1px solid #e2e2e2; */
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
}
.header__in{
	position: relative;
	/* display: flex;
	justify-content: space-between;
	align-items: center; */
	padding: 10px 0;
}
.logo {
	text-align: center;
}
.logo__img{
	/* width: 50%; */
}
.logo__img img {
	width: 20%;
	vertical-align: middle;
}
.nav{
	display: none;
	position: absolute;
	top: 64px;
	left: 0;
	width: 100%;
	background: #fff;
	padding: 60px 5%;
}
.nav__list{
	width: 90%;
	margin: 0 auto;
	display: block;
}
.spnavbtn{
	position: absolute;
	width: 30px;
	height: 18px;
	z-index: 1001;
	right: 5%;
	top: 25px;
}
.spnavbtn__border{
	position: absolute;
	left:  0;
	width: 100%;
	background-color: #fff;
	height: 2px;
	transition: all .4s;
}
.spnavbtn__border:nth-of-type(1){
	top: 0;
}
.spnavbtn__border:nth-of-type(2){
	top: 8px;
}
.spnavbtn__border:nth-of-type(3){
	bottom: 0;
}
.spnavbtn-active .spnavbtn__border:nth-of-type(1){
	-webkit-transform: translateY(8px) rotate(-45deg);
	transform: translateY(8px) rotate(-45deg);
}
.spnavbtn-active .spnavbtn__border:nth-of-type(2){
	opacity: 0;
}
.spnavbtn-active .spnavbtn__border:nth-of-type(3){
	-webkit-transform: translateY(-8px) rotate(45deg);
	transform: translateY(-8px) rotate(45deg);
}

.nav__item {
	margin: 0 0 30px;
}
.nav__item:last-child {
	margin: 0;
}
.nav__item a {
	color: #16161A;
}

/************************************
main
************************************/
main{
	padding-top: 64px;
	width: 100%;
}
.main__content{
	margin: 25px 0;
}
/************************************
footer
************************************/
footer{
	background: url('common/images/common/footer_bg_sp.png');
	background-position: center;
	background-size: cover;
	color: #fff;
	padding: 50px 0 calc(calc(100/375) * 100vw);
}

footer a{
	color: #fff;
}
.footer__in{
	text-align: center;
}
.footer__l {
	border-bottom: 1px solid #727272;
	margin: 0 0 20px;
}
.footer__l img {
	margin: 0 0 30px;
}
.footer__nav {
	margin: 0 auto;
}
.footer__item {
	margin: 0 0 15px;
}
.footer__b {
	font-size: 10px;
}
.footer__info {
	margin: 0 0 10px;
	letter-spacing: 0.1em;
}
.sns__link {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.sns__link p {
	display: flex;
	align-items: center;
}
.sns__link p::after {
	content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #F2F2F2;
  margin-left: 35px;
}

.copyright{
	font-size: 10px;
	letter-spacing: 0.05em;
}
.pagetop{
	position: fixed;
	bottom: 0;
    right: 0;
    z-index: 9999;
}

/************************************
component
************************************/
/** link_banner **/
.link__banner {
	background: url('common/images/common/contact_bg_sp.png');
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	max-width: 1180px;
	width: 90%;
	margin: 0 auto 75px;
	padding: 60px 5%;
}
.link__banner .link__txt {
	width: 100%;
  height: 100%;
  color: #f2f2f2;
  z-index: 10;
	font-size: 18px;
	text-align: center;
	font-weight: bold;
	margin: 0 0 40px;
}
.link__banner .link__txt_s {
	display: block;
	font-size: 12px;
	font-weight: normal;
}
.link__bannerWrap {
}
.link__banner01,
.link__banner02 {
}
.link__banner01 a,
.link__banner02 a {
	position: relative;
	display: flex;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	border: 1px solid #fff;
	max-width: 420px;
	width: 95%;
	height: 75px;
	line-height: 75px;
	margin: 0 auto;
}
.link__banner01 a {
	margin: 0 auto 20px;
}
.link__banner01 a span,
.link__banner02 a span {
	width: 100%;
  height: 100%;
  z-index: 10;
}
.link__banner01 a span:before,
.link__banner02 a span:before{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
	left: 0;
  width: 0;
  display: block;
  background: #fff;
  z-index: -1;
  transition: .2s;
}
.link__banner01 a span:hover:before,
.link__banner02 a span:hover:before{
  width: 100%;
}
.link__banner01 a span:hover,
.link__banner02 a span:hover {
	color: #1A1A1A;
}

.link__banner02 .b_txt {
	display: block;
	text-align: center;
	margin: 10px 0 0;
	font-size: 12px;
}






/************************************
index
************************************/
.dio_txt {
	letter-spacing: 0.08em;
	font-size: 100%!important;
}

/** 共通 **/
#index .section__headline {
	font-size: 22px;
	margin: 0 auto 40px;
	letter-spacing: 0.2em;
	text-align: center;
}
.w940 {
	max-width: 940px;
	width: 90%;
	margin: 0 auto;
}

/** main **/
#index .main {
	position: relative;
	margin: 0 auto 60px;
}
#index .main__vis {
	width: 90%;
	margin: 0 0 0 auto;
}
#index .main__vis img {
	width: 100%;
}
#index .main__copy {
	position: absolute;
	top: 60%;
	left: 40%;
	-ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
	font-weight: bold;
}
#index .main__copy h2 {
	position: relative;
	line-height: 1.5;
	text-align: center;
}
#index .main__copy h2 img {
	width: 70%;
}
#index .main__copy .main__copy_s {
	font-size: 12px;
}
/* #index .main__copy h2::after {
	content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -80%;
  width: 1px;
  height: 80px;
  margin: auto;
  background-color: #f2f2f2;
} */

#index .ambassador__img {
	width: 90%;
	margin: 0 auto 60px;
}
#index .ambassador__img img {
	width: 100%;
}

/** section01 **/
#index .section01 {
	width: 100%;
	margin: 0 auto 60px;
}
#index .section01__imgWrap {
	position: relative;
}
#index .section01__img {
	width: 80%;
	margin: 0 0 40px;
}
#index .section01__img img {
	width: 100%;
}
#index .section01__ttl {
	position: absolute;
	bottom: 0;
	left: 25%;
	width: 70%;
}
#index .section01__txtWrap {
	position: relative;
	width: 90%;
	margin: 0 auto;
	color: #e5e5e5;
}
#index .section01__txtWrap h2 {
	margin: 0 0 60px;
	padding: 0 10% 0 0;
	letter-spacing: 0.2em;
}
#index .section01__txtWrap p {

}

/** section02~4共通 **/
#index .section02,
#index .section03,
#index .section04 {
	width: 95%;
	margin: 0 auto 95px;
}
#index .section02__txtWrap h3,
#index .section03__txtWrap h3,
#index .section04 h3 {
	font-size: 20px;
	font-weight: bold;
	margin: 0 0 30px;
	line-height: 1.8;
}
#index .product__link a {
	display: block;
	max-width: 300px;
	width: 90%;
	font-size: 12px;
	border: 1px solid #f2f2f2;
	padding: 15px 30px;
}
#index .product__link a:hover {
	background: #f2f2f2;
	color: #1A1A1A;
}
.arrow {
	display: inline-block;
  width: 30px;
  height: 5px;
  border-bottom: 1px solid #F20574;
  border-right: 1px solid #F20574;
  transform: skew(45deg);
	margin: 0 0 0 60px;
	vertical-align: middle;
}

/** section02 **/
/** section04 **/
#index .section02__content,
#index .section04__content {
}
#index .section02__img,
#index .section04__img {
	width: 70%;
	margin: 0 auto 40px;
}
#index .section02__img img,
#index .section04__img img {
	width: 100%;
}
#index .section02__txtWrap,
#index .section04__txtWrap {
	margin: 0 0 30px;
}
#index .section02__txtWrap p,
#index .section04__txtWrap p {
}
#index .section02 .product__link a,
#index .section04 .product__link a {
	margin: 0 0 0 auto;
}

#index .section04 {
	margin: 0 auto 75px;
}

/** section03 **/
#index .section03__wrap {
	position: relative;
}
#index .section03 .section__headline {
	text-align: center;
}
#index .section03__txtWrap {
}
#index .section03__txtWrap h3 {
	margin: 0 0 30px;
}
#index .section03__txtWrap p {
	margin: 0 0 30px;
}
#index .section03__img {
	width: 100%;
	margin: 0 auto 40px;
}
#index .section03__img img {
	width: 100%;
}
#index .section03 .product__link a {
	margin: 0 0 0 auto;
}

#index .comingsoon {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}

/** top_img02 **/
#index .top_img02 {
	width: 85%;
	margin: 0 0 45px;
}
#index .top_img02 img {
	width: 100%;
}

/** section05 **/
#index .section05 {
	margin: 0 auto 100px;
}
#index .section05__headline,
#index .section06__headline {
	text-align: center;
	font-size: 20px;
	margin: 0 auto 20px;
	width: 90%;
}
#index .section05__headtxt {
	text-align: center;
	font-size: 12px;
	margin: 0 auto 45px;
	width: 90%;
}
#index .section05__in {
	padding: 0 5%;
}
#index .section05__in ul {
}
#index .section05__in li {
	margin: 0 0 40px;
}
#index .section05__in li:last-child {
	margin: 0;
}
#index .section05__in li h3 {
	position: relative;
	font-size: 14px;
	font-weight: bold;
	margin: 0 0 20px;
}
#index .section05__in li h3:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -10px;
  display: inline-block;
  width: 40px;
  height: 1px;
  background-color: #707070;
}
#index .section05__in li p {
	font-size: 12px;
}

/** section06 **/
#index .section06 {
	margin: 0 auto 75px;
}
#index .homecare {
	background: #0D0D0D;
	padding: 45px 10%;
	margin: 0 auto 20px;
}
#index .homecare__wrap {
}
#index .homecare__img {
	width: 100%;
	margin: 0 auto 25px;
}
#index .homecare__img img {
	width: 100%;
}
#index .homecare__txtWrap {
}
#index .homecare__txtWrap h3 {
	font-size: 20px;
	font-weight: bold;
	display: flex;
  align-items: center;
	margin: 0 0 25px;
}
#index .homecare__txtWrap h3::before {
	content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #F2F2F2;
	margin-right: 35px;
}
#index .homecare__txtWrap p {
	font-size: 14px;
	margin: 0 0 25px;
}
#index .homecare__link a {
	display: block;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
}
#index .homecare__link a:hover {
	text-decoration: underline;
}
.arrow_w {
	display: inline-block;
  width: 30px;
  height: 5px;
  border-bottom: 1px solid #f2f2f2;
  border-right: 1px solid #f2f2f2;
  transform: skew(45deg);
	margin: 0 0 0 40px;
	vertical-align: middle;
}

/************************************
page共通
************************************/
/** main **/
#page .page__main {
	position: relative;
	margin: 0 auto 80px;
	overflow: hidden;
}
#page .main__img {
	width: 90%;
}
#page .main__img img {
	width: 100%;
}
#page .main__copy {
	position: absolute;
	top: 50%;
	left: 5%;
	-ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
	font-weight: bold;
}
#page .main__copy h1 {
	position: relative;
	line-height: 1.5;
}
#page .main__copy .main__copy_s {
	display: block;
	font-size: 12px;
	color: #000000;
	font-weight: bold;
	line-height: 1.8;
	margin: 0 0 20px;
	width: 90%;
}
/* #page .main__copy h1::after {
	content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -80%;
  width: 1px;
  height: 80px;
  margin: auto;
  background-color: #f2f2f2;
} */
#page .main__copy h1 img {
	width: 50%;
}

/** section共通 **/
#page .section__headline {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	margin: 0 auto 50px;
}
#page .section__headline span {
}

/** product **/
#page .product__wrap {
	max-width: 940px;
	width: 90%;
	margin: 0 auto 90px;
}
#page .product__in {
}
#page .product__img {
	width: 70%;
	margin: 0 auto;
}
#page .product__img img {
	width: 100%;
}
#page .product__txtWrap {
	margin: 0 auto 45px;
}
#page .product__txtWrap h3 {
	font-size: 20px;
	font-weight: bold;
	margin: 0 0 25px;
}
#page .product__txtWrap p {
}

/** about **/
#page .about {
	margin: 0 auto 120px;
}
#page .about__img01 {
	width: 100%;
	margin: 0 auto 60px;
}
#page .about__img01 img {
	width: 100%;
}
#page .about__content {
	max-width: 1180px;
	width: 90%;
	margin: 0 auto 90px;
}
#page .about__content h3 {
	font-size: 18px;
	font-weight: bold;
	margin: 0 0 10px;
	text-align: center;
}
#page .about__img {
	width: 100%;
	margin: 0 auto 30px;
}
#page .about__img img,
#page .about__img svg {
	width: 100%;
}


/** detail **/
#page .detail {
	margin: 0 auto 120px;
}
#page .detail .section__headline {
	margin: 0 auto 50px;
}
#page .detail__wrap {
	max-width: 1180px;
	width: 90%;
	margin: 0 auto;
}
#page .detail__item {
	margin: 0 auto 50px;
}
#page .detail__txtWrap {
}
#page .detail__txtWrap h3 {
	font-size: 20px;
	font-weight: bold;
	padding: 0 0 10px;
	margin: 0 0 20px;
	border-bottom: 1px solid #707070;
}
#page .detail__txtWrap p {
	font-size: 14px;
}
#page .detail__img {
	width: 80%;
	margin: 0 auto 30px;
}
#page .detail__img img {
	width: 100%;
}


/** specification **/
#page .specification__wrap {
	position: relative;
	background: #0D0D0D;
	margin: 0 auto 75px;
	padding: 75px 0;
}
#page .specification__wrap .section__headline {
	position: absolute;
    top: -25px;
    left: 50%;
		-ms-transform: translateX(-50%);
	  -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
#page .specification__in {
	max-width: 940px;
	width: 90%;
	margin: 0 auto;
}
#page .specification__txtWrap {
}
#page .specification__txtWrap dl {
	padding: 0 0 10px;
	margin: 0 0 20px;
	border-bottom: 1px solid #F2F2F2;
}
#page .specification__txtWrap dt {
	font-weight: bold;
}

#page .specification__img {
	width: 85%;
	margin: 0 auto 70px;
}
#page .specification__productImg {
	width: 100%;
	margin: 0 0 30px;
}
#page .specification__accessoryImg {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
#page .specification__accessoryImg img {
	width: 30%;
	margin: 0 5% 20px 0;
}
#page .specification__accessoryImg img:nth-child(3n) {
	margin: 0 0 20px;
}

/*svgアニメーション01*/
#svg_anime01.on #daen01-2,
#svg_anime01.on #daen02-2,
#svg_anime01.on #daen03-2,
#svg_anime01.on text,
#svg_anime01.on .svg_txt {
    opacity: 0;
    animation: fadein 1s ease forwards;
}
@keyframes fadein {
    100% {  opacity: 1;}
}
#svg_anime01.on #daen01-2 {
	animation-delay: 0.1s;
}
#svg_anime01.on #daen02-2 {
	animation-delay: 0.3s;
}
#svg_anime01.on #daen03-2 {
	animation-delay: 0.6s;
}
#svg_anime01.on text,
#svg_anime01.on .svg_txt {
	animation-delay: 0.9s;
}
/*svgアニメーション01_sp*/
#svg_anime01_sp.on #daen01-2_sp,
#svg_anime01_sp.on #daen02-2_sp,
#svg_anime01_sp.on #daen03-2_sp,
#svg_anime01_sp.on text,
#svg_anime01_sp.on .svg_txt {
    opacity: 0;
    animation: fadein 1s ease forwards;
}
#svg_anime01_sp.on #daen01-2_sp {
	animation-delay: 0.1s;
}
#svg_anime01_sp.on #daen02-2_sp {
	animation-delay: 0.3s;
}
#svg_anime01_sp.on #daen03-2_sp {
	animation-delay: 0.6s;
}
#svg_anime01_sp.on text,
#svg_anime01_sp.on .svg_txt {
	animation-delay: 0.9s;
}

/*svgアニメーション02*/
#svg_anime02.on #path01,
#svg_anime02.on #path02,
#svg_anime02.on #path03,
#svg_anime02.on text {
    opacity: 0;
    animation: fadein 1s ease forwards;
}
#svg_anime02.on #path01 {
	animation-delay: 0.1s;
}
#svg_anime02.on #path02 {
	animation-delay: 0.3s;
}
#svg_anime02.on #path03 {
	animation-delay: 0.6s;
}
#svg_anime02.on text {
	animation-delay: 0.9s;
}
/*svgアニメーション02_sp*/
#svg_anime02_sp.on #path01_sp,
#svg_anime02_sp.on #path02_sp,
#svg_anime02_sp.on #path03_sp,
#svg_anime02_sp.on text {
    opacity: 0;
    animation: fadein 1s ease forwards;
}
#svg_anime02_sp.on #path01_sp {
	animation-delay: 0.1s;
}
#svg_anime02_sp.on #path02_sp {
	animation-delay: 0.3s;
}
#svg_anime02_sp.on #path03_sp {
	animation-delay: 0.6s;
}
#svg_anime02_sp.on text {
	animation-delay: 0.9s;
}
/*svgアニメーション03*/
#svg_anime03.on #daen01,
#svg_anime03.on #daen02,
#svg_anime03.on #daen03,
#svg_anime03.on #daen04,
#svg_anime03.on text {
    opacity: 0;
    animation: fadein 1s ease forwards;
}
#svg_anime03.on #daen01 {
	animation-delay: 0.1s;
}
#svg_anime03.on #daen02 {
	animation-delay: 0.3s;
}
#svg_anime03.on #daen03 {
	animation-delay: 0.6s;
}
#svg_anime03.on #daen04 {
	animation-delay: 0.9s;
}
#svg_anime03.on text {
	animation-delay: 1.2s;
}
/*svgアニメーション03_sp*/
#svg_anime03_sp.on #daen01_sp,
#svg_anime03_sp.on #daen02_sp,
#svg_anime03_sp.on #daen03_sp,
#svg_anime03_sp.on #daen04_sp,
#svg_anime03_sp.on text {
    opacity: 0;
    animation: fadein 1s ease forwards;
}
#svg_anime03_sp.on #daen01_sp {
	animation-delay: 0.1s;
}
#svg_anime03_sp.on #daen02_sp {
	animation-delay: 0.3s;
}
#svg_anime03_sp.on #daen03_sp {
	animation-delay: 0.6s;
}
#svg_anime03_sp.on #daen04_sp {
	animation-delay: 0.9s;
}
#svg_anime03_sp.on text {
	animation-delay: 1.2s;
}
/*svgアニメーション04*/
#svg_anime04.on #circle01,
#svg_anime04.on #circle02,
#svg_anime04.on #circle03,
#svg_anime04.on #circle04,
#svg_anime04.on #circle05 {
    opacity: 0;
    animation: fadein 1s ease forwards;
}
#svg_anime04.on #circle01 {
	animation-delay: 0.1s;
}
#svg_anime04.on #circle02 {
	animation-delay: 0.3s;
}
#svg_anime04.on #circle03 {
	animation-delay: 0.6s;
}
#svg_anime04.on #circle04 {
	animation-delay: 0.9s;
}
#svg_anime04.on #circle05 {
	animation-delay: 1.2s;
}

/*svgアニメーション04_sp*/
#svg_anime04_sp.on #circle01_sp,
#svg_anime04_sp.on #circle02_sp,
#svg_anime04_sp.on #circle03_sp,
#svg_anime04_sp.on #circle04_sp,
#svg_anime04_sp.on #circle05_sp {
    opacity: 0;
    animation: fadein 1s ease forwards;
}
#svg_anime04_sp.on #circle01_sp {
	animation-delay: 0.1s;
}
#svg_anime04_sp.on #circle02_sp {
	animation-delay: 0.3s;
}
#svg_anime04_sp.on #circle03_sp {
	animation-delay: 0.6s;
}
#svg_anime04_sp.on #circle04_sp {
	animation-delay: 0.9s;
}
#svg_anime04_sp.on #circle05_sp {
	animation-delay: 1.2s;
}

/************************************
dio1
************************************/

/************************************
dio2
************************************/
#dio2 .about__img02 {
	width: 85%;
	margin: 0 0 75px auto;
}
#dio2 .about__img02 img {
	width: 100%;
}


/************************************
dio3
************************************/

/************************************
diotesla
************************************/
#diotesla .main__copy .main__copy_s {
	color: #fff;
}
#diotesla .main__copy h1 img {
	width: 80%;
}

#diotesla .lp__link {
	max-width: 1040px;
	width: 90%;
	margin: 0 auto 60px;
}
#diotesla .lp__link img {
	width: 100%;
}
#diotesla .lp__link:hover {
	filter: brightness(110%);
}

/************************************
dioepi
************************************/
#dioepi .product__in {
	margin: 0 0 40px;
}
#dioepi .product__txtWrap h3 span {
	color: #3987B7;
}
#dioepi .product_pointImg {
	margin: 0 0 40px;
}
#dioepi .product_pointImg img {
	width: 100%;
}
#dioepi .product_pointWrap h4 {
	font-size: 20px;
	text-align: center;
	margin: 0 0 50px;
	font-weight: bold;
}
#dioepi .product_pointWrap ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
#dioepi .product_pointWrap li {
	width: 32%;
	background: #212121;
	padding: 10px;
	margin: 0 2% 50px 0;
}
#dioepi .product_pointWrap li:nth-child(3n) {
	margin: 0 0 50px;
}
#dioepi .product_pointWrap img {
	display: block;
	max-width: 65px;
	width: 60%;
	margin: -40px auto 20px;
}
#dioepi .product_pointWrap h5 {
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	margin: 0 0 15px;
	letter-spacing: 0.08em;
	line-height: 1.5;
}
#dioepi .product_pointWrap p {
	font-size: 12px;
	line-height: 1.8;
}


/************************************
homecare_top
************************************/
/** 共通 **/
#homecare .section__headline {
	text-align: center;
}

/** main **/
#homecare .main__vis {
	margin: 0;
}

#homecare .main__copy {
	left: 50%;
	/* right: 5%; */
}

/** section01 **/
#homecare .section01__img {
	width: 80%;
	margin: 0 0 40px auto;
}
#homecare .section01__ttl {
	position: absolute;
	bottom: 0;
	left: auto;
	right: 30%;
	width: 65%;
}


/** homecare_img01 **/
#homecare .homecare_img01 {
	width: 85%;
	margin: 0 0 45px;
}
#homecare .homecare_img01 img {
	width: 100%;
}

/** section03 **/
#homecare .section03 {
	margin: 0 auto 75px;
}
#homecare .section03__headline {
	margin: 0 auto 20px;
	text-align: center;
}
#homecare .saloncare {
	background: #292929;
	padding: 45px 10%;
	margin: 0 auto 20px;
}
#homecare .saloncare__wrap {
}
#homecare .saloncare__img {
	position: static;
	width: 100%;
	margin: 0 auto 25px;
}
#homecare .saloncare__img img {
	width: 100%;
}
#homecare .saloncare__txtWrap h3 {
	font-size: 20px;
	font-weight: bold;
	display: flex;
	align-items: center;
	margin: 0 0 25px;
}
#homecare .saloncare__txtWrap h3::before {
	content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #FFFFFF;
	margin-right: 35px;
}
#homecare .saloncare__txtWrap p {
	font-size: 14px;
	margin: 0 0 25px;
}
#homecare .saloncare__link a {
	display: block;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	color: #FFFFFF;
}
#homecare .saloncare__link a:hover {
	text-decoration: underline;
}

.arrow_b {
	display: inline-block;
  width: 30px;
  height: 5px;
  border-bottom: 1px solid #474143;
  border-right: 1px solid #474143;
  transform: skew(45deg);
	margin: 0 0 0 40px;
	vertical-align: middle;
}

/************************************
brush
************************************/
/** main **/
#brush .main__copy {
	top: 60%;
	left: auto;
	right: 10%;
	text-align: right;
}
#brush .main__img {
	margin: 0 0 0 auto;
}
#brush .main__copy .main__copy_s {
	width: 100%;
}

/** section共通 **/
#brush .section__headline {
	margin: 0 auto 60px;
}

/** product **/
#brush .product__txtWrap {
	margin: 0 auto 20px;
}

/** about__img02 **/
#brush .about__img02 {
	width: 85%;
	margin: 0 0 90px;
}
#brush .about__img02 img {
	width: 100%;
}

/** detail **/
#brush .detail__wrap {
	background: #F2F2F2;
	color: #0D0D0D;
	padding: 30px 5%;
}
#brush .detail .section__headline {
	color: #16161A;
}
#brush .detail__in li {
	margin: 0 auto 50px;
}

/************************************
contact
************************************/
#contact {

}
#contact .main__copy h1::after,
#thanks .main__copy h1::after,
#privacypolicy .main__copy h1::after {
  bottom: -400%;
}
#contact .contact__wrap,
#thanks .thanks__wrap {
	max-width: 1180px;
	width: 90%;
	margin: 0 auto 50px;
	background: #fff;
	color: #16161A;
	padding: 60px 0;
}
#contact .contact__in,
#thanks .thanks__in {
	max-width: 940px;
	width: 90%;
	margin: 0 auto;
}

#contact .contact__txtWrap,
#thanks .thanks__txtWrap {
	position: relative;
	margin: 0 auto 100px;
}
#contact .contact__txtWrap:after,
#thanks .thanks__txtWrap:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -50px;
	-ms-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
  display: inline-block;
  width: 80%;
  height: 1px;
  background-color: #707070;
}
#contact .contact__flow,
#thanks .thanks__flow {
	display: flex;
	justify-content: space-between;
	font-weight: bold;
	margin: 0 auto 50px;
}
#contact .contact__step,
#thanks .contact__step {
	width: 30%;
}
#contact .contact__step p,
#thanks .contact__step p {
	font-size: 12px;
	text-align: center;
}
.flow__icon {
	display: block;
	margin: 0 auto 20px;
}
#contact .contact__txt,
#thanks .thanks__txt {
	text-align: center;
	margin: 0 auto 50px;
}
#contact .contact__txtB {
	text-align: center;
	font-weight: bold;
}

#contact .form__item {
	margin: 0 0 40px;
}

#contact .form__term {
	display: flex;
	align-items: flex-start;
	font-size: 14px;
	font-weight: bold;
	margin: 0 0 10px;
}
#contact .req {
	display: block;
	background: #0D0D0D;
	color: #fff;
	font-size: 12px;
	width: 60px;
	text-align: center;
	margin: 0 0 0 10px;
}
#contact .form__description {
	width: 100%;
}
#contact .form__msg {
	display: block;
	font-size: 12px;
	color: #BFBFBF;
	padding: 0 15px;
}
#contact .form__msg a {
	color: #0D0D0D;
	text-decoration: underline;
}

#contact .point .wpcf7-list-item {
	display: block;
}

/************************************
thanks
************************************/
#thanks .thanks__txtWrap {
	margin: 0 auto 110px;
}
#thanks .back__link {
	margin: 0 auto;
}
#thanks .back__link a {
	display: block;
	max-width: 400px;
	width: 90%;
	background: #0D0D0D;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	padding: 30px 5%;
	margin: 0 auto 20px;
}


/************************************
privacypolicy
************************************/
#privacypolicy .privacypolicy__in {
	max-width: 1180px;
	width: 90%;
	margin: 0 auto 50px;
}
#privacypolicy h2 {
	margin: 50px 0 10px;
	font-size: 20px;
}

/************************************
post
************************************/
article {

}
article h1{

}
article h2{

}
article h3{

}
article p{

}
article img{

}
article a{

}
/************************************
404
************************************/
#notfound{
	text-align: center;
}

/************************************
DIIO SKINCARE
************************************/
.skincare_title img {
	width: 80% !important;
}
.main_skincare_mainimage{
	width: 50% !important;
}

.skincare__txtWrap{
	width: 56% !important;
}
.skincare_boxInner{
	text-align: center;
	padding-top: 30px;
}

.skincare_pd_section{
	background: #eeeeee;
	padding: 140px 0;
}
.skincare_pd_Area{
	max-width: 1180px;
    width: 90%;
    margin: 0 auto 140px;
}
.skincare_pd_title{
	width: 80%;
	margin: 0 auto 43px;
}
.skincare_pd_title img{
	width: 100%;
}
.skincare_pd_flex{
	display: flex;
	width: 80%;
  	margin: 0 auto 80px;
	justify-content: space-between;
	color: #000;
}
.skincare_pd_col{
	width: 48%;
	background: #fff;
	border: solid 1px #aaaaaa;
}
.skincare_pd_col .pd_intro{
	font-weight: bold;
	font-size: 18px;
	text-align: center;
	line-height: 1.4;
  	padding: 7% 1%;
	min-height: 137px;
}
.skincare_pd_col .linetwo{
	padding: 9% 1%;
}
.skincare_pd_col .linefour{
	min-height: 162px;
	max-height: 162px;
}
.skincare_pd_col .pd_intro span{
	color: #9e7e45;
}
.skincare_pd_box{
	border-top: solid 1px #aaaaaa;
}
.skincare_pd_box_img{
	width: 72%;
	margin: 0 auto;
}
.skincare_pd_box_img img{
	width: 100%;
}
.skincare_pd_box .pd_price{
	font-size: 16px;
	text-align: center;
}
.skincare_pd_box .pd_attribute{
	color: #fff;
  	margin: 0 auto;
  	text-align: center;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	font-size: 14px;
	margin: 22px 0;
}
.skincare_pd_box .pd_attribute div{
	background: #5d9ccf;
	padding: 1px 4px;
	font-weight: bold;
	margin: 4px 5px;
}
.skincare_pd_detail{
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 30px;
}

.skincare_pd_col .caption{
	width: 38%;
  	margin: 18px auto;
}
.skincare_pd_col .caption img{
	width: 100%;
}
.skincare_pd_col .pd_intro02{
	padding: 1% 1%;
	min-height: 98px;
}

.skincare_pd_detail{
	font-size: 18px;
	font-weight: bold;
}
.skincare_pd_detail::after{
	content: url('common/images/dioskincare/arrow.png');
	position: relative;
  	top: 6px;
  	left: 3px;
}

.skincare_pd_detail a{
	color: #000;
}
.skincare_pd_detail:hover{
	opacity: 0.5;
}
.ac-box{
	width: auto;
	margin: 30px auto 5px;
	}
	
	.ac-box label{
	max-width: 385px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	margin: auto;
	line-height: 50px;
	position: relative;
	display: block;
	color: #000;
	transition: all 0.5s;
	}
	
	.ac-box input{
	display: none;
	}
	.ac-box label:after{
		content: url('common/images/dioskincare/arrow.png');
		position: relative;
  		top: 6px;
  		left: 2px;
	}
	.ac-box input:checked ~ label::after {
		content: url('common/images/dioskincare/arrow_under.png');
		transform: rotate(90deg)
	}
	.ac-box div{
	height: 0px;
	padding: 0px;
	overflow: hidden;
	transition: 0.5s;
	}
	.ac-box input:checked ~ div{
	height: auto;
	padding: 5px;
	opacity: 1;
	}
	.ac-box div p{
		color: #000;
		line-height: 23px;
		font-size: 14px;
		padding: 20px;
		text-align: justify;
	}
	.ac-box div p + p{
		padding-top: 0;
	}
	.ac-small .big_title{
		font-size: 18px !important;
		letter-spacing: 2px !important;
		padding-bottom: 10px !important;
	}
	.ac-small p{
		font-size: 14px;
	}
	.ac-small_detail{
		background: #eeeeee;
		padding: 10px !important;
		height: auto !important;
	}
	.ac-small_detail_name{
		font-size: 18px !important;
		text-align: center !important;
		padding: 10px !important;
	}
	.ac-small_detail_txt{
		font-size: 16px !important;
		text-align: left !important;
		padding: 10px !important;
	}
	.ac-small_notice{
		height: auto !important;
		>P{
			padding-bottom: .5em !important;
		}
		ul{
			color: #000;
			line-height: 23px;
			font-size: 14px;
			padding: 0 20px 20px;
			text-align: justify;
		}
	}
	@media screen and (max-width: 768px){
		.skincare_title{
			margin-top: 40% !important;
		}
		.skincare__txtWrap {
			width: 96% !important;
		}
		.skincare_image_sp{
			width: 56% !important;
		}
		.skincare_image_sp_inner{
			text-align: center;
		}
		.skincare_pd_section{
			padding: 40px 0;
		}
		.skincare_pd_title{
			width: 100%;
		}
		.skincare_pd_flex{
			width: 100%;
			display: block;
			margin: 0 auto 0px;
		}
		.skincare_pd_col{
			width: 100%;
			margin-bottom: 20px;
		}
		.skincare_pd_detail::after{
			display: none;
		}
		.skincare_pd_title{
			margin: 0 auto 20px;
		}
		.skincare_pd_title_sp{
			margin-top: 50px;
		}
		.skincare_pd_col .linefour{
			min-height: auto;
		}
		.skincare_pd_col .pd_intro{
			min-height: auto;
		}
		.skincare_pd_col .caption{
			margin: 4px auto;
		}
	}

/************************************
商品詳細
************************************/
	.skincare_mainimage{
		width: 80% !important;
	}
	.product_detail_page_cover{
		background: #fff;
		padding: 34px 0;
	}
	.product_detail_page{
		background: #fff;
		width: 100%;
		max-width: 1180px;
		margin: 0 auto;
		min-height: 350px;
	}
	.product_detail_page_wrap{
		width: 100% !important;
		max-width:none !important;
	}
	.product_detail_page_wrap .caption{
		text-align: center;
	}
	.product_detail_page_boxInner{
		background: #fff !important;
		text-align: center;
	}
	.product_detail_page_title{
		color: #9e7e45;
	}
	.product_detail_page_price{
		color: #000;
		text-align: center;
	}
	.product_detail_page .pd_attribute {
		color: #fff;
		margin: 0 auto;
		text-align: center;
		display: flex;
		flex-wrap: wrap;
		font-size: 14px;
		margin: 22px 0;
	}
	.product_detail_page .pd_attribute div {
		background: #5d9ccf;
		padding: 1px 4px;
		font-weight: bold;
		margin: 4px 5px;
		color: #fff;
	}
	.product_detail_page02{
		width: 80%;
		margin: 35px auto 0;
		max-width: 1180px;
	}
	.product_detail_page02:not(.product_detail_page02.notice){
		width: 80%;
		margin: 35px auto 0;
		max-width: 1180px;
		>* + *{
			margin-top: 1em;
		}
	}
	.product_detail_page02 .large_txt{
		font-size: 16px !important;
		text-align: left;
	}
	.product_detail_page02 p{
		font-size: 16px;
		color: #fff;
	}
	.product_detail_page02_sub{
		width: 80%;
		margin: 35px auto 0;
		background: #282828;
		padding: 50px 20px;
		max-width: 1180px;
	}
	.product_detail_page02_sub p{
		font-size: 16px;
		color: #fff;
		text-align: justify;
	}
	.product_detail_page02_sub .large_txt{
		font-size: 26px !important;
		margin-bottom: 20px;
		text-align: center;
	}
	.ex_product_Area{
		margin-top: 48px;
	}
	.ex_product_Area_title{
		font-size: 22px;
		font-weight: bold;
		color: #fff;
		text-align: center;
	}
	.ex_product_Area_flex{
		display: flex;
		justify-content: center;
	}
	.ex_product_detail{
		width: 214px;
		margin: 0 10px;
	}
	.ex_product_detail img{
		width: 100%;
	}
	.ex_product_detail p{
		font-size: 16px;
		color: #fff;
		text-align: center;
	}
	.ex_product_detail_back{
		font-size: 18px;
		color: fff;
		text-align: center;
		margin-top: 20px;
	}
	.ex_product_detail_back::after{
		content: url('common/images/dioskincare/arrow02.jpg');
		position: relative;
		  top: 6px;
		  left: 3px;
	}
	@media screen and (max-width: 768px){
		.product_detail_page02{
			width: 86%;
		}
		.product_detail_page{
			min-height: auto;
		}
		.product_detail_page_title{
			text-align: center;
			margin-bottom: 10px !important;
		}
		.product_detail_page .pd_attribute{
			justify-content: center;
			margin: 10px 0;
		}
		.product_detail_page{
			padding: 10px 0;
		}
		.product_detail_page02{
			padding-top: 18px;
		}
		.product_detail_page02 .large_txt {
			margin-bottom: 20px;
		}
		.product_detail_page .skincare__txtWrap{
			margin-bottom: 0 !important;
		}
		.product_detail_page_wrap .section__headline{
			margin: 0 auto 8px !important;
			line-height: 1.3;
		}
		.ex_product_detail p{
			font-size: 12px;
			line-height: 1.4;
			margin-top: 7px;
		}
		.product_detail_page02_sub{
			padding: 14px 18px;
			width: 90%;
		}
		.product_detail_page_wrap .caption{
			margin-bottom: 8px;
		}
	}

/************************************
HYDLUX
************************************/
#hydlux{
	img{
		max-width: 100%;
		height: auto;
		vertical-align: bottom;
	}
	.main__copy{
		width: 85%;
		left: 0;
		top: 84px;
		transform: translateY(0);
		h1{
			width: 475px;
			height: 92px;
			margin: 0 0 0 auto;
			img{
				width: 100%;
			}
		}
	}
	.aboutHydlux{
		>h2{
			text-align: center;
			font-size: 52px;
			margin-bottom: 40px;
			letter-spacing: 0;
		}
		.product__wrap{
			display: grid;
			grid-template-columns: 304px 1fr;
			grid-template-rows: auto auto 1fr;
			gap: 50px clamp( 30px, calc( -371.8604651162791px + 52.32558139534884vw ), 120px );
		}
		
		.itemImg{
			grid-column: 1;
			grid-row: 1 / 4;
			align-self: center;
		}
		.innerSec{
			grid-column: 2;
			h2{
				font-size: 34px;
				line-height: 1.61;
				letter-spacing: 0;
				margin-bottom: 40px;
			}
			p{
				max-width: 372px;
				margin-left: 37px;
				font-size: 16px;
				line-height: 1.81;
				font-weight: 700;
				letter-spacing: 0;
			}
		}
	}
	.link__banner{
		margin-top: 60px;
	}
}
.pagePdfBox{
	max-width: 940px;
	margin: 175px auto 0;
	>h2{
		font-size: 34px;
		margin-bottom: 44px;
	}
}
@media screen and (max-width: 767px){
	#hydlux{
		img{
			max-width: none;
			width: 100%;
		}
		.main__copy{
			width: 90%;
			top: auto;
			bottom: calc(calc(9/390) * 100vw);
			h1{
				width: calc(calc(340/390) * 100vw);
				height: calc(calc(66/390) * 100vw);
				margin: 0 calc(-1 * calc(calc(9/390) * 100vw)) 0 auto;
			}
		}
		.aboutHydlux{
			>h2{
				font-size: calc(calc(24/390) * 100vw);
				margin-bottom: calc(calc(45/390) * 100vw);
			}
			.product__wrap{
				width: calc(calc(332/390) * 100vw);
				grid-template-columns: 100%;
				grid-template-rows: auto auto auto 1fr;
				gap: calc(calc(47/390) * 100vw) 0;
			}
			
			.itemImg{
				grid-column: 1;
				grid-row: 4;
				width: calc(calc(170/390) * 100vw);
				justify-self: center;
			}
			.innerSec{
				grid-column: 1;
				h2{
					font-size: calc(calc(20/390) * 100vw);
					margin-bottom: calc(calc(45/390) * 100vw);
				}
				p{
					max-width: none;
					margin-left: 0;
					font-size: calc(calc(16/390) * 100vw);
				}
			}
		}
		.link__banner{
			margin-top: calc(calc(75/390) * 100vw);
		}
	}
	.pagePdfBox{
		max-width: calc(calc(350/390) * 100vw);
		margin: calc(calc(98/390) * 100vw) auto 0;
		>h2{
			font-size: calc(calc(20/390) * 100vw);
			margin-bottom: calc(calc(45/390) * 100vw);
		}
		.pdfWrapper{
			width: calc(calc(303/390) * 100vw);
			margin-inline: auto;
			._df_book{
				min-height: 0;
			}
		}
	}
}
/************************************
OVUL PRO USE
************************************/
#ovulProUse{
	img{
		max-width: 100%;
		height: auto;
		vertical-align: bottom;
	}
	.main__copy{
		left: 106px;
		top: auto;
		bottom: 146px;
		transform: translateY(0);
		h1{
			width: 312px;
			img{
				width: 100%;
			}
		}
		p{
			font-size: 18px;
			line-height: 1.6;
			font-weight: 700;
			margin-top: 27px;
			color: #8B989E;
			letter-spacing: 0;
		}
	}
	.catch{
		text-align: center;
		margin-top: 139px;
		font-size: 30px;
		line-height: 1.93;
		letter-spacing: 0;
		font-weight: 700;
		width: min(90%,943px);
		margin-inline: auto;
	}
	.about{
		margin-top: 90px;
		>h2{
			text-align: center;
			font-size: 52px;
			line-height: 1.59;
			margin-bottom: 45px;
			letter-spacing: 0;
		}
		.product__wrap{
			display: grid;
			grid-template-columns: 341px 1fr;
			gap: 0 clamp( 30px, calc( -403.1162790697674px + 56.395348837209305vw ), 127px );
		}
		
		.itemImg{
			grid-column: 1;
			grid-row: 1;
			align-self: center;
		}
		.innerSec{
			grid-column: 2;
			grid-row: 1;
			h2{
				max-width: 436px;
				font-size: 34px;
				line-height: 1.61;
				letter-spacing: 0;
				margin-bottom: 41px;
			}
			ul,p{
				max-width: 374px;
				margin-left: 40px;
				font-size: 16px;
				line-height: 1.81;
				font-weight: 700;
				letter-spacing: 0;
			}
			p{
				margin-top: 53px;
			}
		}
	}
	.link__banner{
		margin-top: 60px;
	}
}
@media screen and (max-width: 767px){
	#ovulProUse{
		img{
			max-width: none;
			width: 100%;
		}
		.main__copy{
			left: calc(calc(19/390) * 100vw);
			bottom: calc(calc(38/390) * 100vw);
			h1{
				width: calc(calc(134/390) * 100vw);
			}
			p{
				width: calc(calc(156/390) * 100vw);
				font-size: calc(calc(12/390) * 100vw);
				line-height: 1.5;
				margin-top: calc(calc(13/390) * 100vw);
			}
		}
		.catch{
			margin-top: calc(calc(80/390) * 100vw);
			font-size: calc(calc(18/390) * 100vw);
			line-height: 1.77;
			width: calc(calc(330/390) * 100vw);
			text-align: left;
		}
		.about{
			margin-top: calc(calc(77/390) * 100vw);
			>h2{
				font-size: calc(calc(25/390) * 100vw);
				margin-bottom: calc(calc(45/390) * 100vw);
			}
			.product__wrap{
				grid-template-columns: 100%;
				grid-template-rows: auto 1fr;
				gap: 0;
				width: calc(calc(330/390) * 100vw);
			}
			
			.itemImg{
				grid-column: 1;
				grid-row: 2;
				width: calc(calc(220/390) * 100vw);
				margin-top: calc(calc(44/390) * 100vw);
			}
			.innerSec{
				grid-column: 1;
				grid-row: 1;
				h2{
					max-width: none;
					font-size: calc(calc(20/390) * 100vw);
					margin-bottom: calc(calc(43/390) * 100vw);
				}
				ul,p{
					max-width: none;
					margin-left: 0;
					font-size: calc(calc(16/390) * 100vw);
				}
				p{
					margin-top: calc(calc(50/390) * 100vw);
				}
			}
		}
		.link__banner{
			margin-top: calc(calc(76/390) * 100vw);
		}
	}
}

/* フッターバナー */
.footerBanner{
	position: fixed;
	bottom: 1em;
	left: 50%;
	translate: -50% 0;
	z-index: 900;
	max-width: 940px;
	width: 100%;
	display: none;
	img{
		width: 100%;
		height: auto;
		margin: 0;
	}
	img{
		width: 100%;
		height: auto;
	}
}
@media (max-width:767px){
	.footerBanner{
		translate: 0;
		left: 0;
	}
}