
/*****トップページ*******/
#header{
	width:100%;
    padding-top: 50%;
	position:relative;
	overflow:hidden;
}
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.3); /* 半透明の白 */
    backdrop-filter: blur(5px); /* 背景をぼかす */
    z-index: 998; /* メニューの下、他の要素の上に */
    display: none; /* 初期は非表示 */
}
/* ===== カラーテーマ（変数） ===== */
:root{
  --qa-bg: #fff;
  --qa-ink: #333;
  --q-main: #ff8fb3;  /* Qバッジ色（ピンク） */
  --a-main: #86c8ff;  /* Aバッジ色（空色） */
  --ring: rgba(0,0,0,.06);
  --dot: #cfd7df;
  --radius: 18px;
  --shadow: 0 8px 24px rgba(0,0,0,.08);
}
/* ====== テーブルレイアウト ====== */
table.form {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 18px; /* 各行に余白 */
}
.form th {
  width: 25%;
  text-align: left;
  vertical-align: top;
  /* padding: 12px 10px; */
  font-weight: 700;
  color: #444;
  font-size: 1em;
  border-right:none;
}
.form td {
  width: 75%;
  /* padding: 12px 10px; */
}

/* ====== 必須マーク ====== */
.haveto {
  display: inline-block;
  background: #ffb6c1;
  color: #fff;
  font-size: 0.8em;
  border-radius: 10px;
  padding: 2px 8px;
  margin-right: 8px;
  vertical-align: middle;
  /* box-shadow: 0 2px 4px rgba(255,182,193,.5); */
}

/* ====== 入力フィールド ====== */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  width: 100%;
  padding: 12px 14px;
  border: 2px solid #dde5ed;
  border-radius: 10px;
  font-size: 1em;
  line-height: 1.5;
  transition: all .25s ease;
  background: #fafcfd;
  box-sizing: border-box;
  font-family: "Hiragino Sans","Noto Sans JP",sans-serif;
}
textarea { min-height: 180px; resize: vertical; }

/* フォーカス時 */
input:focus,
textarea:focus {
  border-color: #86c8ff;
  background: #f0faff;
  outline: none;
  box-shadow: 0 0 0 4px rgba(134,200,255,.25);
}

/* プレースホルダー */
::placeholder {
  color: #bbb;
}

/* ====== バリデーション用（CF7対応） ====== */
.wpcf7-not-valid {
  border-color: #ff9ca1 !important;
  background: #fff6f6 !important;
}
.wpcf7-not-valid:focus {
  box-shadow: 0 0 0 4px rgba(255,156,161,.2);
}

/* ====== 送信ボタン例 ====== */
input[type="submit"] {
  background: linear-gradient(135deg, #86c8ff, #b7e5ff);
  color: #fff;
  font-weight: 700;
  border: none;
  border-radius: 999px;
  padding: 14px 48px;
  font-size: 1.1em;
  display: block;
  margin: 40px auto 0;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .2s ease;
}
input[type="submit"]:hover {
  transform: translateY(-2px);
}

/* ====== スマホ対応 ====== */
@media (max-width: 768px){
  table.form, .form tr, .form th, .form td {
    display: block;
    width: 100%;
  }
  .form th {
    padding-bottom: 4px;
  }
  .form td {
    padding-top: 0;
	padding-left: 0 !important;
  }
}
/* ===== 全体 ===== */
.qa-wrap{
  margin: 40px auto;
  font-family: "Hiragino Sans","Noto Sans JP",sans-serif;
  color: var(--qa-ink);
}

/* ===== 各Q&A ===== */
.qa{
  background: var(--qa-bg);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  margin: 16px 0;
  border: 1px solid var(--ring);
}

/* summary 行（質問バー） */
.qa > summary {
    list-style: none;
    cursor: pointer;
    padding: 18px 56px 18px 28px;
    position: relative;
    font-weight: 700;
    line-height: 1.6;
    display: flex;
    align-items: center;
    gap: 8px;
    /* background: radial-gradient(35px 35px at 20px 50%, rgba(255, 143, 179, .18), transparent 60%); */
}
.qa > summary::-webkit-details-marker{ display:none; }

/* 開閉アイコン（右側の矢印） */
.qa > summary::after{
  content: "";
  position: absolute; right: 16px; top: 50%;
  width: 10px; height: 10px;
  border-right: 2px solid #999; border-bottom: 2px solid #999;
  transform: translateY(-50%) rotate(45deg);
  transition: transform .25s ease;
}
.qa[open] > summary::after{
  transform: translateY(-50%) rotate(-135deg);
}

/* Q/Aの丸バッジ */
.qa-badge{
  width: 28px; height: 28px;
  flex: 0 0 28px;
  display:inline-grid; place-items:center;
  color:#fff;
  border-radius: 50%;
  font-weight: 900;
  letter-spacing: .02em;
  font-size: 14px;
  text-indent: 0;
}
.qa-badge.q{ background: var(--q-main); box-shadow: 0 4px 10px rgba(255,143,179,.35); }
.qa-badge.a{ background: var(--a-main); box-shadow: 0 4px 10px rgba(134,200,255,.35); margin-right: 8px; }

/* 答え部分 */
.qa-body{
  padding: 10px clamp(16px,4vw,28px) 20px;
  border-top: 2px dashed var(--dot);
  background:
    linear-gradient(transparent 60%, rgba(134,200,255,.08) 60% 62%, transparent 62%) 0 0/100% 2.6em; /* うっすら行間ガイド */
}
.qa-body p{
  margin: 12px 0;
  line-height: 1.9;
}

/* 参考ボタン風リンク */
.qa-note{ margin-top: 8px; }
.qa-btn{
  display:inline-flex; align-items:center; gap:8px;
  padding: 10px 14px;
  background: #fff;
  border: 2px solid var(--a-main);
  color: #1160a6;
  text-decoration: none;
  border-radius: 999px;
  font-weight: 700;
  transition: transform .12s ease, box-shadow .2s ease, background .2s ease;
}
.qa-btn::before{
  /* content: "🔎"; */
  transform: translateY(1px);
}
.qa-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(17,96,166,.18);
  background: rgba(134,200,255,.1);
}
/* 全体 */
.company-section {
  max-width: 1080px;
  margin: 60px auto;
  padding: 0 5%;
  font-family: "Hiragino Sans","Noto Sans JP",sans-serif;
  color: #333;
}

/* 見出し */
.company-heading {
  font-family: "Zen Maru Gothic","Hiragino Sans","Noto Sans JP",sans-serif;
  font-size: 1.8em;
  font-weight: 700;
  margin-bottom: 24px;
  padding-left: 14px;
  border-left: 6px solid #86c8ff;
}

/* 会社概要レイアウト（マップ + 情報） */
.company-layout {
  display: flex;
  gap: 28px;
  align-items: stretch;
  flex-wrap: wrap;
}

/* マップ枠 */
.company-map {
  flex: 1 1 320px;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  padding: 16px 16px 18px;
}

/* レスポンシブなマップ */
.map-embed {
  position: relative;
  width: 100%;
  padding-top: 65%; /* アスペクト比（高さ）調整：65%前後 */
  border-radius: 14px;
  overflow: hidden;
}
.map-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* マップ下の一言 */
.map-caption {
  margin-top: 10px;
  font-size: 0.9em;
  color: #666;
}
/* SP時のマップ高さを可変にして余白をなくす */
@media (max-width: 768px) {
  .map-embed {
    padding-top: 0;        /* ← 比率による高さ指定を解除 */
    height: 260px;         /* ← 実寸で高さ指定（調整可） */
  }
  .map-embed iframe {
    height: 100% !important;
  }
    .company-layout {
    flex-direction: column;
    align-items: stretch;   /* ここは stretch のままでもOK */
  }
.company-section {
    padding: 0 !important;
}
  .company-map,
  .company-info {
    flex: 0 0 auto !important;         /* ← 高さをコンテンツ任せにする */
  }
}
/* 会社情報カード */
.company-info {
  flex: 1.2 1 320px;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  padding: 20px 24px;
}

.company-list {
  margin: 0;
  padding: 0;
}
.company-list div {
  display: flex;
  padding: 10px 0;
  border-bottom: 1px dashed #d6dde5;
}
.company-list div:last-child {
  border-bottom: none;
}
.company-list dt {
  width: 90px;
  font-weight: 700;
  color: #555;
}
.company-list dd {
  margin: 0;
  flex: 1;
  color: #333;
}
.company-list a {
  color: #1160a6;
  text-decoration: none;
}
.company-list a:hover {
  text-decoration: underline;
}

/* 有資格者ブロック */
.license-section {
  margin-top: 40px;
}

.license-heading {
  font-family: "Zen Maru Gothic","Hiragino Sans","Noto Sans JP",sans-serif;
  font-size: 1.4em;
  font-weight: 700;
  margin: 0 0 18px;
  display: inline-block;
  padding: 6px 14px 6px 38px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
  position: relative;
}
.license-heading::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg,#ffb7c5,#ffd6e8);
}

/* 有資格者カード */
.license-card {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  padding: 20px 24px 22px;
}

.license-list {
  list-style: none;
  margin: 0 0 10px;
  padding: 0;
}
.license-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px dashed #d6dde5;
}
.license-list li:last-child {
  border-bottom: none;
}
.badge {
  min-width: 52px;
  padding: 6px 10px;
  border-radius: 999px;
  background: linear-gradient(135deg,#86c8ff,#b7e5ff);
  color: #fff;
  font-weight: 700;
  font-size: 0.9em;
  text-align: center;
  box-shadow: 0 4px 10px rgba(134,200,255,.4);
}
.license-text {
  font-size: 1em;
  font-weight: 600;
  color: #444;
}
.license-note {
  margin: 10px 0 0;
  font-size: 0.9em;
  color: #777;
  line-height: 1.7;
}

/* SP対応 */
@media (max-width: 768px){
  .company-layout {
    flex-direction: column;
  }
}
/* レスポンシブ微調整 */
@media (max-width: 768px){
  .qa > summary{ padding: 16px 48px 16px 12px; }
  .qa-badge{ width:26px; height:26px; font-size:13px; }
  .qa-body{ padding: 8px 16px 18px; }
}
/* メニューが開いたときに表示 */
.menu-open .menu-overlay {
    display: block;
}
/* .backstretch img{
	width:100%!important;
	height: auto!important;
} */
.clean_imgflex{
    width: 47%;
}
.grecaptcha-badge {
    display: none!important;
}
.top_blok{
	position:absolute;
	width:100%;
	/*top:-15%;*/
	left:0;
}
.back_news {
    width: 85%;
}
.flexboxcopage{
	flex-wrap: wrap;
	gap: 20px;
	justify-content: flex-start !important;
}
.heading10 {
	position: relative;
	padding-top: 30px;
    padding-bottom: 10px;
    margin-bottom: 30px;
	border-bottom: 1px solid rgba(5,62,98,1);
}
input[type="submit"] {
      appearance: none;
  -webkit-appearance: none;
}
input[type="reset"] {
      appearance: none;
  -webkit-appearance: none;
}
.side_content {
    width: 100%;
    /* max-width: 1300px; */
    display: flex;
}
.side_content_left {
    width: 20%;
    padding: 40px 2%;
    background: #E7E6EC;
}
.widget--sticky{
  position: sticky;
  top: 100px;
}
.side_content_right {
    width: 76%;
}
.heading10 span {
	position: relative;
	z-index: 2;
    font-weight: bold;
	font-size: 1.7em!important;
}
table.table_style{
  width: 100%;
    border-spacing: 0 10px!important;
}
.hoge {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
table.table_style th{
  position: relative;
  text-align: left;
  width: 15%;
        padding-left: 2%;
    border-right: none!important;
}

table.table_style th:after{
  display: block;
  content: "";
  width: 30px;
  height: 4px;
  background-color: #333;
  position: absolute;
  top:calc(50% - 1px);
  right:-20px;
}

table.table_style td{
  text-align: left;
  padding:7px 0 7px 30px;
  width: 85%;
}
table.table_style tr:nth-child(odd){
  background-color: #f3f3f3;
}
ol {
  counter-reset: num;
  list-style: none;
  margin: 20px 0;
  padding: 0;
}

ol li {
  counter-increment: num;
  position: relative;
  background: #fff;
  border: 2px solid #f0f5fa;
  border-radius: 14px;
  padding: 14px 16px 14px 56px;
  margin: 12px 0;
  box-shadow: 0 4px 12px rgba(0,0,0,.05);
  font-family: "Hiragino Sans","Noto Sans JP",sans-serif;
  color: #444;
  line-height: 1.8;
  transition: transform .2s ease, box-shadow .3s ease;
}

/* ホバーでふんわり */
ol li:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(134,200,255,.25);
}

/* 丸いナンバー */
ol li::before {
  content: counter(num);
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: linear-gradient(135deg, #86c8ff, #b7e5ff);
  color: #fff;
  font-weight: 700;
  font-size: 0.95em;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(134,200,255,.4);
}
/* 左揃えのかわいい見出し */
.privacytit {
  position: relative;
  font-family: "Zen Maru Gothic", "Hiragino Sans", "Noto Sans JP", sans-serif;
  font-size: 1.55em;
  font-weight: 700;
  color: #444;
  background: #fff;
  border-radius: 14px;
  padding: 14px 18px 14px 62px;
  margin: 42px 0 24px;
  display: inline-block; /* ←横幅をテキスト分に */
  box-shadow: 0 4px 14px rgba(0,0,0,.08);
}

/* 左の丸アイコン */
.privacytit::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #86c8ff, #b7e5ff);
  box-shadow: 0 2px 8px rgba(134,200,255,.4);
}

/* 下にアクセントライン（うっすら） */
.privacytit::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 6px;
  background: rgba(134,200,255,.15);
  border-radius: 0 0 8px 8px;
}

.news-wrapper {
  max-width: 1000px;
  margin: 40px auto;
  padding: 0 5%;
  font-family: "Hiragino Sans","Noto Sans JP",sans-serif;
}

.news-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.news-list li a {
  display: flex;
  gap: 20px;
  padding: 22px 0;
  border-bottom: 1px solid #e5e8eb;
  text-decoration: none;
  color: #333;
  transition: background .2s;
}
.news-list li a:hover {
  background: rgba(134,200,255,.08);
}

.news-thumb {
  width: 140px;
  height: 100px;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
  background: #f5f5f5;
}
.news-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.news-date {
  font-size: 0.85em;
  color: #777;
}

.news-title-item {
  font-size: 1.05em;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

.news-excerpt {
  font-size: 0.9em;
  color: #555;
  line-height: 1.6;
  margin: 0;
  overflow: hidden;
}

/* ページャー */
.news-pager {
  margin-top: 40px;
  text-align: center;
}
.news-pager a,
.news-pager span {
  display: inline-block;
  margin: 4px;
  padding: 8px 12px;
  border-radius: 6px;
  text-decoration: none;
  color: #555;
  border: 1px solid #d2d9e2;
  transition: .2s;
}
.news-pager a:hover {
  background: #86c8ff;
  border-color: #86c8ff;
  color: #fff;
}
.news-pager .current {
  background: #86c8ff;
  color: #fff;
  border-color: #86c8ff;
}

/* SP */
@media (max-width: 768px){
  .news-list li a {
    flex-direction: column;
  }
  .news-thumb {
    width: 100%;
    height: 200px;
  }
}
/* 見出しなどで使う場合の余白調整 */
section ol {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
form.wpcf7-form input,form.wpcf7-form textarea{
    width: 100%;
}
.heading10::before {
	content: attr(data-en);
	position: absolute;
	top: 10px;
	left: 50px;
	color: rgba(5,62,98,0.1);
	font-size: 40px;
	text-transform: uppercase;
	z-index: 1;
}
.top_blok img{
	width: 100%;
	height: auto!important;
}
.nav-previous {
    float: left;
}
.date{
    font-size: 0.8em;
}
.nav-next {
    float: right;
}
.fot_dis{
    font-size: 0.7em!important;
}

.fot_dis span{
    display:inline-block;
    font-size: 1em;
}
.fot_dis span a{
    font-size: 1em;
}
.line_tit{
    padding-bottom: 10px;
    border-bottom: solid #666 3px;
    text-align: left;
}
.nav_common{
    position: fixed!important;
    background: #fff;
    width: 100%;
    height: 60px;
    z-index: 99999!important;
    top: 0;
    left: 0;
}
ul.news_box{
	width:700px;
}
i.fas.fa-arrow-alt-circle-right {
    font-size: 2em;
}
i.fas.fa-arrow-alt-circle-left {
    font-size: 2em;
}
.link_line{
	text-decoration: underline;
}
form.wpcf7-form p{
	margin-bottom: 30px;
}
.page_img{
    position: relative;
    width: 100%;
    overflow: hidden;
    padding-top: 30%;
    /*padding-top: 39.4%;*/
}
.page_img_back{
    position:absolute;
    width: 100%;
    top: 0;
    left: 0;
}
.servicebox{
    width: 100%;
    display: flex;
    transition: 1s;
    align-items: center;
}
a.servicebox:hover{
    background: #E7E6EC;
    transition: 1s;
}
a.servicebox:hover img{
    opacity: 1;
}

.servicebox_img{
    width: 40%;
}
.servicebox_p{
    width: 50%;
    padding:0 5%;
}
.page_img_tit{
    position:absolute;
    height: 15%;
    bottom: 30%;
    left: 5%;
    padding: 10px 2%;
    background: rgb(0,0,0,0.6);
}
.page_img_tit img{
    height: 100%;
}
/*code {
    background: #1a408d;
    color: #fff;
    padding: 1px 10px;
    border-radius: 5px;
}*/
.link_archive{
	padding-bottom: 20px;
	border-bottom: dotted 1px #666;
	margin-bottom: 20px;
}
.link_archive a span{
	font-size: 1.3em;
}
.blok_info {
    display: inline-block;
}
.blok_info p.list_tit_info{
    background: #1a408d;
    color: #fff;
    padding: 1px 10px;
    border-radius: 5px;
}
.blok_info p{
    float: left;
	margin-right: 15px;
}
.w_100_info{
	text-align: center!important;
	margin: 0 auto!important;
	width: 100%;
}
ul.news_box li{
	border-bottom:solid #CCC 1px;
	padding-bottom:10px;
	margin-bottom:20px;
}
.top_kankyo{
	background-image:url("../images/top/cover_kankyo.png");
	background-size:100% 100% ;
	background-repeat:no-repeat;
}
.top_kankyo2{
	padding:100px 50px;
	width:800px;
}
.p_100{
    padding: 100px 0;
}

.top_kankyo h3{
	color:#FFF;
	text-align:left;
	font-size:3em;
	font-weight:100;
	letter-spacing:15px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	font-family: "Noto Sans JP", serif, "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
	height:260px;
}
.back_meikou h2{
	color:#FFF;
	margin:0 auto !important;
	text-align:center ;
	font-size:1.8em;
	font-weight:100;
	letter-spacing:15px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	font-family: "Noto Sans JP", serif, "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
	height:320px;
}
.back_meikou h3{
	color:#FFF;
	margin:0 auto !important;
	text-align:left;
	font-size:1.1em;
	font-weight:100;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	font-family: "Noto Sans JP", serif, "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
}
.page_content p span{
background:linear-gradient(transparent 70%, #FFFF00 0%);
}
.stripe{
	width: 100%;
  height: 230px;

  background:
    /* 上30%を白で覆う */
    linear-gradient(to bottom, white 0%, white 8%, transparent 8%),
    /* 下の斜めストライプ */
    repeating-linear-gradient(
      -45deg,
      #f5fafd,
      #f5fafd 10px,
      #daeef9 10px,
      #daeef9 20px
    );
}
.stripe_content{
	margin-top: -150px;
	width: 90%;
	margin-left:5% ;
}

.dispore{
	position: relative;
	width: 100%;
	padding-top: 50%;
	margin-top: 100px;
}
img.moyou {
	position: absolute;
	top: 0;
	left: 0;
  display: block;
  width: 20%;
  animation: morphRotate 30s ease-in-out infinite;
}
img.moyou2 {
	position: absolute;
	top: 100px;
	left: 0;
  display: block;
  width: 75%;
  animation: morphRotate 50s ease-in-out infinite;
}
img.moyou3 {
	position: absolute;
	top: 0;
	right: 0;
  display: block;
  width: 20%;
  animation: morphRotate 30s ease-in-out infinite;
}
img.moyou4 {
	position: absolute;
	top: 100px;
	right: 0;
  display: block;
  width: 60%;
  animation: morphRotate 50s ease-in-out infinite;
}
img.moyou5 {
    position: absolute;
    top: 12%;
    right: 6%;
    display: block;
    width: 44%;
    animation: morphRotate 50s ease-in-out infinite;
}
img.moyou6 {
    position: absolute;
    top: 19%;
    right: 20%;
    display: block;
    width: 29%;
    animation: morphRotate 30s ease-in-out infinite;
}
.serviceicon{
	width: 20%;
	margin: 0 40%;
}
.collar_f{
	color: #fff;
}
.pagemaintit p a{
    color: #fff;
	border-bottom: solid #fff;
}
.contentarea{
	width: 80%;
	margin: 50px auto;
	max-width: 1100px;
}
.contentareaflex {
  display: flex;
  gap: 5%; /* 適度な余白 */
}

/* ===== 共通スタイル ===== */
.contentareaflex_in,
.contentareaflex_in2 {
  position: relative;
  /* overflow: hidden; */
  width: 45%;
  padding: 40px 20px;
  min-height: 260px;
  border-radius: 20px;
}
.contentareaflex_in img,
.contentareaflex_in2 img {
  width: 70%;
    margin-left: 15%;
}
.contentareaflex_in h3, .contentareaflex_in2 h3 {
    background: #fff;
    border-radius: 20px;
    padding: 10px 30px;
    display: inline-block;
    font-weight: 400;
    font-size: 2em;
}
.fontlarge{
	font-size: 1.5em;
}
.contentareagraytit h2 {
    color: #1CA2DC;
    text-align: center;
    font-size: 3em;
	font-weight: 400;
}
.contentareagraytit h3 {
    color: #1CA2DC;
    font-size: 2em;
    margin-top: 30px;
	font-weight: 400;
}
/* ======== contentareaflex_in (iramoyou.png) ======== */
.contentareaflex_in::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../images/houmon/iramoyou.png");
  background-size: 80% auto;
  background-repeat: no-repeat;
  background-position: bottom;
  transform-origin: center center;
  animation: bg-rotate-scale1 18s ease-in-out infinite alternate;
  z-index: 0;
}

/* ======== contentareaflex_in2 (iramoyou2.png) ======== */
.contentareaflex_in2::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../images/houmon/iramoyou2.png");
  background-size: 80% auto;
  background-repeat: no-repeat;
  background-position: bottom;
  transform-origin: center center;
  animation: bg-rotate-scale2 25s ease-in-out infinite alternate;
  z-index: 0;
}

/* ===== 中のテキスト・画像を前面に ===== */
.contentareaflex_in > *,
.contentareaflex_in2 > * {
  position: relative;
  z-index: 1;
}

/* ===== アニメーション定義 ===== */

/* 1つ目：やや速め */
@keyframes bg-rotate-scale1 {
  0%   { transform: scale(1) rotate(0deg); }
  50%  { transform: scale(1.02) rotate(3deg); }
  100% { transform: scale(0.96) rotate(-3deg); }
}

/* 2つ目：ゆっくりめ */
@keyframes bg-rotate-scale2 {
  0%   { transform: scale(1) rotate(0deg); }
  50%  { transform: scale(1.08) rotate(-4deg); }
  100% { transform: scale(0.95) rotate(4deg); }
}
.contentareagray{
	width: 80%;
	padding: 100px 10%;
	background: #F2F1F0;
}
.pagemainimg {
    position: absolute;
    top: 0;
    left: 0;
    width: 63%;
}
.pagemaintit {
  position: absolute;
  top: 50%;
  left: 65%;
  transform: translateY(-50%);
}
.pagemaintit h2, .pagemaintit p{
color: #fff;
}

.pagemaintit h2{
	font-size: 3.5em;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight:bold;
	font-style: normal;
	line-height: 1;
}
.pagecopyh2 {
    font-size: 3em;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: bold;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: inherit;
}
.pagecopyarea{
	display: flex;
}
.pagecopyareamoyou {
  background: repeating-linear-gradient(
    -45deg,
    #f5fafd,
    #f5fafd 10px,
    #daeef9 10px,
    #daeef9 20px
  );
  width: 10%;
  border-radius: 0 30px 30px 0;
}
.pagecopyareap {
    width: 80%;
    margin-left: 5%;
    padding: 50px 0;
}
.page .dispore {
    margin-top: 0;
	padding-top: 45%;
}
.serviceflex{
	display: flex;
}
.serviceflexinin{
	width: 90%;
	padding: 5%;
	background: #fff;
	border-radius: 12px;
	margin-top: 8px;
}
.serviceflexin{
	width: 40%;
	padding: 5%;
	background: repeating-linear-gradient(
  135deg,
  #1c9fd8,
  #1c9fd8 12px,
  #1CA2DC 12px,
  #1CA2DC 24px
);
}
.serviceflexin2{
	width: 40%;
	padding: 5%;
	background: repeating-linear-gradient(
  135deg,
  #a9d81b,
  #a9d81b 12px,
  #acdc1c 12px,
  #acdc1c 24px
);
}
.nagare {
  background: #fff;
  border-radius: 12px;
  padding: 8px 12px;
  margin: 8px 0;
  display: flex;
  text-align: left;
  align-items: center;
  font-size: 16px;
  line-height: 1.6;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
/* 時間部分 */
.nagare span {
  display: inline-block;
  width: 160px; /* ←ここで揃う。幅は調整OK */
  font-weight: 600;
  color: #333;
}
.case-wrap{
  --overlap: 28px;   /* 丸とかぶる量（px） */
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 0;            /* ギャップは0にして margin で制御 */
  align-items: center;
  margin: 20px 0 40px;
  position: relative;
  font-family: "Hiragino Sans","Noto Sans JP",sans-serif;
  color:#333;
}

/* ====== 左のビジュアル（丸＋人物＋CASE番号） ====== */
.case-visual{ position: relative; min-height: 220px; z-index: 1; }
.fukidashi{ position: relative; z-index: 2; }
.case-maru {
  position: absolute;
  inset: auto;
  left: -10px;
  top: -65px;
  width: 230px;
  height: auto;
  display: block;
  filter: drop-shadow(0 4px 10px rgba(0,0,0,.05));
  animation: float 35s ease-in-out infinite; /* さらにゆっくり */
  transform-origin: center center; /* 回転・拡大の中心を固定 */
}

/* ゆっくりふわふわ＆回転・拡大縮小 */
@keyframes float {
  0%   { transform: translate(0, 0) rotate(0deg) scale(1); }
  20%  { transform: translate(8px, -10px) rotate(5deg) scale(1.05); }
  40%  { transform: translate(-6px, -4px) rotate(10deg) scale(1.02); }
  60%  { transform: translate(6px, 8px) rotate(15deg) scale(1.07); }
  80%  { transform: translate(-10px, 4px) rotate(10deg) scale(0.96); }
  100% { transform: translate(0, 0) rotate(0deg) scale(1); }
}
.case-hito{
  position: absolute;
  left: 40px; bottom: 0;
  width: 160px; height:auto; display:block;
}
.case-num {
    position: absolute;
    left: 24px;
    top: -30px;
    font-weight: 300;
    font-size: 2em;
    letter-spacing: .04em;
    color: #111;
    margin: 0;
	font-family: "Zen Maru Gothic", sans-serif;
}
.case-num span{
    font-size: 2em;
	font-family: "Zen Maru Gothic", sans-serif;
}
/* 丸と“かぶせる”距離だけ左に寄せる */
.fukidashi{
  margin-left: calc(var(--overlap) * -1);
  background:#fff;
  border-radius: 28px;
  box-shadow: 0 6px 24px rgba(0,0,0,.08);
}
/* 既存の吹き出し三角はそのままでOK */
.fukidashi::before{
  content:"";
  position:absolute; left:-12px; top:72px;
  width: 24px; height:24px; background:#fff;
  transform: rotate(45deg);
  border-radius: 6px;
  box-shadow: -6px 6px 16px rgba(0,0,0,.04);
}
.fukidashi-inner{ padding: 28px clamp(18px, 3vw, 36px); }

/* ====== 上段の3行（黒丸＋太字に見える行） ====== */
.facts{ list-style:none; padding:0; margin:0 0 14px; }
.facts li{
  display:flex; align-items:flex-start;
  gap: 10px; font-size: clamp(15px, 1.6vw, 18px);
  line-height: 1.7;
  font-weight: 700; color:#222;
}
.facts li::before{
  content:"●"; display:inline-block; transform: translateY(1px);
  font-weight: 900; font-size: 1.05em; color:#000;
}

/* ====== 文章ブロック（点線で区切り） ====== */
.dashed-group p{
  line-height: 1.9;
  text-decoration-line: underline;
  text-decoration-style: dashed;
  text-decoration-color: #bfc7cf;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.35em; /* 位置の微調整 */
  text-decoration-skip-ink: none; /* 文字が深くても欠けにくく */
}
/* 各段落の下に点線を敷く（最後の段落は消す） */
/* .dashed-group p::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:0;
  border-bottom: 2px dashed #bfc7cf;
} */
 @media (max-width: 1000px){
.pagemaintit h2 {
    font-size: 2.3em;
}
}
@media (max-width: 910px){
	.pagecopyh2 {
    font-size: 2em;
}
}
/* ====== レスポンシブ ====== */
@media (max-width: 860px){
	.contentareaflex {
    flex-direction: column;
}

.contentareaflex_in, .contentareaflex_in2 {
    width: 60%;
    padding: 20px 20%;
}
.contentareaflex_in::before ,.contentareaflex_in2::before {
    background-size: 60% auto;
}
  .case-wrap{
    grid-template-columns: 1fr;
    gap:18px;
  }
  .contentareaflex_in h3, .contentareaflex_in2 h3 {
    padding: 3px 15px;
    font-size: 1.5em;
}
  .case-visual{
    min-height: 200px;
    padding-top: 4px;
  }
  .case-maru{ width: 200px; left: -6px; top: -6px; }
  .case-hito{ width: 140px; left: 36px; }
  .fukidashi::before{ left: 40px; top: -12px; }
    .case-wrap{ grid-template-columns: 1fr; }
  .fukidashi{ margin-left: 0; }
}


.contactarea_in_logo{
	width: 20%;
	margin: 0 auto;
}
.contactarea_in_tl1{
	font-size: 1.5em;
}
.contactarea_in_tl2{
	font-size: 3em;
}
.button_contact {
    background-color: #ff8285;
    color: #fff;
    display: inline-block;
    width: 80%;
    font-size: 1.5em;
    padding: 10px;
    border-radius: 32px;
    transition: 1s;
}
.button_contact:hover {
    background-color: #eb636e;
    color: #fff;
    transition: 1s;
}
.fotlogoarea{
	width: 20%;
	margin: 0 auto;
}
.copyrights{
	background: #f3d0dd;
	text-align: center;
}
@keyframes morphRotate {
  0%   { transform: scale(1, 1) rotate(0deg); }
  25%  { transform: scale(1.1, 0.9) rotate(10deg); }
  50%  { transform: scale(0.9, 1.1) rotate(0deg); }
  75%  { transform: scale(1.05, 1.05) rotate(-10deg); }
  100% { transform: scale(1, 1) rotate(0deg); }
}
.contactarea{
	background: url(../images/common/contactimg.png);
	background-size: 100%;
	padding: 200px 0 100px 0;
	border-radius: 0 0 70px 70px;
}
.contactarea_in{
	background: rgb(255,255,255,0.8);
	width: 70%;
	padding: 50px 5%;
	margin-left: 10%;
	border-radius: 15px;
	text-align: center;
}
.flextop{
	display: flex;
	position: absolute;
	top: 50px;
	left: 0;
	width: 100%;
}
.flextop_in {
    width: 67%;
}
.flextop_in2 {
    width: 40%;
    margin-left: -7%;
}
.flextop_in3 {
    width: 40%;
}
.flextop_in4 {
    width: 50%;
	margin-left: 10%;
}
@supports (-ms-ime-align:auto) {
.back_meikou h2 {
	padding-left:50px;
  }
}

@media all and (-ms-high-contrast:none) {
.back_meikou h2 {
	padding-left:50px;
  }
}
@media all and (-ms-high-contrast:none) {
     *::-ms-backdrop, .back_meikou h2 {
	padding-left:50px;
  }
}
@media all and (-ms-high-contrast:none) {
.back_meikou h2 {
	padding-left:50px;
  }
}
.back_blak{
	background: rgb(0,0,0,0.7);
	background: rgba(0,0,0,0.7);
	position:absolute;
	top:0;
	left:0;
	width:200px;
	text-align:center !important;
	margin:0 auto !important;
	padding:10px;
	z-index:99;
}
.back_blak2{
	/*background: rgb(255,255,255,0.7);
	background: rgba(255,255,255,0.7);*/
	position:absolute;
	bottom:20px;
	font-size:0.9em;
	right:10px;
	width:20%;
	text-align:center !important;
	padding:10px;
}
.back_blak_moji{
	position:absolute;
	top:100px;
	line-height:200px;
	font-size:200px;
	right:10px;
	color:#CCC;
	font-family: "Noto Sans JP", serif, "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
}
.back_blak_moji2{
	position:absolute;
	top:100px;
	line-height:200px;
	font-size:200px;
	left:10px;
	color:#CCC;
	font-family: "Noto Sans JP", serif, "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
}

.back_blak3{
	background: rgb(0,0,0,0.7);
	background: rgba(0,0,0,0.7);
	position:absolute;
	top:0;
	right:0;
	width:200px;
	height:680px;
	text-align:center !important;
	padding:10px;
	z-index:99;
}
.back_blak4{
	/*background: rgb(255,255,255,0.7);
	background: rgba(255,255,255,0.7);*/
	position:absolute;
	bottom:20px;
	font-size:0.9em;
	left:10px;
	width:20%;
	text-align:center !important;
	padding:10px;
}

.back_blak2 p{
	text-align:left;
	font-size:1.2em;
}
.back_blak4 p{
	text-align:left;
	font-size:1.2em;
}
.top_kankyo p{
	color:#FFF;
}
.top_kankyo p strong{
	color:#FFF;
	font-size:1.2em;
	font-family: "Noto Sans JP", serif, "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
}
ul.four_box{
	margin:0 auto;
	margin-top:50px;
}
ul.four_box li{
	width:320px;
	height:320px;
	text-align:left;
	display:inline-block;
	vertical-align:top;
	position:relative;
}
ul.four_box li h3{
	text-align:left;
}
ul.four_box li.four_box1{
	background-image:url("../images/top/four_box.png");
	padding:20px 60px 60px 20px; 
}
ul.four_box li.four_box2{
	background-image:url("../images/top/four_box2.png");
	padding:20px 20px 60px 60px; 
}
ul.four_box li.four_box3{
	background-image:url("../images/top/four_box4.png");
	padding:80px 60px 0 20px; 
}
ul.four_box li.four_box4{
	background-image:url("../images/top/four_box3.png");
	padding:80px 20px 0 60px; 
}
.c_0{
	color:#666;
	border-bottom:solid #666 2px;
	margin-bottom:10px;
	padding-bottom:10px;
}
.c_1{
	color:#666;
	border-bottom:solid #C03 2px;
	margin-bottom:10px;
	padding-bottom:10px;
}
.c_2{
	color:#666;
	border-bottom:solid #F90 2px;
	margin-bottom:10px;
	padding-bottom:10px;
}
.c_3{
	color:#666;
	border-bottom:solid #36C 2px;
	margin-bottom:10px;
	padding-bottom:10px;
}
.c_4{
	color:#666;
	border-bottom:solid #099 2px;
	margin-bottom:10px;
	padding-bottom:10px;
}
.po_bottom{
	position:absolute;
	bottom:20px;
}
.po_bottom2{
	position:absolute;
	bottom:60px;
}
.hed_box{
/*	background-image:url("../images/top/hanabi.jpg");
*/	width:100%;
	position:relative;
	height:800px;
}


.top_content_for{
	position:relative;
	width:100%;
	height:400px;
	overflow:hidden;
}

.toGray{
	filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
	filter: gray;
	-webkit-filter: grayscale(100%);
	transition: 1.0s ;
	position:absolute;
	top:0;
	left:0;
}
.toGray:hover{
	filter: none;
	-webkit-filter: grayscale(0%);
  opacity: 1 !important;
  filter: alpha(opacity=100) !important;
  -ms-filter: "alpha(opacity=100)" !important;
}
.top_content_for_no{
	position:absolute;
	top:50px ;
	left:50px;
	z-index:9999 !important;
}
.top_content_for_no2{
	position:absolute;
	top:150px ;
	left:200px;
	z-index:9999 !important;
}
.back_concept{
	background-image:url("../images/top/back.jpg");
	background-size:100%;
}
.back_kankyo{
	background:url("../images/top/tatemono.jpg") no-repeat center center;
	background-size:cover;
	height:700px;
}
.back_meikou2{
	width: 80%;
	height: 700px;
	position:relative;
	top:0;
	left:-10%;
	overflow:hidden;
	/*-webkit-transform: skew(-20deg);
	-moz-transform: skew(-20deg);
	-o-transform: skew(-20deg);
	transform: skew(-20deg);*/
	z-index:8;
}
.back_meikou2 img{
	float:right;
	width:100%;
}
@media screen and (max-width: 1100px) {
	.pagemainimg {
    width: 59%;
}
.pagemaintit {
    left: 60%;
}
	.contactarea_in_logo {
    width: 35%;
}
.top_logo {
	top: 60% !important;
    width: 70% !important;
}
.top_logo img{
    width: 80% !important;
	margin-left: 10% !important;
}
.top_logo h2{
	text-shadow:
       2px 2px 0 #fff,
      -2px 2px 0 #fff,
       2px -2px 0 #fff,
      -2px -2px 0 #fff,
       2px 0px 0 #fff,
       0px 2px 0 #fff,
      -2px 0px 0 #fff,
       0px -2px 0 #fff;
}
}
@media screen and (max-width: 900px) {
.button_contact {
    font-size: 1.2em;
}
.contactarea_in {
    width: 80%;
    padding: 22px 5%;
    margin-left: 5%;
}
}
@media screen and (max-width: 850px) {
#header {
    display: none;
}
#header2 {
	width:100%;
    padding-top: 140%;
	position:relative;
	overflow:hidden;
}
}

@media screen and (max-width: 1450px) {
.back_meikou2 img{
	width:auto;
	height:100%;
}
.back_gijutsu2 img{
	width:auto;
	height:100%;
}
}
.back_gijutsu2{
	width: 80%;
	height: 700px;
	position:relative;
	top:0;
	right:-30% !important;
	overflow:hidden;
	/*-webkit-transform: skew(20deg);
	-moz-transform: skew(20deg);
	-o-transform: skew(20deg);
	transform: skew(20deg);*/
	z-index:8;
}
.back_gijutsu2 img{
	float:right;
	width:100%;
}
/*.back_gijutsu2 img{
	-webkit-transform: skew(-20deg);
	-moz-transform: skew(-20deg);
	-o-transform: skew(-20deg);
	transform: skew(-20deg);
}*/
.back_meikou{
	/*background-image:url("../images/top/cover_meikou.png");
	background-repeat:no-repeat;
	background-size:100% 100%;*/
	position:relative;
	width:100%;
	height:700px;
	overflow:hidden;
}
.event_on,.event_on2,.event_on3,.event_on4{
	position:absolute;
	top:45px !important;
	right:200px !important;
	z-index:9999 !important;
	padding:20px;
	width:270px;
	height:270px;
	background-image:url("../images/top/top_back.png");
	display:none;
}
.event_on p,.event_on2 p,.event_on3 p,.event_on4 p{
	color:#333;
}
.top_tit{
	position:absolute;
	top:50%;
	right:5%;
	width:80%;
}
.top_logo{
    position: absolute;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	width: 45%;
    z-index: 999!important;
}
.top_logo h2{
	margin-top: 20px;
	text-align: center;
}
.newsdl dt img {
    width: 100%!important;
    height: auto!important;
}
.newsdl {
    display: flex!important;
    flex-wrap: wrap!important;
    border-bottom: solid #666 1px;
    padding-bottom: 10px;
    padding-top: 10px;
}
.newsdl dt {
    width: 30%!important;
    float: none!important;
}
.top_content_flex{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: space-between;
}
.top_content_flex2{
    width: 90%;
    flex-wrap: wrap;
    justify-content: space-between;
}
.line_top{
    width: 80%;
    height: 2px;
    overflow: hidden;
    position: relative;
}
.line_top_in{
    width: 100%;
    background: #000;
    height: 100px;
}
.line_top2{
    width: 80%;
    margin-left: 20%;
    height: 2px;
    overflow: hidden;
    position: relative;
}
.line_top_in2{
    width: 100%;
    background: #000;
    height: 100px;
}
.line_top3{
    width: 80%;
    margin: 50px 10%;
}
.top_content_flex_in1 {
    width: 10%;
    /*margin-right: 2%;*/
}
.service_tit_ov_in1{
    background: #666;
    width: 100%;
    height: 100%;
    position: absolute;
}
.service_tit_ov_in2{
    background: #fff;
    width: 100%;
    height: 100%;
    position: absolute;
}
.service_tit_ov_in3{
    position: absolute;
    top: 0;
    left: 0;
}
.service_tit_ov{
    overflow: hidden;
    width: 100%;
    height: 100%;
    position: relative;
}
.top_content_flex_in2 {
    width: 38%;
    position: relative;
    margin-left: 2%;
    overflow: hidden;
    background: #000;
}
.top_content_flex_in2 img{
    position:absolute;
    height:  100%;
}
.top_content_flex_in2 p{
    position:absolute;
    background: rgb(0,0,0,0.6);
    padding: 4px 12px;
    font-size: 1.3em;
    bottom: 5%;
    right: 0;
    color: #fff;
}

.top_content_flex_in3 {
    width: 48%;
    margin-left: 2%;
}
.top_content_flex_in4 {
    width: 49%;
    position: relative;
    margin-bottom: 20px;
    height: auto;
    /* height: 220px; */
    padding-top: 26%;
    overflow: hidden;
    background: #000;
}
.top_content_flex_in4 img {
    position: absolute;
    /* height: 120%; */
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.top_content_flex_in4 p, .top_content_flex_in6 p, .top_content_flex_in5 p {
    position: absolute;
    background: rgb(0,0,0,0.6);
    padding: 20px 16px;
    font-size: 1.3em;
    transform: translateY(-50%);
    top: 50%;
    margin: auto;
    width: 50%;
    color: #fff;
    transition: 1S;
}
.top_content_flex_in4:hover p, .top_content_flex_in6 p, .top_content_flex_in5 p {
    width: 100%;
    padding: 100vh 50px;
    transition: 1S;
}
.top_content_flex_in6{
    width: 48%;
    margin-left: 4%;
    position: relative;
    height: 220px;
    overflow: hidden;
    background: #000;
}
.top_content_flex_in6 img {
    position: absolute;
    height:120%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.top_content_flex_in5{
    width: 100%;
    position: relative;
    height: 200px;
    overflow: hidden;
    margin-top: 25px;
    background: #000;
}
.top_content_flex_in5 img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 100%;
}

.newsdl dd {
    width: 65%!important;
    float: none!important;
    margin-left: 5%!important;
    padding-left: 0!important;
    border-bottom: none!important;
}
.logo_icon{
    width: 20%;
    margin-left: 40%;
}
.top_logo p{
	color:#FFF;
	margin-top:10px;
}
.top_logo p a{
	color:#FFF;
}
.top_copy{
	position:absolute;
	top:5%;
	right:5%;
	width:80px;
}

.w_1200{
	width:1200px;
	margin:0 auto;
	padding:20px 0;
}
table{
	border-spacing: 0 20px; 
}
table td.news_list1{
	width: 10%;
	font-size: 0.8em;
}
table td.news_list2{
	width: 15%;
	color: #fff;
	text-align: center;
	background-color: #1f2b63;
}
table td.news_list4{
	width: 15%;
	color: #fff;
	text-align: center;
	background-color: #f18f5c;
}
table td.news_list3{
	width: 73%;
	padding-left: 2%;
	text-align: left;
}
ul.news{
	display:inline-block;
}
ul.news li span.day{
	font-size: 0.8em;
	display: block;
	float: left;
}
ul.news li {
	display: block;
	margin-bottom: 15px;
}

ul.news li span.cate{
	background-color: #1f2b63;
	width: 150px;
	display: block;
	float: left;
	color: #fff;
	text-align: center;
}
ul.news li span.cate2{
	background-color: #f18f5c;
	width: 150px;
	display: block;
	float: left;
	color: #fff;
	text-align: center;
}


.w_back{
	background-color:#FFF;
	width:100%;
	height:auto;
}
.w_back img{
	width:90%;
	padding:50px 5% 50px 5%;
}
.top_content_box_l{
	float:left;
}
.top_content_box_r{
	float:right;
	margin-left:20px;
}
.top_content_box1{
	width:700px;
	height:700px;
	border:solid #FFF 5px;
}
.top_content_box2{
	float:left;
	width:335px;
	height:250px;
	border:solid #FFF 5px;
	margin-top:20px !important;
	margin-right:20px !important;
}
.top_content_box3{
	float:left;
	width:335px;
	height:250px;
	border:solid #FFF 5px;
	margin-top:20px !important;
}
.top_content_box4{
	width:460px;
	height:307px;
	border:solid #FFF 5px;
}
.top_content_box5{
	width:460px;
	margin-top:20px !important;
	height:307px;
	border:solid #FFF 5px;
}
.news_t{
	display:inline-block;
	vertical-align:bottom;
}
p.news_t a{
	color:#FFF;
}
p.news_t a:hover{
	color:#FF9;
}
p.news_t a:hover i{
	color:#FF9;
}

.top_logo_sp{
	display:none;
}

/***************業務内容**********************/
.kopage{
	border-top:solid #006 10px;
	width:100%;
	position:relative;
}
.kopage img{
	width:100%;
}
.kopage p{
	position:absolute;
	left:5%;
	top:0;
	width:auto;
	font-size:2em;
	background: rgb(0,0,122,0.7);
	background: rgba(0,0,122,0.7);
	letter-spacing:25px;
	padding:20px;
	text-align:center;
	color:#FFF;
	/*transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);*/
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
img.page_tit_img{
	width:100%;
	z-index:-2 !important;
}
h3.page_tit{
	position:relative;
	padding:20px 10px;
	text-align:left;
	color:#000;
	width:auto;
	height:250px;
    font-weight: 100;
    letter-spacing: revert;
	font-size:1.7em;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	z-index:99 !important;
	font-family: "Noto Sans JP", serif, "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
}
th {
    text-align: left;
    padding-right: 10px;
    border-right: solid;
}
td {
    padding-left: 20px;
}
p.page_p{
	float:left;
	text-align:left;
	width:370px;
	margin-left:50px;
	margin-top:50px;
}
.nav_area{
	display:flex;
    align-items: center;
        height: 60px;
	flex-wrap:wrap;
	justify-content:space-between;
}
.works_area{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items: center;
	overflow: hidden;
}
#loopslider {
	margin: 0 auto;
	width: 100%!important;
	text-align: left;
	position: relative;
	z-index:0;
}
#loopslider ul {
	float: left;
	display: inline;
}

#loopslider ul li {
	width: 50%!important;
	float: left;
	display: inline;
}
#loopslider ul li img{
	width: 100%!important;
}
.work_flex{
	display: flex;
    justify-content:space-around;
}
.work_flex_in{
    width: 40%;
}
.work_flex_in{
	width: 40%;
}
.work_flex_in2{
	width: 75%;
	margin-left: -5%;
}
.work_flex_in3{
	background:rgb(255,255,255,0.8); 
	padding: 50px 5%;
	box-shadow: 12px 12px 0px 0 rgb(0, 0, 0);
	margin-bottom: 30px;
}
.work_cl_flex{
    display: flex;
    justify-content: space-between;
}
.work_cl1{
    width: 35%;
}
.work_cl2{
    width: 60%;
}
.work_flex_in4{
	background:rgb(255,255,255,0.8); 
	padding: 30px 5%;
	box-shadow: 12px 12px 0px 0 rgb(31, 43, 99);
	margin-bottom: 30px;
}
.flexbox_page_in2{
	width:42%;
	padding: 40px 3%;
	border: solid #112E81 1px;
	margin-bottom: 20px;
}
.work_flex_in4 h2{
	text-align: left;
	font-size: 1.5em;
	color: #1F2B63;
}
.work_flex_in3 h3{
	text-align: left;
	color: #333;
	font-size: 1.3em;
}
.works{
	width:33%;
	position: relative;
	background-color: #1F2E6D;
	margin-bottom: 10px;
}
.works a img{
	opacity: 0.5;
	transition-duration: 0.5s;
}
.works a:hover{
	opacity: 1;
}
.works a:hover img{
	opacity: 1;
	transition-duration: 0.5s;
}
.works p{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	text-align: center;
	opacity: 1;
	color: #fff;
	font-size: 1.1em;
	transition-duration: 0.5s;
	font-weight: bold;
}
.works p span{
	font-size: 0.6em;
	color: #fff;
}
.works a:hover p{
	transition-duration: 0.5s;
	background: rgb(31,43,99,0.6);
	/*background-color: #1f2b63;*/
	padding: 10px;
}
table.linetable{
	width: 100%;
	vertical-align: top;
}

table.linetable th{
  position: relative;
  text-align: left;
  width: 20%;
	vertical-align: top;
}

table.linetable th:after{
  display: block;
  content: "";
  width: 30px;
  height: 2px;
  background-color: #333;
  position: absolute;
  top:10px;
  right:20px;
	vertical-align: top;
}
.page_tit_svg{
	width: 25%;
	margin: 0 auto!important;
}
.page_conte h2{
	text-align: left;
	color: #1D2A5F;
	font-size: 1.5em;
}
.page_conte h3{
	text-align: left;
}
.page_conte{
	margin-bottom: 50px;
}
table.linetable td{
  text-align: left;
  width: 85%;
	vertical-align: top;
}
.flexbox{
	display:flex;
	flex-wrap:wrap;
}
.flexbox2{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-around;
}
.nav_icon a{
    margin: 10px 8px;
}
.flexbox_fot_mail{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items: center;
}
.jigyousho_flex{
    display: flex;
    gap: 30px 20px;
    flex-wrap: wrap;
}
.jigyousho{
    border: solid #666 1px;
    padding: 2%;
    width: 44%;
}
.jigyousho_h3{
    font-size: 1.3em;
    text-align: left;
    border-bottom: solid #666 2px;
    padding-bottom: 0;
    margin-bottom: 10px;
    font-weight: bold;
}
.jigyousho_tel{
    font-size: 1.5em;
    font-weight: bold;
}
.jigyousho_tel i{
    font-weight: bold;
    color: #000;
    font-size: 1em;
}
.copage_img{
    width: 47%;
}
.sam_img img{
	width: 100%;
	height: auto;
}
span.page-numbers.current {
    background: #666;
    color: #fff;
    border: solid #666 1px;
    padding: 1px 10px;
}
a.page-numbers {
    border: solid #666 1px;
    padding: 1px 10px;
}
a.next.page-numbers {
    border: none;
}
.flexbox_fot{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}
.flexbox_fot_mail_in1{
	width: 31%;
	box-shadow: 0 0px 12px rgba(0, 0, 0, 0.2);
	background:#969;
}
.flexbox_fot_mail_in1 a img{
	transition: 1s;
	transform: rotate(0deg);
}
.flexbox_fot_mail_in1:hover a img{
	opacity: 1;
	transform: rotate(2deg);
}
.flexbox_nav_content{
	width: 18%;
    padding: 5px 1%;
}
.flexbox_fot_mail_in2{
	width: 35%;
    padding-right: 5%;
}
.flexbox_fot_mail_in3{
    padding-left: 5%;
	width: 54%;
    border-left: solid #fff 1px;
}
.flexbox_fot_in1{
	width:30%;
	padding: 1%;
}
.flexbox_jisseki_in1{
	width:30%;
	padding: 1%;
}
.swiper-container {
  width: 100%;
    position: relative;
    padding-top: 0;

    overflow: hidden;
}
.ovhiden{
    overflow: hidden !important;
}
/* サムネイルのスタイル */
.thumbnail .swiper-container {
  opacity: 0.5!important;
}
.swiper-container2 ,.swiper-container3{
    width: 100%;
    position: relative;
    padding-top: 0;
    display: flex;
}

.top_line_deza p {
    border-left: solid #666 3px;
    padding-top: 20px;
    padding-left: 10px;
    margin-left: 20px;
    margin-top: -15px;
    /* z-index: 9999; */
    position: absolute;
}
.wp-block-image img{
	width: 100%;
}
.page_top_img{
	z-index: -9!important;
}
h3.page_tit2 {
    padding: 1rem 2rem;
    width: 83%;
    text-align: left;
    font-weight: bold;
    margin-top: -35px;
    margin-left: 6%;
    color: #fff;
    transform: skew(0deg);
    /* transform: skew(-15deg); */
    background-image: linear-gradient(to right, #112E81 0%, #7885aa 100%);
}
h3.page_tit4 {
    padding: 1rem 2%;
    width:96%;
    text-align: left;
    font-weight: bold;
    color: #fff;
    background-image: linear-gradient(to right, #112E81 0%, #7885aa 100%);
}

h3.page_tit3{
	padding: 1rem 2rem;
    width: 80%;
    margin-top: -35px;
    margin-left: 8%;
	color: #fff;
	transform: skew(-15deg);
	background-image: linear-gradient(to right, #ad5e9f 0%, #d277c2 100%);
}
ul.privacy_li li{
    list-style: inside;
}
.line_buru{
    background: #E7E6EC;
    width: 100%;
    height: 100px;
}
.line_buru2{
    background: #f5e4f2;
    width: 100%;
    height: 100px;
}
.flexbox_page_p{
    width: 80%;
}
.flexbox_fot_in2{
	width:57%;
	padding-left: 3%;
}
.flexbox_fot_in2 p{
	position:relative;
}
.flexbox_fot_in2 p a.site_line{
	padding-left: 55px;
	color: #1f2b63;
	font-weight: 600;
}
.flexbox_fot_in2 p a{
	color: #1f2b63;
	font-weight: 600;
}
.flexbox_fot_in2 p{
	color: #1f2b63;
	font-weight: 600;
	font-size: 0.7em;
}
.flexbox_fot_in2 p span{
	margin-left: 55px;
}
flex_box::before{
	content: '';
	background: #1f2b63;
	height: 2px;
	width: 40px;
	position: absolute;
    top: 44%;
	margin-right: 15px;
}
.news_tit{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.news_tit h2{
	text-align: left;
	font-size: 1.5em;
}
.news_tit h2 span{
	font-weight: 100;
	font-size: 0.7em;
	color: #1f2b63;
}
.page_tit{
    font-size: 1.3em;
}
.mt_-40{
    margin-top: -40px;
}
.links{
	text-align: right;
	font-size: 1em;
	color: #1f2b63;
	padding: 0 15px;
}
.links2{
	text-align: left;
	display: inline-block;
	font-size: 1em;
	color: #fff;
	border-bottom: solid #fff 1px;
	padding: 0 15px;
}
.links2 a{
	color: #fff;
}
.mein_content_kopage{
    width: 85%;
    height: auto;
    margin: 0 auto !important;
    padding: 30px 0 100px 0;
}
.mein_content3 .achievement_tit{
    margin-top: 40px!important;
    margin-bottom: 10px;
}
.achievement_tit{
    margin-top: -40px;
    width: 30%;
    margin-left: 35%;
}
.achievement_tit{
    width: 30%;
    margin-left: 35%;
    margin-top: -40px;
}
.flexbox_box{
	width:45%;
	padding:2%;
}
.flexbox_box_3{
	width:29%;
	padding:1%;
}
.link_bnr_flex{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    width: 90%;
    margin-left: 5%;

    margin-bottom: 50px;
}
.link_bnr{
	width:17%;
    padding: 10px 0;
}
.flexbox_box_4{
	width:auto;
	padding:1%;
}
table.gaiyou{
	width:1000px;
	margin:0 auto;
	font-size:0.8em;
}
table.gaiyou2{
	font-size:1em !important;
}
/*thead.scrollHead,tbody.scrollBody{
	display:block;
}
tbody.scrollBody{
  overflow-y:scroll;
  height:1000px;
}*/
table.gaiyou th{
	border-bottom:solid #006 2px;
	padding-top:8px;
}
table.gaiyou td{
	border-bottom:solid #999 2px;
	text-align:left;
	padding-left:20px;
	padding-top:8px;
}
.shoukai{
	border-bottom:dashed #999 1px;
	border-top:dashed #999 1px;
	padding:20px 0;
	margin:20px 0;
}
.news_list{
	border-bottom:dashed #999 1px;
	padding:20px 0;
	margin:20px 0;
}
.news_list_img_box{
	width:35%;
	float:left;
}
.news_list_p_box{
	width:60%;
	float:right;
	text-align:left;
}
.shoukai img{
	float:left;
	width:200px;
}
.shoukai_p{
	float:left;
	padding-left:20px;
	font-size:1.1em;
	width:950px;
}
.shoukai_p2{
	text-align:left;
}
.shoukai_p3{
	text-align:left;
	font-size:0.9em;
	font-weight:bold;
	margin-top:20px;
}
.shoukai_p3 strong{
	font-size:1.3em;
}
h2.page_tit_h2{
	font-size:2em;
	padding-bottom:30px;
}
h4.oubo{
	border-top:solid #666 1px;
	border-bottom:solid #666 1px;
	padding:20px 0;
	margin-top:40px;
	margin-bottom:20px;
}
.recruit_box{
	float:left;
	width:550px;
}
.recruit_box2{
	float:right;
	width:550px;
}
.recruit_box p,.recruit_box2 p{
	text-align:left;
	font-weight:bold;
	font-size:1.3em;
	margin-bottom:15px;
}
table.recruit_table{
	margin-bottom:30px;
}
table.recruit_table th{
	width:120px;
	text-align:left;
	vertical-align:top;
}
table.recruit_table td{
	width:430px;
	text-align:left;
}
.gaiyou_w{
	width:15%;
}
td span{
	color:#03C;
	font-weight:bold;
}
ul.mail_form{
	width:800px;
	margin:0 auto;
}
.form_tit{
	text-align:left;
}
input.form_t_area,textarea.form_t_area{
	width:100%;
	font-size:16px !important;
	margin-bottom:20px;
}
@media screen and (max-width: 1100px) {

.work_cl_flex{
    flex-direction: column;
}
.work_cl1{
    width: 100%;
    margin-bottom: 20px;
}
.work_cl2{
    width: 100%;
}

@media screen and (max-width: 920px) {

.jigyousho_flex {
    gap: 30px 20px;
    flex-direction: column;
}
    .jigyousho {
    border: solid #666 1px;
    padding: 2%;
    width: 95%;
}
    }
@media screen and (max-width: 1600px) {

table.linetable th{
  width: 30%;
}
}
@media screen and (max-width: 1350px) {
.pc_none_tab{
	display:block;
}
.section-wrapper{
	display:none;
}

}

.back_news{
    width: 90%;
}

.back_news div{
    width: 94%;
    padding: 10px 4% 10px 2%;
    transition: 1s;
    border-bottom: solid #666 1px;
}
.back_news a p{
    border-bottom: solid #666 1px;
}
.back_news div:hover{
    width: 94%;
    padding: 10px 4% 10px 2%;
    background: #E7E6EC;
    transition: 1s;
}
@media screen and (max-width: 1100px) {
.page_tit_svg{
	width: 35%;
}
    h3.page_tit2 {
    margin-left: 5%;
}
    h3.page_tit3{
    margin-left: 5%;
}

	.sp_pt_70{
		padding-top: 51px;
	}
/***************業務内容**********************/
.tab_none{
	display:none;
}
.top_tit img{
	width:100%
}
.top_content_for{
	position:relative;
	width:100%;
	height:300px;
	overflow:hidden;
}
.top_content_for_no{
	top:50px ;
	left:50px;
	height:100px;
	z-index:9999 !important;
}
.top_content_for_no2{
	top:50px ;
	left:100px;
	z-index:9999 !important;
	height:100px;
}
.event_on,.event_on2,.event_on3,.event_on4{
	top:25px !important;
	right:50px !important;
	padding:20px;
	width:250px;
	height:auto;
	background-image:url("../images/top/top_back.png");
}
ul.news_box{
	width:100%;
}
.section{
	height:400px !important;
}
.service_content_for{
	height:400px !important;
}
.service_content_for_box{
	top:150px;
	left:50px;
	width:65%;
}
.header_page{
	margin-top:60px;
	height:400px !important;
}
table.gaiyou{
	width:100%;
	margin:0 auto;
	font-size:0.8em;
}
ul.mail_form{
	width:100%;
}
h3.page_tit{
	padding:10px 1px;
	height:250px;
	font-size:1.5em;
	margin-top:-25px;
	margin-left:20px;
}
p.page_p{
	float:left;
	text-align:left;
	width : -webkit-calc(100% - 100px) ;
	width : calc(100% - 100px) ;
	margin-left:20px;
	margin-top:20px;
}
table.linetable th:after{
  display: none;
}
table.linetable th{
	position: relative;
	text-align: left;
	width: 20%;
	vertical-align: top;
}
table.linetable td{
  text-align: left;
  width: 80%;
	vertical-align: top;
}
}
.wpcf7-form-control{
	width: 100%;
}
@media screen and (max-width: 1000px) {
.nav_list2 {
    display: flex;
    justify-content: end;
    width: 79%;
    height: 60px;
    align-items: center;
}
	.flexbox_fot_mail_in2 {
		width: 41%;
        padding-left: 0;
	}
    .flexbox_fot_mail_in3{
        width: 48%;
    }
    .none1000{
        display: none;
    }
    .fot_logo {
    width: 50%;
    margin-left: 25%;
}
	.serviceflex{
	flex-direction: column;
}
.serviceflexin{
	width: 90%;
}
.serviceflexin2{
	width: 90%;
	
}
}
@media screen and (max-width: 768px) {


	img.moyou5 {
    right: 1%;
    width: 48%;
}
	.flextop {
    flex-direction: column;
}
.flextop_in {
    width: 60%;
	margin-left: 20%;
}
.flextop_in2 {
    width: 100%;
    margin-left: 0;
	margin-top: 20px;
}
.dispore {
    padding-top: 100%;
}

.flextop_in3 {
	width: 100%;
	order: 1;
	margin-top: 20px;
}
.flextop_in4 {
    width: 60%;
	margin-left: 20%;
}
.servicebox{
    flex-direction: column;
    background: #E7E6EC;
}
    .colum{
        flex-direction: column;
    }
.servicebox_img{
    width: 100%;
}
.servicebox_p{
    width: 90%;
    padding:20px 5%;
}
   
    .side_content {
        flex-direction: column;
}
    .widget--sticky {
    display: flex;
        align-content: flex-start;
        flex-wrap: wrap;
}
    .side_content_right {
    width: 100%;
}
    .widget--sticky a{
        width: 48%;
            margin-right: 2%;
    }
    .side_content_left {
    width: 96%;
    padding: 10px 2%;
    background: #fff;
}
	.flexbox_fot_in2{
		display: none;
	}
	.page_tit_svg{
	width: 60%;
}
	.works p {
    font-size: 0.7em;
    line-height: 1.2em;
}
	.sp_mt70{
		margin-top: 70px;
	}
.kopage p{
	top:70px;
	letter-spacing:5px;
	font-size:1em;
}
.blok_info {
    display: inline-block;
	width: 100%;
}
.blok_info p.list_tit_info{
    background: #1a408d;
    color: #fff;
    padding: 1px 10px;
	width: 30%;
    border-radius: 5px;
}
.blok_info p{
	font-size: 0.8em;
}

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

.work_flex {
    display: flex;
	flex-direction: column;
}
.work_flex_in{
	width: 100%;
}
.work_flex_in2{
	width: 100%;
	margin-left: 0;
}
	table td.news_list1 {
		width: 10%;
	}
	table td.news_list2 {
		width: 40%;
	}
	table td.news_list3 {
		width: 96%;
		padding-left: 2%;
		text-align: left;
	}
	.flexbox_fot_in1{
		width: 80%;
	}
	.flexbox_jisseki_in1{
		width: 100%;
	}
	.flexbox_box_3{
		width: 100%;
	}
	h4.fot_contact {
		font-size: 1em;
		letter-spacing: 2px;
	}
.news_list_p_box{
	width:100%;
	float:none;
	text-align:left;
}
.sp_100{
	width: 100%;
}
    
.sp_50{
	width: 48%;
}
.news_list_img_box {
    width: 100%;
    float: none;
}
.flexbox_box_4{
	width:60%;
	padding:0 0 0 40%;
	margin-bottom:10px;
	padding-bottom:0  !important;
}

.top_kankyo2{
	padding:100px 50px;
	width:600px;
}
/*#header{
	min-width:100%;
	margin-top:60px;
	width:100%;
	position:relative;
	height:500px !important;
}*/
/*.top_blok{
	height:500px !important;
}*/
.top_copy img{
	width:50px;
	z-index:9999 !important;
}
.back_blak3{
	width:100px;
}
.back_blak{
	width:100px;
}
.back_meikou h2{
	line-height:10px;
}
.back_meikou h3{
	line-height:30px;
}

.back_blak2{
	width:25%;
	background: rgb(0,0,0,0.7);
	background: rgba(0,0,0,0.7);
	padding:10px;
}
.back_blak4{
	width:25%;
	background: rgb(0,0,0,0.7);
	background: rgba(0,0,0,0.7);
	padding:10px;
}
.back_blak2 p,.back_blak4 p{
	color:#FFF !important;
}
.back_meikou2{
	width: 100%;
	left:0 !important;
	z-index:0 !important;
}
.back_gijutsu2{
	width: 100%;
	right:0 !important;
	z-index:0 !important;
}
.shoukai img{
	float:none;
	width:60%;
}

.shoukai_p{
	float:none;
	padding-left:0;
	width:98%;
}
td {
    padding-left: 5px;
}
h3.page_tit {
    padding: 2px 4%;
    width: 91%;
    margin-bottom: 20px;
    height: auto;
    font-size: 1em;
    margin-top: -25px;
    margin-left: 0;
    writing-mode: horizontal-tb;
}
.flexbox_page_p {
    width: 100%;
}
p.page_p{
	float:left;
	text-align:left;
	width : -webkit-calc(100% - 100px) ;
	width : calc(100% - 100px) ;
	margin-left:20px;
	margin-top:20px;
}
    .page_img_tit {
    height: 26%;
}
.recruit_box{
	float:none;
	width:96%;
	margin-left:2%;
}
.recruit_box2{
	float:none;
	width:96%;
	margin-left:2%;
}

}
.onsen_tit_sp{
        display: none;
    }
@media screen and (max-width: 1100px) {
    .top_content_flex_in3 {
    width: 57%;
}
    .onsen_tit_sp{
        display: block;
    }

    .top_content_flex_in5 {
    height: 130px;
}
    .top_content_flex_in6 {
    height: 170px;
}
.top_content_flex_in4 p, .top_content_flex_in6 p, .top_content_flex_in5 p {
    font-size: 1em;
}
.top_content_flex_in2 p {
    font-size: 1em;
}
}
@media screen and (max-width: 840px) {
}
.nav_common{
    display: none!important;
}
}
@media screen and (max-width: 640px) {
	    .pagemainimg {
        z-index: -1;
    }
	.nagare span {
    width: 90px;
}
	.page .dispore {
    padding-top: 100%;
	        overflow: hidden;
}
    .contentareaflex_in::before, .contentareaflex_in2::before {
        background-size: 94% auto;
    }
        .pagemaintit {
        position: absolute;
        top: 60%;
        left: 14%;
        transform: inherit;
    }
    img.moyou6 {
        top: 51%;
        right: 48%;
        width: 52%;
    }
    img.moyou5 {
        top: 48%;
        right: 2%;
        display: block;
        width: 66%;
    }
.pagemainimg {
        width: 100%;
    }
	.contentareagraytit h2 {
    font-size: 2em;
}
    .pagecopyh2 {
        font-size: 1.8em;
    }
.contentareagraytit h3 {
    font-size: 1.6em;
	margin-top: 5px;
}
    .contentareaflex_in, .contentareaflex_in2 {
        width: 100%;
        padding: 20px 0%;
    }
	.flextop_in {
    width: 80%;
	margin-left: 10%;
}
.contactarea {
    padding: 120px 0 60px 0;
	        margin-top: 30px;
}
        .dispore {
            padding-top: 127%;
        }
        .flextop_in4 {
             width: 80%;
	margin-left: 10%;
        }
    .clean_imgflex{
        width: 100%;
        margin-bottom: 20px;
    }
	.contactarea_in_logo {
        width: 56%;
    }
	.button_contact {
    width: 94%;
    font-size: 1.1em;
    padding: 10px 3%;
}
.contactarea_in_tl1 {
    font-size: 1.1em;
}
.contactarea_in_tl2 {
    font-size: 2em;
}
    .coomun{
        flex-direction: column!important;
    }
    .hoge_spw{
     width: 45%!important;
    margin-bottom: 0px!important;
}
    .mein_content4_sp{
            padding: 24px 5% 60px 5%!important;
    }
    h3.page_tit4 {
    padding: 6px 5%;
    width: 90%;
}
    table.table_style th {
    position: relative;
    text-align: left;
    width: 92%;
    padding-left: 2%;
    border-right: none!important;
        
}  
 table.table_style th:after {
    display: none;
}
    table.table_style td {
    text-align: left;
    padding:0 0 0 2%;
    width: 100%;
        margin-bottom: 0!important;
}
     table.table_style tr {
    margin-bottom: 10px!important;
}

  .sp_nav_logo {
    width: 18%;
    position: absolute;
    top: 5px;
    left: 14px;
}


.sp_nav_top {
    position: fixed;
    display: block;
    top: 0;
    left: 0;
    z-index: 100000 !important;
}
h3.page_tit2 {
    padding: 4px 4%;
    width: 84%;
    margin-left: 4%;
    line-height: 1.7;
}
	.flexbox_fot_mail_in2 {
		width: 90%;
        padding-left: 0;
	}
.flexbox_fot_mail_in3 {
    width: 90%;
    border-left:none;
    padding-left: 0%;
    margin-top: 20px;
}
.page_img {
    margin-top: 70px;
}
h3.page_tit3 {
    padding: 1px 0;
    width: 91%;
    margin-left: 4%;
}
th {
    padding-right: 0;
    border-right: none;
}
    .top_content_flex_in4 {
    width: 94%;
    padding-top: 37%;
}
    .back_news{
        width: 100%!important;
    }
    	.flexbox_fot_mail_in1 {
		width: 100%;
        margin-bottom: 20px;
	}
    .achievement_tit {
    width: 50%!important;
    margin-left: 25%!important;
    padding-top: 21px!important;
    margin-bottom: 30px;
}
.mein_content3 .achievement_tit {
    margin-top: 20px!important;
    margin-bottom: 10px!important;
}
td {
    margin-bottom: 20px;
}
.nav_common{
    display: none!important;
}
.sp_nav_top {
    display: block;
}
    .top_content_flex_in2 p, .top_content_flex_in4 p, .top_content_flex_in6 p, .top_content_flex_in5 p {
    font-size: 1em;
        padding: 0 5px;
}
    .top_content_flex_in4 p, .top_content_flex_in6 p, .top_content_flex_in5 p {
    width: 80%!important;
}
    .line_top3 {
    width: 100%;
    margin: 24px 0%;
}
    .mein_content2 {
    padding: 70px 0;
}
#height{
    overflow: hidden;
}
    .top_logo{
        width: 60%;
        top: 60%;
    }
.works_area .fadeInRight {
    -webkit-animation-name: none;
    animation-name: none;
}
.works_area .fadeInLeft {
    -webkit-animation-name: none;
    animation-name: none;
}
.flexbox_box_3-1{
	width:80%;
	padding:1%;
}
	.page_tit h2{
		font-size: 1.5em;
	}
	img.page_hed_img_top{
		margin-top: 55px;
	}
	.page_tit {
		padding:9px 15px;
	}
table.linetable th{
	width: 100%;
}
.work_flex_in3{
	background:rgb(255,255,255,0.8); 
	padding: 20px 5%;
	box-shadow: none;
	margin-bottom: 30px;
}
.work_flex_in4{
	background:rgb(255,255,255,0.8); 
	padding: 10px 5%;
	box-shadow: none;
	margin-bottom: 0;
}
.flexbox_page_in2{
	width: 94%;
    padding: 25px 3%;
}

table.linetable td{
	width: 100%;
	margin-bottom: 30px;
}

.gaiyou_w{
	width:100%;
}
table.recruit_table th{
	width:100%;
	text-align:left;
	vertical-align:top;
}
table.recruit_table td{
	width:100%;
	text-align:left;
}
/*#header{
	min-width:100%;
	margin-top:60px;
	width:100%;
	position:relative;
	height:350px !important;
}*/
.back_kankyo{
	background:none;
	background-size:100%;
	height:auto;
	position:static;
}
.top_kankyo{
	background-image:none;
	background-size:100% 100% ;
	background-repeat:no-repeat;
	height:auto;
}
.top_kankyo2{
	padding:20px;
	width:800px;
	position:static;
}
.top_kankyo2 h3{
	background: rgb(0,0,0,0.7);
	background: rgba(0,0,0,0.7);
	font-size:1em;
	position:static;
	height:auto;
	top:80px;
	left:10px;
	float:left;
	z-index:9999 !important;
}
.top_kankyo2 p{
	color:#666;
	position:static;
	top:200px;
	right:10px;
	width:85%;
	font-size:0.8em;
	line-height:15px;
	float:right;
	margin-bottom:40px;
}
.top_kankyo2 p strong{
	color:#666;
}
.header_page{
	margin-top:60px;
	height:150px !important;
}
/*.top_blok{
	height:350px !important;
}
.top_blok img{
	height:100% !important;
	width:auto !important;
}*/
ul.news2{
	display:none;
}
.w_1200{
	width:96%;
	margin:0 auto;
	padding:20px 2%;
}
ul.news_sp{
	width:100%;
}
.top_logo_sp{
	display:block;
}
.top_logo_sp img{
	width:90%;
	margin-left:5%;
	margin-bottom:10px;
	margin-top:-40px;
}

.main-gallery {
	margin-bottom: 160px;
}
.main-gallery img {
	width: 96%;
	margin-left:2%;
	height: auto;
}
.gallery-cell{
	width: 96%;
	margin-left:2%;
}
.sp_srd_link{
	padding-top:10px !important;
	text-align:center !important;
	margin:0 auto !important;
}
.top_content_for_sp{
	position:relative;
	width:100%;
	height:150px;
	overflow:hidden;
}
.top_for_sp_h3{
	margin-bottom:-10px;
}
.Copy{
    display: none;
}

/***************会社案内**********************/
.aisatsu{
	float:none;
	margin-top:20px;
	width:100%;
}
.aisatsu2{
	float:none;
	width:100%;
	margin-left:0;
	margin-top:20px;
}
table.company th{
	width:100%;
}
table.company td{
	width:100%;
	border-bottom:none;
	padding-bottom:50px;
}
/***************パートナー**********************/
.partner_h3{
	text-align:center;
}
ul.form li ul{
	width:100%;
}

/***************求人募集**********************/
.rec_p_box{
	width:100%;
	margin-left:0;
}
ul.recruit_seido li{
	width:96%;
	height:auto;
	padding:2%;
	margin-bottom:20px;
}
ul.recruit_seido2 li{
	height:auto !important;
}
.recruit_h3 span{
	text-align:left;
	border-bottom:solid #5595a3 1px;
}
.rec_content_for{
	height:150px !important;
	margin-top:50px;
}
.rec_content_for_tit{
	width:200px;
	height:40px;
	top:50%;
	left:50%;
	margin-top:-20px;
	margin-left:-100px;
}
.recruit_h2{
	margin-top:30px !important;
	margin-bottom:50px !important;
}
ul.staff li{
	width:97%;
	padding:1%;
}

/***************アクセス**********************/

.access_icon{
	width:100%;
}

/***************業務内容**********************/

ul.service_ul li{
	width:100%;
	display:inline-block;
	vertical-align:top;
	font-size:0.9em;
	line-height:1em;
}
ul.service_ul li br strong,ul.service_ul2 li br strong{
	line-height:0.1em;
}
ul.service_ul2 li{
	width:100%;
	display:inline-block;
	vertical-align:top;
	font-size:0.9em;
	line-height:1em;
}
.sp_size{
	font-size:1.2em;
	line-height:1.4em;
}

.mein_content_mail{
	width:92%;
	padding:100px 3%;
}
.mail_c1{
	border:solid #0C3 1px;
}
.mail_c2{
	border:solid #969 1px;
}
.mail_c3{
	border:solid #36C 1px;
}
.mail_c4{
	border:solid #F39 1px;
}
.mail_c5{
	border:solid #999 1px;
}

input.form_t_area,textarea.form_t_area{
	width:100%;
	font-size:16px !important;
}
.top_kankyo2{
	padding:2%;
	width:96%;
}
.top_copy{
	top:5%;
	right:45%;
	width:auto !important;
	height:90% !important;
}
.top_copy img{
	width:auto !important;
	height:95% !important;
}
.top_kankyo{
	background-image:none;
	background-size:auto auto ;
	background-repeat:no-repeat;
}
table.gaiyou{
	width:98%;
	margin-left:1%;
}
table.gaiyou th{
	text-align:left;
}
table.gaiyou td{
	margin-bottom:20px;
	padding-left:0 !important;
}
table, tbody, tr, th, td {
display: block;
}
.flexbox_box{
	width:98%;
	padding:1%;
}
.pb_sp_30{
	padding-bottom:30px;
}
.kopage{
	overflow:hidden;
}
.kopage p{
	top:70px;
	left:10px !important;
	letter-spacing:5px;
	font-size:1em;
}
.back_meikou2{
	height: 400px;
}
.back_blak{
	top:250px;
	width:98%;
	padding:10px 1%;
	position:static;
}
.back_meikou h2{
	text-align:center;
	padding-top:10px;
	-ms-writing-mode:lr-tb!important;
	writing-mode: lr-tb!important;
	-webkit-writing-mode: lr-tb !important;
	height:50px;
}
.back_meikou h3{
	margin:0 auto !important;
	text-align:left;
	font-size:1.1em;
	font-weight:100;
	-ms-writing-mode:lr-tb!important;
	writing-mode: lr-tb!important;
	-webkit-writing-mode: lr-tb !important;
	letter-spacing:1px;
}
.back_blak2{
	background:none;
	bottom:40px;
	width:98%;
	padding:10px 1%;
	position:static;
	margin-bottom:40px;
}
.back_blak2 p{
	color:#666 !important;
}

.back_gijutsu2{
	width:100%;
	height:auto;
	overflow:hidden;
	position:static;
}
.back_blak3{
	top:250px;
	width:98%;
	padding:10px 1%;
	position:static;
	height:auto;
}
.back_blak4{
	background:none;
	bottom:40px;
	width:98%;
	padding:10px 1%;
	position:static;
	margin-bottom:40px;
}
.back_blak4 p{
	color:#666 !important;
}
.back_meikou{
	position:static;
	width:100%;
	height:auto;
	overflow:hidden;
}

}
@media screen and (max-width: 320px) {
.kopage p{
	font-size:0.8em !important;
}
}
@media screen and (max-width: 450px) {
.kopage p{
	font-size:0.8em !important;
}

    .dispore {
        padding-top: 160%;
        position: relative;
    }

}
