@charset "utf-8";

/*-----------------------------------
リセット
-----------------------------------*/
*{ margin: 0; padding: 0;}
a { text-decoration : none;}
ul, ol { list-style : none;}
img { border-style:none;}
*, *:before, *:after { box-sizing: border-box; }
body { -webkit-text-size-adjust: 100%; }

/*-----------------------------------
基本設定
-----------------------------------*/

body {
    color:#000;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	
	background-color:#FFF;
	text-align:left;
	font-size:12px;
	line-height: 1.8;
	letter-spacing: 0.08em;
	overflow-x:hidden;
}

a {
	color:#182985;
	transition:0.4s;
}
a:hover {
	color:#FC0;
	transition:0.4s;
}
a:hover img	{
	opacity: 0.5;
	transition:0.4s;
}
a.anchor{
    display: block;
    padding-top: 70px;
    margin-top: -70px;
}

@media screen and (min-width: 641px) {
	.sp { display: none; }
}
@media screen and (max-width: 640px) {
	.pc { display: none; }
}

/*-----------------------------------
Header
-----------------------------------*/
header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	max-width: 1300px;
	width: 82%;
	margin: 0 auto;
	height: 100vh;
	z-index: 2;
}
.logo {
	width: 120px;
	position: absolute;
	top: 115px;
}
.logo img {
	width: 100%;
}
@media screen and (max-width: 640px) {
header {
	width: 90%;
}
.logo {
	width: 100px;
	top: 35px;
}
}

.menu {
	position: absolute;
	bottom: 115px;
	border-left: 1px solid #000;
	padding-left: 25px;
	line-height: 0;
}
@media screen and (max-width: 640px) {
.menu { display: none; }
}

.menu p { margin-bottom: 22px; }
.menu p:last-child { margin-bottom: 0; }

.menu img {
	height: 10px;
}
.full div {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 100vh;
  margin: 0;
}
.full div.main01 {
  background-image: url("../images/top_img1.jpg");
}
.full div.main02 {
  background-image: url("../images/top_img2.jpg");
}
.full div.main03 {
  background-image: url("../images/top_img3.jpg");
}


/*-----------------------------------
conts
-----------------------------------*/
.conts { padding-top: 100px; }
@media screen and (max-width: 640px) {
.conts { padding-top: 80px; }
}

.news,.about {
	max-width: 1300px;
	width: 82%;
	margin: 0 auto 110px auto;
	display: flex;
	justify-content: space-between;
}

h2 {
	width: 25%;
	min-width: 250px;
	height: 130px;
	border-left: 1px solid #000;
	padding-left: 30px;
}
h2 img {
	height: 22px;
}
.txt_area {
	width: 75%;
}
@media screen and (max-width: 640px) {
.news,.about {
	width: 80%;
	margin: 0 auto 80px auto;
	display: block;
}
h2 span {
	padding-bottom: 6px;
	border-bottom: 1px solid #000;
}
h2 {
	width: 100%;
	min-width: auto;
	height: auto;
	border-left: none;
	padding-left: 0;
	text-align: center;
	margin-bottom: 65px;
}
.txt_area {
	width: 100%;
}
}

.news table {
	border: none;
}
.news td {
	text-align: left;
	vertical-align: top;
	padding-bottom: 1.5em;
}
.date {
	padding-right: 2em;
}
.about p {
	line-height: 2.0;
}
@media screen and (max-width: 640px) {
.about p {
	line-height: 1.7;
}
}
.about p:first-child {
	margin-bottom: 3em;
}


.company {
	color: #FFF;
	background-image: url("../images/img_company.jpg");
	background-position: center;
	background-size: cover;
	padding: 430px 0 110px 0;
	margin-bottom: 110px;
}
.company_inner {
	max-width: 1300px;
	width: 82%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.company_inner h2 {
	border-left: 1px solid #FFF;
}
.company_inner .txt_area_in {
	display: flex;
}
.company_inner table {
	border: none;
	margin-bottom: 5em;
}
.company_inner td {
	text-align: left;
	vertical-align: top;
}
.mid { padding-right: 1.5em; white-space: nowrap; }
.company_inner td span {
	padding-left: 2.2em;
}
.txt_area_in .outline { width: 45%; padding-right: 2em; }
.txt_area_in .outline2 { width: 55%; }


@media screen and (max-width: 1115px) {
.company_inner .txt_area_in {
	display: block;
}
.company {
	padding: 110px 0 80px 0;;
}
.txt_area_in .outline,.txt_area_in .outline2 {
	width: 100%;
}
.company_inner table {
	margin-bottom: 3em;
	margin-right: 0;
}
.txt_area_in p {
	margin-bottom: 3em;
}
}
@media screen and (max-width: 640px) {
.company {
	padding: 80px 0 10px 0;
}
.company_inner {
	width: 80%;
	margin: 0 auto 80px auto;
	display: block;
	line-height: 1.5;
}
.company_inner h2 {
	border-left: none;
}
.company_inner h2 span {
	padding-bottom: 6px;
	border-bottom: 1px solid #FFF;
}
}



/*-----------------------------------
Footer
-----------------------------------*/
footer .footer_inner {
	max-width: 1300px;
	width: 80%;
	margin: 0 auto 110px auto;
	display: flex;
	justify-content: space-between;
}
footer .footer_inner img {
	width: 100%;
}
.logo_f {
	width: 120px;
}
.b_contact {
	width: 86px;
}
.copyright {
	font-size: 10px;
	width: 100%;
	text-align: center;
	margin-bottom: 35px;
}

@media screen and (max-width: 640px) {
footer .footer_inner {
	display: block;
}
.logo_f {
	width: 110px;
	margin-bottom: 50px;
}
}
