/*
Theme Name: flapmedia
Theme URL: http://f-media.co.jp/
Description: flapmedia
Author: t.tomoya
Version: 1.0
*/

/*---------------------------------------------------------*/
/* General */
/*---------------------------------------------------------*/

@import url(css/reset.css);

/* --------------------------------------
    page Style Seet
        
    1.base Style Seet

        1-1.    header
        1-2.    footer

    2.index Style Seet

        2-1.    section01
        2-2.    section02
        2-3.    section03
        2-4.    section04
        2-5.    section05
        2-6.    section06
        2-7.    section07
        2-8.    section08   
        2-9.    section09
        2-10.   section10
        2-11.   section11
        2-12.   section12
        2-13.   section13
        2-14.   section14
        2-15.   section15
        2-16.   section16   
        2-17.   section17

    3.sp Style Seet

        3-1.    max-width:414px;
        3-2.    max-width:375px;
        3-3.    max-width:320px;
        3-4.    max-width:768px;    

-----------------------------------------*/

.enFont{
    font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif !important;
}

@font-face {
   font-family: KozGoProB;
   src: url('fonts/KozGoPro-Bold.otf') format("truetype");
}


/* --------------------------------------

=========================================

    1.base Style Seet

=========================================

-----------------------------------------*/


div#contents{
    overflow-x: hidden;
}

.pc{
    display: block;
}

.sp{
    display: none;
}

a{
    transition: .2s;
}

a.comingSoon{
    opacity: 0.5;
    pointer-events: none;
}


/*---------------------------------------------------------*/
/*      1-1.    header                                     */
/*---------------------------------------------------------*/

header {
    position: absolute;
    z-index: 1;
    width: 100%;
    top: 0;
    border-top: 12px solid #0c3073;
}

.headerWrapper {
    max-width: 1024px;
    margin: 0 auto;
    z-index: 9999;
    position: relative;
    bottom: 12px;
}

.headerLogo {
    width: 250px;
    text-align: center;
    position:  absolute;
    z-index: 9999;
    background: #fff;
    top: -12px;
    left: 35px;
}

.headerLogo a {
    display: block;
    padding: 42px 0px;
    border: 1px solid #e3f2fd;
}

.headerLogo a:hover{
    opacity: 0.7;
}

ul#gnav{
    overflow: hidden;
    text-align: right;
}

ul#gnav li {
    display: inline-block;
    margin: 0 25px;
    /* padding-top: 30px; */
}

ul#gnav li a {
    color: #fff;
    display: block;
    font-size: 15px;
    letter-spacing: 2px;
    font-weight: bold;
    padding-top: 30px;
    border-top: 12px solid #0c3073;
    position: relative;
    bottom: 0px;
    z-index: 9999;
}

ul#gnav li a:hover{
    border-top: 12px solid #f7931e;
}

ul#gnav li.now a{
    border-top: 12px solid #f7931e;
}

.fixed ul#gnav li a{
    color: #4d4d4d;
}

nav#side{
    display: none;
}



/*---------------------------------------------------------*/
/*      1-2.    footer                                     */
/*---------------------------------------------------------*/

.footerWrapper {
    max-width: 1024px;
    margin: 0 auto;
    padding: 50px 0 45px;
}

/*.footerWrapper .top {
    margin-bottom: 38px;
}*/

.footerWrapper .bottom{
    overflow: hidden;
}

.fnavLeft{
    width: 77%;
    float: left;
}

.fnavRight{
    width: 23%;
    float: right;
    margin-top:  30px;
}

.footerLogo {
    margin-bottom: 26px;
}

.footerLogo a{
    display: inline-block;
}

.footerLogo a:hover{
    opacity: 0.7;
}

.fMenu{
    float: left;
}

.fMenu.business{
    width: 60%;
}

.fMenu.company{
    width: 40%;
}

.fMenu .separation {
    width: 50%;
    float: left;
}

.fMenu h4{
    font-size: 18px;
    margin-bottom: 18px;
}

.fMenu h4 a{
    color: #3e93d2;
}

.fMenu h4 a:hover{
    opacity: 0.7;
}

.fMenu ul{
    overflow:  hidden;
}

.fMenu ul li{
    font-size: 14px;
    margin-bottom: 12px;
}

.fMenu ul li a{
    color: #4d4d4d;
    display: block;
}

.fMenu ul li a:hover{
    opacity: 0.7;
}

footer .moreButton:first-of-type{
    margin-bottom: 12px;
}

footer .moreButton a {
    width: auto;
    font-size: 15px;
}

p.copyRight {
    background: #0c3073;
    color: #fff;
    font-size: 12px;
    text-align: center;
    padding: 21px 0 20px;
}



/* --------------------------------------

=========================================

    2.index Style Seet

=========================================

-----------------------------------------*/


/*---------------------------------------------------------*/
/*      2-0.    section common                             */
/*---------------------------------------------------------*/

.sectionWrapper {
    max-width: 1024px;
    margin: 0 auto;
}

.sectionTitle {
    position: relative;
    margin-bottom: 42px;
}

.sectionTitle .titleText {
    text-align: center;
}

.sectionTitle .titleText h2 {
    font-size: 32px;
    margin-bottom: 10px;
}

.sectionTitle .titleText span{
    font-family: KozGoProB;
    color: #999999;
    letter-spacing: 4px;
}

.titleBg {
    /*position: absolute;
    width: 100%;
    text-align: center;
    left: 0;
    bottom: 24px;*/
    display: none;
}

.moreButton a {
    display: block;
    width: 300px;
    margin: 0 auto;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    padding: 15px 0;
    letter-spacing: 1px;
    color: #808080;
    border: 2px solid #808080;
    line-height: 1.6;
}

.moreButton a:hover{
    border: 2px solid #808080;
    background: #808080;
    color: #fff;
}

.moreButton.orange a{
    background: #f7931e;
    border: 2px solid #f7931e;
    color: #fff;
}

.moreButton.orange a:hover{
    background: #fff;
    color: #f7931e;
}

.pageTop {
    background: #e6e6e6;
}

.pageTop a {
    display: block;
    color: #4d4d4d;
    font-weight: bold;
    text-align: center;
    padding: 7px 0;
}

.pageTop a img{
    display: block;
    margin: auto;
    transition: .2s;
}

.pageTop a:hover img {
    opacity: 0.7;
}

.pageTop a span{
    display: block;
    font-size: 14px;
    transition: .2s;
}

.pageTop a:hover span{
    opacity: 0.7;
}

.breadCrumb {
    background: #fbfbf9;
    border-top: 1px solid #e3f2fd;
    border-bottom: 1px solid #e3f2fd;
}

.breadCrumb ul {
    overflow: hidden;
    max-width: 1024px;
    margin: auto;
    padding: 19px 0 16px;
    text-align: right;
}

.breadCrumb li {
    font-size: 14px;
    display: inline-block;
    color: #4d4d4d;
    font-weight: normal;
    padding: 0 10px;
    letter-spacing: 1px;
}

.breadCrumb li.partition {
    padding: 0;
}

.breadCrumb li a{
    color: #4d4d4d;
}

.underPage {
    margin-top: 95px;
}

article#underContent .subTitle {
    border-bottom: 1px solid #e3f2fd;
    padding-top: 50px;
}

article#underContent .subTitle h3{
    font-size: 24px;
    text-align: center;
    margin-bottom: 10px;
    letter-spacing: 1px;
}

article#underContent .subTitle:after {
    content: "";
    display: block;
    width: 80px;
    height: 7px;
    background: #0c3073;
    margin: 0 auto;
    position: relative;
    top: 4px;
}





/*---------------------------------------------------------*/
/*      2-1.    #firstview                                 */
/*---------------------------------------------------------*/

section#firstview .sectionWrapper {
    max-width: none;
    position: relative;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
}

.firstviewBg img {
    min-height: 883px;
    min-width: 1680px;
    width: 100%;
}

section#firstview .firstCatch {
    position: absolute;
    color: #fff;
    text-align: center;
    margin-top: 20px;
}

section#firstview .firstCatch h1{
    font-size: 62px;
    margin-bottom: 48px;
}

section#firstview .firstCatch h1 span:nth-of-type(2){
    margin: 0 32px;
}

section#firstview .firstCatch h2 {
    font-size: 28px;
    letter-spacing: 1.5px;
    font-family: KozGoProB;
}

.slideArrow {
    position: absolute;
    bottom: 5%;
    width: 100%;
}

.slideArrow a{
    display: block;
}

.slideArrow img {
    display: block;
    margin: 0 auto;
}


/*---------------------------------------------------------*/
/*      2-2.    #business                                  */
/*---------------------------------------------------------*/

section#business .sectionWrapper{
    padding: 75px 0 75px;
}

ul.businessBlocks {
    overflow: hidden;
}

ul.businessBlocks li {
    width: 50%;
    float: left;
    height: 300px;
}

ul.businessBlocks li a{
    display: block;
    height: 100%;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    -webkit-flex-direction: column;
    flex-direction: column;
    color: #fff;
    position: relative;
}

ul.businessBlocks li a:hover{
    background: rgba(51,51,51,0.6);
}

ul.businessBlocks li a h3{
    font-size: 20px;
    letter-spacing: 2px;
    margin-bottom: 24px;
    margin-top: 24px;
}

ul.businessBlocks li a span {
    font-size: 15px;
    font-weight: bold;
    padding: 3px 22px 4px;
    border: 2px solid #fff;
    /* position:  absolute; */
    /* bottom: 80px; */
    margin-left: 97px;
    transition: .2s;
}

ul.businessBlocks li a:hover span {
    margin-left: 120px;
}

ul.businessBlocks li.event{
    background: url(images/flap_business_img02.jpg);
    background-size: cover;
    background-position: center;
}

ul.businessBlocks li.communication{
    background: url(images/flap_business_communication_img.jpg);
    background-size: cover;
    background-position: center;
}

/*ul.businessBlocks li.media{
    background: url(images/flap_business_media_img.jpg);
}*/

ul.businessBlocks li.agency{
    background: url(images/flap_business_agency_img.jpg);
    background-size: cover;
    background-position: center;
}

ul.businessBlocks li.outsourcing{
    background: url(images/flap_business_outsourcing_img.jpg);
    background-size: cover;
    background-position: center;
}

/*ul.businessBlocks li.fintech{
    background: #777;
}
*/

section#event .moreButton.orange {
    margin-top: 40px;
}


/*---------------------------------------------------------*/
/*      2-3.    #company                                   */
/*---------------------------------------------------------*/

section#company{
    border-bottom: 1px solid #e3f2fd;
}

section#company .sectionWrapper{
    padding: 20px 0 67px;
}

.companyContent p {
    color: #4d4d4d;
    font-weight: bold;
    text-align: center;
    font-size: 18px;
    line-height: 2.3;
    letter-spacing: 1px;
}

section#company .moreButton{
    margin-top: 45px;
}


/*---------------------------------------------------------*/
/*      2-4.    #news                                      */
/*---------------------------------------------------------*/

section#news .sectionWrapper {
    padding: 80px 0 55px;
}

ul.mediaList{
    border: 1px solid #e3f2fd;
    padding: 6px 30px 5px;
}

ul.mediaList li{
    padding: 20px 0 18px;
    /*margin-bottom: 28px;*/
    color: #4d4d4d;
    border-bottom: 1px solid #e3f2fd;
}

ul.mediaList li:last-of-type{
    border-bottom: none;
}

ul.mediaList li a{
    color: #4d4d4d;
    display:  block;
}

ul.mediaList li span.day {
    font-size: 18px;
    font-weight: bold;
    margin-right: 20px;
    font-family: KozGoProB;
}

ul.categoryList.archives {
    display: inline-block;
    margin-top: 1px;
}

ul.categoryList li {
    font-size: 14px;
    color: #fff;
    background: #454545;
    width: 120px;
    text-align: center;
    padding: 1px 0;
    margin-right: 8px;
    font-weight: bold;
}

ul.mediaList li:last-of-type {
    margin-bottom: 0;
}

ul.mediaList li h3 {
    font-size: 18px;
    margin-top: 9px;
}



/*---------------------------------------------------------*/
/*      2-5.    #other                                     */
/*---------------------------------------------------------*/

section#other {
    padding-top: 78px;
}

.otherContent {
    overflow: hidden;
    border: 1px solid #e3f2fd;
}

.otherRecruit{
    width: 50%;
    float: left;
    background: #3e93d2;
    color: #fff;
    overflow: hidden;
}

.otherRecruit .box{
    max-width: 512px;
    float: right;
    width: 100%;
    text-align: center;
}

.otherRecruit .box .wrapper{
    border: 2px solid #fff;
    margin: 16px;
    padding: 28px 0 26px;
}

.otherContact{
    width: 50%;
    float: left;
    background: #fbfbf9;
    color: #808080;
    overflow: hidden;
}

.otherContact .box{
    max-width: 512px;
    float: left;
    width: 100%;
    text-align: center;
}

.otherContact .box .wrapper{
    border: 2px solid #808080;
    margin: 16px;
    padding: 28px 0 26px;
}

.otherContent .box h3 {
    font-size: 24px;
    margin-bottom: 24px;
}

.otherContent .box h3 img {
    position: relative;
    top: 17px;
    margin: 0 20px;
}

.otherImg{
    margin-bottom: 21px;
}

.otherContent .box ul{

}

.otherContent .box ul li {
    font-size: 14px;
    margin-bottom: 7px;
}

.otherContent .box ul li:last-of-type{
    margin-bottom: 0;
}

.otherContent .box .moreButton {
    margin: 21px auto 0;
}

.otherRecruit .box .moreButton a {
    color: #fff;
    border: 2px solid #fff;
}

.otherRecruit .box .moreButton a:hover {
    color: #3e93d2;
    background: #fff;
}

.otherContact .box .moreButton a {
    color: #808080;
    border: 2px solid #808080;
}

.otherContact .box .moreButton a:hover{
    color: #fff;
}




/*---------------------------------------------------------*/
/*      2-6.    sectionTitle                               */
/*---------------------------------------------------------*/

section#underTitle .sectionWrapper {
    padding: 86px 0 0;
}

section#underTitle .sectionTitle{
    margin-bottom: 0;
}





/*---------------------------------------------------------*/
/*      2-7.    #greeting                                  */
/*---------------------------------------------------------*/

section#greeting .sectionWrapper {
    overflow: hidden;
    padding: 90px 0 30px;
}

.greetingleft{
    float: left;
    width: 27%;
    margin-right:  3%;
}

.greetingRight{
    float: right;
    width: 70%;
}

section#greeting p.companyName {
    font-size: 18px;
    margin-bottom: 12px;
}

section#greeting p.career {
    font-size: 18px;
    margin-bottom: 4px;
}

section#greeting h4{
    font-size: 26px;
}

.greetingDetail {
    margin-bottom: 16px;
}

.greetingText p {
    font-size: 16px;
    line-height: 2.2;
    letter-spacing:  1px;
}


/*---------------------------------------------------------*/
/*      2-8.    #philosophy                                */
/*---------------------------------------------------------*/

section#philosophy{
    color: #4d4d4d;
}

section#philosophy .sectionWrapper {
    padding: 80px 0 16px;
}

section#philosophy h4 {
    font-family: KozGoProB;
    font-size: 40px;
    text-align: center;
    margin-bottom: 21px;
}

section#philosophy h4 span {
    margin: 0 10px;
}

section#philosophy h5{
    font-size: 24px;
    text-align: center;
    margin-bottom: 45px;
}

section#mission h4 {
    font-family: KozGoProB;
    font-size: 40px;
    text-align: center;
    margin-bottom: 46px;
    letter-spacing: 3px;
}

section#standard h4 {
    font-family: KozGoProB;
    font-size: 40px;
    text-align: center;
    margin-bottom: 21px;
    letter-spacing: 3px;
}

section#mission .sectionWrapper {
    padding: 80px 0 16px;
}

section#standard .sectionWrapper {
    padding: 80px 0 16px;
}

ul.missionList li {
    text-align: center;
    margin-bottom: 20px;
}

ul.missionList li:last-of-type {
    margin-bottom: 0;
}

ul.missionList li h5 {
    font-size: 24px;
    letter-spacing: 3px;
    display: inline-block;
    margin-bottom: 6px;
}

ul.missionList li h5:after {
    content: "";
    display: block;
    width: 100%;
    height: 4px;
    background: #3e93d2;
}


/*---------------------------------------------------------*/
/*      2-9.    #overview                                  */
/*---------------------------------------------------------*/

section#overview .sectionWrapper {
    padding: 60px 0 30px;
}

.overviewLogo {
    text-align: center;
    margin-bottom: 46px;
}

table.companyTable {
    width: 100%;
    border: 1px solid #e3f2fd;
}

table.companyTable tr{
    border-bottom: 1px solid #e3f2fd;
    font-size: 18px;
    line-height: 1.8;
}

table.companyTable th{
    width: 20%;
    background: #3e93d2;
    color: #fff;
    border-right: 1px solid #e3f2fd;
    text-align: left;
    padding: 16px 0px 16px 46px;
}

table.companyTable td{
    padding: 16px 0px 16px 46px;
}


/*---------------------------------------------------------*/
/*      2-10.   #map                                       */
/*---------------------------------------------------------*/

section#map .sectionWrapper {
    padding: 36px 0 0;
}

.mapContent p {
    font-size: 20px;
    text-align: center;
    margin-bottom: 30px;
    line-height: 1.8;
}

.mapContent ul{
    overflow: hidden;
    margin-bottom: 24px;
}

.mapContent ul li{
    width: 25%;
    float: left;
}


/*---------------------------------------------------------*/
/*      2-11.   #business                                  */
/*---------------------------------------------------------*/

.businessSection{
    margin-bottom: 30px;
}

.businessSection:last-of-type{
    margin-bottom: 0;
}

.businessSection .businessArea:last-of-type{
    border-bottom: none;
}

.businessArea {
    padding: 56px 124px 44px 24px;
    border-bottom: 1px solid #e3f2fd;
}

.businessArea h4 {
    font-size: 24px;
    border-left: 7px solid #3e93d2;
    padding: 4px 18px;
    margin-bottom: 18px;
}

.businessWrap {
    overflow: hidden;
}

.businessImg {
    width: 35%;
    float: left;
    margin-right: 6%;
    margin-top: 15px;
}

.businessDetail {
    width: 59%;
    float: left;
}

.businessDetail h5 {
    font-size: 21px;
    color: #3e93d2;
    line-height:  1.8;
    margin-bottom: 12px;
}

.businessDetail p {
    line-height: 2;
}

section#communication {
    margin-bottom: 60px;
}


/*---------------------------------------------------------*/
/*      2-12.   #requirements                              */
/*---------------------------------------------------------*/

section#requirements .sectionWrapper {
    padding: 78px 0 70px;
}

table.requireTable {
    width: 100%;
    border: 1px solid #e3f2fd;
}

table.requireTable tr{
    border-bottom: 1px solid #e3f2fd;
    font-size: 18px;
    line-height: 1.8;
}

table.requireTable th{
    width: 20%;
    background: #3e93d2;
    color: #fff;
    border-right: 1px solid #e3f2fd;
    text-align: left;
    padding: 16px 0px 16px 46px;
}

table.requireTable td{
    padding: 16px 0px 16px 46px;
}

section#requirements .moreButton {
    margin-top: 50px;
}


/*---------------------------------------------------------*/
/*      2-13.   #talentImage                               */
/*---------------------------------------------------------*/

section#talentImage .sectionWrapper {
    padding: 70px 0 50px;
}

.talentBlocks ul {
    overflow: hidden;
}

.talentBlocks ul li {
    float: left;
    width: 25%;
}


/*---------------------------------------------------------*/
/*      2-14.   #spend                                     */
/*---------------------------------------------------------*/

section#spend .sectionWrapper {
    padding: 80px 0 100px;
}

.spendHead h4 {
    font-size: 24px;
    border-left: 7px solid #3e93d2;
    padding: 4px 18px;
    margin-bottom: 18px;
}




/*---------------------------------------------------------*/
/*      2-15.   #flow                                      */
/*---------------------------------------------------------*/

section#flow .sectionWrapper {
    padding: 64px 0 0;
}

.flowBlock {
    border: 1px solid #e3f2fd;
    margin-bottom: 28px;
}

.flowBlock .wrapper {
    padding: 36px 90px;
}

.flowBlock h4{
    font-size: 22px;
    color: #3e93d2;
    text-align:  center;
    margin-bottom: 18px;
}

.flowBlock p {
    line-height: 2;
}

.flowBlock .moreButton {
    margin-top: 21px;
}


/*---------------------------------------------------------*/
/*      2-16.   #privacy                                   */
/*---------------------------------------------------------*/

article#privacySection .sectionWrapper {
    padding-top: 50px;
}

article#privacySection section .wrapper{
    padding: 40px 62px 36px;
}

article#privacySection section h3{
    font-size: 21px;
    display: inline-block;
    border-bottom: 5px solid #3e93d2;
    padding-bottom: 10px;
    padding-right: 12px;
    margin-bottom: 20px;
}

article#privacySection section .privacyText {
    line-height: 2;
}

/*article#privacySection section .privacyText p{
    margin-bottom: 30px;
}*/

article#privacySection section {
    border: 2px solid #e3f2fd;
    margin-bottom: 28px;
}

ul.subList {
    margin: 10px 0;
    padding-left: 16px;
    font-size: 14px;
    line-height: 2.2;
}

article#privacySection section .privacyText .moreButton {
    margin: 20px 0 0;
}




/*---------------------------------------------------------*/
/*      2-17.   #contact                                  */
/*---------------------------------------------------------*/

section#formSection .sectionWrapper {
    padding: 70px 0 80px;
    max-width: 900px;
}

section#formSection .sectionTitle {
    margin-bottom: 20px;
}

p.contactCatch{
    max-width: 800px;
    margin: 0 auto 35px;
    line-height: 1.8;
}

.formArea .wrapper {
    padding: 55px 38px;
}

.formParts{
    margin-bottom: 26px;
}

.formParts h3{
    font-size: 18px;
    margin-bottom: 4px;
}

.formParts p.subTitle{
    font-size: 14px;
    margin-bottom: 26px;
}

.formParts .formInput {
    border: 1px solid #808080;
    margin-top: 8px;
}

.formParts.sm .formInput {
    width: 50%;
}

.formParts .formRadio {
    border: none;
    margin-top: 8px;
}

.formParts .formInput input[type="text"] {
    width: 94%;
    font-size: 15px;
    border: none;
    padding: 9px 12px 9px;
    display: block;
}

.formParts .formInput input[type="email"] {
    width: 94%;
    font-size: 15px;
    border: none;
    padding: 9px 12px 9px;
    display: block;
}

.formParts .formInput input[type="tel"] {
    width: 94%;
    font-size: 15px;
    border: none;
    padding: 9px 12px 9px;
    display: block;
}

.formParts .formInput textarea{
    width: 97%;
    font-size: 15px;
    border: none;
    padding: 9px 12px 9px;
    display: block;
}

ul.checkContent {
    margin-top: 12px;
}

ul.checkContent li{
    border: 1px solid #808080;
    font-size: 15px;
    display: inline-block;
    padding: 8px 10px 6px;
    margin-right: 5px;
    margin-bottom: 12px;
}

ul.checkContent li img {
    vertical-align: middle;
    margin-right: 7px;
}

.submitButton {
    max-width: 300px;
    margin: 36px auto 0;
    text-align: center;
    /* margin: 0px 0; */
}

.submitButton input {
    width: 100%;
    cursor: pointer;
    transition: all .3s ease;
    display: block;
    margin: 0 auto;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    padding: 15px 0;
    letter-spacing: 1px;
    color: #808080;
    border: 2px solid #808080;
    line-height: 1.6;
    background: #fff;
}

.submitButton input:hover{
    background: #808080;
    color: #fff;
    border: 2px solid #808080;
}

ul.checkContent label {
    border: 1px solid #808080;
    font-size: 15px;
    display: inline-block;
    padding: 8px 14px 6px 12px;
    margin-right: 5px;
    margin-bottom: 12px;
    cursor: pointer;
}

ul.checkContent label input {
    margin-right: 6px;
}

ul.checkContent label:focus {
    border: 1px solid #7ccad3;
}

.formRadio label {
    border: 1px solid #808080;
    font-size: 15px;
    display: inline-block;
    padding: 8px 14px 6px 12px;
    margin-right: 5px;
    margin-bottom: 12px;
}

.formRadio label input{
    margin-right: 6px;
}

div#wpcf7-f13445-o1 {
    border: 1px solid #4d4d4d;
}

.confirmationCheck {
    text-align: center;
}

.confirmationCheck label {
    display: inline-block;
    cursor: pointer;
}

.confirmationCheck p {
    font-size: 14px;
    line-height: 1.8;
    margin-top: 5px;
}

span.wpcf7-list-item {
    border: 1px solid #808080;
    font-size: 15px;
    display: inline-block;
    padding: 8px 14px 6px 12px;
    margin-right: 5px;
    margin-bottom: 12px;
    cursor: pointer;
}

span.wpcf7-list-item input[type="checkbox"] {
    margin-right: 6px;
}

.confirmationCheck span.wpcf7-list-item {
    border: none;
}



/*---------------------------------------------------------*/
/*      2-18.   section17                                  */
/*---------------------------------------------------------*/






/* --------------------------------------

=========================================

    3.responsive Style Seet

=========================================

-----------------------------------------*/

/* タブレット */
/*---------------------------------------------------------*/
/*      3-1.   max-width:768px;                            */
/*---------------------------------------------------------*/

@media screen and (min-width: 1024px) {

}

@media screen and (max-width: 1023px) {


}

@media screen and (min-width: 769px) {

}

@media screen and (min-width: 768px) and (max-width: 1023px) {



}



/* モバイル */
/*---------------------------------------------------------*/
/*      3-2.   max-width:425px;                            */
/*---------------------------------------------------------*/

@media screen and (max-width: 768px) {




}




@media screen and (max-width: 767px) {

.enFont{
    font-family: 'Avenir-Book', sans-serif !important;
    font-weight: bold;
}

.pc{
    display: none;
}

.sp{
    display: block;
}

.headerLogo {
    width: 132px;
    left: 0;
    top: -12px;
}

.headerLogo a{
    padding: 15px 0;
}

.headerLogo a img{
    width: 96px;
}

ul#gnav {
    display: none;
}

section#firstview .firstCatch {
    margin-top: 5px;
}

section#firstview .firstCatch h1 {
    font-size: 42px;
    margin-bottom: 29px;
}

section#firstview .firstCatch h1 span {
    display: inline-block;
    text-align: left;
}

section#firstview .firstCatch h1 span:nth-of-type(2) {
    margin: 0 0 0 48px;
}

section#firstview .firstCatch h2 {
    font-size: 22px;
}

.firstviewBg img {
    min-height: auto;
    min-width: 1000px;
    width: 100%;
}

.slideArrow img {
    width: 200px;
}

.sectionTitle .titleText h2 {
    font-size: 26px;
}

.sectionTitle .titleText span {
    font-size: 15px;
}

.titleBg {
    bottom: 20px;
}

ul.businessBlocks li {
    width: 50%;
    height: 200px;
}

section#company .sectionWrapper {
    padding: 20px 20px 67px;
}

.companyContent p {
    font-size: 15px;
    line-height: 2.4;
    text-align: left;
}

ul.mediaList li h3 {
    font-size: 15px;
    margin-top: 9px;
    line-height: 1.8;
}

ul.mediaList li span.day {
    font-size: 16px;
}

ul.categoryList.archives {
    display: inline-block;
    margin-top: 0;
}

ul.categoryList li {
    font-size: 12px;
    width: 100px;
    padding: 3px 0 1px;
}

.otherRecruit {
    width: 100%;
    float: none;
}

.otherContact {
    width: 100%;
    float: none;
}

.otherContent .box .moreButton {
    margin: 21px 15px 0;
}

.otherContent .box h3 {
    font-size: 21px;
}

.otherContent .box h3 img {
    position: relative;
    top: 16px;
    margin: 0 10px;
}

.moreButton a {
    width: auto;
    font-size: 15px;
    padding: 16px 0 14px;
}

ul.mediaList {
    padding: 6px 20px 5px;
}

.footerWrapper {
    padding: 56px 20px 45px;
}

.fnavLeft {
    width: 100%;
    margin-bottom: 28px;
}

.fnavRight {
    width: 100%;
    margin-top:  0;
}

.fMenu.business {
    width: 100%;
    margin-bottom: 15px;
}

.fMenu.company {
    width: 100%;
}

.fMenu h4 {
    margin-bottom: 20px;
}

.fMenu ul li {
    margin-bottom: 16px;
}

p.copyRight {
    font-size: 10px;
}

.footerLogo a img {
    width: 180px;
}

section#other {
    /* padding-top: 20px; */
}

section#underTitle .sectionWrapper {
    padding: 75px 0 0;
}

article#underContent section#business .sectionWrapper{
    padding: 42px 0;
}

.underPage {
    margin-top: 86px;
}

.breadCrumb ul {
    padding: 14px 10px 9px;
}

article#underContent .subTitle h3 {
    font-size: 20px;
    margin-bottom: 14px;
}

.businessArea {
    padding: 56px 20px 44px 20px;
}

.businessArea h4 {
    font-size: 18px;
}

.businessImg {
    width: 100%;
    margin-right: 0;
    margin-top: 0;
    margin-bottom: 16px;
}

.businessImg img{
    display: block;
    margin: 0 auto;
}

.businessDetail {
    width: 100%;
}

.businessDetail h5 {
    font-size: 16px;
    margin-bottom: 8px;
}

.businessDetail p {
    font-size: 14px;
}

section#news .sectionWrapper {
    padding: 80px 0 0px;
}

section#philosophy h4 span {
    display: inline-block;
    margin: 0 20px;
}

section#philosophy h4 {
    font-family: KozGoProB;
    font-size: 32px;
    text-align: center;
    margin-bottom: 21px;
}

section#philosophy h5 {
    font-size: 18px;
}

section#philosophy .sectionWrapper {
    padding: 80px 20px 16px;
}

section#greeting .sectionWrapper {
    padding: 90px 20px 30px;
}

.greetingleft {
    width: 100%;
    margin-right: 0;
    margin-bottom: 16px;
}

.greetingleft img{
    display: block;
    margin: auto;
    width: 180px;
}

.greetingRight {
    width: 100%;
}

section#greeting p.companyName {
    font-size: 15px;
    margin-bottom: 12px;
}

section#greeting p.career {
    font-size: 15px;
    margin-bottom: 4px;
}

section#greeting h4 {
    font-size: 24px;
}

.greetingText p {
    font-size: 14px;
}

.greetingDetail {
    margin-bottom: 10px;
}

section#greeting .sectionWrapper {
    padding: 50px 20px 30px;
}

table.companyTable tr {
    font-size: 15px;
}

table.companyTable th {
    width: 100%;
    padding: 12px 20px 10px 20px;
    display: block;
}

table.companyTable td {
    padding: 14px 20px 12px 20px;
    display: block;
}

.mapContent p {
    font-size: 16px;
}

.mapContent ul li {
    width: 50%;
}

.mapImg iframe {
    width: 100%;
    height: 250px;
}

section#talentImage .sectionWrapper {
    padding: 70px 20px 50px;
}

.talentBlocks ul li {
    width: 50%;
}

section#spend .sectionWrapper {
    padding: 80px 20px 100px;
}

.spendHead h4 {
    font-size: 18px;
}

.spendHead p {
    font-size: 14px;
    line-height: 2;
}

section#flow .sectionWrapper {
    padding: 64px 20px 0;
}

section#flow .sectionWrapper {
    padding: 64px 20px 0;
}

.flowBlock .wrapper {
    padding: 36px 20px;
}

.flowBlock h4 {
    font-size: 18px;
}

.flowBlock p {
    font-size: 14px;
}

table.requireTable tr {
    font-size: 15px;
}

table.requireTable th {
    width: 100%;
    padding: 12px 20px 10px 20px;
    display: block;
}

table.requireTable td {
    padding: 14px 20px 12px 20px;
    display: block;
}

section#requirements .moreButton {
    margin: 50px 20px 0;
}

.otherRecruit .box {
    max-width: none;
}

.otherContact .box {
    max-width: none;
}

.footerLogo {
    margin-bottom: 36px;
}


/* スマホメニュー */

#nav-toggle {
    position: absolute;
    right: 25px;
    top: 38px;
    width: 34px;
    height: 20px;
    cursor: pointer;
    z-index: 1;
    margin-top: 0;
}

#nav-toggle div {
    position: relative;
}

#nav-toggle span {
    display: block;
    position: absolute;
    height: 2px;
    width: 95%;
    background: #666;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
    top: 0;
}

#nav-toggle span:nth-child(2) {
    top: 10px;
}

#nav-toggle span:nth-child(3) {
    top: 20px;
}

.overlay {
    content: '';
    visibility: hidden;
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0);
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    z-index: 3;
}

.overlay::after {
    content: "この部分をクリックすると閉じるよ";
    visibility: hidden;
    position: fixed;
    top: 40%;
    left: 0;
    display: block;
    width: 100%;
    height: 50px;
    color: rgba(255,255,255,0);
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
}

.side-open .overlay {
    visibility: visible;
    cursor: pointer;
    background: rgba(0,0,0,.7);
    z-index: 99999;
}
.side-open #top, .side-open .overlay {
    -webkit-transform: translate3d(-255px, 0, 0);
    transform: translate3d(-255px, 0, 0);
}

#side{
    position: fixed;
    top: 0;
    right: 0;
    box-sizing: border-box;
    width: 85%;
    height: 100%;
    text-align: left;
    font-size: 13px;
    background: #333;
    z-index: 5;
    display: none;
}

.side-open #side {
    display: block;
    -webkit-box-shadow: -5px 0 5px rgba(0,0,0,.15);
    -moz-box-shadow: -5px 0 5px rgba(0,0,0,.15);
    box-shadow: -5px 0 5px rgba(0,0,0,.15);
    z-index: 999999;
    overflow-y: scroll;
}

#side .spMenu {
    height: 100%;
    display: block;
    overflow: auto;
    padding: 40px 0 50px;
}

.sNav {
    padding-left: 20px;
    margin-bottom: 25px;
    /*border-top: 1px solid #4d4d4d;*/
}

.sNav li {
    font-size: 14px;
    line-height: 1.8;
    border-bottom: 1px solid #4d4d4d;
    letter-spacing: 2px;
}

.sNav li a {
    color: #fff;
    display: block;
    padding: 16px 15px 14px;
}

.smenuBlock {
    text-align: center;
    margin-bottom: 25px;
}

.smenuBlock .spLogo {
    display: inline-block;
    background: #fff;
}

.smenuBlock .spLogo a {
    display: inline-block;
    padding: 12px 25px;
}

.sNav h4 {
    font-size: 16px;
    margin: 30px 0 5px;
}

.sNav h4 a {
    color: #fff;
    display: block;
    letter-spacing: 2px;
}

#side .spMenu .moreButton {
    margin: 15px 20px;
}

#side .spMenu .moreButton.white a {
    color: #fff;
    border: 2px solid;
}

section#standard h4 {
    font-size: 32px;
}

section#mission h4 {
    font-size: 32px;
}

section#mission .sectionWrapper {
    padding: 80px 20px 16px;
}

section#standard .sectionWrapper {
    padding: 80px 20px 16px;
}

ul.missionList li {
    text-align: center;
    margin-bottom: 28px;
}

ul.missionList li h5 {
    font-size: 24px;
    margin-bottom: 15px;
}

ul.missionList li p {
    text-align: center;
    line-height: 2;
}

.formArea .wrapper {
    padding: 35px 20px;
}

.formParts h3 {
    font-size: 16px;
    margin-bottom: 4px;
}

.formParts.sm .formInput {
    width: 100%;
}

.formParts .formInput input[type="text"] {
    width: 91%;
}

.formParts .formInput input[type="email"]{
    width: 91%;
}

.formParts .formInput input[type="tel"]{
    width: 91%;
}

.formParts .formInput textarea{
    width: 91%;
}

.confirmationCheck span.wpcf7-list-item {
    border: none;
    margin-bottom: 0;
}

span.wpcf7-list-item {
    margin-right: 5px;
    margin-bottom: 12px;
}

section#formSection .sectionWrapper {
    padding: 70px 20px 80px;
}

.formParts.lg p {
    font-size: 14px;
}



}


@media screen and (max-width: 480px) {

ul.businessBlocks li {
    width: 100%;
    height: 250px;
}


}

/*---------------------------------------------------------*/
/*      3-3.   max-width:375px;                            */
/*---------------------------------------------------------*/

@media screen and (max-width: 375px) {

.fMenu.business .separation {
    width: 100%;
}


}


/*---------------------------------------------------------*/
/*      3-4.   max-width:320px;                            */
/*---------------------------------------------------------*/

@media screen and (max-width: 320px){

.mapContent p {
    font-size: 14px;
}


}





