@charset "UTF-8";
/*----------------------------------------------------------------------------------------------------------------------------------
　 　page基本
----------------------------------------------------------------------------------------------------------------------------------*/
.contents_outline{
	width: calc(100% - 14vw);
	min-height: 100vh;
	margin:0 0 0 auto;
	padding: 2vw 0 10vw;
}
.contents{
	width: 95%;
	margin: 0 auto;
}
.mv{
	width: 100%;
	overflow: hidden;
	border-radius: 20px;
	background: #f8f8f8;
}

.mv img{
	position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  min-width: 100%;
    min-height: 100%;
  object-fit: cover;
font-family:"object-fit:cover;";
	z-index: 1;
}
.mv video{
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
}
.mv iframe{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
    min-width: 100%;
    min-height: 100%;
	z-index: 1;
}
.base_tbl{
	width: 80%;
	margin: 4vw auto;
	color:  #74898D;
	font-size: 1.6vw;
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
		line-height: 2vw;
}
.base_tbl tr{border-bottom: solid 0.1vw #74898D;}

.base_tbl th,
.base_tbl td{
	padding: 2.7vw 2vw;
	font-weight:600;
}
.r_tbl{width: 90%;}
.r_tbl tr{border-bottom-color: #ccc;}
.r_tbl th{
	width: 15vw;
	color: #3f3f3f;
	border-bottom: solid 0.2vw #c60033;}
.r_tbl td{
	color: #666;
	font-weight:500;}

@media print, screen and (max-width: 1280px) {
.contents_outline{
	width: calc(100% - 195px);
	padding: 25px 0 100px;
}

	.base_tbl{
		margin: 40px auto;
	font-size: 125%;
		line-height: 160%;
	}
	.base_tbl tr{border-bottom: solid 1px #74898D;}
	
	.r_tbl th{
		width: 150px;
	border-bottom: solid 2px #c60033;
	}
	
	.base_tbl th,
	.base_tbl td{padding: 35px 25px;}
}
@media print, screen and (max-width: 999px) {
	.contents_outline{
	width: 100%;
	padding: 88px 0 80px;}
}
@media print, screen and (max-width: 750px) {
	
.base_tbl{width: 85%;}
.base_tbl {font-size: 113%;}
.base_tbl th, .base_tbl td {padding: 25px 15px;}
.r_tbl{width: 90%;}
	.r_tbl th{width: 125px;}
}
@media print, screen and (max-width: 550px) {
.base_tbl{width: 90%;}
.base_tbl th, .base_tbl td {
	width: 100%;
	display: block;
	padding: 10px;
	}
	.r_tbl{
    border-collapse: separate;
    border-spacing: 0px 10px;
	}
.r_tbl tr{border-bottom: none;}
}
/*----------------------------------------------------------------------------------------------------------------------------------
　 　TOP
----------------------------------------------------------------------------------------------------------------------------------*/
.top_mv{padding-top: 40%;}
.mv_title{
	position: absolute;
	bottom: 5%;
	left: 5%;
	width: 30%;
	padding-top: 20%;
	background: url("../img/beautycare.svg")no-repeat;
	background-size: contain;
	background-position: center;
	z-index: 2;
    filter: drop-shadow(5px 5px 3px rgba(0,0,0,.2));
    transform: translateZ(0);
}
.top_text{
	width: 17%;
	position: absolute;
	top: 5%;
	right: 5%;
	z-index: 2;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: row; 
}
.top_text span{
	display: inline-block;
	color: #74898D;
	background: rgba(255,255,255,.6);
	-ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
	padding: .5em .7em;
	border-radius: .2em;
    font-size: 2.7vw;
}

.about_box{justify-content: space-between;}
.about_text_box{
	width: 55%;
	padding: 10vw 0 15vw;
	min-height: 600px;
}
.about_title{font-size: 2.5vw;}
.about_text{margin:10% 0 0 5%;}
.about_text li{
    display: inline-block;
    width: 100%;
    padding:1em 0 1em 2.5vw;
    color: #302D2C;
    font-size: 2vw;
    background: url("../img/box_green.svg")no-repeat;
    background-position: left center;
    background-size: 2vw;
}

.about_logo_box{
    width: 45%;
    padding:0 0 2.5vw;
    justify-content: center;
    align-items: center;
    background: url(../img/bk.png)repeat;
    background-size: 60%;
    background-position: left top;
}
.about_logo_box img{max-width: 9vw;}

.product_box{
	width: 98%;
	margin:auto;
}
.product_list{
	width: 	100%;
	justify-content: space-between;
	align-items: flex-start;
	margin: -100px auto 50px;
}
.product_list li{
	width:100%;
	margin-bottom: 50px;
    line-height: 2vw;
	justify-content: space-between;
	align-items: center;
}
/*
.product_list li::before {
    content: "";
    position: absolute;
    top: -1.2vw;
    margin: auto;
    width: 3.9vw;
    height: 5vw;
    background: url(../img/ribbon.svg)no-repeat;
    background-position: center;
    background-size: contain;
    z-index: 2;
}
.product_list li:nth-child(odd)::before {left: 22%;}
.product_list li:nth-child(even)::before {right: 22%;}
*/

.product_list li:nth-child(even) .p_text_box,
.product_list li:nth-child(odd) .product_img{order: 1!important;}

.product_list li:nth-child(even) .product_img,
.product_list li:nth-child(odd) .p_text_box{order: 2!important;}

.product_img{
	width: 48%;
/* 	padding-top: 40%; */
	padding-top: 35%;
	overflow:hidden;
	background: #f8f8f8;
	border-radius: 10px;
    border: solid 0.8vw #fff;
	box-shadow: 0 0 16px rgba(0,0,0,0.16);
}
.product_img img{
    min-width: 100%;
    min-height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
    font-family: 'object-fit:cover;';
	z-index: 1;
	transition: 0.5s all;
}
.p_text_box{
	width: 48%;
	line-height: 2.5vw;
}
.p_title{
	font-size: 1.8vw;
	line-height: 3.5vw;
	margin-bottom: 1vw;
}
.p_title span{
	display: block;
	font-size: 200%;
}
.p_text{font-size: 1.5vw;}

.btn {
    width: 90%;
    max-width: 40vw;
    border-radius: 10vw;
    font-size: 1.8vw;
    height: 6vw;
    justify-content: center;
    align-items: center;
    background: #74898D;
    color: #fff;
    margin: 0 auto;
    transition: 0.5s all;
}
.btn::before, .btn::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 2.3vw;
    height: 2.3vw;
    background: url(../img/box_white.svg)no-repeat;
    background-position: center;
    background-size: contain;
}
.btn::before {left: 25px;}
.btn::after {right: 25px;}
@media print, screen and (max-width: 1280px) {
.top_text{
	width: 160px;
	top: 15px;
	right: 15px;
}
.top_text span{font-size: 200%;}
.mv_title{
	top: 15px;
	right:15px;
}
.about_logo_box img{max-width: 120px;}
	
.about_text_box {
    width: 60%;
    padding: 80px 0 100px;
}
.about_logo_box {
	width: 40%;
    padding: 0 0 15%;
	}
.about_title {font-size: 200%;}
.about_text {margin: 50px 0 0 25px;}
.about_text li {
    padding: 1em 0 1em 30px;
    font-size: 125%;
    background-size: 24px;
}
.product_list li::before {
    top: -3px;
    width: 50px;
    height: 65px;
}
.product_img{border: solid 10px #fff;}
.p_text_box{line-height: 160%;}
.p_title{
    font-size: 125%;
    line-height: 190%;
    margin-bottom: 20px;
}
.p_text{font-size: 125%;}
.btn {
    max-width: 500px;
    border-radius: 50px;
    font-size: 138%;
    height: 75px;
}
	.btn::before, .btn::after {
    width: 23px;
    height: 23px;
}
}
@media print, screen and (max-width: 999px){
.about_logo_box img {max-width: 95px;}
.about_text_box {
	width: 70%;
    min-height: 550px;
}
.about_logo_box {width: 30%;}
.product_img{border: solid 7px #fff;}
}
@media print, screen and (max-width: 750px) {

.top_text{width: 120px;}	
.top_text span{
    font-size: 160%;
    padding: 0.3em 0.5em;
	}
.about_box {
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.about_logo_box {
    width: 100%;
	min-height: 250px;
    order: 1;
    background-size: 30%;
    padding: 0;
    background-position: left bottom;
}
.about_logo_box img {max-width: 75px;}
.about_text_box {
    width: 92%;
    max-width: 430px;
    min-height: 500px;
    order: 2;
    padding: 60px 0 100px;
}
.about_title {
	font-size: 160%;
	text-align: center;
	}
.about_text{margin: 40px 0 0 0;}
.about_text li {font-size: 113%;}
.product_img,
.p_text_box{
	width: 90%;
	margin: 15px auto;
	}
.product_img {padding-top: 55%;}
/*
.product_list li:nth-child(odd)::before,
.product_list li:nth-child(even)::before {
	right:0;
	left: 0;
	}
*/
	
.product_list li:nth-child(even) .product_img,
.product_list li:nth-child(odd) .product_img{order: 1!important;}
.product_list li:nth-child(even) .p_text_box,
.product_list li:nth-child(odd) .p_text_box{order: 2!important;}
	
.p_title {font-size: 113%;}
.p_title span {font-size: 170%;}
.p_text {font-size: 107%;}
.btn {
    max-width: 400px;
    font-size: 113%;
    height: 60px;
}
	
}
@media print, screen and (max-width: 550px) {
.top_mv{padding-top: 55%;}
.top_text{
	width: 90px;
	top: 10px;
	right: 10px;
	}	
.top_text span{
	font-size: 135%;
    padding: 0.2em 0.3em;
}
.about_title {font-size: 145%;}
	
.about_logo_box {min-height: 200px;}
.about_logo_box img {max-width: 65px;}
.about_text li {
	font-size: 100%;
    background-size: 20px;
    padding: 15px 0 15px 25px;
}
.product_img, .p_text_box {width: 95%;}
}
/*----------------------------------------------------------------------------------------------------------------------------------
　 　company
----------------------------------------------------------------------------------------------------------------------------------*/
.com_mv{
	padding-top: 56.2%;
	cursor: pointer;
}
.thumb{z-index: 2!important;}
.player {
    width: 100%;
    height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.bk_flower{
    background: url(../img/bk.png)repeat;
    background-size: 25%;
    background-position: left top;
}
.company_box{
	width: 85%;
	margin:10vw auto;
	padding: 7vw 0;
}
.company_box:before,
.company_box:after{
	content: "";
	position: absolute;
	display: inline-block;
	z-index:1;
}
.company_box:before{
    top: -1.2vw;
    left: 0;
    right: 0;
    margin: auto;
    width: 7vw;
    height: 2.5vw;
    background: url(../img/com_ribbon.svg)no-repeat;
    background-position: center;
    background-size: contain;
}
.company_box:after{
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
/*
    background: #fffdea;
	mix-blend-mode: multiply;
*/
    background: rgb(255 240 97 / 12%);
	border-radius: 4vw;
	z-index: -1;
}
.com_title{
	width: 100%;
	max-width: 16vw;
	margin: 0 auto;
}

.map{
	width: 80%;
	border-radius: 2vw;
	margin: 0 auto;
	overflow: hidden;
	padding-top: 40%;
	border: solid 0.1vw #74898D;
}
.map iframe{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.factory_box{
	width: 85%;
	margin: auto;
	padding:0 0 7vw;
}
.fac_title{
	font-size: 2.5vw;
	vertical-align: middle;
}
.fac_title::before,
.fac_title::after{
	content: "";
    width: 2.5vw;
    height: 2.5vw;
    margin: 0 1vw;
	background:url("../img/box.svg")no-repeat;
	background-position: center;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
}
.fac_img_list li{
	overflow: hidden;
	padding-top: 55%;
    border-radius: 3vw;
    margin-top: 5vw;
    border: solid 0.8vw #fff;
	box-shadow: 0 0 16px rgba(0,0,0,0.16);
}
.fac_img_list li img{
	position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  min-width: 100%;
    min-height: 100%;
  object-fit: cover;
font-family:"object-fit:cover;";
	z-index: 1;
}
.fac_img_list li .fac_exp{
	position: absolute;
	left: 0;
	bottom: 5%;
	z-index: 2;
	background: #fff;
    border-radius: 0 5vw 5vw 0;
    padding: 1.6vw 5vw 1.6vw 2vw;
    color: #302D2C;
	font-size: 1.6vw;
	vertical-align: middle;
}
.fac_img_list li .fac_exp::before{
	content: "";
	width: 2vw;
	height: 2vw;
	background:url("../img/box.svg")no-repeat;
	background-position: center;
	background-size: contain;
	display: inline-block;
	margin: 0 1vw 0 0;
	vertical-align: middle;
}

@media print, screen and (max-width: 1280px){
	.company_box{padding: 85px 0;}
	.company_box:before{
    top: -17px;
    width: 90px;
    height: 33px;
}
	.company_box:after{border-radius: 30px;}
	.com_title{max-width: 200px;}

	.map{
		border-radius: 20px;
	border: solid 1px #74898D;
	}
	.factory_box{padding: 85px 0;}
	.fac_title{font-size: 200%;}
.fac_title::before,
.fac_title::after{
	width: 30px;
	height: 30px;
	margin: 0 15px;
}
	.fac_img_list li{
	border-radius: 30px;
	margin-top: 50px;
	border: solid 10px #fff;
}
	.fac_img_list li .fac_exp{
	border-radius: 0 50px 50px 0;
	padding: 20px 50px 20px 20px;
	font-size: 125%;
}
	.fac_img_list li .fac_exp::before{
	width: 25px;
	height: 25px;
	margin: 0 15px 0 0;
}
}
@media print, screen and (max-width: 750px){
.factory_box,
.company_box{width: 90%;}
.map{width: 85%;}
.com_title { max-width: 155px;}
.fac_title {font-size: 170%;}
.fac_img_list li {
    border-radius: 15px;
    margin-top: 50px;
    border: solid 7px #fff;
}
.fac_img_list li .fac_exp {
    padding: 15px 35px 15px 15px;
    font-size: 107%;
}
.map {padding-top: 55%;}
}
@media print, screen and (max-width: 550px){
/*.com_mv{padding-top: 60%;}*/
.factory_box,
.company_box{width: 95%;}
.map{width: 90%;}
.factory_box {padding: 60px 0;}
.fac_title {font-size: 150%;}
.fac_img_list li {padding-top: 60%;}
.fac_img_list li .fac_exp {
    padding: 8px 25px 8px 10px;
    font-size: 100%;
}
.fac_img_list li .fac_exp::before {
    width: 20px;
    height: 20px;
    margin: 0px 10px 0 0;
}
.fac_title::before, .fac_title::after {
    width: 23px;
    height: 23px;
    margin: 0 10px;
}
}
/*----------------------------------------------------------------------------------------------------------------------------------
　 　recruit
----------------------------------------------------------------------------------------------------------------------------------*/
.rec_text{
	font-size: 150%;
	margin: 50px auto;
}
.rec_mv_logo{
	width: 100%;
	max-width:14vw;
	position: absolute;
	top: 50%;
	left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
	justify-content: center;
	align-items: center;
	flex-direction: column;
	z-index: 2;
}
.rec_mv_logo img{
	position: static; 
    transform: translate(0%, 0%);
    max-width: 60%;
    min-width: auto;
    min-height: auto;
}
.rec_mv_logo p{
	width: 100%;
    letter-spacing: .2em;
    margin-top: 1.5vw;
    padding: 1.5vw 0;
    font-size: 2.5vw;
	text-shadow: 0 0 6px rgba(0,0,0,1);
    background: rgb(0 0 0 / 40%);
	border-radius: .5vw;
}

@media print, screen and (max-width: 1280px){
.rec_mv_logo{max-width: 180px;}
.rec_mv_logo p{
    margin-top: 15px;
    padding: 15px 0;
    font-size: 200%;
	border-radius: 5px;
}	
}
@media print, screen and (max-width: 750px){
.rec_mv_logo{max-width: 120px;}
.rec_mv_logo p{
    margin-top: 15px;
    padding: 8px 0;
    font-size: 150%;
}	
}
@media print, screen and (max-width: 550px){
.rec_mv_logo{max-width: 100px;}
.rec_mv_logo p{
    margin-top: 10px;
    padding: 5px 0;
    font-size: 125%;
}	
}