@charset "utf-8";

body { font-family: sans-serif; }

body p,a,li,th,td { font-family: "Noto Sans JP";/* googleフォント */ color: #595757; }

body h1 { font-family: 'Noto Sans JP', sans-serif;/* googleフォント */ color: #595757; }
body h2 { font-family: 'Noto Sans JP', sans-serif;/* googleフォント */ color: #595757; }
body h3 { font-family: 'Noto Sans JP', sans-serif;/* googleフォント */ color: #595757; }

p { font-size: 16px; line-height: 1.5em; }
li { font-size: 16px; line-height: 1.5em; }
a { font-size: 16px; line-height: 1.5em; text-decoration: none; }
a:hover { opacity: 0.6 }



/*====================================================================
head
====================================================================*/
body header {  }

body header .logo { text-align: center; padding: 15px 0; }
body header .logo img { height: 45px; }

/*　ハンバーガーメニューボタン　*/
.hamburger {
display: block;
position: fixed;
z-index: 3;
right: 0;
top: 0;
width: 75px;
height: 75px;
cursor: pointer;
text-align: center;
background: -moz-linear-gradient(top, #46e6b4, #00b9f0);
background: -webkit-linear-gradient(top, #46e6b4, #00b9f0);
background: linear-gradient(to, bottom, #46e6b4, #00b9f0);
}
.hamburger span {
display: block;
position: absolute;
width: 35px;
height: 2px;
left: 20px;
background: #fff;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.hamburger span:nth-child(1) { top: 25px; }
.hamburger span:nth-child(2) { top: 35px; }
.hamburger span:nth-child(3) { top: 45px; }

/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
top: 35px;
left: 20px;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
transform: rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
top: 35px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
transform: rotate(45deg);
}

/* メニュー背景　*/
nav.globalMenuSp {
position: fixed;
z-index: 2;
top: 0;
left: 0;
color: #fff;
background: rgba(255, 255, 255, 0.95);
text-align: center;
width: 100%;
opacity: 0;
display: none;
transition: opacity .6s ease, visibility .6s ease;
}

nav.globalMenuSp ul {
max-width: 400px;
width: 100%;
height: 100vh;
margin: 0 auto;
padding: 80px 15px 30px 15px;
}

nav.globalMenuSp ul li {
width: 100%;
padding-bottom: 15px;
margin-bottom: 15px;
border-bottom: 1px solid #595757;
}

nav.globalMenuSp ul li img { display: block; margin: 0 auto; width: 150px;  }

nav.globalMenuSp ul li a {
display: block;
font-size: 20px;
text-align: center;
color: #595757;
}

nav.globalMenuSp ul .sns { 
display: flex;
justify-content: center;
align-items: center;
}
nav.globalMenuSp ul .sns img { height: 35px; }

/* クリックでjQueryで追加・削除 */
nav.globalMenuSp.active {
opacity: 100;
display: block;
}

.mb_logo { display: none; }
.mb_logo img { height: 100px; }

@media (max-width: 1000px){
.mb_logo { display: block; }
.mb_menu { display: block; }
}
@media (max-width: 500px){
nav.globalMenuSp ul li a { font-size: 18px; }
}



/*====================================================================
footer
====================================================================*/
.footer_box { padding: 80px 15px 15px 15px; }

.footer_box .sns { 
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 80px;
}
.footer_box .sns a { margin-right: 50px; }
.footer_box .sns a:last-child { margin-right: 0; }



.footer_box .banner_box { 
max-width: 450px;
margin: 0 auto 80px auto;
}
.footer_box .banner_box .banner { 
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 30px;
}
.footer_box .banner_box .banner:last-child { margin-bottom: 0; }
.footer_box .banner_box .banner a { width: 49%; }
.footer_box .banner_box .banner a:last-child { margin-left: 2%; }

@media (max-width: 767px){
.footer_box .banner_box .banner { display: block; max-width: 320px; margin: 0 auto; }
.footer_box .banner_box .banner a { display: block; width: 100%; }
.footer_box .banner_box .banner a:last-child { margin-left: 0; margin-top: 15px; }
}


.footer_box .logo img { display: block; margin: 0 auto 30px auto; width: 100px; }
.footer_box .copy { font-size: 14px; text-align: center; }



/*====================================================================
共通 
====================================================================*/
.wrap { padding: 0 15px; }
.content { max-width: 1200px; margin: 0 auto; }
.content .tensen { border-bottom: 3px #ecafa0 dotted; }

.back_01 { background: #f0fafa; }
.back_02 { background: #fff; }

.contact_btn { position: fixed; top: 150px; right: 0; padding: 0; background: none; border: none; }

#page_top{
width: 75px;
height: 75px;
position: fixed;
right: 10px;
bottom: 10px;
z-index: 1;
}
#page_top a{
display: block;
width: 75px;
height: 75px;
border-radius: 50%;
background: #fff;
box-shadow: 5px 5px 15px -5px rgba(17, 17, 17, 0.5);
}



/*====================================================================
トップ動画 
====================================================================*/
.video_top { max-width: 1200px; margin: 0 auto -75px auto; }
.video_top video { max-width: 100%; }
.video_top .scroll { text-align: center; }



/*====================================================================
会社案内動画 
====================================================================*/
.catch_box_01 { 
max-width: 1000px;
margin: 0 auto 75px auto;
position: relative;
}
.catch_box_01 .text { 
position: absolute;
top: 0;
right: 0;
z-index: 1;
}
.catch_box_01 .text .mb { display: none;　}

@media (max-width: 900px){
.catch_box_01 .text { position: inherit; }
.catch_box_01 .text .pc { display: none; }
.catch_box_01 .text .mb { display: block; margin: 0 auto 20px auto; }
}

.video_company {
position: relative;
max-width: 960px;
margin: 0 auto;
}
.video_company:hover {
cursor: pointer;
}
.video_company video {
width: 100%;
}
.video_company .play-btn {
display: block;
position: absolute;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
-webkit- transform: translateY(-50%) translateX(-50%);
}
.video_company .play-btn.playActive { display:none; }


.company_box { 
background-image: url(../images/company_01.jpg);
background-repeat: no-repeat;
background-position: bottom left;
max-width: 1200px;
margin: 0 auto;
}

.company_box .company {
max-width: 800px;
margin: 0 auto 60px auto;
padding: 0 0 60px 150px;
border-bottom: 1px solid #595757;
}
.company_box .company:last-child { margin-bottom: 0; padding-bottom: 0; border: none; }

.company_box .company h3 { 
font-size: 35px;
line-height: 1.5em;
margin-bottom: 30px;
}
.company_box .company h3 span { 
font-family: 'Noto Serif JP', serif;/* googleフォント */
font-size: 20px;
margin-left: 20px;
}

.company_box .company table { width: 100%; }
.company_box .company th { padding: 5px 10px; vertical-align: top; }
.company_box .company td { padding: 5px 10px; vertical-align: top; }

.company_box .company .shop { 
display: flex;
align-items: flex-start;
justify-content: flex-start;
margin-top: 30px;
}
.company_box .company .shop ul:first-child { margin-right: 60px; }
.company_box .company .shop li:first-child { padding-bottom: 30px; }
.company_box .company .shop li:last-child { padding-bottom: 0; }
.company_box .company .shop li { padding-bottom: 20px; }

.company_box .company .shop a { 
display: flex;
align-items: center;
justify-content: flex-start;
}
.company_box .company .shop a img { margin-left: 10px; }

.company_box .company .link_btn { margin-top: 30px; }

@media (max-width: 1300px){
.company_box { background-size: 20vw; }
}
@media (max-width: 900px){
.company_box { background-image: none; margin: 30px auto 150px auto; }
.company_box .company { max-width: 650px; padding: 0 0 60px 0; }
}
@media (max-width: 767px){
.company_box .company h3 { font-size: 30px; }
.company_box .company h3 span { display: block; font-size: 16px; margin-left: 0; }
.company_box .company th { display: block; padding-bottom: 0; }
.company_box .company td { display: block; padding-bottom: 30px; }
.company_box .company .shop ul:first-child { margin-right: 15px; }
}




/*====================================================================
もったいない。おかげさまで。ありがとう。
====================================================================*/
.greeting_back_01 { background: #f0fafa; padding: 300px 0 150px 0; }

.greeting_back_02 {
background-image: 
/* 1枚目の背景画像のパス */
url(../images/greeting_03.jpg),
/* 2枚目の背景画像のパス */
url(../images/greeting_04.jpg);

background-position:
/* 1枚目の背景画像の表示位置 */
top 120px right,
/* 2枚目の背景画像の表示位置 */
top 270px left;

background-repeat:
/* 1枚目の背景画像の設定 */
no-repeat,
/* 2枚目の背景画像の設定 */
no-repeat;

max-width: 1500px;
margin: 0 auto;
}

.greeting_back_03 { 
max-width: 1500px;
margin: -150px auto 0 auto;
text-align: right;
}


.greeting_box { 
display: flex;
justify-content: center;
max-width: 960px;
margin: 0 auto;
}
.greeting_box .phot01 { 
margin-right: 15px;
}
.greeting_box .phot02 { 
display: flex;
align-items: flex-end;
margin-left: 15px;
}

.greeting { 
max-width: 320px; 
margin: 0 auto; 
}
.greeting p { line-height: 2em; }
.greeting .pc img { 
display: block;
width: 150px;
margin: 0 auto 70px auto;
}
.greeting .mb { display: none; }

@media (max-width: 900px){
.greeting_back_01 { padding: 150px 0 30px 0; margin-bottom: 150px; }
.greeting_back_02 { background-image: none; }
.greeting_back_03 { display: none; }
.greeting_box{ display: block; padding: 0 15px; }
.greeting { max-width: 650px; }
.greeting_box .phot01 { display: none; }
.greeting_box .phot02 { display: none; }

.greeting .mb { 
display: flex;
justify-content: center;
align-items: center;
margin-top: 20px;
}
.greeting .mb .box { width: 49%; }
.greeting .mb .box:last-child { margin-left: 2%; }
.greeting .mb .box img { width: 100%; }
.greeting .mb .box img:nth-child(2) { margin-top: 15px; }
}



/*====================================================================
会社案内、会社沿革、事業内容
====================================================================*/
.catch_box_02 { 
max-width: 1200px;
margin: 0 auto;
position: relative;
}
.catch_box_02 .text { 
position: absolute;
top: 0;
left: 0;
z-index: 1;
}
.catch_box_02 .text .mb { display: none;　}

@media (max-width: 900px){
.catch_box_02 .text { position: inherit; }
.catch_box_02 .text .pc { display: none; }
.catch_box_02 .text .mb { display: block; margin: 0 auto; }
}



/*====================================================================
リユース事業を通じ社会貢献
====================================================================*/
.reuse_back { 
background-image: 
/* 1枚目の背景画像のパス */
url(../images/reuse_04.png),
/* 2枚目の背景画像のパス */
url(../images/reuse_01.svg);

background-position:
/* 1枚目の背景画像の表示位置 */
left top,
/* 2枚目の背景画像の表示位置 */
right bottom;

background-repeat:
/* 1枚目の背景画像の設定 */
no-repeat,
/* 2枚目の背景画像の設定 */
no-repeat;
	
max-width: 1730px;
margin: 0 auto 150px auto;
}

@media (max-width: 1300px){
.reuse_back { background-size: 35vw,auto; }
}
@media (max-width: 900px){
.reuse_back { 
background-image: url(../images/reuse_01.svg);
background-position: right bottom;
background-repeat: no-repeat;
background-size: auto;
}
}


.reuse_box { 
max-width: 600px;
margin: 0 auto;
padding: 150px 15px 0 15px;
}

.reuse_box .title { 
max-width: 225px; 
margin: 0 auto; 
}
.reuse_box .title img { display: block; margin: 0 auto 60px auto; }

.reuse_box .sdgs li { 
display: flex;
justify-content: flex-start;
align-items: center;
margin-bottom: 30px;
}
.reuse_box .sdgs li:last-child { margin-bottom: 0; }

.reuse_box .sdgs .phot_01 img { margin-bottom: 10px; }
.reuse_box .sdgs .phot_02 img { margin-right: 10px; margin-bottom: 10px; }
.reuse_box .sdgs .phot_02 img:last-child { margin-right: 0; }

.reuse_box .sdgs .text { margin-left: 15px; }

@media (max-width: 900px){
.reuse_box { padding: 0 15px; }
.reuse_box .sdgs li { display: block; }
.reuse_box .sdgs .text { display: block; margin-left: 0; }
.reuse_box .sdgs .text br { display: none; }
}



/*====================================================================
元気と笑顔と働きがいにあふれた職場です
====================================================================*/
.catch_box_03 { display: none; padding: 0 15px 30px 15px; }
@media (max-width: 900px){
.catch_box_03 { display: block; text-align: center; }
}


.workplace_wrap { overflow: hidden; }

.workplace { 
max-width: 650px;
margin: 0 auto;
padding: 100px 80px 100px 0;
}
.workplace .employee { margin-bottom: 60px; }
.workplace .employee:last-child { margin-bottom: 0; }
.workplace .employee h3 { 
font-size: 24px;
line-height: 1.5em;
margin-bottom: 15px;
}
.workplace .employee p { line-height: 2em; }
.workplace .employee .name { 
text-align: right;
margin-bottom: -10px;
position: relative;
}
.workplace .employee .phot { margin-bottom: 15px; }
@media only screen and (max-width: 900px) {
.workplace { padding: 0; }
}



.workplace_box { 
display: flex; 
justify-content: flex-start;	
max-width: 900px; margin: 0 auto; 
}

.left_box {
background: #f0fafa;
margin: 0 -200%;
padding: 0 200%;
/* margin: 0 -200%; padding: 0 200%; */
}

.right_box { 
background: #fff;
margin: 0 -200% 0 0; 
padding: 0 200% 0 0;
/* width: 100%; margin: 0 -200% 0 0; padding: 0 200% 0 0; */
}
.right { position: relative; }
.right img { position: absolute; max-width: 110px; top: 0; margin-left: 60px; }

@media only screen and (max-width: 900px) {
.workplace_box { display: block; margin: 0 auto 150px auto; }
.left_box{ margin: 0; padding: 30px 15px; }
.right_box { background-image: none; margin: 0; padding: 0; }
.right { display: none; }
}
@media only screen and (max-width: 767px) {
.workplace .employee h3 { font-size: 20px; }
.workplace .employee h3 br { display: none; }
}



/*====================================================================
わたしたちと働いてみませんか？
====================================================================*/
.recruit_back_01 { 
max-width: 1500px;
margin: -75px auto 0 auto;
text-align: right;
}
.recruit_back_02 { 
max-width: 1500px;
margin: 75px auto 0 auto;
}

@media only screen and (max-width: 900px) {
.recruit_back_01 { display: none; }
.recruit_back_02 { display: none; }
}



.recruit_box { max-width: 650px; margin: -250px auto 0 auto; }
.recruit_box h2 { text-align: center; margin-bottom: 75px; }
.recruit_box .mb { display: none; }
.recruit_box .link_btn { margin-bottom: 75px; }

.recruit_box .list li { padding-bottom: 20px; }
.recruit_box .list li:last-child { padding-bottom: 0; }

.recruit_box .list li .main_title { 
font-family: 'Noto Sans JP', sans-serif;/* googleフォント */
display: block;
font-size: 30px;
line-height: 1.5em;
text-align: center;
padding: 10px 15px;
color: #fff;
background: #004495;
}
.recruit_box .list li .title { 
font-family: 'Noto Sans JP', sans-serif;/* googleフォント */
display: block;
font-size: 30px;
line-height: 1.5em;
text-align: center;
padding-bottom: 10px;
border-bottom: 2px solid #00b9f0;
}
.recruit_box .list a { 
font-family: 'Noto Sans JP', sans-serif;/* googleフォント */
display: block;
font-size: 20px;
line-height: 1.5em;
color: #fff;
text-align: center;
padding: 10px 15px;
background: -moz-linear-gradient(right, #46e6b4, #00b9f0);
background: -webkit-linear-gradient(right, #46e6b4, #00b9f0);
background: linear-gradient(right, left, #46e6b4, #00b9f0);
}
.recruit_box .list br { display: none; }

@media only screen and (max-width: 900px) {
.recruit_wrap { padding: 0 15px; }
.recruit_box { margin: 0 auto 150px auto; }

.recruit_box .mb { 
display: flex;
justify-content: center;
align-items: center;
margin-top: 75px;
}
.recruit_box .mb .box { width: 49%; }
.recruit_box .mb .box:last-child { margin-left: 2%; }
.recruit_box .mb .box img { width: 100%; }
.recruit_box .mb .box img:nth-child(2) { margin-top: 15px; }
}
@media only screen and (max-width: 767px) {
.recruit_box .list br { display: block; }
}
@media only screen and (max-width: 500px) {
.recruit_box .list a { font-size: 20px; }
}


