@charset "UTF-8";
/* CSS Document */
#page-company {
    background: #008CCD;
}
img {
    width: 100%;
}

.nopc{
    display: none;
}

@media screen and (max-width: 767px){
    .nopc{
        display: inline-block;
    }
}

/*------------------------------------------------------------------------------------------------
    main-visual
--------------------------------------------------------------------------------------------------*/
.p-main-visual{
	margin: 0 auto;
	width: 100%;
    position: relative;
}



/*------------------------------------------------------------------------------------------------
    MESSAGE FROM THE PRESIDENT
--------------------------------------------------------------------------------------------------*/
/*---------------------------------------------
    PC - MESSAGE FROM THE PRESIDENT
-----------------------------------------------*/
#message {
    width: 100%;
    margin: 0 auto 80px;
    padding: 260px 4% 0;
    box-sizing: border-box;
    position: relative;
}
#message::before {
    content: '';
    width: 50%;
    height: calc(100% - 275px - 2.1rem);
    display: block;
    background: #fff;
    position: absolute;
    top: calc(275px + 2.1rem);
    left: -5.5%;
}
#message .m-section-ttl {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 5% 15px 10%;
    color: #fff;
    font-family: din-2014, sans-serif;
    font-weight: 600;
    font-size: 2.1rem;
    line-height: 1;
    letter-spacing: 0.1em;
    position: relative;
}
#message .m-section-ttl::before {
	content:'';
	position: absolute;
	background: rgba(255,255,255,0.15);
	width: 16vw;
	height: 16vw;
	top: calc(50% - 8vw);
    left: 0;
    z-index: 3;
}
#message .m-section-ttl::after {
	content:'';
	position: absolute;
	background: rgba(244,244,244,1);
	width: 16vw;
	height: 6vw;
	bottom: -6vw;
    left: 0;
    z-index: 3;
}
#message .l-section-inn {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: calc(6vw + 105px) 5% calc(230px + 14vw) 0;
    position: relative;
    z-index: 2;
    background: #fff;
}
#message .p-message-lead-ttl {
    margin-bottom: 40px;
    color: #004574;
    font-family: YakuHanMP, 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 4.2rem;
    letter-spacing: 0.2em;
}
#message .p-message-txt {
    font-family: YakuHanMP, 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 1.7rem;
    letter-spacing: 0.05em;
    line-height: 2;
}
#message .p-message-lead-txt {
    margin: 60px auto 70px;
    font-family: YakuHanMP, 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 2.6rem;
    letter-spacing: 0em;
}
#message .p-message-lead-txt span {
}
#message .p-message-signature {
    font-family: YakuHanMP, 'Noto Serif JP', serif;
    font-weight: 400;
    text-align: right;
    font-size: 2.2rem;
    letter-spacing: 0.1em;
}

#message .p-message-logo {
    width: 100%;
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
}

@media screen and (max-width: 1024px){
    /*---------------------------------------------
        TB - MESSAGE FROM THE PRESIDENT
    -----------------------------------------------*/
}

@media screen and (max-width: 767px){
    /*---------------------------------------------
        SP - MESSAGE FROM THE PRESIDENT
    -----------------------------------------------*/
    #message {
        width: 100%;
        margin: 0 auto 80px;
        padding: 36vw 0 0;
    }
    
    #message::before {
        content: none;
    }
    #message .m-section-ttl {
        padding: 0 8% 15px 12%;
        color: #fff;
        font-size: 5vw;
        line-height: 1.5;
        letter-spacing: 0.1em;
        position: relative;
    }
    #message .m-section-ttl::before {
        content:'';
        position: absolute;
        background: rgba(255,255,255,0.15);
        width: 34vw;
        height: 34vw;
        top: calc(50% - 17vw);
        left: 5%;
        z-index: 3;
    }
    #message .m-section-ttl::after {
        content:'';
        position: absolute;
        background: rgba(244,244,244,1);
        width: 34vw;
        height: 8vw;
        bottom: -8vw;
        left: 5%;
        z-index: 3;
    }
    #message .l-section-inn {
        width: 100%;
        max-width: 1200px;
        padding: 20vw 5% 42vw 5%;
        position: relative;
        z-index: 2;
        background: #fff;
    }
    #message .p-message-lead-ttl {
        margin-bottom: 5vw;
        font-size: 8vw;
    }
    #message .p-message-txt {
        font-size: 3.6vw;
    }
    #message .p-message-lead-txt {
        margin: 12vw auto 18vw;
        font-size: 6vw;
        line-height: 2;
    }
    #message .p-message-signature {
        font-size: 5.2vw;
        letter-spacing: 0.1em;
    }

    #message .p-message-logo {
        width: 100%;
        display: block;
        position: absolute;
        bottom: 0;
        right: 0;
    }
}



/*------------------------------------------------------------------------------------------------
    COMPANY PROFILE
--------------------------------------------------------------------------------------------------*/
/*---------------------------------------------
    PC - COMPANY PROFILE
-----------------------------------------------*/
#profile {
    width: 100%;
    margin: 0 auto 80px;
    padding: 0 4%;
    box-sizing: border-box;
    position: relative;
}
#profile::before {
    content: '';
    width: 50%;
    height: 100%;
    display: block;
    background: #EDF7FF;
    position: absolute;
    top: 0;
    right: 0;
}
#profile .l-section-inn {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 120px 0 53px 0;
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 2;
    background: #EDF7FF;
}
#profile .m-section-ttl {
    width: 380px;
    font-family: din-2014, sans-serif;
    font-weight: 600;
    font-size: 5.6rem;
    letter-spacing: 0.25em;
    color: #008CCD;
    margin-left: -3px;
    line-height: 1.2;
}
#profile .m-section-ttl span {
    margin-top: 15px;
    padding-right: 5.0rem;
    display: block;
    box-sizing: border-box;
    text-align: right;
    font-size: 2.1rem;
    letter-spacing: 0.5em;
    color: #000;
}
#profile .p-company-profile {
    width: calc(100% - 487px);
    margin-right: 45px;
}
#profile .p-company-outline {
    width: 100%;
    margin: 0 auto 48px;
}
#profile .p-company-outline dl {
    width: 100%;
    padding: 16px 0;
    display: flex;
    align-items: flex-start;
    border-bottom: 1px solid #B5B5B6;
}
#profile .p-company-outline dl dt {
    width: 145px;
    font-size: 1.4rem;
}
#profile .p-company-outline dl dd {
    width: calc(100% - 140px);
    min-width: 330px;
    font-size: 1.3rem;
}
#profile .p-company-profile-ttl {
    margin-bottom: 20px;
    font-family: din-2014, sans-serif;
    font-weight: 600;
    font-size: 4.0rem;
    letter-spacing: 0.2em;
    line-height: 1;
    color: #008CCD;
}
#profile .p-company-security .p-company-profile-ttl span{
    margin-top: 15px;
    padding-right: 5.0rem;
    display: block;
    box-sizing: border-box;
    font-size: 2.1rem;
    letter-spacing: 0.18em;
    color: #000;
}
#profile .p-access-map {
    margin-bottom: 25px;
}
#profile .p-map-btn a {
    display: inline-block;
    padding: 8px 40px 8px 14px;
    background: #4285F4;
    color: #fff;
    font-size: 1.6rem;
    position: relative;
}
#profile .p-map-btn a::after {
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    background: url("/assets/images/company/icn_newwindow.svg") center center no-repeat;
    background-size: 100%;
    position: absolute;
    top: calc(50% - 10px);
    right: 14px;
}
#profile .p-company-address {
    margin: 20px 0;
    font-size: 1.6rem;
}
#profile .p-company-address span {
    font-size: 1.3rem;
}
#profile .p-company-access {
    font-size: 1.3rem;
    padding-bottom: 48px;
}
#profile .p-company-security{
    font-size: 1.3rem;
    padding-top: 48px;
    border-top: 1px solid #B5B5B6;
} 
#profile .p-company-security p{
    letter-spacing: 0.08em;
}
#profile .p-company-security dl{
    letter-spacing: 0.08em;
    margin-top: 20px;
}
#profile .p-company-security dd{
    margin-bottom: 20px;
}
#profile .p-company-security .p-company-security-right{
    text-align: right;
    margin-top: 30px;
}

@media screen and (max-width: 1024px){
    /*---------------------------------------------
        TB - COMPANY PROFILE
    -----------------------------------------------*/
    #profile .m-section-ttl {
        width: calc(100% - 460px);
        font-size: 5vw;
    }
    #profile .p-company-profile {
        width: 420px;
        min-width: initial;
    }
}

@media screen and (max-width: 767px){
    /*---------------------------------------------
        SP - COMPANY PROFILE
    -----------------------------------------------*/
    #profile {
        width: 100%;
        margin: 0 auto 22vw;
        padding: 0;
    }
    #profile::before {
        content: none;
    }
    #profile .l-section-inn {
        width: 100%;
        max-width: 1200px;
        margin-left: auto;
        padding: 30vw 5% 16vw 5%;
        display: block;
        position: relative;
        z-index: 2;
        background: #EDF7FF;
    }
    #profile .m-section-ttl {
        width: 100%;
        font-size: 10vw;
        margin-left: 0;
        line-height: 1.4;
    }
    #profile .m-section-ttl span {
        margin-top: 3vw;
        padding-right: 0;
        display: block;
        box-sizing: border-box;
        text-align: left;
        font-size: 4vw;
    }
    #profile .p-company-security .p-company-profile-ttl span {
        margin-top: 3vw;
        padding-right: 0;
        display: block;
        box-sizing: border-box;
        text-align: left;
        font-size: 4vw;
    }
    #profile .p-company-profile {
        width: 100%;
        margin-top: 18vw;
    }
    #profile .p-company-outline {
        width: 100%;
        margin: 0 auto 18vw;
    }
    #profile .p-company-outline dl {
        width: 100%;
        padding: 3vw 0;
    }
    #profile .p-company-outline dl dt {
        width: 28vw;
        font-size: 3.6vw;
    }
    #profile .p-company-outline dl dd {
        width: calc(100% - 28vw);
        min-width: initial;
        font-size: 3.4vw;
    }
    #profile .p-company-profile-ttl {
        margin-bottom: 4vw;
        font-size: 8vw;
    }
    #profile .p-access-map {
        margin-bottom: 8vw;
    }
    #profile .p-map-btn a {
        display: inline-block;
        padding: 1vw 8vw 1vw 3vw;
        background: #4285F4;
        color: #fff;
        font-size: 3.6vw;
        position: relative;
    }
    #profile .p-map-btn a::after {
        content: "";
        width: 4vw;
        height: 4vw;
        display: block;
        background: url("/assets/images/company/icn_newwindow.svg") center center no-repeat;
        background-size: 100%;
        position: absolute;
        top: calc(50% - 2vw);
        right: 2vw;
    }
    #profile .p-company-address {
        margin: 5vw 0;
        font-size: 3.8vw;
    }
    #profile .p-company-address span {
        font-size: 3.0vw;
    }
    #profile .p-company-access {
        font-size: 3.0vw;
        padding-bottom: 18vw;
    }
    #profile .p-company-security{
        font-size: 3.5vw;
        padding-top: 18vw;
    } 
    #profile .p-company-security p{
    }
    #profile .p-company-security dl{
        letter-spacing: 0.02em;
        margin-top: 4vw;
    }
    #profile .p-company-security dd{
        margin-bottom: 4vw;
    }
}


