@charset "utf-8";

/**
 *
 *  会社概要
 *
 */

/*--------------------------------------------------------------------------
   overwrite  - 共通CSSの上書き -
---------------------------------------------------------------------------*/

html {
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

.blockTtl.en {
  margin-top: 40px;
  margin-bottom: 30px;
}

/*--------------------------------------------------------------------------
   Main
/* #service
-----------------------------------------------------------------*/

#service1 {
  padding: 20px 0px 50px;
  background: #fff;
  margin-top: 20px;
  font-family: "Noto Sans", Arial, Roboto, "Droid Sans", 游ゴシック体,
    "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
    メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  background-position: right;
}

#service1 .wrap {
  position: relative;
  /* 	background: #fff;*/
  /*	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	*/
}

#service1 .note2 {
  margin: 2%;
  padding: 1%;
  width: 96%;
  margin-bottom: 10px;
  background-size: cover;
  background-position: center;
  float: left;
}

/*お客様の声のカスタマ 背景画像*/
.service1_bg1 {
  background: url(../images/service1_bg1.png) no-repeat 50% 50%;
}

.service1_bg2 {
  background: url(../images/service1_bg2.png) no-repeat 50% 50%;
}

.service1_bg3 {
  background: url(../images/service1_bg3.png) no-repeat 50% 50%;
}

#service1 .note2 h2 {
  margin: 20px 0 0px;
  line-height: 1.5;
  font-size: 200%;
  font-weight: 600;
  padding: 0 2%;
  text-align: left;
}

#service1 .note2 p {
  /*padding: 15px;*/
  line-height: 1.9;
  font-size: 120%;
  font-weight: 500;
  /*	text-align: left;*/
  font-size: 2rem;
}

#service1 .note2 h3 {
  padding: 15px 15px 0;
  line-height: 1.5;
  font-size: 150%;
  font-weight: 500;
}

/* お客様の声のカスタマ  ●様邸の文字 */

.colorF {
  color: #fff;
}

.colorB {
  color: #1e0904;
}

/* お客様の声のカスタマ  テキストエリアと写真エリア */

.box_area {
  float: left;
  padding: 1%;
}

/*
.box_area img{
	width: 95%;
} */

.img_a {
  width: 100%;
}

.box_wd100 {
  width: 98%;
}

.box_wd70 {
  width: 70%;
}

.box_wd60 {
  width: 60%;
}

.box_wd50 {
  width: 50%;
}

.box_wd40 {
  width: 40%;
}

.box_wd30 {
  width: 30%;
}

.bg_colorBe {
  background: #f3f3f3;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  padding: 10px;
  margin: 10px 10px 30px;
  overflow: auto;
}

.bg_colorB {
  background: #1e0904;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  padding: 10px;
  margin: 10px 10px 30px;
  overflow: auto;
}

/* 会社案内
-----------------------------------------------------------------*/
.gaiyou {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.gaiyou p {
  font-size: 110%;
}

table.brwsr1 {
  width: 100%;
  font-size: 1.4rem;
  margin: 20px 100px;
  border-collapse: separate;
  border-spacing: 0px 1px;
  margin-bottom: 10px;
  margin-left: 5px;
  transition: 0.8s;
}

table.brwsr1 img {
  margin: 10px;
}

table.brwsr1 th {
  padding: 4px 0;
  padding-left: 15px;
  vertical-align: middle;
  text-align: left;
  width: 150px;
  border-bottom: #999 1px solid;
}

table.brwsr1 td {
  padding: 8px 0;
  padding-left: 15px;
  text-align: left;
  border-bottom: #999 1px solid;
  font-size: 2rem;
}

table.brwsr1 td.r1 {
  width: 25%;
  text-align: left;
  /* border-right: #999 1px solid;
     background: #447791;*/
}

table.brwsr1 td.r2 {
  width: 100%;
  text-align: left;
  /* border-left: #fff 1px solid;
    border-right: #999 1px solid;
    background: #5893b1;*/
}

/* #mission
-----------------------------------------------------------------*/
#mission {
  padding: 54px 5% 80px;
}

#mission .txt {
  margin-bottom: 30px;
  font-size: 124%;
  text-align: center;
}

#mission .img {
  display: none;
  margin-bottom: 60px;
  text-align: center;
}

.oldbrowse #mission .img {
  display: block;
}

#mission #canvas02 {
  display: block;
  margin: 0 auto 30px;
  background: #f6f4ed;
  border-radius: 3px;
}

.oldbrowse #mission #canvas02 {
  display: none;
}

#mission .btn {
  text-align: center;
  letter-spacing: -0.4em;
}

#mission .btn li {
  width: 340px;
  margin-left: 16px;
  display: inline-block;
  display: inline;
  zoom: 1;
  letter-spacing: normal;
}

#mission .btn li:first-child {
  margin-left: 0;
}

#mission .btn li span {
  padding: 18px 20px 19px 0;
  font-size: 131%;
}

/* IE9・10 */
#mission .btn li span:not(:target) {
  padding: 22px 20px 15px 0\9;
}

/* IE11 */
@media all and (-ms-high-contrast: none) {

  *::-ms-backdrop,
  #mission .btn li span {
    padding: 22px 20px 15px 0;
  }
}

#mission .btnLink span:after {
  font-size: 27px;
  font-weight: normal;
}

.btnLink.blank span {
  background: url(../images/ico_blank.png) no-repeat 100% 49%;
}

#map-area {
  margin: 1px 1% 5px;
  margin: 2px auto;
}

#map-area .secMap {
  width: 100%;
  padding: 30px 0 40px;
  margin: 0 auto;
  text-align: center;
}

#map-area .secMap .list {
  position: relative;
  width: 98%;
  padding: 0.4%;
  float: left;
  margin: 0.4%;
  border: #333333;
}

#map-area .secMap .list p {
  font-size: 150%;
  line-height: 1.5;
  color: #333333;
}

#map-area .secMap .list img {
  position: absolute;
  right: 5.8%;
  top: 40%;
}

@media screen and (max-width: 768px) {
  .box_wd30 {
    width: 50%;
    margin: 0 25%;
  }

  .box_wd60 {
    width: 90%;
    margin: 0 5%;
  }
}

@media screen and (max-width: 400px) {
  table.brwsr1 {
    width: 100%;
    font-size: 1.4rem;
    margin: 0;
  }

  table.brwsr1 td {
    border: hidden;
    width: 90%;
    margin: 0 aito;
  }

  table.brwsr1 td.r1 {
    width: 100%;
    text-align: left;
    float: left;
    font-weight: 600;
    /* border-right: #999 1px solid;
     background: #447791;*/
  }

  table.brwsr1 td.r2 {
    width: 100%;
    text-align: left;
    float: left;
    border-bottom: #999 1px solid;
    /*   border-right: #999 1px solid;
    background: #5893b1;*/
  }

  #c-online-btn {
    position: fixed;
    z-index: 50;
    bottom: 100px;
    right: 20px;
    opacity: 0;
  }

  #c-online-btn a {
    transition-property: all;
    transition-duration: 0.3s;
    transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  }

  #c-online-btn a img {
    width: 130px;
  }

  #c-online-btn img {
    width: 130px;
  }

  #c-online-btn a:hover {
    opacity: 0.7;
  }

  #c-pagetop {
    position: fixed;
    z-index: 50;
    right: 63px;
    bottom: 30px;
    cursor: pointer;
    opacity: 0;
  }

  #c-pagetop-object {
    width: 45px;
    height: 45px;
    transition-property: all;
    transition-duration: 0.3s;
    transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  }

  #c-pagetop-object:hover {
    opacity: 0.7;
  }

  #c-pagetop-arrow {
    width: 15px;
    height: 8px;
  }

  #c-pagetop.only {
    right: 30px;
  }
}

@media (max-width: 515px) {
  #c-online-btn img {
    width: 100px;
  }
}

.wrap-recruit {
  width: 100%;
  /* margin-bottom: 0px; */
  max-width: 1380px;
  margin: 0 auto;
}

.recruit-text {
  margin: 2%;
  padding: 1%;
  width: 96%;
  /* margin-bottom: 10px; */
  /* background-size: cover; */
  /* background-position: center; */
  /* float: left; */
  margin: 0 auto;
}

.bg_recruit-text {
  background: #f3f3f3;
  padding: 10px;
  margin: 10px 10px 30px;
  border: 1px solid #b8b8b8;
}

.box-recruit-text {
  /* width: 98%; */
  border: 1px solid #abe7fb;
  /* margin: 0 auto; */
  display: flex;
  justify-content: center;
  margin: 25px;
}

.box-recruit-text p {
  padding: 35px;
  line-height: 1.9;
  font-size: 120%;
  font-weight: 500;
  /* text-align: left; */
  /* 転記するときは2remにする */
  font-size: 2rem;
}

.wrap-conditions {
  /* margin-bottom: 75px; */
  padding-top: 50px;
  padding: 60px 0;
  margin: 50px 0;
  /* background-color: #f0f4f9; */
}

.recruit-tb {
  width: 96%;
  margin: 0 auto;
  max-width: 1360px;
}

#recruit-tb-inner {
  padding: 54px 5% 80px;
}

.youken {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

table.youken-tb {
  width: 75%;
  font-size: 1rem;
  /* margin: 20px 100px; */
  border-collapse: separate;
  /* border-spacing: 0px 1px; */
  margin-bottom: 10px;
  /* margin-left: 5px; */
  /* transition: .8s; */
  margin: 0 auto;
}

table.youken-tb td.r1 {
  width: 25%;
  text-align: left;
}

table.youken-tb td {
  padding: 15px 0;
  padding-left: 15px;
  text-align: left;
  border-bottom: #999 1px solid;
  /* 転記するときは2rem */
  font-size: 2rem;
}

table.youken-tb tr {
  /* border-bottom: #999 1px solid; */
}

table.youken-tb td.r2 {
  width: 100%;
  text-align: left;
}

.r1-highlight {
  background-color: #18639f;
  border-radius: 50px;
  padding: 0.3em 1em;
  display: inline-block;
  color: white;
}

@media (max-width: 786px) {

  .youken-tb,
  .youken-tb tbody,
  .youken-tb tr {
    display: block;
    /* テーブル全体、tbody、trをブロック要素にする */
    width: 100%;
    /* 幅を100%に設定 */
  }

  .youken-tb tr {
    padding: 10px;
    /* 各行の内側に余白を追加 */
  }

  .youken-tb td {
    display: block;
    /* tdをブロック要素にする */
    width: auto;
    /* 幅を自動調整 */
    border: none;
    /* セルの境界線をなくす（trに境界線を設定したので） */
    padding: 5px 0;
    /* 上下のpaddingを小さくして、左右は0にする */
  }

  /* 最初のtd (日付) のスタイル */
  .youken-tb td.r1 {
    font-weight: bold;
    /* 日付を太字にするなど、強調したい場合に */
    margin-bottom: 5px;
    /* 下の要素との間に少し余白 */
    border-bottom: none;
  }

  /* 2番目のtd (内容) のスタイル */
  .youken-tb td.r2 {
    /* 必要に応じて追加のスタイル */
  }

  /* r1-highlightの調整（必要であれば） */
  .r1-highlight {
    /* スマホ表示でさらに調整が必要な場合はここに記述 */
    /* 例: paddingを増やすなど */
  }

  table.youken-tb td.r1 {
    width: 100%;
    text-align: left;
  }

  .box-recruit-text {
    margin: 13px;
  }

  .box-recruit-text p {
    padding: 25px;
  }
}

@media (max-width: 786px) {
  .box-recruit-text p {
    padding: 10px;
    font-size: 1.8rem;
  }
}


/* 先輩の声 */
.recruitArea.second {
  position: relative;
  overflow: visible;
  /* margin-top: 100px; */
  margin-bottom: 0;
}

.recruitArea.second img.on.inner {
  position: absolute;
  max-width: 200px;
  top: -118px;
  right: 0;
  z-index: 10;
}

.recruitArea {
  margin: 10px auto 50px;
  background: #fefefe;
  overflow: hidden;
  border-radius: 10px;
  max-width: 1100px;
}

.voice-inner {
  padding: 50px 20px;
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
  font-size: 2rem;
}

.voice-inner img {
  width: 100%;
  margin: 0 auto;
}

.interview_box {
  position: relative;
}

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

.pla_col_1 {
  width: 100%;
}

.qa_Box_bg01 {
  background: #e7f6ff;
}

.qa_Box {
  /* flex-wrap: wrap; */
  padding: 1.5em 2em;
  margin: 1em 0.5% 1em;
  border-radius: 0 4em 1.5em;
  position: relative;
}

.txt_q {
  font-size: 2rem;
  border-bottom: 1px solid #ddd;
  line-height: 1.8;
  padding-bottom: 10px;
  font-weight: 600;
}

.txt_q img {
  position: absolute;
  max-height: 130px;
  width: auto;
  transition: transform 1s ease-in-out;
}

.img_setA {
  bottom: 0;
  right: 0;
  max-height: 130px;
}

.img_setB {
  top: 10px;
  right: 15px;
  max-width: 200px;
}

.img_setC {
  top: -45px;
  right: 1em;
  max-width: 200px;
}

.txt_a {
  line-height: 2;
  padding-top: 1.5em;
  font-size: 1.6rem;
}

.pla_col_2 {
  width: 48%;
}

.qa_Box_bg04 {
  background: #fffde6;
}

.qa_Box_bg02 {
  background: #ffebeb;
}

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

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

@media screen and (max-width: 820px) {
  .pla_col_2 {
    width: 100%;
  }

  .voice-inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    /* padding-left: 15px;
        padding-right: 15px; */
  }

  .qa_Box {
    flex-wrap: wrap;
    padding: 1.5em 1em;
    margin: 1em 0.5% 1em;
    border-radius: 0 4em 1.5em;
    position: relative;
  }

  .txt_q {
    font-size: 2rem;
  }

  .img_setA {
    bottom: -40px;
    right: 0;
    max-height: 80px;
  }

  .txt_a {
    line-height: 1.8;
    padding-bottom: 3em;
  }

  .img_setB {
    bottom: 0 !important;
    right: 15px;
    max-width: 200px;
    top: auto;
  }

  .img_setC {
    bottom: 0;
    right: 0;
  }

  #recruit-tb-inner {
    padding: 0 15px 10px 15px;
  }

  .youken {
    width: 100%;
  }

  table.youken-tb {
    width: 100%;
  }
}

/* --- 見出しの共通スタイル --- */
.all-wrap {
  width: 100%;
}

.recruit-section {
  max-width: 1000px;
  /* サイトの最大幅に合わせて調整してください */
  margin: 60px auto;
  /* 上下の余白と中央揃え */
  padding: 0 20px;
  /* 左右の余白（画面端との隙間） */
}

.section-title {
  display: flex;
  /* アイコンとテキストを横並びにする */
  align-items: center;
  /* 垂直方向の中央揃え */
  font-size: 1.8rem;
  /* 見出しのフォントサイズ */
  color: #18639f;
  /* メインカラー（濃い青） */
  padding-bottom: 10px;
  /* 下線との間の余白 */
  border-bottom: 2px solid #18639f;
  /* 下線 */
  margin-bottom: 30px;
  /* 見出しと本文の間の余白 */
  font-weight: bold;
  /* フォントを太字に */
  width: 100%;
}

.section-title .icon-left {
  margin-right: 15px;
  /* アイコンとテキストの間の余白 */
  font-size: 1.5em;
  /* 親要素のfont-sizeに対しての比率でアイコンサイズを調整 */
  color: #18639f;
  /* アイコンの色をテキストと同じにする */
}

#voice {
  background-color: #f0f3f7;
  padding: 50px 0px;
}

.img_setD {
  top: -45px;
  max-width: 300px;
  right: 0;
}

/* --- レスポンシブ対応（スマホ向け調整） --- */
@media (max-width: 768px) {
  .section-title {
    font-size: 1.5rem;
    padding-bottom: 8px;
    margin-bottom: 20px;
    width: 90%;
    text-align: center;
    margin: 30px auto !important;
  }

  .section-title .icon-left {
    margin-right: 10px;
    font-size: 1.3em;
  }

  .recruit-section {
    margin: 40px auto;
    /* スマホでは上下の余白を少し小さく */
    padding: 0 15px;
  }

  .img_setC {
    top: -29px;
    max-width: 150px;
  }

  .img_setD {
    top: 452px;
    max-width: 150px;
    bottom: 100px;
  }

  #voice {
    background-color: #f0f3f7;
    padding: 50px 25px;
  }

  .wrap-conditions {
    margin-bottom: 0px;
    padding-top: 50px;
    padding: 0;
    margin: 0px 0;
  }
}

@media (max-width: 600px) {
  .img_setA {
    bottom: -10px;
    right: -20px;
    max-width: 130px;
  }

  .img_setC {
    top: -8px;
    max-width: 120px;
  }

  .img_setD {
    top: 398px;
    max-width: 150px;
    right: -20px;
  }
}

.senpai-name-decorated {
  font-weight: bold;
  /* テキストを太字にする */
  color: #2c3e50;
  /* 少し濃い目の青っぽいグレー */
  background-color: #ecf0f1;
  /* 薄いグレーの背景色 */
  padding: 5px 10px;
  /* 上下左右に余白を追加 */
  border-radius: 4px;
  /* 角を少し丸くする */
  display: inline-block;
  /* 背景色と余白が正しく適用されるようにする */
  font-family: "メイリオ", Meiryo, sans-serif;
}

table.info {
  border-collapse: collapse;
  text-align: left;
  font-size: 15px;
  letter-spacing: 1px;
  line-height: 18px;
  width: 100%;
  margin-top: 10px;
}

table.info th {
  width: 25%;
  padding: 10px 24px;
  /* vertical-align: 0; */
  border: #ddd 1px solid;
  border-right: #ddd 1px dashed;
  border-right: #ddd 1px solid;
  background: #164588;
  color: #fff;
  font-size: 1.8rem;
  line-height: 2rem;
}

table.info td {
  /* vertical-align: 0; */
  border: #ddd 1px solid;
  border-left: none;
}

table.info td {
  padding: 22px;
  /* vertical-align: 0; */
  border: #ddd 1px solid;
  border-left: none;
  font-size: 1.6rem;
}

/* ======== table.tableOther ======== */
table.info {
  border-collapse: collapse;
  text-align: left;
  font-size: 15px;
  letter-spacing: 1px;
  line-height: 18px;
  width: 100%;
}

table.info tr {}

table.info th {
  width: 25%;
  padding: 10px 24px;
  vertical-align: 0;
  border: #ddd 1px solid;
  border-right: #ddd 1px dashed;
  border-right: #ddd 1px solid;
  background: #164588;
}

table.info td {
  /* padding: 10px; */
  vertical-align: 0;
  border: #ddd 1px solid;
  border-left: none;
  line-height: 2;
}

table.info td .linkArea {
  margin-top: 10px;
  text-align: left;
}

table.info td .linkArea a.btn {
  margin: 0;
}

@media only screen and (max-width: 950px) {
  table.info th {
    width: 30%;
    padding: 20px;
    background: #164588;
  }

  table.info td {
    padding: 20px;
  }
}

@media only screen and (max-width: 800px) {
  table.info {
    font-size: 13px;
  }
}

@media only screen and (max-width: 738px) {
  #outline .imgArea {
    /* float:none; */
    width: 100%;
    display: block;
  }

  #outline .txtArea {
    float: none;
    width: 100%;
    /* margin-top:25px; */
  }

  table.info {
    /* font-size:12px; */
  }
}

@media only screen and (max-width: 500px) {
  table.info {
    margin-top: 10px;
  }

  table.info th {
    width: calc(100% - 0px);
    padding: 15px;
    display: block;
  }

  table.info td {
    padding: 15px;
    width: calc(100% - 0px);
    display: block;
    border: 1px solid #ddd;
    line-height: 2;
  }
}

.btn-aria {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  margin-bottom: 40px;
}

.btn_brown {
  display: block;
  margin: 10px auto;
  font-size: 20px;
  font-weight: 600;
  color: #ff5722;
  padding: 7px 40px;
  text-decoration: none;
  border: #ff5722 1px solid;
  display: inline-block;
  margin: 0 auto;
}

.btn_brown {
  background: #fff;
  display: inline-block;
  position: relative;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  margin: 0 auto;
  /* width: 250px; */
}

.btn_brown:hover,
.btn_brown:active {
  color: #fff !important;
  background: #ff5722;
}



@media only screen and (max-width: 500px) {
  .btn_brown {
    font-size: 16px;
  }
}