
body{	
	background-image:none;
}

h1,
h2,
h3,
h3::after,
h5,
h4{
	background: none;
	border: none;
	box-shadow: none;
}

ul{margin:0; padding: 0;}
li{list-style-type: none;}

section ul,section ul li,section p,section ol,li,h5{
	margin: 0;
	padding: 0;
}
section ul li,section ol,section ol li{
	list-style: none;
}

#cmLp {
	color:#4d4d4d;
	font-family: "BIZ UDGothic", sans-serif;
}

#cmLp .inner {
    max-width: 1200px;
	width: 92%;
    margin: 0 auto;
}

#cmLp img {
	width: auto;
	max-width: 100%;
}

.flexBox {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.flexBox.rowReverse {
	flex-flow: row-reverse;
}

.textMode {
	writing-mode: tb-rl;
}

/* ＝＝＝＝＝＝＝＝＝＝
Animation
＝＝＝＝＝＝＝＝＝＝*/
.fadein {
  opacity : 0;
  transform : translate(0, 100px);
  transition : all 2s;
}
 
.fadein.active {
  opacity : 1;
  transform : translate(0, 0);
}

.roundAnime span img{
	animation: circle-round linear 12s infinite running;	
}

@keyframes circle-round {
	0% {
    transform: rotate(0deg);
  }
	100% {
    transform: rotate(360deg);
  }
}

/* ＝＝＝＝＝＝＝＝＝＝
mainVisual
＝＝＝＝＝＝＝＝＝＝*/

.mainVisual {
	background: url("../image/main_bg.jpg") no-repeat 50% 100%;
	background-size: cover;
}

.mainVisual .inner {
	position: relative;
	height:100%;
	min-height: 1100px;
}

.mainVisual .inner .photo01 {
	position: absolute;
	top:4.58%;
	left:8.17%;
}

.mainVisual .inner .photo02 {
	position: absolute;
	top:26.67%;
	right:0;
}

.mainVisual .inner .photo03 {
	position: absolute;
	bottom:18.33%;
	right:30px;
}

.mainVisual .inner .photo04 {
	position: absolute;
	bottom:5.83%;
	left:25.42%;
}

.mainVisual .inner .photo05 {
	position: absolute;
	bottom:27.5%;
	left:0;
}

.mainVisual .inner .photoBox {
	width: 312px;
	height: 182px;
	overflow: hidden;
	border-radius: 10px;
	position: relative;
}

#cmLp .mainVisual .inner .photoBox img {
	width: auto;
	max-width: unset;
	height: 100%;
	border-radius: 10px;
	right: 0;
	position: absolute;
	opacity: 0;
}

#cmLp .mainVisual .inner .photoBox img.active {
    opacity: 1;
	animation: anime03 15s linear infinite;
}

.mainVisual .inner .roundAnime {
	top:10.83%;
	right: 19.42%;
}

.mainVisual .inner .roundAnime div p {
    font-size: clamp(12px, 1.6vw, 16px);
	text-align: center;
	margin: 0 0 0 3px;
    font-weight: 600;
    letter-spacing: 6px;
}

.mainVisual .inner .text01 {
	position: absolute;
	top:23.75%;
	left:52.33%;
	animation-duration: 4s;
	animation-timing-function: ease;
	animation-delay: 2s;
	animation-iteration-count: 1;
	animation-name: anime01;
	opacity: 0;
	transition: opacity 2s ease-in-out;
}

.mainVisual .inner .text01.active {
	opacity: 1;
}

.mainVisual .inner .text01 p {
	font-size: clamp(18px, 2.6vw, 40px);
	line-height: 1.6;
	margin: 0;
}

.mainVisual .inner .text02 {
	position: absolute;
	top:23.75%;
	left:25.25%;
	animation-duration: 4s;
	animation-timing-function: ease;
	animation-delay: 2s;
	animation-iteration-count: 1;
	animation-name: anime01;
	opacity: 0;
	transition: opacity 2s ease-in-out;
}

.mainVisual .inner .text02 p {
	font-size: clamp(14px, 1.2vw, 18px);
	line-height: 3;
	margin: 0;
}

.mainVisual .inner .linkBtn {
    position: absolute;
    bottom: 29.75%;
    left: 50%;
    transform: translateX(-50%);
}

.mainVisual .inner .action01 {
	opacity: 0;
	transition: opacity 1s ease-in-out;
}

.mainVisual .inner .action01.active {
	opacity: 1;
}








@keyframes anime01 {
  0% {
    transform: translateX(-144px);
  }
	
  50% {
    transform: translateX(-144px);
  }
	
  100% {
    transform: translateX(0);
  }
}

@keyframes anime02 {
  0% {
    transform: translateX(-144px);
  }
	
  100% {
    transform: translateX(0);
  }
}

@keyframes anime03 {
  0% {
    transform: translateX(0);
  }
	
  100% {
    transform: translateX(50px);
  }
}

.photoBox:after {  
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 0; /* 初期状態は高さ0 */
  background-color: #000;
}

/* active クラスが付与されたときにアニメーションを実行 */
.photoBox.active:after {
  animation: overlayIn 0.7s 0s cubic-bezier(.77,0,.175,1),
             overlayOut 0.7s 0.7s cubic-bezier(.77,0,.175,1);
  animation-fill-mode: forwards; /* 最終フレームを維持 */
}



/* はじめにブロックを伸ばすアニメーション（上から下へ） */
@keyframes overlayIn {
  0% {
    height: 0;
  }
  100% {
    height: 100%;
  }
}

/* のびたブロックを下に追いやるアニメーション */
@keyframes overlayOut {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(100%);
  }
}




/* ＝＝＝＝＝＝＝＝＝＝
section共通
＝＝＝＝＝＝＝＝＝＝*/

#sec01,#sec02,#sec03,#sec04 {
	padding: 245px 0 105px;
	background: -webkit-linear-gradient(bottom, #f1f7f7 50%, #fff 50%, #fff);
	background: linear-gradient(to top, #f1f7f7 50%, #fff 50%, #fff);
	position: relative;
}

.secPhoto01 {
	margin-bottom: 50px;
}

.secPhoto01 img {
    border-radius: 0 80px 0 0;
}

.secCol {
	justify-content: flex-start;
}

.secPhoto02 {
	margin-right: 50px;
}

.secPhoto02 img {
    border-radius: 0 0 0 80px;
}

.secText {
    font-size: clamp(15px, 2vw, 30px);
    line-height: 1.8;
	margin-top: 30px;
}

.roundAnime {
	position: absolute;
	top:60%;
	right:20%;
}

.roundAnime div {
	position: relative;
}

.roundAnime div p {
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50%,-50%);
	font-size: clamp(18px, 2vw, 30px);
}

/* ＝＝＝＝＝＝＝＝＝＝
sec04
＝＝＝＝＝＝＝＝＝＝*/

#sec04 {
	margin-bottom: 245px;
}

/* ＝＝＝＝＝＝＝＝＝＝
sec05
＝＝＝＝＝＝＝＝＝＝*/

#sec05 {
	background: url("../image/sec05_photo01.jpg") no-repeat 50% 50%;
	background-size: 100%;
	padding: 27% 0 12.5%;
	position: relative;
	margin-bottom: 200px;
}

#sec05 p {
	font-size: clamp(18px, 2.6vw, 40px);
	line-height: 2;
	color:#231815;
}

#sec05 .rightText {
	position: absolute;
	top:27%;
	right: 24.75%;
}

#sec05 .leftText {
	position: absolute;
	top:27%;
	left:23.4%;
}

/* ＝＝＝＝＝＝＝＝＝＝
sec06
＝＝＝＝＝＝＝＝＝＝*/

#sec06 dl {
	position: relative;
}

#sec06 dl:before {
	content:"";
	position: absolute;
	top:5px;
	left: 0;
	width: 1px;
	height: calc(100% - 10px);
	background: #4d4d4d;
}

#sec06 dl:after {
	content:"";
	position: absolute;
	top:5px;
	right: 0;
	width: 1px;
	height: calc(100% - 10px);
	background: #4d4d4d;
}

#sec06 dl {
	position: relative;
	margin-bottom: 250px;
}

#sec06 dt {
	position: relative;
	line-height: 50px;
	text-align: center;
	font-size: clamp(16px, 1.2vw, 18px);
	letter-spacing: 2px;
}

#sec06 dt:before {
	content:"";
	position: absolute;
	top:0;
	left: 5px;
	width: calc(100% - 10px);
	height: 1px;
	background: #4d4d4d;
}

#sec06 dt:after {
	content:"";
	position: absolute;
	background: #ffff00;	
	top:5px;
	left: 5px;
	width: 100%;
	height: 100%;
	z-index: -1;
}

#sec06 dd {
    position: relative;
    align-items: center;
    padding: 25px 0 0 50px;
    justify-content: space-between;
    margin-bottom: 0;
    gap: 20px;
}

#sec06 dd:before {
	content:"";
	position: absolute;
	top:0;
	left: 5px;
	width: calc(100% - 10px);
	height: 1px;
	background: #4d4d4d;
}

#sec06 dd.borderB:after {
	content:"";
	position: absolute;
	bottom:0;
	left: 5px;
	width: calc(100% - 10px);
	height: 1px;
	background: #4d4d4d;
}

#sec06 dd .cate {
    width: 130px;
    height: 130px;
    border-radius: 300px;
    border: 2px dotted #b3b3b3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	font-size: 22px;
	color:#b3b3b3;
}

#sec06 dd .productPhoto {
    width: 27%;
}

#sec06 dd .productPhoto img {
    width: 100%;
}

#sec06 dd .textArea {
	width: calc(70% - 180px);
}

#sec06 dd h3 {
    font-size: clamp(18px, 2vw, 30px);
	margin: 0;
    padding: 0;
}

#sec06 dd p {
    font-size: clamp(15px, 1.2vw, 18px);
	line-height: 1.6;
}

#sec06 dd p a {
    text-decoration: underline;
	color:#0000ff;
}


/* ＝＝＝＝＝＝＝＝＝＝
sec07
＝＝＝＝＝＝＝＝＝＝*/

#sec07 dl {
	position: relative;
}

#sec07 dl:before {
	content:"";
	position: absolute;
	top:5px;
	left: 0;
	width: 1px;
	height: calc(100% - 10px);
	background: #4d4d4d;
}

#sec07 dl:after {
	content:"";
	position: absolute;
	top:5px;
	right: 0;
	width: 1px;
	height: calc(100% - 10px);
	background: #4d4d4d;
}

#sec07 dl {
	position: relative;
	margin-bottom: 250px;
}

#sec07 dt {
	position: relative;
	line-height: 50px;
	text-align: center;
	font-size: clamp(16px, 1.2vw, 18px);
	letter-spacing: 2px;
}

#sec07 dt:before {
	content:"";
	position: absolute;
	top:0;
	left: 5px;
	width: calc(100% - 10px);
	height: 1px;
	background: #4d4d4d;
}

#sec07 dt:after {
	content:"";
	position: absolute;
	background: #ffff00;	
	top:5px;
	left: 5px;
	width: 100%;
	height: 100%;
	z-index: -1;
}

#sec07 dd {
    position: relative;
    align-items: center;
    padding: 25px 0 0 50px;
    justify-content: space-between;
    margin-bottom: 0;
    padding: 60px 25px 30px;
}

#sec07 dd:before {
	content:"";
	position: absolute;
	top:0;
	left: 5px;
	width: calc(100% - 10px);
	height: 1px;
	background: #4d4d4d;
}

#sec07 dd:after {
	content:"";
	position: absolute;
	bottom:0;
	left: 5px;
	width: calc(100% - 10px);
	height: 1px;
	background: #4d4d4d;
}

#sec07 .movie {
    position: relative;
    width: 48%;
	padding-bottom: 27%;
}

#sec07 .movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}



/* ＝＝＝＝＝＝＝＝＝＝
pageTop
＝＝＝＝＝＝＝＝＝＝*/

#pageTop {
    display: none;
    position: fixed;
    bottom: 35px;
    right: 20px;
    text-decoration: none;
    z-index: 1000;
    text-align: center;
    padding: 12px;
    background: #ebc9b4;
    font-weight: bold;
    font-size: 90%;
    width: 30px;
    height: 30px;
    border-radius: 50px;
}

#pageTop a:hover {
	text-decoration: none;
}

#pageTop a img {
	width: 100%;
}

@media screen and (max-width: 768px) {
	#pageTop {
		bottom: 10px;
		right: 10px;
		padding: 10px;
		font-size: 70%;
		width: 25px;
    	height: 25px;
	}
}




@media screen and  (min-width: 320px) and (max-width: 767px) {
	
/* ＝＝＝＝＝＝＝＝＝＝
mainVisual
＝＝＝＝＝＝＝＝＝＝*/

	.mainVisual .inner {
		min-height: 660px;
	}	
	
	.mainVisual .inner .text01 {
		top: 20%;
		left: 60%;
		animation-name: anime04;
	}
	
	.mainVisual .inner .text02 {
		top: 20%;
		left: 12%;
		animation-name: anime04;
	}
	
	@keyframes anime04 {
	  0% {
		transform: translateX(-75px);
	  }

	  50% {
		transform: translateX(-75px);
	  }

	  100% {
		transform: translateX(0);
	  }
	}	
	
	
	.mainVisual .inner .text02 p {
		line-height: 2;
	}	
		
	.mainVisual .inner .photoBox {
        width: 156px;
        height: 91px;
    }
	
	.mainVisual .inner .photo01 {
		top: 3.58%;
		left: 5.17%;
	}
	
	.mainVisual .inner .photo02 {
		top:auto;
		bottom: 35%;
		right: 1%;
	}
	
	.mainVisual .inner .photo03 {
		bottom: 19%;
        right: 6%;
	}

	.mainVisual .inner .photo04 {
		bottom: 24%;
		left: 0;
	}	
	
	.mainVisual .inner .photo05 {
        bottom: 40%;
        left: 5%;
    }	

	.mainVisual .inner .linkBtn {
		bottom: 6%;
	}	
	
	.mainVisual .inner .roundAnime {
		top: 3%;
		right: 6%;
	}
	
	.mainVisual .inner .roundAnime div {
		width: 88px;
	}

	.mainVisual .inner .roundAnime div p {
		font-size: 8px;
		letter-spacing: 2px;
        margin-left: 0;
	}

	
/* ＝＝＝＝＝＝＝＝＝＝
section共通
＝＝＝＝＝＝＝＝＝＝*/
	
	#sec01, #sec02, #sec03, #sec04 {
		padding: 14vw 0 14vw;
	}
	
	.secPhoto01 {
		margin-bottom: 25px;
	}	
	
	.secPhoto01 img {
		border-radius: 0 50px 0 0;
	}	
	
	.secPhoto02 {
		width: 46%;
		margin-right: 10px;
	}
	
	.secPhoto02 img {
		border-radius: 0 0 0 50px;
	}	
	
	.secText {
		margin-top: 10px;
		line-height: 1.6;
	}
	
	.roundAnime {
		top: 55%;
		right: 4%;
	}
	
	.roundAnime div {
		width: 55px;
	}	
	
/* ＝＝＝＝＝＝＝＝＝＝
sec04
＝＝＝＝＝＝＝＝＝＝*/	

	#sec04 {
		margin-bottom: 15vw;
	}	
	
/* ＝＝＝＝＝＝＝＝＝＝
sec05
＝＝＝＝＝＝＝＝＝＝*/	
	
	#sec05 {
		padding: 32% 0;
        margin-bottom: 15vw;
        background-size: cover;
	}	
	
	#sec05 p {
		line-height: 1.6;
	}	
	
	#sec05 .rightText {
		right: 15%;
		top: 20%;
	}
	
	#sec05 .leftText {
		left: 14%;
		top: 20%;
	}	
	
/* ＝＝＝＝＝＝＝＝＝＝
sec06
＝＝＝＝＝＝＝＝＝＝*/		
	
	#sec06 dl,#sec07 dl {
		margin-bottom: 50px;
	}
	
	#sec06 dd {
		padding: 20px 0 0 20px;
		gap: 10px;
		justify-content: flex-start;
	}	
	
	 #sec06 dd .cate {
        width: 70px;
        height: 70px;
        font-size: 14px;
    }
	
	#sec06 dd .productPhoto {
		width: 73%;
	}
	
	#sec06 dd .textArea {
		width: 100%;
		margin-bottom: 20px;
	}

	#sec06 dd h3 {
		margin: 0 0 5px;
	}
	
/* ＝＝＝＝＝＝＝＝＝＝
sec07
＝＝＝＝＝＝＝＝＝＝*/		
		
	
	#sec07 dd {
		margin-bottom: 0;
		padding: 35px 25px 10px;
	}

	
	#sec07 .movie {
		width: 100%;
		padding-bottom: 56.25%;
		margin-bottom: 25px;
	}	
	
	
	

}

@media screen and  (max-width: 321px) {
	
/* ＝＝＝＝＝＝＝＝＝＝
mainVisual
＝＝＝＝＝＝＝＝＝＝*/
		
	.mainVisual .inner .photoBox {
        width: 132px;
        height: 77px;
		border-radius: 0;
    }
	
	.mainVisual .inner .photoBox img {
		border-radius: 0;
	}
	
	

}





@media screen and  (min-width: 768px) and (max-width: 1024px) {
	
	#contents {
		width: 100%;
	}		
	
	
/* ＝＝＝＝＝＝＝＝＝＝
mainVisual
＝＝＝＝＝＝＝＝＝＝*/

	.mainVisual .inner {
		min-height: 840px;
	}	
	
	.mainVisual .inner .text01 {
		top: 27%;
		left: 55.33%;
	}
	
	.mainVisual .inner .text02 {
		top: 27%;
	}
		
	.mainVisual .inner .photoBox {
		width: 216px;
		height: 126px;
	}
	
	.mainVisual .inner .photo02 {
		top: 40%;
	}
	
	.mainVisual .inner .photo03 {
		bottom: 28%;
	}

	.mainVisual .inner .photo04 {
		bottom: 12%;
	}	
	
	.mainVisual .inner .photo05 {
		bottom: 37%;
	}	

	.mainVisual .inner .linkBtn {
		bottom: 38%;
	}	
	
	.mainVisual .inner .roundAnime {
		top: 6%;
		right: 12%;
	}

	.mainVisual .inner .roundAnime div p {
		font-size: 12px;
	}


/* ＝＝＝＝＝＝＝＝＝＝
section共通
＝＝＝＝＝＝＝＝＝＝*/
	
	#sec01, #sec02, #sec03, #sec04 {
		padding: 20vw 0 10vw;
	}
	
	.secPhoto02 {
		width: 52%;
		margin-right: 30px;
	}
	
	.roundAnime {
		top: 56%;
		right: 5%;
	}
	
	.roundAnime div {
		width: 120px;
	}	
	
/* ＝＝＝＝＝＝＝＝＝＝
sec04
＝＝＝＝＝＝＝＝＝＝*/	

	#sec04 {
		margin-bottom: 15vw;
	}	
	
/* ＝＝＝＝＝＝＝＝＝＝
sec05
＝＝＝＝＝＝＝＝＝＝*/	
	
	#sec05 {
		padding: 38% 0 12.5%;
		margin-bottom: 15vw;
	}	
	
	#sec05 .rightText {
		right: 21.75%;
	}
	
	#sec05 .leftText {
		left: 21.4%;
	}	
	
/* ＝＝＝＝＝＝＝＝＝＝
sec06
＝＝＝＝＝＝＝＝＝＝*/		
	
	#sec06 dl,#sec07 dl {
		margin-bottom: 100px;
	}
	
	#sec06 dd {
		padding: 20px 0 0 20px;
		gap: 10px;
	}	
	
	#sec06 dd .cate {
		width: 90px;
		height: 90px;
		font-size: 16px;
	}
	
	#sec06 dd .productPhoto {
		width: 24%;
	}
	
	#sec06 dd .textArea {
		width: calc(76% - 130px);
	}
	
	
	
	
	
	
	
	
	
}
