@charset "utf-8";
/* CSS Document */


/* ================================================== */
/* 共通設定 */
/* ================================================== */


.wrap {
	width: 85%;
	margin-left: auto;
	margin-right: auto;
}

.wrap.middle {
	position: absolute;
	top: 45%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}



@media only screen and (max-width: 480px) {

.wrap {
	width: 80%;
}
	
}


@media only screen and (max-width: 320px) {

.wrap {
	width: 85%;
}

}


/* ================================================== */
/* お問い合わせボタン*/
/* ================================================== */

.btn {
	max-width: 520px;
    width: 75%;
    margin: auto;
}

.btn a,
.contact .btn2 p {
	display: block;
    position: relative;
    width: 100%;
    padding:25px 0px;
	background-color: #ffffff;
	font-size:1.8rem;
	font-weight:400;
	border:solid 1px #A8A8A8;
	transition: all 0.8s;
}


.btn a span,
.contact .btn2 p span {
	/*絶対配置でテキストの位置を決める*/
	position: absolute;
	left: 50%;
	top:50%;
	transform:translate(-50%,-50%);
	/*アニメーションの指定*/
	transition: all 1.5s;
	/*ブロック要素にしてテキスト折り返しなし*/  
	display: block;
	white-space: nowrap;
}


.btn a:hover {
	background-color: #A8A8A8;
}

.btn a .jp,
.contact .btn2 p .jp {
	opacity:0;
}

.btn a:hover .eng,
.contact:hover .btn2 p .eng {
	opacity:0;
}

.btn a:hover .jp,
.contact:hover .btn2 p .jp {
	opacity:1;
	color:#ffffff;
}

.contact .btn2 {
	position: relative;
	z-index: 1;
}

.contact .btn2 p {
	border:solid 1px #ffffff;
	color:#ffffff;
	line-height: normal;
	background-color: transparent;
}

.contact:hover .btn2 p {
	background-color: rgba(255,255,255,0.8);
}

.contact:hover .btn2 p .jp {
	color:#5f5f5f;
}




@media only screen and (max-width: 768px) {


.btn a .jp,
.contact .btn2 p .jp {
    opacity: 1;
}

.btn a .eng,
.contact .btn2 p .eng {
    opacity: 0;
}


}


@media only screen and (max-width: 480px) {

.btn {
    width: 85%;
}

.btn a,
.contact .btn2 p {
	font-size:1.4rem;
	padding: 20px 0px;
}

}



/* ================================================== */
/* #mainview */
/* ================================================== */

#mainview {
	position: relative;
	overflow: hidden;
}

#mainview .wrap {
	max-width: 900px;
}

#mainview .catch {
	color:#FFF;
	max-width: 380px;
    width: 100%;
	text-align: center;
}

#mainview .catch p {
	margin-bottom: 30px;
}

#mainview .catch p br {
    display: none;
}

#mainview .catch img.sp {
	display: none;
}

#mainview .catch h2 {
	margin-top: 30px;
	font-size:3.4rem;
}

#mainview .catch h2 span {
	display: none;
}


#mainview .catch .delay.active {
	animation: b-fadein 2s both;
}

#mainview .catch .delay.active:nth-child(1){
	animation-delay: 1.0s;
}

#mainview .catch .delay.active:nth-child(2){
	animation-delay: 1.5s;
}

#mainview .catch .delay.active:nth-child(3){
	animation-delay: 2.0s;
}





#mainview .scroll {
	position:absolute;
	bottom:0px;
	left:50%;
}

.scroll:before {
    content: "";
    position: absolute;
    bottom:0;
    left:-4px;
	width:9px;
	height:9px;
	border-radius: 50%;
	background:#ffffff;
	animation:
		circle 2s ease-in-out infinite,
		cirlehide 2s ease-out infinite;
}


@keyframes circle {
      0%{bottom:90px;}
     100%{bottom:10px;}
 }

@keyframes cirlehide {
      0%{opacity:0}
     30%{opacity:1;}
    80%{opacity:0.9;}
	100%{opacity:0;}
 }

.scroll:after {
	content:"";
	position: absolute;
	bottom:0;
	left:0;
	width:1px;
	height: 100px;
	background:#ffffff;
}


#mainview .mainview_contents {
	position:relative;
	background-color: #ffffff;
	background-size: cover;
    background-repeat: no-repeat;
    background-position:center bottom;
	background-image: url(/towel/img/mv_bg.jpg);
	width: 100%;
	min-height: 100vh;
	z-index: -1;
}


#mainview .zoomout.active {
      animation: ZoomOut 3s both;
}

@keyframes ZoomOut {
      0% { 
		  opacity: 0.5;
		  transform:scale(1.1)
	} 
      100% { 
		  opacity: 1.0;
		  transform:scale(1.0)
	} 
}




@media only screen and (max-width: 1024px) {

#mainview .mainview_contents {
	background-position: center;
	background-image: url(/towel/img/mv_bg_sp.jpg);
}

#mainview .catch {
    max-width: 500px;
    text-align: left;
}

#mainview .catch p {
    font-size:2.4rem;
}

#mainview .catch p br {
    display: block;
}

#mainview .catch h2 {
    font-size: 4.5rem;
}


}


@media only screen and (max-width: 768px) {

#mainview .catch {
    max-width: 60%;
	text-align: center;
	margin: auto;
}

#mainview .catch p {
    font-size: 1.6rem;
    line-height: 1.5;
}

#mainview .catch img.pc {
    display: none;
}

#mainview .catch img.sp {
    display:block;
	width: 85%;
    margin: auto;
}

#mainview .catch h2 {
    font-size: 2.0rem;
}

#mainview .catch h2 span {
    display: block;
}

#mainview .scroll {
    display: none;
}


}



@media only screen and (max-width: 480px) {

#mainview .wrap {
	width:80%;
}

#mainview .catch {
    max-width: 85%;
}

#mainview .catch p {
    font-size: 1.4rem;
    line-height: 2;
	margin-bottom: 15px;
}

#mainview .catch h2 {
    font-size: 1.8rem;
	margin-top: 15px;
}



}


/* ================================================== */
/* #message */
/* ================================================== */

#message {
	position: relative;
	padding:150px 0px 100px;
}

#message:after {
	content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 25%;
    width: 100%;
    z-index: -1;
	background-color:#F8F8F8;
}

#message .img_box {
	max-width:33%;
	width:100%;
	margin-right: 7%;
}

#message .img_box img.sp {
	display: none;
}

#message .text_box {
	width:60%;
	margin-top: 50px;
}

#message .text_box .title {
	position: relative;
	font-size:2.4rem;
	margin-bottom: 80px;
}

#message .text_box .title:after {
	content:url(/towel/img/line1.svg);
    position: absolute;
    top: -90px;
    left: -40px;
    width: 200px;
    z-index: -1;
}

#message .text_box .title span {
	display: block;
	font-size:1.8rem;
	margin-bottom: 30px;
}

#message .text_box p {
	line-height: 2.5;
}

#message .text_box .phrase {
	font-size:1.8rem;
	margin-top: 70px;
	line-height: 2;
}





@media only screen and (max-width: 1024px) {


#message .img_box {
    max-width: 40%;
    margin-right: 5%;
}

#message .text_box {
    width: 55%;
}

#message:after {
    height: 20%;
}


}



@media only screen and (max-width: 768px) {

#message {
    padding: 100px 0px;
}

#message .img_box {
    max-width: 65%;
    margin-right: 0%;
	margin-left: 35%;
}

#message .img_box img.pc {
    display: none;
}

#message .img_box img.sp {
    display: block;
}

#message .text_box {
    width: 85%;
	margin: auto;
}
	
#message .text_box .title {
    margin-bottom: 50px;
}

#message .text_box .phrase {
    margin-top: 50px;
}

#message:after {
    display: none;
}

}


@media only screen and (max-width: 420px) {

#message {
    padding: 80px 0px;
}

#message .img_box {
    max-width: 60%;
	margin-left: 40%;
}

#message .text_box {
	margin:-10px auto 0px;
	position: relative;
	z-index: 1;
}

#message .text_box .title {
    font-size: 1.6rem;
    margin-bottom: 50px;
}

#message .text_box .title span {
    font-size: 1.4rem;
    margin-bottom: 20px;
}

#message .text_box p {
    text-align: justify;
}

#message .text_box p br {
    display: none;
}

#message .text_box .phrase {
    font-size: 1.5rem;
    margin-top: 50px;
}

#message .text_box .phrase br {
    display: none;
}


}



/* ================================================== */
/* #product*/
/* ================================================== */

#product {
	padding:80px 0px 120px;
	background-color:#F8F8F8;
}

#product .title {
	font-size:2.4rem;
	margin-bottom: 80px;
	text-align: center;
}

#product .title br {
	display: none;
}

#product .title span {
	display: block;
	font-size:1.4rem;
	margin-top: 30px;
}

#product .inner {
    max-width: 1100px;
    width: 85%;
    margin: 0 auto;
}

#product img {
	width:100%;
	margin-bottom: 80px;
}

#product img.sp {
	display: none;
}



@media only screen and (max-width: 768px) {

#product {
    padding: 100px 0px;
}

#product .title {
    margin-bottom: 50px;
}

#product img {
    margin-bottom: 50px;
}


}


@media only screen and (max-width: 420px){

#product {
    padding: 80px 0px;
}

#product .title {
    font-size: 2.0rem;
}

#product .title br {
    display:block;
}
	
#product .inner {
    width: 100%;
}

#product img.pc {
    display:none;
}

#product img.sp {
    display: block;
	margin-bottom: 50px;
	width: 95%;
    margin-left: auto;
}



}


/* ================================================== */
/* #scene*/
/* ================================================== */

#scene {
	padding:150px 0px 200px;
}

#scene .title {
	position: relative;
	font-size:2.4rem;
	margin-bottom: 80px;
	text-align: center;
}

#scene .title:after {
    content: url(/towel/img/line2.svg);
    position: absolute;
    top: -60px;
    left: 50px;
    right: 0;
    margin: auto;
    width: 360px;
    z-index: -1;
}

#scene .title span {
	display: block;
	font-size:1.4rem;
	margin-top: 30px;
}


#scene .case_title {
    font-size:1.5rem;
	margin-bottom:20px; 
}

#scene .case_text {
    font-size:1.3rem;
}

#scene .case1,#scene .case2,#scene .case3,#scene .case4 {
	position: relative;
	margin: 120px auto 200px;
}

#scene .case1 .left_box {
	width:40%;
	margin-right: 7%;
}

#scene .case1 .right_box {
    width: 38%;
	margin-top: 300px;
    margin-right: 15%;
}

#scene .case1 .right_box img {
	margin-top: 50px;
}

#scene .case2 .left_box {
	width: 20%;
    margin-left: 15%;
    margin-right: 10%;
    margin-top: 180px;
    writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
}

#scene .case2 .case_title {
    margin-left: 20px;
}

#scene .case2 .case_text {
    margin-top: 50px;
}

#scene .case2 .right_box {
    width: 45%;
    margin-right:10%;
}

#scene .case3 .left_box {
	width: 50%;
    margin-right: 5%;
}

#scene .case3 .right_box {
	width: 30%;
    margin-right: 15%;
    margin-top: 200px;
}


#scene .case4 .left_box {
    width: 23%;
    margin-right: 5%;
    margin-left: 22%;
	margin-top: 200px;
}

#scene .case4 .right_box {
	width: 40%;
    margin-right: 10%;
}

#scene .case4 .img_box {
	position: relative;
    width: 35%;
    margin-top: -150px;
    margin-left: 18%;
}



/*グレー背景位置*/

#scene .bg {
    content: "";
    position: absolute;
    z-index: -1;
    background-color: #F8F8F8;
}

#scene .case1 .bg {
    top: 100px;
    left: 0;
    height: 80%;
    width: 80%;
}

#scene .case2 .bg {
    top: 150px;
    left: 0;
    height: 100%;
    width: 80%;
}

#scene .case3 .bg {
	top: 80px;
    right: 15%;
    height: 100%;
    width: 40%;
}

#scene .case4 .bg {
	top: 80px;
    right: 0;
    left: 0;
    margin: auto;
    height: 100%;
    width: 75%;
}





 


@media only screen and (max-width: 1024px) {

#scene {
    padding: 150px 0px 100px;
}

#scene .case1, #scene .case2, #scene .case3, #scene .case4 {
    margin: 100px auto 150px;
}

#scene .case1 .right_box {
    margin-top: 200px;
}

#scene .case4 .img_box {
    margin-top: -100px;
}


#scene .case1 .bg {
    height: 75%;
    width: 90%;
}

#scene .case3 .bg {
    right: 8%;
    width: 50%;
}




}


@media only screen and (max-width: 768px) {

#scene {
    padding: 120px 0px 100px;
}

#scene .title {
    margin-bottom: 50px;
}

#scene .case1, #scene .case2, #scene .case3, #scene .case4 {
    margin: 80px auto 80px;
}

#scene .case1 .left_box {
    width: 70%;
	height: 50vh;
    margin-right: auto;
    margin-left: auto;
	position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(/towel/img/case1_img1.jpg);
}

#scene .case1 .left_box img {
    display: none;
}

#scene .case1 .right_box {
    margin-top: 0px;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 20px;
    margin: auto;
    width: 65%;
    color: #ffffff;
}

#scene .case1 .right_box img {
    display: none;
}

#scene .case_title {
    margin-bottom: 5px;
}

#scene .case_text br {
    display: none;
}


#scene .case2 .right_box {
    margin-left: auto;
	width: 70%;
    height: 50vh;
    margin-right: auto;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(/towel/img/case2_img1.jpg);
}

#scene .case2 .right_box img {
    display: none;
}

#scene .case2 .left_box {
    width: 65%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    right: 0;
    left: 0;
    writing-mode: horizontal-tb;
	-ms-writing-mode:lr-tb;
    position: absolute;
    z-index: 2;
    color: #ffffff;
    bottom: 20px;
}

#scene .case2 .case_title {
    margin-left: 0px;
}

#scene .case2 .case_text {
    margin-top: 0px;
}


#scene .case3 .left_box {
    width: 70%;
    height: 50vh;
    margin-right: auto;
	margin-left: auto;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(/towel/img/case3_img1.jpg);
}

#scene .case3 .left_box img {
    display: none;
}

#scene .case3 .right_box {
    margin-top: 0px;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 20px;
    margin: auto;
    width: 65%;
    color: #ffffff;
}



#scene .case4.fl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
}

#scene .case4 .right_box {
	width: 70%;
    height: 50vh;
    margin-right: auto;
	margin-left: auto;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(/towel/img/case4_img1.jpg);
}

#scene .case4 .right_box img {
    display: none;
}

#scene .case4 .left_box {
    margin: 50px 55% 0px 15%;
    width: 30%;
}

#scene .case4 .img_box {
    margin-top: auto;
    position: absolute;
    width: 40%;
    right: 10%;
	bottom: 30px;
    margin-left: 0%;
}


#scene .bg {
    display: none;
}


}



@media only screen and (max-width: 420px) {

#scene {
    padding: 80px 0px 80px;
}

#scene .title {
    font-size: 2.0rem;
}

#scene .title:after {
	top: -40px;
    left: 0px;
    max-width: 300px;
}

#scene .case1, #scene .case2, #scene .case3, #scene .case4 {
    margin: 0px auto 10px;
}

#scene .case1 .left_box,#scene .case2 .right_box,#scene .case3 .left_box {
    width: 100%;
}

#scene .case1 .right_box,#scene .case2 .left_box,#scene .case3 .right_box {
	width:90%;
}

#scene .case4 {
	margin-bottom:50px;
}

#scene .case4 .right_box {
    width: 75%;
	height:35vh;
    margin-right: auto;
    margin-left: 0px;
}

#scene .case4 .left_box {
    margin: 30px 47.5% 0px 7.5%;
    width: 45%;
}

#scene .case4 .img_box {
    width: 45%;
    right: 0%;
    bottom: 80px;
}



}





/* ================================================== */
/* #about*/
/* ================================================== */

#about {
	padding:80px 0px 150px;
}

#about .title {
	position: relative;
	font-size:2.4rem;
	margin-bottom: 120px;
	text-align: center;
}

#about .title span {
	display: block;
	font-size:1.4rem;
	margin-top: 30px;
}


#about .title:after {
    content: url(/towel/img/line3.svg);
    position: absolute;
    top: -50px;
    left: 30px;
    right: 0;
    margin: auto;
    width: 350px;
    z-index: -1;
}



#about .inner {
    max-width: 1100px;
    width: 85%;
    margin: 0 auto;
}



#about .midashi {
	display: block;
	padding:5px 15px;
	font-size:2.0rem;
    background-color: #F8F8F8;
}

#about .midashi span {
	padding-left:20px;
	border-left:solid 1px #5f5f5f;
	margin-left: 20px;
}



#about .content1 {
	margin-top: 70px;
	align-items: flex-end;
}

#about .content1 .left_box {
	width:41%;
	margin-right: 7%;
}

#about .content1 .left_box h4 {
	margin-bottom: 30px;
	font-size:1.5rem;
}

#about .content1 .left_box h4:last-of-type {
	margin-top: 80px;
}

#about .content1 .left_box p {
	text-align: justify;
}


#about .content1 .img_box {
	width:16%;
	margin-right: 3%;
}

#about .content1 .right_box {
	width:33%;
}

#about .content1 .right_box p {
	font-size:1.3rem;
	text-align: justify;
}

#about .content1 .right_box p span {
	display: block;
}

#about .content1 .right_box p:nth-of-type(2) {
	border-top:solid 1px #5f5f5f;
	border-bottom:solid 1px #5f5f5f;
	padding:3px 10px;
	margin: 7px 0px;
}

#about .content1 .right_box p.notes {
	font-size:1.2rem;
}


#about .content2 {
	max-width: 800px;
    width: 85%;
    margin: 100px auto 150px;
}

#about .content2 img.sp {
	display: none;
}

#about .content2 p {
	margin-top: 30px;
	text-align: center;
	background-color: #81B5B7;
	padding:5px 10px;
	color:#ffffff;
	font-size:1.6rem;
	font-weight: 400;
}


#about .content3 .spec {
	margin-top:50px;
	align-items: flex-start;
}

#about .content3 .spec table {
	width:32%;
    font-size: 1.2rem;
}


#about .content3 .spec table:nth-child(1),
#about .content3 .spec table:nth-child(2) {
	width:35%;
}

#about .content3 .spec table:nth-child(3) {
	width:25%;
}

#about .content3 .spec table th,
#about .content3 .spec table td {
	padding:5px 0px;
    vertical-align: middle;
    font-weight: 400;
}

#about .content3 .spec table th {
	display: flex;
	justify-content: space-between;
}

#about .content3 .spec table td {
	width:80%;
	text-indent: -1.5rem;
    padding-left: 1.5rem;
}

#about .content3 .spec table td:before {
	content: "：";
}


#about .content3 .detail {
	margin-top:80px;
}

#about .content3 .detail table {
	width:100%;
	font-size: 1.2rem;
}

#about .content3 .detail table thead {
	background-color: #81B5B7;
	color:#ffffff;
}

#about .content3 .detail table thead th {
	font-size:1.3rem;
	text-align: center;
	font-weight:400;
}


#about .content3 .detail table thead th.cate1 {
	width:8%;
}

#about .content3 .detail table thead th.cate2 {
	width:14%;
}

#about .content3 .detail table thead th.cate3 {
	width:28%;
}

#about .content3 .detail table thead th.cate4 {
	width:13%;
}

#about .content3 .detail table thead th.cate5 {
	width:32%;
}

#about .content3 .detail table th,
#about .content3 .detail table td {
	vertical-align: middle;
    padding: 10px;
}

#about .content3 .detail table td {
	background-color: #F8F8F8;
	border:solid 3px #ffffff;
}

#about .content3 .slide_text {
    display: none;
}




@media only screen and (max-width: 1024px) {

#about {
    padding: 80px 0px 100px;
}

#about .title {
    margin-bottom: 80px;
}
	
#about .content1 {
    align-items: center;
}

#about .content1 .left_box {
    width: 40%;
    margin-right: 5%;
}

#about .content1 .img_box {
    width: 18%;
    margin-right: 2%;
}

#about .content1 .right_box {
    width: 35%;
}

#about .content2 {
    margin: 100px auto 100px;
}

#about .content3 .spec table:nth-child(1),
#about .content3 .spec table:nth-child(2),
#about .content3 .spec table:nth-child(3) {
    width: 48%;
}


}



@media only screen and (max-width: 768px) {

#about .content1 {
    margin-top: 50px;
}

#about .content1 .left_box {
    width: 100%;
    margin-right: 0%;
	margin-bottom: 50px;
}

#about .content1 .left_box h4:last-of-type {
    margin-top: 50px;
}

#about .content1 .left_box h4 {
    margin-bottom: 15px;
}

#about .content1 .img_box {
    width: 30%;
    margin-right: 5%;
}

#about .content1 .right_box {
    width: 65%;
}


#about .content2 {
    margin: 50px auto;
	width: 100%;
}

#about .content3 .spec table:nth-child(1), 
#about .content3 .spec table:nth-child(2), 
#about .content3 .spec table:nth-child(3) {
    width: 100%;
}

#about .content3 .detail {
    margin-top: 50px;
}

#about .content3 .sp_slide {
	overflow-x: auto;  /* 横スクロールの指定 */
	white-space: nowrap;  /* 横スクロールの指定 */
	overflow-scrolling: touch;  /* スクロールを滑らかにする */
	-webkit-overflow-scrolling: touch;  /* スクロールを滑らかにする */
    padding-bottom: 15px;
}

#about .content3 .slide_text {
    display: block;
	margin-top: 5px;
}


}


@media only screen and (max-width: 420px) {

#about {
    padding: 80px 0px;
}

#about .title {
    font-size: 2.0rem;
	margin-bottom: 50px;
}

#about .title:after {
    left: 0px;
    width: 300px;
}

#about .midashi {
    padding: 10px 15px;
    font-size: 1.4rem;
	text-align: center;
}

#about .midashi span {
    display: block;
	border-top:solid 1px #5f5f5f;
	border-left: none;
	margin-left: 0px;
	margin-top: 5px;
	padding-left: 0px;
    padding-top: 10px;
	line-height: 1.5;
}
	
#about .content1 .left_box h4 {
	font-size: 1.4rem;
}

#about .content1 .img_box {
    width: 45%;
    margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}

#about .content1 .right_box {
    width: 100%;
}

#about .content1 .right_box p {
    font-size: 1.2rem;
}

#about .content1 .right_box p:nth-of-type(2) {
    padding: 3px 3px;
}

#about .content2 img.pc {
    display:none;
}


#about .content2 img.sp {
    display:block;
}

#about .content2 p {
    line-height: 1.5;
	padding: 10px 15px;
	font-size: 1.4rem;
}

#about .content3 .spec table td {
    width: 75%;
}

}



/* ================================================== */
/* .contact */
/* ================================================== */

.contact {
	position: relative;
	display: block;
	padding: 170px 0px;
	background-size: cover;
    background-repeat: no-repeat;
    background-position:center;
	background-image: url(/towel/img/contact_bg.jpg);
}

.contact:before {
    position: absolute;
	content: "";
	width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(92,112,116,0.6);
	transition: all 1s;
	mix-blend-mode: multiply;
	opacity: 0;
	z-index: 0;
}

.contact:hover::before {
	opacity: 1;
}



@media only screen and (max-width: 480px) {

.contact {
	padding: 100px 0px;
}

}



