.mainmv { background: url(/images/mainvs.jpg) no-repeat center center; background-size: cover; height: calc(100vh - 90px); padding-top: 11%; }

@media all and (max-width: 639px) { .mainmv { background: url(/images/mainvs_sp.jpg) no-repeat center center; background-size: cover; height: auto; padding-bottom: 20%; padding-top: 9%; } }

.mainmv h1, .mainmv p { color: #fff; }

.mainmv h1 { font-size: 50px; font-weight: bold; text-shadow: 6px 0 24px rgba(113, 113, 113, 0.38); letter-spacing: 2px; margin-bottom: 20px; padding-bottom: 10px; }

.mainmv h1 strong { font-size: 60px; font-weight: 900; }

@media all and (max-width: 768px) { .mainmv h1 { font-size: 40px; } }

@media all and (max-width: 639px) { .mainmv h1 { font-size: 5vw; }
  .mainmv h1 strong { font-size: 6vw; } }

.mainmv p { font-size: 20px; font-weight: bold; letter-spacing: 5px; line-height: 1.6; }

.mainmv p strong { font-size: 30px; }

.mainmv p span { font-size: 24px; font-weight: bold; }

@media all and (max-width: 768px) { .mainmv p { font-size: 18px; }
  .mainmv p strong { font-size: 24px; }
  .mainmv p span { font-size: 20px; } }

@media all and (max-width: 639px) { .mainmv p { font-size: 3vw; }
  .mainmv p strong { font-size: 3.8vw; }
  .mainmv p span { font-size: 3.4vw; } }

.news { max-width: 90%; background: url(../common_img/bgpattern.png) no-repeat; background-size: cover; position: relative; margin: 0 auto; margin-top: -60px; padding: 30px 0; }

@media all and (max-width: 1199px) { .news { padding: 3% 0; max-width: 96%; margin-top: -30px; } }

@media all and (max-width: 1199px) { .news .flexbox .tit { -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; -webkit-box-flex: 0; -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; text-align: left; }
  .news .flexbox .btnnews { -webkit-box-flex: 0; -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; -webkit-box-ordinal-group: 3; -webkit-order: 2; -ms-flex-order: 2; order: 2; }
  .news .flexbox .info { -webkit-box-ordinal-group: 4; -webkit-order: 3; -ms-flex-order: 3; order: 3; -webkit-box-flex: 0; -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; } }

.news .tit { border-right: 1px solid #95dbfc; -webkit-box-flex: 0; -webkit-flex: 0 0 200px; -ms-flex: 0 0 200px; flex: 0 0 200px; text-align: center; }

@media all and (max-width: 1199px) { .news .tit { border-right: 0; } }

.news h2 { font-size: 24px; text-align: center; }

@media all and (max-width: 1199px) { .news h2 { text-align: left; } }

.news h2 span { display: block; font-size: 14px; }

@media all and (max-width: 1199px) { .news h2 span { display: inline; margin-left: 10px; } }

.news .info { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; }

.news .info dl { -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap; display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-box-pack: start; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; padding: 0 40px; }

@media all and (max-width: 1199px) { .news .info dl { padding: 0; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 15px; } }

.news .info dt { color: #8c8b8b; font-weight: bold; }

.news .info dd { padding-left: 20px; }

@media all and (max-width: 1199px) { .news .info dd { padding: 0; -webkit-box-flex: 0; -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; margin-top: 10px; } }

.news .info a:hover { text-decoration: underline; }

.news .btnnews { max-width: 135px; margin-top: 0; }

@media all and (max-width: 1199px) { .news .btnnews { margin: 0; } }

@media all and (max-width: 420px) { .news .btnnews { max-width: 100px; }
  .news .btnnews span { padding: 0; }
  .news .btnnews span::before { right: 10px; } }

.news .btnnews a { line-height: 1; font-size: 14px; }

.news .btnnews span { font-size: 14px; line-height: 1; }

.about { padding: 60px 0; }

@media all and (max-width: 1199px) { .about { padding: 60px 0; } }

@media all and (max-width: 639px) { .about { padding: 40px 0; } }

.about .flexbox { margin: 70px 0; -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; }

@media all and (max-width: 1199px) { .about .flexbox { margin-top: 30px; margin-bottom: 30px; } }

.about .flexbox .txt { -webkit-box-flex: 0; -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; }

@media all and (max-width: 1199px) { .about .flexbox .txt { -webkit-box-flex: 0; -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; -webkit-box-ordinal-group: 3; -webkit-order: 2; -ms-flex-order: 2; order: 2; max-width: 535px; margin: 0 auto; margin-top: 50px; } }

.about .flexbox .img { -webkit-box-flex: 0; -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 570px; position: relative; overflow: inherit; }

@media all and (max-width: 1199px) { .about .flexbox .img { -webkit-box-flex: 0; -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; margin: 0 auto; } }

.about .flexbox .img img { position: relative; z-index: 1; }

.about .flexbox .img::after { position: absolute; content: ''; background: #95dbfc; right: -20px; bottom: -20px; width: 100%; height: 100%; z-index: 0; }

.about .bgtxt { position: relative; background: none; }

.about .bgtxt::after { position: absolute; content: ''; background: url(/images/bgtxtabout.png) no-repeat; left: -40px; top: -30px; width: 275px; height: 375px; }

@media all and (max-width: 768px) { .about .bgtxt::after { background-repeat: repeat; width: 103%; height: 200px; left: -3%; top: -3%; } }

.about h3 { font-size: 22px; margin-bottom: 25px; font-weight: 500; }

@media all and (max-width: 768px) { .about h3 { margin-bottom: 15px; } }

@media all and (max-width: 639px) { .about h3 { font-size: 18px; } }

.about p { line-height: 2; }

.business { padding: 50px 0 60px; position: relative; }

@media all and (max-width: 1199px) { .business { padding: 60px 0; } }

@media all and (max-width: 639px) { .business { padding: 40px 0; } }

.business::after { position: absolute; content: ''; background: url(../common_img/bgparttern.png) no-repeat; background-size: cover; width: 100%; height: 520px; left: 0; top: 0; z-index: -1; }

.business .bgtxt { max-width: 570px; text-align: center; margin: 0 auto; padding: 20px; margin-top: 30px; }

.business .flexbox { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; margin-top: 60px; }

@media all and (max-width: 1199px) { .business .flexbox { margin-top: 30px; } }

.business .infobus { max-width: 363px; -webkit-box-flex: 0; -webkit-flex: 0 0 31%; -ms-flex: 0 0 31%; flex: 0 0 31%; }

@media all and (max-width: 1199px) { .business .infobus { -webkit-box-flex: 0; -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 480px; margin: 0 auto; margin-bottom: 30px; }
  .business .infobus:last-child { margin-bottom: 0; }
  .business .infobus img { width: 100%; } }

.business .infobus:hover .img img { opacity: 1; -webkit-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); }

.business .infobus h3 { color: #95dbfc; font-size: 24px; display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: end; -webkit-align-items: flex-end; -ms-flex-align: end; align-items: flex-end; margin-bottom: 20px; margin-top: 10px; }

.business .infobus h3 span { font-size: 48px; font-weight: 700; position: relative; color: #000; line-height: 1; }

.business .infobus h3 span::after { position: absolute; content: ''; height: 1px; background: #000; right: 55px; width: 100px; bottom: 5px; }

@media all and (max-width: 639px) { .business .infobus h3 { font-size: 18px; }
  .business .infobus h3 span { font-size: 36px; } 
  .business .bgtxt { text-align: left;  }}

.business .infobus:nth-child(2) { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.business .infobus:nth-child(2) .img, .business .infobus:nth-child(2) .txt { width: 100%; }

@media all and (min-width: 1200px) { .business .infobus:nth-child(2) .img { -webkit-box-ordinal-group: 3; -webkit-order: 2; -ms-flex-order: 2; order: 2; margin-top: 30px; }
  .business .infobus:nth-child(2) .txt { -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; width: 100%; }
  .business .infobus:nth-child(2) .txt h3 { margin-top: 0; } }

.results { padding: 60px 0; position: relative; }

.results::after { position: absolute; content: ''; background: url(/images/bgresults.jpg) no-repeat top center; background-size: cover; width: 100%; height: 530px; left: 0; top: 0; z-index: -1; }

@media all and (max-width: 1199px) { .results { padding: 60px 0; background: url(/images/bgresults_sp.jpg) no-repeat; background-size: contain; } }

@media all and (max-width: 639px) { .results { padding: 40px 0; background-size: 200%; } }

.results .tit * { color: #fff; }

.results .txtinfo { max-width: 730px; text-align: center; margin: 0 auto; padding: 20px; margin-top: 30px; margin-bottom: 40px; }

@media all and (max-width: 1199px) { .results .txtinfo { margin-bottom: 30px; } }

@media all and (max-width: 420px) { .results .txtinfo { padding: 10px; } }

.results .txtinfo p { color: #fff; }

.results .inforesults { max-width: 284px; -webkit-box-flex: 0; -webkit-flex: 0 0 24%; -ms-flex: 0 0 24%; flex: 0 0 24%; }

@media all and (max-width: 1199px) { .results .inforesults { -webkit-box-flex: 0; -webkit-flex: 0 0 48%; -ms-flex: 0 0 48%; flex: 0 0 48%; max-width: 48%; margin-bottom: 3%; } }

.results .flexbox { margin-bottom: 50px; }

@media all and (max-width: 1199px) { .results .flexbox { margin-bottom: 20px; } }

.results .flexbox span { font-size: 18px; background: url(../common_img/arr.png) no-repeat right 8px bottom 8px; -webkit-transition: all .3s; transition: all .3s; display: block; width: 100%; font-weight: bold; margin-top: 25px; letter-spacing: 2px; }

@media all and (max-width: 639px) { 
.results .txtinfo p {text-align: left;}
.results .flexbox span { font-size: 16px; margin-top: 15px; background-size: 30%; } }

.results .flexbox .img { border: 2px solid #fff; }

.results .flexbox img { -webkit-transition: all .3s; transition: all .3s; width: 100%; }

.results .flexbox a:hover span { background: url(../common_img/arr.png) no-repeat right 5px bottom 8px; }

.results .flexbox a:hover img { -webkit-transform: scale(1.1); -ms-transform: scale(1.1); transform: scale(1.1); opacity: 1; }

@media all and (max-width: 768px) { .results .btnpage { margin-top: 0; } }

.corporate { padding: 50px 0 60px; position: relative; }

@media all and (max-width: 1199px) { .corporate { padding: 60px 0; } }

@media all and (max-width: 639px) { .corporate { padding: 40px 0; } }

.corporate::after { position: absolute; content: ''; background: url(../common_img/bgparttern.png) no-repeat; background-size: cover; width: 100%; height: 375px; left: 0; top: 0; z-index: -1; }

.corporate .tit { text-align: left; }

.corporate .tit h2 { text-align: left; }

.corporate .tit span { display: inline-block; }

.corporate .tit span.fontmontserrat { margin-left: 30px; }

.corporate .tit::before, .corporate .tit::after { left: 0; margin-left: 0; }

.corporate .tit::before { width: 285px; }

.corporate .flexbox { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; margin-top: 50px; }

.corporate .infocorporate { max-width: 363px; -webkit-box-flex: 0; -webkit-flex: 0 0 31%; -ms-flex: 0 0 31%; flex: 0 0 31%; }

@media all and (max-width: 768px) { .corporate .infocorporate { -webkit-box-flex: 0; -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 480px; margin: 0 auto; margin-bottom: 30px; }
  .corporate .infocorporate:last-child { margin-bottom: 0; } }

.corporate .infocorporate .img { margin-bottom: 15px; position: relative; }

.corporate .infocorporate .img img { width: 100%; }

.corporate .infocorporate .img span { font-size: 24px; display: block; text-align: center; position: absolute; color: #fff; font-weight: bold; width: 100%; bottom: 25px; left: 0; line-height: 1; letter-spacing: 2px; }

.corporate .infocorporate .img span::after { position: absolute; content: ''; background: url(../common_img/arr2.png) no-repeat; right: 30px; bottom: 0; width: 34px; height: 6px; -webkit-transition: all .3s; transition: all .3s; }

@media all and (max-width: 768px) { .corporate .infocorporate .img span { font-size: 20px; } }

.corporate .infocorporate img { -webkit-transition: all .3s; transition: all .3s; }

.corporate .infocorporate:hover { opacity: .7; }

.corporate .infocorporate:hover img { opacity: 1; }

.corporate .infocorporate:hover span:after { right: 20px; }

.pickup { padding: 60px 0; border-top: 1px solid #eee; }

@media all and (max-width: 1199px) { .pickup { padding: 60px 0; } }

@media all and (max-width: 639px) { .pickup { padding: 40px 0; } }

.pickup .container { max-width: 1440px; }

.pickup .flexbox { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; }

@media all and (max-width: 768px) { .pickup .flexbox { -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } }

.pickup .brn { -webkit-box-flex: 0; -webkit-flex: 0 0 33.33%; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; position: relative; overflow: hidden; }

@media all and (max-width: 768px) { .pickup .brn { -webkit-box-flex: 0; -webkit-flex: 0 0 80%; -ms-flex: 0 0 80%; flex: 0 0 80%; margin: 0 auto; margin-bottom: 2%; }
  .pickup .brn:last-child { margin-bottom: 0; } }

@media all and (max-width: 420px) { .pickup .brn { -webkit-box-flex: 0; -webkit-flex: 0 0 86%; -ms-flex: 0 0 86%; flex: 0 0 86%; } }

.pickup .brn .img img { width: 100%; }

.pickup .brn .img::after { position: absolute; content: ''; border: 2px solid #fff; width: 94%; height: 90%; left: 3%; top: 5%; z-index: 1; -webkit-transition: all .3s; transition: all .3s; }

.pickup .brn span { font-size: 18px; font-weight: bold; display: block; text-align: center; height: 60px; padding: 16px 10px; left: 0; bottom: 30px; color: #fff; z-index: 9; letter-spacing: 2px; position: relative; position: absolute; }

.pickup .brn span::before { content: ''; background: transparent; position: absolute; width: 8px; height: 8px; right: 0; top: 50%; margin-top: -4px; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); border-top: 1px solid #000; border-right: 1px solid #000; -webkit-transition: all .3s; transition: all .3s; }

.pickup .brn span::before { position: absolute; top: 50%; width: 8px; height: 8px; background: transparent; border-top: 1px solid #fff; border-right: 1px solid #fff; -webkit-transition: all .3s; transition: all .3s; right: 20px; }

@media all and (max-width: 1199px) { .pickup .brn span { font-size: 14px; padding: 12px 5px; height: auto; bottom: 15px; } }

.pickup .brn a:hover .img::after { -webkit-transform: scale(1.3); -ms-transform: scale(1.3); transform: scale(1.3); }

.pickup .brn a:hover img { opacity: 1; }

.pickup .brn a:hover span::before { right: 10px; }

.pickup .brn.brnemploy span { background: #95dbfc; width: 210px; left: 50%; margin-left: -105px; }

.pickup .brn.brnblog span { background: #0d0d0d; width: 370px; left: 50%; margin-left: -185px; }

@media all and (max-width: 1199px) { .pickup .brn.brnblog span { width: 260px; margin-left: -130px; } }

.pickup .brn.brnstainless span { background: #f06eaa; width: 210px; left: 50%; margin-left: -105px; }


.youtube {
    margin-top: 50px;
    text-align: center;
}
@media all and (max-width: 639px) { 
    .youtube {
        position: relative;
        width: 100%;
        height: 0;
        padding-bottom: 56.25%;
        overflow: hidden;
    }
    .youtube iframe {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }
}
