@charset "UTF-8";

.backgroundImage {
    position: relative;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 600px;
    animation: none;
}
.backgroundImage404 {
    position: relative;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 600px;
    animation: none;
}
.ContactLink{
    margin-top: 100px;
}
.backgroundImage::before {
    background-image: none;

    animation-fill-mode: forwards;
}
.backgroundImage404::before {
    background-image: none;

    animation-fill-mode: forwards;
}

.services .backgroundImage {
    background: url(../img/topimgServices.png) no-repeat center top;
    background-size: cover;
}
/*404エラー画面のタイトルイメージ*/
.services .backgroundImage404 {
    background: url(../img/topimgError.png) no-repeat center top;
    background-size: cover;
}
.about .backgroundImage {
    background: url(../img/topimgAbout.png) no-repeat center top;
    background-size: cover;
    background-position: 0% 50%;
    position: relative;
}

.about .backgroundImage::after {
    content: '';
    background-color: rgba(46, 123, 158, 0.4);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    height: auto;
}

.policy .backgroundImage h2,
.contact .backgroundImage h2{
    color: #000;
}
.policy .backgroundImage h2 .topTitle,
.services .backgroundImage h2 .topTitle,
.services .backgroundImage404 h2 .topTitle,
.about .backgroundImage h2 .topTitle ,
.contact .backgroundImage h2 .topTitle{
    width: 500px;
}
.about .backgroundImage h2 .topTitle{
    font-size: 2.5em;
}

.policy .backgroundImage h2{
    padding-right: 34%;
}
.services .backgroundImage h2,
.services .backgroundImage404 h2,
.contact .backgroundImage h2 {
    z-index: 999;
    padding-top: 50px;
    padding-right: 28%;
}
.contact .backgroundImage h2 {
    padding-top: 100px;
}
.contact .backgroundImage h2 .titleMessage{
width: 600px;
}

.backgroundImage h2 .topTitle {
    border-bottom: 7px solid #FFF;
    margin-bottom: 50px;
}
.backgroundImage404 h2 .topTitle {
    border-bottom: 7px solid #FFF;
    margin-bottom: 50px;
}
.policy .backgroundImage h2 .topTitle,
.contact .backgroundImage h2 .topTitle{
    border-bottom: 7px solid #000;
}
.nav1 span {
    padding: 5px;
    border-bottom: 5px solid #FFF;
}
.contact .nav1 span {
    padding: 5px;
    border-bottom: 5px solid #000;
}

.footerAboutUs,
.footerOurServices {
    width: 100%;
    height: 500px;
    background: url(../img/impressionImg4.png) no-repeat;
    background-size: cover;
    background-position: left 0% top 60%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.about .footerOurServices {
    width: 100%;
    height: 500px;
    background: url(../img/impressionImg11.png) no-repeat;
    background-size: cover;
    background-position: left 0% top 60%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
}

.about .footerOurServices h2.contentTitle {
    border-color: #FFF;
}

.footerAboutUs .titleMessage,
.footerOurServices .titleMessage {
    width: 80%;
	/*width: 54%;*/
    height: 350px;
    margin: 0 auto;
}

.footerAboutUs .contentLink,
.footerOurServices .contentLink {
    width: 100%;
    display: block;
    text-align: right;
    margin-top: 150px;
    margin-left: -50px;
}

.footerAboutUs .contentLink span::after {
    content: url("../img/arrowImg1.svg");
    vertical-align: text-top;
    padding-left: 20px;
}

.footerOurServices .contentLink span::after {
    content: url("../img/arrowImg1_w.svg");
    vertical-align: text-top;
    padding-left: 20px;
}

.businessArticle {
    width: 50%;
    height: 400px;
    padding: 10px;
    box-sizing: border-box;
}

.businessArticle .businessArticleImg {
    width: 100%;
    height: 200px;
}

.businessArticle h3 {
    font-size: 30px;
}

.businessArticle .businessArticleExplanation {
    font-weight: 400;
    line-height: 2em;
}

.businessArticle .businessArticleLink {
    margin-top: 10px;
}

.businessArticle .businessArticleLink span::after {
    content: url("../img/arrowImg1.svg");
    vertical-align: text-top;
    padding-left: 20px;
}

.businessArticleArea {
    display: flex;
    flex-wrap: wrap;
    flex-basis: 400px;
}

.maxWrapper {
    width: 100%;
}

.description {
    display: flex;
    margin: 0 auto;
    width: 100%;
    height: 450px;
}

.description div img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.companyInfo.description div img{
   width: 80%;
   height:fit-content ; 
}
.description .mission {
    font-size: 24px;
}

.description .mission li {
    margin-bottom: 100px;
    list-style-type: none;
    position: relative;
}

.about .description .mission li:last-child {
    margin-bottom: 0px;
}

.description .mission li::before {
    content: "　";
    display: block;
    width: 40px;
    border-bottom: 5px solid #4FB0C6;
    opacity: 0.4;
    transform: rotate(-45deg);
    position: absolute;
    top: -10px;
    left: -80px;
}

.description .mission li span {
    width: fit-content;
    /*border-bottom: 1px solid #000;*/
    display: block;
    margin-bottom: 10px;
}

.description div {
    position: relative;
}
.description div.descriptionImg{
    width: 100%;
}
.description div.descriptionH3{
    width: 45%!important;
}

.description.value {
    width: 100%;
    display: block;
    height: fit-content;
}

.description.value h3 {
    width: 30%;
}

.description.value div {
    padding: 0 !important;
}

.description.principle ul {
    width: 100%;
    height: fit-content;
    font-size: 20px;
}

.description.principle ul {
    counter-reset: count 0;
}

.description.principle ul li::before {
    content: "0" counter(count) ".";
    counter-increment: count 1;
    padding-right: 50px;
    color: #4FB0C6;
}

.description.principle ul li {
    height: 110px;
    border-bottom: 1px solid #CECECE;
    list-style: none;
    display: flex;
    align-items: center;
}

.description.principle ul li span {
    display: inline-block;
    vertical-align: top;
}

.description.principle ul li:first-child {
    border-top: 1px solid #CECECE;
}

.description .valueImgWrapper {
    width: 70%;
    margin: 0 auto;
    display: block;
}

.description .valueImgWrapper span {
    display: flex;
    justify-content: center;
}

.description div.valueImgWrapper img.valueImg {
    width: 275px;
    height: 199px;
    margin: 20px;
}
.description div.gradientImg{
    width: 100%;
}
.description div.gradientImg img {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

.description h3 {
    width: 100%;
    height: 100%;
    color: #FFF;
    text-align: center;
    background-color: #4FB0C6;
    padding-top: 150px;
}

.about .description.descriptionContent {
    margin-top: 100px;
    margin-bottom: 50px;
}

.description.descriptionContent h3 {
    background-color: #FFF;
    color: #000;
    font-size: 30px;
    text-align: left;
}

.description.descriptionContent h3 span {
    border-bottom: 4px solid #F59627;
}

.about .description.descriptionContent h3 {
    width: 50%;
    margin-top: 0px;
    margin-bottom: 0px;
    padding-top: 0;
}

.description h3 span {
    width: fit-content;
    display: inline-block;
    text-align: left;
}

.description h3 span:nth-child(2) {
    font-size: 40px;
    display: block;
}

.description.descriptionContent {
    height: fit-content;
}

.description.descriptionContent div {
    padding-top: 130px;
    padding-bottom: 70px;
}

.about .description.descriptionContent {}

.about .description.descriptionContent div {
    padding-top: 0px;
    padding-bottom: 0px;
}

.description.descriptionContent div p {
    width: 100%;
    line-height: 30px;
    margin-bottom: 40px;
}

.sokoshaku {
    width: 100%;
    height: fit-content;
    background-color: #EDEFEF;
    border-radius: 19px;
    padding: 85px;
}
.sokoshakuText{
    line-height: 2em;
}
.sokoshaku .sokoshakuTitle {
    width: 100%;
    height: auto;
    display: flex;
    margin-bottom: 50px;
}

.sokoshaku .sokoshakuTitle div {
    height: 100%;
    padding-left: 50px;
}

.sokoshaku .sokoshakuTitle div h4 {
    color: #4FB0C6;
    font-size: 20px;
    padding-bottom: 20px;
}

.sokoshaku .sokoshakuTitle div p {
    line-height: 30px;
}

.sokoshaku .sokoshakuSite img {
    margin: 0 auto;
}

.sokoshakuLink {
    text-align: right;
    margin-top: 100px;
    color: #4F86C6;
}

.sokoshakuLink::after {
    width: 16px;
    height: 16px;
    display: inline-block;
    content: "";
    margin-left: 10px;
    margin-bottom: 5px;
    background-image: url(../img/icon1_2.svg);
    background-repeat: no-repeat;
    background-size: cover;
    vertical-align: middle;
}

.sokoshakuLink span {
    border-bottom: 1px solid#4F86C6;
}

.sokoshakuFooter {
    margin: 50px auto 100px auto;
}

.sokoshakuFooter p,
.sokoshakuFooter h5 {
    font-size: 16px;
    margin-right: 0;
    margin-left: auto;
    width: 60%;
    line-height: 30px;
}

.companyInfo h4 {
    font-size: 20px;
    margin-bottom: 50px;
}

.companyInfo h3 span {
    margin-bottom: 50px;
}

.companyInfo div table {
    width: 700px;
    border-collapse: collapse
}

.companyInfo div tr {
    border-bottom: 1px solid #E1E1E1;
}

.companyInfo div tr:first-child {
    border-top: 1px solid #E1E1E1;
}

.companyInfo div tr td,
.companyInfo div tr th {
    padding: 20px;
    font-size: 16px;
}

.companyInfo div tr th {
    text-align: left;
}
.companyInfo div tr td {
    font-weight: 400;
}
.companyInfo div tr td a {
    display: block;
    width: fit-content;
    color: #6797CE;
    border-bottom: 1px solid #6797CE;
}
.companyInfo div tr td a.mapLink{
    border: none;
}
.companyInfo div tr td a.mapLink p ,.mapText a.mapLink p ,.contact .policyLink p{
    width: fit-content !important;
    color: #6797CE;
    border-bottom: 1px solid #6797CE;
    width: fit-content;
    display: inline-block;
    margin-bottom: 0 !important;
}

.companyInfo div tr td a.mapLink span,.mapText a.mapLink span ,.contact .policyLink span{
    content: "　";
    width: 16px;
    height: 16px;
    display: inline-block;
    margin-left: 10px;
    background-image: url(../img/icon1_2.svg);
    background-repeat: no-repeat;
    background-size: cover;
    vertical-align: middle;
}
.companyInfo div tr td.addressLink{
    display: flex;
}
.companyInfo div tr td.addressLink div{
    display: flex;
    margin-right: 20px;
}
.companyInfo div tr td.addressLink div span {
    width: 50px;
    display: block;
    background-color: #BABABA;
    padding: 2px 10px 4px 10px;
    margin-right: 10px;
    text-align: center;
    color: #FFF;
}

.companyInfo div tr td.addressLink span:nth-child(2) {
    margin-left: 20px;
}

.member img {
    width: 154px !important;
    height: 217px !important;
    margin-right: 30px;
}

.member h3 {
    padding-top: 0 !important;
}

.profile {
    display: flex;
    margin-top: 0px;
    padding-top: 0px !important;
    font-size: 16px;
}

.profile div,
.profile div p {
    padding: 0 !important;
    margin: 0 !important;
}

.profile .name {
    font-size: 20px;
    font-weight: 700;
}

.profile .history {
    margin-top: 20px !important;
}

.topMessageContainer .name {
    text-align: right;
    margin-bottom: 50px;
}

.topMessageContainer .name p {
    margin-left: 20px;
    display: inline-block;
}

.topMessageContainer .name p:last-child {
    font-size: 20px;
}

.access {
    display: block !important;
}

.access .map {
    text-align: center;
    width: 100%;
    margin-top: 30px;
}

.access .mapText {
    width: 100%;
    margin-top: 50px;
}
.access .mapText p:first-child{
font-weight: bold;
}
.about .backgroundImage h2 {
    z-index: 999;
    padding-left: 25%;
    padding-top: 60px;
}

.backgroundImage h2 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	color: #FFF;
}
/*エラーのタイトル部分用の追加*/
.backgroundImage404 h2 .title {
	display: block;
}

.backgroundImage404 h2 .topTitle {
	font-size: 2.5em;
}

.backgroundImage404 h2 .subTitle {
	font-size: 18px;
}

.backgroundImage404 h2 .titleMessage {
	font-size: 14px;
	letter-spacing: 0.12em;
	line-height: 30px;
}
.backgroundImage404 h2 .subTitle {
    font-size: 18px;
}
.backgroundImage404 h2 .title {
    display: block;
}
.backgroundImage404 h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #FFF;
}