@charset "utf-8";
@import "base.css";
@import "common.css";
/*#################### 共通設定 ####################*/
body { background: #f6f6f6; }
#Header { background-color: #ffffff; }


/* ページタイトル
-------------------------------------*/

@media screen and (min-width: 768px) {
	.headerTitle {
	height: 170px;
	align-items: center;
	position: relative;
	}
.headerTitle h2 {
	font-size: 30px;
	font-weight: bold;
	color: #3A3A3A;
	display: block;
	top: 50%;
    transform: translateY(-50%);
	position: absolute;
	}
.headerTitle h2 .small {
	font-size: 14px;
    display: block;
    padding-top: 0.5em;
	text-align: left;
}
.headerTitle h2.en {
	font-size: 30px;
	font-weight: bold;
	color: #3A3A3A;
	}
    .headerTitle h2 {max-width: 1110px;}
	.contents {
        width: 1110px;
        margin: 0 auto;
        padding: 0;
    }

    .contents_sub {
        width: 1110px;
        margin: 0 auto;
        padding: 0 0 0 0;
    }

    #Title {
        height: 170px;
    }
    #Title h2 {
        position: relative;
        top: 50%;
        margin:0  auto;
        width: 1110px;
        height: auto;
        text-align: left;
        color: #000;
        font-size: 30px;
        line-height: 1.7;
        font-weight:bold;
        transform: translateY(-50%);

    }
    #Title h2 span { display: block; font-size: 14px; font-weight:normal; font-family:Arial, Helvetica, sans-serif;padding-left: 2px;}

    #PageCorporate #Title { background-image: url(../../corporate_profile/img/title_wall.png); }
    #PageBusinessInfo #Title h2 { background-image: url(../../corporate_profile/img/title_wall.png); }
    #PageBusinessInfo #Title { background-image: url(../../corporate_profile/img/title_wall.png); }
    #PageGroup.ilink #Title { background-image: url(../../group/img/title_wall.png); }
    #PageGroup.shimoyashiki #Title { background-image: url(../../group/img/title_wall.png); }
    #PageGroup.takano #Title { background-image: url(../../group/img/title_wall.png); }
    #PageCsrNews #Title { background-image: url(../img/header/title_wall.png); }
    #PageSdgs #Title { background-image: url(../img/header/title_wall.png); }
    #Page #Title,#PageNewsRelease #Title { background-image: url(../img/header/title_wall.png); }

    #PageContact #Title { background-image: url(../img/header/title_wall.png); }
    #PageSitemap #Title { background-image: url(../img/header/title_wall.png); }
    #PagePrivacy #Title { background-image: url(../img/header/title_wall.png); }
    #PageSiteMap #Title { background-image: url(../img/header/title_wall.png); }
    #PageProjection #Title { background-image: url(../img/header/title_wall.png); }
    #PageSmilecap #Title { background-image: url(../img/header/title_wall.png); }
}

@media screen and (max-width: 767px) {
	.headerTitle {
		position: relative;
        height: 130px;
        background-size: cover;
        background-repeat: no-repeat;
		}
	.headerTitle h2 {
		position: absolute;
        top: 34px;
        left: 12px;
        margin: auto;
        width: 100%;
        height: auto;
        text-align: left;
        font-size: 23px;
        line-height: 1.5;
        font-weight: bold;
		}
	.headerTitle h2 .small {
		font-size: 14px;
		display: block;
		text-align: left;
	}
    #Title {
        position: relative;
        height: 130px;
		background-size: cover;
		background-repeat: no-repeat;
    }
    #Title h2 {
        position: absolute;
        top: 34px;
        left: 12px;
        margin: auto;
        width: 100%;
        height: auto;
        text-align: left;
        font-size: 23px;
        line-height: 1.5;
        font-weight:bold;
    }
    #Title h2 span { display: block; font-size: 14px; font-weight:normal; }
    #PageCorporate #Title { background-image: url(../../corporate_profile/img/title_wall-sp.png); }
    #PageBusinessInfo #Title { background-image: url(../../business_info/img/title_wall-sp.png); }
    #PageGroup #Title { background-image: url(../../group/img/title_wall-sp.png); }
    #PageCsrNews #Title { background-image: url(../img/header/title_wall-sp.png); }
    #PageSdgs #Title { background-image: url(../img/header/title_wall-sp.png); }
    #Page #Title,#PageNewsRelease #Title { background-image: url(../img/header/title_wall-sp.png); }
    #PageRecruit #Title { background-image: url(../img/header/title_wall-sp.png); }
    #PageContact #Title { background-image: url(../img/header/title_wall-sp.png); }
    #PageSitemap #Title { background-image: url(../img/header/title_wall-sp.png); }
    #PagePrivacy #Title { background-image: url(../img/header/title_wall-sp.png); }
    #PageSiteMap #Title { background-image: url(../img/header/title_wall-sp.png); }
    #PageProjection #Title { background-image: url(../img/header/title_wall-sp.png); }
    #PageSmilecap #Title { background-image: url(../img/header/title_wall-sp.png); }

    .contents_sub{margin-top: 2em; padding: 0 1.5em 2em;}
}
/* パンくずリスト
-------------------------------------*/

#TopicPath {
    display: block;
    clear: both;
    width: 100%;
    margin: 0 auto;
    padding-top: 15px;
    line-height: 1;
    text-align: left;
}
#TopicPath:after {
    content: "";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}
#TopicPath ol li:not(:first-child):before {
    content: "";
    position: relative;
    top: -1px;
    display: inline-block;
    vertical-align: middle;
    width: 12px;
    height: 12px;
    background: url(../img/contents/arrow-path.svg) no-repeat;
    background-size: contain;
    background-position: center;
}
#TopicPath ol { margin: 0; }
#TopicPath li {
    display: inline;
    line-height: 1.5;
	list-style: none;
}
#TopicPath a {
    text-decoration: underline;
    color: #3A83D0;
}
#TopicPath a:hover {
    text-decoration: none;
    color: #A0A0A0;
}
#TopicPath ol li:not(:first-child):before {
        padding: 0 0.3em 0 0.3em;
    }

@media screen and (max-width: 767px) {
	#TopicPath{margin: 0 1em 2em;}
	#TopicPath li,
	#TopicPath li span,
	#TopicPath li a{font-size: 11px!important;
}
}
@media screen and (min-width: 768px) {
	#TopicPath{
		width: 1110px;
		padding-top: 20px;
		padding-left: 0px;
		margin-bottom: 90px;
	}

}

/* 枠組み
-------------------------------------*/
#oneColumn {
    width: 100%;
    min-height: 400px;
}
#PageSdgs #Main,
#PageGroup #Main,
#PageSmilecap #Main,
#PageRecruit #Main {
    float: none;
    max-width: 980px;
    width: 100%;
	margin: 0 auto;
}

@media screen and (min-width: 768px) {
    #Main {
        float: left;
        max-width: 840px;
        width: 74.48979591836735%;
        min-height: 400px;
    }
    #Sub {
        float: right;
        max-width: 220px;
        width: 22.44897959183673%;
    }
}

@media screen and (max-width: 767px) {
    #Main { width: 100%; }
}
/* コンテンツ枠
-------------------------------------*/
.contentsBox {
    width: 100%;
    margin-bottom: 60px;
}
.contentsBox h3 { margin-bottom: 25px; }

@media screen and (max-width: 767px) {
    .contentsBox h3 img { max-width: 730px; }
}
/* 準備中 */
.contentsBox.pre {
    margin-left: 250px;
    padding: 100px 0 0;
}
.contentsBox.pre p { text-align: center; }
/* サブメニュー
-------------------------------------*/
.archiveBox {}
.archiveBox h3 {font-weight: bold; background: #F2F2F2; font-size: 15px; padding: 1em;}
.archiveBox ul {
    padding: 0;
    background: #ffffff;
}
.archiveBox li { border-bottom: 1px solid #CECECE;}
.archiveBox li.end { background-image: none; }
.archiveBox li a {
    display: block;
    background: url(../img/contents/arrow-yellow-line.svg) 0 center no-repeat;
    padding: 1em 1em 1em 23px;
    text-decoration: none;
    color: #233036;
    font-size: 14px;
    position: relative;
    font-feature-settings: "palt";
}
.archiveBox li a:hover{font-weight: 500;}
.archiveBox li a:hover:after {
    position: absolute;
    content: "";
    background: url(../img/contents/arrow-yellow-active.svg) no-repeat;
    width: 28px;
    height: 22px;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
}


/*#################### 会社情報 ####################*/
/* インデックス
-------------------------------------*/
#PageCorporate .corporate_index ul {
    margin: 0 auto;
    max-width: 980px;
    width: 100%;
    margin-bottom: 90px;
}
#PageCorporate .corporate_index ul li {
    padding-right: 1em;
    margin: 15px;
    padding: 22px;
    border: solid 1px #E8E8E8;
    border-top: solid 4px #FDD000;
    background: #fff;
    clear: none !important;
    min-height: 0 !important;
}
#PageCorporate .corporate_index ul li:hover {
    filter: alpha(opacity=75);
    -moz-opacity: 0.75;
    opacity: 0.75;
}
#PageCorporate .corporate_index ul li img { margin-bottom: 15px; width:100%; height:auto;}
#PageCorporate .corporate_index ul li h2 {
    font-size: 15px;
    margin-bottom: 10px;
    background: url(../../corporate_profile/img/index/arrow.gif) no-repeat right 5px;
}
#PageCorporate .corporate_index ul li h2 a {
    color: #FDD000;
    text-decoration: none;
    display: block;
}
#PageCorporate .corporate_index ul li h2 a:hover { text-decoration: underline; }
#PageCorporate .corporate_index ul li p { font-size: 12px; }
#PageCorporate .corporate_index ul li.box p { margin: 0; }
#PageCorporate #Sub .archiveBox h3 a{
	display: block;
	width: 100%;
	height:50px;
}

@media screen and (min-width: 768px) {
    #PageCorporate .corporate_index ul:after {
        content: " ";
        display: block;
        visibility: hidden;
        clear: both;
        height: 0.1px;
        font-size: 0.1em;
        line-height: 0;
    }
    #PageCorporate .corporate_index ul li {
        box-sizing: border-box;
        float: left;
        width: 24%;
        margin: 15px 4px;
        padding: 22px 2.244897959183673%;
    }
}

@media screen and (max-width: 767px) {
    #PageCorporate .corporate_index ul { margin-bottom: 45px; }
    #PageCorporate .corporate_index ul li {
        margin: 0 auto;
        margin-bottom: 15px;
        padding:15px;
    }
    #PageCorporate .corporate_index ul li:after {
        content: "";
        display: block;
        clear: both;
    }
    #PageCorporate .corporate_index ul li img {
        float:left;
        width:50%;
        margin-right:15px;
        margin-bottom:0;
    }
    #PageCorporate .corporate_index ul li h2 {
        background:none;
    }
    #PageCorporate #Sub .archiveBox ul:after {
        content: "";
        display: block;
        clear: both;
    }
    #PageCorporate #Sub .archiveBox ul li {
        float: left;
        width: 50%;
    }
    #PageCorporate #Sub .archiveBox ul li:nth-of-type(7) { width: 100%; }
    #PageCorporate #Sub .archiveBox ul li:nth-of-type(8) { width: 100%; }
    #PageCorporate #Sub .archiveBox ul li:nth-of-type(9) { width: 100%; }
}
/* CEOメッセージ
-------------------------------------*/
#PageCorporate #Message p {
    line-height: 1.8;
}

#PageCorporate #Message .messageBox{display: flex;}

#PageCorporate #Message .ceo_message {
    width: 100%;
    line-height: 1.8;
	font-size: 15px;
    margin-top: 0.4em;
}

#PageCorporate #Message .nameBox{
    text-align: center;
    margin-top: 1em;
    font-size: 15px;
}

#PageCorporate #Message .ceo{
    text-align: center;
    margin-top: 0.5em;
}

@media screen and (min-width: 768px) {
    #PageCorporate #Message .messageBox{justify-content: space-between; padding-right: 40px;}
    #PageCorporate #Message .photo {
        width: 30%;/*margin-left:40px;*/
        max-width: 230px;
    }
    #PageCorporate #Message .photo img { width: 100%; height: auto;}
    #PageCorporate #Message .ceo_message {
        max-width: 470px;
    }

    #PageCorporate #Message .ceo .large{font-size: 23px; display: inline-block; margin-left: 0.3em;}
}

@media screen and (max-width: 767px) {
    #PageCorporate #Message .messageBox{flex-direction: column; justify-content: center; align-items: center;}
    #PageCorporate #Message .photo {
        width: 65%;

    }
    #PageCorporate #Message .photo img { width: 100%; height: auto;}

    #PageCorporate #Message .ceo .large{font-size: 20px; display: inline-block; margin-left: 0.3em;}
}

/* 設立目的
-------------------------------------*/
#PageCorporate #Purpose { margin-bottom: 3em; }
#PageCorporate #Purpose ul {
    max-width: 730px;
    width: 100%;
    background: url(../../corporate_profile/img/img-02_01.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    text-indent: -9999px;
}

@media screen and (min-width: 768px) {
    #PageCorporate #Purpose ul { height: 407px; }
    #PageCorporate #Purpose img.sp { display:none;}
}

@media screen and (max-width: 767px) {
    #PageCorporate #Purpose ul { background-repeat: no-repeat; }
    #PageCorporate #Purpose img.sp { display:inline; margin-top:15px;}
    #PageCorporate #Purpose img.pc { display:none;}
}
/* 10年構想
-------------------------------------*/
#PageCorporate #Initiative img { max-width: 723px; }
#PageCorporate #Initiative h3 img { max-width: 731px; }
/* 構成図
-------------------------------------*/
.nonborder {
    border: none;
    outline: none;
}
/* 会社概要
-------------------------------------*/
#Outline h4 { margin-top: 3em; }
#Outline h4 img { max-width: 730px;  height: auto;}
#Outline table {
    box-sizing: border-box;
    margin-top: 3em;
    margin-bottom: 1em;
    width: 100%;
    border-collapse: collapse;
    border: none;
    background: none;
    table-layout: fixed;
    border-top: 1px solid #CECECE;
}
#Outline table th,
#Outline table td {
    border: none;
    border-bottom: solid 1px #CECECE;
    padding: 15px 5px;
}
#Outline table tr { width: 100%; }
#Outline table th {
    font-weight: bold;
    background: none;
    white-space: normal;
}
#Outline table .award li { margin-bottom: 10px; }
#Outline table .award img {
    max-width: 80px;
    margin-right: 10px;
    vertical-align: middle;
}
/*会社概要の事業所部分*/
#Outline h3.group_office {
    font-weight: bold;
    margin: 0;
    padding: 0;
    border-bottom: solid 1px #CECECE;
    padding-bottom: 10px;
    margin-bottom: 10px;
	font-size: 16px;
}
#Outline .company_nophoto { margin-bottom: 20px; }
#Outline h3.company_hr { margin-top: 40px; }
#Outline table td.groupList .group_office + div > h4{margin-top: 0;}

@media screen and (min-width: 768px) {
    #Outline h4.sp { display: none; }
    #Outline table th { width: 20%; }
    #Outline table td { width: 80%; }
    #Outline table td.groupList div { margin-bottom: 1em; }
    #Outline .company1 {
        background: url(../../corporate_profile/img/outline/img15.jpg) no-repeat right top;
        height: 105px;
        padding-right: 147px;
    }
    #Outline .company2 {
        background: url(../../corporate_profile/img/outline/img2.jpg) no-repeat right top;
        height: 110px;
        padding-right: 142px;
    }
    #Outline .company3 {
        background: url(../../corporate_profile/img/outline/img3.jpg) no-repeat right top;
        height: 142px;
        padding-right: 142px;
    }
    #Outline .company4 {
        background: url(../../corporate_profile/img/outline/img1.jpg) no-repeat right top;
        height: 130px;
        padding-right: 155px;
    }
    #Outline .company5 {
        background: url(../../corporate_profile/img/outline/img5.jpg) no-repeat right top;
        height: 110px;
        padding-right: 150px;
    }
    #Outline .company6 {
        background: url(../../corporate_profile/img/outline/img6.jpg) no-repeat right top;
        height: 120px;
        padding-right: 165px;
    }
    #Outline .company7 {
        background: url(../../corporate_profile/img/outline/img7.jpg) no-repeat right top;
        height: 110px;
        padding-right: 150px;
    }
    #Outline .company8 {
        background: url(../../corporate_profile/img/outline/img8.jpg) no-repeat right top;
        height: 110px;
        padding-right: 157px;
    }
    #Outline .company9 {
        background: url(../../corporate_profile/img/outline/img9-1.png) no-repeat right top;
        height: 120px;
        padding-right: 127px;
    }
    #Outline .company10 {
        background: url(../../corporate_profile/img/outline/img12.jpg) no-repeat right top;
        height: 120px;
        padding-right: 142px;
    }
    #Outline .company11 {
        background: url(../../corporate_profile/img/outline/img16.jpg) no-repeat right 50%;
        height: 140px;
        padding-right: 165px;
    }
    #Outline .company12 {
        background: url(../../corporate_profile/img/outline/img12.jpg) no-repeat right 50%;
        height: 140px;
        padding-right: 140px;
    }
    #Outline .company13 {
        background: url(../../corporate_profile/img/outline/img13.jpg) no-repeat right 50%;
        height: 100px;
        padding-right: 165px;
    }
    #Outline .company14 {
        background: url(../../corporate_profile/img/outline/img14.jpg) no-repeat right top;
        height: 110px;
        padding-right: 145px;
    }
    #Outline .company17 {
        background: url(../../corporate_profile/img/outline/img17.jpg) no-repeat right top;
        height: 110px;
        padding-right: 145px;
    }
    #Outline .company18 {
        background: url(../../corporate_profile/img/outline/img16.jpg) no-repeat right top;
        height: 110px;
        padding-right: 145px;
    }
}

@media screen and (max-width: 767px) {
    #Outline h4.pc { display: none; }
    #Outline h4.sp {
        font-family: "Roboto Slab", Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
        font-size: 20px;
        text-align: center;
        line-height:1.8;
        margin-top:20px;
    }
    #Outline table,
    #Outline tbody,
    #Outline tr,
    #Outline th,
    #Outline td {
        display: block;
        width: 100%;
        text-align: left;
    }
    #Outline table th {
        box-sizing: border-box;
        padding-left: 1em;
        border-bottom:dotted 1px #ccc;
    }
    #Outline table td {
        box-sizing: border-box;
        padding-left: 1em;
    }
    #Outline table td.award { text-align:center;}
    #Outline table td.groupList div { margin-bottom: 1em; }
    #Outline table td.groupList h4 { text-indent: 0; }
}
/* 沿革
-------------------------------------*/
#PageCorporate #History img { width: auto; }
#PageCorporate #History h3 img { width: 100%; }
#PageCorporate #History table {
    position: relative;
    top: 0;
    width: 100%;
    margin-right: -20px;
    margin-bottom: 0;
}
#PageCorporate #History table th {
    position: relative;
    border: none;
    width: 30px;
    height: 100%;
    background: none;
    vertical-align: top;
    padding: 0 0 10px 0;
}
#PageCorporate #History table td {
    border: none;
    padding: 20px 10px 20px;
    vertical-align: top;
}
#PageCorporate #History table td.end { padding-bottom: 29px; }
#PageCorporate #History table td.year {
    white-space: nowrap;
    text-align: center;
	padding-left: 40px;
}
#PageCorporate #History table td.month {
    white-space: nowrap;
    padding-right: 20px;
    text-align: right;
}
#PageCorporate #History table th.line {
    position: relative;
    width: 7px;
    padding: 0;
    font-size: 0;
}
#PageCorporate #History table th.year1940.line {
    background: #FFF;
    /*filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f0fafa', GradientType=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f0fafa', GradientType=0)";
    background: -moz-linear-gradient(top center, #ffffff 0%, #f0fafa 100%);
    background: -webkit-gradient(linear, center top, center bottom, from(#ffffff), to(#f0fafa));
    background: linear-gradient(top center, #ffffff 0%, #f0fafa 100%);
    background: linear-gradient(to bottom, #ffffff, #f0fafa);*/
}
#PageCorporate #History table th.year1960.line {
    background: #FFFCF1;
    /*filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f0fafa', endColorstr='#e5f7f6', GradientType=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#f0fafa', endColorstr='#e5f7f6', GradientType=0)";
    background: -moz-linear-gradient(top center, #f0fafa 0%, #e5f7f6 100%);
    background: -webkit-gradient(linear, center top, center bottom, from(#f0fafa), to(#e5f7f6));
    background: linear-gradient(top center, #f0fafa 0%, #e5f7f6 100%);
    background: linear-gradient(to bottom, #f0fafa, #e5f7f6);*/
}
#PageCorporate #History table th.year1980.line {
    background: #FFFCF1;
    /*filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e5f7f6', endColorstr='#FFF9DF', GradientType=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#e5f7f6', endColorstr='#FFF9DF', GradientType=0)";
    background: -moz-linear-gradient(top center, #e5f7f6 0%, #FFF9DF 100%);
    background: -webkit-gradient(linear, center top, center bottom, from(#e5f7f6), to(#FFF9DF));
    background: linear-gradient(top center, #e5f7f6 0%, #FFF9DF 100%);
    background: linear-gradient(to bottom, #e5f7f6, #FFF9DF);*/
}
#PageCorporate #History table th.year1990.line {
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF9DF', endColorstr='#FFF8D8', GradientType=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF9DF', endColorstr='#FFF8D8', GradientType=0)";
    background: -moz-linear-gradient(top center, #FFF9DF 0%, #FFF8D8 100%);
    background: -webkit-gradient(linear, center top, center bottom, from(#FFF9DF), to(#FFF8D8));
    background: linear-gradient(top center, #FFF9DF 0%, #FFF8D8 100%);
    background: linear-gradient(to bottom, #FFF9DF, #FFF8D8);
}
#PageCorporate #History table th.year2000.line {
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF6D0', endColorstr='#FEE576', GradientType=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF6D0', endColorstr='#FEE576', GradientType=0)";
    background: -moz-linear-gradient(top center, #FFF6D0 0%, #FEE576 100%);
    background: -webkit-gradient(linear, center top, center bottom, from(#FFF6D0), to(#FEE576));
    background: linear-gradient(top center, #FFF6D0 0%, #FEE576 100%);
    background: linear-gradient(to bottom, #FFF6D0, #FEE576);
}
#PageCorporate #History table th.year2010.line {
    background: #FDD000;
    height: 85%;
    overflow: visible;
}
#PageCorporate #History table th.year2020.line {
    background: #FDD000;
    height: 85%;
    overflow: visible;
}

#PageCorporate #History table tr{paddding-bottom: 15px;}
#PageCorporate #History table th img {
    position: relative;
    top: 0;
    left: -33px;
    margin-right: -30px;
}
#PageCorporate #History img.arrow {
    position: relative;
    top: -14px;
    left: 5px;
}

@media screen and (min-width: 768px) {
    #PageCorporate #History table { left: 20px; }
    #PageCorporate #History table td span.sp { display: none; }
}

@media screen and (max-width: 767px) {
    #PageCorporate #History table tr { border-bottom:dotted 1px #ccc;}
    #PageCorporate #History table { left: 0; }
    #PageCorporate #History table th { display: none; }
    #PageCorporate #History table .month { display: none; }
    #PageCorporate #History img.pc { display: none; }
    #PageCorporate #History table td.end { padding:15px 10px 5px;}
}
/* 経営理念
-------------------------------------*/
#PageCorporate #Idea .copy {
    display: flex !important;
    margin-top: 6em;
    padding-bottom: 4em;
    border-bottom: 1px solid #CECECE;
    margin-bottom: 4em;
}
#PageCorporate #Idea .copy__text p + p{margin: 2em 0 0 0;}
@media screen and (min-width: 768px) {
    #PageCorporate #Idea .copy{justify-content: space-between; align-items: center;}
    #PageCorporate #Idea .copy__title{width: 60%;}
    #PageCorporate #Idea .copy__title .titleBold{font-size: 28px; font-weight: bold; line-height: 1.4;}
    #PageCorporate #Idea .copy__text p{font-size: 15px; line-height: 1.7;font-weight: 600;}
}

@media screen and (max-width: 767px) {
    #PageCorporate #Idea .copy{ flex-direction: column; align-items: center;}
    #PageCorporate #Idea .copy__title .titleBold{font-size: 23px; font-weight: bold; line-height: 1.4;}
    #PageCorporate #Idea .copy__text p{font-size: 14px; line-height: 1.7;}
}

#PageCorporate #Idea .action{}
#PageCorporate #Idea .action .gray{color: #B4B4B4;font-weight: bold;}
#PageCorporate #Idea .action .actionList{
    margin-top: 2em;
    display: flex;
}

#PageCorporate #Idea .action .actionList__title {
    text-align: center;
    background: #FDD000;
    border-radius: 4px;
    padding: 1.2em 0;
    font-weight: 600;
    margin-bottom: 0;
}

#PageCorporate #Idea .action .actionList__text{padding: 1.2em; line-height: 1.8;font-weight: 600;}


@media screen and (min-width: 768px) {
    #PageCorporate #Idea .action .gray{font-size: 18px;}
    #PageCorporate #Idea .action .titleBold{font-size: 22px; font-weight: bold; line-height: 1.5; margin-top: 0.5em;}
    #PageCorporate #Idea .action .actionList{
        justify-content: space-between;
    }
    #PageCorporate #Idea .action .actionList__item{width: 31%;}
    #PageCorporate #Idea .action .actionList__title{font-size: 15px;}
}

@media screen and (max-width: 767px) {
    #PageCorporate #Idea .action .gray{font-size: 16px;}
    #PageCorporate #Idea .action .titleBold{font-size: 18px; font-weight: bold; line-height: 1.5; margin-top: 0.5em;}
    #PageCorporate #Idea .action .actionList{
        flex-direction: column;
        justify-content: center;
    }
    #PageCorporate #Idea .action .actionList__item{width: 100%;}
    #PageCorporate #Idea .action .actionList__title{font-size: 15px;}
}

/* 事業内容
-------------------------------------*/
#PageCorporate #OurBusiness{ text-align: center;}
/*#################### 事業・グループ情報 ####################*/
#PageBusinessInfo #Group .company {
    position: relative;
    background: url(../../business_info/img/wall-group_bottom.png) bottom no-repeat;
    background-size: 100% auto;
    max-width: 327px;
    width: 100%;
    /*margin:0 35px 75px 0;*/
    margin: 0 0 75px 0;
    padding-bottom: 9px;
}
#PageBusinessInfo #Group .company.end { margin-bottom: 50px; }
#PageBusinessInfo #Group .company img { width: 200px; height:auto; }
#PageBusinessInfo #Group .company h4 {
    background: url(../../business_info/img/wall-group_top.png) top no-repeat;
    padding: 15px 0 25px;
    max-width: 327px;
    width: 100%;
    text-align: center;
}
#PageBusinessInfo #Group .company dl {
    background: url(../../business_info/img/wall-group_middle.png);
    padding: 0 20px 35px;
}
#PageBusinessInfo #Group .company dt {
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
}
#PageBusinessInfo #Group .company dd { font-size: 13px; }
#PageBusinessInfo #Group .company dd.site {
    position: absolute;
    bottom: -25px;
    right: 0;
    left: 0;
    margin: auto;
    width: 160px;
    height: 42px;
}
#PageBusinessInfo #Group .company dd.site img { max-width: 160px; height:auto; }
#PageBusinessInfo #Sub .archiveBox h3 {
    height: 50px;
    background-image: url(../../business_info/img/title-sub.gif);
    text-indent: -9999px;
}

@media screen and (min-width: 768px) {
    #PageBusinessInfo #Group .company {
        float: left;
        width: 44.79452054794521%;
        height: 400px;
        margin-left: 3.424657534246575%
    }
    #PageBusinessInfo .disabled {pointer-events: none; cursor: default;}
}

@media screen and (max-width: 767px) {
    #PageBusinessInfo #Group .company {
        margin: 0 auto;
        margin-bottom: 75px;
    }
    #PageBusinessInfo #Group .company img { width: 199px; height:auto; }
}

/*#################### ニュース ####################*/
.newsDetail p.year {
    background: url(../../csr/img/line-title.gif) left top repeat-y;
    margin-bottom: 20px;
    padding: 10px 0 10px 16px;
    line-height: 1;
    font-weight: bold;
    font-size: 20px;
}
.newsDetail  p.year span { font-size: 15px; }
.newsDetail .entry { margin-bottom: 90px; }
.newsDetail .entry h4 {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: bold;
    color: #34343A;
    word-break: break-all;
}
.newsDetail p { line-height: 1.8; margin-bottom: 25px; }
.newsDetail p.date {
    background: url(../../csr/img/line-date.png) left bottom no-repeat;
    margin-bottom: 14px;
    padding-bottom: 15px;
    line-height: 1;
    font-size: 14px;
}
.newsDetail ul.photo {
    zoom: 1;
    margin: 0 0;
    font-size: 0;
}
.newsDetail ul.photo:after {
    content: "";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}
.newsDetail div.list li {
    background: url(../img/contents/line-dashed.gif) left bottom repeat-x #ffffff;
    padding: 15px 10px;
    line-height: 1;
}
.newsDetail div.list li.even { background-color: #f6f6f6; }
.newsDetail .a_memo {
    border: solid 1px #ccc;
    background: #fff;
    padding: 15px;
    font-size: 90%;
}
.newsDetail .a_memo h5 {
    font-weight: bold;
    margin-bottom: 5px;
}

/*外部リンク*/
#News .externalLink{
	position:relative;
}
#News .externalLink:after {
    content:"";
	background-image:url(../../img/linkBtn.gif);
	background-repeat:no-repeat;
	width:12px;
	height:12px;
    position: relative;
    display: inline-block;
    margin-left: 0.5em;
}
#News .externalLink:hover:after {
	opacity: 0.5 ;
}

@media screen and (min-width: 768px) {
    .newsDetail ul.photo li {
        float: left;
        margin-right: 10px;
        margin-bottom: 15px;
    }

    .newsDetail #c20190109 .left{float: left; width: 270px;}
    .newsDetail #c20190109 .right{float: right; width: 430px;}
}

@media screen and (max-width: 767px) {
    .newsDetail ul.photo { text-align: center; }
    .newsDetail ul.photo li { margin-bottom: 10px; }
}
/* ニュースリリース
-------------------------------------*/
#PageNewsRelease #News dl {
    zoom: 1;
    clear: both;
    border-bottom: dotted 1px #eee;
    margin: 0 0 10px 5px;
    padding: 10px 0;
}
#PageNewsRelease #News dl:after {
    content: "";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}
#PageNewsRelease #News dt {
    min-height: 20px;
    line-height: 1.5;
}
#PageNewsRelease #News dt span {
    display: block;
    float: right;
    width: 75px;
    height: 16px;
    margin: 0.17em 0 0 0;
    background-position: 0;
    background-repeat: no-repeat;
}
#PageNewsRelease #News dl.yamamoto dt span { background-image: url(../../img/ico-yamamoto.gif); }
#PageNewsRelease #News dl.mrc dt span { background-image: url(../../img/ico-mrc.gif); }
#PageNewsRelease #News dl.kyotate dt span { background-image: url(../../img/ico-kyotate.gif); }
#PageNewsRelease #News dl.ilink dt span { background-image: url(../../img/ico-ilink.gif); }
#PageNewsRelease #News dd { line-height: 1.5; word-break: break-all;}
#PageNewsRelease #News dd a{color: #000000; text-decoration: none;display: block;}
#PageNewsRelease #News dd a:hover{color: #999;text-decoration: none;}

@media screen and (min-width: 768px) {
    #PageNewsRelease #News dt {
        float: left;
        max-width: 130px;
        width: 6em;
        margin-right: 1em;
		font-weight: 600;
    }
    #PageNewsRelease #News dd {
        float: right;
        max-width: 835px;
        width:calc(100% - 6em - 1em);
    }
}


/* 右カラム */
#PageNewsRelease #Sub{
    margin-bottom: 60px;
}
#PageNewsRelease #Sub .archiveBox h3 {
    padding: 1em 1em 0.9em;
    background: #FDD000;
    color: #34343A;
    font-weight: bold;
	margin-top: 2em;
}
@media screen and (max-width: 767px) {
    #PageNewsRelease #Sub{
        display: block;
    }
}

/* 詳細ページ */
#PageNewsRelease #News .entry p{
    word-break: break-all;
}
#PageNewsRelease #News .entry em{
    font-style: italic;
    font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','Osaka','ＭＳ Ｐゴシック',sans-serif;
    font-weight: normal;
}
#PageNewsRelease #News .entry img{
    width: auto;
    height: auto;
    max-width: 100%;
}

@media screen and (max-width: 767px) {
    #PageNewsRelease #News .entry img{width: 100%;}
}


/* 主な受賞歴
-------------------------------------*/
#PageCsrNews dl.award {
    overflow: hidden;
    zoom: 1;
    width: 100%;
    margin-bottom: 20px;
    text-align: left;
    font-size: 14px;
}
#PageCsrNews dl.award dt {
    width: 180px;
    padding-left: 10px;
    padding-bottom: 10px;
    font-style: italic;
}
#PageCsrNews dl.award dt img { max-width: 165px; }
#PageCsrNews dl.award dd {
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: dotted 1px #ccc;
}
#PageCsrNews dl.award dd:after {
    content: '';
    display: block;
    clear: both;
    height: 0;
}
#PageCsrNews .ht4 {
    padding-top: 20px;
    margin-top: -20px;
}
#PageCsrNews #Sub .archiveBox h3 {
    height: 50px;
    background-image: url(../../csr/img/title-sub.gif);
    text-indent: -9999px;
}
/* CSRニュース
-------------------------------------*/
#PageCsrNews #Action .wrap {
    max-width: 750px;
    width: 100%;
    margin-right: -20px;
    margin-bottom: 15px;
}
#PageCsrNews #Action dl {
    background: url(../../csr/img/wall-action_bottom.png) left bottom no-repeat;
    max-width: 355px;
    height: 290px;
    padding-bottom: 15px;
}
#PageCsrNews #Action dt {
    padding: 10px 0 5px;
    background: url(../../csr/img/wall-action_top.png) top center no-repeat;
    text-align: center;
}
#PageCsrNews #Action dt img { max-width: 100%; height:auto; }
/*#PageCsrNews #Action dl:nth-of-type(1) img { max-width: 309px; }*/
#PageCsrNews #Action dd {
    background: url(../../csr/img/wall-action_middle.png) center repeat-y;
    padding: 0 20px;
}
#PageCsrNews #News .entry a .fa-external-link{margin-left: 5px;}

/* 各記事写真 */



#PageCsrNews #News .entry p img.autosize { max-width: none; }
#PageCsrNews #News .photo li img { max-width: 220px; }
#PageCsrNews #News #c20151126 img { max-width: 350px; }
#PageCsrNews #News #c20150808 .photo img { max-width: 220px; }
#PageCsrNews #News .a1301 .photo img,
#PageCsrNews #News .a1302 .photo img,
#PageCsrNews #News .a1303 .photo img { max-width: 280px; }
#PageCsrNews #News #c20140828 .photo img { max-width: 280px; }
#PageCsrNews #News #c20151125 p img { max-width: 330px; }
#PageCsrNews #News #c20150801 p img,
#PageCsrNews #News #c20150629 p img { max-width: 350px; }
#PageCsrNews #News #c20191122 p.imgBox img { height: auto; width: 692px; max-width: 100%;}
#PageCsrNews #News #c20191122 .photo img { width: 220px; height: auto; max-width: 100%;}
#PageCsrNews #News .comment{font-size: 88%; position: relative; padding-left: 0.85em;}
#PageCsrNews #News .comment:before{
    content: "*";
    position: absolute;
    top: 2px;
    left: 0;
}

@media screen and (min-width: 768px) {
    #PageCsrNews #News .entry p img { width: 46%; height: auto; display: inline-block; vertical-align: top;}
    #PageCsrNews #News .entry p img.autosize { width: auto; max-width: 100%; height: auto; }
    #PageCsrNews #News .photo li { width: 31%; }
    #PageCsrNews #News #c20150808 .photo li:nth-of-type(1) { width: 30.9%; }
    #PageCsrNews dl.award dt {
        float: left;
        clear: both;
    }
    #PageCsrNews dl.award dd { padding-left: 200px; }
    #PageCsrNews #Action dl {
        float: left;
        width: 47.33333333333333%;
        margin-right: 2.666666666666667%;
    }
}

@media screen and (max-width: 767px) {
    #PageCsrNews #News .entry .pic img {
        display: block;
        margin: 0 auto;
        margin-bottom: 10px;
    }
    #PageCsrNews dl.award { margin: 0 auto; }
    #PageCsrNews dl.award dt {
        max-width: 180px;
        width: 100%;
        margin: 0 auto;
    }
    #PageCsrNews dl.award dd {
        max-width: 320px;
        width: 100%;
        margin: 0 auto;
        margin-bottom: 20px;
    }
    #PageCsrNews #Action dl {
        margin: 0 auto;
        margin-bottom: 15px;
    }
    #PageCsrNews #Action dt img { width:90%;}
}

/*####################　CSR：SDGsページ ※旧　####################*/
#PageCsrNews #Sdgs .imgBox{text-align: center;}
#PageCsrNews #Sdgs .imgBox + p{
    text-align: center;
    color: #00a0e9;
    font-weight: bold;
    line-height: 1.75;
    letter-spacing: 0.05em;
}

#PageCsrNews #Sdgs .LeftRightBorderTitle{
    position: relative;
    text-align: center;
    margin-bottom: 0;
}
#PageCsrNews #Sdgs .LeftRightBorderTitle span{
    display: inline-block;
    position: relative;
    z-index: 1;
    background: #f6f6f6;
    font-weight: bold;
}
#PageCsrNews #Sdgs .LeftRightBorderTitle:after{
    content: "";
    display: block;
    border-bottom: 2px solid #00a0e9;
    position: relative;
}

#PageCsrNews #Sdgs .sdgsProject:after{
    content: "";
    display: block;
    clear: both;
}
#PageCsrNews #Sdgs .sdgsProject .left img{
    width: 100%;
    height: auto;
    display: block;
}


@media print, screen and (min-width: 768px) {
    #PageCsrNews #Sdgs .imgBox{margin: 55px 0 80px;}
    #PageCsrNews #Sdgs .imgBox + p{ margin-bottom: 50px; font-size: 20px;}

    #PageCsrNews #Sdgs .copy{
        margin-bottom: 60px;
        font-size: 14px;
        line-height: 1.742857;
    }

    #PageCsrNews #Sdgs .LeftRightBorderTitle span{
        margin-bottom: 22px;
        padding: 0 20px;
        font-size: 19px;
        letter-spacing: 0.2em;
    }
    #PageCsrNews #Sdgs .LeftRightBorderTitle:after{bottom: 39px;}

    #PageCsrNews #Sdgs .sdgsProject{margin-bottom: 50px;}
    #PageCsrNews #Sdgs .sdgsProject .left{font-size: 0;}
    #PageCsrNews #Sdgs .sdgsProject .left img{
        margin-bottom: 20px;
        display: inline-block;
        width: 48%;
    }

    #PageCsrNews #Sdgs .sdgsProject .left img + img{margin-left: 4%;}

    #PageCsrNews #Sdgs .sdgsProject .right{}

    #PageCsrNews #Sdgs .sdgsProject .right p{font-size: 13px; line-height: 1.84615;}
    #PageCsrNews #Sdgs .sdgsProject .right .blueImgTitle{margin-bottom: 8px;}
}
@media screen and (max-width: 767px) {
    #PageCsrNews #Sdgs .imgBox{margin: 30px 0 60px;}
    #PageCsrNews #Sdgs .imgBox + p{ margin-bottom: 40px; font-size: 15px; }
    #PageCsrNews #Sdgs .copy{
        margin-bottom: 60px;
        font-size: 14px;
        line-height: 1.742857;
    }

    #PageCsrNews #Sdgs .imgBox img{max-width: 450px; height: auto;}
    #PageCsrNews #Sdgs .LeftRightBorderTitle span{
        margin-bottom: 15px;
        padding: 0 15px;
        font-size: 18px;
        letter-spacing: 0.05em;
    }
    #PageCsrNews #Sdgs .LeftRightBorderTitle:after{bottom: 30px;}

    #PageCsrNews #Sdgs .sdgsProject{
        max-width: 450px;
        margin-bottom: 60px;
        margin-left: auto;
        margin-right: auto;
    }
    #PageCsrNews #Sdgs .sdgsProject .left img{margin-bottom: 15px;}

    #PageCsrNews #Sdgs .sdgsProject .right p{font-size: 14px; line-height: 1.84615;}
    #PageCsrNews #Sdgs .sdgsProject .right .blueImgTitle{margin-bottom: 8px;}
    #PageCsrNews #Sdgs .sdgsProject .right .blueImgTitle img{
        width: auto;
        max-height: 18px;
        max-width: 100%;
    }
    #PageCsrNews #Sdgs .sdgsProject .right .blueImgTitle.rows2 img{
        max-height: 41px;
    }
}


/*####################　SDGs　####################*/
/*Sdgs*/
#PageSdgs {}
#PageSdgs h3.titleBold {
	font-size: 2.5rem;
	text-align: center;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝 Medium", "YuMincho Medium", "游明朝", YuMincho, "HG明朝B", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
#PageSdgs p.alignright { text-align: right;}
#PageSdgs h4.titleBold {
    font-size: 1.5rem;
	font-weight: bold;
    margin-bottom: 1.25em;
    letter-spacing: 0.06em;
	text-align: center;
	margin-top: 50px;
}


#PageSdgs .buttonBox.youtube img { margin-bottom: 10px;}
#PageSdgs .buttonBox.youtube a {
    padding: 1.75em 1em;
    border-radius: 10px;
    display: block;
    border: 1px solid #ddd;
}
#PageSdgs .sunflex.activities {width:790px; margin:auto;}
#PageSdgs .sunflex.activities .buttonBox {width:380px;}
#PageSdgs .buttonBox.youtube {margin:0; text-align: center;}
#PageSdgs .buttonBox.sdgs {margin:0; text-align: center;}
#PageSdgs .buttonBox.sdgs a:hover {opacity:0.6;}

@media screen and (max-width: 767px) {
#PageSdgs .contents_sub{margin-top: 2em;}
#PageSdgs .sunflex.activities {width:auto;}
#PageSdgs .sunflex.activities .buttonBox {width:100%; max-width: 380px; margin:auto;}
#PageSdgs .sunflex.activities .buttonBox + .buttonBox {margin-top:10px;}
}




@media screen and (max-width: 767px) {
	#PageSdgs h4.titleBold { font-size: 1.1rem;}
	#PageSdgs h5.bgTitle.gray.textGreen { text-align: center;}
    #PageSdgs .buttonBox .button{
        padding: 0.5em 0.5em;
        width: 320px;
        max-width: 100%;
    }
	#PageSdgs .buttonBox.youtube{max-width: 300px;}
    #PageSdgs .buttonBox.youtube a{padding: 1.75em 0.75em; border-radius: 5px;}
    #PageSdgs .buttonBox.youtube img{margin-bottom: 0.5em; width: 100px; height: auto;}
}

#PageSdgs h5.bgTitle.gray.textGreen {
	margin-top: 1.5em;
	padding: 1em 2em;
    font-size: 1.4rem;
    margin-bottom: 1.75em;
	background: #ffffff;
	color: #01adaa;
}
#PageSdgs .sdgsIcon {
    display: flex;
    justify-content: center;
}
@media print, screen and (min-width: 768px) {
    #PageSdgs .sdgsIcon{margin: 2.5em 0 3em;}
    #PageSdgs .sdgsIcon li{width: 120px;}
    #PageSdgs .sdgsIcon li + li{margin-left: 10px;}
}
@media screen and (max-width: 767px) {
    #PageSdgs .sdgsIcon{margin: 2em 0 2em;}
    #PageSdgs .sdgsIcon li{width: 55px;}
    #PageSdgs .sdgsIcon li + li{margin-left: 5px;}
    #PageSdgs .sdgsIcon li img{width: 100%; height: auto;}
}
/*  sdgsDetail
-------------------------------------*/
#PageSdgs .sdgsDetail{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#PageSdgs .sdgsDetail li .title{
    text-align: center;
    margin-top: 0.85em;
    margin-bottom: 0.3em;
    color: #01adaa;
}

@media print, screen and (min-width: 768px) {
    #PageSdgs .sdgsDetail:after{
        content: "";
        display: block;
        width: 320px;
    }
    #PageSdgs .sdgsDetail li{width: 320px; margin-bottom: 35px;}
    #PageSdgs .sdgsDetail li .title{font-size: 1.2rem;}
    #PageSdgs .sdgsDetail li .text{max-width: 290px; margin-left: auto; margin-right: auto;}
	
}
@media screen and (max-width: 767px) {
    #PageSdgs .sdgsDetail li{width: 48%; margin-bottom: 2em;}
    #PageSdgs .sdgsDetail li img{width: 100%; height: auto;}
    #PageSdgs .sdgsDetail li .title{font-size: 1rem;}
    #PageSdgs .sdgsDetail li .text{font-size: 0.85rem;}
}



/*#################### お問い合わせ ####################*/

#PageContact .contentsBox,
#PageRecruit .contentsBox{ margin-bottom: 20px; }
.contentsBox p.accept { text-align: center; font-weight: 600; }

.contentsBox span.required { color: #FFFFFF; background: #DC0000; border-radius: 3px; padding: 0.2em 0.5em; font-size: 11px; display: inline-block; margin-left: 1em;}
.contentsBox p .required{margin-left: 0;}
#PageContact .contentsBox.box {
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
    -webkit-border-radius: 8px;
    border-radius: 8px;
}

.contentsBox.box.privacy {
    box-sizing: border-box;
    background: #F6F6F6;
    padding: 10px;
}
table.borderHorizon{margin-bottom: 3em;}
.contentsBox.box.thanks {
    box-sizing: border-box;
    background: #ffffff;
    padding: 20px 30px 1px;
}
.contentsBox.box.thanks p { margin-bottom: 1.5em; }
.contentsBox.box.privacy .scroll {
    height: 165px;
    overflow-y: scroll;
}
#PageContact .contentsBox table { width: 100%; }
#PageContact .contentsBox th,
#PageContact .contentsBox td {
    border: none;
    border-bottom: 1px solid #cccccc;
    background: none;
    text-align: left;
    vertical-align: middle;
}
#PageContact .contentsBox tr.end th,
#PageContact .contentsBox tr.end td { border: none; }
#PageContact .contentsBox th {
    padding: 20px 10px 10px;
    vertical-align: top;
}
#PageContact .contentsBox td { padding: 15px 10px 15px 0; }
#PageContact .contentsBox td span.sample {
    display: block;
    margin-top: 3px;
    font-size: 13px;
    color: #191919;
}
#PageContact .contentsBox input.text,
#PageContact .contentsBox textarea {
    border: 1px solid #e7e7e7;
    width: 95%;
    padding: 10px 10px 10px 15px;
    font-size: 16px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
}

.contentsBox ::placeholder{
    color: #AAAAAA;
    font-size: 14px;
}

.contentsBox.privacy h3 {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}
.contentsBox.privacy h4 {
    font-size: 14px;
    font-weight: bold;
    margin: 25px 0 0;
}
.contentsBox.privacy li {
    list-style-type: lower-alpha;
    margin-left: 2.5em;
}
.contentsBox.privacy p,
.contentsBox.privacy dl {
    margin-left: 1.0em;
    margin-right: 1.0em;
}
.contentsBox.privacy p.sign { text-align: right; }
.contentsBox.privacy dl {
    margin-top: 40px;
    text-align: right;
}

.buttonBox .button.submit,
.buttonBox .button.check{
    display:block;
    padding: 1.2em 0;
    background: #34343A;
    border-radius: 4px;
    color: #fff;
    font-weight: bold;
    width: 260px;
    opacity: 1;
	cursor: pointer;
	text-decoration: none;
}

.buttonBox .button.submit:hover,
.buttonBox .button.check:hover{
    background: #FDD000;
	color: #34343A;
}

.buttonBox .button.disabled{
    opacity: 0.4;
	cursor: not-allowed;
}


.buttonBox .button.back {
    display:block;
    padding: 1.2em 0;
    background: #CCCCCC;
    border-radius: 4px;
    color: #fff;
    font-weight: bold;
    width: 260px;
	text-decoration: none;
}



.buttonBox ul { width:100%;}

p.error {
    margin: 5px 0 0;
    color: #f00;
    font-weight: bold;
}

input[type="checkbox"]{
    width: 1.2em;
    height: 1.2em;
    margin-right: 0.5em;

}

@media screen and (min-width: 768px) {
    #PageContact .contentsBox th { width: 250px; }
    #PageContact .button ul:after {
        content: "";
        display: block;
        clear: both;
    }
    #PageContact .button li {
        float: left;
        width: 40%;
        margin: 0 5%;
    }
    #PageContact .button li .sp { display: none; }
	#PageRecruit .contentsBox.box.table {
    box-sizing: border-box;
    background: #ffffff;
    padding: 10px 10px;
}
}

@media screen and (max-width: 767px) {
    #PageContact .contentsBox tr,
    #PageContact .contentsBox th,
    #PageContact .contentsBox td { display: block; }
    #PageContact .button li {
        max-width: 350px;
        margin: 0 auto;
        margin-bottom: 1.5em;
    }
    #PageContact .button li .pc { display: none; }
    #PageContact .button li a { text-decoration: none; }
	#PageContact .button li span {
		display:block;
        padding: 1em;
        background: #bbb;
        box-shadow: 0 5px rgba(110,110,110,1.00);
        border-radius: 5px;
        color: #fff;
    }
	#PageContact .button ul { width:100%;}
    #PageContact .button li.home a {
        display: block;
        padding: 1em;
        background: #bbb;
        box-shadow: 0 5px rgba(110,110,110,1.0);
        border-radius: 5px;
        color: #fff;
    }
    #PageContact .button li span.submitOn {
        background: #48BBE7;
        box-shadow: 0 5px rgba(51,149,196,1.00);
    }
    #PageContact .contentsBox th {
        border: none;
        padding-bottom:0;
    }
    #PageContact .contentsBox td { padding-top:5px;}
	#PageRecruit .contentsBox.box.table {
    box-sizing: border-box;
    background: #ffffff;
    padding: 0!important;
}
	.contentsBox.box.privacy .scroll {
    font-size: 13px;
		line-height: 1.8;
	}
	.buttonBox li + li{margin-left: 1em;}
}

.contentsBox.doui{
    border: 2px solid #34343A;
    padding: 1em 0 ;
}

.contentsBox.doui .accept{margin-bottom:  0;}

/*#################### 個人情報 ####################*/


#PagePrivacy .contentsBox h3 {
    font-size: 22px;
    font-weight: bold;
    text-align: center;
}
#PagePrivacy .contentsBox h4 {
    font-size: 16px;
    font-weight: bold;
    margin: 25px 0 15px;
}
#PagePrivacy .contentsBox p.center { text-align: center; }
#PagePrivacy .contentsBox li {
    list-style-type: lower-alpha;
    margin-left: 2.5em;
	line-height: 1.8;
}
#PagePrivacy .contentsBox p,
#PagePrivacy .contentsBox dl {
    margin-left: 0.5em;
    margin-right: 0.5em;
}
#PagePrivacy .contentsBox p.sign { text-align: right; }
#PagePrivacy .contentsBox dl {
    margin-top: 40px;
    text-align: right;
}
@media screen and (max-width: 767px) {
    #PagePrivacy .contents_sub{margin-top: 2em;}
	.buttonBox li + li{margin-top: 1em;margin-left: 0!important;}
}

/*#################### サイトマップ ####################*/
#PageSiteMap .contentsBox_sm ul { margin-top: 50px; }
#PageSiteMap .contentsBox_sm li {
    box-sizing: border-box;
    float: left;
    padding: 8px 0;
    border-bottom: dotted 1px #ccc;
    margin: 0 1.020408163265306%;
    padding-left: 25px;
    background: url(../img/contents/arrow-blue.gif) no-repeat 2% 50%;
}
#PageSiteMap .contentsBox_sm li a {
    display: block;
    color: #191919;
    text-decoration: none;
}
#PageSiteMap .contentsBox_sm li a:hover { text-decoration: underline; }

@media screen and (min-width: 768px) {
    #PageSiteMap .contentsBox_sm li { width: 31.22448979591837%; }
}

@media screen and (max-width: 767px) {
    #PageSiteMap .contentsBox_sm li { width: 47.95918367346939%; }
}
/* ============================================
	projection
============================================ */
#PageProjection #Sub .archiveBox h3 {
    height: 50px;
    background-color: #FDD000;
    background-image: url(../../corporate_profile/img/title-sub.gif);
    background-repeat: no-repeat;
    text-indent: -9999px;
}
#PageProjection #projection {
    max-width: 650px;
    width: 100%;
    margin: 0 auto;
}
#PageProjection #projection h3 img { max-width: 561px; }
#PageProjection #projection .m_img { margin-bottom: 15px; }
#PageProjection #projection .m_img img { max-width: 644px; }
#PageProjection #projection .sokai_line {
    clear: both;
    margin: 30px auto;
    height: 1px;
    width: 100%;
    border-bottom: #ccc dotted 1px;
}
#PageProjection #projection .p_box img { max-width: 308px; }
#PageProjection #projection .p_box2  img  { max-width:100%;}
#PageProjection #projection .p_box:after,
#PageProjection #projection .p_box2:after {
    content: "";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
}
#PageProjection #projection .p_box p {
    padding: 0 5px 15px 5px;
    margin-top: 0px;
}
#PageProjection #projection .p_box2 p {
	padding:0 0 15px;
	margin-top:0px;
}
#PageProjection #projection .p_box p.nop,
#PageProjection #projection .p_box2 p.nop { padding-bottom: 0; }
#PageProjection #projection .fin_p {
    clear: both;
    padding-top: 25px;
    margin-bottom: 10px;
}
#PageProjection #projection .fin_p img { max-width: 644px; }
#PageProjection #projection a.news_link { color: #0033CC; }
span.newsicon {
    background: #F33;
    color: #fff;
    font-size: 9px;
    font-family: Tahoma, Geneva, sans-serif;
    padding: 2px 5px;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    line-height: 100%;
    vertical-align: middle;
}
#PageProjection h4 {
    border-bottom:solid 3px #dddddd;
    padding-bottom:5px;
    color:#222222;
    font-size:22px;
    font-weight:bold;
    margin:35px 0 20px;
}

#PageProjection h4:before {
    content:"|";
    font-weight:bold;
    margin-right:10px;
    color:#FDD000;
}

#PageProjection #projection .imageBox img{display: block; width: 100%; height: auto;}

@media screen and (min-width: 768px) {
    #PageProjection #projection .p_box,
    #PageProjection #projection .p_box2 {
        max-width: 650px;
        width: 100%;
    }
    #PageProjection #projection .p_box .p_left,
    #PageProjection #projection .p_box2 .p_left {
        float: left;
        width: 47.38461538461538%;
        margin-right: 25px;
    }
    #PageProjection #projection .p_box2.mr35 + .p_box2.mr35{margin-top: 15px;}
    #PageProjection #projection .p_box2.mr35 .p_left {margin-right: 35px;}
    #PageProjection #projection .p_box .p_right
    #PageProjection #projection .p_box2 .p_right {
        float: right;
        width: 47.38461538461538%;
        text-align: left;
        zoom: 100%;
    }
    #PageProjection #projection .p_box .sp,
    #PageProjection #projection .p_box2 .sp { display:none;}
    #PageProjection #projection .p_box .pc,
    #PageProjection #projection .p_box2 .pc { display:block;}

	#PageProjection #projection .imageBox{margin-bottom: 25px;}
	#PageProjection #projection .imageBox:after{
		content:"";
		display: block;
		clear: both;
	}
	#PageProjection #projection .imageBox > div{width: 48%;}
	#PageProjection #projection .imageBox .left{float: left;}
	#PageProjection #projection .imageBox .right{float: right; margin-left: 4%;}
}

@media screen and (max-width: 767px) {
    #PageProjection #Sub .archiveBox ul:after {
        content: "";
        display: block;
        clear: both;
    }
    #PageProjection #Sub .archiveBox ul li {
        float: left;
        width: 50%;
    }
    #PageProjection #Sub .archiveBox ul li:nth-of-type(7) { width: 100%; }
    #PageProjection #Sub .archiveBox ul li:nth-of-type(8) { width: 100%; }
    #PageProjection #Sub .archiveBox ul li:nth-of-type(9) { width: 100%; }
    #PageProjection #projection .p_box { text-align: center; }
    #PageProjection #projection .p_box p,
    #PageProjection #projection .p_box2 p {
        text-align: left;
        max-width: 308px;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
        margin: 0 auto;
    }
    #PageProjection #projection .p_box .sp,
    #PageProjection #projection .p_box2 .sp { display:block;}
    #PageProjection #projection .p_box .pc,
    #PageProjection #projection .p_box2 .pc { display:none;}

    #PageProjection #projection .p_box2.mr35 + .p_box2.mr35{margin-top: 15px;}
    #PageProjection #projection .p_box2.mr35 .p_right {margin-top: 15px;}

	#PageProjection #projection .imageBox > div{margin-bottom: 1em;}
}
/*#################### 採用情報 ####################*/
#PageRecruit #Main { width: 100%; margin:0 auto; }
#PageRecruit #Main p.recNavi { text-align: center; }
#PageRecruit #Main p.recNavi img { max-width: 240px; }
#PageRecruit #Main p.copy { margin-bottom:3em;}
#PageRecruit #Main p.message {
    font-size:16px;
    line-height:200%;
    margin-bottom:25px;
}
#PageRecruit #Main h2 {
    padding: 0.5em 0.5em;
    background: #fff;
    border-top: 2px solid #aaa;
    border-bottom: 1px dotted #aaa;
    font-size: 20px;
    color: #535353;
    line-height: 1;
    width:85%;
    margin:45px auto 0;
    font-weight:normal;
}
#PageRecruit #Main h2:before {
    content:"○";
    color:#FDD000;
    font-size:22px;
    font-weight:bolder;
    line-height: 2;
    margin-right:15px;
}


@media screen and (min-width: 768px) {
    #PageRecruit #Main {/* padding: 100px 0 0; */}
    #PageRecruit #Main p { text-align: center; }
}

@media screen and (max-width: 767px) {
    #PageRecruit #Main { width:100%; margin:0 auto;}
    #PageRecruit #Main p { text-align: center; font-size:15px; }
    #PageRecruit #Main h2 { width:100%;}

    #PageRecruit #Main table,
    #PageRecruit #Main tbody,
    #PageRecruit #Main tr,
    #PageRecruit #Main th,
    #PageRecruit #Main td {
        display: block;
        width: 100%;
        text-align: left;
    }
    #PageRecruit #Main table th {
        box-sizing: border-box;
        padding-left: 1em;
        border-bottom:dotted 2px #ccc;
		padding: 10px 4px;
    }
    #PageRecruit #Main table td {
        box-sizing: border-box;
		padding: 15px;
        background:#ffffff;
    }
    #PageRecruit .entrybtn a {
        background:#FDD000;
        color:#ffffff;
        text-decoration:none;
        padding:20px 10px;
        border-radius:4px;
        display:block;
    }
}
/*#################### スマイルキャップアクト ####################*/
#PageSmilecap #smilemessage {
    max-width: 750px;
    margin: 0 auto;
}
#PageSmilecap .contentsBox {
    border: none;
    padding-top: 0;
}
#PageSmilecap .contentsBox p { font-size: 14px; }
#PageSmilecap .contentsBox h3 {
    margin-bottom: 15px;
    padding-bottom: 10px;
    font-size: 22px;
    font-weight: normal;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
    color: #000;
}
#PageSmilecap #Contents01 { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
#PageSmilecap .contentsBox h5 {
    margin: 40px 0 10px;
    font-size: 17px;
}
#PageSmilecap #Contents01 h3 {
    border: 1px solid #ececec;
    box-shadow: inset 0 0 20px rgba(221,221,221,0.3);
    width: 858px;
    margin-bottom: 60px;
    padding: 24px 0;
    text-align: center;
}
#PageSmilecap .attention {
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: #DDD;
    padding-top: 30px;
    width: 80%;
    margin-right: auto;
    margin-left: auto;
    margin-top: 50px;
}
#PageSmilecap .attention p { font-size: 11px; }
#PageSmilecap #Contents01 div.btn { text-align: center; }
#PageSmilecap #Contents01 div.btn a {
    display: inline-block;
    -webkit-border-radius: 6;
    -moz-border-radius: 6;
    border-radius: 6px;
    -webkit-box-shadow: 0px 3px 0px #E03807;
    -moz-box-shadow: 0px 3px 0px #E03807;
    box-shadow: 0px 3px 0px #E03807;
    color: #ffffff;
    background: #EE6004;
    padding: 20px;
    text-decoration: none;
    margin-top: 25px;
    font-size: 120%;
}
#PageSmilecap #Contents01 div.btn a:hover {
    background: #E03807;
    text-decoration: none;
}
#PageSmilecap .contentsBox .sign { text-align: right; }

@media screen and (min-width: 768px) {
    #PageSmilecap #smilemessage { width: 76.53061224489796%; }
    #PageSmilecap #Contents01 div.btn a { width: 60%; }
}

@media screen and (max-width: 767px) {
    #PageSmilecap #smilemessage { width: 95%; }
    #PageSmilecap #Contents01 div.btn a { width: 80%; }
}
/*####################　CSR：スマイルキャップアクト！詳細　####################*/
#PageSmilecap #Contents02 {
    max-width: 860px;
    margin: 0 auto;
}
#PageSmilecap #Contents02 h4 { margin-bottom: 25px; }
#PageSmilecap #Contents02 p.info { margin-bottom: 25px; }
#PageSmilecap #Contents02 .leftBox {
    max-width: 310px;
    margin: 0 auto;
}
#PageSmilecap #Contents02 .rightBox {
    max-width: 501px;
    margin: 0 auto;
}
#PageSmilecap #Contents02 .rightBox h5 {
    margin-top: 0px;
    display: block;
}
#PageSmilecap #Contents02 .rightBox div { padding: 5px 0px; }
#PageSmilecap #Contents02 .rightBox p { font-size: 12px; }
#PageSmilecap #Contents02 .rightBox .contact img { max-width: 272px; }
#PageSmilecap #Contents02 .rightBox div.btn {
    text-align: center;
    margin-bottom: 10px;
    margin-top: 30px;
}
#PageSmilecap #Contents02 .rightBox div.btn a {
    -moz-box-shadow: 0px 2px 5px 0px #e0e0e0;
    -webkit-box-shadow: 0px 2px 5px 0px #e0e0e0;
    box-shadow: 0px 2px 5px 0px #e0e0e0;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #ffffff), color-stop(1, #f2f2f2));
    background: -moz-linear-gradient(top, #ffffff 5%, #f2f2f2 100%);
    background: -webkit-linear-gradient(top, #ffffff 5%, #f2f2f2 100%);
    background: -o-linear-gradient(top, #ffffff 5%, #f2f2f2 100%);
    background: -ms-linear-gradient(top, #ffffff 5%, #f2f2f2 100%);
    background: linear-gradient(to bottom, #ffffff 5%, #f2f2f2 100%);
 filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f2f2f2', GradientType=0);
    background-color: #ffffff;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    display: inline-block;
    cursor: pointer;
    color: #666666;
    font-size: 15px;
    text-align: center;
    padding: 11px 0;
    text-decoration: none;
    text-shadow: 0px 1px 0px #ffffff;
    width: 70%;
}
#PageSmilecap #Contents02 .rightBox div.btn a:hover {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #f2f2f2), color-stop(1, #ffffff));
    background: -moz-linear-gradient(top, #f2f2f2 5%, #ffffff 100%);
    background: -webkit-linear-gradient(top, #f2f2f2 5%, #ffffff 100%);
    background: -o-linear-gradient(top, #f2f2f2 5%, #ffffff 100%);
    background: -ms-linear-gradient(top, #f2f2f2 5%, #ffffff 100%);
    background: linear-gradient(to bottom, #f2f2f2 5%, #ffffff 100%);
 filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f2f2f2', endColorstr='#ffffff', GradientType=0);
    background-color: #f2f2f2;
}
#PageSmilecap #Contents02 .rightBox div.btn:active {
    position: relative;
    top: 1px;
}
#PageSmilecap #Contents02 .rightBox p.small {
    font-size: 11px;
    text-align: center;
    margin-bottom: 50px;
}
.list_btn {
    text-align: center;
    clear: both;
    font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 　游ゴシック体, 'Yu Gothic', YuGothic, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    position: relative;
    margin: 0 auto;
}
.list_btn .pyonpyon {
    position: absolute;
    right: 55px;
    bottom: -10px;
    z-index: 100;
}
.list_btn a {
    display: block;
    padding: 25px 40px;
    border: transparent 1px solid;
    display: inline-block;
    position: relative;
    background-color: #FFF000;
    border-radius: 4px;
    color: #000;
    -webkit-transition: none;
    transition: none;
    box-shadow: 0 4px 0 #D5CA00;
    text-decoration: none;
    line-height: 1.5;
}
.list_btn a:hover {
    background: #FFF866;
    box-shadow: 0 4px 0 #F3EA72;
}
.list_btn a:active,
.list_btn a:focus {
    top: 3px;
    box-shadow: none;
}
.list_btn span {
    font-size: 12px;
    padding: 6px 15px;
    border-radius: 50px;
    background: #fff;
    font-style: italic;
    margin-left: 10px;
}
#PageSmilecap #Contents02 .charity {
    background: #ffffff;
    padding: 40px;
    margin-bottom: 90px;
}
#PageSmilecap #Contents02 .charity p.sign { margin-bottom: 20px;}


@media screen and (min-width: 768px) {
    #PageSmilecap #Contents02 .leftBox {
        float: left;
        width: 36.04651162790698%;
    }
    #PageSmilecap #Contents02 .rightBox {
        float: right;
        width: 58.25581395348837%;
    }
    .list_btn {
        width: 60%;
        min-width: 516px;
        padding-top: 80px;
        margin-bottom: 60px;
    }
}

@media screen and (max-width: 767px) {
    #PageSmilecap #Contents02 { width: 95%; }
    #PageSmilecap #Contents02 .leftBox { margin-bottom: 2em; }
    .list_btn {
        padding-top: 25px;
        margin-bottom: 20px;
        width: 90%;
    }
    #PageSmilecap #Contents02 .list_btn { width:100%; margin-bottom: 40px;}
    #PageSmilecap #Contents02 .list_btn a { display:block; width:80%; padding:25px;}
    #PageSmilecap #Contents02 .list_btn .pyonpyon { right:5%; }
    #PageSmilecap #Contents02 .list_btn .pyonpyon img { width:56px; height:auto;}
    #PageSmilecap #Contents02 .rightBox div.btn { width:100%;}
    #PageSmilecap #Contents02 .rightBox div.btn a {
        display:block;
        width:100%;
    }
    #PageSmilecap #Contents02 .charity {
        background: #ffffff;
        padding: 20px;
        margin-bottom: 60px;
    }
    #PageSmilecap #Contents02 .charity p.sign { margin-bottom: 20px;}
}


/*####################　経営ビジョン2020　####################*/

/* ページ内共通 */

#Vision2020 .imgBox{text-align: center; max-width: 100%;}
#Vision2020 .imgBox img{max-width: 100%; height: auto;}

#Vision2020 .whiteBgBox{
    background: #fff;
    border: 1px solid #f0efef;
    box-shadow: 1px 1px 5px rgba(149,149,149,.14)
}
#Vision2020 .bold{font-weight: bold;}

@media screen and (min-width: 768px) {
    #Vision2020 .gradationTitle{margin: 50px 0 40px;}
    #Vision2020 .gradationTitle img{width: 100%; height: auto; max-width: 730px;}
    #Vision2020 .gradationTitle.sp{display: none;}
}

@media screen and (max-width: 767px) {
    #Vision2020 .gradationTitle{
        position: relative;
        margin: 40px 0 25px;
        padding: 10px 15px;
        background: rgb(209,241,248,1); /* Old browsers */
        background: -moz-linear-gradient(left, rgba(249,249,249,1) 0%, rgba(209,241,248,1) 100%); /* FF3.6-15 */
        background: -webkit-linear-gradient(left, rgba(249,249,249,1) 0%,rgba(209,241,248,1) 100%); /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to right, rgba(249,249,249,1) 0%,rgba(209,241,248,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        font-size: 17px;
        font-weight: bold;
        letter-spacing: 0.075em;
    }
    #Vision2020 .gradationTitle:before{
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 2px;
        height: 41px;
        background: #FDD000;
    }
    #Vision2020 .gradationTitle .small{
        font-weight: bold;
        font-size: 13px;
    }
    #Vision2020 .gradationTitle.pc{display: none;}
}


/* 目指すべき姿 */
#Vision2020 .vision .visionList dt{
    text-align: center;
    position: relative;
}

#Vision2020 .vision .visionList .blueNumber li{position: relative;}
#Vision2020 .vision .visionList .blueNumber li:before,
#Vision2020 .vision .visionList .blueNumber li:after{
    content: "";
    position: absolute;
}
#Vision2020 .vision .visionList .blueNumber li:after{background-repeat: no-repeat;}

#Vision2020 .vision .visionList .blueNumber li:nth-of-type(1):after{
    width: 29px;
    height: 26px;
    background-image: url(../../corporate_profile/img/vision2020/ico_01.png);
}
#Vision2020 .vision .visionList .blueNumber li:nth-of-type(2):after{
    width: 34px;
    height: 26px;
    background-image: url(../../corporate_profile/img/vision2020/ico_02.png);
}
#Vision2020 .vision .visionList .blueNumber li:nth-of-type(3):after{
    width: 35px;
    height: 26px;
    background-image: url(../../corporate_profile/img/vision2020/ico_03.png);
}

@media screen and (min-width: 768px) {
    #Vision2020.contentsBox{margin-bottom: 100px;}
    #Vision2020.contentsBox h3{margin-bottom: 40px;}
    #Vision2020 .vision .copy{margin-bottom: 70px;}

    #Vision2020 .vision .visionList{padding: 40px;}
    #Vision2020 .vision .visionList dt{
        top: -74px;
        margin-bottom: -60px;
    }

    #Vision2020 .vision .visionList .blueNumber li{
        padding-left: 73px;
        font-size: 15px;
        letter-spacing: 0.05em;
        line-height: 1.7777777;
    }
    #Vision2020 .vision .visionList .blueNumber li + li{margin-top: 25px;}
    #Vision2020 .vision .visionList .blueNumber li .large{font-size: 18px;}


    #Vision2020 .vision .visionList .blueNumber li:before{
        width: 15px;
        height: 2px;
        top: 15px;
        left: 0;
        background: #3bc0f0;
    }

    #Vision2020 .vision .visionList .blueNumber li:after{
        -webkit-background-size: 100%;
        background-size: 100%;
        top: 4px;
        left: 25px;
    }

}

@media screen and (max-width: 767px) {
    #Vision2020 .vision .copy{margin-bottom: 50px;}
    #Vision2020 .vision .copy img{max-width: 450px;}

    #Vision2020 .vision .visionList{padding: 0 20px 20px 20px;}
    #Vision2020 .vision .visionList dt{top: -23px; margin-bottom: -15px;}
    #Vision2020 .vision .visionList dt img{max-width: 200px;}

     #Vision2020 .vision .visionList .blueNumber li{
        padding-left: 50px;
        letter-spacing: 0.05em;
    }
    #Vision2020 .vision .visionList .blueNumber li + li{margin-top: 25px;}
    #Vision2020 .vision .visionList .blueNumber li .large{font-size: 110%;}

     #Vision2020 .vision .visionList .blueNumber li:before{
        width: 10px;
        height: 2px;
        top: 15px;
        left: 0;
        background: #3bc0f0;
    }

    #Vision2020 .vision .visionList .blueNumber li:after{
        background-repeat: no-repeat;
        -webkit-background-size: 70%;
        background-size: 70%;
        top: 4px;
        left: 15px;
    }

}


/* 数値目標 */
@media screen and (max-width: 767px) {
    #Vision2020 .numericalGoal .imgBox img{max-width: 520px;}
}

@media screen and (max-width: 666px) {
    #Vision2020 .numericalGoal .imgBox img{max-width: 320px;}
}



/* 新経営計画 */
#Vision2020 .plan .planList dt{text-align: center; position: relative;}
#Vision2020 .plan .planList .dotList li{position: relative;}
#Vision2020 .plan .planList .dotList li:before{
    content: "";
    background: #FDD000;
    position: absolute;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 2.5px;
}
#Vision2020 .plan .planList .large{
    letter-spacing: 0.05em;
    margin-bottom: 15px;
}
#Vision2020 .plan .planList .blueLightIcon{
    position: relative;
    color: #12ace5;
    font-weight: bold;
    letter-spacing: 0.025em;
}
#Vision2020 .plan .planList .blueLightIcon:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(../../corporate_profile/img/vision2020/ico_light.png);
    -webkit-background-size: 100%;
    background-size: 100%;
    background-repeat: no-repeat;
}


@media screen and (min-width: 768px) {
    #Vision2020 .plan .copy{margin-bottom: 50px;}
    #Vision2020 .plan .column2:after{
        content: "";
        display: block;
        clear: both;
    }
    #Vision2020 .plan .column2 .planList{
        float: left;
        width: 49.5%
    }
    #Vision2020 .plan .column2 .planList + .planList{margin-left: 1%;}


    #Vision2020 .plan .planList{
        box-sizing: border-box;
        padding: 35px 35px 20px 35px;
        margin-bottom: 30px;
    }
    #Vision2020 .plan .planList dt{
        top: -41px;
        margin-bottom: -15px;
        margin-right: -35px;
        margin-left: -35px;
    }
    #Vision2020 .plan .planList dt img{width: 100%; height: auto; max-width: 300px;}

    #Vision2020 .plan .planList .dotList li{
        padding-left: 18px;
        margin-bottom: 15px;
        font-size: 15px;
        line-height: 1.333333;
    }
    #Vision2020 .plan .planList .dotList li:before{top: 6px;}

    #Vision2020 .plan .planList .large{font-size: 18px;}
    #Vision2020 .plan .planList .blueLightIcon{padding-left: 35px;}
    #Vision2020 .plan .planList .blueLightIcon:before{
        width: 25px;
        height: 39px;
    }

    #Vision2020 .plan .column1 .dotList{display: inline-block;}
    #Vision2020 .plan .column1 .dotList:nth-of-type(1){width: 50%; margin-right: 6%;}
    #Vision2020 .plan .column1 .dotList:nth-of-type(2){width: 44%;}

}

@media screen and (max-width: 767px) {
    #Vision2020 .plan .copy{margin-bottom: 40px;}
    #Vision2020 .plan .copy img{max-width: 490px;}

    #Vision2020 .plan .planList{margin-bottom: 30px; padding: 0 20px 15px 20px;}
    #Vision2020 .plan .planList dt{
        top: -13px;
        margin-bottom: 0px;
    }
    #Vision2020 .plan .planList dt img{max-width: 250px;}

    #Vision2020 .plan .planList .dotList li{
        padding-left: 15px;
        margin-bottom: 10px;
    }
    #Vision2020 .plan .planList .dotList li:before{top: 7px;}

    #Vision2020 .plan .planList .large{font-size: 17px;}
    #Vision2020 .plan .planList .blueLightIcon{padding-left: 25px;}
    #Vision2020 .plan .planList .blueLightIcon:before{
        width: 15px;
        height: 24px;
    }
}

@media screen and (max-width: 666px) {
    #Vision2020 .plan .copy img{max-width: 350px;}
}

/* ありがとう経営 */
@media screen and (max-width: 767px) {
    #Vision2020 .thanksManagement .imgBox img{max-width: 600px;}
}
@media screen and (max-width: 666px) {
    #Vision2020 .thanksManagement .imgBox img{max-width: 480px;}
}



/*####################　グループ会社詳細（アイリンク/下屋敷商店/⾼野清掃）　　####################*/

#PageGroup #Container #Group{
    margin-bottom: 0;
}

#PageGroup #Container .yellowUnderLineTitle{
    margin-bottom: 2em;
}


#PageGroup .wallBelt.white{
    background: #fff;
}
#PageGroup .centerSingleTitle{
    position: relative;
	font-weight: bold;
	font-size: 30px;
	text-align: center;
}
#PageGroup .centerDoubleTitle{
    width: 100%;
    text-align: center;
    font-weight: bold;
}
#PageGroup .centerDoubleTitle .en{
    position: relative;
    top: -0.1em;
    display: inline-block;
    vertical-align: middle;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
}
#PageGroup .centerDoubleTitle .en:after{
    content: "／";
    display: inline-block;
    vertical-align: middle;
    margin: 0 0.5em;
    font-size: 18px;
}
@media screen and (min-width: 768px) {
    #PageGroup #Container,
    #PageGroup #Main{
       width: 100%;
        max-width: 100%;
        padding: 0;
    }
    #PageGroup .wallBelt{
        padding-top: 80px;
        padding-bottom: 80px;
    }
    #PageGroup .centerDoubleTitle{font-size: 18px;}
    #PageGroup .centerDoubleTitle .en{font-size: 30px;}
}
@media screen and (max-width: 767px) {
    #PageGroup .wallBelt{
        padding-top: 40px;
        padding-bottom: 40px;
    }
    #PageGroup .centerDoubleTitle{font-size: 16px;}
    #PageGroup .centerDoubleTitle .en{font-size: 24px;}
}


/* OUTLINE 会社概要 */
#PageGroup #Container .groupOutline{padding-top: 0px;}
#PageGroup #Container .groupOutline .contents{max-width: 900px;}
#PageGroup #Container .groupOutlineTable{width: 100%;}
#PageGroup #Container .groupOutlineTable th,
#PageGroup #Container .groupOutlineTable td{
    border: none;
    background-color: transparent;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
}
#PageGroup #Container .groupOutlineTable th,
#PageGroup #Container .groupOutlineTable td{border-bottom: 1px solid #DCDCDC; vertical-align:top;}
#PageGroup #Container .groupOutlineTable a[href$=".pdf"]:after{
    content: "";
    position: relative;
    top: 0.2em;
    display: inline-block;
    margin-left: 0.35em;
    width: 1.5em;
    height: 1.5em;
    background: url(../../group/img/ico_pdf.png) no-repeat;
    background-size: contain;
}
#PageGroup .groupOutlineTable .chart img {vertical-align:top;}
#PageGroup .groupOutlineTable .chart td { padding-top:30px !important; padding-bottom:30px !important;}


@media screen and (min-width: 768px) {
    #PageGroup #Container .groupOutlineTable th,
    #PageGroup #Container .groupOutlineTable td{font-size: 15px;}
    #PageGroup #Container .groupOutlineTable th{width: 140px;}
}
@media screen and (max-width: 767px) {
    #PageGroup #Container .groupOutlineTable th,
    #PageGroup #Container .groupOutlineTable td{font-size: 14px;}
    #PageGroup #Container .groupOutlineTable th{width: 80px;}
}

/* MESSAGE 代表メッセージ */
#PageGroup #Container .groupMessage .contents{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 800px;
}
#PageGroup #Container .groupMessage__img{}
#PageGroup #Container .groupMessage__img figcaption{text-align: center; margin-top: 0.5em;}
#PageGroup #Container .groupMessage__text{word-break: break-all; max-width: 600px;}
#PageGroup #Container .onlytext .groupMessage__text{word-break: break-all; width: 100%; max-width: 100%;}
#PageGroup #Container .onlytext .groupMessage__img{margin-left: auto;text-align: right;line-height: 1.8;}

@media screen and (min-width: 768px) {
    #PageGroup #Container .groupMessage .centerDoubleTitle{margin-bottom: 3em;}
    #PageGroup #Container .groupMessage__text p{font-size: 16px;}
}
@media screen and (max-width: 767px) {
    #PageGroup #Container .groupMessage__img{order: 1; width: 100%; text-align: center; margin-bottom: 25px;}
    #PageGroup #Container .groupMessage__img img{width: auto;}
    #PageGroup #Container .groupMessage__text{order: 2;}
}



/* ACCESS アクセスマップ */
#PageGroup #Container .groupMap{padding-bottom: 0;}
#PageGroup #Container .groupMap iframe{width: 100%;}

@media screen and (min-width: 768px) {
    #PageGroup #Container .groupMap .centerDoubleTitle{margin-bottom: 2.5em;}
    #PageGroup #Container .groupMap iframe{height: 420px!important;}
}
@media screen and (max-width: 767px) {
    #PageGroup #Container .groupMap iframe{height: 300px;}
}

/* お問い合わせ */
#PageGroup #Container .groupContact .contents{
    max-width: 1110px;
}
#PageGroup #Container .groupContact__box{
    background: #FDD000;
    color: #000000;
    padding-top: 40px;
    padding-bottom: 30px;
    font-size: 16px;
    line-height: 1.375;
}
#PageGroup .groupContact__box p{
    margin-bottom: 0;
    text-align: center;
	font-size: 14px;
}
#PageGroup #Container .groupContact__box a{
    color: #000000;
    text-decoration: none;
}
#PageGroup #Container .groupContact__box__lead{
    margin-bottom: 1.5em;
    font-weight: bold;
	font-size: 20px;
}
#PageGroup #Container .groupContact__box__btn{
    margin: 1.75em 0;
}
#PageGroup #Container .groupContact__box__btn a{
    display: block;
    padding: 1em 1.5em 0.9em;
    background: #34343A;
    color: #fff;
    border-radius: 3px;
    font-weight: bold;
    font-size: 16px;
    width: 100%;
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
	font-size: 14px;
}
#PageGroup #Container .groupContact__box__btn a:hover{
	background: #fff;
    color: #34343A;}
#PageGroup #Container .groupContact__box__tel{
    margin-bottom: 0;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.05em;
}
#PageGroup #Container .groupContact__box__time{
    font-size: 12px;
}

@media screen and (min-width: 768px) {
    #PageGroup #Container .groupContact__box__lead{font-size: 18px;}
    #PageGroup #Container .groupContact__box{border-radius: 3px; font-size: 16px;}
    #PageGroup #Container .groupContact__box__btn a{font-size: 18px;}
    #PageGroup #Container .groupContact__box__tel a{pointer-events: none; display: inline-block;font-size: 42px;}
}
@media screen and (max-width: 767px) {
    #PageGroup #Container .groupContact {padding-top: 0; padding-bottom: 0;}
    #PageGroup #Container .groupContact .contents{padding-left: 0; padding-right: 0;}
    #PageGroup #Container .groupContact__box{font-size: 14px; padding-left: 15px; padding-right: 15px;}
    #PageGroup #Container .groupContact__box__lead{word-break: break-all; font-size: 16px;}
    #PageGroup #Container .groupContact__box__btn a{font-size: 16px;}
	#PageGroup #Container .groupContact__box__tel a{font-size: 30px;}
}



/*####################　エラーページ　　####################*/
#PageError .errorContents .errorTitle{
    width: 100%;
    text-align: center;
    font-weight: bold;
    margin-bottom: 2em;
}
#PageError .errorContents .errorSubTitle{
    position: relative;
    padding-left: 28px;
    padding-bottom: 0.75em;
    margin-bottom: 1.25em;
    border-bottom: 1px dashed #ccc;
    font-weight: bold;
}
#PageError .errorContents .errorSubTitle:before,
#PageError .errorContents .errorSubTitle:after{
    content: "";
    position: absolute;
    border-radius: 50%;
}
#PageError .errorContents .errorSubTitle:before{
    width: 18px;
    height: 18px;
    left: 0;
    top: 0;
    background: #FDD000;
}
#PageError .errorContents .errorSubTitle:after{
    width: 12px;
    height: 12px;
    left: 3px;
    top: 3px;
    background: #fff;
}

#PageError .errorContents .buttonBox{
    text-align: center;
}
#PageError .errorContents .buttonBox a{
border: solid 1px #222222;
    border-radius: 3px;
    line-height: 1;
    margin: auto;
    margin-top: 15px;
    display: block;
    text-decoration: none;
    text-align: center;
    padding: 1.25em 3em;
}
#PageError .errorContents .buttonBox a:hover { background: #fff; border-color: #ccc; color: #222; transition: 0.5s;}

@media screen and (min-width: 768px) {
    #PageError .errorContents{padding-top: 80px; padding-bottom: 40px;}
    #PageError .errorContents .errorTitle{font-size: 30px;}
    #PageError .errorContents .errorSubTitle{font-size: 18px;}
    #PageError .errorContents p{font-size: 15px; line-height: 1.75;}
}
@media screen and (max-width: 767px) {
    #PageError .errorContents{padding-top: 130px; padding-bottom: 40px;}
    #PageError .errorContents .errorTitle{font-size: 20px;}
    #PageError .errorContents .errorSubTitle{font-size: 16px;}
    #PageError .errorContents p{font-size: 14px;}
}




/*####################　ブログに移転調整用：各ページより転用　　####################*/
/*PageCsrNews*/
#PageNewsRelease.term-csr #News .entry a .fa-external-link{margin-left: 5px;}

#PageNewsRelease.term-csr #News .entry p img.autosize { max-width: none; }
#PageNewsRelease.term-csr #News .photo{margin-left:0;}
#PageNewsRelease.term-csr #News .photo li{list-style: none;}
#PageNewsRelease.term-csr #News .photo li img { max-width: 220px; margin: 0;}
#PageNewsRelease.term-csr #News #c20151126 img { max-width: 350px; }
#PageNewsRelease.term-csr #News #c20150808 .photo img { max-width: 220px; }
#PageNewsRelease.term-csr #News .a1301 .photo img,
#PageNewsRelease.term-csr #News .a1302 .photo img,
#PageNewsRelease.term-csr #News .a1303 .photo img { max-width: 280px; }
#PageNewsRelease.term-csr #News #c20140828 .photo img { max-width: 280px; }
#PageNewsRelease.term-csr #News #c20151125 p img { max-width: 330px; }
#PageNewsRelease.term-csr #News #c20150801 p img,
#PageNewsRelease.term-csr #News #c20150629 p img { max-width: 350px; }
#PageNewsRelease.term-csr #News #c20191122 p.imgBox img { height: auto; width: 692px; max-width: 100%;}
#PageNewsRelease.term-csr #News #c20191122 .photo img { width: 220px; height: auto; max-width: 100%;}
#PageNewsRelease.term-csr #News .comment{font-size: 88%; position: relative; padding-left: 0.85em;}
#PageNewsRelease.term-csr #News .comment:before{
    content: "*";
    position: absolute;
    top: 2px;
    left: 0;
}

@media screen and (min-width: 768px) {
    #PageNewsRelease.term-csr #News .entry p img { width: 46%; height: auto; display: inline-block; vertical-align: top;}
    #PageNewsRelease.term-csr #News .entry p img.autosize { width: auto; max-width: 100%; height: auto; }
    #PageNewsRelease.term-csr #News .photo li { width: 31%; }
    #PageNewsRelease.term-csr #News .photo li:nth-child(3n + 1){clear: both;}
    #PageNewsRelease.term-csr #News #c20150808 .photo li:nth-of-type(1) { width: 30.9%; }
}
@media screen and (max-width: 767px) {
    #PageNewsRelease.term-csr #News .entry .pic img {
        display: block;
        margin: 0 auto;
        margin-bottom: 10px;
    }
}

/*#Sdgs*/
#PageNewsRelease.term-csr #Sdgs .imgBox{text-align: center;}
#PageNewsRelease.term-csr #Sdgs .imgBox + p{
    text-align: center;
    color: #00a0e9;
    font-weight: bold;
    line-height: 1.75;
    letter-spacing: 0.05em;
}

#PageNewsRelease.term-csr #Sdgs .LeftRightBorderTitle{
    position: relative;
    text-align: center;
    margin-bottom: 0;
}
#PageNewsRelease.term-csr #Sdgs .LeftRightBorderTitle span{
    display: inline-block;
    position: relative;
    z-index: 1;
    background: #f6f6f6;
    font-weight: bold;
}
#PageNewsRelease.term-csr #Sdgs .LeftRightBorderTitle:after{
    content: "";
    display: block;
    border-bottom: 2px solid #00a0e9;
    position: relative;
}

#PageNewsRelease.term-csr #Sdgs .sdgsProject:after{
    content: "";
    display: block;
    clear: both;
}
#PageNewsRelease.term-csr #Sdgs .sdgsProject .left img{
    width: 100%;
    height: auto;
    display: block;
}


@media print, screen and (min-width: 768px) {
    #PageNewsRelease.term-csr #Sdgs .imgBox{margin: 55px 0 80px;}
    #PageNewsRelease.term-csr #Sdgs .imgBox + p{ margin-bottom: 50px; font-size: 20px;}

    #PageNewsRelease.term-csr #Sdgs .copy{
        margin-bottom: 60px;
        font-size: 14px;
        line-height: 1.742857;
    }

    #PageNewsRelease.term-csr #Sdgs .LeftRightBorderTitle span{
        margin-bottom: 22px;
        padding: 0 20px;
        font-size: 19px;
        letter-spacing: 0.2em;
    }
    #PageNewsRelease.term-csr #Sdgs .LeftRightBorderTitle:after{bottom: 39px;}

    #PageNewsRelease.term-csr #Sdgs .sdgsProject{margin-bottom: 50px;}
    #PageNewsRelease.term-csr #Sdgs .sdgsProject .left{font-size: 0;}
    #PageNewsRelease.term-csr #Sdgs .sdgsProject .left img{
        margin-bottom: 20px;
        display: inline-block;
        width: 48%;
    }

    #PageNewsRelease.term-csr #Sdgs .sdgsProject .left img + img{margin-left: 4%;}

    #PageNewsRelease.term-csr #Sdgs .sdgsProject .right{}

    #PageNewsRelease.term-csr #Sdgs .sdgsProject .right p{font-size: 13px; line-height: 1.84615;}
    #PageNewsRelease.term-csr #Sdgs .sdgsProject .right .blueImgTitle{margin-bottom: 8px;}
    #PageNewsRelease.term-csr #Sdgs .sdgsProject .right .blueImgTitle img{
        width: auto;
        max-height: 18px;
        max-width: 100%;
        margin: 0;
    }
}
@media screen and (max-width: 767px) {
    #PageNewsRelease.term-csr #Sdgs .imgBox{margin: 30px 0 60px;}
    #PageNewsRelease.term-csr #Sdgs .imgBox + p{ margin-bottom: 40px; font-size: 15px; }
    #PageNewsRelease.term-csr #Sdgs .copy{
        margin-bottom: 60px;
        font-size: 14px;
        line-height: 1.742857;
    }

    #PageNewsRelease.term-csr #Sdgs .imgBox img{max-width: 450px; height: auto;}
    #PageNewsRelease.term-csr #Sdgs .LeftRightBorderTitle span{
        margin-bottom: 15px;
        padding: 0 15px;
        font-size: 18px;
        letter-spacing: 0.05em;
    }
    #PageNewsRelease.term-csr #Sdgs .LeftRightBorderTitle:after{bottom: 30px;}

    #PageNewsRelease.term-csr #Sdgs .sdgsProject{
        max-width: 450px;
        margin-bottom: 60px;
        margin-left: auto;
        margin-right: auto;
    }
    #PageNewsRelease.term-csr #Sdgs .sdgsProject .left img{margin-bottom: 15px;}

    #PageNewsRelease.term-csr #Sdgs .sdgsProject .right p{font-size: 14px; line-height: 1.84615;}
    #PageNewsRelease.term-csr #Sdgs .sdgsProject .right .blueImgTitle{margin-bottom: 8px;}
    #PageNewsRelease.term-csr #Sdgs .sdgsProject .right .blueImgTitle img{
        width: auto;
        max-height: 18px;
        max-width: 100%;
        margin: 0;
    }
    #PageNewsRelease.term-csr #Sdgs .sdgsProject .right .blueImgTitle.rows2 img{
        max-height: 41px;
    }
}


/*#projection*/
#PageNewsRelease #projection {
    max-width: 650px;
    width: 100%;
    margin: 0 auto;
}
#PageNewsRelease #projection h3 img { max-width: 561px; }
#PageNewsRelease #projection .m_img { margin-bottom: 15px; }
#PageNewsRelease #projection .m_img img { max-width: 644px; margin-top: 0; margin-bottom: 0;}
#PageNewsRelease #projection .sokai_line {
    clear: both;
    margin: 30px auto;
    height: 1px;
    width: 100%;
    border-bottom: #ccc dotted 1px;
}
#PageNewsRelease #projection .p_box img { max-width: 308px; margin-top: 0; margin-bottom: 0;}
#PageNewsRelease #projection .p_box2  img  { max-width:100%; margin-top: 0; margin-bottom: 0;}
#PageNewsRelease #projection .p_box:after,
#PageNewsRelease #projection .p_box2:after {
    content: "";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
}
#PageNewsRelease #projection .p_box p {
    padding: 0 5px 15px 5px;
    margin-top: 0px;
    margin-bottom: 0;
}
#PageNewsRelease #projection .p_box2 p {
	padding:0 0 15px;
	margin-top:0px;
    margin-bottom: 0;
}
#PageNewsRelease #projection .p_box p.nop,
#PageNewsRelease #projection .p_box2 p.nop { padding-bottom: 0; }
#PageNewsRelease #projection .fin_p {
    clear: both;
    padding-top: 25px;
    margin-bottom: 10px;
}
#PageNewsRelease #projection .fin_p img { max-width: 644px; }
#PageNewsRelease #projection a.news_link { color: #0033CC; }
span.newsicon {
    background: #F33;
    color: #fff;
    font-size: 9px;
    font-family: Tahoma, Geneva, sans-serif;
    padding: 2px 5px;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    line-height: 100%;
    vertical-align: middle;
}
#PageNewsRelease #projection .imageBox img{display: block; width: 100%; height: auto;}
#PageNewsRelease #projection h3 img{margin: 0;}

#PageNewsRelease #projection h4 {
    border-bottom:solid 3px #dddddd;
    padding-bottom:5px;
    color:#222222;
    font-size:22px;
    font-weight:bold;
    margin:35px 0 20px;
}

#PageNewsRelease #projection h4:before {
    content:"|";
    font-weight:bold;
    margin-right:10px;
    color:#FDD000;
}



@media screen and (min-width: 768px) {
    #PageNewsRelease #projection .p_box,
    #PageNewsRelease #projection .p_box2 {
        max-width: 650px;
        width: 100%;
    }
    #PageNewsRelease #projection .p_box .p_left,
    #PageNewsRelease #projection .p_box2 .p_left {
        float: left;
        width: 47.38461538461538%;
        margin-right: 25px;
    }
    #PageNewsRelease #projection .p_box2.mr35 + .p_box2.mr35{margin-top: 15px;}
    #PageNewsRelease #projection .p_box2.mr35 .p_left {margin-right: 35px;}
    #PageNewsRelease #projection .p_box .p_right
    #PageNewsRelease #projection .p_box2 .p_right {
        float: right;
        width: 47.38461538461538%;
        text-align: left;
        zoom: 100%;
    }
    #PageNewsRelease #projection .p_box .sp,
    #PageNewsRelease #projection .p_box2 .sp { display:none;}
    #PageNewsRelease #projection .p_box .pc,
    #PageNewsRelease #projection .p_box2 .pc { display:block;}

	#PageNewsRelease #projection .imageBox{margin-bottom: 25px;}
	#PageNewsRelease #projection .imageBox:after{
		content:"";
		display: block;
		clear: both;
	}
	#PageNewsRelease #projection .imageBox > div{width: 48%;}
	#PageNewsRelease #projection .imageBox .left{float: left;}
	#PageNewsRelease #projection .imageBox .right{float: right; margin-left: 4%;}
}

@media screen and (max-width: 767px) {
    #PageNewsRelease #projection .p_box { text-align: center; }
    #PageNewsRelease #projection .p_box p,
    #PageNewsRelease #projection .p_box2 p {
        text-align: left;
        max-width: 308px;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
        margin: 0 auto;
    }
    #PageNewsRelease #projection .p_box .sp,
    #PageNewsRelease #projection .p_box2 .sp { display:block;}
    #PageNewsRelease #projection .p_box .pc,
    #PageNewsRelease #projection .p_box2 .pc { display:none;}

    #PageNewsRelease #projection .p_box2.mr35 + .p_box2.mr35{margin-top: 15px;}
    #PageNewsRelease #projection .p_box2.mr35 .p_right {margin-top: 15px;}
    #PageNewsRelease #projection .imageBox > div{margin-bottom: 1em;}
}


/*Sdgs*/
#PageSdgs {}
#PageSdgs h3.titleBold {
	font-size: 2.5rem;
	text-align: center;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝 Medium", "YuMincho Medium", "游明朝", YuMincho, "HG明朝B", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
#PageSdgs p.alignright { text-align: right;}
#PageSdgs h4.titleBold {
    font-size: 1.5rem;
	font-weight: bold;
    margin-bottom: 1.25em;
    letter-spacing: 0.06em;
	text-align: center;
	margin-top: 50px;
}


#PageSdgs .buttonBox.youtube img { margin-bottom: 10px;}
#PageSdgs .buttonBox.youtube a {
    padding: 1.75em 1em;
    border-radius: 10px;
    display: block;
    border: 1px solid #ddd;
}
#PageSdgs .sunflex.activities {width:790px; margin: 0 auto 3em;}
#PageSdgs .sunflex.activities .buttonBox {width:380px;}
#PageSdgs .buttonBox.youtube {margin:0; text-align: center;}
#PageSdgs .buttonBox.sdgs {margin:0; text-align: center;}
#PageSdgs .buttonBox.sdgs a:hover {opacity:0.6;}

@media screen and (max-width: 767px) {
#PageSdgs .sunflex.activities {width:auto;}
#PageSdgs .sunflex.activities .buttonBox {width:100%; max-width: 380px; margin:auto;}
#PageSdgs .sunflex.activities .buttonBox + .buttonBox {margin-top:10px;}
}




@media screen and (max-width: 767px) {
	#PageSdgs h4.titleBold { font-size: 1.1rem;}
	#PageSdgs h5.bgTitle.gray.textGreen { text-align: center;}
    #PageSdgs .buttonBox .button{
        padding: 0.5em 0.5em;
        width: 320px;
        max-width: 100%;
    }
	#PageSdgs .buttonBox.youtube{max-width: 300px;}
    #PageSdgs .buttonBox.youtube a{padding: 1.75em 0.75em; border-radius: 5px;}
    #PageSdgs .buttonBox.youtube img{margin-bottom: 0.5em; width: 100px; height: auto;}
}

#PageSdgs h5.bgTitle.gray.textGreen {
	margin-top: 1.5em;
	padding: 1em 2em;
    font-size: 1.4rem;
    margin-bottom: 1.75em;
	background: #ffffff;
	color: #01adaa;
}
#PageSdgs .sdgsIcon {
    display: flex;
    justify-content: center;
}
@media print, screen and (min-width: 768px) {
    #PageSdgs .sdgsIcon{margin: 2.5em 0 3em;}
    #PageSdgs .sdgsIcon li{width: 120px;}
    #PageSdgs .sdgsIcon li + li{margin-left: 10px;}
}
@media screen and (max-width: 767px) {
    #PageSdgs .sdgsIcon{margin: 2em 0 2em;}
    #PageSdgs .sdgsIcon li{width: 55px;}
    #PageSdgs .sdgsIcon li + li{margin-left: 5px;}
    #PageSdgs .sdgsIcon li img{width: 100%; height: auto;}
}
/*  sdgsDetail
-------------------------------------*/
#PageSdgs .sdgsDetail{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#PageSdgs .sdgsDetail li .title{
    text-align: center;
    margin-top: 0.85em;
    margin-bottom: 0.3em;
    color: #01adaa;
}

@media print, screen and (min-width: 768px) {
    #PageSdgs .sdgsDetail:after{
        content: "";
        display: block;
        width: 320px;
    }
    #PageSdgs .sdgsDetail li{width: 320px; margin-bottom: 35px;}
    #PageSdgs .sdgsDetail li .title{font-size: 1.2rem;}
    #PageSdgs .sdgsDetail li .text{max-width: 290px; margin-left: auto; margin-right: auto;}
}
@media screen and (max-width: 767px) {
    #PageSdgs .sdgsDetail li{width: 48%; margin-bottom: 2em;}
    #PageSdgs .sdgsDetail li img{width: 100%; height: auto;}
    #PageSdgs .sdgsDetail li .title{font-size: 1rem;}
    #PageSdgs .sdgsDetail li .text{font-size: 0.85rem;}
}

/*  #PageRecruit 採用情報トップ
-------------------------------------*/
#pageRecruit{}

@media print, screen and (min-width: 768px) {
	#PageRecruit .left-area {width: 560px;}
	#PageRecruit .section {
	position: relative;
	width: 100%;
	max-width: 1110px;
	margin: 0 auto;
	padding: 80px 0px;
	display: flex;
	gap: 80px;
	align-items:flex-start;
	background-image: url("../img/contents/recruit/triangle-bg.png");
	background-repeat: no-repeat;
    background-position: right 10px;
}
	#PageRecruit .right-area h3 {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 30px;
	}
	#PageRecruit .right-area {
	flex: 1;
	position: relative;
	padding: 40px 0 20px;
	}
	#PageRecruit .left-area h2 {
	font-size: 40px;
	margin-bottom: 8px;
	font-weight: bold;
	}
	#PageRecruit .left-area .subtitle {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 60px;
	}
	#PageRecruit .entry-section {
	background: #fff;
	text-align: center;
	padding: 60px 20px;
	}
	.entry-section .entry-title {
	font-size: 40px;
	margin-bottom: 30px;
	font-weight: 600;
	}
	.entry-section h4{
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 20px;
	}
	
.entry-section .entry-text {
	font-size: 15px;
	color: #34343A;
	line-height: 1.8;
	margin-bottom: 40px;
	}
	#PageRecruit .section-occupation h4 {
	font-size: 28px;
	font-weight: 600;
	margin-bottom: 4px;
	text-align: center;
	}
	#PageRecruit .section-occupation {
	padding: 60px 0 90px;
	background: #F7F7F7;
	}
}
@media screen and (max-width: 767px) {
	#PageRecruit .right-area h3 {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 30px;
	}
	#PageRecruit .right-area {
	flex: 1;
	position: relative;
	padding: 20px 0 0px;
	}
	#PageRecruit .left-area h2 {
	font-size: 28px;
	margin-bottom: 0px;
	font-weight: bold;
	}
	#PageRecruit .section{padding: 30px 15px;}
	#PageRecruit .left-area .subtitle {
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 30px;
	}
	#PageRecruit .entry-section {
	background: #fff;
	text-align: center;
	padding: 40px 0px;
	}
	.entry-section .entry-title {
	font-size: 30px;
	margin-bottom: 10px;
	font-weight: 600;
	}
.entry-section h4{
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 20px;
	}
	
.entry-section .entry-text {
	font-size: 15px;
	color: #34343A;
	line-height: 1.8;
	margin-bottom: 20px;
	}
	#PageRecruit .section-occupation h4 {
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 4px;
	text-align: center;
	}
	#PageRecruit .section-occupation {
	padding: 40px 0 60px;
	background: #F7F7F7;
	}

}




#PageRecruit .image-box img {
	width: 100%;
	border-radius: 4px;
	}


#PageRecruit .right-area p {
	line-height: 1.9;
	margin-bottom: 18px;
	}


/*  募集要項ここから
-------------------------------------*/

#PageRecruit .section-occupation .contents{
	max-width: 1110px;
	margin: auto;
}



#PageRecruit .section-occupation .subtitle {
	font-size: 12px;
	color: #999;
	letter-spacing: 2px;
	margin-bottom: 40px;
	text-align: center;
	}
#PageRecruit h5.job-list-title {
font-size: 20px;
font-weight: 600;
position: relative;
padding-left: 16px;
margin-bottom: 24px;
}

#PageRecruit h5.job-list-title::before {
content: "";
width: 4px;
height: 20px;
background: #f3c400;
position: absolute;
left: 0;
top: 4px;
border-radius: 2px;
}

/* 職種一覧 */
#PageRecruit .job-list-section {
	width: 100%;
	display: flex;
	justify-content: center;
	}

#PageRecruit .job-list-inner {
	width: 1110px;
	text-align: left;
	}

#PageRecruit .job-list-title {
	font-size: 20px;
	font-weight: bold;
	position: relative;
	padding-left: 16px;
	margin-bottom: 24px;
	}

#PageRecruit .job-list-title::before {
	content: "";
	width: 4px;
	height: 20px;
	background: #f3c400;
	position: absolute;
	left: 0;
	top: 4px;
	border-radius: 2px;
	}


#PageRecruit .job-grid a{color: #34343A;text-decoration: none;}
#PageRecruit .job-grid a:hover{color: #999; text-decoration: none;}

#PageRecruit .job-grid .job-img {font-size: 0;}

.job-card-body {padding: 16px;}
#PageRecruit.job-dept {
	font-size: 13px;
	color: #666;
	margin-bottom: 4px;
	text-decoration:none;
	}

#PageRecruit .job-name {
	font-size: 15px;
	font-weight: bold;
	}

#PageRecruit .job-card:hover {
	background: #FDD000;
	color: #000;
	text-decoration: none!important;
	border: 1px solid #000;
	}

/* Entry セクション */





.entry-section .entry-btn {
	display: inline-block;
	padding: 14px 36px;
	background: #34343A;
	color: #fff;
	font-weight: bold;
	border-radius: 4px;
	text-decoration: none;
	}
.entry-section .entry-btn:hover{
	background: #FDD000;
	color: #34343A;
}

/* ヘッダータイトル */
@media print, screen and (min-width: 768px) {
	
	#PageRecruit .headerTitle {
		background-image: url("/common/img/header/title_wall.png");
		}
	.job-title h3{
	font-size: 22px;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 1em;
	}
	/* 採用見出し */
.job-title {
	margin: 0 0 50px;
	padding-bottom: 20px;
	border-bottom: 1px solid #E9E9E9;
	}
	.recruitDetail h4{
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 1em;}
	.job-title .all-link {margin: 0px;text-align: right;}
}
@media screen and (max-width: 767px) {
	#PageRecruit .headerTitle {	background-image: url("/common/img/header/title_wall-sp.png");	}
	.job-title h3{
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 1em;
	}
	/* 採用見出し */
.job-title {
	margin: 0 0 30px;
	padding-bottom: 20px;
	border-bottom: 1px solid #E9E9E9;
	}
	.recruitDetail h4{
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 0.5em;}
	
	#PageRecruit table.borderBox.borderSolid{margin-top: 0px!important;}
	#PageRecruit table.borderBox.borderSolid th{width: 18%;}
	#PageRecruit table.borderBox.borderSolid th,
	#PageRecruit table.borderBox.borderSolid td{padding: 0.4em; font-size: 14px;}
	.job-title .all-link {margin: 0 0 1em 0;text-align: right;}
}




.job-title .tag {
	display: inline-block;
	padding: 2px 6px 3px;
	border: 1px solid #FDD000;
	border-radius: 2px;
	margin:0 4px 4px 0;
	font-size: 12px;
	}


.job-title .all-link a {font-size: 15px; color: #3A83D0; }
.job-title .all-link a:hover{text-decoration: none;color: #999;}



.recruitDetail p{margin-bottom: 2em;}
.recruitDetail p.sample{ margin-bottom: 0!important; font-size: 13px;}

#PageRecruit input.mt10{margin-top: 10px;vertical-align: baseline;}
#PageRecruit .entrybtn { margin-top:5em;}
#PageRecruit .entrybtn a {
    background:#FDD000;
    color:#ffffff;
    text-decoration:none;
    padding:20px 40px;
    border-radius:4px;
}
#PageRecruit .entrybtn a:hover {
    opacity:0.7;
}


@media print, screen and (min-width: 768px) {
	.pageContents{
		width: 900px;
        margin: 0 auto 90px;
        padding: 0;}
	
	#PageRecruit .job-card {
	display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 3px 10px rgba(0,0,0,0.08);
	overflow: hidden;
	border: 1px solid #eee;
	}
	#PageRecruit .job-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	}
	#PageRecruit .job-card img {
	width: 120px;
	height: 120px;
	object-fit: cover;
	}
	.entryinfo .apply h4 {
	font-size: 18px;
	font-weight: bold;
}

}
@media screen and (max-width: 767px) {
	/*.pageContents{	padding: 0 15px;}*/
	#PageRecruit .job-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
	#PageRecruit .job-card {
		background: #fff;
		border-radius: 4px;
		box-shadow: 0 3px 10px rgba(0,0,0,0.08);
		overflow: hidden;
		border: 1px solid #eee;
	}
	#PageRecruit .job-card img {
	width: 100%;
	height: 120px;
	object-fit: cover;
	}
	.entryinfo .apply h4 {
	font-size: 16px;
	font-weight: bold;
	}
	.recruitDetail table{width: 100%;margin: 0 0 2em 0;}
	.innerTable th{background: none;}

}

/*  採用情報エントリーフォームここから
-------------------------------------*/
.entryinfo{}
.entryinfo .apply {
	background: #F6F6F6;
	padding: 1.5em 1.5em 1.0em;
	margin-bottom: 2em;
}

.content.entryinfo.entryform {
    margin-top: -3.5em;
}

.borderHorizon .innerTable{margin-bottom: -10px;}
.borderHorizon .innerTable th{width: 80px!important; font-size: 14px;background: none;}
.borderHorizon .innerTable th,
.borderHorizon .innerTable td,
.borderHorizon .innerTable td:before {
    border:none!important;
	padding: 0 0.7em 0.7em 0;
    vertical-align: middle;
}



/*************************

新規追加

*************************/

.yellowUnderLineTitle.left {
	position: relative;
	text-align: left;
	font-size: 22px;
	font-weight: bold;
	margin: 1em 0 2em;
}

.yellowUnderLineTitle.left:before {
    content: "";
    width: 40px;
    height: 2px;
    position: absolute;
    bottom: -15px;
    left: 0.9em;
    background-color: #FDD000;
}

@media screen and (max-width: 767px) {
    .yellowUnderLineTitle.left{font-size: 20px;}
}

.yellowUnderLineTitle {
	position: relative;
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 2em;
}

.yellowUnderLineTitle:before {
    content: "";
    width: 40px;
    height: 2px;
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #FDD000;
}
