/* CSS Document */

body{
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  margin: 0;
  color: #404040;
  padding-top: 77px;
}

a {
  color: #00a3c5;
}
a:hover,
a:focus {
  color: #416375;
}

h1,h2,h4,h5{
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "ＭＳ Ｐ明朝", "MS PMincho";
}

h1,.font-mincho,.concept-textbody{
	font-family: 'Antic Didone', serif;
}

h2{
	margin-top: 1em;
	margin-bottom: 2.5em;
}

@media (max-width: 768px) {
	h2{
	margin-top: 0.5em;
	margin-bottom: 1.5em;
}
}

h3{
}
h4{
}
h5{
}

p{
	color: #515151;
}

.mein{
  padding-top: 70px;
}
.changeThema{
}
.contents{
  padding-bottom: 50px;
}

.footer{
  padding: 30px;
}
.wrapper{
  padding-top: 20px;
  padding-bottom: 20px;
}
.code{
  padding-bottom: 20px;
}
.prefix{
  font-size: 170%;
}
.padding10{
  padding: 10px;
  color: #FFFFFF;
}
.padding3{
  padding: 3px;
}
.padding6{
  padding: 6px;
}

.input_per30{
  width: 30%;
}
.input_per50{
  width: 50%;
}
@media screen and (min-width:320px) and (max-width: 959px){
  .input_per30{
    width: 100%;
  }
  .input_per50{
    width: 100%;
  }
}

@media (max-width: 768px) {
	#corporatephilosophy,#serviceoverview,#companysoutline,#access,#contact {
	margin-top: -77px;
	padding-top: 77px;
}
}

/*module*/

.img-responsive-overwrite{
    margin: 0 auto;
}

p.pegetop {
	margin-bottom: 4em;
}

@media (max-width: 768px) {
	p.pegetop {
	margin-right: 15px;
}
}

/*navbar*/

.navbar-default {
  background-color: #fff;
  border-color: #e7e7e7;
	border-style: solid;
}

.navbar-brand {
	text-indent: -9999px;
	background: url(../image/h1_logo.png) no-repeat 15px;
	width: 167px;
	height: 42px;
	margin-top: 17px;
	margin-right: 1em;
	margin-bottom: 17px;
}

p.navbar-catch {
	margin-top: 29px;
	float: left;
	display: inline;
	color: #10a4ca;
}

nav.navbar.navbar-default.navbar-static-top {
	background-color: #fff;
	margin-bottom: 0;
}

#navbar ul.nav.navbar-nav.navbar-right li a {
	padding-bottom: 28px;
	padding-top: 28px;
	background: url(../image/icon_arrow.png) no-repeat right center;
	margin-right: 12px;
}

@media (max-width: 768px) {
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
	margin-left: 15px;
}

.navbar-toggle {
  margin-top: 18px;
  margin-right: 15px;
  margin-bottom: 18px;
}
#navbar ul.nav.navbar-nav.navbar-right li a {
	background: url(../image/icon_arrow.png) no-repeat right center;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
}

/*header*/

div.jumbotron {
	height: 400px;
	background: #0bc6ee url(../image/img_top02.jpg) no-repeat center center;
}

@media (max-width: 768px) {
div.jumbotron {
	height: 300px;
	background-size:cover;
}
}

@media (max-width: 480px) {
div.jumbotron {
	height: 200px;
	background-size:cover;
}
}

/* お知らせ */
#news .news_covid-19 {
	background-color: #f7f7f7;
	padding: 2em;
	font-size: 105%;
	border: 2px solid #b0b0b0;
	margin-bottom: 2em;
}

#news h2 {
	margin-top: 0.3em;
	margin-bottom: 1em;
	font-size: 150%;
	color: #e43535;
	text-align: center;
}

#news p.right {
	text-align: right;
}

/*企業理念*/

#corporatephilosophy div.row div.col-md-12 {
	margin-bottom: 1.5em;
}

div#Greeting {
	margin-bottom: 1.5em;
}

#corporatephilosophy-img {
	margin-bottom: 2.5em;
}

#Greeting h3 {
	margin-bottom: 1em;
}

#Greeting p {
	font-size: 105%;
}

#Greeting p.right {
	text-align: right;
}

/*サービス概要*/

#serviceoverview h3 {
	color: #777777;
	font-size: 21px;
	font-weight: bold;
	border-bottom: 2px solid #0bc6ee;
	padding-bottom: 10px;
	margin-bottom: 14px;
}

#serviceoverview p strong {
	color: #da8200;
}

#serviceoverview div.col-md-6 {
	margin-bottom: 1.5em;
}

#serviceoverview dl dt {
	color: #0bc6ee;
	display: inline;
	float: left;
}

#serviceoverview dl dd {
	padding-left: 7em;
}

#serviceoverview ul {
	list-style-type: circle;
	list-style-position: inside;
	padding-left: 0;
}

/*会社概要*/

#companysoutline div.col-md-5 p {
	margin-bottom: 2em;
}

#companysoutline dl {
	background: url(../image/bg_line01.png) repeat-y 6em center;
}

#companysoutline dl dt {
	color: #1d97bc;
	font-weight: bold;
	float: left;
	display: inline;
}

#companysoutline dl dd {
	padding-left: 7em;
	margin-bottom: 1em;
}

#companysoutline div.col-md-7 {
	margin-bottom: 1.5em;
}

/*アクセス*/

#access p {
	margin-top: 1em;
}

#access p span {
	margin-right: 2em;
}

#access div.col-md-12 {
	margin-bottom: 1.5em;
}

.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/*お問い合わせ*/

#contact dl dt {
	float: left;
	display: inline;
	font-size: 18px;
	line-height: 2.2em;
}

#contact dl dd {
	margin-left: 3em;
	font-size: 30px;
	font-weight: bold;
	color: #1d97bc;
	margin-bottom: 1em;
}

#contact dl dd span {
	font-size: 16px;
	color: #000000;
	margin-left: 1ex;
}

#contact div.col-md-12 {
	margin-bottom: 1.5em;
}

div.recruit {
	background-color: #fff4d8;
	padding: 2em;
	text-align: center;
	border: 2px solid #e3cd94;
	margin-bottom: 2em;
}

#contact div.recruit p strong {
	color: #00a3c5;
	font-size: 120%;
}

#contact div.recruit ul {
	padding-left:0;
}

#contact div.recruit ul li {
	list-style:none;
}

/*footer*/

footer {
	margin-top: 3.5em;
}

footer li {
	float: left;
	display: inline;
	margin-right: 31px;
}

footer ul {
	margin-top: 23px;
}

footer ul,footer p.footerlogo {
	margin-bottom: 0;
}

footer p.copy {
	text-align: right;
	color: #a5a5a5;
}

footer a {
	color: #232626;
}

footer div {
	border-bottom: 1px solid #848484;
	padding-bottom: 15px;
	margin-bottom: 15px;
}
/*202402追記：noteのRSS読み込み*/
a.el_btn{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	background-color: #27c5ec;
	color: #fff;
	line-height: 1.0;
	text-align: center;
	letter-spacing: .2em;
}
a.el_btn:active{
	color: #fff;
	text-decoration: none;
}
a.el_btn:hover{
	opacity: .7;
	color: #fff;
	text-decoration: none;
}
a.el_btn > span{
	position: relative;
	padding-right: 20px;
	padding-left: 10px;
}
a.el_btn > span::after{
	content: "";
	position: absolute;
	right:0;
	top:50%;
	transform:translateY(calc(-50% + 1px)) rotate( 45deg);
	display: block;
	width: 6px;
	height: 6px;
	border-right:1px solid #fff;
	border-top:1px solid #fff;
}
.news_btn{
	margin: 0px auto 30px auto;
	width: 100%;
	max-width: 500px;
}
#news h2{
	margin-top: 1em;
	margin-bottom: 3em;
}
#newsNote {
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 30px;
}
#newsNote a.newsNote_cont_btn {
	display: block;
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom: 0
}
#newsNote a.newsNote_cont_btn:hover{
	background-color: rgba(255, 255, 255, .3);
}
#newsNote .newsNote_cont {
	width: calc(25% - 20px);
	position: relative;
	margin-right: 10px;
	margin-left:10px;
	margin-bottom: 40px;
	font-size: 1.3rem;
	line-height: 1.5;
}
#newsNote .newsNote_cont .newsNote_cont_discript{
	display: block;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3; /* 行数を指定 */
}
#newsNote .newsNote_cont .newsNote_cont_discript2{
	color: #00a3c5;
}
#newsNote .newsNote_cont img {
	width: 100%;
	aspect-ratio: 2/1;
	object-fit: cover;
	margin-bottom: 10px;
}
#newsNote .newsNote_cont h3 {
	display: block;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3; /* 行数を指定 */
	margin-bottom: 1em;
	font-size: 1.5rem;
	text-align: left;
	font-weight: bold;
	line-height: 1.3;
}
#newsNote .newsNote_cont h3 small{
	display: block;
	margin-bottom: .2em;
	font-weight: normal;
	font-size: .8em;
}
	@media (max-width: 768px){
		#newsNote {
			justify-content: space-between;
		}
		#newsNote .newsNote_cont{
			width: calc(50% - 8px);
			margin-right:0;
			margin-bottom: 20px;
			margin-left: 0;
		}
		#news h2{
			margin-top: 0.5em;
			margin-bottom: 2em;
		}
	}
/*202402追記：noteへのボタン*/
a.el_btn{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	background-color: #27c5ec;
	color: #fff;
	line-height: 1.0;
	text-align: center;
	letter-spacing: .2em;
}
a.el_btn:active{
	color: #fff;
	text-decoration: none;
}
a.el_btn:hover{
	opacity: .7;
	color: #fff;
	text-decoration: none;
}
a.el_btn > span{
	position: relative;
	padding-right: 20px;
	padding-left: 10px;
}
a.el_btn > span::after{
	content: "";
	position: absolute;
	right:0;
	top:50%;
	transform:translateY(calc(-50% + 1px)) rotate( 45deg);
	display: block;
	width: 6px;
	height: 6px;
	border-right:1px solid #fff;
	border-top:1px solid #fff;
}
.news_btn{
	margin: 0px auto 30px auto;
	width: 100%;
	max-width: 500px;
}