@charset "utf-8";
/*
 * =====================================================
 * h1Title
 * =====================================================
 */
.h1Title{
    background-image: url("../img/common/bg_page_title.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    padding-top: 70px;
    padding-bottom: 50px;
}
.h1Title h1{
    text-align: center;
    letter-spacing: 0.2em;
}
.h1Title h1 span.sub{
    display: block;
    color: #E70008;
    padding-top: 1em;
}
/*
 * =====================================================
 * company navigation
 * =====================================================
 */
.companyNav{
    margin-bottom: 40px;
}
.companyNav ul li{
    width: 24%;
}
.companyNav ul li a{
    display: block;
    text-align: center;
    font-size: 16px;
    position: relative;
    padding-bottom: 0.7em;
    text-decoration: none;
}
.companyNav ul li a::before{
    content: "";
    display: block;
    width: 100%;
    height: 5px;
    background-color: #ccc;
    position: absolute;
    bottom: 0;
    left: 0;
    text-decoration: none;
}
.companyNav ul li a:hover::before,
.companyNav ul li.current a::before{
    background-color: #E70008;
}
/*
 * =====================================================
 * news list
 * =====================================================
 */
.newsList li{
    display: flex;
    margin-bottom: 0.8em;
}
.newsList li .date{
    width: 12ex;
    min-width: 12ex;
    font-size: 1.4rem;
    line-height: 1.2;
    display: flex;
    align-items: center;
    padding-right: 0.8em;
}
.newsList li .cat{
    display: flex;
    justify-content: center;
    align-items: center;
}
.newsList li .cat em{
    width: 10em;
    border: 1px #000 solid;
    text-align: center;
    border-radius: 0.9em;
    font-size: 12.5px;
    line-height: 1.2;
    padding-top: 0.1em;
    padding-bottom: 0.2em;
}
.newsList li .ttl{
    padding-left: 1em;
    font-size: 1.4rem;
}
/*
 * =====================================================
 * top
 * =====================================================
 */
 #front #business .businessNav ul li{
    box-shadow: 0 0 8px gray;
    width: 310px;
    /* background-image: url("../img/top/img_top_business01.png");
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto; */
    height: 420px;
    position: relative;
    overflow: hidden;
    margin-bottom: 30px;
    background-color: #fff;
}
#front #business .businessNav ul li > div{
    background-color: #fff;
    position: absolute;
    padding: 1em 1em;
    width: 100%;
    left: 0;
    top: 360px;
    transition: all 0.5s;
    transform: translateY(-60px);
}
#front #business .businessNav ul li > div .cap{
    transition: all 0.5s ease;
    transform: scaleY(0);
    opacity: 0;
    /* background-color: #ff0; */
}
#front #business .businessNav ul li:hover > div{
    transform: translateY(-100%);
}
#front #business .businessNav ul li:hover > div .cap{
    transform: scaleY(1);
    opacity: 1;
}
#front #business .businessNav ul li .btn{
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 10px;
}
#front #business .businessNav ul li h3{
    margin-bottom: 10px;
}
#front #business .businessNav ul li h3 .sub{
    color: #B3B3B3;
}
#front #business .businessNav ul li .fig{
    transition: all 0.5s;
    transform: translateY(0);
}
#front #business .businessNav ul li:hover .fig{
    transform: translateY(-20%);
}
#front #banners ul li{
    width: 32%;
} 
/* #front #business .businessNav ul::after{
    content: "";
    display: block;
    visibility: hidden;
}
#front #business .businessNav ul li,
#front #business .businessNav ul::after{
    width: 31%;
    margin-bottom: 30px;
}
#front #business .businessNav ul li{
    
    padding-bottom: 20px;
    
    padding-bottom: 4.5em;
    min-width: 310px;
}

#front #business .businessNav ul li h3,
#front #business .businessNav ul li .cap{
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
#front #business .businessNav ul li h3{
    padding-top: 0.8em;
    padding-bottom: 0.8em;
}
#front #business .businessNav ul li h3 > span{
    display: flex;
    align-items: center;
}
#front #business .businessNav ul li h3 .sub{
    color: #B3B3B3;
}
#front #business .businessNav ul li .cap{
    font-size: 14px;
    line-height: 1.5;
}

*/

/*
 * =====================================================
 * company
 * =====================================================
 */
.companyData{
    border-top: 1px #ccc solid;
}
.companyData dl dt{
    width: 11em;
    font-weight: bold;
}
.companyData dl dd ul li{
    padding-left: 1.5em;
    position: relative;
}
.companyData dl dd ul li::before{
    content: "●";
    display: block;
    position: absolute;
    top:0.1em;
    left: 0;
    color: #ccc;
}
/*
 * =====================================================
 * history
 * =====================================================
 */
#history .grid2 .thumb{
    padding-right: 3%;
}
.historyList{
    margin-bottom: 40px;
}
.historyList li{
    display: table;
    margin: 0.5em;
}
.historyList li .date,
.historyList li .txt{
    display: table-cell;
    vertical-align: top;
    font-size: 1.4rem;
    line-height: 1.3;
}
.historyList li .date{
    width: 5em;
}

#history .imgBox{max-width: 365px;width: 100%;}
#history .imgBox li{
    width: 48%;
}
#history .imgBox li span{
    display: block;
    line-height: 1.3;
    font-size: 1rem;
}
/*
 * =====================================================
 * organization_chart
 * =====================================================
 */
#organization_chart #chart .depth1,
#organization_chart #chart .depth2{
    position: relative;

}
#organization_chart #chart .depth2{overflow: hidden;}
#organization_chart #chart .depth1{
    padding-bottom: 2em;
}
#organization_chart #chart .depth1 > li,
#organization_chart #chart .depth2 > li > span{
    display: block;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    font-size: 16px;
    line-height: 1;
    padding-top: 1em;
    padding-bottom: 1em;
    max-width: 270px;
    width: 80%;
    box-shadow: 2px 2px 4px gray;
}
#organization_chart #chart .depth1 > li{
    background-color: #E70008;
    margin-bottom: 2em;
}
#organization_chart #chart .depth1 > li:last-child{
    margin-bottom: 0;
}
#organization_chart #chart .depth2 > li > span{
    background-color: #333;
    margin-left: 10%;
    margin-bottom: 1em;
    position: relative;
}

#organization_chart #chart .depth2 > li > ul{
    background-color: #f2f2f2;
    width: calc(80% - 4px);
    margin-left: 20%;
    margin-bottom: 2em;
    padding-top: 1em;
    padding-bottom: 1em;
    padding-left: 0.5em;
    box-shadow: 2px 2px 4px gray;
    position: relative;
    z-index: 10;
}
#organization_chart #chart .depth2 > li > ul > li{
    position: relative;
    padding-left: 1.5em;
    line-height: 1.2;
    margin-bottom: 0.2em;
}
#organization_chart #chart .depth2 > li > ul > li::before{
    content: "●";
    display: block;
    color: #E70008;
    position: absolute;
    left: 0;
    top:0.5em;
    font-size: 10px;
}
#organization_chart #chart .depth1::before,
#organization_chart #chart .depth2::before{
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    border-left: 1px #E70008 dotted;
    position: absolute;
    top: 0;
    left: 2%;
}
#organization_chart #chart .depth2 > li{position: relative;}
#organization_chart #chart .depth2 > li::before{
    content: "";
    display: block;
    height: 1px;
    border-top: 1px #E70008 dotted;
    position: absolute;
    width: 8%;
    left: 2%;
    top:1.5em;
}
#organization_chart #chart .depth2 > li:last-child::before{
    height: 1000px;
    border-left: 1px #fff solid;
}
#organization_chart #chart .depth2 > li > span::before{
    content: "";
    display: block;
    width: 50%;
    height: 2em;
    border-bottom: #E70008 1px dotted;
    border-left: #E70008 1px dotted;
    position: absolute;
    left: 5%;
    bottom: -2em;
    z-index: 1;
}
/*
 * =====================================================
 * access
 * =====================================================
 */
#access #office ul li.photo{
    width: 148px;
    min-width: 120px;
}
#access #office ul li.address{
    padding-left: 1em;
    padding-top: 0.5em;
}
#access #office .map iframe{
    width: 100%;
}
#access #shop .grid2 > div:nth-child(1){padding-right: 1%; margin-bottom: 40px;}
#access #shop .grid2 > div:nth-child(2){padding-left: 1%; margin-bottom: 40px;}
#access #shop .buttons > li{
    width: 49%;
    text-align: center;
}
/*
 * =====================================================
 * contact list
 * =====================================================
 */
#contactList .listContainer{border-top: 1px #ccc solid;}
#contactList .listContainer dl dt,
#contactList .listContainer dl dd{vertical-align: middle;}
#contactList .listContainer dl dt{
    width: 38%;
    background-color: #f2f2f2;
    font-weight: 500;
}
#contactList .listContainer dl dd .ttl{
    font-weight: 500;
}
#contactList .linkListStyle1 li{
    margin-bottom: 0.5em;
}
/*
 * =====================================================
 * contact form
 * =====================================================
 */
 #contactForm input,
 #contactForm button,
 /* #contactForm select, */
 #contactForm textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border: none;
    border-radius: 0;
    font: inherit;
    outline: none;
 }
#contactForm{

}
#contactForm .contactNav ul{
	display: flex;
	overflow: hidden;
}
#contactForm .contactNav ul li{
	width: 50%;
	background-color: #e6e6e6;
	text-align: center;
	padding: 1em;
	position: relative;
	color: #666;
}
#contactForm .contactNav ul li::before,
#contactForm .contactNav ul li::after{
	content: "";
	display: block;
	border-top: 50px solid transparent;
	border-bottom: 50px solid transparent;
	border-left: 25px solid #e6e6e6;
	position: absolute;
	right: -10px;
	top:50%;
	transform: translateY(-50%);
	z-index: 2;
}
#contactForm .contactNav ul li::after{
	right: -15px;
	border-left: 25px solid #ccc;
	z-index: 1;
}
#contactForm .contactNav ul li:last-child::before,
#contactForm .contactNav ul li:last-child::after{
	display: none;
}
#contactForm .contactNav ul li.current{
	background-color: #E60008;
	color: #fff;
}
#contactForm .contactNav ul li.current::before{
	border-left: 25px solid #E60008;
}
#contactForm .formBody{
    border-top: 1px #ccc solid;
}
#contactForm .formBody dl dt,
#contactForm .formBody dl dd{
    vertical-align: middle;
}
#contactForm .formBody dl dt{
    width: 30%;
    background-color: #f2f2f2;
    /* 
    border-bottom:1px #ccc solid ; */
}
#contactForm .formBody dl dd{
    white-space: nowrap;
}
#contactForm .formBody dl dt label{
    display: block;
    width: 100%;
    position: relative;
    padding-right: 3em;
}
#contactForm .formBody dl dt.required label::after{
    content: "必須";
    display: block;
    background-color: #E70008;
    color: #fff;
    padding: 0.1em 0.5em 0.3em 0.5em;
    white-space: nowrap;
    font-size: 14px;
    line-height: 1.2;
    position: absolute;
    top:50%;
    right: 0;
    transform: translateY(-50%);
}
#contactForm .formBody textarea{
    height: 300px;;
    line-height: 1.6;
}
#contactForm input[type="text"],
#contactForm textarea{
	border-radius: 0.4em;
	-webkit-border-radius: 0.4em;
    -moz-border-radius: 0.4em;
    border: 1px #ccc solid;
    font-size: 1.5rem;
    padding-left: 0.5em;
    padding-right: 0.5em;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    line-height: 1.3;
    width: 80%;
    max-width: 30em;
}
#contactForm .formBody dl dd.name input[type="text"]{
    width: 10em;
}
#contactForm .formBody dl dd.name span{
    display: inline-block;
}
#contactForm .formBody dl dd.name span:nth-child(2){
    padding-left: 1.5em;
}
#contactForm .formBody dl dd.name label{
    display: inline-block;
    width: 2.5em;
}
#contactForm button{
	display: inline-block;
	position: relative;
	text-align: center;
	overflow: hidden;
	white-space: nowrap;
	background-color: #F15A24;
	font-size: 14px;
	color: #fff;
	padding-left: 1.8em;
	padding-right: 1.8em;
	padding-top: 1em;
	padding-bottom: 1em;
	min-width: 180px;
    max-width: 300px;
    width: 60%;
    transition: all 0.5s;
    box-shadow: 0px 2px #ccc;
}

#contactForm button::after{
	content: "";
	display: block;
	width: 0.5em;
	height: 0.5em;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top:50%;
	right: 0.8em;
	z-index: 2;
}
#contactForm button:hover{
	background-color: #ccc;
	color: #fff;
}

#contactForm .err{
    display: block;
    color: #E70008;
    font-size: 1.4rem;
}
#contactForm .formBody #formConfirm dl dd{
    white-space: normal;
}
#contactForm .formBody #formConfirm .submit{
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}
/*
 * =====================================================
 * news release
 * =====================================================
 */
#newsList h3.titleStyle3{
    background-color: #000;
    color: #fff;
    padding: 0.5em 1em;
    margin-bottom: 1em;
}
#newsList .newsList > li{
    border-bottom: 1px #ccc solid ;
    padding-bottom: 0.5em;
}
#newsList #newsImportant h3.titleStyle3{
    background-color: #E70008;
}
#newsList #newsRelease article{
    margin-bottom: 3em;
}
#newsList #newsRelease .newsList li .cat em{
    border: none;
    background-color: #E6E6E6;
}
#newsList #contact4NewsRelease h2 span{
    display: inline-block;
    border-bottom: 2px #E70008 solid;
    padding-bottom: 0.2em;
}
#newsDetail #detailBody{
    white-space: pre-wrap;
}
/*
 * =====================================================
 * advertisement
 * =====================================================
 */
#adList #adModified{
    display: inline-block;
    font-size: 14px;
    padding-left: 1em;
}
#adList #adListContainer dl{
    border-bottom: 1px #ccc solid;
    padding-bottom: 0.5em;
    display: table;
    width: 100%;
}
#adList #adListContainer dl dt,
#adList #adListContainer dl dd{
    padding-left: 1em;
    padding-top: 0.5em;
    display: table-cell;
    vertical-align: middle;
}
#adList #adListContainer dl dt{
    width: 9em;
    padding-top: 0.2em;
}
#adList #adListContainer dl dt span{
    display: block;
}
#adList #adListContainer dl dt span.date{
    white-space: nowrap;
}
#adList #adListContainer dl dt span.cat{
    color: #fff;
    background-color: #000;
    text-align: center;
    width: 7em;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
}
#adList #adListContainer dl dt span.cat.type1{background-color: #F7931E;}
#adList #adListContainer dl dt span.cat.type2{background-color: #39B54A;}
#adList #adListContainer dl dt span.cat.type3{background-color: #662D91;}

#adList #adListContainer dl dd a{
    display: block;
    width: 100%;
    background-image: url("../img/common/ico_pdf.png");
    background-position: left center;
    background-repeat: no-repeat;
    background-size: auto 40px;
    min-height: 40px;
    padding-left: 60px;
    padding-right: 40px;
    position: relative;
}
#adList #adListContainer dl dd a span{
    display: block;
}
#adList #adListContainer dl dd a span.sub{
    font-size: 1.3rem;
}
#adList #adListContainer dl dd a::before{
    content: "";
    display: block;
    background-image: url("../img/common/ico_outer_link_gray.png");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    width: 16px;
    height: 13px;
    position: absolute;
    top:50%;
    right: 0.8em;
    transform: translateY(-50%);
}
#adList #adList01 .buttonStyle3{
    font-size: 14px;
    white-space: normal;
}
#adList .adDocuments > li{
    width: 32%;
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 50px;
}
#adList .adDocuments > li a{display: block;}
#adList .adDocuments > li .ban{
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    background-color: #fff;
    position: relative;
    border:1px #EEE solid;
}

#adList .adDocuments > li .ban img{
    display: block;
    position: absolute;
    margin: 0 auto;
    top:50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    width: 53.25%;
    height: auto;
}
#adList .adDocuments > li h4{
    text-align: center;
    padding: 0.8em 0 0.5em 0;
    border-bottom: 2px #ccc solid;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
}
#adList .adDocuments > li .sub1,
#adList .adDocuments > li .sub2{
    font-size: 1.4rem;
    width: 90%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
#adList .adDocuments > li .sub2{
    margin-bottom: 1em;
}
#adList .adDocuments > li .btn{
    text-align: center;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
}
#adList .adDocuments > li .btn span{
    width: 80%;
    font-size: 14px;
}
#adList .adDocuments > li a:hover{text-decoration: none;}
#adList .adDocuments > li a:hover .btn span{
    background-color: #ccc;
	color: #fff;
}

#adList .doc dt{
    background-color: #f2f2f2;
    padding-left: 0.5em;
    padding-right: 0.5em;
    padding-top: 0.3em;
    padding-bottom: 0.3em;
    margin-bottom: 0.5em;
}

#adDetail #adMain .adMainHeader{
    position: relative;
}
#adDetail #adMain .adMainHeader #adMainImage{
    width: 26.2%;
    /* height: 0;
    overflow: hidden;
    padding-top: 34.58%; */
    position: absolute;
    top:0;
    right: 0;
}
#adDetail #adMainNote{
    min-height: 7em;
}
#adDetail #adMain article{
    padding-bottom: 30px;
    padding-top: 30px;
}
#adDetail #adMain article h3{
    border-bottom: 2px #333 solid;
    line-height: 1.2;
    padding-bottom: 0.4em;
    margin-bottom: 1em;
}
#adDetail #adMain article h4{
    margin-bottom: 1em;
}
#adDetail #adMain #adMain01{
    width: 70%;
    padding-top: 0;
}
#adDetail #adMain #adMain01 .linkListStyle1 li{
	margin-bottom: 1.5em;
}
#adDetail #adMain #adMain02 ul{
    border-bottom: 1px #ccc solid;
    border-top: 1px #ccc solid;
}
#adDetail #adMain #adMain02 ul > li{
    width: 50%;
    border-bottom: 1px #ccc solid;
}
#adDetail #adMain #adMain02 ul > li:last-child{
    border-bottom: none;
}
#adDetail #adMain #adMain02 ul > li > dl{
    display: flex;
    height: 100%;
}
#adDetail #adMain #adMain02 ul > li > dl > dt,
#adDetail #adMain #adMain02 ul > li > dl > dd{
    line-height: 1.2;
    padding-top: 0.8em;
    padding-bottom: 0.8em;
    height: 100%;
}
#adDetail #adMain #adMain02 ul > li > dl > dt{
    width: 8em;
    min-width: 8em;
    background-color: #f2f2f2;
    text-align: center;
}
#adDetail #adMain #adMain02 ul > li > dl > dd{
    padding-left: 1em;
    padding-right: 1em;
}

#adDetail #adMain #adMain03 table{
    width: 100%;
}
#adDetail #adMain #adMain03 table th,
#adDetail #adMain #adMain03 table td{
    border-left: 1px #fff solid;
    width: 33.33%;
    text-align: center;
    padding-top: 1em;
    padding-bottom: 1em;
    line-height: 1.2;
}
#adDetail #adMain #adMain03 table th:first-child,
#adDetail #adMain #adMain03 table td:first-child{
    border-left: none;
}
#adDetail #adMain #adMain03 table th{
    background-color: #4D4D4D;
    color: #fff;
}
#adDetail #adMain #adMain03 table td{
    border-bottom: 1px #ccc solid;
}

#adDetail #adMain #adMain04 ul{
    border:18px #f2f2f2 solid;
    padding: 2em 1em;
}
#adDetail #adMain #adMain04 ul li{
    text-align: center;
}
#adDetail #adMain #adMain04 ul li:nth-child(1){width: 21.4%;}
#adDetail #adMain #adMain04 ul li:nth-child(2){width: 33.4%;}
#adDetail #adMain #adMain04 ul li:nth-child(3){width: 38.4%;}
#adDetail #adMain #adMain04 ul li h4{
    border-bottom: 2px #333 solid;
    line-height: 1.2;
    padding-bottom: 0.5em;
}
#adDetail #adMain #adMainNote{
    /* background-image: url("../img/advertisment/img_ad_banner05.png"); */
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 120px auto;
    padding-right: 125px;
}
#adDetail #adDetail01 #adMain #adMainNote{background-image: url("../img/advertisment/img_ad_banner01.png");}
#adDetail #adDetail02 #adMain #adMainNote{background-image: url("../img/advertisment/img_ad_banner02.png");}
#adDetail #adDetail03 #adMain #adMainNote{background-image: url("../img/advertisment/img_ad_banner03.png");}
#adDetail #adDetail04 #adMain #adMainNote{
    background-image: url("../img/advertisment/img_ad_banner04.png");
    padding-right: 130px;
}
#adDetail #adDetail05 #adMain #adMainNote{background-image: url("../img/advertisment/img_ad_banner05.png");}
#adDetail #adDetail06 #adMain #adMainNote{background-image: url("../img/advertisment/img_ad_banner06.png");}


/*
 * =====================================================
 * business
 * =====================================================
 */
#business .businessPcNav ul{
     background-color: #fff;
}
#business .businessPcNav ul > li{
    width: 50%;
    /* border-top: 5px #ccc solid; */
    background-color: #000;
    color: #fff;
    text-align: center;
    cursor: pointer;
    font-size: 16px;
    line-height: 1.2;
    padding-top: 1.5em;
    padding-bottom: 2em;
    border-left: 1px #fff solid;
    position: relative;
    transition: all 0.3s;
}
#business .businessPcNav ul > li:first-child{
    border-left: none;
}
#business .businessPcNav ul > li span{
    display: block;
    font-size: 13px;
    color: #808080;
    padding-top: 0.5em;
}
#business .businessPcNav ul > li::before{
    content: "";
    display: block;
    width: 10px;
    height: 5px;
    border-top: 5px solid #808080;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0.5em;
}
#business .businessPcNav ul > li::after{
    content: "";
    display: block;
    width: 100%;
    height: 5px;
    background-color: #ccc;
    position: absolute;
    top:0;
    left: 0;
}

#business .businessPcNav ul > li:hover,
#business .businessPcNav ul > li.current{
    background-color: #E70008;
    /* border-top: 5px rgba(230 ,0, 8,0.5) solid; */
}
#business .businessPcNav ul > li:hover span,
#business .businessPcNav ul > li.current span{
    color: #fff;
}
#business .businessPcNav ul > li:hover::before,
#business .businessPcNav ul > li.current::before{
    border-top: 5px solid #fff;
}
#business .businessPcNav ul > li:hover::after,
#business .businessPcNav ul > li.current::after{
    background-color: #f27f83;
}
#business .businessPcNav ul > li.current::before{
    transform: rotate(180deg);
}
#business .tabContents .businessSpNav{
    display: none;
}
#business .tabContents article{
    border-top: 5px #E70008 solid;
    display: none;
    /* transform: scale(1, 0);
    transition: all 0.5s; */
}
/* #business .tabContents article.active{
    transform: scale(1, 1);
} */
#business .tabContents article .introduction{
    background-color: #f2f2f2;
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 5%;
    padding-right: 5%;
    ;
}
#business .tabContents article .introduction h3{
    margin-bottom: 30px;
}
#business .publicationList > li{
    width: 32%;
    margin-bottom: 30px;
}
#business .publicationList > li .ban{
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    border: 1px #ededed solid;
    position: relative;
    margin-bottom: 10px;
}
#business .publicationList > li .ban img{
    display: block;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    max-height: 90%;
    max-width: 80%;
}
#business .publicationList > li .ttl{
    text-align: center;
    font-weight: 500;
    font-size: 1.7rem;
    line-height: 1.2;
}
/*
 * =====================================================
 * recruit
 * =====================================================
 */
#recruitList .recruitHeader{
    background-image: url("../img/recruit/img_recruit_s01.png");
    background-repeat: no-repeat;
    background-position: top right;
    background-size: 38.1%;
    min-height: 217px;
    padding-right: 38.2%;
}
#recruitList #recruitItems .recruitItem{
    margin-bottom: 40px;
}
#recruitList #recruitItems .recruitItem .itemHead{
    display: flex;
    justify-content: flex-start;
    width: 100%;
    background-color: #f2f2f2;
    border-bottom: 3px #E70008 solid;
}
#recruitList #recruitItems .recruitItem .itemHead li{
    padding-top: 0.7em;
    line-height: 1.2;
    padding-bottom: 0.7em;
}
#recruitList #recruitItems .recruitItem .itemHead .cat{
    background-color: #000;
    color: #fff;
    padding-left: 1em;
    padding-right: 1em;
    white-space: nowrap;
}
#recruitList #recruitItems .recruitItem .itemHead .ttl{
    padding-left: 1em;
    padding-right: 1em;
}
#recruitList #recruitItems .recruitItem .itemHead .date{
    display: inline-block;
    font-size: 1.4rem;
    padding-left: 1em;
}
#recruitList #recruitItems .recruitItem .itemData{
    display: flex;
    border-bottom: 1px #9E9E9F solid;
    width: 100%;
}
#recruitList #recruitItems .recruitItem .itemData dt,
#recruitList #recruitItems .recruitItem .itemData dd{
    padding-left: 1em;
    padding-right: 1em;
    padding-top: 0.8em;
    padding-bottom: 0.8em;
}
#recruitList #recruitItems .recruitItem .itemData dt{
    width: 23%;
}
#recruitList #recruitItems .recruitItem .itemData dd{
    width: 77%;
    white-space: pre-wrap;
    line-height: 1.6;
}
#recruitList #recruitItems .recruitItem .itemData dd a{
    text-decoration: underline;
}
#recruitList #recruitItems .recruitItem .entryButton{
    padding-top: 20px;
    text-align: center;
    /* border-bottom: 1px #9E9E9F solid; */
    padding-bottom: 20px;
}
#recruitList #recruitItems  .noRequest{
    background-color: #ddd;
    padding-top: 3em;
    padding-bottom: 3em;
    padding-left: 1em;
    padding-right: 1em;
}
/*
 * =====================================================
 * sitemap
 * =====================================================
 */
.sitemap .linkListStyle1 > li{
    width: 33.33%;
    margin-bottom: 1em;
}
.sitemap article h4{
    background-color: #f2f2f2;
    padding: 0.5em 1em;
    margin-bottom: 1em;
}