@charset "UTF-8";

/*--------------------
FONT
--------------------*/
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-display: swap;
	font-weight: normal;
	src: url(../font/NotoSans_DemiLight.woff2) format('woff2'),
		url(../font/NotoSans_DemiLight.woff) format('woff'),
		url(../font/NotoSans_DemiLight.otf) format('opentype');}

@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-display: swap;
	font-weight: bold;
	src: url(../font/NotoSans_Medium.woff2) format('woff2'),
		url(../font/NotoSans_medium.woff) format('woff'),
		url(../font/NotoSans_medium.otf) format('opentype');}

@font-face {
	font-family: 'Noto Serif Japanese';
	font-style: normal;
	font-display: swap;
	font-weight: normal;
	src: url(../font/NotoSerifCJKjp-Regular.min.woff2) format('woff2'),
		url(../font/NotoSerifCJKjp-Regular.min.woff) format('woff'),
		url(../font/NotoSerifCJKjp-Regular.min.ttf) format('truetype');}

/*--------------------
COMMON
--------------------*/
* {
	margin: 0;
	padding: 0;
	font-style: normal;
	border: 0;
	zoom: 1;
	box-sizing: border-box;}

html {
	height: 100%;
	font-size: 15px;}

html>/**/body {
	overflow: -moz-scrollbars-vertical;}

html:first-child body {
	min-height: 100%;}

body {
	-webkit-text-size-adjust: 100%;
	margin: 0;
	padding: 60px 0 0;
	border: 0;
	background: #fff;
	color: #555;
	font-size: 1em;
	font-family: "Noto Sans Japanese","Hiragino Sans","Hiragino Kaku Gothic ProN", Meiryo, "メイリオ", sans-serif;
	line-height: 1.6;
	position: relative;}

body.home{
	padding-top:0;}

strong {
	font-weight: bold;}

img {
	width:100%;
	max-width: 100%;
	height:auto;}

main > img,
main > figure{
	margin-bottom:1.8em;}

a {
	text-decoration: none;
	font-weight:bold;
	transition: .5s;}

p a{text-decoration: underline;}

a:hover {
	opacity: 0.7;
	transition: .5s;}

p {
	margin-bottom: 1.8em;}

.txtright{text-align:right;}
.txtcenter{text-align:center;}
.txtbold{font-weight: bold;}
.txtsmall{font-size:80%;}
.txtserif{font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"}
.txtred{color:#b9301e;}
.txtlarge{font-size:200%;}
.txtmlarge{font-size:150%;}

/*--------------------
BUTTON
--------------------*/
.btn {
	text-align: center;
	margin: 0 auto;}

	.btn a {
		min-width:180px;
		margin-bottom:1.8em;
		position: relative;
		display: inline-block;
		padding: 0.6em 2em;
		font-weight:normal;
		color:#064583;
		border: solid 1px #064583;
		transition: .3s;}

	.btn a:hover {
		opacity: 1;
		border-radius:50vh;
		background:#064583;
		color:#ffffff;
		transition: 1.5s;}

/*--------------------
A:BEFORE
--------------------*/
.arrow:before,
.blank:before {
	display: inline-block;
	padding-right: 5px;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	vertical-align: baseline;}

.blank:before {
	content: "\f35d";}

.arrow:before {
	content: "\f138";}

/*--------------------
GRID
--------------------*/
.grid,
.flex2,
.flex2-2,
.flex3,
.flex4,
.flex5,
.top-archive {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: stretch;/*   Safari etc. */
	-ms-align-items: stretch;/*  IE10        */
	align-items: stretch;
	-webkit-flex-wrap: wrap;/* Safari6.1以降 */
	-ms-flex-wrap: wrap;/*IE10*/
	flex-wrap: wrap;}

/* 最終行の間隔調整 */
.flex4:before,
.flex5:before {
	content: "";
	display: block;
	order: 1;}

.flex3:after,
.flex4:after,
.flex5:after {
	content: "";
	display: block;}

.grid3-2 {
	width: 65%;}

.grid4-3 {
	width: 74%;}

.grid4-2,
.flex2>*,
.flex2-2>*,
.top-archive>div {
	width: 47.5%;}

.grid3-1,
.flex3>*,
.flex3:after {
	width: 30%;}

.grid4-1,
.flex4>*,
.flex4:before,
.flex4:after {
	width: 22%;}

.flex5>*,
.flex5:before,
.flex5:after {
	width: 17.6%;}

.grid>*,
.flex2>*,
.flex2-2>*,
.flex3>*,
.flex4>*,
.flex5>* {
	margin-bottom: 1.8em;}

.grid>*>*:first-child,
.flex2>*>*:first-child,
.flex2-2>*>*:first-child,
.flex3>*>*:first-child,
.flex4>*>*:first-child,
.flex5>*>*:first-child{
	margin-top:0;}

.grid>*>*:last-child,
.flex2>*>*:last-child,
.flex2-2>*>*:last-child,
.flex3>*>*:last-child,
.flex4>*>*:last-child,
.flex5>*>*:last-child{
	margin-bottom:0;}

@media screen and (max-width:640px) {
	.grid3-1,
	.grid3-2,
	.grid4-1,
	.grid4-2,
	.grid4-3,
	.flex2>*,
	.flex3>*,
	.flex3:after,
	.top-archive>div,
	.flex2-2>*{
		width: 100%;}


	.flex4>*,
	.flex4:before,
	.flex4:after,
	.flex5>*,
	.flex5:before,
	.flex5:after {
		width: 47.5%;}
}


/*--------------------
HEADER
--------------------*/
header{
	margin-top:0px;
	width:100%;
	height:90px;
	background-color:rgba(0,0,0,0.9);
	position: fixed;
	top:0;
	left:0;
	z-index:999;}

header div{
	width:90%;
	height:90px;
	margin:0 auto;
	display:flex;
	align-items: center;
	justify-content: space-between;
}


header div h1{
	display:block;
	width:200px;
	height:90px;
}

header div h1 a{
	display:block;
	height:90px;
	line-height:90px;
	color:#fff;
background-image:url("../img/head_logo.png");
background-repeat:no-repeat;
background-size:contain;
text-indent:-99999px;}

header div nav{
	height:90px;
	display:flex;
	align-items:center;
}

header div nav a{
	display:block;
	height:90px;
	line-height:90px;
	color:#fff;
	margin-left:2em;}

header div nav a#recruit{
	width:200px;
	background-color:#074483;
	text-align:center;
	margin-left:4em;
}
/*--
header div nav a#recruit:before{
	content: '';
	display: inline-block;
	width: 25px;
  height: 90px;
  background-image: url(../img/recruit_logo.png);
  background-size: contain;
  vertical-align: middle;
}
--*/

@media screen and (max-width:768px) {
	header div{width:100%;}

	header div h1{margin-left:20px;
	}

	header div h1 a{}

	header div nav a{display:none;}

	div .gnavi__wrap {display:none;}
	
	header div nav a#recruit{
	width:100px;
	display:block;
	margin-left:0em;}

}

/*--------------------
MOBMENU
--------------------*/
@media screen and (min-width:769px) {
#mobmenu{display:none}
}

@media screen and (max-width:768px) {
#mobmenu{
	width:100%;
	background-color:rgba(0,0,0,0.8);
	position: fixed;
	top:90px;
	left:0;
	z-index:999;
	display:flex;
	text-align:center;}

#mobmenu a{
	display:block;
	width:25%;
	padding:1em 0;
	color:#fff;
}
	
#mobmenu a#recruit{
    background-color: #074483;
	font-size: 15px;
}
}

/*--------------------
EYECATCH
--------------------*/
#eyecatch {
	display: block;
	width: 100%;}

/*--------------------
BREADCRUMBS
--------------------*/

#breadcrumbs {
	display: block;
	width: 100%;
	margin-bottom:4em;
	padding: 0.7em 1.5em;
	font-size: 0.8em;
	border:1px solid #6d87a1;
	border-radius:100px;
	color:#6d87a1;}

	#breadcrumbs a{
		font-weight:normal;
		color:#b0c4ce;}

	#breadcrumbs a:after {
		display: inline-block;
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		margin: 0 0.8em;
		color: #6d87a1;
		content: "\f0da";}

		#breadcrumbs a:hover{
			color:#283d39;}

	#breadcrumbs .page-name span,
	#breadcrumbs .current-item span{
		display:none;}
	
/*--------------------
CONTENTS
--------------------*/
main,
.recruit main section{
	display:block;
	width:90%;
	max-width:800px;
	margin:2em auto 0;}

.recruit2 main section{
	display:block;
	width:90%;
	max-width:800px;
	margin:2em auto 0;}

@media screen and (max-width:768px) {
main,
.recruit main section{
	margin:120px auto 0;}

.recruit2 main section{
	margin:120px auto 0;}
}

.recruit main{
	width:100%;
	max-width: 100%;
	margin:0 auto 0;}

.recruit2 main{
	width:100%;
	max-width: 100%;
	margin:0 auto 0;}

aside{
	width:90%;
	max-width:800px;
	margin:2em auto;}

section{
    display: block;
    padding-top: 100px;
    margin-top: -100px;
	margin-bottom:100px;
}


section:last-child,
section> :last-child {
	margin-bottom: 0;}

/*--------------------
FOOTER
--------------------*/
footer{
	margin-top:5em;
	padding:3em 0;
	background: #263a4d;
	color:#fff;
	text-align:center;}

footer img{
	width:15%;
	margin:0 auto;
}

	footer a{
		color:#fff;}

	footer a:hover{
		color:#ccc;}

	footer div {
		width: 90%;
		max-width:800px;
		margin:4em auto 4em;
		display:-webkit-box;
		display:-ms-flexbox;
		display: -webkit-flex;
		display:flex;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		text-align:left;}


footer div ul{
	width:33%;
	margin:0 auto;
	list-style:none;
}

				footer div ul li a:before{
					display: inline-block;
					font-family: "Font Awesome 5 Free";
					font-weight: 900;
					vertical-align: baseline;
					left:0;
					content: "\f138";
					margin-right:0.5em;}

@media screen and (max-width:768px) {
	footer div{
		width:90%;
		display:block;}
	
	footer div ul{
		width:100%;}
	
	footer div ul li{
		padding:0.5em 0;
		border-bottom:1px solid #fff;
	}
}

	footer small {
		display: block;
		text-align: center;
		font-size:.75em;
		letter-spacing: 0.02em;}

		footer small a{
			font-weight:normal;}

#pagetop {
	position: fixed;
	z-index: 30;
	bottom: 10px;
	right: 3%;
	color: rgb(6,69,131,.8);
	font-size: 30px;
	transition: .3s;}

	#pagetop:before {
		display: inline-block;
		width: 100%;
		text-align: center;
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		vertical-align: baseline;
		content: "\f139";}

	#pagetop:hover {
		color: rgb(40,61,57,1);}



/*--------------------
TABLE
--------------------*/
table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
	margin: 0 0 1.8em;}

	th,td {
		padding: .7em .8em;
		border: #fff 2px solid;
		line-height: 1.6em;
		text-align: left;
		vertical-align: top;}

	th {
		font-weight:bold;
		white-space: nowrap;
		background: #c1c7cd;
		color:#fff;}

	td {
		background: #eff2f5;}

	.centerTable table td,.centerTable table th{text-align:center ;}

	.specialty-child table th{
		min-width:10em;}

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

thead {
	display: none;}

	tr{
		border: #fff 2px solid;}

	th,td{
		display:block;
	}

body.property table th,
body.property table td{
		display:table-cell;
	}
.scroll-table {
  overflow: auto;
  white-space: nowrap;
}

}

/*--------------------
LIST
--------------------*/
ul,
ol {
	padding-left: 1.2em;
	margin-bottom:1.8em;}

	.ul_nav {
		padding-left: 0;
		list-style: none;
		text-align: center;
		margin-bottom: 30px;}

		.ul_nav li {
			display: inline-block;
			margin: 0 3px 10px;
			font-size: 90%;}

			.ul_nav a {
				display: inline-block;
				width: 100%;
				padding: 4px 1em;
				background: #b0cec3;
				color: #ffffff;}

			.ul_nav a:before {
				font-family: "Font Awesome 5 Free";
				font-weight: 900;
				padding: 0 5px 0 0;
				content: "\f0d7";}

table :last-child,
ul :last-child,
ol :last-child,
dl :last-child{
	margin-bottom: 0;}


/* ------------------------------------------
index
------------------------------------------ */

.home h2{
color:#074483;
text-align:center;
margin-bottom:1em;
}

.newsset{
}

.newsitem{
	width:100%;
border-bottom:1px solid #ddd;
padding:1em 0;}

.newsitem span.news_title{}

.newsitem span.news_title a{
		color:#444;
}

.newsitem span.news_date{
	display:inline-block;
	width:100px;
	color:#777;
}

.newsitem span.news_category{
	margin-left:1em}

.newsitem span.news_category a{
	font-size:xx-small;
	padding:0.5em 0.75em;
	background:#074483;
	color:#fff;
}

@media screen and (max-width:640px) {
	
.newsitem span.news_date{
	display:block;}	
	
}

/*--------------------
WP
--------------------*/
.navigation {
  width: 100%;
  margin: 0 0 5em;
  padding: 3em 0 0;
  font-size: 85%;
  clear: both;
  text-align: left; }

	.navigation h2{
		display:none;}

  .navigation a span {
    display: inline;
    margin-right: 1em;
		padding-right: 1em; }

    .navigation a span.navitext {
	    border-right: 1px solid #fff; }

	.nav-previous a,
	.nav-next a,
	.nav-back a {
		padding: .8em 1.5em; }
	
	.nav-previous a,
	.nav-next a {
		display: block;
		margin-bottom: 0.6rem;
		line-height: 1.5em;
		font-weight:normal;
		border-radius: 30px;
		color:#ffffff;
		background: #7697a5; }
		
		.nav-previous a:hover,
		.nav-next a:hover {
			display: block;
			background: #7697a5;
			opacity: 1; }

/* pagenavi */
.wp-pagenavi {
	width: 100%;
	font-size: 90%;
	text-align: center;
	margin:0 0 4em;}

	.wp-pagenavi a,
	.wp-pagenavi span {
		padding: 3px .8em;
		margin: 2px;
		display: inline-block;
		color:#679586;
		border:solid 1px #b0c2ce;
		vertical-align: top;
		border-radius:30px;}

	.wp-pagenavi a:hover {
		color: #fff;
		background: #b0c2ce;
		opacity:1;}

	.wp-pagenavi span.current {
		font-weight: bold;
		border:solid 1px #7697a5;
		background: #7697a5;
		color: #fff;}

	.wp-pagenavi .pages {
		display: block;
		padding: 5px 10px;
		margin: 0 0 10px;
		color:#7697a5;}

.single h1 + p {
	margin-bottom: 2em;
	text-align: right;
	color:#7697a5;
	font-weight:bold;
	font-size:84%; }


/*--------------------
PAGE
--------------------*/

.entry-title{
	margin-bottom:1em;}

.page section article{
	margin-bottom:60px;
}

.page section p a,
.page section li a,
.page section td a{
	color:#064583;
}

.page section p a:hover,
.page section li a:hover,
.page section td a:hover{
	color:#316599;
}

.page section{
}

.page section h2{
	font-size:170%;
	border-bottom:3px solid #ddd;
	margin-bottom:1em;
}

.page section h3{
	font-size:140%;
	margin-bottom:1em;
}

.page section h3 ruby{
	display:block;
	font-size:60%;
	color:#999;
}

.page section h4{
	font-size:120%;
	margin-bottom:1em;
	color:#064583;
}

.page section h5{
	font-size:120%;
	margin-bottom:1em;
	text-align:center;
}

.page section .borderbox{
	border:1px solid #ddd;
	padding:1em;
	margin-bottom:1em;
}

.page section ul,.page section ol,.page section dl{margin-bottom: 1.8em;}

.page section dl dt{font-weight:bold;margin-bottom:1.4em;}
.page section dl dd{font-size:80%;margin-bottom:1.4em;}

.page section .notice{
	font-size:80%;
	color:#666;
}

.page section .img75,
.page section .img50,
.page section .img25{
	margin:0 auto 1.8em;
	text-align:center;}

.page section .img75{
	width:75%;
	max-width:75%;}

.page section .img50{
	width:50%;
	max-width:50%;}

.page section .img25{
	width:25%;
	max-width:25%;}

@media screen and (max-width:640px) {
	.page section .img75,
.page section .img50,
.page section .img25{
	width:90%;
	max-width:90%;}
}

/*--ページ内リンク--*/

.page #inpagelink{
	list-style:none;
	display:flex;
	margin-left:0;
	padding-left:0;
}

.page #inpagelink li{
	border:1px solid #ccc;
	border-radius:4px;
	text-align:center;
	margin-right:1.5em;
}

.page #inpagelink li a{
	display:block;
	width:100%;
	padding:1em 1.5em;
	color:#777;
	text-align:center;
}

.page #inpagelink li a:hover{
	background:#eee;
}

@media screen and (max-width:640px) {
.page #inpagelink{
	display:block;
}
	
	.page #inpagelink li{
		display:block;
		width:100%;
		margin-bottom:1em;
	}
}

/*--------------------
FORM
--------------------*/
input[type="text"],input[type="email"],textarea{
	font-size:120%;
	width:100%;
	padding:0.5em;
}

section form{
	margin-bottom:40px;
}

form p{
	display:block;
	width:100%;
	padding:1em;
	border:1px solid #ddd;
	border-radius:5px;
}
.transmit{
	width:100%;
	margin:0 auto;
	text-align:center;}

input[type="submit"]{
	font-size:120%;
	width:50%;
	padding:0.5em;
	margin:0 auto;}

input[type="submit"]:hover{
	background:#f60;
}

input[type=checkbox] {
	-moz-transform:		scale(1.6);
	-webkit-transform:	scale(1.6);
	transform:		scale(1.6);
}

select{
	font-size:120%;
	width:50%;
	padding:1em 0.5em;}

select option{}

input[type="radio"]{
	font-size:120%;
	padding:0.5em;
	margin:0 auto;
	margin-right:0.5em;}

label span{
	margin-right:1em;
}

/*--------------------
RECRUIT
--------------------*/

.recruit #breadcrumbs,
.recruit .entry-title{display:none;}

.recruit2 #breadcrumbs,
.recruit2 .entry-title{display:none;}

#recruitsection{
	width:100%;
	margin-top:90px;
}

#movie{
	width:100%;
	height:auto;
	background:#ccc;
}

	#movie video{
		position:relative;
		z-index:1;
		width:100%;
		height:auto;
		display:block;}


.photobox{
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-items: stretch;/*   Safari etc. */
	-ms-align-items: stretch;/*  IE10        */
	align-items: stretch;
	-webkit-flex-wrap: wrap;/* Safari6.1以降 */
	-ms-flex-wrap: wrap;/*IE10*/
	-webkit-justify-content: space-between;
	flex-wrap: wrap;}

.photobox div{
	width:50%;
	background:#263a4d;
	color:#fff;}

.photobox img{
	width:100%;
	height:auto;
	vertical-align: bottom;}

.photobox p{
	font-size:90%;
	padding:25px 50px 0;
	margin-bottom:0;
}

.photobox h2{
	padding:50px 50px 0;}

.photobox p a{
	color:#fff;
	text-decoration:underline;
}

@media screen and (max-width:768px) {
	.photobox div{
	width:100%;}

	.box1{order: 1;}
	.box2{order: 2;}

.photobox h2{
	padding:50px 50px 25px;}
	
	.photobox p{
		padding:0 50px 50px;}

#recruitsection{
	margin-top:180px;}

}

/*--------------------
RECRUIT BUTTON
--------------------*/
.rebtn {
	text-align: center;
	margin: 0 auto;}

	.rebtn a {
		width:50%;
		min-width:400px;
		margin-bottom:1.8em;
		display: inline-block;
		padding: 2em;
		font-weight:large;
		background:#064583;
		color:#ffffff;
		transition: .3s;}

	.rebtn a:hover {
		opacity: 1;
		border-radius:50vh;
		color:#064583;
		border: solid 1px #064583;
		background:#ffffff;
		transition: 1.5s;}

@media screen and (max-width:768px) {
		.rebtn a {
		width:50%;
		min-width:100px;}
}


/*--------------------
NEWS
--------------------*/

.newslist{}

.newslist div{
	padding:1em 0;
	border-bottom:1px solid #ddd;
}


/*--------------------
DETAILS
--------------------*/

.bn4{
}

.bn4 div{
	background:#ddd;
	line-height:160px;
	border-radius:6px;
}

.bn4 div a{
	display:block;
	width:100%;
	height:auto;
	line-height:160px;
	padding-left:2em;
	background-color:rgba(0,0,0,0.2);
	color:#fff;
	border-radius:6px;
	font-size:x-large;
}

.bn4 div a:before{
font-family: "Font Awesome 5 Free";
vertical-align: baseline;
left:0;
content: "\f138";
margin-right:0.5em;}


#dbn1,#dbn2,#dbn3,#dbn4{
	background-size:cover;
	background-repeat:no-repeat;
}

#dbn1{background-image:url("../img/dbn_01.jpg");}
/* #dbn2{background-image:url("../img/dbn_02.jpg");} */
#dbn2{background-image:url("../img/dbn_02_v.jpg");}
/* #dbn3{background-image:url("../img/dbn_03.jpg");} */
/* #dbn4{background-image:url("../img/dbn_04.jpg");} */
#dbn3{background-image:url("http://www.takasin.jp/tk/wp-content/uploads/2024/03/20230620_seizou2bu_002_1.jpg");}
#dbn4{background-image:url("http://www.takasin.jp/tk/wp-content/uploads/2024/03/20230620_kikaikakou_004-e1687236670578_1.jpg");}

.pointlist{
	background:#ebf2f9;
	border-radius:6px;
	padding:2em;
	list-style:none;
}

.pointlist li{
	font-size:large;
	margin-bottom:1em;
	color:#33618e;
}

.pointlist li:last-child{
	margin-bottom:0;
}

.pointlist li:before{
font-family: "Font Awesome 5 Free";
vertical-align: baseline;
left:0;
content: "\f058";
margin-right:0.5em;}


/*--------------------
Saitou.E ADD CSS
--------------------*/
.Osarebox{
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #5d627b;
    background: white;
    border-top: solid 5px #5d627b;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
	border-radius: 2px 2px 2px 2px;
}
.Osarebox p {
    margin: 0; 
    padding: 0;
}

.Osarebox a:hover{/* マウスオーバー時に色変更*/
    opacity: 0.1;
    background-color: #fff;
}

.labelEmploymentStatus {
    display: inline-block;
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1;
    border-radius: 3px;
    padding: 3px 10px;
    color: #fff;
    background-color: #7dbd00;
}

.Titleheading {
	position: relative;
	margin:0 auto;
	padding-left:10px;
	padding-top: 20px;
	font-size: 32px;6
	border-bottom: 1px solid rgba(5,62,98,1);
	max-width:600px;
}

.Titleheading span {
	position: relative;
	z-index: 2;
}

.Titleheading::before {
	content: attr(data-en);
	position: absolute;
	top: 0px;
	left: 0;
	color: rgba(5,62,98,0.2);
	font-size: 32px;
	text-transform: uppercase;
	z-index: 1;
}
