﻿/*===========================================================*/
/* 個別 */
/*===========================================================*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500&family=Noto+Sans+JP:wght@500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald&display=swap');
body{
        font-family: 'Montserrat',"Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;
        font-weight: 500;
}
.linkStyle{color: #333;border-bottom: 1px solid;}
.font1,#page_title h2 span,#top_cms h2 span{font-family: 'Oswald', sans-serif;}
#header{padding-top: 0;}
header .inner{
    width: 100%;
    max-width: 100%;
}
#video{top: 55%;}
#header.head_fix #pc_nav ul {
    height: 90px;
}
#logo{max-width: 170px;}
.no{
    color: #666666;
    font-size: 5rem;
    line-height: 1;
    font-style: italic;
}
/*.catch{
    z-index: 1;
    right: 10%;
    top: 16%;
    max-width: 700px;
    width: 40%;
}*/
.catch {
    z-index: 10;
    left: 50%;
    transform: translateX(-50%);
    top: 9%;
    max-width: 500px;
    width: 60%;
    /* margin: -130px auto 50px; */
    position: relative;
    margin-top: -100px;
    display: block;
    margin-bottom: 30px;
}
.sample{
    z-index: 1;
    right: 10%;
    bottom: 10%;
    font-size: 50px;
    border-bottom: 1px solid;
    transform: skewX(-10deg);
}
.bnr {
    bottom: 30px;
    left: 30px;
    z-index: 10;
}
.bnr a{
    padding: 20px;
    background-color: #3cb371;
    border-radius: 10px;
    box-shadow: 3px 5px 10px rgb(0 0 0 / 20%);
    color: #fff;
background: linear-gradient( 140deg ,#e60011,#f57f40);
}
.bnr a span{text-align: center;}
.bnr a:hover{transform: scale(1.03);}
.bnr a span{width: 30%!important;}
.fadein {
    opacity: 0;
    transform: translateY(100px);
    transition: transform 1s ease,opacity 1s ease!important;
}
.fadein.scrollin {
    opacity: 1;
    transform: none;
    
}
#main_img::before{content: none;}
#contents2 .no{color: #fff;}
#pc_nav ul:first-of-type,#pc_nav ul:last-of-type{border-radius: inherit;}
#intro figure:before{
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: #333;
}
#intro .intro_bg {
    background: rgba(255,255,255,0.95);
    /*transform: skewX(-20deg);*/
}
#intro .bg_txt{
        font-size: 100px;
    line-height: 1em;
    font-family: 'Oswald', sans-serif;
    opacity: 0.3;
    top: 0;
    left: 0;
}
#intro h2{color: #f57f40;}
#intro p{color: #555555;}
#contents1 .about_txt{
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    top: -270px;
    left: -20px;
    width: 1em;
    /* padding-right: 1em; */
    font-size: 100px;
    line-height: 1em;
    font-family: 'Oswald', sans-serif;
    opacity: 0.3;
}
#contents1 span.bg_color2{
    background-image: url(Dup/img/bg01.jpg);
    opacity: 0.1;
}
#contents1 .dec{
    position: absolute;
    bottom: 0;
    right: 250px;
    max-width: 300px;
    width: 35%;
    top: inherit;
    height: auto;
}
#contents2 .top_title p{
    text-transform: uppercase;
    font-family: 'Oswald', sans-serif;
    margin-bottom: 20px;
}
#contents2 .contents2_bg::before{    background-color: #e60011;}
#top_info span.info_bg{
    background-image: url(Dup/img/bg01.jpg);
    opacity: 0.1;
    width: 100%;
    height: 100%;
}
.sankaku01{
    width: 0;
    height: 0px;
    border-style: solid;
    border-width: 100px 300px 0 0;
    /* border-color: #d92026 transparent transparent transparent; */
    left: -50px;
    top: -50px;
    border-color: #d92027;
    transform: skewX(-20deg);
}
.sankaku02{
        width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 400px 200px;
    border-color: transparent transparent #d92026 transparent;
    bottom: 0;
    right: 0;
    display: none;
}
#top_cms{background-color: #f7f7f7;}
#f_contact .con_bt:before{
    content: "RECRUIT";
    display: block;
    position: absolute;
    font-size: 80px;
    color: #ffffff;
    top: -80px;
    left: 50%;
    transform: translatex(-50%);
    opacity: 0.3;
    font-family: 'Oswald', sans-serif;
}



.topcms_news_type2 .cate_box {
	width: 46.33333%!important;
	margin-right: 1.5%;
	margin-left: 1.5%;
	cursor: pointer;
	border-bottom: 1px solid #ddd;
	margin-bottom: 30px;
	box-shadow: 0 6px 12px rgb(0 0 0 / 0);
	/* padding: 20px; */
	/* border-radius: 20px; */
	/* background-color: #f5f5f5; */
}
.topcms_news_type2 .cate_box:hover {
	transform: translateY(-5px);
}
.topcms_news_type2 .cate_box .box_item {
	cursor: pointer;
}
.topcms_news_type2 .txt_height {
	height: 5em
}
.topcms_news_type2 .box_img1 {
	border-radius: 10px;
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.topcms_news_type2 .cate_box {width: 100%!important;}
.topcms_news_type2 .txt_height {height: 3em}
}
/*===========================================================*/
/* 下層 */
/*===========================================================*/
#page_title::before{content: none;}
.cate_title {
    background-color: transparent;
    padding: 20px 0 0;
    margin: 0;
    display: block;
    border: none;
    width: 100%!important;
    font-size: 24px;
    text-align: center;
    padding-bottom: 30px!important;
    margin-bottom: 50px;
    color: #e60011;
    position: relative;
    font-weight: bold;
}
.cate_title::before {
    position: absolute;
    content: "";
    width: 50px;
    height: 1px;
    left: 50%;
    bottom: 0;
    background-color: #e60011;
    transform: translatex(-50%);
}
#cms_2-a .cate_box{
    border: 1px solid #d92027;
    border-left: 10px solid #d92027;
    padding: 20px;
}
#cms_2-a .cate_box h4{
    border-bottom: 1px solid;
    padding-bottom: 0;
    margin-bottom: 20px;
}
#cms_2-a .cate .cate_box:last-of-type{border-bottom: 1px solid;}
.main_bg{position: relative;padding-bottom: 100px;}
.main_bg:before{
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;left: 0;
    background-image: url(Dup/img/bg02.jpg);
    opacity: 0.3;
}
#page2,#page3,#page4,#page5,#page6,#page7,#page8,#page9,#page10{
    background-color: #fff;
    /* z-index: 2; */
    position: relative;
    box-shadow: 0px 0px 5px #e9e9e9;
    padding-bottom: 100px;
    margin-bottom: 0;
    padding-top: 100px;
}
#page_title{height: 500px;overflow: inherit;}
#page_title .box{
        position: absolute;
    bottom: -60px;
    left: 0;
    padding: 0;
}
#page_title h2{text-align: left;}
#page_title h2 span{
    background-color: #d92027;
    padding: 20px 30px 20px 80px;
    display: inline-block;
}
#page_title h3 span{
        background-color: #f57f40;
    /* text-align: left; */
    display: inline-block;
    /* padding: 20px 50px; */
    padding: 20px 30px 20px 80px;
}
#page_title h3.animStart{animation: heroText 600ms 800ms both;}
#page_title h3.animStart span{animation: heroText 600ms 900ms both;}
/*===========================================================*/
/* タブレット */
/*===========================================================*/
@media screen and (max-width: 768px){
#main_img{height: 50vh!important;}
#intro .intro_bg {
    transform: none;
}
.sankaku01{border-width: 100px 200px 0 0;}
.sankaku02{border-width: 0 0 100px 200px;}
#contents1{padding-bottom: 200px;}
#page_title{height: 400px;}
footer{padding-bottom: 100px;}
#page10 .more_bt2 a {
    height: 70px;
    line-height: 30px;
}
#page10 .more_bt2 a h2 span{display: block;}
.catch{
    top: 23%;
}
}



/*===========================================================*/
/* スマホ */
/*===========================================================*/
@media screen and (max-width: 667px){
    #video{top: 50%;}
#contents1 .about_txt{
    opacity: 0.2;
    left: -40px;
}
#intro .bg_txt,#contents1 .about_txt{font-size: 60px;}
#contents1 {
    padding-bottom: 150px;
}
#contents1 .dec{width: 50%;right: 150px;}
#page_title {
    height: 300px;
}
#page_title h2 span{padding: 20px 30px 20px 50px;}
#page_title h3 span{padding: 10px 30px 10px 50px;}
.bnr a span {
    width: 40%!important;
}
.bnr {
    width: 200px;bottom: 10px;
}
#header.head_fix #pc_nav ul {
    height: 70px;
}
#logo {
    max-width: 140px;
}

}


/*===========================================================*/
/* IE */
/*===========================================================*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none){
.pager li a .posi_center{top: 50%!important;}
#page9 a{padding-bottom: 10px!important;}

}


/*===========================================================*/
/* Firefox */
/*===========================================================*/
@-moz-document url-prefix(){

}



/*2023_0711_修正*/
.add_bnr{
    max-width: 700px;
    margin: 0 auto 100px;
}
@media screen and (max-width: 667px){
    .add_bnr {
    margin: 100px auto 100px;
    padding: 0 20px;
}
}