@charset "utf-8";

/* common
----------------------------------------------- */
.combtn {
	text-align: center;
}
.combtn a {
	display: inline-block;
	width: 170px;
	padding: 15px 0;
	border: 1px #009fe3 solid;
	text-align: center;
	color: #009fe3;
	font-size: 15px;
	-webkit-border-radius: 27px;
	-moz-border-radius: 27px;
	-ms-border-radius: 27px;
	-o-border-radius: 27px;
	border-radius: 27px;
}
.combtn a:hover {
	background: #009fe3;
	color: #fff;
}

/* 404
----------------------------------------------- */
.wrongbox {
	padding: 120px 20px 90px;
}
.wrongcont {
	text-align: center;
}
.wrongtxt {
	line-height: 2;
}
.wrongcont .combtn {
	margin-top: 90px;
}
@media (max-width: 767px) {
.wrongbox {
	padding: 45px 20px;
}
.wrongcont .combtn {
	margin-top: 40px;
}
}


/* top
----------------------------------------------- */
.topheader {
	padding: 40px 40px 50px !important;
}
.topmain {
	margin-bottom: 60px;
}
.topmain img {
	width: 100%;
}
@media (max-width: 767px) {
.topmain {
	margin-bottom: 40px;
}
}

.topabout {
	padding: 100px 20px;
	background: #f5fbfe;
	text-align: center;
	position: relative;
}
.topabout .decorate01 {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}
.topabout .decorate02 {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
}
.topabout .tophd {
	margin-bottom: 60px;
}
h2.tophd {
	font-size: 24px;
	font-weight: 700;
	line-height: 48px;
}


.topabout .topabouttxt {
	line-height: 3;
}
.topabout .topabouttxt p+p {
	margin-top: 40px;
}
.topabout .combtn {
	margin-top: 50px;
}

@media (max-width: 767px) {
.topabout {
	padding: 60px 20px;
}
.topabout .tophd {
	margin-bottom: 30px;
}
.topabout .topabouttxt {
	line-height: 2;
}
.topabout .combtn {
	margin-top: 30px;
}
}

.topworks {
	padding: 90px 20px 0;
	background: #fff;
}
.topworks .tophd {
	text-align: center;
	margin-bottom: 70px;
}
.topworks .combtn {
	margin-top: 60px;
}
.topworks .topworksin {
	max-width: 875px;
	margin: 0 auto;
}
.topworks .topworksin ul {
	overflow: hidden;
	margin: -90px 0 0 -200px;
}
.topworks .topworksin ul li {
	float: left;
	width: 50%;
	text-align: center;
	padding-left: 200px;
	margin-top: 90px;
}
.topworks .topworksimg {
	text-align: center;
}
.topworks .topworkscont {
	font-size: 19px;
	transform: translateY(-50%);
	
}

@media (max-width: 1080px) {
.topworks .topworksin ul {
	margin: -90px 0 0 -100px;
}
.topworks .topworksin ul li {
	padding-left: 100px;
}
}

@media (max-width: 767px) {
.topworks {
	padding: 60px 20px 0;
}
.topworks .tophd {
	margin-bottom: 50px;
}
.topworks .combtn {
	margin-top: 40px;
}
.topworks .topworksin ul {
	overflow: hidden;
	margin: -40px 0 0 0;
}
.topworks .topworksin ul li {
	float: none;
	width: auto;
	padding: 0 30px;
	margin-top: 40px
}
.topworks .topworkscont {
	font-size: 15px;
	
}
}

@media (max-width: 1080px) {
.topsp {
	padding: 35px 0 !important;
}
.toplogosp {
	text-align: center;
}
	.toplogosp img {
/*		width: 180px;*/
		width: 90px;/*2025変更*/
	}
}

/* about
----------------------------------------------- */
.abouttop {
	padding: 120px 20px 80px;
	background: #fff;
}
.abouttop .aboutinner {
	max-width: 1060px;
	margin: 0 auto;
	text-align: center;
	font-size: 16px;
}
.abouttop .abouthd {
	text-align: center;
	margin-bottom: 50px;
}
/*2025追加*/
h3.abouthd {
	font-size: 24px;
	font-weight: 500;
	line-height: 48px;
}

.abouttop .feelcont {
	position: relative;
	padding-bottom: 100px;
}
.abouttop .feelico01 {
	position: absolute;
	top: 15px;
	left: 0;
	z-index: 2;
}
.abouttop .feelico02 {
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 2;
	
}
.abouttop .feeldet p+p {
	margin-top: 20px;
}
.abouttop .feelmean {
	background: url(../images/common/bow.png) center 0 no-repeat;
	padding-top: 115px;
	margin-top: 70px;
	text-align: center;
}
.abouttop .feelmean p+p {
	margin-top: 35px;
}
.abouttop .feelmean span {
	color: #009fe3;
}


@media (max-width: 767px) {
.abouttop {
	padding: 40px 20px 60px;
}
.abouttop .aboutinner {
	font-size: 14px;
}
.abouttop .abouthd {
	margin-bottom: 0;
	padding: 0 20px;
}
.abouttop .feelcont {
	padding: 50px 0 80px;
}
.abouttop .feelico01 {
	top: 0;
	width: 60px;
}
.abouttop .feelico02 {
	width: 60px;
	
}
.abouttop .feeldet p+p {
	margin-top: 15px;
}
.abouttop .feelmean {
	background: url(../images/common/bow_sp.png) center 0 no-repeat;
	padding-top: 60px;
	margin-top: 40px;
}
}

.aboutbtm {
	background: url(../images/about/bg_about.png) 0 0 repeat-x;
	padding: 60px 20px 100px;
}
.aboutbtm .aboutinner {
	max-width: 1280px;
	margin: 0 auto;
}
.aboutbtm .peacecont {
	background: #fff;
	padding: 90px 235px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
}
.aboutbtm .peacecont+.peacecont {
	margin-top: 5px;
}
.aboutbtm .abouthd {
	text-align: center;
	margin-bottom: 90px;
}
.aboutbtm .abouthdm {
	text-align: center;
	font-size: 25px;
	margin-bottom: 70px;
	font-weight: normal;
}
.aboutbtm .abouthdm span {
	position: relative;
}
.aboutbtm .abouthdm span:before {
	position: absolute;
	content: "";
	background: url(../images/about/dot_about.png) center 0 no-repeat;
	width: 100%;
	height: 4px;
	left: 0;
	top: -10px;
	z-index: 2;
}
.aboutbtm .abouthdm b {
	display: inline-block;
	padding-left: 80px;
	font-weight: normal;
	position: relative;
}
.aboutbtm .abouthdm img {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
}
.aboutbtm .peacebox {
	display: table;
	width: 100%;
}
.aboutbtm .peaceimg {
	display: table-cell;
	vertical-align: middle;
	width: 330px;
}
.aboutbtm .peacetxt {
	display: table-cell;
	vertical-align: middle;
	line-height: 2;
	letter-spacing: 1.5px;
}

@media (max-width: 1080px) {
.aboutbtm .peacecont {
	padding: 40px 20px;
}
}
@media (max-width: 767px) {
.aboutbtm {
	padding: 60px 20px;
}
.aboutbtm .abouthd {
	margin-bottom: 60px;
}
.aboutbtm .abouthdm {
	text-align: left;
	font-size: 20px;
	margin-bottom: 20px;
}
.aboutbtm .abouthdm b {
	padding-left: 65px;
}
.aboutbtm .abouthdm img {
	position: absolute;
	left: 0;
	top: 50%;
	bottom: inherit;
	width: 45px;
	transform: translateY(-50%);
}
.aboutbtm .peacebox {
	display: block;
	width: auto;
}
.aboutbtm .peaceimg {
	display: block;
	width: auto;
	text-align: center;
	margin-bottom: 25px;
}
.aboutbtm .peacetxt {
	display: block;
}
}


/* works
----------------------------------------------- */
.worksbox {
	padding: 120px 20px 100px;
}
.worksinner {
	max-width: 1280px;
	margin: 0 auto;
}
.workscont+.workscont {
	margin-top: 5px;
}
.workscont {
	background: #fff;
	padding: 90px 200px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
}
.worksarea {
	display: table;
	width: 100%;
}
.worksimg {
	display: table-cell;
	vertical-align: middle;
	width: 470px;
}
.workstxt {
	display: table-cell;
	vertical-align: middle;
	line-height: 2;
}
.workshd {
	font-size: 25px;
	margin-bottom: 15px;
	line-height: 1.5;
}
.worksnote {
	padding-top: 60px;
	margin-top: 20px;
	text-align: center;
	background: url(../images/common/bow.png) center 0 no-repeat;
}
.worksnote .notelist {
	display: inline-block;
	text-align: left;
}
.worksnote .notetit {
	font-size: 13px;
	margin-bottom: 15px;
}
.worksnote .notelist li {
	background: url(../images/works/mark_works.png) 0 3px no-repeat;
	padding-left: 20px;
}
.worksnote .notelist li+li {
	margin-top: 5px;
}

@media (max-width: 1080px) {
.workscont {
	padding: 40px 30px;
}
}
@media (max-width: 767px) {
.worksbox {
	padding: 60px 20px;
}
.worksarea {
	display: block;
	width: auto;
}
.worksimg {
	display: block;
	text-align: center;
	width: auto;
	margin-bottom: 20px;
}
.workstxt {
	display: block;
}
.workshd {
	font-size: 20px;
}
.worksnote {
	padding-top: 50px;
	margin-top: 20px;
	text-align: center;
	background: url(../images/common/bow_sp.png) center 0 no-repeat;
}
.worksnote .notelist li {
	background: url(../images/works/mark_works.png) 0 3px no-repeat;
	padding-left: 15px;
}
.worksnote .notelist li+li {
	margin-top: 5px;
}
}


/* company
----------------------------------------------- */
.companytop {
	padding: 120px 20px 100px;
	background: #fff;
}
.companyinner {
	max-width: 840px;
	margin: 0 auto;
}
.companydet {
	text-align: center;
	font-size: 16px;
	line-height: 2.5;
	margin-bottom: 130px;
}
.companydet .companyhd {
	font-size: 25px;
	line-height: 1.5;
	margin-bottom: 30px;
}
.companytable {
	width: 100%;
}
.companytable th,.companytable td {
	font-size: 16px;
	padding: 30px 0;
	vertical-align: middle;
}
.companytable th {
	width: 25%;
	color: #009fe3;
}
.companytable td {
	line-height: 2;
}
.companytable tr+tr th,.companytable tr+tr td {
	border-top: 1px #e0e0e0 solid;
}
.companytable a {
	display: inline-block;
	border: 1px #009fe3 solid;
	color: #009fe3;
	margin-left: 10px;
	padding: 0 15px;
	font-size: 13px;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	-ms-border-radius: 12px;
	-o-border-radius: 12px;
	border-radius: 12px;
}
.companytable a span {
	background: url(../images/company/blank_company.png) right center no-repeat;
	padding-right: 20px;
}
.companytable .tabledummy {
	display: inline-block;
}

@media (max-width: 767px) {
.companytop {
	padding: 60px 20px;
}
.companydet {
	font-size: 14px;
	margin-bottom: 60px;
}
.companydet .companyhd {
	font-size: 20px;
	margin-bottom: 20px;
}
.companytable th,.companytable td {
	display: block;
	font-size: 14px;
	padding: 0;
}
.companytable th {
	width: auto;
	padding: 20px 0 0;
}
.companytable td {
	padding: 5px 0 20px;
}
.companytable tr+tr th {
	border-top: 1px #e0e0e0 solid;
}
.companytable tr+tr td {
	border: none;
}
.companyaddr {
	display: block;
}
.companytable a {
	margin: 5px 0 0 0;
}
.companytable a span {
	background: url(../images/company/blank_company.png) right center no-repeat;
	padding-right: 20px;
}
.companytable .tablelist li+li {
	margin-top: 15px;
}
.companytable .tabledummy {
	display: none;
}
}

.historybox {
	padding: 100px 20px;
}
.historyhd {
	margin-bottom: 80px;
	text-align: center;
}
h3.historyhd{
	font-size: 24px;
	font-weight: 700;
	line-height: 48px;
}
.historylist {
	font-size: 16px;
}
.historylist li+li {
	margin-top: 50px;
}
.historylist li {
	overflow: hidden;
	line-height: 1.7;
}
.historydate {
	float: left;
	width: 190px;
	padding-right: 80px;
	margin-right: 30px;
	background: url(../images/company/line_company.png) right center no-repeat;
}
@media (max-width: 767px) {
.historybox {
	padding: 50px 20px;
}
.historyhd {
	margin-bottom: 50px;
}
.historyhd img {
	max-width: 70px;
}
.historylist {
	font-size: 14px;
}
.historydate {
	float: none;
	display: inline-block;
	width: auto;
	padding-right: 95px;
	margin: 0 0 10px;
}
}

/* faq
----------------------------------------------- */
.faqbox {
	padding: 120px 20px 100px;
}
.faqinner {
	max-width: 1060px;
	margin: 0 auto;
}
.faqcont {
	background: #fff;
	font-size: 16px;
	padding: 50px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
}
.faqcont+.faqcont {
	margin-top: 50px;
}
.faqcont .question {
	padding-right: 250px;
	line-height: 1.8;
	position: relative;
}
.faqcont .question:before {
	position: absolute;
	content: "答えをみる";
	right: 0;
	top: 50%;
	margin-top: -28px;
	width: 170px;
	padding: 15px 0;
	line-height: 1.5;
	border: 1px #009fe3 solid;
	text-align: center;
	color: #009fe3;
	font-size: 15px;
	-webkit-border-radius: 27px;
	-moz-border-radius: 27px;
	-ms-border-radius: 27px;
	-o-border-radius: 27px;
	border-radius: 27px;
	cursor: pointer;
	z-index: 2;
}
.faqcont .question.on:before {
	content: "閉じる";
	background: #009fe3;
	color: #fff;
}
.faqcont .answer {
	display: none;
	font-size: 15px;
	line-height: 1.8;
	margin-top: 55px;
}
.faqcont .answer a {
	color: #009fe3;
}


@media (max-width: 767px) {
.faqbox {
	padding: 60px 20px;
}
.faqcont {
	font-size: 14px;
	padding: 25px;
}
.faqcont+.faqcont {
	margin-top: 30px;
}
.faqcont .question {
	padding: 0 0 80px 0;
}
.faqcont .question:before {
	right: inherit;
	top: inherit;
	left: 50%;
	bottom: 0;
	margin-top: 0;
	margin: 0 0 0 -85px;
	width: 170px;
	padding: 15px 0;
}
.faqcont .answer {
	font-size: 14px;
	margin-top: 30px;
}
}

/* recruit
----------------------------------------------- */
.recruitbox {
	background: #fff;
	padding: 120px 20px 80px;
}
.recruithd {
	text-align: center;
}
/*2025追加*/
.recH2tl {
	font-size: 24px;
	font-weight: 500;
	line-height: 48px;
}
.recH3tl {
	font-size: 24px;
	font-weight: 700;
	line-height: 48px;
}


.recruitin {
	max-width: 840px;
	margin: 0 auto;
}
.tablist {
	max-width: 620px;
	margin: 80px auto 50px;
}
.tablist ul {
	overflow: hidden;
	margin: 0 0 0 -50px;
}
.tablist ul li {
	float: left;
	width: 33.3333%;
	padding-left: 50px;
}
.tablist ul a {
	display: block;
	font-size: 15px;
	color: #009fe3;
	text-align: center;
	border: 1px #009fe3 solid;
	padding: 15px 10px;
	-webkit-border-radius: 27px;
	-moz-border-radius: 27px;
	-ms-border-radius: 27px;
	-o-border-radius: 27px;
	border-radius: 27px;
}
.tablist ul a:hover {
	color: #fff;
	background: #009fe3;
}
.tablist ul a.on {
	color: #fff;
	background: #009fe3;
}
#recruittab02 , #recruittab03 {
	display: none;
}
.rectable {
	width: 100%;
}
.rectable th,.rectable td {
	font-size: 16px;
	padding: 25px 0;
	vertical-align: middle;
}
.rectable th {
	width: 25%;
	color: #009fe3;
}
.rectable td {
	padding: 25px 10px;
}
.rectable tr+tr th,.rectable tr+tr td {
	border-top: 1px #d6d6d6 solid;
}
@media (max-width: 767px) {
.recruitbox {
	padding: 60px 20px 40px;
}
.tablist {
	margin: 40px auto 10px;
}
.tablist ul {
	margin: 0 0 0 -10px;
}
.tablist ul li {
	padding-left: 10px;
}
.tablist ul a {
	font-size: 14px;
	padding: 15px 0;
}
.rectable th,.rectable td {
	display: block;
	font-size: 14px;
	padding: 0;
}
.rectable th {
	width: auto;
	padding: 20px 0 5px;
}
.rectable td {
	padding: 5px 0 20px;
}
.rectable tr+tr td {
	border-top: none;
}
.rectable tr+tr th {
	border-top: 1px #d6d6d6 solid;
}
}

.reform {
	padding: 100px 20px;
}
.reformdet {
	text-align: center;
	margin: 30px 0 50px;
	line-height: 1.7;
}
.reformdet span {
	color: #009fe3;
}
.formtable {
	width: 100%;
}
.formtable th,.formtable td {
	padding: 25px 0;
	font-size: 16px;
	vertical-align: middle;
}
.formtable th {
	width: 25%;
}
.formtable th span.must {
	color: #009fe3;
	margin-left: 10px;
}
.formtable input[type=text] {
	width: 100%;
	height: 50px;
	padding: 0 30px;
	background: #fff;
	border: 1px #d6d6d6 solid;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-ms-border-radius: 5px;
	-o-border-radius: 5px;
	border-radius: 5px;
}
.formtable textarea {
	width: 100%;
	height: 235px;
	padding: 20px 30px;
	background: #fff;
	border: 1px #d6d6d6 solid;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-ms-border-radius: 5px;
	-o-border-radius: 5px;
	border-radius: 5px;
}
.formtable .selectbox {
	font-size: 16px;
	width: 280px;
	height: 50px;
	padding: 0 30px;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	background: #fff;
	border: 1px #d6d6d6 solid;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-ms-border-radius: 5px;
	-o-border-radius: 5px;
	border-radius: 5px;
}
.formtable .inputcode {
	width: 170px !important;
}
.formtable .codeline {
	margin: 0 20px;
}
.formprivacy {
	width: 100%;
	height: 155px;
	padding: 20px 30px;
	background: #fff;
	overflow-y: scroll;
	border: 1px #d6d6d6 solid;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-ms-border-radius: 5px;
	-o-border-radius: 5px;
	border-radius: 5px;
}
.formprivacy li {
	font-size: 13px;
	line-height: 2;
}
.formprivacy li+li {
	margin-top: 25px;
}
.formbtn {
	text-align: center;
	margin-top: 80px;
}
.formbtn input[type=submit] {
	width: 170px;
	height: 55px;
	border: 1px #009fe3 solid;
	text-align: center;
	color: #009fe3;
	background: inherit;
	cursor: pointer;
	font-size: 15px;
	-webkit-border-radius: 27px;
	-moz-border-radius: 27px;
	-ms-border-radius: 27px;
	-o-border-radius: 27px;
	border-radius: 27px;
}
.formbtn input[type=submit]:hover {
	background: #009fe3;
	color: #fff;
}

@media (max-width: 767px) {
.reform {
	padding: 50px 20px;
}
.reformdet {
	text-align: center;
	margin: 20px 0 30px
}
.formtable {
	width: 100%;
}
.formtable th,.formtable td {
	display: block;
	padding: 0;
	font-size: 14px;
}
.formtable th {
	width: auto;
	padding: 20px 0 5px;
}
.formtable td {
	padding: 5px 0 20px;
}
.formtable textarea {
	height: 150px;
}
.formtable .selectbox {
	font-size: 14px;
	width: 80%;
	height: 50px;
}
.formtable .inputcode {
	width: 45% !important;
}
.formtable .codeline {
	margin: 0;
	display: inline-block;
	width: 10%;
	text-align: center;
}
.formbtn {
	margin-top: 20px;
}
}

/* thanks
----------------------------------------------- */
.thanksbox {
	padding: 120px 20px 90px;
}
.thanksdet {
	text-align: center;
	line-height: 2;
}
.thanksback {
	margin-top: 100px;
}

@media (max-width: 767px) {
.thanksbox {
	padding: 50px 20px;
}
.thanksback {
	margin-top: 50px;
}
}

.errorMesse {
	font-size:12px;
	color:#F00;
}



