@charset "UTF-8";

#main {
	padding-bottom:0;
}

#companyinfo .contents {
}
#companyinfo .contents .fv {
	width:100%;
	background:url(../img/company/company/mv.jpg) no-repeat center bottom;
	background-size:cover;
	margin-bottom:30px;
}
#companyinfo .contents .fv h2 {
	width:100%;
	line-height:1.5;
	text-align:center;
	font-size:3.0rem;
	color:#FFFFFF;
	margin:0;
	padding:4.5em 0;
	border:none;
	text-shadow:0 0 6px #000000;
}
#companyinfo .contents .linkbox {
	width:100%;
}
#companyinfo .contents .linkbox > a {
	width:calc(100%/3 - 20px);
	margin-bottom:30px;
	transition:.3s;
}
#companyinfo .contents .linkbox > a:hover {
	opacity:.66;
}
#companyinfo .contents .linkbox a.greeting {
	width:100%;
	margin-bottom:30px;
}
#companyinfo .contents .linkbox a.greeting:hover {
    opacity:1;
}
#companyinfo .contents .greeting > .btn {
	display:none;
}
#companyinfo .contents .greeting .fbox {
	width:100%;
	background:url(../img/company/company/president.png) no-repeat right 50px bottom,url(../img/company/company/mv2.jpg) no-repeat center center;
	background-size:auto 95%,cover;
	box-sizing:border-box;
	padding:100px 50px;
}
#main #companyinfo .contents .greeting .fbox p {
}
#main #companyinfo .contents .greeting .fbox p.body {
	font-family: 游明朝,"Yu Mincho",YuMincho,'Noto Serif JP', "Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
	font-size:2.7rem;
	/*font-size:3.6rem;*/
	font-weight:500;
	margin:0 0 .5em;
	letter-spacing:.1em;
	line-height:1.3;
	text-shadow:0 0 5px rgba(255,255,255,1),0 0 7px rgba(255,255,255,1),0 0 9px rgba(255,255,255,1),0 0 11px rgba(255,255,255,1);
}
#main #companyinfo .contents .greeting .fbox p.name {
	font-size:2.0rem;
	font-weight:600;
	margin:0 0 1.5em;
}
#main #companyinfo .contents .greeting .fbox p.name span {
	display:inline-block;
	font-size:1.5rem;
	font-weight:500;
	margin-right:1.5em;
}
#main #companyinfo .contents .greeting .btn {
	cursor:pointer;
	font-size:1.6rem;
	line-height:1;
	background:#204b8d;
	color:#FFFFFF;
	box-sizing:border-box;
	padding:.9em 3em;
	border-radius:1.5em;
	transition:.3s;
	border:2px solid #204b8d;
}
#main #companyinfo .contents .greeting .btn .svg-inline--fa {
    margin-right:1.5em;
    margin-left:-1em;
}
#main #companyinfo .contents .greeting .btn:hover {
    background:#FFFFFF;
    color:#204b8d;
}

#companyinfo .contents .greeting .fbox img {
	width:35%;
	margin-top:30px;
}
#companyinfo .contents .linkbox > a .img {
	width:100%;
	padding-bottom:50%;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
}
#companyinfo .contents .linkbox > a:nth-child(2) .img {
	background-image:url(../img/company/company/img1.jpg);
}
#companyinfo .contents .linkbox > a:nth-child(3) .img {
	background-image:url(../img/company/company/img2.jpg);
}
#companyinfo .contents .linkbox > a:nth-child(4) .img {
	background-image:url(../img/company/company/img3.jpg);
}
#companyinfo .contents .linkbox > a:nth-child(5) .img {
	background-image:url(../img/company/company/img4.jpg);
}
#companyinfo .contents .linkbox > a:nth-child(6) .img {
	background-image:url(../img/company/company/img5.jpg);
}
#companyinfo .contents .linkbox > a:nth-child(7) .img {
	background-image:url(../img/company/company/img6.jpg);
}
#main #companyinfo .contents a > p {
    font-size:2.0rem;
	font-weight:600;
    text-align:center;
    line-height:1;
    box-sizing:border-box;
    padding:.5em;
    background:#204b8d;
    color:#FFFFFF;
    margin:0;
}


/**about**/
#greeting .contents > div {
	max-width:800px;
	margin:0 auto 90px;
	position:relative;
}
#greeting .contents > div img {
	width:60%;
	display:block;
	margin-left:40%;
	position:relative;
	z-index:1;
}
#greeting .contents > div dl {
    background: #204b8d;
    display:inline-block;
    line-height:1;
    padding:80px 160px 30px 30px;
    position:absolute;
    z-index:1;
    left:-60px;
    bottom:-50px;
}
#greeting .contents > div dl dt {
	font-size:3.0rem;
    color:#FFFFFF;
    margin-bottom:1em;
}
#greeting .contents > div dl dd {
	font-size:2.6rem;
    color:#FFFFFF;
}
#main #greeting .contents p.sign {
	text-align:right;
}
#greeting .contents p.sign img {
	width:100px;
}

#about .wrap.about {
	background:#EFEFEF;
	padding:60px 0;
}
#about .wrap.about table {
	border-collapse:collapse;
	width:100%;
	font-size:2.4rem;
	background:#FFFFFF;
	line-height:1.5;
}
#about .wrap.about table tr:not(:last-child) {
	border-bottom:10px solid #EFEFEF;
}
#about .wrap.about table th {
	box-sizing:border-box;
	width:12em;
	padding:1em 2em;
}
#about .wrap.about table td {
	padding:1em;
}

#about .wrap.about2 {
	padding:90px 0 30px;
}
#about .wrap.about2 .fbox {
	width:100%;
}
#about .wrap.about2 .fbox > div {
	width:calc(50% - 10px);
	margin-bottom:60px;
}
#about .wrap.about2 .fbox > div h3 {
	font-size:1.8rem;
	color:#333333;
	margin-bottom:1.5em;
	padding-left:.5em;
	border-left:3px solid #204b8d;
}
#about .wrap.about2 .fbox > div table {
	border-collapse:collapse;
	width:100%;
	line-height:1.5;
}
#about .wrap.about2 table th {
	padding:0.5em 1em;
	text-align:center;
	background:#EFEFEF;
	border:1px solid #CCCCCC;
}
#about .wrap.about2 table td {
	padding:0.5em 1em;
	border:1px solid #CCCCCC;
}

#outline table {
	border-collapse:collapse;
	width:100%;
	line-height:1.5;
}
#outline table tr {
	border-bottom:2px solid #cccccc;
}
#outline table th {
	padding:1em;
	width:15em
}
#outline table td {
	padding:1em;
}


/****/
#purpose .wrap {
	padding-bottom:45px;
}
#purpose ol {
	list-style:decimal;
	max-width:800px;
	margin:0 auto;
}
#purpose ol li {
	font-size:1.8rem;
	list-style-position:inside;
	line-height:1.5;
	margin-bottom:.5em;
}
#business table {
	border-collapse:collapse;
	width:100%;
	max-width:800px;
	margin:0 auto;
	line-height:1.5;
}
#business table th {
	box-sizing:border-box;
	width:8em;
	text-align:center;
	padding:0.5em 1em;
	text-align:center;
	background:#EFEFEF;
	border:1px solid #CCCCCC;
}
#business table td {
	padding:0.5em 1em;
	border:1px solid #CCCCCC;
}

#iso .contents .fv {
	padding-top:30%;
	background:url(../img/company/quality/mv.jpg) no-repeat center center;
	background-size:cover;
	margin-bottom:90px;
}

#iso h3 {
	color:#333333;
	border-bottom:1px solid #333333;
	padding-bottom:.3em;
}
#main #iso h3 + p {
	margin-bottom:2em;
}
#main #iso dt {
	font-size:1.8rem;
	color:#FFFFFF;
	background:#204b8d;
	display:inline-block;
	line-height:2;
	padding:0 1em;
	margin-bottom:.5em;
}
#main #iso dd {
	line-height:1.8;
	margin-bottom:1.5em;
}

#iso2 .wrap {
	background:#EFEFEF;
	padding:60px 0;
}
#iso2 .wrap .contents > div {
	box-sizing:border-box;
	background:#FFFFFF;
	padding:30px;
}
#iso2 .wrap .contents > div:first-child {
	margin-bottom:30px;
}
#iso2 h3 {
	color:#333333;
	border-bottom:1px solid #333333;
	padding-bottom:.3em;
}
#main #iso2 .wrap .contents > div p:last-child {
	margin-bottom:0;
}
#main #iso2 .wrap .contents > div p {
	margin-bottom:2em;
}
#iso2 ol {
	list-style:decimal;
	margin-bottom:2em;
}
#iso2 li {
	list-style-position:inside;
	line-height:1.5;
}
#iso2 + #link .wrap {
	padding-top:150px;
}

#main #csr .contents > p {
    font-size:2rem;
}
#csr .contents .fv {
	padding-top:40%;
	background:url(../img/company/csr/mv.jpg) no-repeat center center;
	background-size:cover;
	margin-bottom:90px;
}
#csr .contents ol {
	padding:30px;
	box-sizing:border-box;
	border:3px solid #204b8d;
	border-radius:8px;
	margin-bottom:30px;
}
#csr .contents ol > li {
	font-size:2rem;
	font-weight:600;
	line-height:1.8;
	margin-bottom:.5em;
	list-style:decimal;
	margin-left:2em;
}
#csr .contents ol ul > li {
	font-size:2rem;
	font-weight:400;
	line-height:1.8;
	list-style:disc;
	margin-left:1em;
}
#csr .contents dl {
	margin-bottom:60px;
	line-height:1.5;
	box-sizing:border-box;
	padding:15px;
	background:#EFEFEF;
}
#csr .contents dl dt {
    font-size:2.0rem;
    font-weight:600;
    margin-bottom:.5em;
}
#csr .contents dl dd {
    font-size:1.8rem;
}

/****/
#affiliate .contents {
	text-align:center;
}
#affiliate ul {
    width:800px;
    text-align:left;
}
#affiliate li {
	width:50%;
	font-size:1.8rem;
	line-height:1.3;
	margin-bottom:1em;
}
#affiliate li::before {
	content:'・';
}
#affiliate .contents .fbox {
	max-width:800px;
}
#affiliate .contents .fbox > a {
	width:calc(50% - 15px);
	font-size:1.8rem;
	line-height:1.3;
	margin-bottom:1em;
	margin-bottom:30px;
	transition:.3s;
}
#affiliate .contents .fbox > a.nolink {
    pointer-events:none;
}
#affiliate .contents .fbox > a:not(.nolink):hover {
	opacity:.5;
}
#affiliate .contents .fbox > a:nth-child(odd) {
	margin-right:29px;
}
#affiliate .contents .fbox > a img {
	display:block;
	box-sizing:border-box;
	border:5px solid #EFEFEF;
	margin-bottom:10px;
	transition:.3s;
}
#affiliate .contents .fbox > a:not(.nolink):hover img {
	border:5px solid #cccccc;
}
#main #affiliate .contents .fbox > a p {
	line-height:1.3;
	font-size:1.5rem;
	margin:0;
}
#main #affiliate .contents .fbox > a p .svg-inline--fa {
	color:#ff9900;
	margin-left:.5em;
}
#main #affiliate .contents .fbox > a.nolink p .svg-inline--fa {
	display:none;
}

@media screen and (max-width:1200px){


#companyinfo .contents > a:nth-child(even) {
	margin-left:0;
}

}

@media screen and (max-width:768px){

}

@media screen and (max-width:640px){


#companyinfo .contents .fv {
	margin-bottom:15px;
}
#companyinfo .contents .fv h2 {
	font-size:2rem;
	padding:2em 0;
}
#companyinfo .contents .linkbox > a {
	width:calc(100%/2 - 5px);
	margin-bottom:15px;
}
#main #companyinfo .contents a > p {
    font-size:3.4vw;
}

#main #companyinfo .contents .greeting {
	margin-bottom:30px;
}
#main #companyinfo .contents .greeting > .btn {
	display:block;
	width:18em;
	text-align:center;
	padding:.9em 0;
	font-size:4.0vw;
	margin:0 auto;
}
#companyinfo .contents .greeting .fbox .btn {
	display:none;
} 
#companyinfo .contents .greeting .fbox {
	background:url(../img/company/company/president.png) no-repeat right 20px bottom,url(../img/company/company/mv2.jpg) no-repeat center center;
	background-size:auto 71%,cover;
	padding:20px 0 40px 20px;
	margin-bottom:4vw;
}
#main #companyinfo .contents .greeting .fbox p.body {
	font-size:5.4vw;
	margin-bottom:3em;
}
#main #companyinfo .contents .greeting .fbox p.name {
	font-size:4.5vw;
}
#main #companyinfo .contents .greeting .fbox p.name span {
	display:block;
	font-size:3.5vw;
}


/**about**/
#greeting .contents > div {
	margin:0 auto 30px;
}
#greeting .contents > div img {
	width:100%;
	margin:0 auto;
}
#greeting .contents > div dl {
    padding:15px;
    display:block;
    position:relative;
    bottom:0;
    left:0;
}
#greeting .contents > div dl dt {
    margin-bottom:.5em;
    font-size:1.8rem;
}
#greeting .contents > div dl dd {
	font-size:1.6rem;
    color:#FFFFFF;
}

#about .wrap.about {
	padding:30px 0;
}
#about .wrap.about table {
	font-size:1.4rem;
}
#about .wrap.about table th {
	width:6em;
	padding:1em;
}

#about .wrap.about2 {
	padding:30px 0;
}
#about .wrap.about2 .fbox {
	width:100%;
}
#about .wrap.about2 .fbox > div {
	margin-bottom:30px;
	width:100%;
}
#about .wrap.about2 .fbox > div h3 {
	font-size:1.5rem;
}
#about .wrap.about2 .fbox > div table {
	line-height:1.3;
	font-size:1.4rem;
}
#about .wrap.about2 table th {
	padding:0.5em;
	width:7em;
}
#about .wrap.about2 table td {
	padding:0.5em;
}

#outline table {
	line-height:1.3;
	font-size:1.4rem;
}
#outline table th {
	padding:1em 1em 0;
	width:100%;
	box-sizing:border-box;
	display:block;
}
#outline table td {
	padding:.5em 1em 1em;
	width:100%;
	box-sizing:border-box;
	display:block;
}


/****/
#purpose .wrap {
	padding-bottom:30px;
}
#purpose ol li {
	font-size:1.5rem;
	margin-bottom:.3em;
}
#business table th {
	width:6em;
	padding:0.5em;
	font-size:1.4rem;
}
#business table td {
	padding:0.5em;
	font-size:1.4rem;
}

#iso .wrap {
	padding-bottom:15px;
}
#iso .contents .fv {
	padding-top:30%;
	background:url(../img/company/quality/mv.jpg) no-repeat center center;
	background-size:cover;
	margin-bottom:30px;
}
#main #iso h3 + p {
	margin-bottom:1.5em;
}
#main #iso dt {
	font-size:1.6rem;
}
#main #iso dd {
	font-size:1.4rem;
}

#iso2 .wrap {
	padding:30px 0;
}
#iso2 .wrap .contents > div {
	padding:20px;
}
#iso2 .wrap .contents > div:first-child {
	margin-bottom:30px;
}
#iso2 h3 {
	color:#333333;
	border-bottom:1px solid #333333;
	padding-bottom:.3em;
}
#iso2 li {
	font-size:1.4rem;
}
#iso2 + #link .wrap {
	padding-top:45px;
}

#main #csr .contents > p {
    font-size:1.5rem;
}
#csr .contents .fv {
	padding-top:40%;
	margin-bottom:30px;
}
#csr .contents ol {
	padding:15px;
}
#csr .contents ol > li {
	font-size:1.5rem;
	margin-left:1em;
}
#csr .contents ol ul > li {
	font-size:1.4rem;
}
#csr .contents dl {
	margin-bottom:30px;
}
#csr .contents dl dt {
    font-size:1.6rem;
}
#csr .contents dl dd {
    font-size:1.4rem;
}

/****/
#affiliate .contents .fbox > a {
	width:calc(50% - 5px);
	font-size:1.4rem;
	margin-bottom: 15px;
}
#affiliate .contents .fbox > a:nth-child(odd) {
	margin-right:9px;
}
#affiliate .contents .fbox > a img {
	border:3px solid #EFEFEF;
}
#main #affiliate .contents .fbox > a p {
	font-size:1.2rem;
	text-align:left;
	margin:0;
	box-sizing:border-box;
	padding:0 .5em;
}

}

@media screen and (max-width:480px){

}