@charset "utf-8";

/* reset
---------------------------------------------------------- */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
img,
dl,
dt,
dd,
ol,
ul,
li,
form,
label,
legend,
table,
tbody,
tr,
th,
td,
article,
embed,
footer,
header,
hgroup,
nav,
section,
time {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  font-weight: normal;
}

/* HTML5 display-role reset for older browsers */
article,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

img {
  vertical-align: bottom;
  max-width: 100%;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* font
---------------------------------------------------------- */
body {
  font-size: 14px;
  color: #333;
  line-height: 1.3;
  text-align: center;
  background: url(../img/bg.jpg);
  font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
}

/* common.js
---------------------------------------------------------- */
.imgover {
}

.over {
}

.anchor {
}

/* useful
---------------------------------------------------------- */

/*clear*/
.cl {
  display: block;
  min-height: 1%;
}

.cl:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}

* html .cl {
  height: 1%;
  /*\*/
  /*/height: auto;overflow: hidden;/**/
}

.clears {
  display: block;
  clear: both;
  height: 0px;
  overflow: hidden;
  padding: 0;
  margin: 0;
  border: 0px;
}

/*font*/
.fwB {
  font-weight: bold !important;
}

.fsS {
  font-size: 90% !important;
}

.fsM {
  font-size: 120% !important;
}

.fsL {
  font-size: 150% !important;
}

.fRed {
  color: #c00;
}

.fGreen {
  color: #007f45;
}

/*serif*/
.mintyo,
#gNav,
.pageHead,
.comTit01,
.comTit02,
.comTit03,
.sideMenu .comBox:not(.eventBox) .txt,
#cms h2 {
  font-family: "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝B", "HGS明朝E", "メイリオ", Meiryo;
  font-weight: normal;
}

/*{font-family:"ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;}*/

/*margin,padding*/
.mC {
  margin-left: auto;
  margin-right: auto;
}

.mbS {
  margin-bottom: 0.5em !important;
}

.mbM {
  margin-bottom: 1em !important;
}

.mbL {
  margin-bottom: 2em !important;
}

.mbXL {
  margin-bottom: 3em !important;
}

.mtS {
  margin-top: 0.5em !important;
}

.mtM {
  margin-top: 1em !important;
}

.mtL {
  margin-top: 2em !important;
}

.mtXL {
  margin-top: 3em !important;
}

.indent {
  text-indent: -1em;
  padding: 0 0 0 1em;
}

.indentNum {
  text-indent: -2em;
  padding: 0 0 0 2em;
}

.inS {
  padding-left: 2%;
  padding-right: 2%;
}

.posRel {
  position: relative;
}

/*align*/
.taC {
  text-align: center !important;
}

.taR {
  text-align: right !important;
}

.taL {
  text-align: left !important;
}

.vaM {
  vertical-align: middle !important;
}

/*float*/
.fL {
  float: left;
}

.fR {
  float: right;
}

.imgL {
  float: left;
  margin-right: 1.5em !important;
}

.imgR {
  float: right;
  margin-left: 1.5em !important;
}

.noF {
  overflow: auto;
  zoom: 1;
}

/*display*/
.inB {
  display: inline-block;
}

.disB {
  display: block;
}

.disN {
  display: none;
}

/* common
---------------------------------------------------------- */

a:link,
a:visited {
  color: #10673a;
  text-decoration: none;
}

a:hover,
a:active {
  color: #3aab41;
  text-decoration: underline;
}

body {
  color: #333;
  -webkit-text-size-adjust: none;
}

button {
  cursor: pointer;
}

/* layout
---------------------------------------------------------- */

/*header*/

header {
  background: #fff;
  margin: 0 0 1em;
}

header .headerIn {
  width: 1000px;
  margin: 0 auto;
  padding: 15px 0;
  text-align: left;
  overflow: hidden;
}

header h1 {
  text-align: center;
  margin-bottom: 0.8em;
  font-size: 13px;
}

header .headerL {
  float: left;
  padding: 1em 0 0 0;
}

header .headerL p {
  margin-bottom: 0.5em;
  font-size: 11px;
}

header .headerR {
  float: right;
  width: 642px;
  padding-top: 1.5em;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}

header .headerR a {
  margin: 0 0 0 0em;
}

header .h_btn_recruit {
  padding-top: 12px;
  position: relative;
}

header .headerR .contact_img {
  width: 192px;
}

/* header .h_btn_recruit:after {
  content: 'Zoom会社見学実施中！';
  position: absolute;
  top: 94%;
  left: 50%;
  transform: translate(-50%, 0);
  white-space: nowrap;
  display: block;
  background: #2D8CFF;
  color: #fff;
  font-size: 11px;
  padding: .2em 1em;
  border-radius: 40px;
  animation: blinks 0.7s infinite alternate;
}
@keyframes blinks{
   0% { opacity: 0; }
 100% { opacity: 1; }
} */

.wid470 {
  width: 470px;
}

/*pankuzu*/
.pankuzu {
  margin: 0 0 1em;
  font-size: 90%;
}

.pankuzu span {
  font-weight: bold;
}

header #gNav {
  background-color: #5c3a29;
  clear: both;
}

#gNav nav {
  width: 1000px;
  margin: 0 auto;
}

#gNav img {
  vertical-align: middle;
}

#gNav li {
  float: left;
}

#gNav li a {
  display: block;
  padding: 0.5em 0;
  line-height: 2em;
  color: #fff;
}

#gNav li a span {
  padding: 0 1.7em 0 0;
}

#gNav li a span:before {
  content: "|";
  padding: 0 1.7em 0 0;
  color: rgba(255, 255, 255, 0.8);
}

#gNav li a:link,
#gNav li a:visited {
  text-decoration: none;
}

#gNav li a:hover,
#gNav li a:active {
  background: #7e6153;
  text-decoration: none;
}

#gNav li i {
  font-size: 60%;
  font-style: normal;
  padding: 0 0 0 0.8em;
  vertical-align: middle;
}

#gNav .nav02,
#gNav .nav04,
#gNav .nav05,
#gNav .nav07 {
  position: relative;
  cursor: pointer;
}

#gNav .menuSub {
  position: absolute;
  top: 3em;
  left: 0.3em;
  display: none;
  white-space: nowrap;
  z-index: 100;
  background: #fff;
  padding: 0;
  border: 1px solid #ccc;
  border-top: none;
}

#gNav .menuSub li {
  float: none;
  margin: 0;
  display: block;
  width: 100%;
}

#gNav .menuSub li a {
  color: #333;
  border: none;
  border-bottom: 1px dotted #ccc;
  font-size: 13px;
  padding: 0 1em;
  text-align: left;
}

#gNav .menuSub li a:hover,
#gNav .menuSub li a:active {
  background: #7e6153;
  color: #fff;
  text-decoration: none;
}

#gNav .menuSub li:last-child a {
  border: none;
}

/*content*/
.content {
  margin: 0 auto 3em;
  width: 1000px;
  text-align: left;
  overflow: hidden;
}

.index {
  padding-top: 1em;
}

/*main*/
.main {
  width: 72%;
  float: left;
  line-height: 1.4;
}

.index .main {
  width: 66%;
  float: left;
}

.col1 .main {
  width: 100%;
  float: none;
}

/*sideMenu*/
.sideMenu {
  width: 26%;
  float: right;
}

.index .sideMenu {
  width: 32%;
  float: right;
}

.sideMenu .comBox {
  margin: 0 0 1.2em 0;
  height: 90px;
  overflow: hidden;
}

.sideMenu .comBox:link,
.sideMenu .comBox:visited {
  text-decoration: none;
  color: #333;
}

.sideMenu .comBox:hover,
.sideMenu .comBox:active {
  text-decoration: none;
  color: #6a6a6a;
}

.sideMenu .comBox .txt p {
  height: 90px;
  display: table-cell;
  vertical-align: middle;
  font-weight: bold;
  padding: 0 1em;
  font-size: 110%;
}

.sideMenu .comBox .txt span {
  font-size: 83%;
  font-weight: bold;
}

.sideMenu .comBox .txt span.txtHead {
  font-size: 110%;
}

.sideMenu .comBox .txt span.txtSub {
  font-size: 75%;
  font-weight: normal;
  color: #333;
  margin: 0.5em 0 0 0;
  display: block;
}

.sideMenu .comBox:hover .txt span.txtSub,
.sideMenu .comBox:active .txt span.txtSub {
  color: #666;
}

.sideMenu .comBox img {
  float: right;
  width: 110px;
}

.index .sideMenu .comBox {
  height: auto;
}

.index .sideMenu .comBox .txt p {
  height: 100px;
}

.content:not(.index) .sideMenu .txt span.txtHead {
  font-size: 100%;
}

.content:not(.index) .sideMenu .txt span.txtHead .fsM {
  font-size: 140% !important;
}

.content:not(.index) .sideMenu .txt span.txtRepeat {
  font-size: 84%;
}

.content:not(.index) .sideMenu .txt span.txtSub {
  display: none;
}

.content:not(.index) .sideMenu .txt br.u-pc {
  display: none;
}

.index .sideMenu .adjust {
  display: none;
}

.sideMenu .eventBox {
  border: 3px solid #31609c;
  background: #31609c;
}

.sideMenu .eventBox img {
  float: left;
}

.content:not(.index) .sideMenu .eventBox img {
  height: 100%;
}

.sideMenu .eventBox * {
  color: #fff !important;
}

/*menuBox*/
.sideMenu .menuBox {
  border-radius: 5px 5px 0 0;
  margin: 0 0 1.5em 0;
}

.sideMenu .menuBox h2.mintyo {
  border-radius: 5px 5px 0 0;
  color: #fff;
  background: #008043;
  padding: 0.5em 0.8em;
  font-size: 110%;
}

.sideMenu .menuBox ul {
  background: #fff;
  -webkit-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.1);
}

.sideMenu .menuBox a {
  display: table;
  width: 100%;
  vertical-align: middle;
  padding: 0.5em 0.8em;
  border-bottom: 1px dotted #ccc;
}

.sideMenu .menuBox a:hover,
.sideMenu .menuBox a:active {
  background: #d8ece3;
  text-decoration: none;
}

.sideMenu .menuBox li:last-child a {
  border: none;
}

.sideMenu .menuBox .imgBox {
  width: 60px;
  display: table-cell;
}

.sideMenu .menuBox img {
  width: 100%;
}

.sideMenu .menuBox p {
  display: table-cell;
  vertical-align: middle;
  padding: 0 0 0 1em;
}

/*pagetop*/
#pagetop {
  position: fixed;
  z-index: 10;
  bottom: 3em;
  right: 3em;
}

/*footer*/
footer {
  background: #fff;
  font-size: 90%;
}

footer h2 {
  width: 70%;
  border-radius: 10px;
  padding: 0.3em 0;
  margin-bottom: 1em;
  background-color: #5e3a25;
  color: #fff;
  font-weight: bold;
}

footer .footerIn {
  width: 1000px;
  margin: 0 auto;
  padding: 2em 0;
  overflow: hidden;
}

.footerBlock1 {
  width: 34%;
  float: left;
  margin-right: 3.2em;
  padding-top: 0.5em;
}

.footerBlock1 .smallP {
  font-size: 85%;
}

.footerBlock1 p {
  margin-bottom: 0.5em;
}

.footerBlock2 {
  width: 30%;
  float: left;
  text-align: left;
  padding-top: 1.4em;
}

.footerBlock2 img {
  margin-bottom: 0.5em;
}

.footerBlock2 p {
  font-size: 110%;
  text-align: center;
}

.footerBlock3 {
  float: right;
  margin-right: 3em;
}

.footerBlock3 .taC img {
  margin-bottom: 1em;
}

.footerBlock3 .contact_img {
  width: 192px;
}

.footerIn h3 {
  font-weight: bold;
  margin: 0 0 0.5em 0;
}

.footerIn table {
  font-size: 90%;
}

.footerIn th {
  width: 4.2em;
}

.footerIn td {
  text-indent: -1em;
  padding: 0 0 0 1em;
  padding: 0 0 0.5em 0;
}

.footerMap {
  position: relative;
  padding-bottom: 65%;
  height: 0;
  overflow: hidden;
  margin: 0;
}

.footerMap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* content
---------------------------------------------------------- */

/*contentcommon*/
.comTit01 {
  background: url(../img/bg_tit01.jpg);
  padding: 0.5em 1em;
  color: #fff;
  font-size: 120%;
  border-radius: 5px 5px 0 0;
}

.comTit01 a:link,
.comTit01 a:visited {
  color: #fff;
}

.comTit02 {
  background: url(../img/bg_tit02.png) no-repeat left center;
  padding: 1.5% 2.5% 1.5% 6%;
  margin: 0 0 1.5em 0;
  font-size: 140%;
  border-bottom: 1px solid #444;
  font-weight: bold;
}

.interviewTit {
  background-image: url(../img/bg_tit02_interview.png);
}

.voiceTit {
  background-image: url(../img/bg_tit02_voice.png);
}

.comTit03 {
  border-bottom: 1px dotted #444;
  margin: 0 0 1em 0;
  padding: 0 0 0.3em 0;
  font-size: 120%;
  font-weight: bold;
}

.comTit04 {
  background: url(../img/bg_tit04.png) no-repeat 10px center #3e976c;
  color: #fff;
  padding: 0.8% 3.5%;
  margin: 0 0 1.5em 0;
  border-radius: 5px;
  font-size: 120%;
}

.comBox {
  background: #fff;
  /*border-radius:5px;*/
  display: block;
  margin: 0 0 1.5em 0;
  text-align: left;
  -webkit-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.1);
}

.comBox02 {
  border-radius: 5px 5px 0 0;
  margin: 0 0 2em 0;
  -webkit-box-shadow: 0 0 3px 3px rgba(140, 70, 0, 0.3);
  box-shadow: 0 0 3px 3px rgba(140, 70, 0, 0.3);
  display: block;
}

.comBox02 .boxIn {
  padding: 2.5%;
}

.comImg {
  border: 1px solid #ccc;
  padding: 3px;
}

.comTbl01 table {
  width: 100%;
}

.comTbl01 th,
.comTbl01 td {
  border: 1px solid #bdbdad;
  font-weight: bold;
  background: #f0f0e1;
  padding: 1em;
  vertical-align: middle;
}

.comTbl01 td {
  background: #fff;
  font-weight: normal;
}

.comTbl02 table {
}

.comTbl02 th {
  font-weight: bold;
  white-space: nowrap;
  padding: 0.5em;
}

.comTbl01 td {
  background: #fff;
  font-weight: normal;
}

.bgHead {
  background: url(../img/bg_pageHeader.png) #fff repeat-x left bottom;
  border: 1px solid #dfdfd0;
  margin: 0 0 2em 0;
}

.pageHead {
  background: url(../img/mark_pageHeader.png) no-repeat 10px center;
  border: 1px solid #fff;
  padding: 0.4em 0 0.4em 1.5em;
  font-size: 140%;
  font-weight: bold;
}

.mainBlock {
  background: #fff;
  padding: 20px;
}

.indexBlock {
  width: 48.5%;
  float: left;
  margin: 0 0 1.5em 0;
}

.indexBlock:nth-child(even) {
  float: right;
}

.indexBlock a {
  text-decoration: none;
  display: block;
}

.indexBlock .box {
  margin: 0 0 1em 0;
}

.indexBlock .box img {
  display: block;
  width: 100%;
}

.leftGreen {
  border-bottom: dotted 1px #333;
  padding: 0 0 0.7em 0.3em;
  margin-bottom: 1em;
}

.leftGreen span {
  border-left: 4px solid #3e8770;
  padding: 0.1em 0 0.1em 1em;
  font-size: 1.3em;
  color: #377361;
  font-weight: bold;
}

.gradientHead {
  background: url(../img/gradient_border01.png) no-repeat left bottom;
  padding: 0 0 0.5em 0.3em;
  margin-bottom: 1.3em;
}

.graHeadName {
  display: table-cell;
  vertical-align: middle;
  font-size: 1.2em;
  font-weight: bold;
  padding-top: 0.2em;
}

.graHeadNo {
  display: table-cell;
  vertical-align: middle;
  padding-right: 0.4em;
  font-size: 1.5em;
  font-weight: bold;
}

.linkPhase {
  float: right;
  /*background:url(../img/link_icon01.png) no-repeat left center; padding-left:30px; min-height:31px; line-height:31px;*/
}

.linkPhase a {
  color: #00468c;
  font-weight: bold;
  text-decoration: underline;
}

.linkPhase a:hover,
.linkPhase a:active {
  text-decoration: none;
}

/*index*/

.indexMain {
  margin: 0 auto;
  -webkit-box-shadow: 0 0 3px 3px rgba(140, 70, 0, 0.4);
  box-shadow: 0 0 3px 3px rgba(140, 70, 0, 0.4);
  border-radius: 8px;
  width: 650px;
  margin: 0 0 1.5em 5px;
}

.indexInfo ul {
  background: #fff;
  padding: 1em;
}

.indexInfo li {
  border-bottom: 1px dotted #ccc;
  padding: 0 0 0.5em 0;
  margin: 0 0 0.5em 0;
}

.indexInfo li:last-child {
  border: none;
  margin: 0;
  padding: 0;
}

.indexInfo li .articleAdd {
  display: flex;
  align-items: center;
  gap: 11px;
}

.indexInfo li .articleAddCat {
  border-radius: 10px;
  padding: 3px 14px;
  font-size: 72%;
  color: #fff;
  background: #168d55;
  border: solid 1px #168d55;
}

.indexInfo li .articleAddCat.alt,
.indexInfo li .articleAddCat.column_onsite {
  color: #168d55;
  background: #fff;
}

.indexInfo li .articleAddCat.column_other {
  color: #333;
  background: #e5e5e5;
  border: solid 1px #e5e5e5;
}

.indexInfo li span.artticleDate {
  display: block;
  width: 6em;
  float: left;
  color: #666;
}

.indexInfo li a {
  display: block;
  margin: 4px 0 0;
  color: #333;
  /* margin: 0 0 0 7em; */
}

.indexInfo .topIndexList li {
  display: flex;
  align-items: center;
  gap: 2em;
  color: #666;
}

.indexInfo .topIndexList li a {
  margin: 0;
  color: #10673a;
}

.indexInfo .topIndexList li a:hover {
  color: #3aab41;
  text-decoration: underline;
}

.indexInfo .pagination ul {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 1rem 0;
}

.indexInfo .pagination ul li {
  border-bottom: none;
  margin: 0;
  padding: 0;
}

.indexInfo .pagination ul li a,
.indexInfo .pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0;
  border: solid 1px #168d55;
  border-radius: 50%;
  font-size: 114%;
  color: #168d55;
}

.indexInfo .pagination ul li a:hover {
  text-decoration: none;
  opacity: 0.8;
}

.indexInfo .pagination ul li.active a,
.indexInfo .pagination ul li.active span {
  background: #168d55;
  color: #fff;
}

.indexInfo .pagination ul li.prev a,
.indexInfo .pagination ul li.next a {
  border: none;
}

.eventInfo li {
  display: flex;
  justify-content: flex-start;
}

.eventInfo .eyeCatch {
  width: 100px;
  margin: 0 1em 0 0;
}

.eventInfo .eyeCatch a {
  display: block;
  width: 100%;
  padding-top: 75%;
  background: no-repeat center;
  background-size: cover;
  margin: 0;
}

.eventInfo .eyeCatch a:hover {
  opacity: 0.7;
}

.eventInfo .eventTxt {
}

.eventInfo .eventTxt span {
  float: none;
  margin: 0;
}

.eventInfo .eventTxt a {
  display: block;
  margin: 5px 0 0 !important;
}

.mainTxt {
  font-size: 110%;
  font-weight: bold;
  margin-bottom: 1.5em;
}

.indexBnr a {
  float: left;
}

.indexBnr a:last-child {
  float: right;
}

.linkPhase a.indexlink {
  font-weight: normal;
}

.indexNews {
  display: flex;
  width: 100%;
  border: solid 2px #10673a;
  margin: 0 0 2em;
  background: #fff;
}

.indexNews dt {
  background: #10673a;
  padding: 0.7rem 1rem;
  color: #fff;
  display: flex;
  align-items: center;
}

.indexNews dd {
  width: 100%;
}

/*.indexNews dd a {display:block; width:100%; padding: 0.6rem 1rem; font-weight: bold; color: #333; font-size:110%;}
.indexNews dd a span {font-size: 93%; font-weight: bold; color:#666;}*/
.indexBlink {
  animation: Flash1 2s infinite;
  font-weight: bold;
}

/* 点滅アニメーション */
@keyframes Flash1 {
  50% {
    opacity: 0;
  }
}

/*reform*/

.reformService01 {
  background: url(../img/reform_img05.jpg) no-repeat right center;
  padding-right: 33% !important;
}

.reformService02 {
  background: url(../img/reform_img06.jpg) no-repeat left center;
  padding-left: 33% !important;
}

.reformService03 {
  background: url(../img/reform_img07.jpg) no-repeat right center;
  padding-right: 31% !important;
}

/*jirei*/

.jireiIndex .block {
  position: relative;
  width: 32%;
  float: left;
  margin: 0 2% 1.5em 0;
}

.jireiIndex .block:nth-of-type(3n) {
  margin-right: 0;
}

.jireiIndex .mintyo {
  font-weight: bold;
  margin: 0 0 0.5em 0;
  color: #008043;
}

.jireiIndex img {
  width: 100%;
  display: block;
  margin: 0 0 0.5em 0;
}

.jireiIndex a {
  display: block;
  padding: 0.5em;
}

.jireiIndex a:hover,
.jireiIndex a:active {
  background: #d8ece3;
  text-decoration: none;
}

.jireiIndex .newImg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 54px 54px 0 0;
  border-color: #ffd900 transparent transparent transparent;
}

.jireiIndex .newImg::after {
  content: "NEW";
  position: absolute;
  top: -43px;
  left: 4px;
  z-index: 3;
  transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  color: #81540c;
  font-size: 11px;
  font-weight: bold;
}

.jireiList img {
  border: none;
  padding: 0;
}

.jireiList a {
  border: 1px solid #ddd;
}

.jireiDetail .boxIn {
  padding: 0;
  border: 4px solid #60240b;
  border-top: none;
}

.jireiDetail .boxIn h3 {
  font-weight: bold;
  margin: 0 0 1em 0;
  font-size: 110%;
}

.jireiDetail .boxIn h3:before {
  content: "▼";
}

.jireiDetail .jireiName {
  padding: 0.5em 2%;
  text-align: right;
  color: #60240b;
  font-weight: bold;
  font-style: italic;
  background: #eeebda;
}

.jireiDetail .jireiDesc {
  padding: 2%;
  border-bottom: 3px solid #60240b;
}

.jireiDetail .jireiDesc p {
  margin: 0 0 1em 0;
}

.jireiDetail .jireiDesc p:last-child {
  margin: 0;
}

.jireiDetail .jireiBF {
  padding: 2%;
  border-bottom: 3px solid #60240b;
}

.jireiDetail .jireiBF .tblTit {
  background: #60240b;
  padding: 0.3em 1em;
  margin: 0 0 1em 0;
  color: #fff;
  border-radius: 20px;
  display: inline-block;
  font-style: italic;
}

.jireiDetail .jireiBF .beforeTit {
  background: #666;
}

.jireiDetail .photoBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 0 1em 0;
}

.jireiDetail .col2 .photoBox {
  width: 49%;
  /*  float: left;*/
  margin: 0 0 2% 0;
}

.jireiDetail .col2 .photoBox:nth-of-type(2n) {
  /*  float:right;*/
  margin-left: 2%;
}

.jireiDetail .col3 .photoBox {
  width: 32%;
  /*  float: left;*/
  margin: 0 2% 2% 0;
}

.jireiDetail .col3 .photoBox:nth-of-type(3n) {
  margin: 0 0 1em 0;
}

.jireiDetail .photoBox {
  display: table;
  background: #eeebda;
  padding: 2%;
  table-layout: fixed;
}

.jireiDetail .beforeBlock .photoBox {
  background: #f0f0f0;
}

.jireiDetail .photoBox .over {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

.jireiDetail .photoBox span {
  display: block;
  margin: 0.8em 0 0 0;
}

.jireiDetail .jireiInfo table {
  width: 100%;
  table-layout: fixed;
}

.jireiDetail .jireiInfo th {
  white-space: nowrap;
  font-weight: bold;
  padding: 1em;
  vertical-align: middle;
  text-align: center;
  border-bottom: 1px dotted #aaa;
  border-right: 1px dotted #aaa;
  width: 30%;
}

.jireiDetail .jireiInfo td {
  padding: 1em;
  vertical-align: middle;
  border-bottom: 1px dotted #aaa;
  border-left: 1px dotted #aaa;
}

.jireiDetail .jireiInfo tr:last-child th,
.jireiDetail .jireiInfo tr:last-child td {
  border-bottom: none;
}

.jireiDetail .jireiInfo .planImg {
  text-align: center;
}

.jireiDetail .jireiInfo .planImg img {
  margin: 0 0 1em 0;
}

/*pageNav*/

.pageNav {
  display: table;
  width: 100%;
  margin: 2em 0 0 0;
}

.pageNav .prev {
  display: table-cell;
  text-align: left;
  width: 30%;
}

.pageNav .back {
  display: table-cell;
  text-align: center;
}

.pageNav .next {
  display: table-cell;
  text-align: right;
  width: 30%;
}

.pageNav a {
  background: #008043;
  padding: 0.3em 1em;
  margin: 0 0 1em 0;
  color: #fff;
  border-radius: 20px;
  display: inline-block;
  text-decoration: none;
}

.pageNav a:hover,
.pageNav a:active {
  background: #4ca67b;
}

/*craftsman*/
.craftsmanBlock {
  margin: 0 0 3em 0;
}

.craftsmanBlock .box_space {
  display: none;
}

.craftsmanBlock .box {
  width: 24%;
  margin: 0 1.3% 2% 0;
  float: left;
}

.craftsmanBlock .box:nth-of-type(4n) {
  margin: 0 0 2% 0;
}

.craftsmanBlock .box .over {
  display: block;
  margin: 0 0 0.5em;
  border: 1px solid #ccc;
  padding: 3px;
}

.craftsmanBlock .box .name {
  font-size: 114%;
  display: block;
  height: 2.5em;
  text-align: center;
  font-weight: bold;
}

.craftsmanBlock .box .name b {
  display: block;
  font-weight: normal;
  font-size: 69%;
}

.craftsmanBlock .detail .detailName b.descnone {
  display: none;
}

.craftsmanBlock .detail {
  position: relative;
  clear: both;
  margin-top: -2%;
  display: none;
}

.craftsmanBlock .detailIn {
  position: relative;
  background: #f6f4e7;
  margin-bottom: 1.5em;
  border: 1px solid #dfdfd0;
  border-radius: 5px;
  padding: 1em;
}

.craftsmanBlock .detailJob,
.craftsmanBlock .detailName {
  font-weight: bold;
  border-bottom: 1px dotted #ccc;
  padding: 0 0 0.2em;
  margin: 0 0 0.5em 0;
}

.craftsmanBlock .detailIn:after,
.craftsmanBlock .detailIn:before {
  content: "";
  position: absolute;
  border-bottom: 10px solid #f6f4e7;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
}

.craftsmanBlock .detailIn:after {
  top: -9px;
  left: 13%;
  margin-left: -10px;
}

.craftsmanBlock .detailIn:before {
  top: -11px;
  left: 13%;
  border-bottom: 10px solid #dfdfd0;
  margin-left: -10px;
}

.craftsmanBlock .detail2 .detailIn:after,
.craftsmanBlock .detail2 .detailIn:before {
  left: 38%;
}

.craftsmanBlock .detail3 .detailIn:after,
.craftsmanBlock .detail3 .detailIn:before {
  left: 63%;
}

.craftsmanBlock .detail4 .detailIn:after,
.craftsmanBlock .detail4 .detailIn:before {
  left: 88%;
}

/*customer*/

.interviewIndex {
  margin: 0 0 2em 0;
}

.interviewIndex .comBox02 {
  width: 31%;
  margin: 0 3% 3% 0;
  float: left;
  text-decoration: none;
}

.interviewIndex .comBox02:hover,
.interviewIndex .comBox02:active {
  background: #d8ece3;
}

.interviewIndex .comBox02:nth-of-type(3n) {
  margin: 0 0 3% 0;
}

.interviewIndex .comTit01 {
  font-size: 110%;
  padding-right: 0;
}

.interviewIndex .boxIn {
  padding: 1em;
  font-size: 90%;
}

.interviewIndex img {
  display: block;
  margin: 0 0 0.5em;
}

.interviewIndex p {
  color: #333;
}

.interviewIndex span {
  display: block;
  text-align: right;
}

.voiceBlock ul {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/*.voiceBlock li > div{position:relative;
padding-bottom:400px;
height: 0;
overflow: hidden;
margin: 0;
}
.voiceBlock li{background-repeat: no-repeat; background-size: auto 97%; background-position: center top; padding: 384px 0 0;}
.voiceBlock li > div > div {position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background-repeat: no-repeat; background-size: auto 97%; background-position: center top;}
*/
.voiceBlock li {
  text-align: center;
}

.voiceBlock li img {
  width: auto;
  margin: 0 auto;
  max-height: 600px;
}

.bx-wrapper .bx-viewport {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.bx-pager {
  display: none;
}

/*interview*/
.interviewBlock {
  background: url(../img/interview_bg.jpg) no-repeat left top;
  position: relative;
  padding: 0 2.5%;
}

.interviewBlock .headImg {
  position: absolute;
  top: -5px;
  right: -5px;
}

.interviewBlock h1 {
  height: 90px;
  display: table-cell;
  vertical-align: middle;
  font-size: 150%;
  font-weight: bold;
}

.interviewBlock section {
  margin: 3em 0 0;
  padding: 0 0 3em 0;
  border-bottom: 1px dotted #ccc;
  overflow: hidden;
}

.interviewBlock section .comImg {
  float: right;
  width: 41.5%;
  float: right;
  margin: 0 0 0 2em;
}

.interviewBlock section:nth-of-type(2n) .comImg {
  float: left;
  margin: 0 2em 0 0;
}

.interviewBlock h2 {
  font-weight: bold;
  font-size: 140%;
  margin: 0 0 1em;
}

.interviewBlock h2:before {
  content: "― ";
}

.interviewBlock h3 {
  font-weight: bold;
  color: #377462;
  font-size: 120%;
  margin: 0 0 1em;
}

.interviewBlock p {
  margin: 0 0 1.5em;
}

.interviewBlock p.line {
  margin: 0 0 3em;
}

.interviewBlock p:last-child {
  margin: 0;
}

/*company*/

.accessBlock h3 {
  font-weight: bold;
  margin: 0 0 0.5em 0;
}

.accessBlock p {
  padding: 0 0 1em 0;
  border-bottom: 1px dotted #ccc;
  margin: 0 0 1em 0;
}

.accessImg {
  display: flex;
  margin: 10px 0 0;
}

.accessImg-item {
  text-align: center;
}

.accessImg-item:first-child {
  margin: 0 10px 0 0;
}

/*staff*/

.staffBlock {
  border: 1px solid #ccc;
  background: url(../img/staff_bg_1.jpg);
  margin: 0 0 1.5em 0;
}

.staffBlock .inner {
  border: 3px solid #fff;
  padding: 1em;
  overflow: hidden;
  background: url(../img/staff_bg2_1.png) no-repeat right bottom;
}

.staffBlock .comImg {
  float: left;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
  background: #fff;
  margin: 0 1em 1em 0;
}

.staffBlock .comImg_big {
  width: 195px;
}

.staffBlock:nth-of-type(2n) {
  background-image: url(../img/staff_bg_2.jpg);
}

.staffBlock:nth-of-type(2n) .inner {
  background-image: url(../img/staff_bg2_2.png);
}

.staffBlock:nth-of-type(2n) .comImg {
  float: right;
  margin: 0 0 1em 1em;
}

.staffBlock .staffName span:not(.staffName_kana) {
  font-weight: bold;
  padding: 0 0 0.5em;
}

.staffBlock .staffName .mintyo {
  color: #377462;
  font-size: 180%;
}

.staffBlock .staffJob {
  margin-top: 8px;
  font-size: 90%;
  line-height: 1.6;
}

.staffBlock .staffComment {
  margin-top: 20px;
}

.staffBlock .staffComment p {
  margin: 0 0 1em 0;
}

.staffBlock .staffComment p:last-child {
  margin: 0;
}

.staffBlock {
}

.staffName_kana {
  margin-left: 15px;
  vertical-align: middle;
  font-size: 16px;
}

/*flow*/
.oddFlow,
.evenFlow {
  display: table;
  padding: 1em 1em 1em 0;
  margin-bottom: 0.7em;
}

.oddFlow {
  background: url(../img/flow_bg_silver.png) repeat-x #fff left top;
  border: solid 1px #eee;
}

.evenFlow {
  background: url(../img/flow_bg_gold.png) repeat-x #fff left top;
  border: solid 1px #f3eed6;
}

.flowStep,
.flowHead,
.flowDesc {
  display: table-cell;
  vertical-align: middle;
}

.flowStep {
  width: 14%;
}

.flowHead {
  width: 20%;
  font-weight: bold;
  font-size: 1.1em;
}

.flowDesc {
  width: 66%;
}

.flowStep p {
  margin-bottom: 0.5em;
  font-weight: bold;
  font-style: italic;
}

.flowStep .stepNo {
  font-size: 1.3em;
  vertical-align: -0.05em;
}

.flowArrow img {
  margin-bottom: 0.7em;
}

/*plan*/
.planHead {
  margin-bottom: 1em;
  font-size: 1.3em;
  font-weight: bold;
  color: #377361;
}

.planSke {
  margin-bottom: 2em;
}

.planSke img {
  float: left;
  margin-right: 1.5em;
}

.planSke img:nth-child(2n) {
  margin-right: 0;
}

/*reason*/
.reason01 .reasonTxt {
  /* float: left;
  width: 59%; */
}

.reason02 .reasonTxt,
.reason04 .reasonTxt {
  float: right;
  width: 53%;
}

.reason03 .reasonTxt,
.reason05 .reasonTxt {
  float: left;
  width: 53%;
}

.reason01 img,
.reason04 img {
  margin-top: 1em;
}

.reason02 img,
.reason03 img {
  margin-top: 4em;
}

.reason05 img {
  margin-top: 5em;
}

/*anshinreform*/
.anshin02 .graHeadName {
  font-size: 1em;
}

.anshin01 .anshinTxt {
  float: left;
  width: 62%;
}

.anshin02 .anshinTxt {
  float: right;
  width: 53%;
}

.anshin03 .anshinTxt,
.anshin05 .anshinTxt {
  float: left;
  width: 53%;
}

.anshin04 .anshinTxt {
  float: right;
  width: 57%;
}

.anshin06 .anshinTxt {
  float: right;
  width: 58%;
}

.anshin01 img,
.anshin03 img {
  margin-top: 3em;
}

.anshin02 img,
.anshin05 img {
  margin-top: 2em;
}

/*barrierfree*/

.mlS {
  margin-left: 0.5em !important;
}

.mlL {
  margin-left: 2em !important;
}

.reformExam .examLeft01 {
  float: left;
  width: 50%;
}

.reformExam .examRight01 {
  float: right;
  width: 50%;
}

.reformExam .examLeft02 {
  float: left;
  width: 38%;
}

.reformExam .examRight02 {
  float: right;
  width: 62%;
}

.reformExam h3 {
  margin: 0 0 0.5em 0.3em;
}

.reformExam .roomArea {
  border: solid 1px #333;
  border-radius: 5px;
  padding: 0.1em 0.5em;
  margin-right: 0.3em;
  font-weight: bold;
}

.reformExam li {
  font-size: 0.9em;
  padding-left: 1em;
  text-indent: -1em;
}

.reformExam .reformSke {
  display: table;
  margin-bottom: 0.3em;
}

.reformExam .reformSke div {
  display: table-cell;
  vertical-align: middle;
}

.reformExam .reformSke img {
  margin-left: 2.2em;
}

.barrierTbl {
  border-collapse: separate;
  border: solid 1px #ccc;
  border-radius: 15px;
}

.barrierTbl th,
.barrierTbl td {
  background-color: #f9faf0;
  border: dotted 1px #999;
}

.barrierTbl th {
  font-size: 1.2em;
  font-weight: bold;
  vertical-align: middle;
  padding: 1em 0 1em 1em;
  width: 24%;
}

.barrierTbl td {
  vertical-align: middle;
  padding: 1em 1em 1em 1.3em;
  width: 38%;
}

.barrierTbl tr:first-child th {
  border-top: none;
  border-bottom: none;
  background-color: #008043;
  padding: 0.7em 0;
  text-align: center;
  color: #fff;
}

.barrierTbl tr:last-child th,
.barrierTbl tr:last-child td {
  border-bottom: none;
}

.barrierTbl tr th:first-child,
.barrierTbl tr td:last-child {
  border-left: none;
  border-right: none;
}

.barrierTbl tr:first-child th:last-child {
  border-right: none;
}

.barrierTbl tr:nth-child(n + 2) th,
.barrierTbl tr:nth-child(n + 2) td {
  border-top: none;
}

.barrierTbl tr th.radiusLT {
  border-top-left-radius: 15px;
  border-left: solid 1px #008043;
}

.barrierTbl tr th.radiusRT {
  border-top-right-radius: 15px;
  border-right: solid 1px #008043;
}

.barrierTbl tr th.radiusLB {
  border-bottom-left-radius: 15px;
}

.barrierTbl tr td.radiusRB {
  border-bottom-right-radius: 15px;
}

.barrierTbl tr th.minTh {
  font-size: 1em;
}

/*recruit*/
.recruit_none {
  margin: 30px 0 0;
  padding: 150px 0;
  text-align: center;
  border: solid 1px #ccc;
}

.recruitTbl {
  border-collapse: separate;
  border: solid 1px #ccc;
  border-radius: 15px;
}

.recruitTbl th,
.recruitTbl td {
  background-color: #f9faf0;
  border: dotted 1px #999;
}

.recruitTbl td {
  border-right: none;
}

.recruitTbl th {
  font-weight: bold;
  vertical-align: middle;
  padding: 1em 0 1em 1em;
  width: 24%;
}

.recruitTbl td {
  vertical-align: middle;
  padding: 1em 1em 1em 1.3em;
}

.recruitTbl tr:first-child th {
  border-top: none;
  border-bottom: none;
  background-color: #008043;
  padding: 0.7em 0;
  text-align: center;
  color: #fff;
}

.recruitTbl tr:last-child th,
.recruitTbl tr:last-child td {
  border-bottom: none;
}

.recruitTbl tr th:first-child {
  border-left: none;
  border-right: none;
}

.recruitTbl tr th:last-child {
  border-right: none;
}

.recruitTbl tr:first-child th:last-child {
  border-right: none;
}

.recruitTbl tr:nth-child(n + 2) th,
.recruitTbl tr:nth-child(n + 2) td {
  border-top: none;
}

.recruitTbl tr th.radiusLT {
  border-top-left-radius: 15px;
  border-left: solid 1px #008043;
}

.recruitTbl tr th.radiusRT {
  border-top-right-radius: 15px;
  border-right: solid 1px #008043;
}

.recruitTbl tr th.radiusLB,
.recruitTbl--1colspan .radiusLB {
  border-bottom-left-radius: 15px;
}

.recruitTbl--1colspan td {
  border-left: none;
}

.recruitTbl tr td.radiusRB {
  border-bottom-right-radius: 15px;
}

.recruitTbl tr th.minTh {
  font-size: 1em;
}

/* 追加 */
.merit-block {
  border: 2px solid #f16201;
  padding: 1.5em;
  border-radius: 15px;
}

.merit-head {
  font-weight: bold;
  font-size: 160%;
  color: #f16201;
  margin-bottom: 0.8em;
}

.merit-item h3 {
  color: #377361;
}

/* ここまで */
.zoom-block {
  border: 2px solid #2d8cff;
  padding: 1.5em;
  background: #fafcff;
  border-radius: 15px;
  overflow: hidden;
  margin: 0 0 3em;
}

.zoom-block h2 {
  font-weight: bold;
  font-size: 160%;
  color: #0c63ce;
  margin-bottom: 0.8em;
}

.zoom-img {
  float: right;
  margin: 0 0 10px 10px;
  width: 180px;
}

.zoom-block p:not(:last-of-type) {
  margin-bottom: 1.5em;
}

.zoom-caution {
  display: block;
  margin: 0.5em 0 0;
  font-size: 90%;
  color: #0c63ce;
}

.zoom-btn {
  display: inline-block;
  color: #fff !important;
  background: #2d8cff;
  border-radius: 5px;
  padding: 0.5em 2em;
  font-weight: bold;
}

.zoom-btn:hover {
  opacity: 0.8;
  text-decoration: none;
}

.zoom-link {
  margin: -0.5em 0 0;
}

.zoom-link a {
  font-weight: bold;
  color: #0c63ce !important;
}

.bosyu-btn {
  display: inline-block;
  color: #fff !important;
  background: #10673a;
  border-radius: 5px;
  padding: 0.5em 2em;
  font-weight: bold;
}

.bosyu-btn:hover {
  opacity: 0.8;
  text-decoration: none;
}

.p-recruit-cont {
  margin: 0 0 3em;
}

.p-recruit-qa {
  margin: 0 0 3em;
}

.p-recruit-cont img {
  width: 260px;
  max-width: 100%;
}

.p-recruit-qa dt {
  margin: 0 0 0.8em;
  font-weight: bold;
  font-size: 1.1em;
  position: relative;
  padding-left: 1.5em;
  color: #10673a;
}

.p-recruit-qa dt::before {
  content: "Q.";
  position: absolute;
  top: 0;
  left: 0;
}

.p-recruit-qa dd {
  margin: 0 0 2em;
  position: relative;
  padding-left: 1.5em;
}

.p-recruit-qa dd::before {
  content: "A.";
  position: absolute;
  top: 0;
  left: 0;
  font-weight: bold;
  font-size: 1.1em;
}

.bosyu-cta {
  margin: 0 0 3em;
}

.p-recruit-flow {
  margin: 0 0 1em;
}

.p-recruit-flow__item {
  margin: 0 0 2.5em;
  position: relative;
  font-weight: bold;
  font-size: 1.1em;
  color: #10673a;
  border: 1px solid #999;
  background: #f9faf0;
  padding: 15px;
  border-radius: 5px;
}

.p-recruit-flow__item:not(:first-of-type)::after {
  position: absolute;
  top: -2em;
  left: 50%;
  transform: translate(-50%, 0);
  content: "▼";
  color: #10673a;
}

.p-recruit-flow__itemlast {
  margin: -1em 0 0;
}

/*gaiheki*/
.gaihekiGreet {
  font-size: 1.2em;
  font-weight: bold;
  text-align: right;
}

.gaihekiName {
  font-size: 1.2em;
  font-weight: bold;
}

.gaihekiPoint {
  margin-bottom: 4em;
}

.gaihekiPointHead {
  border-bottom: solid 1px #999;
  padding: 0 0 0.5em 0.3em;
  margin-bottom: 1.3em;
}

.gaihekiTxtL {
  float: left;
  width: 60%;
}

.gaihekiTxtR {
  float: right;
  width: 61%;
}

.gaihekiAtt {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 0.92em;
}

.point02First {
  margin-top: 4em;
}

.gaihekiTbl {
  border: solid 1px #dfdfd0;
  width: 90%;
  margin: 0 auto;
}

.gaihekiTbl td {
  font-weight: bold;
  padding: 0.4em 0.7em;
}

.gaihekiTbl tr:nth-child(odd) td {
  background-color: #f1eee0;
}

.gaihekiNo {
  font-size: 1.3em;
}

.gaihekiFlow {
  border: solid 1px #cecebf;
}

.gaihekiFlow .gaihekiStep {
  display: table;
  margin-bottom: 1em;
}

.gaihekiFlow .arrow01,
.gaihekiFlow .gaihekiStep h3 {
  display: table-cell;
  vertical-align: middle;
}

.gaihekiFlow .gaihekiStep h3 {
  padding-left: 1em;
  font-size: 1.2em;
  font-weight: bold;
}

.gaihekiFlow p {
  padding-left: 0.7em;
}

.gaihekiFlow section {
  display: table;
  position: relative;
  padding: 1.5em 0.7em 1.5em 0;
}

.gaihekiFlow section:nth-child(odd) {
  background-color: #f1eedf;
}

.gaiFlowTxt01,
.gaiFlowTxt02,
.gaiFlowImg {
  display: table-cell;
  vertical-align: middle;
}

.gaiFlowTxt01 {
  width: 67%;
}

.gaiFlowTxt02 {
  width: 52%;
}

.gaiFlowImg {
  text-align: right;
}

.arrow01 {
  padding-top: 0.1em;
  /* 要素の上の余白調整 */
  width: 5em;
  /* 四角形の幅 */
  height: 1.8em;
  /* 四角形の高さ */
  background: #6ca187;
  position: relative;
  text-align: center;
}

.arrow01:after {
  border-left: 0.7em solid #6ca187;
  /* 右向きの三角形を作るため左のボーダーに色を付ける */
  border-top: 0.95em solid transparent;
  /* 上のボーダーを透過に指定 */
  border-bottom: 0.95em solid transparent;
  /* 下のボーダーを透過に指定 */
  content: "";
  position: absolute;
  left: 50%;
  /* 一旦中央へ寄せる */
  top: 0;
  margin-left: 2.5em;
  /* 四角形の幅の半分右へ移動する */
}

.arrow01 span {
  font-weight: bold;
  font-style: italic;
  color: #fff;
}

.gaihekiFlow section {
  position: relative;
}

/*　三角形（ボックスと同色） */
.gaihekiFlow section:after {
  border: 1.8em solid transparent;
  border-top-color: #fff;
  content: "";
  position: absolute;
  bottom: -3.5em;
  /*　外枠となる三角形の位置から1pxずらす */
  left: 45%;
  /*　外枠となる三角形の位置から1pxずらす */
  z-index: 30;
}

.gaihekiFlow section:nth-child(odd):after {
  border-top-color: #f1eedf;
}

.gaihekiFlow section.lastRow:after {
  border-top-color: none;
  border: none;
  position: inherit;
}

/*社長になんでも無料メール相談・よくある相談*/

form#mailformpro dl dt {
  width: 250px;
}

form#mailformpro dl dd {
  padding-left: 250px;
}

.bgHead + .p-consultation .p-consultation__list {
  padding: 0 1em 1em;
}

.p-consultation__list li {
  position: relative;
}

.p-consultation__list li,
.p-consultation__list li:last-child {
  padding-left: 2em;
}

.p-consultation__list li::before {
  position: absolute;
  content: "Q. ";
  top: 0;
  left: 0;
}

.p-consultation__list li a {
  display: inline-block;
  margin-left: 0;
}

.p-consultation .linkPhase {
  float: none;
  text-align: right;
}

.p-consultation__list__excerpt {
  margin-top: 3px;
  color: #999;
}

.p-consultation__q {
  background: #f6f4e7;
  border: 1px solid #5c3a29;
  border-radius: 5px;
  padding: 1em;
  margin-bottom: 2em;
  font-weight: bold;
  color: #5c3a29;
}

.p-consultation__q,
.p-consultation__a {
  position: relative;
  padding-left: 3em;
}

.p-consultation__q::before {
  content: "Q. ";
  top: 1em;
}

.p-consultation__a::before {
  content: "A. ";
  top: 0;
  font-weight: bold;
}

.p-consultation__q::before,
.p-consultation__a::before {
  position: absolute;
  left: 1em;
}

/*about*/
.p-message .imgL {
  width: 30%;
}

.p-message__name {
  margin-top: 5px;
}

.p-message__label,
.p-message__position {
  font-size: 85%;
}

.p-message__info {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  width: 100%;
}

.p-message__ttl {
  font-size: 142%;
}

.p-philosophy {
  margin-top: 2em;
}

.p-philosophy__box {
  border: solid 1px #bdbdad;
  padding: 2em 1em;
  margin: 1.3em 0 2em;
}

.p-philosophy__box h3 {
  font-size: 150%;
}

.p-philosophy__box ul {
  width: fit-content;
  margin: 0 auto;
}

.p-philosophy__box ul li {
  text-indent: -2em;
  padding-left: 2em;
  line-height: 2;
  font-size: 128%;
}

.p-overview {
  margin-top: 4em;
}

.p-access {
  margin-top: 2.2em;
}

.p-access__map iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 680/280;
}

.p-access__info {
  display: flex;
}

.p-access__info__detail {
  flex: 1;
}

.p-access__info__img {
  width: 49.7%;
  flex-shrink: 0;
}

.p-comdesc {
  margin-top: 3.5em;
}

/* CMS
---------------------------------------------------------- */
#cms .indexInfo {
  margin: -1em 0 0 0;
}

#cms p {
  margin: 0 0 2em 0;
  line-height: 1.6;
}

#cms img {
  max-width: 100%;
}

.postTop {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: -1em 0 1em;
}

.postCat {
  border-radius: 14px;
  padding: 3px 20px;
  color: #fff;
  background: #168d55;
  border: solid 1px #168d55;
}

.postCat.alt,
.postCat.column_onsite {
  color: #168d55;
  background: #fff;
}

.postCat.column_other {
  color: #333;
  background: #e5e5e5;
  border: solid 1px #e5e5e5;
}

.postDate {
  /* margin: -1em 0 1em 0; */
  text-align: right;
  font-size: 90%;
  font-style: italic;
}

#cms .pageNav {
  margin: 2em 0 0 0;
  padding: 1em 0 0 0;
  border-top: 1px dotted #ccc;
}

#cms h2 {
  clear: both;
  font-weight: bold;
  margin: 2rem 0 1em;
  font-size: 130%;
  background: #f0f0f0;
  border-radius: 5px;
  color: #5c3a29;
  padding: 0.5rem;
  line-height: 1.3;
  border-bottom: 2px solid #5c3a29;
}

#cms .alignleft {
  float: left;
  margin: 0 1rem 1rem 0;
  max-width: 40%;
  height: auto;
}

#cms .alignright {
  float: right;
  margin: 0 0 1rem 1rem;
  max-width: 40%;
  height: auto;
}

#cms .aligncenter {
  display: block;
  margin: 0 auto 1rem;
  height: auto;
}

.category__list {
  display: flex;
  gap: 12px;
  margin-bottom: 3em;
}

.category__list li a {
  position: relative;
  display: block;
  padding: 0 20px 7px;
  color: #333;
}

.category__list li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: #e5e5e5;
}

.category__list li a:hover {
  text-decoration: none;
}

.category__list li.active a::after {
  background: #168d55;
}

.singleWrap iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

/*contact*/
.contact__btn img {
  max-width: 232px;
}

.thanks__link {
  margin-top: 23em;
}

/*service*/
.servicetax__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-bottom: 3em;
}

.servicetax__list li a {
  position: relative;
  display: block;
  padding: 7px 4px;
  background: linear-gradient(#fbfbfb 0%, #fff 8.36%, #fefcf5 11.71%, #f3eed7 85.77%, #f3eed7 92.89%, #fff 100%);
  border: solid 1px #dfdfd0;
  color: #333;
  text-align: center;
}

.servicetax__list li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: #168d55;
}

.servicetax__list li a:hover {
  text-decoration: none;
}

.servicetax__list li.active a::after {
  background: #fe860c;
}

.servicetax__sec + .servicetax__sec {
  margin-top: 4.2em;
}

.servicetax__head {
  border-bottom: solid 1px #444;
  background: url(../img/bg_tit02.png) no-repeat left center/32px 30px;
  padding: 0 0 7px 40px;
  font-size: 142%;
  font-weight: bold;
}

.servicetax__box {
  margin-top: 2em;
}

.servicetax__box__child + .servicetax__box__child {
  margin-top: 2em;
}

.servicetax__box__in {
  border: solid 3px #60240b;
  border-top: none;
  padding: 1.42em;
}

.servicetax__box__article + .servicetax__box__article {
  margin-top: 1.42em;
}

.servicetax__box__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: solid 1px #60240b;
  padding-bottom: 7px;
}

.servicetax__box__head h4 {
  font-size: 114%;
  font-weight: bold;
  color: #60240b;
}

.servicetax__box__price {
  font-size: 114%;
  font-weight: bold;
  color: #cc0000;
}

.servicetax__box__desc {
  margin-top: 1em;
}

.servicetax__box__days {
  margin-top: 0.5em;
  font-weight: bold;
  color: #e27406;
}

/* ==========================================================================
   Object
   ========================================================================== */

/* Component
   ----------------------------------------------------------------- */

.c-panel {
}

.c-panel--planimg {
}

.c-panel--planimg__header {
  text-align: left;
}

.c-panel--planimg__body {
  margin-top: 0.5em;
}

.c-title--before {
  background: #666;
  padding: 0.3em 1em;
  color: #fff;
  border-radius: 20px;
  display: inline-block;
  font-style: italic;
}

.c-title--after {
  background: #60240b;
  padding: 0.3em 1em;
  color: #fff;
  border-radius: 20px;
  display: inline-block;
  font-style: italic;
}

.c-arrow--planimg {
  margin-top: 1em;
}

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

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

@media screen and (max-width: 640px) {
  .headerR .cl:after {
    display: none;
  }

  /*spreset*/
  header .headerIn,
  header .headerL,
  header .headerR,
  .wid470,
  #gNav nav,
  .content,
  .main,
  .sideMenu,
  footer .footerIn,
  .footerBlock1,
  .footerBlock2,
  .footerBlock3 {
    width: 100% !important;
    float: none !important;
  }

  .fL,
  .fR {
    float: none;
  }

  header {
    margin: 0;
  }

  header .headerIn {
    padding: 10px;
  }

  header .headerL {
    padding: 0;
  }

  .headerLogo {
    width: 250px;
    display: inline-block;
  }

  .menu__ham {
    position: fixed;
    right: 10px;
    top: 40px;
    display: inline-block;
    height: 40px;
    width: 40px;
    background: #10673a;
    border-radius: 3px;
    z-index: 101;
  }

  .menu__ham b {
    font-size: 8px;
    position: absolute;
    width: 100%;
    display: block;
    text-align: center;
    bottom: 3px;
    left: 50%;
    transform: translate(-50%, 0);
    color: #fff;
  }

  .menu__ham b:before {
    content: "Menu";
  }

  .menu__ham.open b:before {
    content: "Close";
  }

  .menu__ham span,
  .menu__ham span:before,
  .menu__ham span:after {
    position: absolute;
    top: 6px;
    left: 50%;
    transform: translate(-50%, 0);
    height: 2px;
    /*線の太さ*/
    width: 24px;
    /*長さ*/
    border-radius: 25px;
    background: #fff;
    display: block;
    content: "";
  }

  .menu__ham span:before {
    top: 7px;
    transform: translate(-50%, 0);
  }

  .menu__ham span:after {
    top: 14px;
    transform: translate(-50%, 0);
  }

  .menu__ham.open span {
    top: 13px;
    transform: translate(-50%, 0) rotate(45deg);
  }

  .menu__ham.open span:before {
    top: 0px;
    transform: translate(-50%, 0) rotate(-90deg);
  }

  .menu__ham.open span:after {
    display: none;
  }

  header .headerR {
    border: 2px solid #10673a;
    padding: 10px;
    margin: 10px 0 0;
  }

  header .headerR .cl {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  header .headerR .cl img {
    height: auto;
  }

  header .headerR .cl img.contact_img {
    width: auto;
  }

  header .headerR .cl a {
    width: 53%;
  }

  header .headerR .cl .fR {
    width: 44%;
  }

  .h_btn_recruit,
  #gNav {
    display: none;
  }

  /*pankuzu*/
  .pankuzu {
    margin: 0;
    padding: 10px;
    font-size: 80%;
    line-height: 1.6;
  }

  header #gNav {
    /*background-color:#10673A;*/
  }

  #gNav li {
    float: none;
    border-bottom: 1px solid #fff;
  }

  #gNav li a {
    text-align: left;
    position: relative;
    padding: 10px;
  }

  #gNav li a:hover {
    background: none;
  }

  #gNav li a span {
    padding: 0 2em 0 0;
  }

  #gNav li a span:before {
    display: block;
    content: "»";
    position: absolute;
    line-height: 1;
    top: 50%;
    right: 10px;
    margin-top: -0.5em;
    padding: 0;
  }

  #gNav li.nav02 a span:before,
  #gNav li.nav04 a span:before,
  #gNav li.nav05 a span:before {
    display: none;
  }

  #gNav li i {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 30%;
    text-align: right;
    padding: 0 15px 0 0;
    height: 100%;
    line-height: 46px;
  }

  #gNav li i.open {
    transform: rotateX(180deg);
  }

  #gNav .menuSub {
    position: static;
  }

  #gNav .menuSub li a {
    padding: 10px;
  }

  #gNav .menuSub li a:before {
    content: ">";
    margin: 0 5px 0 0;
  }

  #gNav .menuSub li a:hover {
    background: none;
    color: #333;
  }

  .markTxt {
    color: #ecea90;
    margin: 0 0 0 1em;
    animation: blinkAnime 0.5s infinite alternate;
  }

  @keyframes blinkAnime {
    0% {
      opacity: 0;
    }

    100% {
      opacity: 1;
    }
  }

  /*content*/
  .content {
    margin: 0 auto 10px;
  }

  /*sideMenu*/

  .sideMenu {
    margin: 0;
    padding: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .sideMenu > a.disB {
    width: 100%;
    margin: 0 0 10px !important;
  }

  .sideMenu > a.disB img {
    width: 100%;
  }

  .sideMenu .comBox {
    margin: 0 0 10px 0;
    height: auto;
    width: 100%;
  }

  .sideMenu .comBox .txt p {
    height: 70px !important;
    font-size: 100%;
  }

  .sideMenu .comBox img {
    float: left;
    width: auto;
    height: 70px;
  }

  .sideMenu .eventBox img {
    height: 100px !important;
  }

  .sideMenu .adjust {
    display: none;
  }

  .content:not(.index) .sideMenu .txt span.txtSub {
    display: block;
  }

  /*menuBox*/
  .sideMenu .menuBox {
    width: 100%;
  }

  /*pagetop*/
  #pagetop {
    display: block;
    width: 40px;
    height: 40px;
    bottom: 10px;
    right: 10px;
  }

  /*footer*/
  footer h2 {
    width: 100%;
    font-size: 11px;
    border-radius: 25px;
    padding: 0.5em 1em;
    margin-bottom: 10px;
  }

  footer .footerIn {
    padding: 15px 10px;
  }

  .footerBlock1 {
    padding: 0;
    margin: 0 0 10px;
  }

  .footerBlock1 img {
    width: 300px;
  }

  .footerBlock1 p {
    margin-bottom: 0.5em;
  }

  .footerBlock2 {
    padding: 0;
    margin: 0 0 10px;
  }

  .footerBlock2 p {
    margin: 5px 0 0;
  }

  .footerBlock3 {
    margin: 0;
  }

  .footerBlock3 img {
    width: 180px;
  }

  .footerBlock3 .taC img {
    margin: 0 0 15px;
    width: 160px;
  }

  /* content
  ---------------------------------------------------------- */
  /*contentcommon*/

  .comTit02 {
    background-size: 16px;
    padding: 1.5% 2.5% 1.5% 20px;
    margin: 0 0 15px 0;
  }

  .comBox02 .boxIn {
    padding: 15px;
  }

  .comTit04 {
    padding: 5px 15px 5px 20px;
    margin: 0 0 15px 0;
  }

  .comTbl01 table,
  .comTbl01 tbody,
  .comTbl01 tr,
  .comTbl01 th,
  .comTbl01 td {
    display: block;
    width: 100%;
  }

  .comTbl01 th {
    padding: 10px;
  }

  .comTbl01 td {
    padding: 10px;
    border-top: none;
    border-bottom: none;
  }

  .comTbl01 tr:last-of-type td {
    border-bottom: 1px solid #bdbdad;
  }

  .bgHead {
    margin: 0 0 15px 0;
  }

  .pageHead {
    padding: 0.4em 0.4em 0.4em 1.5em;
    font-size: 120%;
  }

  .main {
    padding: 0 10px 10px;
  }

  .mainBlock {
    padding: 10px;
  }

  .indexBlock {
    width: 100%;
    float: none;
    margin: 0 0 15px 0;
  }

  .indexBlock:nth-child(even) {
    float: none;
  }

  .indexBlock a {
    text-decoration: none;
    display: block;
  }

  .indexBlock .box {
    margin: 0 0 15px 0;
  }

  .indexBlock .box img {
    display: block;
    width: 100%;
  }

  .linkPhase a {
    font-size: 90%;
    text-decoration: none;
  }

  /*index*/

  .indexMain {
    width: 100%;
    margin: 0 0 10px;
  }

  .indexNews {
    margin: 0 0 15px;
    border-width: 1px;
  }

  .indexNews dt {
    padding: 5px;
    font-size: 10px;
  }

  .indexInfo .indexNews ul {
    font-size: 12px;
    padding: 5px 10px;
  }

  .indexInfo li span {
    font-size: 90%;
  }

  .indexInfo li a {
    /* margin: 0 0 0 6em; */
  }

  .indexInfo .pagination ul {
    gap: 10px;
  }

  .indexInfo .pagination ul li a,
  .indexInfo .pagination ul li span {
    width: 30px;
    height: 30px;
  }

  .indexBnr a {
    float: left;
    width: 49%;
  }

  .indexBnr a:last-child {
    float: right;
    width: 49%;
  }

  .indexInfo.mbL {
    margin: 0 0 15px !important;
  }

  .indexInfo + .indexInfo {
    margin: 0 0 20px;
  }

  /*reform*/

  .reformService01,
  .reformService02,
  .reformService03 {
    background: none;
    padding: 15px !important;
  }

  /*jirei*/

  .jireiIndex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .jireiIndex.cl:after {
    display: none;
  }

  .jireiIndex .block {
    position: relative;
    width: 48.5%;
    float: none;
    margin: 0 0 4% 0 !important;
  }

  .jireiIndex a {
    display: flex;
    flex-direction: column;
    padding: 0;
  }

  .jireiIndex a:hover,
  .jireiIndex a:active {
    background: none;
  }

  .jireiIndex a img {
    order: -1;
  }

  .jireiList .block {
    border: 1px solid #ddd;
  }

  .jireiList img {
    border: none;
    padding: 0;
  }

  .jireiList a {
    border: none;
  }

  .jireiList h2 {
    padding: 0 10px;
  }

  .jireiList p {
    padding: 0 10px 10px;
  }

  .jireiDetail .jireiName {
    padding: 5px 15px;
    margin: 0 0 10px;
  }

  .jireiDetail .jireiDesc {
    padding: 0 0 15px;
  }

  .jireiDetail .jireiBF {
    padding: 15px 0;
  }

  .jireiDetail .jireiInfo table,
  .jireiDetail .jireiInfo tbody,
  .jireiDetail .jireiInfo tr,
  .jireiDetail .jireiInfo th,
  .jireiDetail .jireiInfo td {
    display: block;
    width: 100%;
  }

  .jireiDetail .jireiInfo th {
    border: none;
    background: #60240b;
    padding: 5px 10px;
    color: #fff;
    text-align: left;
  }

  .jireiDetail .jireiInfo td {
    padding: 10px 10px 20px;
    border: none;
  }

  .jireiDetail .jireiInfo .planImg {
    padding: 15px 0;
  }

  /*craftsman*/
  .craftsmanBlock {
    margin: 0 0 30px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .craftsmanBlock .box {
    width: 32%;
    margin: 0 2% 2% 0;
    float: none;
  }

  .craftsmanBlock .box:nth-of-type(4n) {
    margin: 0 2% 2% 0;
  }

  .craftsmanBlock .box:nth-of-type(3n) {
    margin: 0 0 2% 0;
  }

  .craftsmanBlock .box .name {
    height: auto;
    font-size: 84%;
  }

  .craftsmanBlock .box .name b {
    font-size: 86%;
  }

  .craftsmanBlock .detail {
    margin-top: 3%;
  }

  .craftsmanBlock .detail .detailIn:after,
  .craftsmanBlock .detail .detailIn:before {
    left: calc(16% - 10px);
    margin: 0;
  }

  .craftsmanBlock .detail:nth-of-type(3n-1) .detailIn:after,
  .craftsmanBlock .detail:nth-of-type(3n-1) .detailIn:before {
    left: calc(50% - 10px);
    margin: 0;
  }

  .craftsmanBlock .detail:nth-of-type(3n) .detailIn:after,
  .craftsmanBlock .detail:nth-of-type(3n) .detailIn:before {
    left: calc(84% - 10px);
    margin: 0;
  }

  /*customer*/

  .interviewIndex {
    margin: 0 0 30px 0;
  }

  .interviewIndex .comBox02 {
    width: 100%;
    margin: 0 0 15px !important;
    float: none;
  }

  .interviewIndex .comBox02:hover,
  .interviewIndex .comBox02:active {
    background: none;
  }

  .interviewIndex .boxIn {
    overflow: hidden;
  }

  .interviewIndex img {
    float: left;
    margin: 0 10px 0 0;
    width: 40%;
  }

  .interviewIndex span {
    display: none;
  }

  .voiceBlock li img {
    height: auto;
  }

  /*interview*/
  .interviewBlock {
    background: none;
  }

  .interviewBlock .headImg {
    width: 100px;
  }

  .interviewBlock h1 {
    padding-right: 100px;
    height: auto;
    display: block;
    font-size: 130%;
  }

  .interviewBlock section {
    margin: 15px 0 0;
    padding: 0 0 30px 0;
  }

  .interviewBlock section .comImg {
    float: none;
    width: 100%;
    margin: 0 0 20px;
  }

  .interviewBlock section:nth-of-type(2n) .comImg {
    float: none;
    margin: 0 0 20px;
  }

  /*company*/
  .p-company .imgR {
    float: none;
    margin: 0 auto 10px !important;
    display: block;
  }

  .accessBlock {
    width: 100%;
  }

  .accessBlock p:last-of-type {
    padding: 0;
    margin: 0;
    border: none;
  }

  /*staff*/

  .staffBlock {
    margin: 0 0 15px 0 !important;
  }

  .staffBlock .inner {
    padding: 10px !important;
  }

  .staffBlock .comImg {
    float: none !important;
    display: block !important;
    margin: 0 auto 15px !important;
    box-shadow: none;
  }

  /*flow*/
  .oddFlow,
  .evenFlow {
    display: block;
    padding: 10px;
  }

  .flowStep,
  .flowHead,
  .flowDesc {
    display: block;
  }

  .flowStep,
  .flowHead,
  .flowDesc {
    width: 100%;
  }

  .flowHead {
    margin: 10px 0;
    text-align: center;
    font-size: 120%;
  }

  .flowHead br {
    display: none;
    margin: 10px 0;
  }

  .flowDesc .fRed {
    display: block;
    margin: 10px 0 0;
  }

  /*plan*/
  .planHead {
    margin-bottom: 15px;
  }

  .planSke {
    margin-bottom: 30px;
  }

  .planSke img {
    display: block;
    width: 320px;
    float: none;
    margin: 0 auto 10px;
  }

  .planSke img:nth-child(2n) {
    margin: 0 auto 0;
  }

  /*reason*/
  .reason01 .reasonTxt {
    float: none;
    width: 100%;
  }

  .reason01 .imgR {
    float: none;
    display: block;
    margin: 15px auto 0 !important;
  }

  .reason02 .reasonTxt,
  .reason04 .reasonTxt,
  .reason03 .reasonTxt,
  .reason05 .reasonTxt {
    float: none;
    width: 100%;
  }

  .reason01 img,
  .reason04 img,
  .reason02 img,
  .reason03 img,
  .reason05 img {
    float: none;
    display: block;
    margin: 0 auto 15px !important;
  }

  .reason04 .reasonTxt br,
  .reason03 .reasonTxt br {
    display: none;
  }

  /*anshinreform*/
  .anshin02 .graHeadName {
    font-size: 1em;
  }

  .anshin01 .anshinTxt,
  .anshin02 .anshinTxt,
  .anshin03 .anshinTxt,
  .anshin05 .anshinTxt,
  .anshin04 .anshinTxt,
  .anshin06 .anshinTxt {
    float: none;
    width: 100%;
  }

  .anshin01 img,
  .anshin03 img,
  .anshin04 img,
  .anshin02 img,
  .anshin05 img,
  .anshin06 img {
    float: none;
    display: block;
    margin: 15px auto 0 !important;
  }

  .anshin01,
  .anshin02,
  .anshin03,
  .anshin05,
  .anshin04,
  .anshin06 {
    display: flex;
    flex-direction: column;
  }

  .anshinTxt {
    order: -1;
  }

  /*p-message*/

  .p-message .imgL {
    float: none;
    display: block;
    width: 160px;
    margin: 0 auto 10px !important;
  }

  /*recruit*/

  .p-recruit .mbS {
    margin: 0 0 20px !important;
  }

  .p-recruit-cont .mbS {
    margin: 0 0 20px !important;
  }

  .recruitTbl {
    border-radius: 5px 5px 0 0;
    margin: 0 0 15px !important;
  }

  .recruitTbl table,
  .recruitTbl tbody,
  .recruitTbl tr,
  .recruitTbl th,
  .recruitTbl td {
    display: block;
    width: 100%;
    border: none;
  }

  .recruitTbl th.radiusLT {
    padding: 10px !important;
    border-radius: 5px 5px 0 0 !important;
  }

  .recruitTbl th {
    padding: 10px 10px 0;
  }

  .recruitTbl td {
    padding: 10px;
    border-bottom: 1px dotted #ccc;
  }

  .recruitTbl tr:last-child td {
    border: none;
  }

  .zoom-block {
    padding: 1em;
  }

  .zoom-img {
    width: 80px;
  }

  .zoom-btn {
    text-align: center;
    display: block;
  }

  .zoom-link {
    text-align: center;
  }

  .p-recruit-cont {
    margin: 0 0 1.5em;
  }

  .p-recruit-cont .imgR,
  .p-recruit-cont .imgL {
    width: 100%;
    float: none;
    display: block;
  }

  /*barrierfree*/

  .p-barrier .imgR,
  .p-barrier .imgL {
    display: block;
    float: none;
    margin: 0 auto 10px !important;
  }

  .reformExam .examLeft01,
  .reformExam .examRight01,
  .reformExam .examLeft02,
  .reformExam .examRight02 {
    float: none;
    width: 100%;
    margin: 0 0 15px;
  }

  .reformExam h3 {
    margin: 0 0 10px 0;
  }

  .reformExam .roomArea {
    margin: 0 5px 10px 0;
  }

  .reformExam li {
    margin: 0 0 5px 0;
  }

  .reformExam li br {
    display: none;
  }

  .reformExam .reformSke {
    display: table;
    margin-bottom: 0.3em;
  }

  .reformExam .reformSke div {
    display: block;
    margin: 0 0 15px;
  }

  .reformExam .reformSke img {
    margin: 0 auto 15px;
    display: block;
  }

  .barrierTbl {
    border-radius: 5px;
  }

  .barrierTbl th {
    padding: 10px;
    width: 2%;
  }

  .barrierTbl td {
    padding: 10px;
    width: 48%;
  }

  .barrierTbl tr th.radiusLT {
    border-top-left-radius: 5px;
  }

  .barrierTbl tr th.radiusRT {
    border-top-right-radius: 5px;
  }

  .barrierTbl tr th.radiusLB,
  .barrierTbl tr td.radiusRB {
    border-radius: 0;
  }

  /*gaiheki*/
  .p-gaiheki .imgR,
  .p-gaiheki .imgL {
    display: block;
    margin: 0 auto 15px !important;
    float: none;
  }

  .p-gaiheki .mbXL .mbXL {
    margin-bottom: 20px !important;
  }

  .gaihekiPoint {
    margin-bottom: 3em;
  }

  .gaihekiPointHead {
    border-bottom: solid 1px #999;
    padding: 0 0 0.5em 0.3em;
    margin-bottom: 15px;
  }

  .gaihekiTxtL {
    float: none;
    width: 100%;
  }

  .gaihekiTxtR {
    float: none;
    width: 100%;
  }

  .gaihekiPoint .imgL,
  .gaihekiPoint .imgR {
    margin: 15px auto 0 !important;
  }

  .gaihekiPoint .cl + .cl {
    display: flex;
    flex-direction: column;
  }

  .gaihekiPoint .cl + .cl img {
    order: 1;
  }

  .gaihekiTbl {
    width: 100%;
    margin: 15px auto !important;
  }

  .gaihekiTbl td {
    vertical-align: middle;
  }

  .gaihekiFlow p {
    padding-left: 0.7em;
  }

  .gaihekiFlow section {
    display: block;
  }

  .gaiFlowTxt01,
  .gaiFlowTxt02,
  .gaiFlowImg {
    display: block;
  }

  .gaiFlowTxt01 {
    width: 100%;
  }

  .gaiFlowTxt02 {
    width: 100%;
  }

  .gaiFlowImg {
    text-align: center;
    margin: 15px 0 0 0.7em;
  }

  .arrow01 {
    padding-top: 0.1em;
    /* 要素の上の余白調整 */
    width: 5em;
    /* 四角形の幅 */
    height: 1.8em;
    /* 四角形の高さ */
    background: #6ca187;
    position: relative;
    text-align: center;
  }

  /*　三角形（ボックスと同色） */
  .gaihekiFlow section:after {
    border: 20px solid transparent;
    border-top-color: #fff;
    bottom: -40px;
    left: calc(50% - 20px);
  }

  .gaihekiFlow section:nth-child(odd):after {
    border-top-color: #f1eedf;
  }

  /*contact*/

  form#mailformpro dl dt {
    width: 100%;
    float: none;
    padding: 10px;
  }

  form#mailformpro dl dd {
    padding: 0 10px 10px;
    border: none;
  }

  form#mailformpro * {
    max-width: 100%;
  }

  form#mailformpro label {
    margin: 0 10px 10px 0;
  }

  form#mailformpro input[type="text"],
  form#mailformpro input[type="number"],
  form#mailformpro input[type="tel"],
  form#mailformpro input[type="email"],
  form#mailformpro textarea {
    font-size: 16px;
  }

  div.mfp_buttons img {
    width: 180px;
  }

  div#mfp_overlay_inner {
    width: 94%;
  }

  div.mfp_buttons button#mfp_button_send,
  div.mfp_buttons button#mfp_button_cancel {
    width: 126px;
    height: 28px;
    background-size: contain;
  }

  /*社長になんでも無料メール相談・よくある相談*/

  .bgHead + .p-consultation .p-consultation__list {
    padding: 0 1em 1em;
  }

  .p-consultation__list li {
    position: relative;
  }

  .p-consultation__list li,
  .p-consultation__list li:last-child {
    padding-left: 2em;
  }

  .p-consultation__list li::before {
    position: absolute;
    content: "Q. ";
    top: 0;
    left: 0;
  }

  .p-consultation__list li a {
    display: inline-block;
    margin-left: 0;
  }

  .p-consultation .linkPhase {
    float: none;
    text-align: right;
  }

  .p-consultation__list__excerpt {
    margin-top: 3px;
    color: #999;
  }

  .p-consultation__q {
    background: #f6f4e7;
    border: 1px solid #5c3a29;
    border-radius: 5px;
    padding: 1em;
    margin-bottom: 2em;
    font-weight: bold;
    color: #5c3a29;
  }

  .p-consultation__q,
  .p-consultation__a {
    position: relative;
    padding-left: 3em;
  }

  .p-consultation__q::before {
    content: "Q. ";
    top: 1em;
  }

  .p-consultation__a::before {
    content: "A. ";
    top: 0;
    font-weight: bold;
  }

  .p-consultation__q::before,
  .p-consultation__a::before {
    position: absolute;
    left: 1em;
  }

  /*about*/
  .p-message__info {
    flex-direction: column;
  }

  .p-philosophy__box {
    padding: 1.5rem 1em;
  }

  .p-philosophy__box h3 {
    font-size: 125%;
  }

  .p-philosophy__box ul li {
    font-size: 110%;
  }

  .p-access__info {
    flex-direction: column;
  }

  .p-access__info__img {
    width: 100%;
  }

  /*news*/
  .category__list {
    margin-bottom: 2em;
  }

  .category__list li a {
    padding: 0 10px 5px;
  }

  /*news_single*/
  .postTop {
    margin-top: 0;
  }

  /*contact*/
  .thanks__link {
    margin-top: 10em;
  }

  /*service*/
  .servicetax__list {
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 2em;
  }

  .servicetax__box__head {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0.5em;
  }
}
