@charset "UTF-8";
/*
Theme Name: hagadoken.co.jp_theme
Theme URL: oa-center.co.jp
Description: hagadoken.co.jpのテーマです。
Author: OAkozue
Version: 1.0
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
html {
  scroll-behavior: smooth;
	scroll-padding-top: 70px;
}
body {
  font-size: 16px;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  background-color: #F9F9FC;
overflow-x: hidden;
  margin: 0;
  padding: 0;
  width: auto;

  z-index: 0;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;               /* top:0; right:0; bottom:0; left:0; と同じ */
  width: 100vw;
  background-image: url("images/bg.png");
  background-size: cover; /* ここが効かないなら上書き確認を */
  background-repeat: no-repeat;
  z-index: -1;
  pointer-events: none;   /* 背景にタップを邪魔されないように */
	
}
p {
  line-height: 1.6;
  text-align: justify;
}

img {
  width: 100%;
  vertical-align: top;
  height: auto;
}
.pc_none {
  display: none;
}
.sp_none {
  display: block;
}
a {
  text-decoration: none;
  transition: all 0.5s;
  color: #36318F;
}
a:hover, a:active {
  opacity: 0.7;
  text-decoration: none !important;
}
a:visited {
  opacity: 0.7;
}
/*共通*/
section {
  padding: 100px 0;
}
#main {}
.s_-100 {
  margin-top: -100px;
}
.bg_white {
  background-color: #fff;
}
h2 {
  font-size: 60px;
  text-align: center;
  font-weight: 400;
}
h3.h3_page {
  font-size: 28px;
  margin-bottom: 60px;
  letter-spacing: 2px;
  color: #36318F;
  line-height: 1.4;
}
.h3_sub {
  font-size: 20px;
  display: block;
  letter-spacing: 4px;
  margin-top: 20px;
}
.t_lg {
  font-size: 150%;
}
.t_sm {
  font-size: 70%;
}
.t_blue {
  color: #36318F;
}
.t_pink {
  color: #A30E90;
}
.t_white {
  color: #fff !important;
}
.t_center {
  text-align: center;
}
.t_center p{
	text-align: center!important;
}
.t_right {
  text-align: right;
}
hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.h-100 {
  height: 100%;
}
/* フェードイン用のCSS */
.fadein {
  opacity: 0;
  transform: translateY(30px);
  transition-property: transform, opacity;
  transition-duration: 1.5s;
  transition-delay: 0s;
}
.fadein.is-active {
  opacity: 1;
  transform: translateY(0);
}
/* ボタン */
.btn01 a {
  display: inline-block;
  padding: 14px 50px 14px 30px;
  ;
  position: relative;
  transition: 0.3s;
  z-index: 1;
}
.btn01 a::after {
  position: absolute;
  content: "\f054";
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  top: 50%;
  right: 20px;
  left: auto;
  bottom: auto;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.btn01 a::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50px;
  padding: 2px;
  background: linear-gradient(30deg, #36318F, #A30E90);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  color: #36318F;
  transition: 0.5s;
}
.btn01 a:hover {
  color: #fff;
  opacity: inherit;
}
.btn01 a:hover::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50px;
  padding: 2px;
  background: linear-gradient(30deg, #36318F, #A30E90);
  -webkit-mask: none;
  -webkit-mask-composite: inherit;
  mask-composite: inherit;
  color: #fff;
  z-index: -20;
}
.btn01_whi a {
  color: #fff;
  border: 2px solid #fff;
  padding: 14px 50px 14px 30px;
  ;
  position: relative;
  border-radius: 50px;
}
.btn01_whi a::after {
  position: absolute;
  content: "\f054";
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  top: 50%;
  right: 20px;
  left: auto;
  bottom: auto;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
/*ヘッダー*/
.header {
  display: flex;
  color: #1B224C;
  align-items: center;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transition: 0.5s;
  z-index: 999;
  height: 100px;
}
.header.change-color {
  background: #fff;
  height: 70px;
}
.header.change-color .h_menu ul li {
  padding: 5px 15px;
}
.header.change-color .h_tel {
  color: #36318F;
}
.header.change-color .h_telsub {}
ul.h_nav {
  display: flex;
  margin-bottom: 0;
  flex-wrap: wrap;
  justify-content: end;
  margin-right: 20px;
}
ul.h_nav li {
  list-style: none;
}
ul.h_nav li a {
  list-style: none;
  padding: 0 0 0 30px;
  color: #36318F;
  text-decoration: none;
  font-size: 16px;
}
.h_nav ul {
  visibility: hidden;
  /*デフォルトでは非表示の状態にしておく*/
  opacity: 0;
  /*不透明度0*/
  transition: all 0.5s;
  /*表示の変化を0.3秒に指定*/
  position: absolute;
}
.h_nav li.h_nav3:hover .dropdown_lists {
  visibility: visible;
  /*Gナビメニューにホバーしたら表示*/
  opacity: 1;
  /*不透明度1*/
  position: absolute;
  z-index: 999;
}
ul.dropdown_lists {
  background-color: #36318F;
  margin-top: 10px;
  margin-left: 30px;
}
ul.dropdown_lists li {
  padding: 8px 20px 8px 0;
  border-bottom: 1px solid #6f6f6f;
}
ul.dropdown_lists li:last-child {
  border-bottom: 0;
}
ul.dropdown_lists li a {
  font-size: 16px;
  color: #fff;
  padding: 0 20px;
}
h1 {
  margin: 0;
  margin-block-start: 0;
  margin-block-end: 0;
  display: contents;
}
nav.navbar {
  display: flex;
  align-items: center;
	width: 60%;
    justify-content: flex-end;
}
a .h_tel {
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 3px;
  margin-left: 60px;
  color: #fff;
}
.h_tel .h_telsub {
  font-size: 12px;
  margin-bottom: -5px;
  font-weight: normal;
}
.h_shiryo {
  background-color: #0062ff;
  padding: 15px 20px;
  width: 180px;
  text-align: center;
}
.h_con {
  margin-right: 30px;
}
.h_con a {
  display: inline-block;
  padding: 10px 30px;
  position: relative;
	width: 180px;
	text-align: center;
}
.h_con a::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50px;
  padding: 2px;
  background: linear-gradient(30deg, #36318F, #A30E90);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  transition: 0.5s;
  color: #36318F;
}
.h_con a:hover {
  color: #fff;
  opacity: inherit;
}
.h_con a:hover::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50px;
  padding: 2px;
  background: linear-gradient(30deg, #36318F, #A30E90);
  -webkit-mask: none;
  -webkit-mask-composite: inherit;
  mask-composite: inherit;
  color: #fff;
  z-index: -20;
}
.h_logo {
  display: flex;
  align-items: center;
	width: 45%;
}
.h_logo img {
  width: 180px;
  margin-left: 30px;
}
@media screen and (min-width:768px) {
  #nav-drawer {
    display: none;
  }
}
@media (max-width: 767.98px) {
  #nav-drawer {
    position: relative;
  }
  /*チェックボックス等は非表示に*/
  .nav-unshown {
    display: none;
  }
  /*アイコンのスペース*/
  #nav-open {
    display: inline-block;
    width: 50px;
    height: 22px;
    vertical-align: middle;
  }
  /*ハンバーガーの形をCSSで表現*/
  #nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 2px;
    /*線の太さ*/
    width: 25px;
    /*長さ*/
    border-radius: 3px;
    background: #303F6F;
    display: block;
    content: '';
    cursor: pointer;
  }
  #nav-open span:before {
    bottom: -8px;
  }
  #nav-open span:after {
    bottom: -16px;
  }
  /*閉じる用の薄黒箇所*/
  #nav-close {
    display: none;
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: .5s ease-in-out;
  }
  /*メニューの中身*/
  #nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 90%;
    max-width: 350px;
    /*最大幅（お好みで調整を）*/
    height: 100%;
    background: #F1F6FF;
    transition: .5s ease-in-out;
    -webkit-transform: translateX(-105%);
    transform: translateX(-105%);
    padding: 20px;
  }
  /*チェックがついたら表示させる*/
  #nav-input:checked ~ #nav-close {
    display: block;
    opacity: .5;
  }
  #nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
  }
  .nav-pc {
    display: none !important;
  }
  header {
    height: 90px;
  }
  main.h_padding {
    padding-top: 90px;
  }
  .nav_logo img {
    width: 200px;
  }
  .nav-sp {
    margin-top: 30px;
  }
	.nav-sp ul{
		margin-top: 20px;
	}
  .nav-sp ul li {
    list-style: none;
    padding: 10px 0;
  }
  .nav-sp ul li a {
    color: #000;
    text-decoration: none;
    font-size: 18px;
  }
  ul.h_nav {
    display: block;
  }
	.sp_h_logo{
		width: 200px;
	}
	.nav-sp .h_btn{
		
	}
	.nav-sp .h_btn .h_tel{
		font-size: 28px;
		text-align: center;
	}
	.nav-sp .h_btn .h_tel .h_telsub{
		font-size: 14px;
	}
	.nav-sp .h_btn .h_con{
		width: 100%;
		margin-right: 0px;
		margin: 10px auto;
		text-align: center;
	}
	.nav-sp .h_btn .h_con a{
		font-size: 20px;
		display: block;
		width: 100%;
	}
	.nav-sp ul.dropdown_lists{
		background-color: inherit;
	}
	.nav-sp ul.dropdown_lists li a{
		padding: 0;
	}
}
/*メインイメージ*/
.mv {}
.mv_bg {
  background: linear-gradient(30deg, #36318F, #A30E90);
  width: 40vw;
  height: 80vh;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
}
.mainimg {
  position: relative;
}
.main_img {
  width: 75%;
  margin-right: 0;
  margin-left: auto;
  padding-top: 100px;
}
.main_text1 {
  color: #fff;
  font-size: 60px;
  font-weight: bold;
  position: absolute;
  bottom: 40%;
  letter-spacing: 10px;
}
.main_text2 {
  color: #fff;
  font-size: 20px;
  position: absolute;
  bottom: 30%;
  letter-spacing: 3px;
}
.main_btn a {
  position: absolute;
  bottom: 15%;
  display: block;
  color: #fff;
  background: linear-gradient(30deg, #36318F, #A30E90);
  padding: 15px 30px;
  text-align: center;
  border-radius: 10px;
  text-decoration: none;
  font-size: 16px;
  border: 1px solid #fff;
}
/*TOP*/
section#top01 {
  position: relative;
}
#top01::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 70%;
  background-color: #F5F5F5;
  z-index: -1;
}
.rea_titlebg {
  background: url("images/top_rea_titlebg.jpg")center / cover no-repeat, linear-gradient(30deg, #36318F, #A30E90);
  background-blend-mode: multiply;
  padding: 60px 0px 100px;
}
.rea_box {
  width: 90%;
  margin: -40px auto 0;
}
.rea_bg {
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  width: calc((100% - 20px * 2) / 3);
  margin-right: 20px;
}
.rea_bg:last-child {
  margin-right: 0px;
}
.rea_img {
  margin-top: -100px;
  text-align: center;
}
.rea_img img {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  object-fit: cover;
}
.rea_t01 {
  font-size: 20px;
  font-weight: bold;
  color: #36318F;
  margin-top: 30px;
  text-align: center;
}
.rea_c01 {
  font-size: 16px;
  font-weight: bold;
  color: #A30E90;
  margin-top: 20px;
  text-align: center;
}
.rea_p {
  font-size: 14px;
  margin-top: 20px;
}
.row-eq-height {
  display: flex;
  flex-wrap: wrap;
}
section#top02 {}
.ser_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
}

.ser_box {
  width: calc((100% - 40px * 2) / 3);
  margin-left: 40px;
  display: flex;
  flex-direction: column;
	margin-bottom: 30px;
}

.ser_box:first-child,
.ser_box:nth-child(4) {
  margin-left: 0;
}

/* ===== 上から順に整列用 ===== */

/* 画像は固定幅で扱いやすく */
.ser_box img {
  width: 100%;
  height: auto;
  display: block;
}

/* タイトルを上揃え */
.ser_t {
  font-size: 24px;
  font-weight: bold;
  line-height: 25px;
  display: flex;
  align-items: center;
  margin-top: 20px; /* 画像との余白 */
  min-height: 60px; /* タイトル行高さをそろえる */
}

/* 番号デザイン */
span.ser_num {
  display: inline-block;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  font-size: 30px;
  border: 1px solid #36318F;
  color: #36318F;
  text-align: center;
  margin-right: 20px;
  line-height: 75px;
}

/* 説明文（.ser_p）の上をそろえる */
.ser_p {
  margin-top: 20px;
  margin-bottom: 20px;
  min-height: 130px; /* 各ボックスで高さを統一 */
}

/* ボタンを一番下に固定 */
section#top02 .btn01 {
  margin-top: auto;
}
section#top03 {
  background: radial-gradient(circle, rgb(255 255 255 / 10%) 2.5px, transparent 2.5px), linear-gradient(30deg, #36318F, #A30E90);
  background-position: 0 0;
  background-size: 25px 25px, cover;
}
.slider .slick-slide {
  width: 400px;
}
.case_box {
  color: #fff;
  display: flex;
}
.case_num {
  color: #fff;
  writing-mode: vertical-rl;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 4px;
  margin-right: 20px;
}
.case_img {
width: 100%;
}
.case_img img {
  border-radius: 10px;
  height: 200px;
  object-fit: cover;
}
.case_comment {
  background: #fff;
  padding: 10px;
  border-radius: 10px;
  color: #333;
  text-align: center;
  margin-top: 20px;
  height: 72px;
}
.slider {
  /*横幅94%で左右に余白を持たせて中央寄せ*/
  width: 100%;
}
.slider img {
  width: 100%;
  /*スライダー内の画像を横幅100%に*/
}
/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.slider .slick-slide {
  margin: 0 10px;
}
/*矢印の設定*/
.slick-arrow {
  z-index: 2 !important;
  top: 50% !important;
  margin-top: -10px !important;
  width: 20px !important;
  height: 20px !important;
  border-top: 3px solid #aaa !important;
  border-right: 3px solid #aaa !important;
  opacity: .8 !important;
}
.slick-arrow::before {
  content: '' !important;
}
.slick-prev {
  left: 20px !important;
  transform: rotate(-135deg) !important;
}
.slick-next {
  right: 20px !important;
  transform: rotate(45deg) !important;
}
.slick-dots li button:before {
  font-size: 12px !important;
  top: 10px !important;
}
.slick-dots li {
  width: 15px !important;
}
.slick-dotted.slick-slider {
  margin-bottom: 0px !important;
}
section#top04 {
  margin-top: 100px;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 30%, #fff 30%, #fff 100%);
}
section#top05 {}
.ac {
  width: 100%;
  margin: 0 auto;
}
/* クリック領域 */
.ac-parent {
  position: relative;
  /* 追加 */
  padding: 5px 60px 5px 20px;
  cursor: pointer;
  font-size: 18px;
  font-weight: bold;
  background: #fff;
  margin-bottom: 20px;
  border-radius: 42px;
  border: 1px solid #36318F;
	display: flex;
	align-items: center;
}
/* ①プラスの横線 */
.ac-parent:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 20px;
  height: 2px;
  background: #36318F;
  transform: translateY(-50%);
}
/* ②プラスの縦線 */
.ac-parent:after {
  content: "";
  position: absolute;
  top: 50%;
  /* 8px+12px-1px(幅2pxの半分) */
  right: 29px;
  width: 2px;
  height: 20px;
  background: #36318F;
  transform: translateY(-50%);
  transition: 0.1s;
}
/* ③オープン時にopenクラスを付与（縦線を回転させて非表示に） */
.ac-parent.open:after {
  top: 25%;
  opacity: 0;
  transform: rotate(90deg);
}
.ac-parent span{
	margin-right: 10px;
}
/* クリックしたら表示される領域 */
.ac-child {
  display: none;
  padding: 0px 20px 40px;
}
/*お知らせ*/
.news_box {
  display: flex;
  padding: 20px 0;
  border-bottom: 1px solid #A30E90;
}
.news_data {
  width: 25%;
}
.news_title{
	width: 75%;
}
/*youtube埋め込み*/
.video {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  margin-bottom: 50px;
}
.video iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
/*CTA*/
section#f_cta {
  padding: 0;
  position: relative;
  margin-top: 100px;
}
section#f_cta::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 45%;
  background-color: #333;
  z-index: -1;
}
.cta_box {
  background: url("images/f_ctabg.jpg") center / cover no-repeat, linear-gradient(30deg, #36318F, #A30E90);
  background-blend-mode: multiply;
  padding: 60px;
  border-radius: 10px;
}
h4.h4_cta {
  text-align: center;
  font-size: 30px;
  margin-bottom: 40px;
  color: #FFF;
}
a .btn_cta01 {
  font-size: 24px;
  padding: 10px 30px;
  border-radius: 10px;
  color: #fff;
  text-align: center;
  display: block;
  border: 2px solid #fff;
  height: 250px;
}
a .btn_cta01 i {
  font-size: 60px;
  display: block;
  margin: 10px 0 10px;
}
a .btn_cta01 .f_telsub {
  font-size: 16px;
}
.f_ctatel {
  font-size: 40px;
  font-weight: bold;
  letter-spacing: 3px;
}
/*フッター*/
footer {
  padding: 60px 0;
  color: #fff;
  background: #333;
}
.f_menu {
  display: block;
  width: 100%;
}
.f_menu ul {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.f_menu ul li {
  padding: 10px 20px;
  list-style: none;
  transition: 0.5s;
  color: #fff;
  font-size: 14px;
  width: 25%;
}
.f_menu ul li a {
  color: #fff;
}
.f_menu ul li div:first-child {
  font-weight: bold;
  margin-bottom: 10px;
}
.f_logo {
  text-align: center;
  width: 200px;
  margin: 20px 0 40px;
}
.f_copy {
  margin-top: 40px;
  font-size: 12px;
}
/* トップへ戻るボタン */
.topbtn {
  display: none;
  /*最初は隠す*/
  width: 45px;
  height: 45px;
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 10;
}
.topbtn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  background: linear-gradient(30deg, #36318F, #A30E90);
  border: 1px solid #fff;
  color: #fff;
}
#p_404 a {
  color: #000;
}
/*ページ*/
main#page {
  margin-top: 100px;
}
.header_title_bg {
  background: linear-gradient(30deg, #36318F, #A30E90);
  width: 40vw;
  height: 330px;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
}
.page_title {
  position: absolute;
  top: 20%;
  left: 0;
  width: 100%;
  display: flex;
  box-sizing: border-box;
  padding: 0 5%; /* スペースが必要ならここで調整 */
  color: #fff;
}
h2.h2_page {
  font-size: 36px;
  letter-spacing: 3px;
  color: #fff;
  width: 40vw;
  text-align: left;
}
.h2_pagesub {
  font-size: 32px;
}
.page_titlebg {
  position: relative;
}
.page_titlebgimg {
  position: relative;
  top: 0;
  z-index: -99;
}
.page_titlebgimg img {
  height: 350px;
  object-fit: cover;
}
.page_title_sub {
  position: absolute;
  bottom: 10%;
  left: 0;
  width: 100%;
  padding: 0 5%;
  color: #fff;
}
/* ボタン */
.btn_page01 a {
  display: block;
  color: #fff;
  background: linear-gradient(30deg, #36318F, #A30E90);
  padding: 15px 10px;
  text-align: center;
  border-radius: 30px;
  text-decoration: none;
  position: relative;
  font-size: 15px;
}
.btn_page01 a::after {
  position: absolute;
  content: "\f054";
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  top: 50%;
  right: 20px;
  left: auto;
  bottom: auto;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.btn_page01 a:hover {
  transform: scale(1.1);
  opacity: inherit;
}
.btn_page02 a {
  display: block;
  color: #36318F;
  background: #fff;
  padding: 15px 10px;
  text-align: center;
  border-radius: 30px;
  text-decoration: none;
  position: relative;
  font-size: 15px;
}
.btn_page02 a::after {
  position: absolute;
  content: "\f054";
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  top: 50%;
  right: 20px;
  left: auto;
  bottom: auto;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.btn_page02 a:hover {
  transform: scale(1.1);
  opacity: inherit;
}
.btn_page03 a {
  display: inline-block;
  color: #fff;
  background: #36318F;
  padding: 10px 40px 10px 30px;
  text-align: center;
  border-radius: 30px;
  text-decoration: none;
  position: relative;
  font-size: 15px;
}
.btn_page03 a::after {
  position: absolute;
  content: "\f054";
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  top: 50%;
  right: 20px;
  left: auto;
  bottom: auto;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.btn_page03 a:hover {
  transform: scale(1.1);
  opacity: inherit;
}
/* 会社案内 */
section#com01 {
  background-image: url("images/com_philobg.png");
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 50%;
}
.philo_copy {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px;
}
.philo_copy_sub {
  text-align: center;
  margin-bottom: 100px;
	font-weight: bold;
}
.philo_box {
  background-color: #FAF3FA;
  padding: 30px;
  border-radius: 10px;
  text-align: center;
  width: calc((100% - 20px * 2) / 3);
  margin-right: 20px;
}
.philo_box:last-child {
  margin-right: 0px;
}
.philo_title {
  font-size: 30px;
  font-weight: bold;
  margin-top: -60px;
  margin-bottom: 10px;
  letter-spacing: 10px;
  color: #fff;
  background: #A30E90;
  padding: 5px 20px;
  border-radius: 10px;
}
.philo_c {
  font-weight: bold;
  margin-top: 20px;
  margin-bottom: 10px;
}

.com_mes_name01{
	    font-size: 40px;
    letter-spacing: 20px;
    margin-top: 60px;
    position: absolute;
    left: 30%;
}
.com_mes_name01 .com_mes_name{
	text-align: right;
	font-size: 18px;
	letter-spacing: normal;
	margin-right: 20px;
}
.com_mes_name02{
	    font-size: 40px;
    letter-spacing: 20px;
    margin-top: 60px;
    position: absolute;
    right: 30%;
}
.com_mes_name02 .com_mes_name{
	text-align: left;
	font-size: 18px;
	letter-spacing: normal;
}

#com03 {
  padding-bottom: 0;
}
.history {
  position: relative;
  margin: 0 auto;
  padding: 0 15px;
}
.history:before {
  content: "";
  width: 2px;
  height: 100%;
  background: #A30E90;
  position: absolute;
  transform: translateX(-50%);
}
.history_year {
  font-size: 80px;
  font-weight: bold;
  color: rgba(54, 49, 143, 0.4);
  display: flex;
  margin-top: -80px;
	font-style: italic;
}
.history_day {
  font-size: 30px;
  font-weight: bold;
  color: #A30E90;
  margin-bottom: 10px;
}
.history .history__item {
  position: relative;
  display: flex;
  padding: 0 0 35px 20px;
}
.history .history__inner:before {
  content: "";
  width: 20px;
  height: 20px;
  background: #A30E90;
  position: absolute;
  border-radius: 50%;
  left: 0;
  transform: translateX(-50%);
}
.history .history__item:last-child {}
.history .history__item:last-child:after {
  content: "";
  width: 6px;
  height: 6px;
  background: none;
  position: absolute;
  transform: translateX(-50%) rotate(-45deg);
  border-left: 2px solid #A30E90;
  border-bottom: 2px solid #A30E90;
  bottom: 0;
  left: 0;
}
.history .history__inner {
  width: 500px;
  display: flex;
  justify-content: space-between;
}
.history .history__iamge {
  line-height: 1;
  margin: 0;
  padding: 0;
}
.history_img {}
@media only screen and (min-width: 992px) {
  .history:before {
    left: 50%;
  }
  .history .history__item {
    padding: 0;
  }
  .history .history__item.history__item_r {
    justify-content: flex-end;
  }
  .history .history__inner:before {
    left: 50%;
    top: 0;
    width: 20px;
    height: 20px;
  }
  .history .history__item:last-child {
    padding-bottom: 0;
  }
  .history .history__item:last-child:after {
    left: 50%;
    width: 8px;
    height: 8px;
  }
  .history .history__text {}
  .history .history__text {
    margin-bottom: 40px;
    letter-spacing: 0.05em;
    text-align: right;
    margin-left: 20px;
    width: 100%;
  }
  .history .history__text p {
    text-align: right;
  }
  .history__item_r .history__text {
    text-align: left;
    margin-right: 20px;
    margin-left: 0px !important;
  }
  .history__item_r .history__text p {
    text-align: left;
  }
  .history_year_r {
    justify-content: flex-end;
  }
  .history__text01 {
    order: 2;
  }
  .history_img02 {
    order: 1;
  }
}
.his_fu {
  position: relative;
  margin-top: 40px;
}
.his_fu_copy {
  font-size: 40px;
  color: #fff;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
table.tbl_com {
  width: 100%;
  margin: 0 auto 40px;
  border-collapse: collapse;
}
table.tbl_com tr th {
  width: 30%;
}
table.tbl_com tr td {}
table.tbl_com tr th, table.tbl_com tr td {
  padding: 30px;
}
table.tbl_com tr {
  border-bottom: 1px solid #A30E90;
}
table.tbl_com tr:last-child {
  border-bottom: 0px;
}
.reco_box {
  display: flex;
}
.reco_btn01 {
  width: 50%;
  position: relative;
  overflow: hidden;
  height: 300px;
}
.reco_btn01_text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  color: #fff;
  width: 100%;
  text-align: center;
  font-size: 32px;
  font-weight: bold;
  padding: 20px;
}
.reco_btn01_text div {
  font-size: 16px;
  margin-top: 30px;
  font-weight: normal;
}
.reco_btn01 img {
  position: absolute;
  object-fit: cover;
  height: 300px;
  transition: .5s;
}
.reco_btn01:hover img {
  transform: scale(1.1);
}
.reco_btn02 {
  width: 50%;
  position: relative;
  overflow: hidden;
  height: 300px;
}
.reco_btn02_text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  color: #fff;
  width: 100%;
  text-align: center;
  font-size: 32px;
  font-weight: bold;
}
.reco_btn02_text div {
  font-size: 16px;
  margin-top: 30px;
  font-weight: normal;
}
.reco_btn02 img {
  position: absolute;
  object-fit: cover;
  height: 300px;
  transition: .5s;
}
.reco_btn02:hover img {
  transform: scale(1.1);
}
/* サービス紹介 */
.ser_num {
  color: #A30E90;
  font-size: 90px;
  font-weight: bold;
  opacity: 0.1;
}
h4.h4_ser {
  font-size: 32px;
  color: #36318F;
  margin-top: -60px;
  font-weight: bold;
}
.fea_text {
  font-size: 20px;
  margin-top: 20px;
  margin-bottom: 40px;
}
.ser_lbg {
  position: relative;
  padding-bottom: 40px;
  margin-bottom: 80px;
}
.ser_rbg {
  position: relative;
  padding-bottom: 40px;
  margin-bottom: 80px;
}
ul.check {
    list-style: none;
	margin-left: 40px;
}

ul.check li {
    position: relative;
	list-style-position: inside;
}

ul.check li::before {
    content: "";
    display: block;
    position: absolute;
    width: 1rem;
    height: 0.5rem;
    border-left: 2px solid #A30E90;
    border-bottom: 2px solid #A30E90;
    top: 0.25rem;
    left: -2rem;
    transform: rotate(-45deg);
}
.ser_check {
  font-size: 18px;
	font-weight: bold;
}

.r-fluid .ser_check,
.l-fluid .ser_check{
  margin-top: 400px;
}
.meritto {}
.meritto_r-fluid {
  position: absolute;
  right: 0;
  width: 50%;
  background-color: #FAF3FA;
  padding: 40px 10% 40px 40px;
}
.meritto_l-fluid {
  position: absolute;
  left: 0;
  width: 50%;
  background-color: #FAF3FA;
  padding: 40px 40px 40px 10%;
}
.meritto_title {
  font-size: 20px;
  font-weight: bold;
  color: #A30E90;
  text-align: center;
  margin-bottom: 20px;
}

.button-box {
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  color: #36318F;
  text-decoration: none;
  margin-top: 180px;
}
.circle-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border: 2px solid #36318F;
  border-radius: 50%;
  transition: transform 0.5s ease, background-color 0.3s ease;
}
.arrow {
  font-size: 24px;
  color: #36318F;
  transition: transform 0.5s ease;
}
/* ホバーアニメーション */
.button-box:hover {
  color: #36318F;
}
.button-box:hover .circle-arrow {
  transform: scale(1.1);
  background-color: #36318F;
}
.button-box:hover .arrow {
  transform: translateX(6px);
  color: #fff;
}
.r-fluid, .l-fluid {
  height: 400px;
}
.r-fluid img {
  position: absolute;
  right: 0;
  width: 43%;
  object-fit: cover;
  height: 350px;
	border-radius: 20px 0 0 20px;
}
.l-fluid img {
  position: absolute;
  left: 0;
  width: 43%;
  object-fit: cover;
  height: 350px;
border-radius: 0 20px 20px 0;
}
.riyu_num {
  font-size: 32px;
  color: #A30E90;
  font-weight: bold;
  text-align: center;
}
.riyu_title {
  font-size: 32px;
  color: #36318F;
  font-weight: bold;
  text-align: center;
}
.riyu_i {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  border: 1px solid #36318F;
  margin: 20px auto;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.riyu_i img {
  width: 70%;
}
/* 造成工事 */
h3.h3_page_land {
  font-size: 36px;
  margin-bottom: 60px;
  letter-spacing: 2px;
  line-height: 1.4;
}
.h3_num {
  font-size: 36px;
  display: block;
  margin-top: 20px;
  color: #A30E90;
}
.land_box {
  padding: 60px 60px;
  background: #fff;
  border-radius: 20px;
  margin-bottom: 60px;
}
h4.h4_land_t{
	font-size: 24px;
	font-weight: bold;
}
.land_flow {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #36318F;
  padding: 20px 0;
}
.land_flow_num {
  font-weight: bold;
  font-size: 32px;
  color: #36318F;
  margin-right: 30px;
}
.land_flow_t {
  font-weight: bold;
  font-size: 24px;
  color: #36318F;
  margin-bottom: 5px;
}
.land_case_t {
  font-weight: bold;
  font-size: 24px;
  margin: 0px 0 20px;
}
.land_casebox {
  border-bottom: 1px solid #36318F;
  padding: 20px 0;
  margin-bottom: 20px;
}
/* 擁壁工事 */
.retcase {
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  background: #36318F;
  padding: 0px 20px;
  border-radius: 40px;
  display: table;
  margin: 0 auto;
}
.retcase_t {
  font-size: 22px;
  text-align: center;
  font-weight: bold;
  color: #36318F;
  margin: 0px auto 40px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
}
.retcase_t:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 80px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #36318F;
  border-radius: 2px;
}
.ret_liskbox {
  background: #FAF3FA;
  padding: 60px 40px;
  border-radius: 20px;
  margin-top: 80px;
}
.ret_lisk {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #fff;
  padding: 20px 0;
  width: 100%;
}
.ret_lisknum {
  display: inline-block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: #fff;
  background: #36318F;
  text-align: center;
  line-height: 40px;
  font-weight: bold;
  font-size: 20px;
  margin-right: 20px;
}
.ret_lisk_t {
  color: #36318F;
  font-weight: bold;
  font-size: 22px;
  margin-right: 20px;
  width: 30%;
}
.ret_lisk_p{
	width: 70%;
}
section#ret02 {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 30%, #fff 30%, #fff 100%);
}
.ret_what_img {
  width: 300px;
  margin-bottom: -100px;
  margin-left: auto;
}
.ret_what_img img {
  display: flex;
  justify-content: flex-end;
}
.ret_shichu_box {
  display: flex;
  margin-top: 40px;
  flex-wrap: wrap;
  justify-content: space-between; /*行方向(横方向)の子要素の余白均等配置 */
  row-gap: 20px; /* 行と行の間(縦方向)の余白 */
}
.ret_shichu {
  font-size: 18px;
  color: #fff;
  background: #36318F;
  padding: 5px 20px;
  border-radius: 40px;
  display: table;
  margin: 0 auto;
}
.ret_shurui_t {
  font-weight: bold;
  font-size: 18px;
  margin: 10px 0;
}
.flow {
  background: #fff;
  padding: 30px 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  border: 1px solid #36318F;
}
.flow_num {
  text-align: center;
  font-size: 36px;
  padding-right: 30px;
  color: #36318F;
}
.flow_num span {
  font-size: 12px;
  display: block;
  margin-bottom: -10px;
}
.flow_t {
  font-size: 20px;
  padding-left: 30px;
  font-weight: bold;
}
.flow_p {
  font-size: 16px;
  margin-top: 10px;
  font-weight: normal;
}
.triangle {
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #36318F;
  margin: 0 auto 10px;
}
section#ret05 {
  position: relative;
}
#ret05::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 60%;
  background-color: #fff;
  z-index: -1;
}
.ret_tsuyomi_i {
  width: 150px;
  margin: 0 auto;
}
.ret_tsuyomi_t {
  font-weight: bold;
  font-size: 20px;
  text-align: center;
  margin: 10px 0;
  height: 64px;
}
/* 残土処理サービス */
.soi_onayami_t {
  color: #fff;
  background: #36318F;
  padding: 10px 20px;
  margin: 0 auto;
  font-size: 30px;
  font-weight: bold;
  display: table;
}
.soi_onayami_box {
  background: #fff;
  margin: 60px 0;
  padding: 40px 0;
}
.soi_jyoken_img{
	margin-right: 20px;
}
.soi_jyoken_img img {
  width: 130px;
  margin-bottom: -40px;
}
.soi_jyokenbox {
  padding: 40px 20px;
  background: #FAF3FA;
  border-radius: 10px;
}
.soi_jyoken_t {
  line-height: 2;
  font-weight: bold;
  margin-top: 20px;
}
section#soi02 {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 20%, #fff 20%, #fff 100%);
}
.soi_ukeirebox {
  border: 1px solid #36318F;
  padding: 20px 40px;
  border-radius: 10px;
  font-size: 24px;
}
.soi_ukeirebox i {
  color: #A30E90;
  margin-right: 10px;
}
.soi_ukeirearea_t {
  font-weight: bold;
  font-size: 24px;
  color: #36318F;
  margin: 40px 0 20px;
}
.soi_ukeireareabox {
  display: flex;
  flex-wrap: wrap;
  row-gap: 20px; /* 行と行の間(縦方向)の余白 */
}
.soi_ukeirearea {
  font-size: 18px;
  color: #fff;
  background: #36318F;
  padding: 5px 30px;
  border-radius: 40px;
  display: table;
  margin: 0 10px 0 0;
}
.cta_btn {
  background: linear-gradient(30deg, #36318F, #A30E90);
  border-radius: 20px;
  color: #fff;
  padding: 30px;
  transition: 0.5s ease;
  text-align: center;
}
.cta_btn:hover {
  box-shadow: 0px 20px 20px -6px rgba(0, 0, 0, 0.3);
  transform: translateY(-10px);
}
.cta_sub {
  padding: 10px 30px;
  background: #fff;
  border-radius: 40px;
  font-size: 20px;
  font-weight: bold;
  color: #36318F;
  display: table;
  margin: 0 auto;
}
.cta_t {
  font-size: 36px;
  font-weight: bold;
  margin: 20px 0;
}
section#soi05 {
  margin-top: 100px;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 20%, #fff 20%, #fff 100%);
}
.soi_point_t {
  font-weight: bold;
  font-size: 20px;
  color: #36318F;
  margin-bottom: 20px;
}
.soi_pontbox {
  border: 1px solid #36318F;
  padding: 20px;
  border-radius: 10px;
  margin-top: 20px;
  font-size: 18px;
}
.soi_pontbox i {
  color: #A30E90;
  margin-right: 10px;
}
.soi_csr_t {
  font-size: 18px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
  text-align: center;
}
/* 道路舗装 */
section#roa01 {
  position: relative;
}
.roa01_bg {
  position: absolute;
  left: 60px;
  top: 100px;
  writing-mode: vertical-rl;
  font-size: 96px;
  font-weight: bold;
  color: rgba(163, 14, 144, 0.1);
	z-index: -1;
}
.roa_tokucho_t {
  position: relative;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  padding: 5px 20px;
  border-radius: 5px;
  background: #36318F;
  text-align: center;
  margin-bottom: 40px;
	margin-top: 40px;
}
.roa_tokucho_t:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #36318F;
}
.roa_shurui_inner {
  position: relative;
  margin-top: 40px;
}
.roa_shurui_box {
  background: #fff;
  padding: 40px 60px;
  border-radius: 20px;
}
.roa_shurui_t {
  font-weight: bold;
  margin-bottom: 20px;
  font-size: 20px;
}
.roa_shurui_img img {
  position: absolute;
  right: 0;
  width: 40%;
  height: 320px;
  object-fit: cover;
}
table.tbl_roa_shurui {
  width: 100%;
  border-collapse: collapse;
  margin-top: 30px;
}
table.tbl_roa_shurui tr th {
  color: #36318F;
  width: 25%;
}
table.tbl_roa_shurui tr td {}
table.tbl_roa_shurui tr th, table.tbl_roa_shurui tr td {
  padding: 5px;
}
table.tbl_roa_shurui tr {
  border-bottom: 1px solid #D9D9D9;
}
/* 地下シェルター */
.und_copy {
  text-align: center;
  font-weight: bold;
  font-size: 24px;
  margin-bottom: 60px;
}
.und_riyu_bg {
  position: relative;
  padding-top: 60px;
}
.und_riyu_bg::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 80%;
  background-color: #fff;
  z-index: -1;
}
.und_riyu_img {
  position: relative; /* 子要素を基準にする */
  display: inline-block;
}
.und_riyu_t {
  position: absolute;
  bottom: -15px; /* 画像の下に少しはみ出す位置 */
  left: 50%;
  transform: translateX(-50%);
  background: #36318F;
  color: #fff;
  font-size: 18px;
  padding: 5px 20px;
  border-radius: 20px;
  text-align: center;
  width: 200px;
}
.und_private_copy {
  display: block;
  margin: 0 auto 80px;
  position: relative;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  padding: 15px 30px;
  background: #36318F;
  text-align: center;
  width: 80%;
}
.und_private_copy:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #36318F;
}
.und_private_img {
  position: relative; /* 子要素を基準にする */
  display: inline-block;
}
.und_private_t {
  position: absolute;
  bottom: 30px; /* 画像の下に少しはみ出す位置 */
  background: #fff;
  padding: 5px 30px;
  font-weight: bold;
  color: #36318F;
}
.und_link {
  position: relative;
  display: block;
  overflow: hidden;
  height: 250px;
  margin-top: 60px;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
}
/* 背景画像 */
.und_link img {
  position: absolute;
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform 0.5s ease;
}
/* ホバー時に画像ズーム */
.und_link:hover img {
  transform: scale(1.1);
}
/* テキスト配置（左寄せに変更） */
.und_link_text {
  position: absolute;
  top: 50%;
  transform: translateY(-50%); /* 縦方向だけ中央寄せ */
  color: #fff;
  font-size: 32px;
  font-weight: bold;
  padding: 0 40px;
  text-align: left; /* テキストを左寄せ */
  width: 90%;
}
/* 矢印付きテキスト */
.arrow-link-right {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  color: #fff;
}
/* 矢印のスタイル */
.arrow-link-right::after {
  content: '';
  position: absolute;
  left: 100%;
  width: 80px;
  height: 10px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: skewX(50deg);
  transition: margin-left 0.3s ease;
}
/* ホバー時に矢印スライド */
.und_link:hover .arrow-link-right::after {
  margin-left: 10px;
}
/* 採用案内 */
h4.h4_rec_workstyle {
  font-size: 20px;
  font-weight: bold;
  color: #36318F;
  margin-bottom: 40px;
  text-align: center;
}
.h4_rec_workstyle_sub {
  font-size: 20px;
  text-align: center;
  font-weight: bold;
}
.h4_rec_workstyle_sub2 {
  font-size: 20px;
  text-align: center;
  margin: 20px 0 60px;
}
.rec_workstyle_inner {
  padding: 0 20px;
  margin-top: -30px;
}
.rec_workstyle_box {
  padding: 10px 20px;
  background: #fff;
  font-size: 18px;
  border-radius: 5px;
  margin-bottom: 20px;
  display: inline-block;
}
.rec_workstyle_box i {
  margin-right: 10px;
  color: #A30E90;
}
.rec_workstyle_inner p {
  margin-bottom: 40px;
}
.rec_sche_t {
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  background: #36318F;
  padding: 10px 20px;
  border-radius: 40px;
  display: table;
  margin: 20px auto 0;
  position: relative;
}
.rec_sche_box {
  background: #fff;
  padding: 40px 40px 30px;
  border-radius: 10px 10px 0 0;
  margin-top: -20px;
}
table.tbl_rec_sche {
  width: 100%;
  border-collapse: collapse;
}
table.tbl_rec_sche tr th {
  color: #36318F;
  width: 30%;
  text-align: right;
  font-size: 18px;
}
table.tbl_rec_sche tr th {
  padding: 10px 20px 10px 0px;
}
table.tbl_rec_sche tr td {
  padding: 10px 0px 10px 20px;
}
.jobtype_box {
  background: #fff;
  padding: 80px 60px;
  border-radius: 20px;
  margin-bottom: 40px;
}
table.tbl_rec_jobtype {
  width: 100%;
  margin: 0 auto 40px;
  border-collapse: collapse;
}
table.tbl_rec_jobtype tr th {
  color: #36318F;
  width: 30%;
}
table.tbl_rec_jobtype tr td {}
table.tbl_rec_jobtype tr th, table.tbl_rec_jobtype tr td {
  padding: 30px;
}
table.tbl_rec_jobtype tr {
  border-bottom: 1px solid #D9D9D9;
}
.rec_voice_img {
  text-align: center;
}
.rec_voice_img img {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  object-fit: cover;
}
.voice_name {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  margin-top: 20px;
}
.voice_name2 {
  font-size: 20px;
  text-align: center;
}
.voice_q {
  font-size: 20px;
  color: #36318F;
  font-weight: bold;
  text-align: center;
  margin: 20px 0;
}
/* 施工実績 */
ul.case_cat {
  display: flex;
  margin-bottom: 60px;
  flex-wrap: wrap;
}
ul.case_cat li {
  list-style: none;
  margin: 0 5px 5px;
}
ul.case_cat li a {
  display: inline-block;
  padding: 10px 20px;
  position: relative;
}
ul.case_cat li a::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50px;
  padding: 2px;
  background: linear-gradient(30deg, #36318F, #A30E90);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  transition: 0.5s;
  color: #36318F;
}
ul.case_cat li.current a {
  padding: 10px 20px;
  color: #fff;
  background: linear-gradient(30deg, #36318F, #A30E90);
  border-radius: 40px;
}
ul.case_cat li a:hover {
  color: #fff;
  opacity: inherit;
}
ul.case_cat li a:hover::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50px;
  padding: 2px;
  background: linear-gradient(30deg, #36318F, #A30E90);
  -webkit-mask: none;
  -webkit-mask-composite: inherit;
  mask-composite: inherit;
  color: #fff;
  z-index: -20;
}
.cas_box {
  background: #fff;
  border-radius: 10px;
	display: flex;
  flex-direction: column;
  height: 100%;
}
.cas_box_link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.cas_box_img {}
.cas_box_img img {
  height: 200px;
  object-fit: cover;
  border-radius: 10px 10px 0 0;
}
.cas_box_specialimg {}
.cas_box_specialimg img {
  height: 400px;
  object-fit: cover;
  border-radius: 10px 10px 0 0;
}
.cas_box_inner {
  padding: 20px;
	flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.cas_box_t {
  font-weight: bold;
  color: #333;
  margin-bottom: 20px;
  font-size: 18px;
}
.cas_box_data {
  color: #333;
  margin-bottom: 20px;
}
.case_singlecat {
  background: linear-gradient(30deg, #36318F, #A30E90);
  color: #fff;
  font-size: 14px;
  padding: 2px 5px;
  border-radius: 5px;
  margin-right: 5px;
	display: inline-block;
    margin-bottom: 5px;
}
.case_singlecat_lg {
  background: linear-gradient(30deg, #36318F, #A30E90);
  color: #fff;
  font-size: 16px;
  padding: 5px 10px;
  border-radius: 5px;
  margin-right: 5px;
}

.pagination {
  text-align: center;
  margin-top: 40px;
}

.pagination a,
.pagination span {
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  margin: 5px;
  border-radius: 50%;
background: #fff;
  text-align: center;
  font-size: 14px;
  text-decoration: none;
  transition: 0.3s;
}

/* 数字 */
.pagination a:hover {
  background: #333;
  color: #fff;
}

/* 現在ページ */
.pagination .current {
  background: linear-gradient(30deg, #36318F, #A30E90);
  color: #fff;

}

/* 前へ・次へ（← →） */
.pagination .prev,
.pagination .next {
  width: 40px;
  height: 40px;
  line-height: 40px;
}

h3.h3_castitle {
  font-size: 30px;
  margin-bottom: 40px;
  font-weight: normal;
}
.sin_cas_thum img {
  border-radius: 20px;
}
.sin_cas_content_box {
  padding: 40px;
  background: #fff;
  border-radius: 20px;
  margin-top: 40px;
}
.sin_cas_content_box h2, .sin_cas_content_box h3 {
  font-size: 26px;
  color: #36318F;
  margin-bottom: 40px;
  border-bottom: 2px solid #414141;
  padding-bottom: 20px;
}
.sin_cas_content_box p {
  margin-bottom: 40px;
}
.sin_cas_content_box table {
  width: 80%!important;
  margin: 0 auto 40px;
}
.sin_cas_content_box table tr td {
  border-left: 0px;
  border-right: 0px;
  border-color: #E0E0E0;
  padding: 10px 20px;
}
.sin_cas_content_box table tr td:nth-child(1){
	width: 30%;
}
section#sin_cas02 {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 20%, #fff 20%, #fff 100%);
}
.List-Item {
  width: 100%;
}
.List-Item-Content {
  margin-left: auto;
  margin-right: auto;
  padding-top: 30px;
  padding-bottom: 30px;
  display: flex;
  align-items: center;
}
.List-Item-Content.one {
  padding-top: 0;
}
.List-Item-Content-Number {
  position: relative;
  margin-right: 40px;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  background: #36318F;
  color: #fff;
  font-size: 26px;

}
.List-Item-Content-Number-Line {
  position: absolute;
  top: -160%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 3px;
  height: 180px;
  background: #36318F;

}
.List-Item-Content-Title {
  color: #36318F;
  font-size: 24px;
}
.List-Item-Content-Description {}
.List_img {
  width: 30%;
  text-align: center;
}
.List_img img {
  height: 150px;
  width: auto;
}
.List_t {
  width: 60%;
}
#sin_cas03 {
  position: relative;
}
#sin_cas03::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 45%;
  background-color: #FAF3FA;
  z-index: -1;
}
.sin_cas_point_t {
  color: #36318F;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
/* お知らせ */
h3.h3_colum_cat {
  color: #36318F;
  font-size: 30px;
}
.col_day {
  text-align: right;
}

.sin_col_content_box div#toc_container{
	padding: 20px;
	margin: 40px 0;
}

.sin_col_content_box #toc_container li, #toc_container ul{
	margin-bottom: 5px;
}
.sin_col_content_box {
  padding: 40px;
  background: #fff;
  border-radius: 20px;
  margin-top: 40px;
}
.sin_col_content_box h2, .sin_col_content_box h3, .sin_col_content_box h4 {
  font-size: 26px;
  color: #36318F;
	margin-top: 40px;
  margin-bottom: 20px;
  border-bottom: 2px solid #414141;
  padding-bottom: 10px;
	text-align: left;
}
.sin_col_content_box p {
  margin-bottom: 20px;
}
.sin_col_content_box ol,
.sin_col_content_box ul{
	padding-left: 30px;
  padding-right: 0px;
  padding-top: 0px;
  padding-bottom: 20px;
}
.sin_col_content_box ol li,
.sin_col_content_box ul li{
	padding-left: 5px;
	margin-bottom: 5px;
}
.sin_col_content_box ol li::marker,
.sin_col_content_box ul li::marker{
	color: #36318F;
}
.sin_col_content_box .wp-block-image img{
	margin-bottom: 20px;
}
.col_mainimg img{
	height: 500px;
	object-fit: cover;
}
/* お問い合わせ */
.contact_box {
  background: #fff;
  padding: 40px;
  border: 1px solid #36318F;
  border-radius: 20px;
  margin-top: 60px;
}
table.tbl_contact {
  width: 100%;
  margin: 0 auto 40px;
  border-collapse: collapse;
}
table.tbl_contact tr th {
  color: #36318F;
  width: 30%;
	padding: 30px 0 30px 30px;
}
table.tbl_contact tr td {
	padding: 30px;
}
table.tbl_contact tr th, table.tbl_contact tr td {
  
}
table.tbl_contact tr {
  border-bottom: 1px solid #D9D9D9;
}
table.tbl_contact tr td input, table.tbl_contact tr td textarea, table.tbl_contact tr td select {
  background: #fff;
  padding: 10px;
  border-radius: 5px;
  width: 100%;
  border: 1px solid #D9D9D9;
}
table.tbl_contact tr td input.c_file {
  border: none;
}

table.tbl_contact tr th p{
	display: flex;
  justify-content: space-between;
  align-items: center;
}
.hissu{
	font-size: 12px;
	color: #fff;
	background: rgb(54, 49, 143);
	padding: 0px 5px;
	border-radius: 3px;

}
input#file-upload-button {
  margin-right: 20px;
}
input.c_btn {
  max-width: 250px;
  margin: 0 auto;
  display: block;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 60px;
  border-radius: 30px;
  position: relative;
  background: linear-gradient(30deg, #36318F, #A30E90);
  box-sizing: border-box;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  transition-duration: 0.2s;
}
input.back_button {
  max-width: 250px;
  margin: 0 auto;
  display: block;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 60px;
  border-radius: 30px;
  position: relative;
  background:#A2A2A2;
  box-sizing: border-box;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  transition-duration: 0.2s;
}
.scroll_bar {
    background-color: #fff;
    overflow-y: scroll;
    border-radius: 5px;
    height: 170px;
    border: 1px solid #303F6F;
    padding: 15px;
    font-size: 14px;
}
.scroll_bar h5{
	text-align: center;
	font-size: 18px;
}
.scroll_bar h6{
	font-size: 18px;
}
section#con02 {
  position: relative;
}
section#con02::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 50%;
  background-color: #fff;
  z-index: -1;
}


/*確認画面と完了画面を非表示*/
    .confirm_area,
    .thanks_area {
        display: none;
    }

    /*デフォルトのサンクスメッセージを非表示*/
    .wpcf7-response-output{
        display: none;
    }
.confirm_button:disabled {
    opacity: 0.4;
    pointer-events: none;
}
/* Large devices (desktops, less than 1200px)*/
@media (max-width: 1199.98px) {
  .h_logo img {
    width: 150px;
  }
  .h_menu ul li {
    font-size: 14px;
    padding: 5px 15px;
  }
 a .h_tel {
    font-size: 20px;
    margin-left: 20px;
  }
  .h_tel .h_telsub {
    letter-spacing: 1px;
  }
  .h_con a {
    font-size: 14px;
    padding: 10px 20px;
	  width: 150px;
  }
  .mv_bg {
    height: 60vh;
  }
	span.ser_num{
		font-size: 24px;
		height: 50px;
		width: 50px;
		    line-height: 45px;
	}
	.ser_t{
		font-size: 20px;
	}
.com_mes_name01,.com_mes_name02 {
    font-size: 30px;
    letter-spacing: 10px;
    margin-top: 30px;
    position: inherit;
	}
	.com_mes_name01 .com_mes_name{
		margin-right: 0;
		text-align: left;
	}
	.history .history__inner{
		width: 400px;
	}
	/* サービス紹介*/
	.ser_num{
		font-size: 60px;
	}
	h4.h4_ser{
		margin-top: -50px;
	}
	.fea_text{
		font-size: 18px;
	}
	.ser_check,
	.meritto_list{
		font-size: 16px;
	}
	.ret_lisk_t{
		font-size: 18px;
	}
	.riyu_title{
		font-size: 20px;
	}
	/* 残土処理サービス */
.soi_onayami_t {
  font-size: 22px;

}
	.retcase_t {
  font-size: 18px;
	}
	/* 舗装・外構工事 */
	.roa_tokucho_t{
		font-size: 18px;
		    padding: 5px 10px;
	}
}
/* Medium devices (tablets, less than 992px)*/
@media (max-width: 991.98px) {
  .h_logo {
    width: 45%;
  }
  .h_logo img {
    width: 130px;
	  margin-left: 20px;
  }
  a .h_tel {
    font-size: 19px;
    letter-spacing: 1px;
  }
  .h_tel .h_telsub {
    font-size: 9px;
  }
  .h_con {
    width: 200px;
	  margin-right: 20px;
  }
	ul.h_nav li a{
		font-size: 14px;
		padding: 0 0 0 12px;
	}
	.mv_bg {
    height: 50vh;
  }
  .header_title_bg {
    width: 42vw;
  }
	h2.h2_page{
		width: 50vw;
	}
	.h2_pagesub{
		font-size: 26px;
	}
  .btn_page01 a, .btn_page02 a {
    margin-top: 20px;
  }
  .cta_box {
    padding: 40px;
  }
  a .btn_cta01 {
    font-size: 18px;
    height: 200px;
  }
  a .btn_cta01 i {
    font-size: 40px;
  }
  .f_ctatel {
    font-size: 24px;
    margin-top: 10px;
  }
  a .btn_cta01 .f_telsub {
    font-size: 12px;
  }
  .f_menu ul li {
    width: 33.333%;
  }
  .main_text1 {
    font-size: 32px;
    bottom: 50%;
  }
  .main_text2 {
    font-size: 18px;
    bottom: 35%;
  }
  .rea_bg {
    width: 80%;
    margin: 0px auto 100px !important;
  }
  .rea_bg:last-child {
    margin-right: auto;
    margin-bottom: 0px !important;
  }
	
	
  .ser_inner {}
  .ser_box {
    width: calc((100% - 20px * 2) / 2);
    margin-left: 20px;
  }
  .ser_box:nth-child(3) {
    margin-left: 0px;
  }
  .ser_box:nth-child(4) {
    margin-left: 20px;
  }
  .news_data {
    width: 30%;
  }
	/* 会社案内*/
	.philo_box{
		width: 100%;
	}
	.philo_title{
		font-size: 20px;
		margin-top: 0;
	}
	.philo_c{
		font-size: 18px;
	}
	.history .history__inner{
		display: block;
		width: inherit;
	}
	.history_year{
		margin-left: 20px;
		font-size: 60px;
		justify-content: flex-end;
	}
	.history .history__item{
		margin-bottom: 80px;
	}
	.history_img{
		width: 50%;
		margin-top: 10px;
	}
	.his_fu_copy{
		font-size: 22px;
	}
	/* サービス紹介*/
	.ser_num{
		font-size: 50px;
	}
	h4.h4_ser{
		font-size: 24px;
		margin-top: -40px;
	}
	.button-box{
		font-size: 16px;
	}
	.circle-arrow{
		width: 40px;
    height: 40px;
	}
	/* 擁壁工事*/
	.retcase{
		margin-top: 30px;
	}
	.ret_lisk{
		display: block;
	}
	.ret_lisk_t,
	.ret_lisk_p{
		width: 100%;
	}
	.ret_lisk_t{
		margin-bottom: 20px;
	}
	section#ret05{
	position: inherit;
		background:transparent;
		
	}
	#ret05::after{
		content: none;
	}
	.ret_tsuyomi_i{
		margin-top: 30px;
	}
		/* 残土処理サービス */
.soi_onayami_t {
  font-size: 18px;

}
	.retcase_t {
margin-top: 20px;
	}
	.soi_jyokenbox{
		margin-top: 20px;
	}
	.soi_ukeirebox{
		font-size: 18px;
	}
	.soi_ukeirearea{
		font-size: 16px;
		    padding: 5px 15px;
	}
	/* 舗装・外構工事 */
	.roa01_bg {
    width: 100%;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    top: 30px;
    writing-mode: horizontal-tb;

}
	.roa_shurui_img img{
		position: inherit;
		margin-top: 20px;
		width: 100%;
	}
	/* 地下シェルター */
	.und_copy{
		font-size: 18px;
	}
	.und_riyu_t{
		font-size: 16px;
		width: 150px;
	}
	.und_private_copy{
		font-size: 18px;
		width: 100%;
	}
	.und_link_text{
		font-size: 20px;
	}
	.und_link{
		height: 150px;
	}
	/* 採用情報*/
	.rec_workstyle_box{
		font-size: 16px;
	}
	.h4_rec_workstyle_sub{
		font-size: 18px;
	}
	.h4_rec_workstyle_sub2{
		font-size: 16px;
	}
	.voice_name,.voice_name2,.voice_q{
		font-size: 16px;
	}
	/* 施工事例*/
	h3.h3_castitle{
		font-size: 20px;
	}
	.List-Item-Content-Number{
		margin-right: 10px;
	}
	.List_img{
		margin-right: 10px;
	}
	.List_img img{
		height: 100px;
	}
	.List-Item-Content-Number-Line{
		        height: 198px;
        top: -165%;
	}
	.List-Item-Content-Title{
		font-size: 18px;
	}
}
/* Small devices (landscape phones, less than 768px)*/
@media (max-width: 767.98px) {
  .h_logo {
    width: 82%;
    justify-content: space-between;
  }
 a .h_tel {
    font-size: 20px;
    color: #303F6F;
  }
  .h_tel .h_telsub {
    font-size: 9px;
  }
	.mv_bg {
    height: 40vh;
  }
  .header_title_bg {
    width: 40vw;
  }
	.ser_inner {
    display: block;
  }
  .ser_box {
    width: 100%;
    margin-left: 0px;
    margin-bottom: 20px;
  }
  .ser_box:nth-child(4) {
    margin-left: 0px;
  }
	section#top03 .btn01_whi a {
	  margin-bottom: 20px;
		display: inline-block;
  }
	section#top04 .btn01 a{
		margin-bottom: 20px;
		display: inline-block;
	}
	

	h2.h2_page{
		font-size: 22px;
		font-weight: bold;
		margin-bottom: 20px;
	  width: 100%;
	}
	.h2_pagesub{
		font-size: 18px;
	}
	.h3_sub{
		font-size: 16px;
	}
  h3.h3_page {
    font-size: 22px;
    margin-bottom: 30px;
  }
  .page_title {
    display: block;
    top: 10%;
  }
  .page_title_sub {
    bottom: 8%;
  }
  .btn_page01 a, .btn_page02 a {
    font-size: 12px;
    padding: 10px;
    margin-top: 20px;
  }
  h4.h4_cta {
    font-size: 20px;
  }
  a .btn_cta01 {
    margin-top: 20px;
  }
  .f_menu ul {
    margin-top: 20px;
  }
  .f_menu ul li {
    width: 50%;
    padding: 10px 0px;
  }
  table.tbl_contact tr th, table.tbl_contact tr td {
    display: block;
    width: 100%;
  }
	
	/* サービス紹介*/
	.r-fluid, .l-fluid{
		height: inherit;
	}
	.r-fluid img,
	.l-fluid img{
		position: inherit;
		height: 250px;
		width: 100%;
	}
	.r-fluid .ser_check, .l-fluid .ser_check {
    margin-top: 20px;
		        margin-bottom: 20px;
}
	.meritto_l-fluid,
	.meritto_r-fluid{
		position: inherit;
		width: 100%;
		padding: 20px;
	}
	.button-box{
margin-top: 20px;
	}
	.riyu_num{
		margin-top: 30px;
	}
	/* 造成工事*/
	h3.h3_page_land{
		font-size: 26px;
	}
	.land_box{
		padding: 20px;
	}
	h4.h4_land_t{
		font-size: 20px;
		margin-top: 20px;
		margin-bottom: 10px;
	}
	.land_flow_num{
		font-size: 22px;
		margin-right: 20px;
	}
	.land_flow_t{
		font-size: 18px;
	}
	/* 擁壁工事*/
	section#ret02{
		background: #fff;
	}
	.ret_what_img{
		width: 250px;
		margin-bottom: 20px;
		margin-top: -120px;
	}
	.flow{
		padding: 20px;
	}
	.flow_num{
		padding-right: 10px;
	}
	.flow_t{
		padding-left: 10px;
	}
	.cta_sub{
		font-size: 16px;
	}
	.cta_t{
		font-size: 20px;
	}
	/* 残土処理サービス */
	section#soi02{
		background: #fff;
	}
	.soi_ukeirebox{
		margin-top: 20px;
	}
	.soi_ukeirearea{
		    padding: 5px 30px;
	}
	/* 舗装・外構工事 */
	.roa_tokucho_t{
margin-top: 40px;
	}
	.und_riyu_img{
		margin-bottom: 40px;
	}
	.roa01_bg {
    font-size: 50px;
}
	.roa_shurui_box{
		padding: 30px;
	}
	.roa_shurui_img img{
		height: auto;
	}
	/* 採用情報 */
	.rec_sche_box{
		padding: 30px 20px 20px;
	}
	table.tbl_rec_jobtype tr th, table.tbl_rec_jobtype tr td{
		display: block;
		width: 100%;
		padding: 20px 0px;
	}
	.jobtype_box{
		padding: 30px 30px;
	}
	.rec_voice_img{
		margin-top: 40px;
	}
	/* 施工事例*/
	h3.h3_castitle{
		font-size: 20px;
		margin-bottom: 10px;
	}
	.case_singlecat_lg{
		margin-bottom: 20px;
		        display: inline-block;
	}
	.sin_cas_content_box{
		padding: 20px;
	}
	.sin_cas_content_box table{
		width: 100%!important;
	}
	.List-Item-Content{
		flex-wrap: wrap;
	}
	.List-Item-Content-Number-Line{
display: none;
	}
	.List_img {
    width: 80%;
    text-align: center;
    display: block;
    margin: 0 0 20px auto;
}
	.List_t {
    width: 80%;
    display: block;
    margin: 0 0 0 auto;
}
	
	
	
	.h3_sub{
		margin-top: 5px;
	}
	    .fea_text {
        font-size: 16px;
    }
	.ser_p{
		min-height: inherit;
		margin-top: 10px;
	}
	.ser_t{
		margin-top: 10px;
	}
	.ser_box{
		margin-top: 60px;
	}
	.contact_box{
		padding: 20px;
	}
	table.tbl_contact tr th{
		padding: 10px 0 0px;
	}
	table.tbl_contact tr td{
		padding: 10px 0 10px;
	}
	.reco_box{
		display: block;
	}
	.reco_btn01,.reco_btn02{
		width: 100%;
	}
	table.tbl_rec_sche tr th{
		font-size: 16px;
		padding: 8px 12px 8px 0px;
		width: 40%;
	}
	table.tbl_rec_sche tr td {
    padding: 8px 0px 8px 12px;
}
	table.tbl_rec_jobtype tr th{
		padding: 20px 0px 10px;
	}
	table.tbl_rec_jobtype tr td{
		padding: 0px 0px 20px;
	}
	.voice_q{
		margin: 20px 0 10px;
	}
	.voice_name{
		margin-top: 10px;
	}
	.retcase_t{
		margin: 0px auto 20px;
		height: inherit;
	}
	.retcase_t:before{
		bottom: -10px;
	}
	.retcase_p{
		margin-bottom: 40px;
	}
	.soi_csr_t{
		height: inherit;
		margin-top: 40px;
		margin-bottom: 10px;
	}
	.roa_tokucho_t{
	margin-bottom: 20px;
	}
	table.tbl_roa_shurui tr th{
		width: 30%;
	}
	.roa_shurui_img img{
		margin-top: 30px;
	}
	.retcase{
		font-size: 18px;
		margin-bottom: 10px;
	}
	.ret_what_img{
		width: 150px;
	}
	.ret_tsuyomi_t{
		height: inherit;
		margin-bottom: 10px;
		margin-top: 0;
	}
	
	section#top01 .container{
		max-width: 100%;
		padding: 0;
	}
	.rea_bg{
		width: 90%;
	}
	.sin_col_content_box h2, .sin_col_content_box h3, .sin_col_content_box h4 {
  font-size: 18px;
}
	.sin_col_content_box{
		padding: 20px;
	}
	.col_mainimg img{
	height: 300px;
	object-fit: cover;
}
}
/* X-Small devices (portrait phones, less than 576px)*/
@media (max-width: 575.98px) {
  body {
    font-size: 14px;
  }
  .pc_none {
    display: block;
  }
  .sp_none {
    display: none;
  }
  section {
    padding: 60px 0;
  }
  .s_-100 {
    margin-top: -60px;
  }
  .h_logo img {
    width: 100px;
  }
  header {
    height: 70px !important;
  }
  .mv {
    height: 70vh;
  }
  .main_img {
    padding-top: 70px;
    height: 70vh;
  }
  .main_text1 {
    font-size: 20px;
    bottom: 60%;
  }
  .main_text2 {
    font-size: 16px;
    bottom: 20%;
    color: #303F6F;
  }
  .main_btn a {
    bottom: 0%;
  }
  .rea_t01 {
    font-size: 18px;
  }
  
  section#top03 .btn01_whi a {
    display: block;

  }
  .slick-slider {
    margin-top: 20px;
  }
  .slider .slick-slide {
    width: 280px;
  }
  .case_img {}
  .case_img img {
    height: 200px !important;
  }
  .case_comment {
    height: 110px;
  }
  section#top04 {
    background: #fff;
    margin-top: 0;
  }
  section#top04 .btn01 a {
    display: block;
  }
	
	
	.ac-parent{
		font-size: 14px;
	}	
  /* フッターCTA*/
  h4.h4_cta {
    margin-bottom: 20px;
  }
  a .btn_cta01 {
    font-size: 16px;
  }
  .f_ctatel {
    font-size: 20px;
  }
	main#page{
		margin-top: 70px;
	}
	
	.page_titlebgimg img{
		height: 400px;
	}
	.header_title_bg{
		height: 250px;
	}
	
	/* 会社案内*/
	.philo_copy{
		font-size: 20px;
	}
	.philo_copy_sub{
		margin-bottom: 40px;
	}
	
	.his_fu img{
		height: 200px;
		object-fit: cover;
	}
	.his_fu_copy{
		font-size: 18px;
		width: 100%;
	}
	table.tbl_com tr th, table.tbl_com tr td{
		padding: 20px 10px;
	}
	.reco_btn01 img,
	.reco_btn02 img{
		height: 220px;
	}
	.reco_btn01,
	.reco_btn02{
		height: 220px;
	}
	.reco_btn01_text{
		font-size:20px; 
	}
	.reco_btn01_text div{
		font-size: 14px;
	}
	.soi_jyoken_img{
		margin: 0 auto;
		text-align: center;
	}
	.soi_jyoken_img img {
    width: 100px;
    margin-bottom: 0px;
}
	.soi_jyoken_t{
		font-size: 16px;
	}
	
	
	
	

}
/* PCで電話番号リンクを無効に */
a[href*="tel:"] {}
@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}