@charset "UTF-8";
/*
こちらはscssで管理しています。styles.cssは編集しないでください。
cssの修正はedit.cssに書いてください。
*/
/*media queries*/
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,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

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

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input,
select {
  vertical-align: middle;
}

html {
  font-size: 62.5%;
}

body {
  font: 1.4em arial, helvetica, clean, sans-serif;
}

select,
input,
button,
textarea {
  font: 99% arial, helvetica, clean, sans-serif;
}

table {
  font-size: inherit;
  font: 100%;
}

pre,
code,
kbd,
samp,
tt {
  font-family: monospace;
  *font-size: 108%;
  line-height: 100%;
}

h1 p,
h2 p,
h3 p,
h4 p,
h5 p,
h6 p,
p p,
blockquote p,
pre p,
dl p,
ol p,
ul p,
th p,
td p,
dd p,
dt p {
  font-size: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}

img {
  border: none;
  -ms-interpolation-mode: bicubic;
  /* IE7 Resize with html */
}

strong {
  font-weight: bold;
}

em {
  font-weight: bold;
}

p {
  margin: 0 0 15px 0;
  font-size: 14px;
}

ul {
  margin: 0 0 0px 0;
  list-style: none;
}

dl {
  margin: 0 0 0px 0;
}

dl dt {
  margin: 0 0 0px 0;
}

dl dt a {
  font-weight: bold;
}

dl dd {
  margin: 0 0 0px 0px;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
  font-size: inherit;
  font: 100%;
}

th,
td {
  vertical-align: top;
  text-align: left;
}

div {
  box-sizing: border-box;
  font-size: 14px;
}

/*Image Hover*/
a:hover img,
span:hover img.hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha( opacity=80 )";
}

/* clearfix */
.cf,
header .header_logo,
header .gNavi ul,
#gContainer,
.breadcrumbs,
.footer_fb .facebook,
footer .footer_navi,
.inner,
article.about .report_foot .box,
article.about .company .first_block,
article.achievement .interview .box,
article.achievement .recruit_foot .box,
article.contact .contact_top a.box,
article.faq .faq_foot .box,
article.information section.top_area .header,
article.information section.interview .cat_title,
article.office .category ul,
article.office .title_block ul.menu,
article.office .sub_menu ul,
article.office .works .global_box,
article.office .list p,
article.recruit .recruit_foot .box,
article.top .contents01,
article.top .contents02 {
  *zoom: 1;
}
.cf:after,
header .header_logo:after,
header .gNavi ul:after,
#gContainer:after,
.breadcrumbs:after,
.footer_fb .facebook:after,
footer .footer_navi:after,
.inner:after,
article.about .report_foot .box:after,
article.about .company .first_block:after,
article.achievement .interview .box:after,
article.achievement .recruit_foot .box:after,
article.contact .contact_top a.box:after,
article.faq .faq_foot .box:after,
article.information section.top_area .header:after,
article.information section.interview .cat_title:after,
article.office .category ul:after,
article.office .title_block ul.menu:after,
article.office .sub_menu ul:after,
article.office .works .global_box:after,
article.office .list p:after,
article.recruit .recruit_foot .box:after,
article.top .contents01:after,
article.top .contents02:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.mt0 {
  margin-top: 0px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mr0 {
  margin-right: 0px !important;
}

.ml0 {
  margin-left: 0px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pr0 {
  padding-right: 0px !important;
}

.pl0 {
  padding-left: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.ml5 {
  margin-left: 5px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pl5 {
  padding-left: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.pr55 {
  padding-right: 55px !important;
}

.pl55 {
  padding-left: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mr65 {
  margin-right: 65px !important;
}

.ml65 {
  margin-left: 65px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.pb65 {
  padding-bottom: 65px !important;
}

.pr65 {
  padding-right: 65px !important;
}

.pl65 {
  padding-left: 65px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pr70 {
  padding-right: 70px !important;
}

.pl70 {
  padding-left: 70px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mr75 {
  margin-right: 75px !important;
}

.ml75 {
  margin-left: 75px !important;
}

.pt75 {
  padding-top: 75px !important;
}

.pb75 {
  padding-bottom: 75px !important;
}

.pr75 {
  padding-right: 75px !important;
}

.pl75 {
  padding-left: 75px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pr80 {
  padding-right: 80px !important;
}

.pl80 {
  padding-left: 80px !important;
}

.mt85 {
  margin-top: 85px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.mr85 {
  margin-right: 85px !important;
}

.ml85 {
  margin-left: 85px !important;
}

.pt85 {
  padding-top: 85px !important;
}

.pb85 {
  padding-bottom: 85px !important;
}

.pr85 {
  padding-right: 85px !important;
}

.pl85 {
  padding-left: 85px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.ml90 {
  margin-left: 90px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pr90 {
  padding-right: 90px !important;
}

.pl90 {
  padding-left: 90px !important;
}

.mt95 {
  margin-top: 95px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.mr95 {
  margin-right: 95px !important;
}

.ml95 {
  margin-left: 95px !important;
}

.pt95 {
  padding-top: 95px !important;
}

.pb95 {
  padding-bottom: 95px !important;
}

.pr95 {
  padding-right: 95px !important;
}

.pl95 {
  padding-left: 95px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.mr100 {
  margin-right: 100px !important;
}

.ml100 {
  margin-left: 100px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.pr100 {
  padding-right: 100px !important;
}

.pl100 {
  padding-left: 100px !important;
}

hr {
  border-color: #c8c9ca;
  border-style: dotted;
  border-width: 1px 0px 0px 0px;
  height: 1px;
  margin: 30px 0 !important;
}

img {
  vertical-align: bottom;
}

img.b,
img.boxPart,
.b {
  display: block !important;
}

.floatRight,
.fR {
  float: right;
  display: inline;
}

.floatLeft,
.fL {
  float: left;
  display: inline;
}

.ul-fL li {
  float: left;
  display: inline;
}

.ul-fR li {
  float: right;
  display: inline;
}

.leftImg,
.iL {
  float: left;
  display: inline;
  margin: 0 10px 5px 0;
}

.rightImg,
.iR {
  float: right;
  display: inline;
  margin: 0 0 5px 10px;
}

.clear,
.clearCol {
  clear: both;
  font: 1px/1px monospace;
}

.alignRight,
.aR {
  text-align: right;
}

.alignCenter,
.aC {
  text-align: center;
}

.alignLeft,
.aL {
  text-align: left !important;
}

.disnon {
  display: none;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.vT {
  vertical-align: top;
}

.vM {
  vertical-align: middle;
}

.vB {
  vertical-align: bottom;
}

@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

@media only screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

.opa,
.btn a:hover,
article.contact .form input[type="submit"]:hover,
article.contact .form input[type="reset"]:hover,
article.contact .form input[type="button"]:hover,
article.faq .category .q:hover {
  text-decoration: none;
  opacity: 0.8;
  filter: alpha(opacity=80);
}

.flex {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.oH {
  overflow: hidden;
}

/* Font
------------------------------------------------------------------*/
/* type */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}
h1 .type01,
h2 .type01,
h3 .type01,
h4 .type01,
h5 .type01,
h6 .type01 {
  color: #ff9900;
}

html,
body {
  width: 100%;
}

body {
  width: 100%;
  background: #ffffff;
  color: #3f3b3a;
  font-family: Helvetica, Arial, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "游ゴシック", "Yu Gothic", YuGothic, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.6;
  margin: auto;
}
@media only screen and (min-width: 768px) {
  body {
    min-width: 1140px;
  }
}

input,
textarea {
  font-family: Helvetica, Arial, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "游ゴシック", "Yu Gothic", YuGothic, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

* html body,
* html input,
* html textarea {
  font-family: Helvetica, Arial, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "游ゴシック", "Yu Gothic", YuGothic, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

a:link {
  color: #1d50a2;
  text-decoration: none;
}
a:visited {
  color: #1d50a2;
}
a:hover {
  color: #1d50a2;
  text-decoration: underline;
}

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

p {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  p {
    font-size: 1.4rem;
  }
}

a.over:hover img {
  opacity: 1;
  filter: alpha(opacity=100);
  -ms-filter: "alpha( opacity=100 )";
}

/* Common Layout
------------------------------------------------------------------*/
/*
#gWrapper
*/
@media only screen and (max-width: 767px) {
  #gWrapper {
    padding-top: 50px;
  }
}

header {
  background-color: #fff;
  width: 100%;
  z-index: 999;
  border-bottom: 4px solid #1d50a2;
  position: relative;
}
@media only screen and (max-width: 767px) {
  header {
    position: fixed;
    top: 0;
    height: 50px;
    z-index: 999;
    box-sizing: border-box;
  }
}
header .header_txt {
  background-color: #dfdedd;
  color: #727171;
  height: 30px;
  line-height: 30px;
}
@media only screen and (max-width: 767px) {
  header .header_txt {
    display: none;
  }
}
header .header_txt a {
  color: #727171;
}
header .header_txt h1 {
  float: left;
  font-weight: normal;
  font-size: 1.2rem;
}
header .header_txt ul {
  float: right;
}
header .header_txt ul li {
  display: inline-block;
  padding: 0 1em 0 0;
  font-size: 1.2rem;
}
header .header_txt ul li:before {
  content: "｜";
  margin-right: 1em;
}
header .header_txt ul li:last-child:after {
  content: "｜";
  margin-left: 1em;
}
header .header_logo {
  padding-top: 10px;
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  header .header_logo {
    padding-top: 0;
  }
}
@media only screen and (max-width: 767px) {
  header .header_logo .logo {
    float: left;
    display: block;
    padding-top: 5px;
    max-width: 150px;
  }
}
header .header_logo .header_btn {
  display: block;
  float: right;
  margin-top: 5px;
}
@media only screen and (max-width: 767px) {
  header .header_logo .header_btn {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  header .gNavi {
    display: none;
  }
}
header .gNavi ul li {
  box-sizing: border-box;
  float: left;
  width: 182px;
  height: 60px;
  padding-bottom: 10px;
  text-align: center;
  position: relative;
}
header .gNavi ul li a {
  display: block;
  border-right: 1px dotted #a1a1a2;
  width: 100%;
  height: 50px;
  position: relative;
}
header .gNavi ul li a img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
header .gNavi ul li:first-child a {
  border-left: 1px dotted #a1a1a2;
}
header .gNavi ul li ul.sub-menu {
  display: none;
  position: absolute;
  top: 64px;
  z-index: 9999;
  left: 0;
  border: 1px solid #1d50a2;
  border-bottom: none;
  background-color: #fff;
}
header .gNavi ul li ul.sub-menu li {
  border-bottom: 1px solid #1d50a2;
  float: none;
  width: 182px;
  height: 30px;
  text-align: left;
}
header .gNavi ul li ul.sub-menu li a {
  box-sizing: border-box;
  border-right: none;
  display: block;
  height: 30px;
  padding: 5px 0 0 10px;
  font-size: 1.5rem;
}
header .gNavi ul li ul.sub-menu li a:hover {
  background-color: #1d50a2;
  color: #fff;
}
header .gNavi ul li:hover {
  background: url(../img/navi_arrow.png) center bottom no-repeat;
  background-size: 12px 10px;
}

.overlay {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 98;
}

.spmenu {
  position: fixed;
  top: 0;
  right: 0;
  cursor: pointer;
  width: 70px;
  height: 70px;
  background-color: #1d50a2;
  color: #fff;
  text-align: center;
  line-height: 75px;
  font-size: 4rem;
  z-index: 1000;
}
@media only screen and (min-width: 768px) {
  .spmenu {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .spmenu {
    width: 50px;
    height: 50px;
    font-size: 3rem;
    line-height: 50px;
  }
}

#gNavisp {
  height: 100vh;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 998;
}
@media only screen and (min-width: 768px) {
  #gNavisp {
    display: none;
  }
}
#gNavisp ul {
  position: fixed;
  width: 100%;
  top: 0;
  right: 0;
  z-index: 91;
  background-color: #fff;
  padding-top: 50px;
}
#gNavisp ul li {
  border-bottom: 1px solid #1d50a2;
}
#gNavisp ul li a {
  color: #1d50a2;
  display: block;
  padding: 10px 10px 10px 20px;
}
#gNavisp .sp_overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 90;
  background-color: rgba(255, 255, 255, 0.7);
}
@media only screen and (min-width: 768px) {
  #gNavisp .sp_overlay {
    display: none;
  }
}

article {
  padding-top: 60px;
}
@media only screen and (max-width: 767px) {
  article {
    padding-top: 20px;
  }
}
article.top {
  padding-top: 0;
}

/*
#gContainer
*/
#gContainer {
  width: 1100px;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  #gContainer {
    width: 100%;
  }
}

.main {
  width: 840px;
  float: left;
}
@media only screen and (max-width: 767px) {
  .main {
    float: none;
    width: 100%;
    padding: 0 10px;
  }
}

.sidebar {
  width: 240px;
  float: right;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .sidebar {
    float: none;
    width: 100%;
    padding: 0 10px;
    margin-top: 40px;
  }
  .sidebar .menu {
    display: none;
  }
  .sidebar .office {
    display: none;
  }
}
.sidebar ul li {
  margin-bottom: 5px;
}
.sidebar .report {
  background: url(../img/sidebar/report_bg.png) center top no-repeat;
  background-size: 240px auto;
  padding: 10px 0;
}
.sidebar .report .report_title {
  margin-bottom: 5px;
}
.sidebar .report ul li {
  margin-bottom: 0;
}

.breadcrumbs {
  font-size: 0.9rem;
  margin: 10px auto 25px auto;
}
@media only screen and (min-width: 768px) {
  .breadcrumbs {
    width: 1100px;
  }
}
@media only screen and (max-width: 767px) {
  .breadcrumbs {
    padding: 0 10px;
  }
}

.pagetop {
  display: block;
  position: fixed;
  right: 0;
  bottom: 50px;
  width: 50px;
  height: 50px;
  z-index: 999;
}
@media only screen and (max-width: 767px) {
  .pagetop {
    right: 0;
  }
}
.pagetop img {
  width: 50px;
}

.footer_fb {
  background: url(../img/footer_bg.jpg) center top no-repeat;
  margin-top: 80px;
  position: relative;
  text-align: center;
  padding: 8px 0 0 0;
}
@media only screen and (max-width: 767px) {
  .footer_fb {
    margin-top: 60px;
    background-image: none;
  }
}
.footer_fb .facebook {
  width: 940px;
  margin: auto;
  min-height: 530px;
}
@media only screen and (max-width: 767px) {
  .footer_fb .facebook {
    background-color: #1d50a2;
    width: 100%;
    min-height: 0;
    padding: 0 20px 20px 20px;
  }
}
.footer_fb .facebook .fb_text {
  float: left;
  width: 340px;
  padding: 130px 0 0 0;
}
@media only screen and (max-width: 767px) {
  .footer_fb .facebook .fb_text {
    float: none;
    width: 100%;
    padding: 25px 0;
  }
}
.footer_fb .facebook .fb_text img {
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  .footer_fb .facebook .fb_text img {
    display: block;
    margin: 0 auto 15px auto;
    width: 200px;
  }
}
.footer_fb .facebook .fb_text .bd {
  display: inline-block;
  padding: 15px 20px;
  border: 1px solid #fff;
  margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
  .footer_fb .facebook .fb_text .bd {
    margin-bottom: 20px;
    padding: 10px 15px;
  }
}
.footer_fb .facebook .fb_text .bd img {
  margin-bottom: 0;
}
.footer_fb .facebook .fb_text a img {
  margin-bottom: 0;
}
.footer_fb .facebook .fb-page {
  display: block;
  width: 500px;
  float: right;
}
@media only screen and (max-width: 767px) {
  .footer_fb .facebook .fb-page {
    float: none;
    width: 100%;
  }
}

footer {
  margin-top: 80px;
  position: relative;
  text-align: center;
  padding: 8px 0 0 0;
  border-top: 5px solid #1d50a2;
}
@media only screen and (max-width: 767px) {
  footer {
    margin-top: 60px;
  }
}
footer.top {
  border-top: none;
  margin-top: 0;
}
footer .footer_navi {
  margin-top: 40px;
  width: 735px;
  float: left;
}
@media only screen and (max-width: 767px) {
  footer .footer_navi {
    float: none;
    width: 100%;
    margin-top: 20px;
  }
}
footer .footer_navi .title {
  background-color: #1d50a2;
  color: #fff;
  text-align: center;
  height: 30px;
  line-height: 30px;
}
footer .footer_navi ul {
  padding-left: 1.5em;
}
@media only screen and (max-width: 767px) {
  footer .footer_navi ul {
    margin-bottom: 15px;
    padding-left: 1em;
  }
}
footer .footer_navi ul li {
  position: relative;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  footer .footer_navi ul li {
    font-size: 1.2rem;
  }
}
footer .footer_navi ul li:before {
  display: block;
  content: "";
  position: absolute;
  top: 0.5em;
  left: -1em;
  width: 6px;
  height: 6px;
  border-right: 1px solid #1d50a2;
  border-bottom: 1px solid #1d50a2;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
footer .footer_navi ul li a {
  color: #727171;
}
footer .footer_navi .box1 {
  float: left;
  width: 220px;
}
@media only screen and (max-width: 767px) {
  footer .footer_navi .box1 {
    float: none;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  footer .footer_navi .box1 ul {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  footer .footer_navi .box1 ul li {
    width: 50%;
    font-size: 1.2rem;
  }
}

footer .footer_navi .box2 {
  float: right;
  width: 500px;
}
@media only screen and (max-width: 767px) {
  footer .footer_navi .box2 {
    float: none;
    width: 100%;
  }
}
footer .footer_navi .box2 ul {
  box-sizing: border-box;
  float: left;
  width: 250px;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  footer .footer_navi .box2 ul {
    float: none;
    width: 100%;
  }
  footer .footer_navi .box2 ul.spmgb0 {
    margin-bottom: 0;
  }
}
footer .footer_navi .box2 p.title {
  clear: both;
}
footer .footer_logo {
  margin-top: 60px;
  width: 305px;
  float: right;
}
@media only screen and (max-width: 767px) {
  footer .footer_logo {
    float: none;
    width: 100%;
    margin-top: 0;
  }
}
footer .footer_logo img {
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  footer .footer_logo img {
    display: block;
    margin: 0 auto 15px auto;
    width: 200px;
  }
}
footer .footer_logo .add {
  border: 1px solid #727171;
  padding: 10px 0 10px 40px;
  text-align: left;
  color: #727171;
}
@media only screen and (max-width: 767px) {
  footer .footer_logo .add {
    display: inline-block;
    font-size: 1.2rem;
    padding: 5px 10px;
    margin-bottom: 20px;
  }
}
footer .copy {
  background-color: #1d50a2;
  color: #fff;
  font-size: 0.9rem;
  height: 30px;
  line-height: 30px;
}

/* Common Layout
------------------------------------------------------------------*/
.inner {
  box-sizing: border-box;
  width: 1100px;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  .inner {
    width: 100%;
    padding: 0 10px;
  }
}

.btn {
  text-align: center;
  margin-top: 40px;
}
.btn a {
  background-color: #1d50a2;
  color: #fff;
  display: inline-block;
  width: 280px;
  text-align: center;
  padding: 10px 0;
  font-size: 1.6rem;
  font-weight: bold;
  border-radius: 5px;
}

h2 {
  margin-bottom: 30px;
  border-bottom: 1px solid #ccc;
  padding-bottom: 0px;
  font-size: 1.7rem;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #3f3b3a;
}

.mincho {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

a.btn01 {
  color: #1d50a2;
}
a.btn01:after {
  content: "\f105";
  font-family: FontAwesome;
  font-size: 1.8rem;
  margin-left: 5px;
}

table.basic01 {
  width: 100%;
}
table.basic01 th,
table.basic01 td {
  border: 1px solid #cccccc;
  padding: 10px 15px;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  table.basic01 th,
  table.basic01 td {
    padding: 10px;
    font-size: 1.2rem;
    display: block;
    width: 100%;
  }
}
table.basic01 th {
  font-weight: normal;
  width: 130px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  table.basic01 th {
    width: 100%;
    text-align: left;
  }
}

.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%;
}

@media only screen and (max-width: 767px) {
  .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }
}

@media only screen and (max-width: 767px) {
  .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
  }
}

.fb-page.sp {
  margin: auto !important;
}

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

.indent {
  width: 804px;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  .indent {
    width: 100%;
  }
}

article.about .menulist p {
  padding-left: 1em;
}
@media only screen and (max-width: 767px) {
  article.about .menulist p {
    padding-left: 0;
    text-align: center;
    margin-bottom: 0;
  }
  article.about .menulist p img {
    margin-bottom: 10px;
    max-width: 49%;
  }
}
@media only screen and (min-width: 768px) {
  article.about .greeting {
    padding: 0 20px;
  }
}
article.about .greeting h3 {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 4rem;
  margin-bottom: 40px;
  text-align: center;
  color: #000;
}
@media only screen and (max-width: 767px) {
  article.about .greeting h3 {
    font-size: 1.8rem;
    margin-bottom: 30px;
  }
}
article.about .greeting .cf img,
article.about .greeting header .header_logo img,
header article.about .greeting .header_logo img,
article.about .greeting header .gNavi ul img,
header .gNavi article.about .greeting ul img,
article.about .greeting #gContainer img,
article.about .greeting .breadcrumbs img,
article.about .greeting .footer_fb .facebook img,
.footer_fb article.about .greeting .facebook img,
article.about .greeting footer .footer_navi img,
footer article.about .greeting .footer_navi img,
article.about .greeting .inner img,
article.about .greeting .report_foot .box img,
article.about .report_foot .greeting .box img,
article.about .greeting .company .first_block img,
article.about .company .greeting .first_block img,
article.about .greeting article.achievement .interview .box img,
article.achievement .interview article.about .greeting .box img,
article.about .greeting article.achievement .recruit_foot .box img,
article.achievement .recruit_foot article.about .greeting .box img,
article.about .greeting article.contact .contact_top a.box img,
article.contact .contact_top article.about .greeting a.box img,
article.about .greeting article.faq .faq_foot .box img,
article.faq .faq_foot article.about .greeting .box img,
article.about .greeting article.information section.top_area .header img,
article.information section.top_area article.about .greeting .header img,
article.about .greeting article.information section.interview .cat_title img,
article.information section.interview article.about .greeting .cat_title img,
article.about .greeting article.office .category ul img,
article.office .category article.about .greeting ul img,
article.about .greeting article.office .title_block ul.menu img,
article.office .title_block article.about .greeting ul.menu img,
article.about .greeting article.office .sub_menu ul img,
article.office .sub_menu article.about .greeting ul img,
article.about .greeting article.office .works .global_box img,
article.office .works article.about .greeting .global_box img,
article.about .greeting article.office .list p img,
article.office .list article.about .greeting p img,
article.about .greeting article.recruit .recruit_foot .box img,
article.recruit .recruit_foot article.about .greeting .box img,
article.about .greeting article.top .contents01 img,
article.top article.about .greeting .contents01 img,
article.about .greeting article.top .contents02 img,
article.top article.about .greeting .contents02 img {
  float: right;
  margin: 0 0 15px 20px;
}
@media only screen and (max-width: 767px) {
  article.about .greeting .cf img,
  article.about .greeting header .header_logo img,
  header article.about .greeting .header_logo img,
  article.about .greeting header .gNavi ul img,
  header .gNavi article.about .greeting ul img,
  article.about .greeting #gContainer img,
  article.about .greeting .breadcrumbs img,
  article.about .greeting .footer_fb .facebook img,
  .footer_fb article.about .greeting .facebook img,
  article.about .greeting footer .footer_navi img,
  footer article.about .greeting .footer_navi img,
  article.about .greeting .inner img,
  article.about .greeting .report_foot .box img,
  article.about .report_foot .greeting .box img,
  article.about .greeting .company .first_block img,
  article.about .company .greeting .first_block img,
  article.about .greeting article.achievement .interview .box img,
  article.achievement .interview article.about .greeting .box img,
  article.about .greeting article.achievement .recruit_foot .box img,
  article.achievement .recruit_foot article.about .greeting .box img,
  article.about .greeting article.contact .contact_top a.box img,
  article.contact .contact_top article.about .greeting a.box img,
  article.about .greeting article.faq .faq_foot .box img,
  article.faq .faq_foot article.about .greeting .box img,
  article.about .greeting article.information section.top_area .header img,
  article.information section.top_area article.about .greeting .header img,
  article.about .greeting article.information section.interview .cat_title img,
  article.information section.interview article.about .greeting .cat_title img,
  article.about .greeting article.office .category ul img,
  article.office .category article.about .greeting ul img,
  article.about .greeting article.office .title_block ul.menu img,
  article.office .title_block article.about .greeting ul.menu img,
  article.about .greeting article.office .sub_menu ul img,
  article.office .sub_menu article.about .greeting ul img,
  article.about .greeting article.office .works .global_box img,
  article.office .works article.about .greeting .global_box img,
  article.about .greeting article.office .list p img,
  article.office .list article.about .greeting p img,
  article.about .greeting article.recruit .recruit_foot .box img,
  article.recruit .recruit_foot article.about .greeting .box img,
  article.about .greeting article.top .contents01 img,
  article.top article.about .greeting .contents01 img,
  article.about .greeting article.top .contents02 img,
  article.top article.about .greeting .contents02 img {
    float: none;
    display: block;
    margin: 0 auto 20px auto;
  }
}
article.about .greeting .cf p,
article.about .greeting header .header_logo p,
header article.about .greeting .header_logo p,
article.about .greeting header .gNavi ul p,
header .gNavi article.about .greeting ul p,
article.about .greeting #gContainer p,
article.about .greeting .breadcrumbs p,
article.about .greeting .footer_fb .facebook p,
.footer_fb article.about .greeting .facebook p,
article.about .greeting footer .footer_navi p,
footer article.about .greeting .footer_navi p,
article.about .greeting .inner p,
article.about .greeting .report_foot .box p,
article.about .report_foot .greeting .box p,
article.about .greeting .company .first_block p,
article.about .company .greeting .first_block p,
article.about .greeting article.achievement .interview .box p,
article.achievement .interview article.about .greeting .box p,
article.about .greeting article.achievement .recruit_foot .box p,
article.achievement .recruit_foot article.about .greeting .box p,
article.about .greeting article.contact .contact_top a.box p,
article.contact .contact_top article.about .greeting a.box p,
article.about .greeting article.faq .faq_foot .box p,
article.faq .faq_foot article.about .greeting .box p,
article.about .greeting article.information section.top_area .header p,
article.information section.top_area article.about .greeting .header p,
article.about .greeting article.information section.interview .cat_title p,
article.information section.interview article.about .greeting .cat_title p,
article.about .greeting article.office .category ul p,
article.office .category article.about .greeting ul p,
article.about .greeting article.office .title_block ul.menu p,
article.office .title_block article.about .greeting ul.menu p,
article.about .greeting article.office .sub_menu ul p,
article.office .sub_menu article.about .greeting ul p,
article.about .greeting article.office .works .global_box p,
article.office .works article.about .greeting .global_box p,
article.about .greeting article.office .list p p,
article.office .list article.about .greeting p p,
article.about .greeting article.recruit .recruit_foot .box p,
article.recruit .recruit_foot article.about .greeting .box p,
article.about .greeting article.top .contents01 p,
article.top article.about .greeting .contents01 p,
article.about .greeting article.top .contents02 p,
article.top article.about .greeting .contents02 p {
  font-size: 1.7rem;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 2;
  color: #000;
}
@media only screen and (max-width: 767px) {
  article.about .greeting .cf p,
  article.about .greeting header .header_logo p,
  header article.about .greeting .header_logo p,
  article.about .greeting header .gNavi ul p,
  header .gNavi article.about .greeting ul p,
  article.about .greeting #gContainer p,
  article.about .greeting .breadcrumbs p,
  article.about .greeting .footer_fb .facebook p,
  .footer_fb article.about .greeting .facebook p,
  article.about .greeting footer .footer_navi p,
  footer article.about .greeting .footer_navi p,
  article.about .greeting .inner p,
  article.about .greeting .report_foot .box p,
  article.about .report_foot .greeting .box p,
  article.about .greeting .company .first_block p,
  article.about .company .greeting .first_block p,
  article.about .greeting article.achievement .interview .box p,
  article.achievement .interview article.about .greeting .box p,
  article.about .greeting article.achievement .recruit_foot .box p,
  article.achievement .recruit_foot article.about .greeting .box p,
  article.about .greeting article.contact .contact_top a.box p,
  article.contact .contact_top article.about .greeting a.box p,
  article.about .greeting article.faq .faq_foot .box p,
  article.faq .faq_foot article.about .greeting .box p,
  article.about .greeting article.information section.top_area .header p,
  article.information section.top_area article.about .greeting .header p,
  article.about .greeting article.information section.interview .cat_title p,
  article.information section.interview article.about .greeting .cat_title p,
  article.about .greeting article.office .category ul p,
  article.office .category article.about .greeting ul p,
  article.about .greeting article.office .title_block ul.menu p,
  article.office .title_block article.about .greeting ul.menu p,
  article.about .greeting article.office .sub_menu ul p,
  article.office .sub_menu article.about .greeting ul p,
  article.about .greeting article.office .works .global_box p,
  article.office .works article.about .greeting .global_box p,
  article.about .greeting article.office .list p p,
  article.office .list article.about .greeting p p,
  article.about .greeting article.recruit .recruit_foot .box p,
  article.recruit .recruit_foot article.about .greeting .box p,
  article.about .greeting article.top .contents01 p,
  article.top article.about .greeting .contents01 p,
  article.about .greeting article.top .contents02 p,
  article.top article.about .greeting .contents02 p {
    font-size: 1.4rem;
  }
}
article.about .greeting .name {
  text-align: right;
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  article.about .greeting .name {
    margin-top: 10px;
  }
  article.about .greeting .name img {
    max-width: 50%;
  }
}
article.about section.history {
  padding: 0 20px;
}
@media only screen and (max-width: 767px) {
  article.about section.history {
    padding: 0;
  }
}
article.about section.history img {
  display: block;
  margin: 0 auto 40px auto;
}
@media only screen and (max-width: 767px) {
  article.about section.history img {
    margin-bottom: 15px;
  }
}
article.about section.history dl dt {
  font-size: 1.6rem;
  float: left;
  clear: left;
  width: 150px;
  padding: 10px 0 8px;
}
@media only screen and (max-width: 767px) {
  article.about section.history dl dt {
    font-size: 1.4rem;
    float: none;
    width: 100%;
    padding: 0;
    font-weight: bold;
  }
}
article.about section.history dl dd {
  font-size: 1.6rem;
  padding: 10px 0 8px 150px;
  border-bottom: 1px dashed #e6e7e7;
}
@media only screen and (max-width: 767px) {
  article.about section.history dl dd {
    font-size: 1.4rem;
    padding: 5px 0 10px 0;
    margin-bottom: 10px;
  }
}
article.about .report {
  text-align: center;
}
article.about .report h3 {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  article.about .report h3 img {
    max-width: 60%;
  }
}
@media only screen and (max-width: 767px) {
  article.about .report .menu img {
    max-width: 80%;
    margin-bottom: 15px;
  }
}
article.about .report_foot {
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  article.about .report_foot {
    margin-top: 40px;
  }
}
article.about .report_foot .box {
  width: 700px;
  margin: auto;
  border: 1px solid #ccc;
  padding: 15px;
}
@media only screen and (max-width: 767px) {
  article.about .report_foot .box {
    width: 100%;
    padding: 10px;
  }
}
article.about .report_foot .box img.fL {
  margin-right: 10px;
}
@media only screen and (max-width: 767px) {
  article.about .report_foot .box img.fL {
    display: block;
    float: none;
    margin: 0 auto 15px auto;
  }
}
article.about .report_foot .box .txt {
  float: left;
}
@media only screen and (max-width: 767px) {
  article.about .report_foot .box .txt {
    max-width: 70%;
  }
}
article.about .report_foot .box .txt span {
  display: block;
  font-size: 1.6rem;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  article.about .report_foot .box .txt span {
    font-size: 1.1rem;
  }
}
article.about .report_foot .box .txt span.txt01 {
  font-size: 2.1rem;
}
@media only screen and (max-width: 767px) {
  article.about .report_foot .box .txt span.txt01 {
    font-size: 1.4rem;
  }
}
article.about .report_foot .box .txt span.txt02 {
  font-size: 2.6rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  article.about .report_foot .box .txt span.txt02 {
    font-size: 1.6rem;
  }
}
article.about .report_foot a {
  display: block;
  float: right;
}
@media only screen and (max-width: 767px) {
  article.about .report_foot a {
    max-width: 30%;
  }
}
article.about .company {
  padding: 0 20px;
}
@media only screen and (max-width: 767px) {
  article.about .company {
    padding: 0;
  }
}
article.about .company table.basic01 {
  margin-bottom: 15px;
}
article.about .company table.basic01 th {
  background-color: #ececec;
}
article.about .company .first_block {
  margin-bottom: 15px;
}
article.about .company .first_block img {
  float: left;
}
@media only screen and (max-width: 767px) {
  article.about .company .first_block img {
    float: none;
    margin: 0 auto 10px auto;
  }
}
article.about .company .first_block table.basic01 {
  width: 352px;
  float: right;
}
@media only screen and (max-width: 767px) {
  article.about .company .first_block table.basic01 {
    width: 100%;
    float: none;
  }
}
article.about .idea {
  padding: 0 20px;
}
@media only screen and (max-width: 767px) {
  article.about .idea {
    padding: 0;
  }
}
article.about .idea img {
  display: block;
  margin: 30px auto;
}
article.about .idea h3 img {
  margin: 90px auto;
}
@media only screen and (max-width: 767px) {
  article.about .idea h3 img {
    max-width: 80%;
    margin: 40px auto;
  }
}
article.about .idea p {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 1.7rem;
  line-height: 2;
  color: #000;
}
@media only screen and (max-width: 767px) {
  article.about .idea p {
    font-size: 1.4rem;
  }
}
article.about .idea p span {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  article.about .idea p span {
    font-size: 1.6rem;
  }
}
article.about .idea ol {
  padding-left: 1.5em;
}
article.about .idea ol li {
  font-size: 1.7rem;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media only screen and (max-width: 767px) {
  article.about .idea ol li {
    font-size: 1.4rem;
  }
}

@media only screen and (min-width: 768px) {
  article.achievement section {
    padding-left: 40px;
    padding-right: 40px;
    font-size: 1.6rem;
  }
}
article.achievement .interview h3 {
  border-bottom: 1px dashed #ccc;
  margin: 60px 0 30px;
  text-align: center;
  padding-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  article.achievement .interview h3 {
    margin: 30px 0 20px;
    padding-bottom: 20px;
  }
  article.achievement .interview h3 img {
    max-width: 80%;
  }
}
article.achievement .interview .box {
  border-bottom: 1px dashed #ccc;
  margin: 0 0 30px 0;
  padding-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  article.achievement .interview .box {
    margin: 0 0 20px 0;
    padding-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  article.achievement .interview .box .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }
}
@media only screen and (min-width: 768px) {
  article.achievement .interview .box .youtube {
    padding: 15px 0 0 15px;
    float: left;
    width: 335px;
    margin-right: 40px;
  }
}
@media only screen and (max-width: 767px) {
  article.achievement .interview .box .youtube {
    margin-bottom: 10px;
  }
  article.achievement .interview .box .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
  }
}
@media only screen and (min-width: 768px) {
  article.achievement .interview .box .txt {
    float: left;
    width: 364px;
  }
}
article.achievement .interview .box .txt p {
  font-size: 1.6rem;
  margin-bottom: 5px;
}
@media only screen and (max-width: 767px) {
  article.achievement .interview .box .txt p {
    font-size: 1.3rem;
  }
}
article.achievement .interview .box .txt .name {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 3rem;
  font-weight: bold;
}
article.achievement .interview .box .txt .name span {
  margin-left: 10px;
  font-weight: normal;
  font-size: 1.8rem;
}
article.achievement .interview table.basic01 {
  margin-bottom: 40px;
}
article.achievement .interview table.basic01 th {
  background-color: #ebebeb;
  vertical-align: middle;
}
@media only screen and (min-width: 768px) {
  article.achievement .interview table.basic01 td .raw {
    float: left;
    width: 49%;
  }
}
article.achievement .recruit_foot {
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  article.achievement .recruit_foot {
    margin-top: 40px;
  }
}
article.achievement .recruit_foot .title {
  text-align: center;
  font-size: 2.3rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  article.achievement .recruit_foot .title {
    font-size: 1.8rem;
  }
}
article.achievement .recruit_foot .box {
  width: 700px;
  margin: auto;
  border: 12px solid #ccc;
  padding: 15px;
}
@media only screen and (max-width: 767px) {
  article.achievement .recruit_foot .box {
    width: 100%;
    padding: 10px;
    border: 5px solid #ccc;
    padding: 10px;
  }
}
article.achievement .recruit_foot .box .txt_box01 {
  background-color: #1d50a2;
  color: #fff;
  font-size: 1.8rem;
  width: 155px;
  height: 115px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 10px;
  float: left;
}
@media only screen and (max-width: 767px) {
  article.achievement .recruit_foot .box .txt_box01 {
    font-size: 1.4rem;
    width: 100%;
    height: auto;
    float: none;
    margin: 0 auto 15px auto;
    padding: 10px;
  }
  article.achievement .recruit_foot .box .txt_box01 br {
    display: none;
  }
}
article.achievement .recruit_foot .box .txt_box02 {
  float: left;
  width: 450px;
  text-align: center;
  padding-top: 20px;
}
@media only screen and (max-width: 767px) {
  article.achievement .recruit_foot .box .txt_box02 {
    padding-top: 0;
    width: 100%;
    float: none;
  }
}
article.achievement .recruit_foot .box .txt_box02 p {
  margin-bottom: 5px;
  line-height: 1.2;
}
article.achievement .recruit_foot .box .txt_box02 p.txt01 {
  font-size: 2.1rem;
}
@media only screen and (max-width: 767px) {
  article.achievement .recruit_foot .box .txt_box02 p.txt01 {
    font-size: 1.6rem;
  }
}
article.achievement .recruit_foot .box .txt_box02 p.txt01 span {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  article.achievement .recruit_foot .box .txt_box02 p.txt01 span {
    display: block;
    font-size: 1.3rem;
  }
}
article.achievement .recruit_foot .box .txt_box02 p.txt02 {
  color: #1d50a2;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 3.8rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  article.achievement .recruit_foot .box .txt_box02 p.txt02 {
    font-size: 2.4rem;
  }
}
article.achievement .recruit_foot .box .txt_box02 p.txt02 span {
  font-size: 2.5rem;
  margin-right: 10px;
}
@media only screen and (max-width: 767px) {
  article.achievement .recruit_foot .box .txt_box02 p.txt02 span {
    font-size: 1.8rem;
  }
}
article.achievement .recruit_foot .box .txt_box02 p.txt03 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  article.achievement .recruit_foot .box .txt_box02 p.txt03 {
    font-size: 1.2rem;
  }
}
article.achievement .recruit_foot .btn {
  display: inline-block;
  background-color: #d9dada;
  font-size: 2rem;
  padding: 10px 25px;
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  article.achievement .recruit_foot .btn {
    font-size: 1.6rem;
  }
}
article.achievement .recruit_foot .btn span {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  article.achievement .recruit_foot .btn span {
    font-size: 1.1rem;
  }
}
article.achievement .recruit_foot .btn:hover {
  text-decoration: none;
  opacity: 0.7;
  filter: alpha(opacity=70);
  /* ie lt 8 */
  -ms-filter: "alpha(opacity=70)";
  /* ie 8 */
}

article.contact h3 {
  height: 37px;
  line-height: 37px;
  border-left: 10px solid #1d50a2;
  padding-left: 10px;
  font-size: 1.9rem;
  color: #1d50a2;
  position: relative;
  margin: 30px 0 15px;
}
@media only screen and (max-width: 767px) {
  article.contact h3 {
    font-size: 1.6rem;
    height: auto;
    line-height: 1.6;
    padding: 5px 10px;
  }
}
article.contact table.basic01 {
  margin-bottom: 40px;
}
article.contact table.basic01 th {
  background-color: #ebebeb;
  vertical-align: middle;
}
@media only screen and (min-width: 768px) {
  article.contact .contact_top {
    padding: 0 20px;
  }
}
article.contact .contact_top a.box {
  display: block;
  width: 700px;
  margin: 0 auto 60px auto;
  border: 12px solid #ccc;
  padding: 15px;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  article.contact .contact_top a.box {
    width: 100%;
    padding: 10px;
    border: 5px solid #ccc;
    padding: 10px;
    margin-bottom: 30px;
  }
}
article.contact .contact_top a.box:hover {
  text-decoration: none;
  opacity: 0.7;
  filter: alpha(opacity=70);
  /* ie lt 8 */
  -ms-filter: "alpha(opacity=70)";
  /* ie 8 */
}
article.contact .contact_top a.box .txt_box01 {
  background-color: #1d50a2;
  color: #fff;
  font-size: 1.8rem;
  width: 155px;
  height: 115px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 10px;
  float: left;
}
@media only screen and (max-width: 767px) {
  article.contact .contact_top a.box .txt_box01 {
    font-size: 1.4rem;
    width: 100%;
    height: auto;
    padding: 10px 0;
    float: none;
    margin: 0 auto 15px auto;
  }
  article.contact .contact_top a.box .txt_box01 br {
    display: none;
  }
}
article.contact .contact_top a.box .txt_box02 {
  float: left;
  width: 450px;
  text-align: center;
  padding-top: 20px;
}
@media only screen and (max-width: 767px) {
  article.contact .contact_top a.box .txt_box02 {
    padding-top: 0;
    width: 100%;
    float: none;
  }
}
article.contact .contact_top a.box .txt_box02 p {
  margin-bottom: 5px;
  line-height: 1.2;
}
article.contact .contact_top a.box .txt_box02 p.txt01 {
  font-size: 2.1rem;
}
@media only screen and (max-width: 767px) {
  article.contact .contact_top a.box .txt_box02 p.txt01 {
    font-size: 1.6rem;
  }
}
article.contact .contact_top a.box .txt_box02 p.txt01 span {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  article.contact .contact_top a.box .txt_box02 p.txt01 span {
    display: block;
    font-size: 1.3rem;
  }
}
article.contact .contact_top a.box .txt_box02 p.txt02 {
  color: #1d50a2;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 3.8rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  article.contact .contact_top a.box .txt_box02 p.txt02 {
    font-size: 2.4rem;
  }
}
article.contact .contact_top a.box .txt_box02 p.txt02 span {
  font-size: 2.5rem;
  margin-right: 10px;
}
@media only screen and (max-width: 767px) {
  article.contact .contact_top a.box .txt_box02 p.txt02 span {
    font-size: 1.8rem;
  }
}
article.contact .contact_top a.box .txt_box02 p.txt03 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  article.contact .contact_top a.box .txt_box02 p.txt03 {
    font-size: 1.2rem;
  }
}
article.contact .contact_top p.text {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  article.contact .contact_top p.text {
    font-size: 1.3rem;
  }
}
article.contact .contact_top p.text span {
  display: block;
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  article.contact .contact_top p.text span {
    font-size: 1.6rem;
  }
}
article.contact .form {
  margin-bottom: 60px;
}
@media only screen and (min-width: 768px) {
  article.contact .form {
    padding: 0 20px;
  }
  article.contact .form table.basic01 {
    max-width: 754px;
    margin: auto;
    font-size: 1.8rem;
  }
}
article.contact .form table.basic01 {
  margin-bottom: 20px;
}
article.contact .form table.basic01 td p {
  margin-bottom: 0;
}
article.contact .form table.basic01 td p label {
  margin-right: 20px;
}
article.contact .form table.basic01 td span {
  color: #e40012;
  font-size: 1.2rem;
}
article.contact .form input[type="text"],
article.contact .form input[type="tel"] {
  width: 50%;
  margin: 0;
  padding: 5px;
  border: 1px solid #ccc;
  background-color: #fff;
  outline: 0;
}
@media only screen and (max-width: 767px) {
  article.contact .form input[type="text"],
  article.contact .form input[type="tel"] {
    width: 100%;
    box-sizing: border-box;
  }
}
article.contact .form input[type="email"] {
  width: 80%;
  margin: 0;
  padding: 5px;
  border: 1px solid #ccc;
  background-color: #fff;
  outline: 0;
}
@media only screen and (max-width: 767px) {
  article.contact .form input[type="email"] {
    width: 100%;
    box-sizing: border-box;
  }
}
article.contact .form textarea {
  width: 95%;
  margin: 0;
  padding: 5px;
  border: 1px solid #ccc;
  background-color: #fff;
  outline: 0;
  resize: none;
}
article.contact .form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  margin: 0;
  height: 30px;
  background: transparent;
  position: relative;
  z-index: 1;
  padding: 0 40px 0 10px;
  border: 1px solid #ebebeb;
  border-radius: 0;
}
article.contact .form select::-ms-expand {
  display: none;
}
article.contact .form .selectWrap {
  position: relative;
  display: inline-block;
}
article.contact .form .selectWrap::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  height: 100%;
  width: 30px;
}
article.contact .form .selectWrap::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  right: 9px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 4px 0 4px;
  border-color: #000 transparent transparent transparent;
}
article.contact .form .submit {
  text-align: center;
}
article.contact .form input[type="submit"],
article.contact .form input[type="reset"],
article.contact .form input[type="button"] {
  background: #dadbdb;
  padding: 0.7em 1.25em;
  font-size: 1.8rem;
  text-align: center;
  cursor: pointer;
  border-width: 1px;
}

article.faq .category h3 {
  background: url(../faq/img/head_bg.png) left top repeat-x;
  height: 40px;
  line-height: 45px;
  border-left: 10px solid #0099e2;
  padding-left: 20px;
  font-size: 2rem;
  color: #0099e2;
  position: relative;
  margin: 30px 0 15px;
}
@media only screen and (max-width: 767px) {
  article.faq .category h3 {
    background: url(../faq/img/head_bg.png) left top repeat;
    font-size: 1.6rem;
    height: auto;
    line-height: 1.6;
    padding: 5px 10px;
  }
}
article.faq .category h3 span {
  position: absolute;
  font-family: Helvetica, Arial, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "游ゴシック", "Yu Gothic", YuGothic, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.3rem;
  font-weight: normal;
  right: 10px;
  bottom: -5px;
  color: #000;
}
@media only screen and (max-width: 767px) {
  article.faq .category h3 span {
    position: static;
    display: block;
    font-size: 1.2rem;
  }
}
article.faq .category .q {
  font-size: 2rem;
  font-weight: bold;
  cursor: pointer;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  article.faq .category .q {
    font-size: 1.6rem;
  }
}
article.faq .category .a {
  font-size: 1.6rem;
  padding: 10px 0 20px 40px;
}
@media only screen and (max-width: 767px) {
  article.faq .category .a {
    font-size: 1.4rem;
    padding: 10px 0 20px 10px;
  }
}
article.faq .faq_foot {
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  article.faq .faq_foot {
    margin-top: 40px;
  }
}
article.faq .faq_foot .box {
  width: 700px;
  margin: auto;
  border: 1px solid #ccc;
  padding: 15px;
}
@media only screen and (max-width: 767px) {
  article.faq .faq_foot .box {
    width: 100%;
    padding: 10px;
  }
}
article.faq .faq_foot .box img.fL {
  margin-right: 10px;
}
@media only screen and (max-width: 767px) {
  article.faq .faq_foot .box img.fL {
    display: block;
    float: none;
    margin: 0 auto 15px auto;
  }
}
@media only screen and (max-width: 767px) {
  article.faq .faq_foot .box .sonota {
    background-color: #c7c8c8;
    width: 100%;
    text-align: center;
    padding: 10px 0;
  }
}
article.faq .faq_foot .box .txt {
  float: left;
}
@media only screen and (max-width: 767px) {
  article.faq .faq_foot .box .txt {
    max-width: 70%;
  }
}
article.faq .faq_foot .box .txt p {
  font-size: 1.6rem;
  line-height: 1.2;
  margin-bottom: 5px;
}
@media only screen and (max-width: 767px) {
  article.faq .faq_foot .box .txt p {
    font-size: 1.1rem;
  }
}
article.faq .faq_foot .box .txt p.txt01 {
  font-size: 2.1rem;
  padding-top: 10px;
}
@media only screen and (max-width: 767px) {
  article.faq .faq_foot .box .txt p.txt01 {
    font-size: 1.4rem;
  }
}
article.faq .faq_foot .box .txt p.txt02 {
  color: #1d50a2;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 3.8rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  article.faq .faq_foot .box .txt p.txt02 {
    font-size: 2rem;
  }
}
article.faq .faq_foot .box .txt p.txt02 span {
  font-size: 2.5rem;
  margin-right: 10px;
}
@media only screen and (max-width: 767px) {
  article.faq .faq_foot .box .txt p.txt02 span {
    font-size: 1.6rem;
  }
}
article.faq .faq_foot a {
  display: block;
  float: right;
}
@media only screen and (max-width: 767px) {
  article.faq .faq_foot a {
    max-width: 30%;
  }
}

@media only screen and (max-width: 767px) {
  #gWrapper.page_information {
    padding-top: 0;
  }
}

article.information {
  padding-top: 0;
}
article.information section.head_img {
  background: url(../information/img/bg01.jpg);
  padding: 5px 0;
}
article.information section.top_area {
  background: url(../information/img/bg_top.png) center center repeat;
  padding-bottom: 15px;
}
article.information section.top_area .header {
  padding-top: 15px;
  margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
  article.information section.top_area .header {
    background-size: cover;
    margin-bottom: 30px;
  }
}
article.information section.top_area .header h1 {
  float: left;
  padding-top: 15px;
}
@media only screen and (max-width: 767px) {
  article.information section.top_area .header h1 {
    max-width: 50%;
    padding-top: 0;
  }
}
article.information section.top_area .header .top_menu {
  float: right;
}
@media only screen and (max-width: 767px) {
  article.information section.top_area .header .top_menu img {
    width: 60px;
  }
}
article.information section.top_area .title {
  margin-bottom: 30px;
}
article.information section.top_area ul.navi {
  text-align: center;
}
article.information section.top_area ul.navi li {
  display: inline;
}
@media only screen and (max-width: 767px) {
  article.information section.top_area ul.navi li img {
    max-width: 140px;
  }
}
article.information section.top_area ul.navi li a img:hover {
  opacity: 1;
}
article.information section.block01 {
  text-align: center;
  background-color: #fef7a9;
  padding: 60px 0 0 0;
}
@media only screen and (max-width: 767px) {
  article.information section.block01 {
    padding: 30px 10px;
  }
}
article.information section.photo_block {
  padding-top: 50px;
  padding-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  article.information section.photo_block {
    padding: 30px 10px;
  }
}
article.information section.photo_block p.aC {
  font-size: 2.3rem;
}
@media only screen and (max-width: 767px) {
  article.information section.photo_block p.aC {
    font-size: 1.4rem;
  }
}
article.information section.photo_block p.title {
  margin-bottom: 30px;
}
article.information section.photo_block .photo {
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  article.information section.photo_block .photo {
    margin-top: 25px;
  }
}
article.information section.photo_block .photo .box {
  width: 205px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  article.information section.photo_block .photo .box {
    width: 49%;
  }
}
article.information section.photo_block .photo .box img {
  margin-bottom: 5px;
}
article.information section.photo_block .photo .box p {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  article.information section.photo_block .photo .box p {
    font-size: 1.3rem;
  }
}
article.information section.office {
  background-color: #fef7a9;
  padding: 60px 0;
}
@media only screen and (max-width: 767px) {
  article.information section.office {
    padding: 30px 0 15px 0;
  }
}
article.information section.office p.aC,
article.information section.office p.aCpc {
  font-size: 2.3rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  article.information section.office p.aC,
  article.information section.office p.aCpc {
    font-size: 1.4rem;
    text-align: left;
  }
}
article.information section.office p.title {
  margin-bottom: 30px;
}
article.information section.office .menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 760px;
  margin: 30px auto 45px;
}
@media only screen and (max-width: 767px) {
  article.information section.office .menu {
    width: 100%;
    margin-bottom: 10px;
  }
}
article.information section.office .menu a {
  display: block;
  margin-bottom: 15px;
}
@media only screen and (max-width: 767px) {
  article.information section.office .menu a {
    width: 49%;
  }
}
article.information section.office .office_text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 1020px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  article.information section.office .office_text {
    width: 100%;
    display: block;
  }
}
@media only screen and (min-width: 768px) {
  article.information section.office .office_text::before {
    content: "";
    display: block;
    width: 23%;
    order: 1;
  }
  article.information section.office .office_text::after {
    content: "";
    display: block;
    width: 23%;
  }
}
article.information section.office .office_text .box {
  width: 250px;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  article.information section.office .office_text .box {
    width: 100%;
  }
  article.information section.office .office_text .box p {
    font-size: 1.3rem;
  }
}
article.information section.office .office_text .box p.tit {
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 1.6rem;
  padding: 3px 0 1px 0;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  article.information section.office .office_text .box p.tit {
    font-size: 1.2rem;
  }
}
article.information section.office .office_text .box p.tit.color01 {
  background-color: #1f296c;
}
article.information section.office .office_text .box p.tit.color02 {
  background-color: #1184c7;
}
article.information section.office .office_text .box p.tit.color03 {
  background-color: #0b8142;
}
article.information section.office .office_text .box p.tit.color04 {
  background-color: #cc5418;
}
article.information section.office .office_text .box p.tit.color05 {
  background-color: #c11376;
}
article.information section.office .office_text .box p.tit.color06 {
  background-color: #7ca92b;
}
article.information section.office .office_text .box p.tit.color07 {
  background-color: #673a1b;
}
article.information section.interview {
  padding: 60px 0 0 0;
  border-bottom: 1px solid #ccc;
}
@media only screen and (max-width: 767px) {
  article.information section.interview {
    padding: 20px 0 0 0;
  }
}
article.information section.interview p.aC,
article.information section.interview p.aCpc {
  font-size: 2.3rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  article.information section.interview p.aC,
  article.information section.interview p.aCpc {
    font-size: 1.4rem;
    padding: 0 10px;
    text-align: left;
  }
}
article.information section.interview p.title {
  margin-bottom: 30px;
}
article.information section.interview .cat_title {
  cursor: pointer;
  border-top: 1px solid #ccc;
}
@media only screen and (max-width: 767px) {
  article.information section.interview .cat_title {
    overflow: hidden;
  }
}
article.information section.interview .cat_title .photobox {
  background: url(../information/img/arrow_down.png) 92% center no-repeat;
  background-size: 43px auto;
  padding: 0 8%;
  height: 134px;
  line-height: 134px;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  article.information section.interview .cat_title .photobox {
    background-position: 98% 25px;
    background-size: 15px auto;
    display: block;
    height: auto;
    line-height: 1.6;
    overflow: hidden;
    padding: 5px;
    box-sizing: border-box;
  }
}
article.information section.interview .cat_title .photobox img.photo {
  margin-right: 30px;
}
@media only screen and (max-width: 767px) {
  article.information section.interview .cat_title .photobox img.photo {
    display: none;
    margin: 0 0 5px 0;
    width: 150px;
  }
}
@media only screen and (max-width: 767px) {
  article.information section.interview .cat_title .photobox img.text {
    display: none;
  }
}
article.information section.interview .cat_title .photobox img.sp_img {
  max-width: 90%;
}
@media only screen and (min-width: 768px) {
  article.information section.interview .cat_title .photobox img.sp_img {
    display: none;
  }
}
article.information section.interview .cat_title.open {
  border-bottom: 1px solid #ccc;
}
article.information section.interview .cat_title.open .photobox {
  background: url(../information/img/arrow_up.png) 92% center no-repeat;
  background-size: 43px auto;
}
@media only screen and (max-width: 767px) {
  article.information section.interview .cat_title.open .photobox {
    background-position: 98% 25px;
    background-size: 15px auto;
  }
}
article.information section.interview .cat_detail {
  display: none;
  padding: 60px 0 0 0;
  margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
  article.information section.interview .cat_detail {
    padding: 30px 0 0 0;
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 768px) {
  article.information section.interview .cat_detail .inner {
    padding: 0 40px;
  }
}
article.information section.interview .cat_detail .int_detail {
  float: left;
  width: 600px;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  article.information section.interview .cat_detail .int_detail {
    width: 100%;
    margin-bottom: 20px;
    float: none;
  }
}
article.information section.interview .cat_detail .int_detail p {
  box-sizing: border-box;
}
article.information section.interview .cat_detail .int_detail .q {
  background: url(../information/img/bg02.png);
  font-size: 2.1rem;
  padding: 8px 15px 5px 15px;
  margin-bottom: 25px;
}
@media only screen and (max-width: 767px) {
  article.information section.interview .cat_detail .int_detail .q {
    font-size: 1.5rem;
    padding: 4px 10px;
    margin-bottom: 10px;
  }
}
article.information section.interview .cat_detail .int_detail .a {
  font-size: 1.7rem;
  padding: 0 20px;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  article.information section.interview .cat_detail .int_detail .a {
    font-size: 1.3rem;
    padding: 0 10px;
    margin-bottom: 20px;
  }
}
article.information section.interview .cat_detail .int_photo {
  float: right;
  width: 402px;
  text-align: center;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  article.information section.interview .cat_detail .int_photo {
    width: 100%;
    margin-bottom: 20px;
    float: none;
  }
}
article.information section.interview .cat_detail .int_photo img {
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  article.information section.interview .cat_detail .int_photo img {
    margin-bottom: 10px;
  }
}
article.information section.interview .cat_detail .youtube {
  clear: both;
  text-align: center;
}
article.information section.fam_faq {
  background-color: #fef7a9;
  padding: 60px 0 40px 0;
}
@media only screen and (max-width: 767px) {
  article.information section.fam_faq {
    padding: 30px 0 20px 0;
  }
}
article.information section.family {
  background-color: #fff;
  position: relative;
  padding: 60px 0 20px;
}
@media only screen and (max-width: 767px) {
  article.information section.family {
    padding: 30px 10px 10px 10px;
  }
}
article.information section.family:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 6px;
  background: url(../information/img/bg01.jpg);
  top: 0;
}
@media only screen and (max-width: 767px) {
  article.information section.family:before {
    left: 0;
  }
}
article.information section.family:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 6px;
  background: url(../information/img/bg01.jpg);
  bottom: 0;
}
@media only screen and (max-width: 767px) {
  article.information section.family:after {
    left: 0;
  }
}
article.information section.family p.title {
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  article.information section.family p.title {
    margin-bottom: 15px;
  }
  article.information section.family p.title img {
    max-height: 20px;
    width: auto;
  }
}
article.information section.family p.text {
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-color: #ccc;
  font-size: 1.7rem;
  line-height: 2em;
  width: 860px;
  margin: 0 auto 50px auto;
}
@media only screen and (max-width: 767px) {
  article.information section.family p.text {
    font-size: 1.3rem;
    width: 100%;
    margin-bottom: 20px;
  }
}
article.information section.faq {
  padding: 60px 0 0;
}
@media only screen and (max-width: 767px) {
  article.information section.faq {
    padding: 20px 10px 0 10px;
  }
}
article.information section.faq p.aC {
  font-size: 2.3rem;
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  article.information section.faq p.aC {
    font-size: 1.4rem;
  }
}
article.information section.faq p.title {
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  article.information section.faq p.title {
    margin-bottom: 20px;
  }
  article.information section.faq p.title img {
    max-height: 40px;
    width: auto;
  }
}
article.information section.faq .faq_cont {
  width: 974px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  article.information section.faq .faq_cont {
    width: 100%;
    display: block;
  }
}
article.information section.faq .faq_cont .box {
  width: 474px;
  border-radius: 10px;
  background-color: #fff;
  padding: 20px;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  article.information section.faq .faq_cont .box {
    width: 100%;
  }
}
article.information section.faq .faq_cont .box p.q {
  margin-bottom: 10px;
  position: relative;
  font-size: 2.3rem;
  font-weight: bold;
  color: #f09500;
  box-sizing: border-box;
  padding-left: 1.5em;
}
@media only screen and (max-width: 767px) {
  article.information section.faq .faq_cont .box p.q {
    font-size: 1.4rem;
  }
}
article.information section.faq .faq_cont .box p.q:before {
  content: "Q.";
  font-size: 2.3rem;
  font-weight: bold;
  color: #f09500;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 767px) {
  article.information section.faq .faq_cont .box p.q:before {
    font-size: 1.4rem;
  }
}
article.information section.faq .faq_cont .box p.a {
  margin-bottom: 0;
  font-size: 2.1rem;
}
@media only screen and (max-width: 767px) {
  article.information section.faq .faq_cont .box p.a {
    font-size: 1.3rem;
  }
}
article.information section.faq .faq_cont .box p.a:before {
  content: "A. ";
  font-size: 2.1rem;
  color: #ff0000;
}
@media only screen and (max-width: 767px) {
  article.information section.faq .faq_cont .box p.a:before {
    font-size: 1.3rem;
  }
}
article.information section.contact {
  padding: 60px 0;
}
@media only screen and (max-width: 767px) {
  article.information section.contact {
    padding: 30px 10px;
  }
}
article.information section.contact p.aC {
  margin-bottom: 25px;
}
article.information section.contact p.tel {
  margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
  article.information section.contact p.tel {
    margin-bottom: 30px;
  }
}
article.information section.contact p.tel a:hover img {
  opacity: 1;
}
article.information section.contact p.title {
  font-size: 2.9rem;
  color: #6a3906;
  font-weight: bold;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  article.information section.contact p.title {
    font-size: 1.4rem;
  }
}
article.information section.contact table.form_table {
  width: 960px;
  margin: 0 auto 15px auto;
  border: 2px solid #6a3906;
  border-collapse: separate;
  border-radius: 20px;
  border-spacing: 0;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  article.information section.contact table.form_table {
    border-collapse: collapse;
    border-radius: 0;
    border: none;
    width: 100%;
  }
}
article.information section.contact table.form_table th,
article.information section.contact table.form_table td {
  border-bottom: 2px solid #6a3906;
  padding: 10px 15px;
  font-size: 2.1rem;
}
@media only screen and (max-width: 767px) {
  article.information section.contact table.form_table th,
  article.information section.contact table.form_table td {
    font-size: 1.4rem;
    display: block;
    padding: 10px 10px;
    border: 1px solid #6a3906;
    border-top: none;
  }
}
article.information section.contact table.form_table th {
  text-align: center;
  color: #6a3906;
}
article.information section.contact table.form_table td {
  border-left: 2px solid #6a3906;
}
@media only screen and (max-width: 767px) {
  article.information section.contact table.form_table td {
    border-left: 1px solid #6a3906;
  }
}
article.information section.contact table.form_table td .hissu {
  font-size: 1.1rem;
  color: red;
  margin-left: 10px;
}
@media only screen and (max-width: 767px) {
  article.information section.contact table.form_table tr:first-child th {
    border-top: 1px solid #6a3906;
  }
}
@media only screen and (min-width: 768px) {
  article.information section.contact table.form_table tr:last-child th,
  article.information section.contact table.form_table tr:last-child td {
    border-bottom: none;
  }
}
article.information section.contact table.form_table input[type="text"],
article.information section.contact table.form_table input[type="tel"],
article.information section.contact table.form_table input[type="email"],
article.information section.contact table.form_table textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #ccc;
  padding: 5px;
}
@media only screen and (max-width: 767px) {
  article.information section.contact table.form_table input[type="text"],
  article.information section.contact table.form_table input[type="tel"],
  article.information section.contact table.form_table input[type="email"],
  article.information section.contact table.form_table textarea {
    width: 80%;
  }
}
article.information section.contact table.form_table input[type="text"][type="email"],
article.information section.contact table.form_table input[type="tel"][type="email"],
article.information section.contact table.form_table input[type="email"][type="email"],
article.information section.contact table.form_table textarea[type="email"] {
  width: 60%;
}
@media only screen and (max-width: 767px) {
  article.information section.contact table.form_table input[type="text"][type="email"],
  article.information section.contact table.form_table input[type="tel"][type="email"],
  article.information section.contact table.form_table input[type="email"][type="email"],
  article.information section.contact table.form_table textarea[type="email"] {
    width: 80%;
  }
}
article.information section.contact table.form_table textarea {
  width: 95%;
}
article.information section.contact input[type="button"],
article.information section.contact input[type="submit"],
article.information section.contact input[type="reset"] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 1.8rem;
  padding: 10px 20px;
}
article.information section.contact input[type="button"].confirm,
article.information section.contact input[type="submit"].confirm,
article.information section.contact input[type="reset"].confirm {
  background-color: #6a3906;
  border: 1px solid #6a3906;
  color: #fff;
  margin-right: 10px;
}
article.information section.contact input[type="button"].reset,
article.information section.contact input[type="submit"].reset,
article.information section.contact input[type="reset"].reset {
  border: 1px solid #6a3906;
  color: #6a3906;
}
article.information section.contact input[type="button"]:hover,
article.information section.contact input[type="submit"]:hover,
article.information section.contact input[type="reset"]:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  /* ie lt 8 */
  -ms-filter: "alpha(opacity=70)";
  /* ie 8 */
  cursor: pointer;
}
article.information section.contact .notice {
  width: 790px;
  margin: 20px auto;
}
@media only screen and (max-width: 767px) {
  article.information section.contact .notice {
    width: 100%;
    margin: 15px auto;
  }
}

article.office_list h2 {
  position: relative;
}
article.office_list h2 span {
  position: absolute;
  font-family: Helvetica, Arial, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "游ゴシック", "Yu Gothic", YuGothic, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.5rem;
  font-weight: normal;
  right: 0;
  bottom: 5px;
}
@media only screen and (max-width: 767px) {
  article.office_list h2 span {
    position: static;
    display: block;
    font-size: 1.2rem;
  }
}
article.office_list .map01block {
  margin-bottom: 60px;
}
@media only screen and (min-width: 768px) {
  article.office_list .map01block {
    width: 810px;
    position: relative;
  }
}
article.office_list .map02block {
  text-align: center;
  margin-bottom: 40px;
  position: relative;
}
article.office_list .map02block #map02 {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -369px;
}
@media only screen and (max-width: 767px) {
  article.office_list .map02block #map02 {
    margin-left: 0;
    transform: translateX(-50%);
  }
}
article.office_list .map03block {
  text-align: center;
  margin-bottom: 100px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  article.office_list .map03block {
    margin-bottom: 40px;
  }
}
article.office_list .map03block #map03 {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -355.5px;
}
@media only screen and (max-width: 767px) {
  article.office_list .map03block #map03 {
    margin-left: 0;
    transform: translateX(-50%);
  }
}
article.office_list .map03block .btn_area {
  text-align: center;
  margin: 40px 0 0 0;
}
@media only screen and (max-width: 767px) {
  article.office_list .map03block .btn_area img {
    max-width: 80%;
    margin-bottom: 10px;
  }
}
article.office_list .map03block .btn_area a:first-child {
  margin-right: 10px;
}
@media only screen and (max-width: 767px) {
  article.office_list .map03block .btn_area a:first-child {
    margin-right: 0;
  }
}
article.office_list .link_block {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: flex-start;
  justify-content: flex-start;
  gap: 10px;
}
@media only screen and (max-width: 767px) {
  article.office_list .link_block {
    display: block;
    text-align: center;
  }
}
article.office_list .link_block a {
  display: block;
  width: 160px;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  article.office_list .link_block a {
    display: inline-block;
    width: 147px;
    margin-bottom: 10px;
  }
}

article.office h3 {
  border-bottom: 1px dashed #1d50a2;
  font-size: 2rem;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #1d50a2;
  position: relative;
  padding-left: 20px;
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  article.office h3 {
    font-size: 1.8rem;
  }
}
article.office h3:before {
  content: "";
  width: 10px;
  height: 30px;
  background-color: #1d50a2;
  position: absolute;
  bottom: -1px;
  left: 0;
}
article.office h4 {
  background-color: #dadbdb;
  font-size: 1.8rem;
  text-align: center;
  height: 34px;
  line-height: 35px;
  font-weight: normal;
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  article.office h4 {
    font-size: 1.5rem;
  }
}
article.office .category {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  article.office .category {
    margin-bottom: 20px;
  }
}
article.office .category ul li {
  float: left;
  margin-right: 5px;
}
@media only screen and (max-width: 767px) {
  article.office .category ul li img {
    width: 90px;
  }
}
article.office .title_block {
  position: relative;
}
article.office .title_block h2 {
  border-bottom: 3px double #dadbdb;
  padding: 0 0 20px 15px;
}
@media only screen and (max-width: 767px) {
  article.office .title_block h2 {
    padding: 0 0 10px 5px;
    margin-bottom: 10px;
  }
  article.office .title_block h2 img {
    height: 25px;
    width: auto;
  }
}
article.office .title_block ul.menu {
  position: absolute;
  bottom: 20px;
  right: 0;
}
@media only screen and (max-width: 767px) {
  article.office .title_block ul.menu {
    position: static;
    text-align: right;
    margin-bottom: 20px;
  }
}
article.office .title_block ul.menu li {
  float: left;
  margin-right: 5px;
}
@media only screen and (max-width: 767px) {
  article.office .title_block ul.menu li {
    float: none;
    display: inline;
  }
  article.office .title_block ul.menu li img {
    width: 35px;
  }
}
article.office .title_block ul.menu li:last-child {
  margin-right: 0;
}
article.office .sub_menu {
  margin-bottom: 80px;
}
@media only screen and (max-width: 767px) {
  article.office .sub_menu {
    margin-bottom: 40px;
  }
}
article.office .sub_menu ul {
  text-align: center;
  width: 820px;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  article.office .sub_menu ul {
    width: 300px;
  }
}
article.office .sub_menu ul li {
  float: left;
}
@media only screen and (max-width: 767px) {
  article.office .sub_menu ul li {
    width: 50%;
  }
}
article.office .sub_menu ul li a {
  display: block;
  width: 204px;
  height: 55px;
  background: url(../office/img/menu.png) center center no-repeat;
  background-size: 204px 55px;
  line-height: 55px;
  font-size: 2rem;
  color: #3f3b3a;
}
@media only screen and (max-width: 767px) {
  article.office .sub_menu ul li a {
    width: 100%;
    font-size: 1.6rem;
    background-size: contain;
    height: 41px;
    line-height: 41px;
  }
}
article.office .sub_menu ul li a:hover {
  background: url(../office/img/menu_on.png) center center no-repeat;
  background-size: 204px 55px;
  color: #fff;
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  article.office .sub_menu ul li a:hover {
    background-size: contain;
  }
}
article.office .first_block {
  margin-bottom: 100px;
}
@media only screen and (max-width: 767px) {
  article.office .first_block {
    margin-bottom: 40px;
  }
}
article.office .first_block .catch {
  text-align: center;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  article.office .first_block .catch {
    margin-bottom: 20px;
  }
}
article.office .first_block p {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  article.office .first_block p {
    font-size: 1.3rem;
  }
}
article.office .first_block .photo {
  text-align: center;
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  article.office .first_block .photo {
    margin-top: 20px;
  }
  article.office .first_block .photo img {
    margin-bottom: 10px;
  }
}
article.office .works {
  margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
  article.office .works {
    margin-bottom: 30px;
  }
}
article.office .works p {
  font-size: 1.7rem;
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  article.office .works p {
    font-size: 1.3rem;
    margin-bottom: 15px;
  }
}
article.office .works .map_block {
  text-align: center;
  margin-bottom: 80px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  article.office .works .map_block {
    margin-bottom: 40px;
  }
}
article.office .works .map_block #map {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -393.5px;
}
@media only screen and (max-width: 767px) {
  article.office .works .map_block #map {
    margin-left: 0;
    transform: translateX(-50%);
  }
}
article.office .works .global_box {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  article.office .works .global_box {
    margin-bottom: 20px;
  }
}
article.office .works .global_box img {
  float: left;
  margin-right: 20px;
}
@media only screen and (max-width: 767px) {
  article.office .works .global_box img {
    float: none;
    display: block;
    margin: 0 auto 10px auto;
  }
}
article.office .works .global_box p {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  article.office .works .global_box p {
    font-size: 1.3rem;
  }
}
article.office .works .global_box .tit {
  font-size: 3rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  article.office .works .global_box .tit {
    font-size: 1.8rem;
  }
}
article.office .works .txt01 {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 5px;
}
@media only screen and (max-width: 767px) {
  article.office .works .txt01 {
    font-size: 1.6rem;
  }
}
article.office .works .photo_block {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
  justify-content: space-between;
}
article.office .works .photo_block::after {
  content: "";
  display: block;
  width: 30%;
}
article.office .works .photo_block .box {
  width: 250px;
  margin-bottom: 15px;
}
@media only screen and (max-width: 767px) {
  article.office .works .photo_block .box {
    width: 48%;
  }
  article.office .works .photo_block .box p {
    font-size: 1.1rem;
    margin-bottom: 0;
  }
}
article.office .works .photo_block .box img {
  margin-bottom: 10px;
}
article.office .detail {
  margin-bottom: 80px;
}
@media only screen and (max-width: 767px) {
  article.office .detail {
    margin-bottom: 40px;
  }
}
article.office .detail table.basic01 th {
  font-size: 1.8rem;
  background-color: #dadbdb;
}
@media only screen and (max-width: 767px) {
  article.office .detail table.basic01 th {
    font-size: 1.3rem;
  }
  article.office .detail table.basic01 th br {
    display: none;
  }
}
article.office .detail table.basic01 td {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  article.office .detail table.basic01 td {
    font-size: 1.3rem;
  }
  article.office .detail table.basic01 td img {
    max-width: 90px;
    margin-bottom: 5px;
  }
}
article.office .access {
  margin-bottom: 80px;
}
article.office .access .photo {
  float: left;
  width: 400px;
}
@media only screen and (max-width: 767px) {
  article.office .access .photo {
    margin-bottom: 20px;
  }
  article.office .access .photo a:first-child img {
    max-width: 100%;
  }
}
article.office .access .photo img {
  margin-bottom: 5px;
}
@media only screen and (max-width: 767px) {
  article.office .access .photo img {
    max-width: 49%;
  }
}
@media only screen and (max-width: 767px) {
  article.office .access .photo {
    float: none;
    width: 100%;
  }
}
article.office .access .profile {
  float: right;
  width: 390px;
}
@media only screen and (max-width: 767px) {
  article.office .access .profile {
    float: none;
    width: 100%;
  }
  article.office .access .profile p img {
    height: 25px;
    width: auto;
  }
}
article.office .access table.basic01 th {
  font-size: 1.8rem;
  background-color: #eaebeb;
}
@media only screen and (max-width: 767px) {
  article.office .access table.basic01 th {
    font-size: 1.3rem;
  }
  article.office .access table.basic01 th br {
    display: none;
  }
}
article.office .access table.basic01 td {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  article.office .access table.basic01 td {
    font-size: 1.3rem;
  }
  article.office .access table.basic01 td img {
    max-width: 90px;
    margin-bottom: 5px;
  }
}
article.office .access table.basic01 td img {
  margin-bottom: 5px;
}
article.office .access table.basic01 td .acs_border {
  display: block;
  border-bottom: 1px dashed #3f3b3a;
  padding-bottom: 5px;
  margin-bottom: 10px;
}
article.office .access .ggmap {
  margin: 20px 0 0 0;
}
article.office .facility {
  margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
  article.office .facility {
    margin-bottom: 30px;
  }
}
article.office .facility p {
  font-size: 1.7rem;
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  article.office .facility p {
    font-size: 1.3rem;
    margin-bottom: 15px;
  }
}
article.office .facility .photo_block {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
  justify-content: space-between;
}
article.office .facility .photo_block::after {
  content: "";
  display: block;
  width: 30%;
}
article.office .facility .photo_block .box {
  width: 250px;
}
@media only screen and (max-width: 767px) {
  article.office .facility .photo_block .box {
    width: 48%;
  }
  article.office .facility .photo_block .box p {
    font-size: 1.1rem;
  }
}
article.office .facility .photo_block .box img {
  margin-bottom: 10px;
}
article.office .history {
  margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
  article.office .history {
    margin-bottom: 30px;
  }
}
article.office .history dl {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  article.office .history dl {
    font-size: 1.3rem;
  }
}
article.office .history dl dt {
  width: 160px;
  float: left;
  clear: left;
}
@media only screen and (max-width: 767px) {
  article.office .history dl dt {
    float: none;
    width: 100%;
    margin-bottom: 3px;
    font-weight: bold;
    font-size: 1.5rem;
  }
}
article.office .history dl dd {
  padding-left: 160px;
}
@media only screen and (max-width: 767px) {
  article.office .history dl dd {
    padding-left: 0;
    margin-bottom: 15px;
  }
}
article.office .facebook {
  margin-bottom: 80px;
}
@media only screen and (max-width: 767px) {
  article.office .facebook {
    margin-bottom: 40px;
  }
}
article.office .facebook .fb-page {
  margin: auto;
}
article.office .list p {
  text-align: center;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  article.office .list p {
    margin-bottom: 10px;
  }
}
article.office .list p a {
  margin-right: 10px;
}
@media only screen and (max-width: 767px) {
  article.office .list p a {
    display: block;
    float: left;
    width: 32%;
    margin-right: 1%;
  }
}
article.office .list p a:last-child {
  margin-right: 0;
}

@media only screen and (max-width: 767px) {
  article.office.misumi .title_block h2 img {
    height: 40px;
  }
}
@media only screen and (max-width: 767px) {
  article.office.misumi .access .profile p img {
    height: 40px;
  }
}

@media only screen and (max-width: 767px) {
  article.office.soudan .title_block h2 img {
    height: 40px;
  }
}
@media only screen and (max-width: 767px) {
  article.office.soudan .access .profile p img {
    height: 40px;
  }
}

@media only screen and (min-width: 768px) {
  article.privacy .contents {
    padding-left: 20px;
    padding-right: 20px;
  }
}
article.privacy p {
  margin-bottom: 25px;
  font-size: 1.6rem;
  color: #000;
}
@media only screen and (max-width: 767px) {
  article.privacy p {
    font-size: 1.4rem;
  }
}
article.privacy span.indent {
  display: block;
  padding-left: 40px;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  article.privacy span.indent {
    width: 100%;
    box-sizing: border-box;
    padding-left: 1em;
  }
}

article.recruit .category h3 {
  background: url(../faq/img/head_bg.png) left top repeat-x;
  height: 40px;
  line-height: 45px;
  border-left: 10px solid #0099e2;
  padding-left: 20px;
  font-size: 2rem;
  color: #0099e2;
  position: relative;
  margin: 30px 0 15px;
}
@media only screen and (max-width: 767px) {
  article.recruit .category h3 {
    background: url(../faq/img/head_bg.png) left top repeat;
    font-size: 1.6rem;
    height: auto;
    line-height: 1.6;
    padding: 5px 10px;
  }
}
article.recruit .category table.basic01 {
  margin-bottom: 40px;
}
article.recruit .category table.basic01 th {
  background-color: #ebebeb;
  vertical-align: middle;
}
article.recruit .category h4 {
  font-size: 1.9rem;
  margin-bottom: 10px;
}
article.recruit .recruit_foot {
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  article.recruit .recruit_foot {
    margin-top: 40px;
  }
}
article.recruit .recruit_foot .title {
  text-align: center;
  font-size: 2.3rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  article.recruit .recruit_foot .title {
    font-size: 1.8rem;
  }
}
article.recruit .recruit_foot .box {
  width: 700px;
  margin: auto;
  border: 12px solid #ccc;
  padding: 15px;
}
@media only screen and (max-width: 767px) {
  article.recruit .recruit_foot .box {
    width: 100%;
    padding: 10px;
    border: 5px solid #ccc;
    padding: 10px;
  }
}
article.recruit .recruit_foot .box .txt_box01 {
  background-color: #1d50a2;
  color: #fff;
  font-size: 1.8rem;
  width: 155px;
  height: 115px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 10px;
  float: left;
}
@media only screen and (max-width: 767px) {
  article.recruit .recruit_foot .box .txt_box01 {
    font-size: 1.4rem;
    width: 130px;
    height: 80px;
    float: none;
    margin: 0 auto 15px auto;
  }
}
article.recruit .recruit_foot .box .txt_box02 {
  float: left;
  width: 450px;
  text-align: center;
  padding-top: 20px;
}
@media only screen and (max-width: 767px) {
  article.recruit .recruit_foot .box .txt_box02 {
    padding-top: 0;
    width: 100%;
    float: none;
  }
}
article.recruit .recruit_foot .box .txt_box02 p {
  margin-bottom: 5px;
  line-height: 1.2;
}
article.recruit .recruit_foot .box .txt_box02 p.txt01 {
  font-size: 2.1rem;
}
@media only screen and (max-width: 767px) {
  article.recruit .recruit_foot .box .txt_box02 p.txt01 {
    font-size: 1.6rem;
  }
}
article.recruit .recruit_foot .box .txt_box02 p.txt01 span {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  article.recruit .recruit_foot .box .txt_box02 p.txt01 span {
    display: block;
    font-size: 1.3rem;
  }
}
article.recruit .recruit_foot .box .txt_box02 p.txt02 {
  color: #1d50a2;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 3.8rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  article.recruit .recruit_foot .box .txt_box02 p.txt02 {
    font-size: 2.4rem;
  }
}
article.recruit .recruit_foot .box .txt_box02 p.txt02 span {
  font-size: 2.5rem;
  margin-right: 10px;
}
@media only screen and (max-width: 767px) {
  article.recruit .recruit_foot .box .txt_box02 p.txt02 span {
    font-size: 1.8rem;
  }
}
article.recruit .recruit_foot .box .txt_box02 p.txt03 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  article.recruit .recruit_foot .box .txt_box02 p.txt03 {
    font-size: 1.2rem;
  }
}

article.top section.kv {
  position: relative;
  background: url(../img/top/bg.png);
  margin-bottom: 40px;
  border-bottom: 4px solid #1d50a2;
}
article.top section.kv .main_image {
  width: 962px;
  margin: 0 auto;
  padding: 15px 0 0 0;
}
@media only screen and (max-width: 767px) {
  article.top section.kv .main_image {
    width: 100%;
  }
}
article.top section.kv .main_image ul li img {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  article.top section.kv .main_image .bx-wrapper .bx-controls-direction {
    display: none;
  }
}
article.top section.kv .main_image .bx-wrapper .bx-controls-direction a.bx-prev {
  background: url(../img/top/prev.png) center center no-repeat;
  background-size: 45px auto;
  left: -60px;
  top: 50%;
}
article.top section.kv .main_image .bx-wrapper .bx-controls-direction a.bx-next {
  background: url(../img/top/next.png) center center no-repeat;
  background-size: 45px auto;
  right: -60px;
  top: 50%;
}
article.top section.kv .main_image .bx-wrapper .bx-pager.bx-default-pager a {
  background: transparent;
  text-indent: -9999px;
  display: block;
  width: 10px;
  height: 10px;
  margin: 0 5px;
  outline: 0;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  box-sizing: border-box;
  border: 1px solid #1d50a2;
}
article.top section.kv .main_image .bx-wrapper .bx-pager.bx-default-pager a:hover,
article.top section.kv .main_image .bx-wrapper .bx-pager.bx-default-pager a.active {
  background: #1d50a2;
  width: 10px;
  height: 10px;
  border: none;
  position: relative;
  top: -2px;
}
article.top section.kv .main_image .bx-wrapper .bx-pager {
  margin-top: 0px;
}
article.top section.kv .main_image_sp {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  article.top section.kv .main_image_sp {
    display: none;
  }
}
article.top section.kv .main_image_sp ul li img {
  width: 100%;
}
article.top .contents01 {
  margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  article.top .contents01 {
    margin-bottom: 25px;
  }
}
article.top .contents01 .mincho {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  article.top .contents01 .mincho {
    font-size: 1.4rem;
  }
}
article.top .contents02 {
  margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  article.top .contents02 {
    margin-bottom: 25px;
    padding-left: 0;
  }
}
article.top .contents02 p {
  font-size: 1.7rem;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  article.top .contents02 p {
    font-size: 1.4rem;
    margin-bottom: 15px;
  }
}
article.top .contents02 p.aR {
  font-size: 1.4rem;
  margin-bottom: 15px;
  font-family: Helvetica, Arial, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "游ゴシック", "Yu Gothic", YuGothic, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
article.top .contents02 .title {
  font-size: 3rem;
  text-align: center;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  article.top .contents02 .title {
    font-size: 1.8rem;
  }
}
article.top .contents02 .youtube {
  text-align: center;
  margin-bottom: 20px;
}
article.top .contents02 .photo_block {
  text-align: center;
  margin-bottom: 20px;
}
article.top .contents02 .photo_block img {
  margin-right: 15px;
}
@media only screen and (max-width: 767px) {
  article.top .contents02 .photo_block img {
    width: 30%;
    margin-right: 3%;
  }
}
article.top .contents02 .photo_block img:last-child {
  margin-right: 0;
}
article.top .contents02 .link_block {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: flex-start;
  justify-content: flex-start;
  gap: 10px;
}
@media only screen and (max-width: 767px) {
  article.top .contents02 .link_block {
    display: block;
    text-align: center;
  }
}
article.top .contents02 .link_block a {
  display: block;
  width: 160px;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  article.top .contents02 .link_block a {
    display: inline-block;
    width: 147px;
    margin-bottom: 10px;
  }
}
article.top .contents02 .foot_txt {
  margin-top: 20px;
  margin-bottom: 0;
}
