﻿/*===========================================================*/
/* 個別 */
/*===========================================================*/
@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,.cmstitle h3,.pagetitle h2.en{
        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;
}
.font1,#con3 .title .en,.en,.cmstitle p,.pagetitle p,.c-btn__txt,.f_contact_box p:first-of-type{font-family: 'Oswald', sans-serif!important;}
.linkStyle{color: #333;border-bottom: 1px solid;}
.f_sitemap_inner li i{display: none;}
.fa-envelope:before {
    content: "\f4ad";
}
.menu_btn{
    border: none;
    box-shadow: none;
    background-color: transparent;
}
.st{
    background-color: #f4f4f4;
    height: 130%;
    width: 100%;
    transform: skewY(-5deg);
    z-index: -1;
    left: 0;
    top: -100px;
}
.bnr a span{width: 30%!important;}
#con1 .intro_st{
        left: 0;
    bottom: 0px;
        width: 0;
    height: 0;
    border-style: solid;
    border-width: 200px 0 0 2000px;
    border-color: transparent transparent transparent #ffffff;
    transform: scale(-1,1);
}
#main_img{height: 100vh;overflow: hidden;}
.catch_txt1{
    top: 20%;
    left: 3%;
    max-width: 540px;
    width: 40%;
}
.catch_txt2{
        top: 50%;
    left: 10%;
    max-width: 530px;
    width: 30%;
}
.catch_txt3{
    top: 62%;
    left: 10%;
    font-size: 24px;
}
.catch_txt4{
    top: 20%;
    right: 5%;
    max-width: 277px;
    width: 25%;
}
.catch_txt5{
    bottom: 15%;
    right: 5%;
    max-width: 205px;
    width: 10%;
}
#fakeloader:before{background-color: #f4f4f4;}
.header-in{border-radius: inherit;width: 100%;margin-top: 0;}
#topCms .st{
    height: 110%;
    top: 0;
}
#con2 .topimg2 img, #con2 .topimg3 img{border-radius: inherit;}
.cmstitle span{display: none;} 
.c-btn{
    position: relative;
    display: inline-block;
    letter-spacing: .1em;
    color: #fff;
    padding: 20px 300px;
    font-weight: 500;
    font-size: 16px;
}
.c-btn__back {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    content: '';
    -webkit-transform: skewX(-21.35deg);
    transform: skewX(-21.35deg);
}
.c-btn__inner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    line-height: 0px;
    pointer-events: none;
}
#con1 .intro_bg{
        width: 100%;
    height: 100%;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0.2;
}
#con1{
/*    background-image: url(Dup/img/intro_item01.png);
    background-repeat: no-repeat;
    background-position: center;*/
    background-color: transparent;
        overflow: hidden;
    padding-bottom: 200px;
}
#con1 p{
    text-align: left;
    max-width: 1020px;
    margin: 0 auto;
}
#con3 .sl,#con3 .icon{display: none;}
#con3 .box .img,#sp_nav .sp_nav_inner .menu__header,#sp_nav .sp_nav_inner .l-menu,#page8 .contact_tel a{
    border-radius: inherit;
}
#contents3 .no{
    line-height: 1;
    text-align: center;
    bottom: 0;
    left: 0;
    padding: 10px;
    font-weight: bold;
}
    #contents3{    background-color: #f4f4f4;padding: 50px;}
#contents3 .con_box{cursor: pointer}
#contents3 .con_box:hover .box_img{
	transform: scale(0.98,0.98) rotate(0.01deg);
}
#contents3 .con_box:hover .box_img img{
	transform: translate(-50%, -50%) scale(1.1,1.1) rotate(0.01deg);
	opacity: 0.6
}
#contents3 .con_box:hover .box_img span{opacity: 1}
#contents3 .con_open{
	top: 0;
	left: 0;
	z-index: 1000;
}
#contents3 .open_scroll{overflow-y: auto}
#contents3 .con_open .close_bt{
	top: 20px;
	right: 20px;
	cursor: pointer
}
#contents3 .item{left: -70px;}
#contents3 .open_bg{
        background-color: #f4f4f4;
    opacity: 0.95;
}
.f_contact_box p:first-of-type{margin-top: 20px;}
.f_contact_box h4{font-size: 30px;}


/* -- loader -- */
#loader{
	top: 0;
	left: 0;
	z-index: 9999;
	transition: -webkit-transform 1s cubic-bezier(0.5, 0, 0, 1);
    transition: transform 1.5s cubic-bezier(0.5, 0, 0, 1);
    transition: transform 1.5s cubic-bezier(0.5, 0, 0, 1), -webkit-transform 1s cubic-bezier(0.5, 0, 0, 1);
}
#loader.load_bg {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
}
.load_logo figure{
	opacity: 0;
	-webkit-transform: translateX(100px);
    transform: translateX(100px);
	transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    transition-duration: 1.5s;
    transition-delay:1s;
    transition-timing-function: cubic-bezier(0.2, 0.8, 0.7, 1);
	max-width: 300px;
	z-index: 2;
}
#loader.load .load_logo figure{
	-webkit-transform: translateX(0px); 
    transform: translateX(0px);
    opacity: 1.0;
}
#loading_line,#loading_bg{
	top: 0;
	left: 0;
	margin: auto;
	height: 100vh;
	-webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
    transition: -webkit-transform 0.6s cubic-bezier(0.3, 1, 0.1, 1);
    transition: transform .65s cubic-bezier(0.3, 1, 0.1, 1);
    transition: transform .65s cubic-bezier(0.3, 1, 0.1, 1), -webkit-transform .65s cubic-bezier(0.3, 1, 0.1, 1);
	z-index: -2;
}
#loading_bg{z-index: -1;transition-delay: .55s}
#loader.load #loading_line,#loader.load #loading_bg{transform: scaleX(1);}












.link_type2 .cate_box a {
    color: #fff;
}
.link_type2 .cate_box a:before, .link_type2 .cate_box a:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.5);
    z-index: 1;
}
.link_type2 .cate_box a:after {
    top: 100%;
    background-color: #c52e3d;
    transition: 0.5s;
	z-index: 3;
}
.link_type2 .cate_box a:hover:after {
    top: 0;
}
.link_type2 .cate_box .txt_wrap {
    z-index: 2;
}
.link_type2 .more {
	letter-spacing: 3px;
    box-sizing: border-box;
	opacity: 0;
	transition: opacity .8s;
	z-index: 4;
}
.link_type2 .cate_box a:hover .more {
    opacity: 1;
}
.bnr {
    bottom: 30px;
    left: 30px;
    z-index: 7;
}
.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,#9d262f);
}
.bnr a span{text-align: center;}
.bnr a:hover{transform: scale(1.03);}
/*===========================================================*/
/* 下層 */
/*===========================================================*/
.cate_list li a{
    background-color: #e60011;
    color: #fff;
    transition: 0.5s;
}
.cate_list li a:hover{transform: scale(1.03);}
.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: normal;
}
.cate_title::before {
    position: absolute;
    content: "";
    width: 50px;
    height: 1px;
    left: 50%;
    bottom: 0;
    background-color: #e60011;
    transform: translatex(-50%);
}
.pagetitle{padding-top: 250px;    padding-bottom: 100px;}
.pagetitle_img{
    mix-blend-mode: inherit;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.pagetitle h2{font-size: 30px;}
.pagetitle p{color: #e60011;}
.pagetitle p span{display: none;}
.all_contents .content,.cate_list li a,.f_contact_box,.f_contact_btn a{border-radius: inherit;}
.cmstitle .en{font-size: 30px;}
#page10 div a:hover i {
    transform: translateX(-10px);
}
/*===========================================================*/
/* タブレット */
/*===========================================================*/
@media screen and (max-width: 768px){
#main_img{height: 50vh;}
#con1{padding-bottom: 100px;}
footer .copy{padding-bottom: 100px;}
#fakeloader .fl{max-width: 200px;}
.st{height: 110%;}
.c-btn {
    padding: 20px 100px;
}
.header{padding: 0;}
.header-in{height: 100px;}
.pagetitle {padding-top: 200px;}
.catch_txt5{bottom: 5%;}

}



/*===========================================================*/
/* スマホ */
/*===========================================================*/
@media screen and (max-width: 667px){
.bnr{width: 200px;}
.header-in {
    height: 80px;
}
#main_img {
    height: 37vh;padding-top: 80px;
}
.catch_txt1 {
    top: 30%;
    left: 3%;
}
.catch_txt2 {
    top: 60%;
    left: 10%;
}
.catch_txt3 {
    top: 70%;
    left: 4%;
    font-size: 14px;
}
.catch_txt4{top: 30%;}

#contents3{padding: 50px 20px;}
.pagetitle {
    padding-top: 150px;
    padding-bottom: 50px;
}
.st{top: -80px;}
#topCms .st {height: 100%;}
.bnr a span {
    width: 40%!important;
}
}


/*===========================================================*/
/* IE */
/*===========================================================*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none){
.st{top: -80px!important;}
#page8 .contact_tel a{padding: 14px 40px 14px!important;}

}


/*===========================================================*/
/* Firefox */
/*===========================================================*/
@-moz-document url-prefix(){

}