@charset "UTF-8";

/* basic */
.keycolor{
    color:#4F3A99;
}
.keycolor_2{
    color:#6995D5;
}
body {
    font: 1.4rem/2.7rem sans-serif;
    color: #37474f;
}
h2{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 3rem;
    text-align: left;
    color: #4f3a99; 
    border-bottom: 1px solid #6995D5;   
    margin-bottom: 2.5rem;
    padding-bottom: 0.5rem;
}
h3{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 2.4rem;
    text-align: left;
}
h2 span,
h3 span{
    padding-left: 1rem;
    font-weight: normal;
}
input{
    background: none;
}
.bold{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
}
.link_box{
    display: inline-block;
    margin-top: 3rem;
    padding: 1.5rem 3rem;
    text-decoration: none;
    border: 1px solid #6995D5;
    color: #6995D5;
    font-size: 1.8rem;
}
.link_box::after{
    content: url(../img/arrow.svg);
    display: inline-block;
    margin-left: 1rem;
}

/* header */
header {
    padding-left: 0;
    padding-right: 0;
    color: #ffffff;
}
h1{
    display: flex;
    align-items: center;
    width: 100%;
    height: 230px;
    background-color: #ccc;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
#greeting h1{
    background-image: url(../img/header/header_greeting.jpg);
}
#business h1{
    background-image: url(../img/header/header_business.jpg);
}
#business_line h1{
    background-image: url(../img/header/header_businessline.jpg);
}
#company h1{
    background-image: url(../img/header/header_company.jpg);
}
#contact h1{
    background-image: url(../img/header/header_contact.jpg);
}
.breadcrumb{
    background: #4f3a99;
    color: #ffffff;
    height: 30px;
    font-weight: 400;
    margin-bottom: 10rem;
}
.breadcrumb ol{
    display: flex;
    line-height: 3rem;
}
.breadcrumb li:not(:first-child):before {
    content: ">";
    display: inline-block;
    padding: 0 0.5em;
}
.breadcrumb a{
    color: #ffffff;
}

/* header_nav */
#header_nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: calc( 50% - 500px );
    padding-right: calc( 50% - 500px );
    background-color: #6995D5;
    height: 80px;
}
header .logo{
    font-size: 2.7rem;
    flex: 0 0;
    white-space: nowrap;
}

/* menu */
.menu_list {
    height: auto;
    display: flex;
    justify-content: space-between;
}
.menu_list li{
    white-space: nowrap;
    flex: 0 0; 
}
.menu_list li:not(:first-child){
    margin-left: 3rem;
}
.menu_list li a{
    color: #ffffff;
    text-decoration: none;
}
.menu_list_contact{
    padding: 1rem 3rem;
    border-radius: 2.6rem;
    background: transparent;
    border: 2px solid #ffffff;
}

/* footer */
footer{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    margin-top: 12rem;
    justify-content: space-between;
    align-items: center;
    background-color: #6995D5;
    color: #ffffff;
}
footer .logo{
    font-size: 2.7rem;
    flex: 0 0;
    white-space: nowrap;
    margin-bottom: 1rem;
}
address {
    line-height: 1.2em;
}

/* index */

#index h1{
    background: none;
    width: auto;
    height: auto;
}
#mainimg_area{
    width: 100%;
    height: 600px;
    position: relative;
    background: url(../img/index_mainimg.jpg) top center no-repeat;
    background-size: cover;

}
#mainimg_area::before{
    content: "";
    width: 100%;
    height: 160px;
    position: absolute;
    bottom: 0;
    background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.78) 60.59%, #fff 100%);
}
#mainimg_area p{
    display: none;
}
#index main{
    margin-top: 11rem;
}
#index section + section{
    margin-top: 7rem;
}
.index_mainnav02{
    flex-direction: row-reverse;
}
.index_linkbox{
    width: 50%;
}


/* greeting */
.signature{
    margin-top: 2.5rem;
    display: block;
    font-size: 1.8rem;
}
.greeting_box + .greeting_box{
    margin-top: 7.5rem;
}
.greeting_box p{
    flex: 1 0;
}
.greeting_photo{
    flex-shrink: 1;
    margin-left: 1rem;
}

/* business */
#business h2 span{
    display: block;
}
#business h3{
    color: #6995D5;
    margin-bottom: 1.5rem;
}
.business_list{
    display: flex;
    flex-direction: column;
    width : 49%;
    margin-top: 1.5rem;
    padding: 1.5rem;
    background-color: #F5F7F7;
}
.business_list p{
    margin-bottom: 1.5rem;
}
.business_list_img{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: auto;
}
.business_list_img img{
    align-self: flex-start;
    margin-top: 10px;
}

/* business_line */
#business_line section + section{
    margin-top: 11rem;
}
#business_line h3{
    color:#ffffff;
    background-color: #6995D5;
    margin-bottom: 2.5rem;
    padding: 0.5rem 1rem;
}
.businessline_list{
    margin-top: -2rem;
}
.businessline_list li{
    display: inline-block;
    position: relative;
    width: calc(100% / 3);
    padding-left: 1.5rem;
    margin-top: 2rem;
    font: 1.6rem/2.1rem sans-serif;
    font-weight: 700;
}
.businessline_list02 li{
    width: calc(100% / 4);
}

.businessline_list li span{
    display: block;
    font: 1.4rem normal;
}
.businessline_list li::before{
    content: "●";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0.2rem;
    font: 1rem normal;
    color: #6995D5;
}
.businessline_list li:empty::before{
    content: none;
}
.businessline_img{
    margin-top: 7rem;
}

/* company */
#company section + section{
    margin-top: 9rem;
}
.company_table{
    font-size: 1.8rem;
    border-spacing: 1.5rem 2.5rem;
    margin-top: -1.5rem;
    margin-left: -1.5rem;
}
.company_table th{
    width : 230px;
    text-align: left;
    vertical-align: top;
    color: #6995D5;
    font-weight: 700;
    border-right: 2px solid #4f3a99;
}
.company_table div + div{
    margin-top: 0.5rem;
}
.company_table div.pc_flex{
    justify-content: start;
}
.company_table div.pc_flex p + p{
    margin-left: 2rem;
}
.company_table span{
    display: block;
    font: 1.4rem normal;
}

.company_list{
    margin-top: -2rem;
}
.company_list li{
    display: inline-block;
    position: relative;
    width: calc(100% / 3);
    margin-top: 2rem;
    font: 1.6rem/2.1rem sans-serif;
    font-weight: 700;
    color: #6995D5;
}
.company_list li span{
    display: block;
    font: 1.4rem normal;
    color:#37474f;
}
.company_list_order{
    border-bottom: 1px dashed #37474f;
    margin-bottom: 3rem;
    padding-top: 1rem;
    color: #4f3a99;
    text-align: right;
}

/* contact */

#contact h3{
    color: #6995D5;
    margin-bottom: 3rem;
}

.form_table{
    margin:auto;
    border-spacing: 2rem;
}
.form_table th{
    text-align: right;
    font-weight: 400;
}
.form_table th span,
span.hissu{
    display: inline-block;
    margin-left: 1rem;
    font-weight: 700;
    color: #6995D5;
}
.form_table input,
.form_table textarea{
    width: 600px;
    border: 1px solid #6995D5;
    border-radius: 3px;
}
.pp{
    margin-top: 7rem;
}
.pp h3{
    text-align: center;
    font-size: 16px;
    color: #6995D5;
}
.pp p:not(:first-child){
    margin-top: 1.5rem;
}
.pp p:last-child{
    text-align: center;
}
.submit{
    text-align: center;
}

@media screen and (max-width: 480px) {
    section.business_list {
        width: 100%;
    }
    .businessline_list li{
        width: 100%;
    }
    .company_list li{
    width: 100%;
}

}




