@charset "utf-8";
/* CSS Document */


/* bootstrap.css基本の打消し（同じclass名での書き換え）
---------------------------------------------------- */
body{ margin:0px; padding:0px;}
h1,h2,h3,h4,h5,h6{ margin:0px; padding:0px; font-weight:normal; clear:both}
p{ margin:0px; padding:0px}

.navbar {
  margin-bottom:0px;
  border:none;
}
.table-striped > tbody > tr:nth-of-type(odd) { background-color: #efefef;}
.table{ margin-bottom:30px}
.table th{ width:30%}

@media (min-width: 768px) {.btn-group-vertical a{ padding-top:15px;padding-bottom:15px}}


/* 全体構造
---------------------------------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
    zoom:1;/*for IE 5.5-7*/
	overflow:hidden;
}
* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

.clear{clear:both;}

img{border:0;vertical-align:bottom;}

a {
	outline:none;
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

hr {
    display:block;
    height:1px;
    border-top:1px dotted #333;
    margin:0;
    padding:0;
	margin-bottom:20px
}

body{
	/*font-size:75%;
	line-height:185%;*/
  font-size:87%;
  line-height:1.6em;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#333;
	letter-spacing: 0.05rem;
}
@media print, screen and (min-width: 768px) {
  body{
    font-size:90%;
    line-height:1.8em;
  }
}


/* webfont
---------------------------------------------------- */
.gfont-j{font-family: 'Roboto Condensed', sans-serif;letter-spacing: normal;}


/* link
---------------------------------------------------- */
a:link,a:visited,a:hover,a:active{text-decoration:none; color:#666;}

.phone a:link{ color: #333;}

/* アンカーリンクの食い込み解除 */
.anchor{
	padding-top:1px;
	margin-top:-1px;	
}
@media (min-width: 768px) {
  .anchor{
    padding-top:1px;
    margin-top:-1px;
  }
}

/* header
---------------------------------------------------- */
header{
	width: 100%;
	z-index: 1000;
	margin: 0;
	border-bottom: none;
	background-color: #fff;/*ヘッダーの背景色*/
  position: fixed;
	top: 0;
	left: 0;
	right: 0;
  padding-top: 15px;
	padding-bottom: 15px;
}
h1{
  position: relative; z-index: 2;/*押す順番*/
}
h1 img{ width: 100px;}

.header_tel_xs{
  position: relative;z-index: 3;/*押す順番*/
  float: right;
  margin-right:40px; 
  margin-top: -27px;
}
.header_tel_xs img{ 
  width: 22px;
}
@media print, screen and (min-width: 768px) {
  header{
    background:none;
    position: absolute;
    top: 0;
    left: 0;
    padding: 0px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  h1 img{ width: auto;}
  
  .header-tel { float: right;}
  .header-tel em{font-style: normal; font-size: 80%;}
  .header-tel span{ display: block;font-family: 'Roboto Condensed', sans-serif;letter-spacing: normal;font-size: 140%; color: #eb4595; font-weight: 500;}
  .header-tel i{  margin-right: 2px; font-size: 80%;}
}
@media print, screen and (min-width: 992px) {
  header{
    padding-top: 25px;
    padding-bottom: 25px;
  }
  
  .header-tel{ padding-top: 10px;}
  .header-tel span{ font-size: 160%;}
}
@media print, screen and (min-width: 1200px) {
  h1 img{  }
  
  .header-tel{ padding-top: 10px;}
  .header-tel span{ font-size: 180%;}
}


/* nav
---------------------------------------------------- */
.menu {font-size: 120%; line-height: 1.0em;}/*ナビのフォントサイズ*/
.menu a {color: #333;/* font-weight: bold;*/}/*ハンバーガーメニューの色*/
/*.menu > ul > li a {color: #fff!important; text-align: center!important;}*//*ハンバーガーメニュー内のリンク文字色*/
.menu > ul{border-bottom: 1px solid #eee !important;}
/*.menu > ul > li a{padding:0px 0px 25px !important;}*/
.menu > ul > li a:hover,
.menu li.navi-on a{
	color: #3365be;/*hover状態の色*/
}
.menu > ul > li {border-top: 1px solid #eee !important;border-bottom: none!important;}/*ナビ間の線の色*/
/*.menu > ul > li > ul > li a {text-align: left!important;}*//*ハンバーガーメニュー内の文字左寄せ*/
@media print, screen and (min-width: 576px) {
  .menu > ul > li{
    width: 50%!important;
    float: left!important;
  }
}
@media only screen and (max-width: 767px) {
  .menu-container {
    margin-top: -25px!important;/*ハンバーガーメニューの位置調整*/
    float: right;
    position: relative; z-index: 1;/*押す順番*/
  }
}
@media print, screen and (min-width: 768px) {
	.menu {font-size: 85%;}
  .menu-container { margin-top: 0!important;}
	.menu .show-on-mobile {padding-top:10px!important;}
	.menu > ul {width: auto!important; float: right;transition: all 0.3s ease 0s; border-bottom:none!important;}
  .menu > ul > li{
    width: auto!important;
    float: none!important;
  }
	.menu > ul > li a{
		padding: 7px 0px 3px 0px!important;
		text-align: center!important;
    margin-right: 20px;
	}
  .menu > ul > li a:hover{
    color: #333!important;
  }
	.menu li.navi-on a{
    border-bottom: 1px solid #333;
    color: #333!important;
		/*background: url(../images/navi-on.png) repeat-x bottom;*//*hover時下線を出す*/
	}
  
  .menu > ul > li a {
    position: relative;
    display: inline-block;
    text-decoration: none;
  }
  .menu > ul > li a::after{
    position: absolute;
    bottom: -1px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #073061;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .3s;
  }
  .menu > ul > li a:hover::after {
    transform: scale(1, 1);
  }
	.menu > ul > li { border-top: 0 !important;}  
}
  
@media print, screen and (min-width: 992px) {
	.menu {font-size: 100%;}/*ナビのフォントサイズ*/
  .menu > ul > li a{
		padding: 15px 0px 3px 0px!important;
    margin-right: 30px;
  }
	.menu .show-on-mobile {padding-top: 0!important;}
}
@media print, screen and (min-width: 1200px) {
  .menu {font-size: 105%;}/*ナビのフォントサイズ*/
  .menu > ul > li a{
		padding: 18px 0px 3px 0px!important;
  }
}


/* nav固定
---------------------------------------------------- */
.cb-header {
	position: fixed; /* ヘッダーバーを固定 */
	top: -200px;
	left: 0;
	width: 100%;
	z-index: 1000;
	background: rgba(51,101,190,0.9);
}

@media print, screen and (min-width: 768px) {
  .cb-header{padding: 18px 0px;}
  .cb-header .menu {font-size: 100%;}
  .cb-header .menu > ul {float:none; margin: 0px auto;}
	.cb-header .menu > ul > li a{ margin: 0px 20px!important;padding: 0px 0px 3px 0px!important; color: #fff;}
  .cb-header .menu > ul > li > ul {font-size: 100%;}
  .cb-header .menu > ul > li a:hover{
    color: #fff!important;
  }
	.cb-header .menu li.navi-on a{
    border-bottom: 1px solid #fff;
    color: #fff!important;
  }
  .cb-header .menu > ul > li a::after{
    background: #fff;
  }
}

@media print, screen and (min-width: 992px) {
	.cb-header .menu {font-size: 105%;}
  /*.cb-header .menu > ul > li a{ margin-left: 40px!important;}*/
}
@media print, screen and (min-width: 1200px) {
	/*.cb-header nav {font-size: 90%;}*/
	/**/
}

/* 印刷時表示消す */
@media print{
  .cb-header {
    display: none!important;
    visibility: hidden;
  }
}


/* mainimage
---------------------------------------------------- */
.swiper-wrapper img{
	margin: 0 auto;
}
.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction{
	bottom: 0px!important;
}
@media print, screen and (min-width: 1200px) {
	.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction{
		bottom: 10px!important;
	}
}


/*#mainimage {
  position: relative;
}
#mainimage h2{
  position: absolute;
  bottom: 0px;
	z-index: 100;
}
#mainimage h2 img{ padding-top: 50px;}*/

/* ヘッダー固定で上空ける */
#mainimage,
.h2-style{ margin-top: 58px;}
@media print, screen and (min-width: 576px) {
	#mainimage,
	.h2-style{  margin-top: 58px;}
}
@media print, screen and (min-width: 768px) {
	#mainimage,
	.h2-style{  margin-top: 70px;}
}
@media print, screen and (min-width: 992px) {
	#mainimage,
	.h2-style{  margin-top: 90px;}
}
@media print, screen and (min-width: 1200px) {
	#mainimage,
	.h2-style{  margin-top: 100px;}
}


/* footer
---------------------------------------------------- */
footer {
  padding: 20px 0px;
  font-size: 90%;
  line-height: 1.8em;
}
footer h3{
  margin-bottom: 10px;
}
footer h3 img{
  width: 30%;
}
footer p{ 
  margin-bottom: 5px;
}
.footer_number{
  font-family: 'Roboto Condensed', sans-serif;letter-spacing: normal;
  color: #eb4595;
  font-size: 150%;
}
.footer_number a:link{ color: #eb4595;}
.footer_number em{
  font-style: normal;
  font-size: 80%;
}
@media print, screen and (min-width: 768px) {
  footer{
    padding: 30px 0px;
  }
}

@media print, screen and (min-width: 992px) {
  footer{
    padding: 40px 0px;
  }
  footer h3{
    margin-bottom: 15px;
  }
  footer h3 img{
    width: 140px;
  }
}

/* フッターテキストリンク */
#footer-textlink{
  margin-top: 10px;
  border-bottom: 1px solid #eee;
  margin-bottom: 15px;
}
#footer-textlink li{
  list-style: none;
  border-top: 1px solid #eee;
  padding: 10px 10px;
  width: 50%;
  float: left;
}
#footer-textlink li a{
  display: block;
}
#footer-textlink a:link,
#footer-textlink a:visited,
#footer-textlink a:active{ color:#333; text-decoration:none}
#footer-textlink li a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  float: right;
  margin-top: 6px;
}
@media print, screen and (min-width: 768px) {
  #footer-textlink{
    margin-top: 0px;
    border-bottom:none;
    margin-bottom: 0px;
  }
  #footer-textlink li{
    display: inline-block;
    padding:0px 0px 3px 0px;
    border-top:none;
  }
  /*#footer-textlink li+li{border-left:1px solid #ddd}*/
  #footer-textlink li a::after { display: none}
}
@media print, screen and (min-width: 992px) {
  #footer-textlink{
    margin-left: 40px;
  }
}
@media print, screen and (min-width: 1200px) {
  #footer-textlink{
    margin-left: 0px;
  }
}

/* copyright*/
footer small{
  display: block;
  font-size: 80%;
  text-align: left;
  color: #999;
}
footer small i{ margin-right: 5px;}
@media print, screen and (min-width: 768px) {
  footer small{
    clear: both;
    margin-top: 20px;
    font-size: 85%;
    text-align: right;
  }
}


/* pagetop
---------------------------------------------------- */
#pagetop {
  position: fixed; 
  bottom:10px; 
  right:10px; 
  z-index: 100;
}
#pagetop img{
  width: 60%;
  float: right;
}
@media print, screen and (min-width: 768px) {
	#pagetop {
    bottom:20px; 
    right:20px; 
  }
  #pagetop img{
    width: auto;
    float: none;
  }
}

/* index.html（トップページ）
---------------------------------------------------- */
#top_news{
  padding: 30px 0px;
}
#top_news h2{  
  text-align: center;
  font-size: 100%;
  font-weight: 700;
  font-family: 'Roboto Condensed', sans-serif;letter-spacing: normal;
  color: #222;
  font-size: 300%;
}
#top_news h2 span{
  color: #eb4595;
  font-style:normal;
}
#top_news table{
	width:100%;
}
#top_news th{
  display: block;
  font-family: 'Roboto', sans-serif; letter-spacing: normal;
  font-weight: 700;
  font-size: 90%;
  color: #999;
}
#top_news th span{
  color: #eb4595;
  line-height: normal;
  font-size: 80%;
  margin-left: 10px;
}
#top_news td{
  display: block;
	padding-bottom: 10px;
}
#top_news td i{ font-size: 120%; vertical-align: middle; margin-right: 10px;}
#top_news td a:hover{ opacity: 0.7;}
@media print, screen and (min-width: 768px) {
  #top_news{
    padding: 50px 0px;
  }
  #top_news h2{
    background: url("../images/border_pink.gif") no-repeat left 0px top 7px;
    padding-left: 70px;
    line-height: 1.0em;
    text-align: left;
  }
  #top_news th{
    display: table-cell;
    width: 25%;
    padding-bottom: 5px;
  }
  #top_news td{
    display: table-cell;
    padding-bottom: 5px;
  }
}
@media print, screen and (min-width: 992px) {
  #top_news{
    padding: 100px 0px 150px;
  }
  #top_news h2{
    font-size: 380%;
    padding-left: 80px;
  }
  #top_news th{
    width: 20%;
    font-size: 100%;
  }
}


/* top_business */
#top_business{
  background-color: #3365be;
  color: #fff;
  padding: 15px 0px 30px;
}
#top_business h2{
  font-weight: bold;
  font-size: 130%;
  margin-bottom: 10px;
}
#top_business p{
  margin-bottom: 10px;
}
#top_business .btn-style{
  border: 2px solid #fff;
  background: url("../images/btn_arrow_w.png") no-repeat right 15px center;
}
#top_business .btn-style:link,
#top_business .btn-style:visited,
#top_business .btn-style:active{ color:#fff;}
#top_business .btn-style:hover{
  color: #3365be;
  border: 2px solid #fff;
  background: url("../images/btn_arrow_b.png") no-repeat right 15px center #fff;
}
@media print, screen and (min-width: 768px) {
  #top_business{
    background-color: #3365be;
    padding: 50px 0px 80px;
  }
  #top_business h2{
    font-size: 160%;
    margin-bottom: 20px;
  }
  #top_business p{
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 992px) {
  #top_business{
    padding: 200px 0px 0px 0px;
    background: url("../images/bg_top_business_lg.png") no-repeat bottom center;
    height: 656px;
  }
  #top_business h2{
    font-size: 220%;
    margin-bottom: 30px;
  }
  #top_business p{
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 1200px) {
  #top_business{
    background: url("../images/bg_top_business.png") no-repeat bottom center;
  }
}

/* top_works */
#top_works{
  padding: 30px 0px 30px;
}
#top_works h3{
  font-weight: bold;
  font-size: 120%;
  margin-bottom: 10px;
}
#top_works h3 span{
  padding-right: 130px;
  background: url("../images/border_black.gif") no-repeat right center;
}
#top_works h4{
  color: #3365be;
  font-weight: bold;
  font-size: 130%;
  margin-bottom: 10px;
}
#top_works p{
  margin-bottom: 10px;
}
@media print, screen and (min-width: 768px) {
  #top_works{
    padding: 70px 0px 70px;
  }
}
@media print, screen and (min-width: 992px) {
  #top_works{
    background: url("../images/bg_top_works.jpg") no-repeat top center;
    padding: 150px 0px 0px 0px;
    height: 727px;
  }
  #top_works h3{
    font-size: 140%;
    margin-bottom: 20px;
  }
  #top_works h4{
    font-size: 220%;
    margin-bottom: 30px;
  }
  #top_works p{
    margin-bottom: 40px;
  }
}

/* top_btn */
#top_btn{
  margin-bottom: 50px;
}
.top_btn{
  background: url("../images/btn_top.jpg") no-repeat right bottom;
  background-size: cover;
}
.top_btn a{ 
  display: block;
  background: -webkit-linear-gradient(#111, transparent 30%);
  background: -o-linear-gradient(#111, transparent 30%);
  background: linear-gradient(#111, transparent 30%);  
  padding: 30px 30px 100px 30px;  
}
.top_btn a:link{
  color: #fff;
}
.top_btn:hover{
	opacity:0.8;
	filter: alpha(opacity=80);
}
.top_btn a h4{
  display: block;
  font-weight: bold;
  font-size: 130%;
}
@media print, screen and (min-width: 768px) {
  #top_btn{
    margin-bottom: 80px;
  }
  .top_btn{
    margin-bottom: 0px;
  }
  .top_btn a{ 
    padding: 30px 30px 150px 30px;
  }
}
@media print, screen and (min-width: 992px) {
  #top_btn{
    margin-bottom: 0px;
    background: url("../images/bg_top_btn.jpg") no-repeat top center;
    padding: 50px 0px 0px;
    height: 498px;
  }
  .top_btn{
    background-size: auto;
  }
  .top_btn a{ 
    padding: 30px 30px 0px 30px;
    height: 311px;
  }
}

/* top_recruit */
#top_recruit{
  background: url("../images/bg_top_recruit.jpg") no-repeat top left;
  padding: 30px 0px 30px;
}
#top_recruit h3{
  margin-bottom: 10px;
}
#top_recruit h3 img{
  width: 50%;
}
#top_recruit h4{
  margin-bottom: 10px;
}
@media print, screen and (min-width: 768px) {
  #top_recruit{
    padding: 70px 0px 70px;
  }
  #top_recruit h3{
    margin-bottom: 20px;
  }
  #top_recruit h4{
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 992px) {
  #top_recruit{
    background: url("../images/bg_top_recruit.jpg") no-repeat top center;
    padding: 100px 0px 0px 0px;
    height: 700px;
  }
  #top_recruit h3{
    margin-bottom: 45px;
  }
  #top_recruit h3 img{
    width: auto;
  }
  #top_recruit h4{
    margin-bottom: 40px;
  }
}

/* 採用情報のナビ */
#recruit_navi ul{
  list-style: none;
  margin-top: 10px;
}
#recruit_navi li a{
  display: inline-block;
  margin-bottom: 5px;
  margin-right: 5px;
  border: 2px solid #3365be;
  text-align: center;
  font-weight: bold;
  color: #3365be;
  padding: 10px 0px;
  width: 48%;
  float: left;
}
#recruit_navi li a:after{ content:" \f0da";font-family: "Font Awesome 5 Free"; font-weight: 900; float: right; padding-right:5px;}
#recruit_navi li a:hover,
#recruit_navi li.on a{background-color: #3365be; color: #fff!important;}
#recruit_navi .entry a{ border: 2px solid #eb4595!important; color: #eb4595!important;}
#recruit_navi .entry a:hover,
#recruit_navi .entry.on a{background-color: #eb4595!important; color: #fff!important;}
@media print, screen and (min-width: 768px) {
  #recruit_navi li a{
    margin-bottom: 0px;
    padding:10px 0px;
    width: 19%;
    font-size: 80%;
  }
}
@media print, screen and (min-width: 992px) {
  #top_recruit ul{
    margin: 20px -4px 0px;
    overflow: hidden;
  }
  #recruit_navi li a{
    margin: 0px 4px;
    padding:13px 0px 13px 10px;
    font-size: 100%;
  }
  #recruit_navi li a:after{padding-right: 10px;}
}  

#top_contact{
  background: url("../images/mark.png") no-repeat center top 20px #3365be;
  color: #fff;
  padding: 50px 0px 30px;
}
#top_contact h5{
  font-size: 120%;
  margin-bottom: 15px;
}
#top_contact span{
  display: block;
  font-family: 'Roboto Condensed', sans-serif;letter-spacing: normal;
  font-size: 300%;
}
#top_contact span em{
  font-style: normal;
  font-size: 80%;
}
#top_contact a:link{ color: #fff;}
#top_contact p{ margin-bottom: 10px;}
#top_contact .btn-style{
  border: 2px solid #fff;
  background: url("../images/btn_arrow_w.png") no-repeat right 15px center;
  width: 100%;
  padding: 15px 30px;
}
#top_contact .btn-style:link,
#top_contact .btn-style:visited,
#top_contact .btn-style:active{ color:#fff;}
#top_contact .btn-style:hover{
  color: #3365be;
  border: 2px solid #fff;
  background: url("../images/btn_arrow_b.png") no-repeat right 15px center #fff;
}
@media print, screen and (min-width: 768px) {
  #top_contact{
    background: url("../images/mark.png") no-repeat center top 30px #3365be;
    padding: 70px 0px 50px;
  }
  #top_contact h5{
    font-size: 140%;
    text-align: center;
    margin-bottom: 40px;
  }
  #top_contact span{
    font-size: 250%;
    text-align: center;
  }
  #top_contact p{ text-align: center;margin-bottom: 0px;}
}
@media print, screen and (min-width: 992px) {
  #top_contact{
    background: url("../images/mark.png") no-repeat center top 60px #3365be;
    padding: 110px 0px 90px;
  }
  #top_contact h5{
    font-size: 170%;
    margin-bottom: 60px;
  }
  #top_contact span{
    font-size: 280%;
    margin-top: 5px;
  }
  #top_contact p{ margin-top: 5px;}
  #top_contact .btn-style{
    padding: 20px 30px;
    font-size: 105%;
  }
}
@media print, screen and (min-width: 1200px) {
  #top_contact span{
    font-size: 320%;
  }
}

/* 人物 */
.person01{
  position: absolute;
  bottom: -80px;
  right: 0px;
  width: 20%;
}
@media print, screen and (min-width: 768px) {
  .person01{
    top: -100px;
    right: 0px;
  }
}
@media print, screen and (min-width: 992px) {
  .person01{
    top: -310px;
    right: 100px;
    width: auto;
  }
}
@media print, screen and (min-width: 1200px) {
  .person01{
    top: -310px;
    right: 100px;
  }
}

.person02{
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 25%;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .person02{
    bottom: -30px;
    left:-10px;
  }
}
@media print, screen and (min-width: 992px) {
  .person02{
    bottom: -220px;
    left: -70px;
    width: auto;
  }
}

.person03{
  position: absolute;
  top: -100px;
  left: 0px;
  width: 15%;
}
@media print, screen and (min-width: 576px){
  .person03{
    top: -120px;
    left: 0px;
  }
} 
@media print, screen and (min-width: 768px){
  .person03{
    top: -120px;
    left: 0px;
    width: 10%;
  }
} 
@media print, screen and (min-width: 992px) {
  .person03{
    top: -200px;
    left: -30px;
    width: auto;
  }
}

.person04{
  position: absolute;
  top: -120px;
  right: 0px;
  z-index: 1;
  width: 25%;
}
@media print, screen and (min-width: 568px){
  .person04{
    top: -130px;
    right: 0px;
  }
}
@media print, screen and (min-width: 768px){
  .person04{
    top: -130px;
    right: 0px;
    width: 20%;
  }
}
@media print, screen and (min-width: 992px) {
  .person04{
    top: -230px;
    left: 400px;
    width: auto;
  }
}


/* detail.html（お知らせ詳細ページ）
---------------------------------------------------- */
.detail_img p{
  text-align: center;
  margin: 10px 0px 20px;
}
@media print, screen and (min-width: 992px) {
  .detail_img p{
    margin: 10px 0px 30px;
  }
}


/* company.html（会社概要）
---------------------------------------------------- */
.company_img01{
  text-align: center;
  margin-bottom: 10px;
}
@media print, screen and (min-width: 768px){
  .company_img01{
    margin-bottom: 0px;
  }
}

.access{
  margin: 0px -15px;
}
.access iframe{
  height: 300px;
}
@media print, screen and (min-width: 768px){
  .access iframe{
    height: 450px;
  }
}


/* recruit.html（採用情報）
---------------------------------------------------- */
#recruit_top{
  background: url("../images/bg_top_recruit.jpg") no-repeat top left;
  background-size: cover;
  padding: 40px 0px;
}
#recruit_top h3{
  margin-bottom: 10px;
}
#recruit_top h3 img{
  width: 50%;
}
#recruit_top h4{
  margin-bottom: 10px;
}
#recruit_top h4 img{
  width: 70%;
}
@media print, screen and (min-width: 768px) {
  #recruit_top{
    padding: 80px 0px;
  }
  #recruit_top h3{
    margin-bottom: 20px;
  }
  #recruit_top h4{
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 992px) {
  #recruit_top{
    background: url("../images/bg_top_recruit.jpg") no-repeat top center;
    background-size: cover;
    padding: 150px 0px;
  }
  #recruit_top h3{
    margin-bottom: 45px;
  }
  #recruit_top h3 img{
    width: auto;
  }
  #recruit_top h4{
    margin-bottom: 40px;
  }
  #recruit_top h4 img{
    width: 60%;
  }
}

#recruit_message h3{
  font-family: 'Roboto', sans-serif; letter-spacing: normal;
  font-weight: 700;
  color: #999;
  font-size: 300%;  
  position: absolute;
  top: -20px;
}
#recruit_message h4{
  margin-top: 30px;
}
#recruit_message2{
  margin-top: 20px;
  background: url("../images/bg_recruit01.jpg") no-repeat center bottom;
  background-size: cover;
  padding: 30px 0px;
  color: #fff;
}

.recruit_job_text{
  background-color: #333;
  padding: 20px 15px;
  color: #fff;
}
.recruit_job_text h4{
  color: #17bce5;
  font-size: 1.3em;
  margin-bottom: 1.0em;
}
.recruit_job_text h4 strong{ color: #fbf136;}

.recruit_keyword{
  border-top: 2px solid #17bce5;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 0px 15px 15px;
}

.recruit_keyword h5{
  font-style: normal;
  font-family: 'Roboto', sans-serif; letter-spacing: normal;
  display: inline-block;
  background-color: #17bce5;
  color: #fff;
  line-height: normal;
  font-weight: 700;
  font-size: 160%;
  border-radius: 0px 0px 5px 5px;
  padding: 8px 5px;
  text-align: center;
  margin-right: 5px;
  margin-bottom: 1.0em;
}
.recruit_keyword h5 span{
  display: block;
  font-size: 40%;
}
.recruit_keyword h6{
  display: inline-block;
  font-weight: bold;
  font-size: 1.05em;
  margin-bottom: 1.0em;
}
.recruit_keyword h6 strong{
  font-size: 1.3em;
  color: #eb4595
}
.recruit_keyword_img{
  position: relative;  
  margin-bottom: 1.0em;
}
.recruit_keyword_img p{
  position: absolute;
  bottom: 0px;
  width: 100%;
  background-color: rgba(0,0,0,0.5);
  color: #fff;
  text-align: center;
  font-size: 0.95em;
  padding: 10px 0px;
}

.recruit_merit01{ background: url("../images/bg_recruit_merit01.jpg") no-repeat bottom;}
.recruit_merit02{ background: url("../images/bg_recruit_merit02.jpg") no-repeat bottom;}
.recruit_merit03{ background: url("../images/bg_recruit_merit03.jpg") no-repeat bottom;}
.recruit_merit01,
.recruit_merit02,
.recruit_merit03{
  background-size: contain;
  padding-bottom: 200px;
}
.recruit_merit_text{
  background-color: #fff;
  padding: 15px;
}
.recruit_merit_text h4{
  font-size: 1.4em;
  margin-bottom: 1.0em;
}
.recruit_merit_text h4 span{
  display: block;
  font-family: 'Roboto', sans-serif; letter-spacing: normal;
  font-weight: 700;
  color: #17bce5;
  font-size: 2.0em;
}
.recruit_access{
  border: 1px solid #ddd;
  padding: 15px;
}
@media print, screen and (min-width: 768px){
  #recruit_message h3{
    font-size: 350%; 
    top: -30px;
  }
  #recruit_message h4{
    margin-top: 40px;
  }
  #recruit_message2{
    margin-top: 30px;
    padding: 50px 0px;
  }
  
  .recruit_job{
    position: relative;
  }
  .recruit_job_text{
    width: 70%;
    padding: 30px 100px 30px 30px;
  }
  .recruit_job_text h4{
    font-size: 1.3em;
  }
  .recruit_job img{
    position: absolute;
    right: 0px;
    top: 100px;
    width: 42%;
  }
  
  .recruit_keyword{
    padding: 0px 20px 20px;
  }
  .recruit_keyword_img p{
    line-height: normal;
    font-size: 75%;
  }
  
  .recruit_merit01{ background: url("../images/bg_recruit_merit01.jpg") no-repeat bottom right;}
  .recruit_merit02{ background: url("../images/bg_recruit_merit02.jpg") no-repeat bottom right;}
  .recruit_merit03{ background: url("../images/bg_recruit_merit03.jpg") no-repeat bottom right;}
  .recruit_merit01,
  .recruit_merit02,
  .recruit_merit03{
    background-size:50%;
    padding-bottom: 40px;
    margin-bottom: 30px;
  }
  .recruit_merit_text{
    background: rgba(255,255,255,0.8);
    width: 70%;
    padding: 20px 20px 20px;
    z-index: 1;
  }
 .recruit_merit_text h4{
    font-size: 1.6em;
  }
  
  .recruit_access{
    padding: 20px;
  }
}
@media print, screen and (min-width: 992px){
  #recruit_message h3{
    font-size: 600%;
    top: -50px;
  }
  #recruit_message h4{
    margin-top: 60px;
  }
  #recruit_message2{
    margin-top: 40px;
    padding: 80px 0px;
  }
  
  .recruit_job_text{
    padding: 50px 150px 50px 40px;
  }
  .recruit_job_text h4{
    font-size: 1.7em;
  }
  .recruit_job img{
    top: 110px;
    width: 42%;
  }
  
  .recruit_keyword h5{
    padding: 8px 10px;
    margin-right: 0px;
    margin-bottom: 0.3em;
  }
  .recruit_keyword h6{
    font-size: 1.05em;
  }
  .recruit_keyword h6 strong{
    font-size: 1.2em;
  }
  .recruit_keyword_img{
    font-size: 90%;
  }
    
  .recruit_merit_text{
    padding: 40px 50px 50px;
  }
  .recruit_merit_text h4{
    font-size: 1.9em;
  }
  
  .recruit_access{
    padding: 30px;
  }
}
@media print, screen and (min-width: 1200px){
  .recruit_job_text{
    padding: 50px 170px 50px 40px;
  }
  .recruit_job_text h4{
    font-size: 1.8em;
  }
  .recruit_job img{
    top: 90px;
  }
  .recruit_keyword h5{
    margin-bottom: 1.0em;
  }
  .recruit_keyword_img p{
    font-size: 100%;
  }
}



#recruit_contact{
  background: url("../images/mark.png") no-repeat center top 20px #3365be;
  color: #fff;
  padding: 50px 0px 30px;
}
#recruit_contact h5{
  font-size: 120%;
  margin-bottom: 15px;
}
#recruit_contact h3{
  text-align: center;
  font-size: 130%;
  margin-bottom: 15px;
}
#recruit_contact .btn-style{
  border: 2px solid #fff;
  background: url("../images/btn_arrow_w.png") no-repeat right 15px center;
  width: 100%;
  padding: 15px 30px;
  margin-bottom: 20px;
}
#recruit_contact .btn-style:link,
#recruit_contact .btn-style:visited,
#recruit_contact .btn-style:active{ color:#fff;}
#recruit_contact .btn-style:hover{
  color: #3365be;
  border: 2px solid #fff;
  background: url("../images/btn_arrow_b.png") no-repeat right 15px center #fff;
}
#recruit_contact span{
  display: block;
  font-family: 'Roboto Condensed', sans-serif;letter-spacing: normal;
  font-size: 300%;
  margin-bottom: 10px;
}
#recruit_contact span em{
  font-style: normal;
  font-size: 80%;
}
#recruit_contact a:link{ color: #fff;}
@media print, screen and (min-width: 768px) {
  #recruit_contact{
    background: url("../images/mark.png") no-repeat center top 30px #3365be;
    padding: 70px 0px 40px;
  }
  #recruit_contact h5{
    font-size: 140%;
    text-align: center;
    margin-bottom: 40px;
  }
  #recruit_contact h3{
    font-size: 150%;
    margin-bottom: 40px;
  }
  #recruit_contact .btn-style{ 
    background: url("../images/btn_arrow_w.png") no-repeat right 30px center;
    font-size: 120%;
    text-align: center;
    padding: 30px 30px;
    margin-bottom: 0px;
  }
  #recruit_contact .btn-style:hover{
    background: url("../images/btn_arrow_b.png") no-repeat right 30px center #fff;
  }
  #recruit_contact span{
    font-size: 250%;
    text-align: center;
  }
  #recruit_contact p{ text-align: center; font-size: 90%; line-height: 1.5em;}
}
@media print, screen and (min-width: 992px) {
  #recruit_contact{
    background: url("../images/mark.png") no-repeat center top 50px #3365be;
    padding: 90px 0px 60px;
  }
  #recruit_contact h5{
    font-size: 170%;
    margin-bottom: 60px;
  }
  #recruit_contact h3{
    font-size: 170%;
    margin-bottom: 60px;
  }
  #recruit_contact span{
    font-size: 350%;
    margin-bottom: 20px;
  }
  #recruit_contact p{ margin-top: 5px;}
  #recruit_contact .btn-style{
    font-size: 160%;
  }
}
@media print, screen and (min-width: 1200px) {
  #recruit_contact span{
    font-size: 400%;
  }
  #recruit_contact p{ font-size: 100%;}
}


/* interview.html（先輩社員インタビュー）
---------------------------------------------------- */
.interview_box{
  border: 4px solid #ddd;
  padding: 15px;
  margin-bottom: 15px;  
}
.interview_name{
  margin-top: 15px;
  padding-bottom: 0.7em;
  border-bottom: solid 1px #999;
  font-weight: bold;
  font-size: 1.2em;
  margin-bottom: 1.0em;
}
.interview_name span{
  margin-left: 15px;
  font-size: 70%;
}
.detail_area h6{
  font-size: 1.2em;
  font-weight: 700;
  padding-left: 2.5em;
  padding-top: 0.5em;
  position: relative;
  margin-bottom: 1.2em;
}
.detail_area h6:before{
  color: #fff;
  font-family: 'Roboto Condensed', sans-serif;letter-spacing: normal;
  font-weight: 700;
  line-height: 2;
  text-align: center;
  content: "Q";
  position: absolute;
  left: 0;
  top: 0;
  width: 2em;
  height: 2em;
  border-radius: 50%;
  background-color: #eb4595;
}
@media print, screen and (min-width: 768px) {
  .interview_box{
    padding: 20px;
    margin-bottom: 20px;  
  }
  .interview_name{
    margin-top: 0px;
  }
  
}
@media print, screen and (min-width: 992px) {
  .interview_box{
    padding: 30px;
    margin-bottom: 40px;  
  }
  .interview_name{
    font-size: 1.5em;
  }
  .detail_area h6{
    font-size: 1.4em;
    margin-bottom: 1.3em;
  }
}

/* 開閉ボタン */
.openclose a{
  float: right;
  text-align:center;
  padding:10px 50px;
  color:#fff;
  background-color: #17bce5;
  border-radius: 50px;
  width:200px;
}
.openclose a i{ margin-left: 5px;}



/* newcomer.html（ようこそ新人さん）
---------------------------------------------------- */
.balloon-left,
.balloon-right{
  margin: 0.5em 0 1.5em 0;
  padding: 15px 15px;
  font-size: 1.2em;
  background: #FFF;
  border: solid 3px #555;
  border-radius: 10px;
}
@media print, screen and (min-width: 768px) {
  .balloon-left{
    position: relative;
    display: inline-block;
    margin: 1.5em 0 1.5em 15px;
    padding: 15px 20px;
    width: 100%;
    box-sizing: border-box;
  }
  .balloon-left:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -24px;
    margin-top: -12px;
    border: 12px solid transparent;
    border-right: 12px solid #FFF;
    z-index: 2;
  }
  .balloon-left:after {
    content: "";
    position: absolute;
    top: 50%;
    left: -30px;
    margin-top: -14px;
    border: 14px solid transparent;
    border-right: 14px solid #555;
    z-index: 1;
  }
  .balloon-left p {
    margin: 0;
    padding: 0;
  }
  .balloon-right {
    position: relative;
    display: inline-block;
    margin: 1.5em 0px 1.5em 0;
    padding: 15px 20px;
    width: 100%;
    font-size: 1.2em;
    box-sizing: border-box;
  }
  .balloon-right:before {
    content: "";
    position: absolute;
    top: 50%;
    right: -24px;
    margin-top: -12px;
    border: 12px solid transparent;
    border-left: 12px solid #FFF;
    z-index: 2;
  }
  .balloon-right:after {
    content: "";
    position: absolute;
    top: 50%;
    right: -30px;
    margin-top: -14px;
    border: 14px solid transparent;
    border-left: 14px solid #555;
    z-index: 1;
  }
  .balloon-right p {
    margin: 0;
    padding: 0;
  }
}



/* entry.html（エントリーフォーム）
/* contact.html（お問い合わせ）
---------------------------------------------------- */
/*.contact_number{
  margin-top: 15px;
  display: block;
  font-family: 'Roboto Condensed', sans-serif;letter-spacing: normal;
  font-size: 300%;
}
.contact_number h3{
  text-align: center;
  font-size: 1.4em;
  margin-bottom: 1.2em;
}
.contact_number em{
  font-style: normal;
  font-size: 80%;
}
.contact_number a:link{ color: #fff;}
@media print, screen and (min-width: 768px) {
  .contact_number{
    font-size: 250%;
    text-align: center;
  }
}
@media print, screen and (min-width: 992px) {
  .contact_number{
    font-size: 280%;
  }
}
@media print, screen and (min-width: 1200px) {
  .contact_number{
    font-size: 320%;
  }
}*/






/* contact.html（お問い合わせ）
---------------------------------------------------- */
.contact_box{
  text-align: center;
  border: 1px solid #ddd;
  padding: 15px;
}
.contact_box h3 i{
  font-size: 180%;
  display: block;
  margin-bottom: 5px;
}
.contact_box h3{
  font-size: 120%;
  font-weight: bold;
  color: #073061;
  margin-bottom: 10px;
}
.contact_box p{
  font-size: 200%;
  font-weight: bold;
  font-family: 'Roboto Condensed', sans-serif;letter-spacing: normal;
}
@media print, screen and (min-width: 768px) {
  .contact_box{
    padding: 10px 15px 20px;
  }
  .contact_box h3 i{
    font-size: 200%;
    margin-bottom: 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .contact_box{
    padding: 25px 15px 30px;
  }
  .contact_box h3 i{
    font-size: 220%;
  }
  .contact_box h3{
    font-size: 120%;
    margin-bottom: 20px;
  }
  .contact_box p{
    font-size: 220%;
  }
}
@media print, screen and (min-width: 992px) {
  .contact_box p{
    font-size: 250%;
  }
}

.contact_title i{
  font-size: 180%;
  margin-right: 10px;
  vertical-align: middle;
}
.contact_title{
  font-size: 110%;
  font-weight: bold;
  color: #073061;
  margin-bottom: 15px;
}
@media print, screen and (min-width: 768px) {
  .contact_title i{
    font-size: 200%;
  }
  .contact_title{
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .contact_title i{
    font-size: 220%;
  }
  .contact_title{
    font-size: 130%;
    margin-bottom: 30px;
  }
}


/* タイトル
---------------------------------------------------- */
#h2-detail{background: url("../images/bg_h2_detail.jpg") no-repeat center;background-size: cover;}
#h2-company{background: url("../images/bg_h2_company.jpg") no-repeat center;background-size: cover;}
#h2-business{background: url("../images/bg_h2_business.jpg") no-repeat center;background-size: cover;}
#h2-works{background: url("../images/bg_h2_works.jpg") no-repeat center;background-size: cover;}
#h2-recruit{background: url("../images/bg_h2_recruit.jpg") no-repeat center;background-size: cover;}
#h2-requirements{background: url("../images/bg_h2_requirements.jpg") no-repeat center;background-size: cover;}
#h2-interview{background: url("../images/bg_h2_interview.jpg") no-repeat center;background-size: cover;}
#h2-newcomer{background: url("../images/bg_h2_newcomer.jpg") no-repeat center;background-size: cover;}
#h2-entry{background: url("../images/bg_h2_entry.jpg") no-repeat center;background-size: cover;}
#h2-contact{background: url("../images/bg_h2_contact.jpg") no-repeat center;background-size: cover;}
.h2-style div{
  background-color: rgba(0,0,0,0.2);
  margin-bottom: 30px;
}
.h2-style h2{
  padding: 40px 0px;
  text-align: center;
  font-weight: 700;
  font-size: 180%;
  color: #fff;
}
.h2-style h2 span{
  display: block;
  font-family: 'Roboto Condensed', sans-serif;letter-spacing: normal;
  color: #17bce5;
  padding-top: 5px;
  font-size: 50%;
  font-weight: 600;
}
@media print, screen and (min-width: 768px) {
  .h2-style div{
    margin-bottom: 50px;
  }
  .h2-style h2{
    padding: 80px 0px;
    font-size: 220%;
  }
  .h2-style h2 span{
    font-size: 50%;
  }
}
@media print, screen and (min-width: 992px) {
  .h2-style div{
    margin-bottom: 80px;
  }
  .h2-style h2{
    padding: 150px 0px;
    font-size: 260%;
  }
}

.h2-mb- div{margin-bottom: 0px!important;}
@media print, screen and (min-width: 768px) {
  .h2-mb- div{margin-bottom: 0px!important;}
}
@media print, screen and (min-width: 992px) {
  .h2-mb- div{margin-bottom: 0px!important;}
}

.title01{
  font-weight: 700;
  text-align: center;
  font-size: 1.3em;
  margin-bottom: 1.6em;
}
.title01 span{
  padding-bottom: 0.4em;
  border-bottom:2px solid #eb4595;
}
@media print, screen and (min-width: 768px){
  .title01{
    font-size: 1.5em;
    margin-bottom: 1.7em;
  }
}
@media print, screen and (min-width: 992px){
  .title01{
    font-size: 1.9em;
    margin-bottom: 2.0em;
  }
  .title01 span{
    padding-bottom: 10px;
  }
}

.title02{
  padding-bottom: 0.7em;
  border-bottom: solid 1px #999;
  position: relative;
  font-weight: bold;
  font-size: 1.2em;
  margin-bottom: 1.0em;
}
.title02:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 30%;
  margin-bottom: -1px;
  border-bottom: solid 2px #3365be;
}
@media print, screen and (min-width: 992px){
  .title02{
    padding-bottom: 0.8em;
    font-size: 1.4em;
    margin-bottom: 1.4em;
  }
}

.title03{
  font-weight: bold;
  font-size: 120%;
  border-left:3px solid #17bce5;
  padding: 10px 0px 10px 15px;
  margin-bottom: 10px;
}
@media print, screen and (min-width: 768px){
  .title03{
    font-size: 130%;
    line-height: 1.7em;
    margin-bottom: 15px;
  }
}
@media print, screen and (min-width: 992px){
  .title03{
    font-size: 140%;
  }
}


/* table
---------------------------------------------------- */
.table-style{
	width:100%;
  border-top: 1px solid #ddd;
}
.table-style th{
	display: block;
	text-align:left;
	font-weight:bold;
	padding:5px 10px;
  background-color: #f1f5fb;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}
.table-style td{
	display: block;
	padding:5px 10px;
  background-color: #fff;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
@media print, screen and (min-width: 768px){
  .table-style th{
    display:table-cell;
    vertical-align:middle;
    padding:10px 15px;
    width:25%;
    text-align: center;
    border-bottom: 1px solid #ddd;
  }
  .table-style td{
    display:table-cell;
    padding:10px 15px;
  }
}
@media print, screen and (min-width: 992px){
  .table-style th{
    padding:15px 20px;
    font-size: 105%;
  }
  .table-style td{
    padding:15px 20px;
  }
}

.table-style2{
	width:100%;
  border-collapse: collapse;
  font-size: 90%;
}
.table-style2 th{
  background-color: #f1f1f1;
  border: 1px solid #ddd;
  vertical-align:middle;
	padding:5px 10px;
  width: 30%;
}
.table-style2 td{
	border: 1px solid #ddd;
	padding:5px 10px;
}
@media print, screen and (min-width: 992px){
  .table-style2{
    font-size: 100%;
  }
  .table-style2 th{
    padding: 10px 20px;
    width: 20%;
  }
  .table-style2 td{
    padding: 10px 20px;
  }
}


/* ボタン
---------------------------------------------------- */
.btn-style{
	display:block;
  border: 2px solid #eb4595;
  background: url("../images/btn_arrow_p.png") no-repeat right 15px center;
  background-color:transparent;
  padding:13px 20px;
  line-height: normal;
  font-weight: bold;
  transition: all 0.3s ease 0s;
}
.btn-style:link,
.btn-style:visited,
.btn-style:active{ color:#eb4595; text-decoration:none;}
.btn-style:hover{
  color: #fff;
  border: 2px solid #eb4595;
  background-color: #eb4595;
}
.btn-style i{ float: right; padding-top: 3px;}
@media print, screen and (min-width: 768px) {
  .btn-style{
    width: 220px;
  }
}

.btn-style2{
	display:block;
  border: 1px solid #3365be;
  background-color:#3365be;
  padding:15px 15px;
  line-height: normal;
  font-weight: bold;
  border-radius: 0.1px;
  text-align:center;
  transition: all 0.3s ease 0s;
}
.btn-style2:link,
.btn-style2:visited,
.btn-style2:active{ color:#fff; text-decoration:none;}
.btn-style2:hover{
  color: #073061;
  border: 1px solid #073061;
  background-color: transparent;
}
.btn-style2 i{ float: right; padding-top: 3px;}

.btn-detail{
  display: block;
  border:2px solid #111;
	background-color:#111;
	padding:5px 15px;
  line-height: normal;
  border-radius: 30px;
  font-size: 90%;
  transition: all 0.3s ease 0s;
}
.btn-detail:link,
.btn-detail:visited{ color:#fff;text-decoration:none;}
.btn-detail:hover{
  border:2px solid #111;
  background-color: #fff;
  color: #111;
}
.btn-detail i{ margin-right: 5px;}
@media print, screen and (min-width: 768px) {
  .btn-detail{
    display: inline-block;
    padding:10px 20px;
    margin-right: 10px;
  }
}

/* 戻るボタン */
.btn-back{
  margin-top:20px;
	background-color:#3365be;
	padding:10px 0px;
	text-align:center;
	display:block;
  border-radius: 50px;
}
.btn-back:link,
.btn-back:visited{ color:#fff;text-decoration:none}
.btn-back:before{ content:" \f104";font-family: "Font Awesome 5 Free"; font-weight: 900;line-height:1.5em; padding-right:10px}
@media print, screen and (min-width: 768px) {
  .btn-back{ margin-top:30px;}
  .btn-back{
    padding:10px 40px;
    display:inline;
  }
}

/* マップへのボタン */
.btn-map{
	background-color:#333;
  border-radius: 50px;
	padding:10px 0px;
	text-align:center;
	display:block;
}
.btn-map:link,
.btn-map:visited{ color:#fff;text-decoration:none}
.btn-map:before{ content:" \f3c5";font-family: "Font Awesome 5 Free"; font-weight: 900; line-height:1.5em; padding-right:5px}
@media (min-width: 768px) {
  .btn-map{ margin-top:12px; text-align:right}
  .btn-map{
    padding:10px 40px;
    display:inline;
  }
}
  
  
/* CMSページ関係
---------------------------------------------------- */
/* 縦横比固定 */
.photo-ofi {
	 height: 0;
	 display: block;
	padding-bottom: 75%; /* 高さを指定（ボックスの横幅を基準） */
	/*background-color: #EFEFEF;*/
	overflow: hidden;
	position: relative;
	/*margin-bottom: 10px;*/
}
.photo-ofi img {
	 max-width: inherit;
	 max-height: inherit;
	width: 100%;
	height: 100%;
	 object-fit: cover;
	 font-family: 'object-fit: cover;';
	 position: absolute;
	 left: 0;
	 top: 0;
}

/* paging */
div.paging{
  text-align: center;
}
div.paging span.current,
div.paging span.paging-text{
  margin:0px;
  background-color: #fff;
  border: 1px solid #073061;
  color:#333;
  display:inline;
  zoom:1;
  display:inline-block;
  overflow:hidden;
  text-decoration:none;
}
div.paging span.paging-text a{
  padding:2px 8px;
  display:block;
  color: #073061;
}
div.paging span.current{
  background-color: #073061;
  color:#fff;
  display:inline;
  zoom:1;
  padding:2px 8px;
  text-decoration:none;
  display:inline-block;
  cursor:pointer;
}
div.paging span.paging-text a:hover{
  background: #073061;
  color: #fff;
  text-decoration:none;
  cursor:pointer;
}
@media print, screen and (min-width: 768px) {
  div.paging span.paging-text a{
    padding:5px 10px;
  }
  div.paging span.current{
    padding:5px 10px;
  }
}


/* form
---------------------------------------------------- */
.table_form{
  width:100%;
  border-collapse:collapse;
  background-color: #fff;
  border-bottom:1px solid #ddd;
}
.table_form th{
  border-top:1px solid #ddd;
  border-left:1px solid #ddd;
  border-right:1px solid #ddd;
  padding:10px;
  background-color:#f1f1f1;
  vertical-align:top;
  text-align:left;
  display: block;
}
.table_form td{
  border-left:1px solid #ddd;
  border-right:1px solid #ddd;
  padding:10px;
  display: block;
}
@media print, screen and (min-width: 768px) {
  .table_form th{
    padding:15px;
    vertical-align:middle;
    display:table-cell;
    width:30%;
  }
  .table_form td{
    border-top:1px solid #ddd;
    padding:15px;
    display:table-cell;
  }
}

/* 必須・任意 */
p.need:before{ content: "必須";background-color:#eb4595; color:#fff;padding:3px 5px; font-size:11px; font-weight:normal; margin-right:5px;vertical-align:middle;border-radius: 3px;}
.table_form th.need:after{ content: "必須";background-color:#eb4595; color:#fff;padding:3px 5px; font-size:11px; font-weight:normal; line-height: normal;vertical-align:middle; float: right;border-radius: 3px;}
.table_form th.any:after { content: "任意";background-color:#999; color:#fff;padding:3px 5px; font-size:11px; font-weight:normal; line-height: normal;vertical-align:middle; float: right; border-radius: 3px;}
.need input[type="text"],
.need input[type="password"],
.need select,
.need textarea{border:1px solid #fcc;/*background-color:#fee;*/ padding:14px;}
.need input[type="text"]:focus,
.need input[type="password"]:focus,
.need select:focus,
.need textarea:focus{border:1px solid #f66;}

/* テキストボックスのサイズ */
.form-xs{ width:70px;}
.form-s,.form-m,.form-l,.form100{width:100%}
.form-h{  width:100%; height: 100px;}
@media print, screen and (min-width: 768px) {
  .form-s{width:200px}
  .form-m{width:300px}
  .form-l{width:100%}
  .form-h{ width:100%;height:150px;}
}

/* フォーム関係タグの初期設定とデザイン */
input[type="checkbox"], input[type="radio"] {vertical-align:text-top;}
input[type="text"]{font-size:100%;vertical-align:middle; padding:14px;}
textarea{width:95%; height:100px;}
input[type="text"],
input[type="password"],
select{ border:1px solid #ddd;padding:14px; border-radius:4px}
input[type="text"]:focus,
textarea{ border:1px solid #ddd;padding:14px; border-radius:4px}
input[type="text"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus{border:1px solid #999; border-radius:4px;}
label{font-weight: normal;}

/* ラジオボタンのデザイン */
input[type="radio"] { 
  display:none;
  width:20px;
  height:20px;
  
}
input[type="radio"]+label {
  display:inline;
  font-size:100%;
  border:1px solid #333;
  border-radius:30px;
  padding:5px 10px;
  background:#fff;
  color:#333;
  line-height: 2.5em;
  cursor: pointer;
}
input[type="radio"]:checked+label {
  background:#333;
  color:#fff;
}

/* チェックボックスのデザイン */
input[type="checkbox"]+label{
	padding-left:	40px;	
	display:inline-block;
	cursor:	pointer;
	position:	relative;
}
input[type="checkbox"]+label:before {
	content:'';
	width:30px;	
	height:	30px;
	display:inline-block;
	position:	absolute;
	left:	0;
	background-color:	#fff;
  border: 1px solid #666;
	border-radius:5px;
}
input[type="checkbox"] {display:none;}
input[type="checkbox"]:checked + label:before {
	content:"\f00c";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
	font-size:20px;	
	color:#fff;
	background-color:	#666;
  vertical-align: middle;
}

/* placeholder */
::-webkit-input-placeholder {
  color: #999;
  opacity: 1;
}
:-moz-placeholder {
  color: #999;
}
::-moz-placeholder {
  color: #999;
  opacity: 1;
}
:-ms-input-placeholder {
  color: #999;
}

/* プライバシーポリシー */
.contact_privacy{
	margin:20px 0px;
	height:300px;
	overflow:auto;
	font-size:90%;
	line-height:1.5em;
	/*background-color:#eee;*/
  border: 1px solid #ccc;
	padding:15px;
}
.contact_privacy h3{
	font-size:140%;
	text-align:center;
	line-height:normal;
	margin-bottom:10px;
}
.contact_privacy h3 span{
  display: block;
  font-size: 80%;
  font-weight: bold;
}
.contact_privacy h4{
	margin-top:15px;
	overflow:hidden;
  font-size: 100%;
  font-weight: bold;
	margin-bottom:10px
}
.contact_privacy h4 span {
  position: relative;
  display: inline-block;
  margin-right: 0 2.5em;
  padding-right:0.5em;
  text-align: left;
}
.contact_privacy h4 span::before,
.contact_privacy h4 span::after {
  position: absolute;
  top: 50%;
  content: '';
  width: 800%;
  height: 1px;
  background-color: #333;
}
.contact_privacy h4 span::before { right: 100%;}
.contact_privacy h4 span::after { left: 100%;}
.contact_privacy ol{
  margin-left: 20px;
}
@media print, screen and (min-width: 768px) {
  .contact_privacy{
    margin:30px 0px;
    padding:20px;
  }
  .contact_privacy h3{
    font-size:150%;
    margin-bottom:20px;
  }
}
@media print, screen and (min-width: 992px) {
  .contact_privacy{
    padding:30px;
  }
}

/* buttonのデザイン */
input[type="button"],input[type="submit"]{-webkit-appearance: none; border-radius: 0;}/*iosのグラデ、角丸解除*/
.submit{
	width:100%;
	display:block;
	background-color:#3365be;
	border:1px solid #3365be;
	color: #fff;
	font-weight:normal;
	cursor:pointer;
	padding:10px 20px;
  border-radius: 30px;
}
@media print, screen and (min-width: 768px) {
  .submit{
    width:auto;
    display:inline;
    padding:20px 50px;
    height:auto;
    border-radius: 40px;
  }
}
@media print, screen and (min-width: 992px) {
  .submit{
    padding:20px 80px;
  }
}



/* common
---------------------------------------------------- */
a:hover img {
	opacity:0.8;
	filter: alpha(opacity=80);
}

iframe{ vertical-align: bottom;}

.bg-gray{
  background-color: #f5f5f5;
  padding: 30px 0px;
}
@media print, screen and (min-width: 768px) {
  .bg-gray{
    padding: 50px 0px 70px;
  }
}
@media print, screen and (min-width: 992px) {
  .bg-gray{
    padding: 80px 0px 90px;
  }
}

.bg-gray2{
  background-color: #f5f5f5;
  padding: 20px 0px;
}
@media print, screen and (min-width: 768px) {
  .bg-gray2{
    padding: 30px 0px;
  }
}
@media print, screen and (min-width: 992px) {
  .bg-gray2{
    padding: 50px 0px;
  }
}

.f-left {float: left;}
.f-right {float: right;}

.lsn{ list-style: none;}
.block{ display:block}
.dib{ display: inline-block;}
.bold{ font-weight:bold;}
.indent{ text-indent:-1em; margin-left:1em;}

@media print, screen and (min-width: 768px) {.tac-sm{ text-align: center;}}

/* フォントサイズ */
.small-xxs{ font-size:70%;}
@media print, screen and (min-width: 768px) {.small-xxs{ font-size:100%;}}
.small-xs{ font-size:80%;}
@media print, screen and (min-width: 768px) {.small-xs{ font-size:100%;}}
.small{font-size:85%;line-height:1.5em; font-weight:normal}
.fs100{ font-size: 100%;}
.middle{font-size:110%; line-height: 1.5em;}
@media print, screen and (min-width: 768px) {.middle{font-size:120%;line-height: 1.8em;}}
@media print, screen and (min-width: 992px) {.middle{font-size:130%; line-height: 1.8em;}}
.large{font-size:130%; line-height:normal;}
@media print, screen and (min-width: 768px) {.large{font-size:140%;}}
@media print, screen and (min-width: 992px) {.large{font-size:170%;}}
.x-large{font-size:140%;}
@media print, screen and (min-width: 768px) {.x-large{font-size:180%;}}
@media print, screen and (min-width: 992px) {.x-large{font-size:240%;}}

/* カラー */
.red{ color:#ff7e67;}
.blue{ color: #3365be;}
.skyblue{ color: #17bce5;}
.pink{ color: #eb4595;}
.yellow{ color: #fbf136;}

/* サイズ指定 */
.w-25{ width:25%}
.w-30{ width:30%}
.w-40{ width:40%}
.w-48{ width:48%}
.w-50{ width:50%}
.w-60{ width:60%}
.w-70{ width:70%}
.w-80{ width:80%}

.mb05{ margin-bottom:5px}
.mb10{ margin-bottom:10px}
.mb15{ margin-bottom:15px}
.mb20{ margin-bottom:20px}
.mb30{ margin-bottom:30px}
.mb40{ margin-bottom:40px}
.mb80{ margin-bottom:80px}
.mt10{ margin-top:10px}
.mt20{ margin-top:20px}
.ml10{ margin-left:10px}
.ml20{ margin-left:20px}
.mr05{ margin-right:5px}
.mr10{ margin-right:10px}

.mb-xs{ margin-bottom: 15px;}
@media print, screen and (min-width: 576px) { .mb-xs{ margin-bottom: 0px;}}
.mb-sp{ margin-bottom: 15px;}
@media print, screen and (min-width: 768px) { .mb-xs{ margin-bottom: 0px;}}
.mb-mobile{ margin-bottom: 5px;}
@media print, screen and (min-width: 992px) { .mb-mobile{ margin-bottom: 0px;}}

.mbottom{ margin-bottom: 30px;}
@media print, screen and (min-width: 768px) { .mbottom{ margin-bottom: 50px;}}
@media print, screen and (min-width: 992px) { .mbottom{ margin-bottom: 90px;}}
.mbottom2{ margin-bottom: 10px;}
@media print, screen and (min-width: 768px) { .mbottom2{ margin-bottom: 30px;}}
@media print, screen and (min-width: 992px) { .mbottom2{ margin-bottom: 50px;}}

