@charset "utf-8";

/*-----------------------------------------------
    index
-----------------------------------------------*/
/* secFirstview */
.secFirstview{
    position: relative;
    background: url(../img/contact/bgTop.jpg) center top no-repeat;
    height: 520px;
    padding-top: 190px;
}
/* .secFirstview::before,
.secFirstview::after{
    position: absolute;
    content: "";
    width: 334px;
    height: 281px;
    bottom: 0;
}
.secFirstview::before{
    background: url(../img/contact/334_281_02.png) center top no-repeat;
    left: calc(50% - 674px);
}
.secFirstview::after{
    background: url(../img/contact/334_281_01.png) center top no-repeat;
    right: calc(50% - 674px);
} */
.secFirstview .imgFree{
    position: absolute;
    top: 137px;
    left: calc(50% - 217px);
}
.secFirstview .tit{
    font-size: 52px;
    font-weight: bold;
    letter-spacing: 9px;
    color: #2f2e2d;
    text-align: center;
}
.secFirstview .txtEng{
    font-size: 22px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 3px;
    margin-top: 14px;
    color: #2f2e2d;
    text-shadow: 0px 1px 5.6px rgba(0, 0, 0, 0.2);
}
.secFirstview .txt{
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    line-height: 2.1;
    letter-spacing: 2.5px;
    margin-top: 32px;
    text-shadow: 0px 1px 5.6px rgba(0, 0, 0, 0.2);
}
@media only screen and (max-width:767px){
    .secFirstview{
        background: url(../img/contact/bgTop_sp.jpg) center top no-repeat;
        background-size: cover;
        height: 48vw;
        display: flex;
        align-items: center;
        padding: 0;
    }
    .secFirstview .wrapper{
        width: calc(100% - 32.8vw);
        text-align: center;
    }
    /* .secFirstview::after{
        width: 32.8vw;
        height: 28vw;
    }
    .secFirstview::before{
        display: none;
    }
    .secFirstview::after{
        background: url(../img/contact/246_210_01.png) center top no-repeat;
        background-size: contain;
        right: 0;
    } */
    .secFirstview .imgFree{
        position: relative;
        top: 0;
        left: 0;
        width: 32px;
    }
    .secFirstview .tit{
        font-size: 20px;
        letter-spacing: 4px;
        text-shadow: none;
        margin-top: 7px;
    }
    .secFirstview .txtEng{
        font-size: 11px;
        letter-spacing: 1.5px;
        margin-top: 6px;
        text-shadow: none;
    }
    .secFirstview .txt{
        font-size: 11px;
        line-height: 1.8;
        letter-spacing: 1px;
        margin-top: 9px;
        text-shadow: none;
    }
}
@media only screen and (max-width:359px){
    .secFirstview .txt{
        letter-spacing: 0;
    }
}

/* secTop */
.secTop{
    margin-top: 100px;
}
.secTop .txtTop{
    text-align: center;
    font-size: 25px;
    letter-spacing: 3px;
    margin-top: 43px;
    font-weight: 700;
}
.secTop .txt51{
    font-weight: bold;
    font-size: 51px;
    color: #ff4200;
    vertical-align: -2px;
}
.secTop .itemBox{
    display: flex;
    justify-content: space-between;
    margin-top: 32px;
}
.secTop .item{
    width: 30%;
}
.secTop .imgBox{
    position: relative;
}
.secTop .numBox{
    width: 51px;
    height: 51px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ff4200;
    position: absolute;
    bottom: -25px;
    left: calc(50% - 25px);
}
.secTop .txt{
    font-size: 15px;
    text-align: center;
    line-height: 1.73;
    margin-top: 32px;
    font-weight: 500;
    letter-spacing: 0.4px;
}
@media only screen and (max-width:767px){
    .secTop{
        margin-top: 36px;
    }
    .secTop .txtTop{
        font-size: 15px;
        letter-spacing: 1.5px;
        line-height: 1.5;
        margin-top: 34px;
    }
    .secTop .txt51{
        font-size: 30px;
        vertical-align: -1px;
        line-height: 1.2;
    }
    .secTop .itemBox{
        display: block;
        margin-top: 16px;
    }
    .secTop .item{
        width: 100%;
        margin-right: 0;
    }
    .secTop .itemBox .item:nth-child(n+4){
        margin-top: auto;
    }
    .secTop .itemBox .item:nth-child(n+2){
        margin-top: 33px;
    }
    .secTop .imgNum{
        width: 19px;
    }
    .secTop .itemBox .item:first-child .imgNum{
        width: 18px;
    }
    .secTop .txt{
        margin-top: 32px;
        letter-spacing: 0.4px;
    }
}
@media only screen and (max-width:359px){
    .secTop .txt{
        letter-spacing: 0px;
        font-size: 13px;
    }
}

/* secContactForm */
.secContactForm{
    position: relative;
    margin-top: 83px;
    padding: 77px 0 70px;
}
.secContactForm.lazyloaded{
    background: url(../img/contact/bgCatalog.gif) left top;
}
.secContactForm .titBox{
    position: absolute;
    top: -13px;
    left: calc(50% - 68px);
}
.secContactForm .titEng{
    font-size: 32px;
    text-align: center;
    letter-spacing: 3px;
    font-weight: 500;
}
.secContactForm .titJpn{
    font-size: 15px;
    letter-spacing: 1px;
    text-align: center;
    margin-top: 10px;
}
.secContactForm .linkBox{
    display: flex;
    flex-wrap: wrap;
}
.secContactForm span{
    display: block;
}
.secContactForm label{
    cursor: pointer;
}
.secContactForm .item{
    position: relative;
    width: 47.834%;
    margin-right: 4.332%;
}
.secContactForm .linkBox .item:nth-child(2n){
    margin-right: 0;
}
.secContactForm .linkBox .item:nth-child(n+3){
    margin-top: 4.332%;
}
.secContactForm input[type="checkbox"]{
	visibility: hidden;
	position: absolute;
	bottom: 100%;
	left: 0;
	z-index: -1;
}
.secContactForm .link{
    background: #fff;
    padding: 33px 40px 33px 45px;
    display: flex;
    align-items: flex-start;
    position: relative;
    height: 100%;
}
.secContactForm .img{
    width: 31.086%;
    padding-top: 38.243%;
    flex-shrink: 0;
}
.secContactForm .rightBox{
    margin-left: 25px;
    width: 100%;
    padding-top: 11px;
    padding-bottom: 85px;
}
.secContactForm .boxTit{
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 1px;
    line-height: 1.5;
}
.isDesktopIpad .secContactForm .boxTit{
    font-size: 20px;
    letter-spacing: 0;
}
.secContactForm .boxTxt{
    font-size: 15px;
    line-height: 1.73;
    margin-top: 9px;
}
.secContactForm .btnOff,
.secContactForm .btnOn{
    width: 300px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size:16px;
    letter-spacing: 1px;
    position: absolute;
    bottom: 42px;
    right: 47px;
    background: #212329;
    color: #fff;
}
.secContactForm .btnOff{
    background: #fff;
    border: 1px solid #212329;
    color: #212329;
}
.secContactForm input[type="checkbox"]:not(:checked) + .link .btnOn,
.secContactForm input[type="checkbox"]:checked + .link .btnOff{
    display: none;
}
@media only screen and (max-width:767px){
    .secContactForm{
        margin-top: 65px;
        padding: 75px 0 40px;
    }
    .secContactForm .titBox{
        top: -11px;
        left: calc(50% - 30px);
    }
    .secContactForm .titEng{
        font-size: 26px;
        letter-spacing: 2px;
    }
    .secContactForm .titJpn{
        margin-top: 10px;
    }
    .secContactForm .item{
        width: 48.696%;
        margin-right: 2.608%;
    }
    .secContactForm .linkBox .item:nth-child(n+3){
        margin-top: 2.608%;
    }
    .secContactForm label{
        height: 100%;
        display: block;
    }
    .secContactForm .link{
        padding: 15px;
        display: block;
    }
    .secContactForm .img{
        width: 65.218%;
        padding-top: 81.16%;
        margin: 0 auto;
    }
    .secContactForm .rightBox{
        margin-left: 0;
        padding-top: 13px;
        padding-bottom: 35px;
    }
    .secContactForm .boxTit{
        font-size: 12px;
        letter-spacing: 0.4px;
        line-height: 1.41;
        min-height: 33px;
    }
    .secContactForm .boxTxt{
        font-size: 11px;
        line-height: 1.63;
        margin-top: 1px;
    }
    .secContactForm .btnOff,
    .secContactForm .btnOn{
        width: 82.143%;
        height: 30px;
        font-weight: bold;
        font-size:12px;
        letter-spacing: 1px;
        bottom: 13px;
        right: 9%;
    }
}
@media only screen and (max-width:767px){
    .secContactForm{
        margin-top: 62px;
        padding: 75px 0 40px;
    }
    .secContactForm .titBox{
        top: -13px;
        left: calc(50% - 64px);
    }
    .secContactForm .titEng{
        font-size: 26px;
        letter-spacing: 2px;
    }
    .secContactForm .titJpn{
        font-size: 14px;
        letter-spacing: 1px;
        margin-top: 10px;
    }
}
/* secContact */
.secContact{
    margin-top: 0;
    padding-bottom: 150px;
}
@media only screen and (max-width:767px){
    .secContact{
        padding-bottom: 80px;
    }
}