@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:90%;/* 基本のフォントサイズ */
	line-height:185%;/* 基本の行間 */
	font-family:FontAwesome, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#333;
	letter-spacing: 0.05em;
}


/* webfont
---------------------------------------------------- */
.gfont-e{font-family: 'Noto Sans JP', sans-serif;/*letter-spacing: 0.03em;*/}


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

.tel-link a:link{ color: #333;}

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

/* header
---------------------------------------------------- */
header{
	width: 100%;
	z-index: 1000;
	margin: 0;
	border-bottom: none;
	background-color: #fff;/*ヘッダーの背景色*/
	padding-top: 15px;
	padding-bottom: 10px;
}

.logo {
  float: left;
  height: auto;
  width: 100%;
  position: relative; z-index: 2;/*押す順番*/
}
.header_contact_xs{
  position: relative;z-index: 3;/*押す順番*/
}
.header_contact_xs img{ width: 20px;}
@media only screen and (max-width: 767px) {
	header{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
    background-color: #fff;
	}
  .logo{
    width: 160px;
  }
}
@media print, screen and (min-width: 768px) {
	/*h1 {width: 200px;}*/
  header{
    background:none;
    position: absolute;
    top: 0;
    left: 0;
    padding: 0px;
  }
  .logo{ 
    width: auto;
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
@media print, screen and (min-width: 992px) {
  .logo{ 
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

/* nav
---------------------------------------------------- */
.menu {font-size: 110%; 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 #ddd !important;}
.menu > ul > li a{padding:13px 15px !important;}
.menu > ul > li a:hover,
.menu li.navi-on a{
	color: #0086d3 !important;/*hover状態の色*/
}
.menu > ul > li { border-top: 1px solid #ddd !important; border-bottom: none!important;}/*ナビ間の線の色*/
/*.menu > ul > li > ul > li a {text-align: left!important;}*//*ハンバーガーメニュー内の文字左寄せ*/

@media only screen and (max-width: 767px) {
  .menu-container {
    margin-top: -20px!important;/*ハンバーガーメニューの位置調整*/
    position: relative; z-index: 1;/*押す順番*/
  }
}

@media print, screen and (min-width: 768px) {
	.menu {font-size: 80%; margin-right: -15px;}
  .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 a{
		padding: 22px 0px 0px 0px!important;
		text-align: center!important;
    margin-right: 18px;
	}
	.menu > ul > li a:hover,
	.menu li.navi-on a{
    border-bottom: 1px solid #0086d3;
		/*background: url(../images/navi-on.png) repeat-x bottom;*//*hover時下線を出す*/
	}
	.menu > ul > li { border-top: 0 !important;}
	.menu > ul > li > ul.normal-sub > li {margin: 0px 0!important;}

  .menu .header-contact { float: right; text-align: center;font-family: 'Noto Sans JP', sans-serif; font-size: 120%; font-weight: bold;}
  .menu .header-contact span{ display: block;padding: 25px 10px 0px;  background-color: #0086d3; color: #fff; min-height: 62px;}
  .menu .header-contact i{  margin-right: 5px;}
}
  
@media print, screen and (min-width: 992px) {
	.menu {font-size: 100%;}/*ナビのフォントサイズ*/
  .menu > ul > li a{
		padding: 27px 0px 0px 0px!important;
    margin-right: 25px;
    /*transition: all 0.3s ease 0s;*/
  }
	.menu .show-on-mobile {padding-top: 0!important;}
	.menu-dropdown-icon > a {margin-left: 0;}
  
  .menu .header-contact{ font-size: 130%;}
  .menu .header-contact span{ padding: 30px 20px 0px; min-height: 79px;}
}
@media print, screen and (min-width: 1200px) {
	.menu {font-size: 105%;}/*ナビのフォントサイズ*/
  .menu > ul > li a{
		padding: 32px 0px 0px 0px!important;
    margin-right: 40px;
  }
  .menu .header-contact{ font-size: 140%;}
  .menu .header-contact span{ padding: 32px 30px 0px; min-height: 85px;}
}


/* nav固定
---------------------------------------------------- */
.cb-header {
	position: fixed; /* ヘッダーバーを固定 */
	top: -200px;
	left: 0;
	width: 100%;
	z-index: 1000;
	background-color: #fff;/*あとから出てくるナビの背景色*/
  border-bottom: 1px solid #111;
}
/*.cb-header .logo{ padding: 10px 0;}*/
/*.cb-header nav {font-size: 85%;}*/

@media print, screen and (min-width: 768px) {
  .cb-header{padding: 20px 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 2px 0px!important;}
  .cb-header .menu > ul > li > ul {font-size: 100%;}
}

@media print, screen and (min-width: 992px) {
	/*.cb-header .menu {font-size: 100%;}*/
  /*.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;
  }
  .cb-header .logo{
    display: none;
  }
  .cb-header .menu{
    display: none;
  }
}

/* mainimage
---------------------------------------------------- */

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


/* footer
---------------------------------------------------- */
footer {
  padding: 20px 0px 0px;
  border-top: 6px solid #0086d3;
  font-size: 90%;
  line-height: 1.5em;
}
footer img{width: 70%;}
footer p{ margin-bottom: 10px;}
@media print, screen and (min-width: 768px) {
  footer{
    padding: 30px 0px 0px;
  }
  footer p{ margin-bottom: 20px;}
}
footer p{ margin-bottom: 10px;}
@media print, screen and (min-width: 992px) {
  footer{
    padding: 40px 0px 0px;
  }
  footer img{width:auto;}
  footer p{ margin: 10px 0px 20px;}
}

/* フッターテキストリンク */
#footer-textlink{
  border-bottom: 1px solid #ddd;
  margin-bottom: 15px;
}
#footer-textlink li{
  list-style: none;
  border-top: 1px solid #ddd;
  padding: 10px 10px;
}
#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{
    border-bottom:none;
    margin-bottom: 0px;
    float: right;
  }
  #footer-textlink li{
    display: inline-block;
    padding:0px 15px;
    border-top:none;
    line-height: 1.0em;
  }
  #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{
    text-align: right;
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 1200px) {
  #footer-textlink li{
    font-size: 100%;
  }
}

/* copyright*/
footer small{
  display: block;
  background-color: #0086d3;
  padding: 10px 0px;
  color: #fff;
  font-size: 75%;
  text-align: center;
}
footer small i{ margin-right: 5px;}
@media print, screen and (min-width: 768px) {
  footer small{
    clear: both;
    font-size: 90%;
    padding: 15px 0px;
  }
}


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

/* index.html（トップページ）
---------------------------------------------------- */
/* business */
#top_business{
  background: url("../images/bg_top_business.png") no-repeat top;
  color: #fff;
  padding: 30px 0px;
}
#top_business h2{
  text-align: center;
  font-size: 150%;
  font-weight: bold;
  margin-bottom: 20px;
}
#top_business h2 span{
  display: block;
  color: #132eb6;
  font-size: 60%;
  font-family: 'Noto Sans JP', sans-serif;
}
#top_business ul{
  list-style: none;
  margin-bottom: 20px;
}
#top_business ul li{
  margin-top: 15px;
  width: 50%;
  float: left;
}
@media print, screen and (min-width: 768px) {
  #top_business{
    padding: 50px 0px;
  }
  #top_business h2{
    font-size: 180%;
  }
  #top_business p{
    text-align: center;
  }
  #top_business ul{
    display: table;
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 20px 0;
    margin: 30px 0px;
  }
  #top_business ul li{
    float: none;
    width: auto;
    display: table-cell;
    margin: 0;
  }
}
@media print, screen and (min-width: 992px) {
  #top_business h2{
    font-size: 240%;
  }
  #top_business p{
    font-size: 120%;
    line-height: 2.0em
  }
  #top_business ul{
    display: table;
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 20px 0;
    margin: 30px 0px;
  }
  #top_business ul li{
    float: none;
    width: auto;
    display: table-cell;
    margin: 0;
  }
}

/* Introduction */
#top_introduction{
  background: url("../images/bg_top_introduction.png") no-repeat top;
  background-size: contain;  
  padding: 40px 0px 30px;
}
#top_introduction h2{
  text-align: center;
  font-size: 150%;
  font-weight: bold;
  color: #fff;
  margin-bottom: 30px;
}
#top_introduction h2 span{
  display: block;
  color: #132eb6;
  font-size: 60%;
  font-family: 'Noto Sans JP', sans-serif;
}
#top_introduction p{
  margin-bottom: 15px;
}
@media print, screen and (min-width: 768px) {
  #top_introduction{
    background-size: cover;
    padding: 90px 0px 50px;
  }
  #top_introduction h2{
    font-size: 180%;
  }
  #top_introduction p{
    text-align: center;
    color: #fff;
    margin-bottom: 15px;
  }
}
@media print, screen and (min-width: 992px) {
  #top_introduction{
    background-size: auto;
    padding: 150px 0px 70px;
  }
  #top_introduction h2{
    font-size: 240%;
    text-align: left;
  }
  #top_introduction p{
    text-align: left;
    font-size: 105%;
    line-height: 2.0em;
    margin-bottom: 30px;
  }
}

/* Recruit */
#top_recruit{
  padding: 0px 0px 30px;
}
#top_recruit h2{
  margin-top: 20px;
  font-size: 150%;
  font-weight: bold;
  margin-bottom: 20px;
}
#top_recruit h2 span{
  display: block;
  color: #132eb6;
  font-size: 60%;
  font-family: 'Noto Sans JP', sans-serif;
}
#top_recruit h3{
  color: #42a3da;
  font-size: 110%;
  font-weight: bold;
  margin-bottom: 10px;
}
#top_recruit p{
  margin-bottom: 15px;
}
@media print, screen and (min-width: 768px) {
  #top_recruit{
    background: url("../images/bg_top_recruit.png") no-repeat top;
    background-size: cover;
    padding: 50px 0px;
  }
  #top_recruit h2{
    font-size: 180%;
  }
  #top_recruit p{
    margin-bottom: 15px;
  }
}
@media print, screen and (min-width: 992px) {
  #top_recruit{
    padding: 70px 0px;
  }
  #top_recruit h2{
    font-size: 240%;
    text-align: left;
  }
  #top_recruit p{
    text-align: left;
    font-size: 105%;
    line-height: 2.0em;
    margin-bottom: 30px;
  }
}


/* business.html（業務内容）
---------------------------------------------------- */
.business_text,
.business_text2{
  border: 1px solid #0086d3;
  padding: 15px;
  background-color: rgba(255,255,255,0.7);
  margin-bottom: 20px;
}
.business_text h5,
.business_text2 h5{
  text-align: center;
  font-size: 130%;
  font-weight: bold;
  color: #132eb6;
  margin-bottom: 15px;
}
@media print, screen and (min-width: 768px) {
  .business_img{
    position: relative;
    width: 400px;
    margin-bottom: 30px;
  }
  .business_text{
    padding: 30px;
    position: absolute;
    width: 500px;
    top: 40px;
    right: 0px;
    margin-right: 15px;
    margin-bottom: 30px;
  }
  
  .business_img2{
    position: relative;
    width: 400px;
    float: right;
    margin-bottom: 30px;
    z-index: 1;
  }
  .business_text2{
    padding: 30px;
    position: absolute;
    width: 500px;
    top: 40px;
    left: 0px;
    margin-left: 15px;
    margin-bottom: 30px;
    z-index: 2;
  }
}
@media print, screen and (min-width: 992px) {
  .business_img{
    width: 500px;
    margin-bottom: 50px;
  }
  .business_text{
    padding: 40px;
    width: 500px;
    top: 60px;
    margin-bottom: 50px;
  }
  .business_img2{
    width: 500px;
    margin-bottom: 50px;
  }
  .business_text2{
    padding: 40px;
    width: 500px;
    top: 60px;
    margin-bottom: 50px;
  }
  .business_text h5,
  .business_text2 h5{
    font-size: 160%;
  }
}
@media print, screen and (min-width: 1200px) {
  .business_img{
    width: 600px;
    margin-bottom: 50px;
  }
  .business_text{
    padding: 40px;
    width: 650px;
    top: 80px;
    margin-bottom: 50px;
  }
  .business_img2{
    width: 600px;
    margin-bottom: 50px;
  }
  .business_text2{
    padding: 40px;
    width: 650px;
    top: 80px;
    margin-bottom: 50px;
  }
  .business_text h5,
  .business_text2 h5{
    font-size: 180%;
  }
}


/* recruit.html（採用情報）
---------------------------------------------------- */
.recruit_step{
  text-align: center;
}
.recruit_step img{
  border-radius: 50%;
  margin-bottom: 10px;
}
.recruit_step h5{
  color: #132eb6;
  font-size: 100%;
  font-weight: bold;
  font-family: 'Noto Sans JP', sans-serif;
}
.recruit_step p{
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .recruit_step h5{
    font-size: 140%;
  }
  .recruit_step p{
    font-size: 120%;
  }
}


/* company.html（会社概要）
---------------------------------------------------- */
.access iframe{
  height: 350px;
}
@media print, screen and (min-width: 768px) {
  .access iframe{
    height: 450px;
  }
}


/* contact.html（お問い合わせ）
---------------------------------------------------- */
.contact_box{
  text-align: center;
  margin-bottom: 10px;
}
.contact_box h4{
  background-color: #666;
  border-radius: 10px 10px 0px 0px;
  color: #fff;
  font-size: 100%;
  font-weight: bold;
  padding: 10px;
}
.contact_box p{
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-radius: 0px 0px 10px 10px;
  padding: 15px;
  font-size: 110%;
  font-weight: bold;
  font-family: 'Noto Sans JP', sans-serif;
}
.contact_box p i{ margin-right: 5px;}
@media print, screen and (min-width: 768px) {
  .contact_box{
    margin-bottom: 0px;
  }
  .contact_box h4{
    font-size: 120%;
    padding: 15px;
  }
  .contact_box p{
    padding: 20px;
    font-size: 160%;
  }
}
@media print, screen and (min-width: 768px) {
  .contact_box p{
    padding: 30px;
    font-size: 180%;
  }
}



/* タイトル
---------------------------------------------------- */
#h2-style_business{  background: url("../images/bg_h2_business.jpg") no-repeat center; background-size: cover; }
#h2-style_recruit{  background: url("../images/bg_h2_recruit.jpg") no-repeat center; background-size: cover; }
#h2-style_company{  background: url("../images/bg_h2_company.jpg") no-repeat center; background-size: cover; }
#h2-style_company2{  background: url("../images/bg_h2_company2.jpg") no-repeat center; background-size: cover; }
#h2-style_contact{  background: url("../images/bg_h2_contact.jpg") no-repeat center; background-size: cover; }
.h2-style{
  margin-bottom: 30px;
}
.h2-style h2{
  margin-top: 85px;
  background-color: #fff;
  padding: 20px 0px;
  text-align: center;
  font-size: 150%;
  font-weight: bold;
}
.h2-style h2 span{
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 60%;
  color: #132eb6;
}
@media print, screen and (min-width: 768px) {
  .h2-style{
    margin-bottom: 50px;
  }
  .h2-style h2{
    margin-top: 120px;
    padding: 40px 0px;
    font-size: 180%;
  }
}
@media print, screen and (min-width: 992px) {
  .h2-style{
    margin-bottom: 80px;
  }
  .h2-style h2{
    margin-top: 160px;
    padding: 50px 0px;
    font-size: 240%;
  }
}

.h3-style{
  padding-bottom: 5px;
  border-bottom: 4px solid #ddd;
  font-size: 110%;
  font-weight: bold;
  line-height: normal;
  margin-bottom: 20px;
}
.h3-style span{
  padding-bottom: 5px;
  border-bottom: solid 4px #132eb6;
  
}
@media print, screen and (min-width: 768px){
  .h3-style{
    font-size: 140%;
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 992px){
  .h3-style{
    font-size: 190%;
    margin-bottom: 30px;
  }
}




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

.table-style2{
	width:100%;
}
.table-style2 th{
	display: block;
	text-align:center;
	padding:5px 10px;
	background-color:#036;
	color:#fff;
}
.table-style2 td{
	display: block;
	padding:5px 10px;
	border-left:1px solid #ddd;
	border-right:1px solid #ddd;
	border-bottom:1px solid #ddd;
}
@media (min-width: 768px) {
.table-style2 th{
	display:table-cell;
	vertical-align:middle;
	width:25%;
  border-top:1px solid #036;
	border-bottom:1px solid #ddd;
}
.table-style2 td{
	display:table-cell;
	padding:10px 15px;
	border-top:1px solid #ddd;
	border-left:none;
}
}


/* ボタン
---------------------------------------------------- */
.btn-style{
	display:block;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  background-color: #132eb6;
  border: 2px solid #132eb6;
  padding:7px 20px;
  text-align:center;
  transition: all 0.3s ease 0s;
}
.btn-style:link,
.btn-style:visited,
.btn-style:active{ color:#fff; text-decoration:none}
.btn-style:hover{
  color: #132eb6;
  border: 2px solid #132eb6;
  background-color: #fff;
}
.btn-style i{ float: right; padding-top: 5px}


.btn-detail{
  display: inline-block;
  border:2px solid #111;
	background-color:#111;
	padding:5px 10px;
  line-height: normal;
  border-radius: 30px;
  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: 992px) {
  .btn-detail{
    padding:10px;
    display: inline-block;
    margin-right: 20px;
  }
}

/* 戻るボタン */
.btn-back{
  margin-top:20px;
	background-color:#007440;
	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: scale-down;
	 font-family: 'object-fit: scale-down;';
	 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 #111;
  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: #333;
}
div.paging span.current{
  background-color: #111;
  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: #111;
  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 #ccc;
}
.table_form th{
  border-top:1px solid #ccc;
  border-left:1px solid #ccc;
  border-right:1px solid #ccc;
  padding:10px;
  background-color:#eee;
  vertical-align:top;
  text-align:left;
  display: block;
}
.table_form td{
  border-left:1px solid #ccc;
  border-right:1px solid #ccc;
  padding:10px;
  display: block;
}
@media print, screen and (min-width: 768px) {
  .table_form th{
    padding:15px;
    vertical-align:middle;
    display:table-cell;
    width:20%;
  }
  .table_form td{
    border-top:1px solid #ccc;
    padding:15px;
    display:table-cell;
  }
}

/* 必須・任意 */
p.need:before{ content: "必須";background-color:#c00; 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:#c00; 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:60px;}
.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,
textarea{ border:1px solid #ddd;/*background-color:#eee;*/ padding:14px; border-radius:4px}
input[type="text"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus{border:1px solid #999;}
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:#0086d3;
	border:1px solid #0086d3;
	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
---------------------------------------------------- */
.box{
  border:3px solid #111;
  border-radius: 15px;
  padding: 15px;
}
@media print, screen and (min-width: 768px) {.box{ padding: 20px; }}
@media print, screen and (min-width: 992px) {.box{ padding: 30px; }}

.bg-gray{ background: url("../images/bg_top_about.jpg") no-repeat top center; padding: 30px 0px;}
@media print, screen and (min-width: 768px) {.bg-gray{ padding: 50px 0px;}}
@media print, screen and (min-width: 992px) {.bg-gray{ padding: 80px 0px; }}

a:hover img {
	opacity:0.8;
	filter: alpha(opacity=80);
}

iframe{ vertical-align: bottom;}

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

.lsn{ list-style: none;}
.block{ display: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}
.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:150%;}}
@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%;}}

/* カラー */
.blue{color:#132eb6;}
.skyblue{ color:#42a3da;}
.red{ color:#8b2d2d;}

/* サイズ指定 */
.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: 768px) { .mb-xs{ 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: 20px;}}
@media print, screen and (min-width: 992px) { .mbottom2{ margin-bottom: 30px;}}

