/*--------------*/
/*共有*/
/*--------------*/
html {
  -webkit-text-size-adjust: none;
  word-break: break-all;
}

body {
  width: 100%;
  height: 100%;
  border: 0px;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  padding: 0 0 0 0;
  text-align: left;
  font-size: 16px;
  font-family: "游ゴシック体", "Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro",
    "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  line-height: 1.8;
  width: 100%;
  color: #413b32;
  color: #333333;
  overflow-x: hidden;
}

.Mintyoufont {
  font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN",
    HGS明朝E, メイリオ, Meiryo, serif;
}

.Goshicfont {
  font-family: "游ゴシック体", "Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro",
    "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 500;
}

/**独自のフォント***/
@font-face {
  font-family: "myfont";
  /*src: url('https://cdn.leafscape.be/logotype/logotype_web.woff2')*/
  /*src: url('../fonts/geneilatemin_v2.ttc') format("truetype");*/
  src: url("../fonts/geneilatemin_v2_1.woff2") format("woff2");
}

/******/

pre {
  /* Mozilla */
  white-space: -moz-pre-wrap;

  /* Opera 4-6 */
  white-space: -pre-wrap;

  /* Opera 7 */
  white-space: -o-pre-wrap;

  /* CSS3 */
  white-space: pre-wrap;

  /* IE 5.5+ */
  word-wrap: break-word;
}

*html body {
  font-size: 90%;
  line-height: 1.5;
}

a:link {
  color: #000000;
}

a:visited {
  color: #000000;
}

a:hover {
  color: #000000;
}

.bold {
  font-weight: bold;
}

/*フォントサイズ対策とか*/
table,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
}

img,
h1,
h2,
h3,
h4,
h5,
h6,
p,
form {
  border: none;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  vertical-align: bottom;
}

img {
  max-width: 100%;
  height: auto;
  width/***/
	: auto;
  transition: 0.5s;
}

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

/*オーバーフロー対策*/
.clearfix {
  display: inline-block;
}

.clearfix:after {
  content: ".";
  max-width: none; /* デスクトップは親幅いっぱい */
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0.1em;
}

* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/*オーバーフロー対策*/

/****画像ロールオーバ*****/
a:hover img.over {
  opacity: 0.5;
  filter: alpha(opacity=50);
  -ms-filter: "alpha( opacity=50 )";
  transition: 0.5s;
}

/*************************/

/************スマホ用ボタン表示非表示*************/
header {
  visibility: hidden;
}

/*ついてくるボタン*/
#totop {
  display: block;
}

#FixBT {
  width: 50px;
  z-index: 1500;
  position: fixed;
  top: 180px;
  right: 0px;
  display: block;
  display: none;
}

#FixBTBox {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  text-align: center;
  float: left;
}

#FixBTSP {
  z-index: 1500;
  position: fixed;
  bottom: 0px;
  left: 0px;
  width: 100%;
  display: none;
  text-align: center;
  background-color: #64b9e9;
  background-color: #64b9e9;
  padding: 10px;
  box-sizing: border-box;
}

/****トリミング（外装）*****/
.cover {
  display: inline-block;
  background-color: #ccc;
  background-position: center center;
  background-repeat: no-repeat;
  width: 180px;
  height: 140px;
  background-size: cover;
  vertical-align: bottom;
}

.newscover {
  display: inline-block;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  padding-top: 80%;
  background-color: #ffffff;
  background-size: cover;
  overflow: hidden;
  vertical-align: bottom;
}

.itemnewscover {
  display: inline-block;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  padding-top: 120%;
  background-color: #ffffff;
  background-size: cover;
  overflow: hidden;
  vertical-align: bottom;
}

.newsworkcover {
  display: inline-block;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  padding-top: 80%;
  background-size: cover;
  margin: 0 0 0 0;
  vertical-align: bottom;
}

.evecover {
  display: inline-block;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  padding-top: 100%;
  background-color: #ffffff;
  background-size: cover;
  overflow: hidden;
  vertical-align: bottom;
}

.evcoverbig {
  display: inline-block;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  padding-top: 70%;
  background-size: contain;
  overflow: hidden;
  background-color: #ffffff;
  vertical-align: bottom;
  box-sizing: border-box;
  border: 3px solid #f8f8f2;
  border: 3px solid #eee;
}

.voicecover {
  display: inline-block;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  padding-top: 70%;
  background-color: #ffffff;
  background-size: cover;
  overflow: hidden;
  vertical-align: bottom;
}

.blogcover {
  display: inline-block;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  padding-top: 70%;
  background-color: #ffffff;
  background-size: cover;
  overflow: hidden;
  vertical-align: bottom;
}

.workspagecover {
  display: inline-block;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  padding-top: 70%;
  background-size: cover;
  overflow: hidden;
  vertical-align: bottom;
}

.workscoverbig {
  display: inline-block;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  padding-top: 80%;
  background-size: contain;
  overflow: hidden;
  background-color: #f4f2e9;
  background-color: #f5f7fa;
  vertical-align: bottom;
}

.workscoversum {
  display: inline-block;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  padding-top: 60%;
  background-size: contain;
  overflow: hidden;
  background-color: #f4f2e9;
  background-color: #f5f7fa;
  vertical-align: bottom;
}

.pagenextA {
  display: inline-block;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  padding-top: 80%;
  background-size: cover;
  overflow: hidden;
  background-color: #f7f7f7;
}

.productscoverB {
  display: inline-block;
  background-color: #f6f6f6;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  background-size: contain;
}

/*--------------*/
/*画像の回り込み*/
/*--------------*/

.leftimg {
  float: left;
  margin-right: 5px;
}

.rightimg {
  float: right;
  margin-left: 5px;
}

/************************************
** video
************************************/
/*動画の最大幅を指定する*/
.video-container {
  max-width: 640px;
}

/*動画の大きさを調整*/
.video {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  height: auto;
}

/*動画を囲んでいるdiv目一杯に広げる*/
.video iframe,
.video object,
.video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/********/
/*ボタン拡大のエフェクト*/
/********/
.imgWrap {
  overflow: hidden;
  /*拡大時にはみ出た部分を隠す*/
}

.imgWrap img {
  display: block;
  transition-duration: 0.3s;
  /*変化に掛かる時間*/
}

.imgWrap img:hover {
  transform: scale(1.1);
  /*画像の拡大率*/
  transition-duration: 0.3s;
  /*変化に掛かる時間*/
}

/*中央ぞろえ*/
.centerbox {
  display: flex;
  /* 子要素をflexboxで揃える */
  flex-direction: column;
  /* 子要素をflexboxにより縦方向に揃える */
  justify-content: center;
  /* 子要素をflexboxにより中央に配置する */
  align-items: center;
  /* 子要素をflexboxにより中央に配置する */
}

/*************************/
/*************************/
/*--------------*/
/*ブロック構成*/
/*--------------*/
/********/
/*全体枠*/
/********/
#wrap {
  width: 100%;
  position: relative;
  height: auto !important;
  /*IE6対策*/
  height: 100%;
  /*IE6対策*/
  min-height: 100%;
}

.spshow {
  display: none;
}

/********/
/*ヘッダ*/
/********/
/***スライド文字****/

.SlideText {
  margin: 0 0 0 0;
  padding: 20px;
  position: absolute;
  bottom: 35%;
  left: 50%;
  transform: translateY(-35%) translateX(-50%);
  -webkit-transform: translateY(-35%) translateX(-50%);
  text-align: center;
  z-index: 900;
  box-sizing: border-box;
}

.ServiceTxt {
  width: 100%;
  margin: 0 0 0 0;
  padding: 10px;
  position: absolute;
  top: -160px;
  left: 0;
  box-sizing: border-box;
  color: #000000;
  font-size: 36px;
  text-align: center;
  text-shadow: #ffffff 1px 1px 10px, #ffffff -1px 1px 10px,
    #ffffff 1px -1px 10px, #ffffff -1px -1px 10px;
}

/*ヘッダ全体*/
#headerWrapper {
  width: 100%;
  height: 90px;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  box-sizing: border-box;
  float: left;
  position: absolute;
  /*fixedを設定して固定*/
  top: 0px;
  left: 0px;
  z-index: 999;
  transition: 0.8s;
  background: #ffffff; /* 常に白背景でメニュー文字を視認可能に */
}

.headerBottom {
  width: 100%;
  height: 40px;
  margin: -20px 0 0 0;
  padding: 0 0 0 0;
  box-sizing: border-box;
  background: url(../img/pharmacy_line.png);
  float: left;
}

.headRogo {
  width: 100%;
  float: left;
  max-width: 350px;
  margin: 0 0 0 0;
  padding: 3px;
  box-sizing: border-box;
}

.headMenuA {
  width: 100%;
  max-width: 280px;
  margin: 0 0 0 10px;
  padding: 3px;
  box-sizing: border-box;
  float: left;
  border-right: 1px dotted #ffffff;
}

.headMenuB {
  width: 100%;
  max-width: 500px;
  margin: 0 0 0 10px;
  padding: 3px;
  box-sizing: border-box;
  float: left;
}

.headMenuC {
  width: 100%;
  max-width: 100px;
  margin: 10px 0 0 0;
  padding: 3px;
  box-sizing: border-box;
  float: right;
}

#headerBox {
  width: 100%;
  margin: 0px 0 0px 0;
  padding: 0px;
  box-sizing: border-box;
  float: left;
  position: relative;
}

.headerBoxBG {
  width: 100%;
  margin: 0px 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  float: left;
}

#headerBox img {
  max-width: 100%;
  height: auto;
  width/***/
	: auto;
}

/* ヘッダーの高さを少しコンパクトに（ロゴとh1余白を調整） */
#headerBoxL h1 {
  margin: 0;
}
#headerBoxL {
  padding: 4px 10px;
}
/* ロゴ画像の最大高さを制限して帯を低くする */
#headerBoxL img {
  max-height: 60px;
  height: auto;
  width: auto;
}

/* ヘッダー内ナビの上下パディングを少しだけ減らす（整列は変更しない） */
#headerWrapper .GlobalNavi li a {
  padding: 8px 10px;
}

#headerBoxL {
  width: 30%;
  margin: 0px 0 0 0;
  max-width: 300px;
  padding: 10px;
  text-align: left;
  float: left;
  box-sizing: border-box;
  background-color: transparent; /* 白い帯の原因を除去 */
}

#headerBoxR {
  width: 70%;
  margin: 0px 0 0 0;
  padding: 0 0 0 0;
  box-sizing: border-box;
  text-align: left;
  float: right;
}

/* スマホのヘッダー（上部ロゴ）の高さを抑制 */
@media (max-width: 768px) {
  .AnimeSP img {
    margin: 16px 0 0 0 !important;
    max-width: 180px !important;
  }
}

#headerBoxRR {
  width: 15%;
  max-width: 180px;
  margin: 0px 0 0 0;
  padding: 0 0 0 0;
  box-sizing: border-box;
  text-align: left;
  float: right;
}

.headerBoxSub {
  width: 100%;
  margin: 0px 0 10px 0;
  padding: 0 0 0 0;
  box-sizing: border-box;
  text-align: right;
  float: right;
}

.headerBoxSubB {
  display: none;
  width: 100%;
  margin: 20px 0 0px 0;
  padding: 0 0 0 0;
  box-sizing: border-box;
  text-align: center;
  float: left;
}

/****/
/********/

/********/
/*下から現れるお問合せ*/
/********/

.fix-footer {
  bottom: -200px;
  /* 下にに隠す高さ */
  left: 0;
  text-align: center;
  width: 100%;
  margin: 0 auto;
  padding-top: 0px;
  padding-bottom: 0px;
  box-sizing: border-box;
  position: fixed;
  opacity: 0;
  /* 	最初読み込んだときは透過 */
  z-index: 1900;
  /*　他のアイテムに対して最上位のレイヤーになるように */
  /*opacity: 0; */
  box-sizing: border-box;
}

/********/
/*入れ替え用ヘッダ*/
/********/
.fix-header {
  line-height: 20px;
  top: -200px;
  /* 上に隠す鷹さ */
  left: 0;
  text-align: center;
  width: 100%;
  margin: 0 auto;
  color: #ffffff;
  padding: 10px 0;
  box-sizing: border-box;
  position: fixed;
  opacity: 0;
  /* 	最初読み込んだときは透過 */
  z-index: 2000;
  /*　他のアイテムに対して最上位のレイヤーになるように */
  /*opacity: 0; */
  background-color: #ffffff;
  box-shadow: 0px 7px 7px -5px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
}

.fix-header-contents {
  width: 100%;
  margin: 0 0 0px 0;
  padding: 0 0 0 0;
  float: left;
}

.fix-header ul {
  list-style-type: none;
}

.fix-header li {
  display: block;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  float: left;
  font-weight: 600;
}

.fix-header li a,
.fix-header li a:visited {
  display: block;
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  text-decoration: none;
  color: #ffffff;
  transition: 0.5s;
}

.fix-header li a:hover {
  color: #ffdada;
}

.fix-header li:last-child {
  margin-right: 0;
}

#fix-header-logo {
  float: left;
  padding: 3px;
  box-sizing: border-box;
  width: 25%;
  max-width: 200px;
  padding: 0px;
  text-align: center;
}

#fix-header-logo img {
  max-width: 200px;
}

#fix-header-menus {
  width: 75%;
  margin: 10px 20px 0 0;
  float: right;
  text-align: right;
}

#scroll-fix-menu {
  margin: 0px 10px 0 0;
  text-align: left;
  float: right;
}

#scroll-fix-menu li {
  position: relative;
}

#scroll-fix-menu img {
  padding-bottom: 5px;
}

#scroll-fix-menu .current-menu-item img {
}

#scroll-fix-menu a img:hover {
}

/***アニメ***/
.iosSlider {
  display: block;
}

.iosSliderSP {
  width: 100%;
  float: left;
  display: none;
}

.iosSliderSP img {
  max-width: 100%;
  height: auto;
  width/***/
	: auto;
}

.AnimeSP {
  display: none;
  width: 100%;
  padding: 0 0 0 0;
  text-align: center;
  box-sizing: border-box;
  float: left;
  background-color: #ffffff;
  background: url(../img/head_line.png);
  background-position: top left;
  background-repeat: repeat-x;
}

/* ==========================
   スマホヘッダー最適化
   768px以下でロゴ配置・余白を調整し、
   PC用の固定ヘッダーは非表示にする
   ========================== */
@media screen and (max-width: 768px) {
  /* PC用の固定ヘッダーは非表示 */
  .fix-header {
    display: none !important;
  }
  #fix-header-logo,
  #fix-header-menus,
  .fix-header-contents {
    display: none !important;
  }

  /* ロゴのサイズと位置を適正化（インラインstyleを上書き） */
  .AnimeSP {
    padding-top: 8px;
  }
  .AnimeSP a img {
    max-width: 200px !important; /* 目視でバランスの良いサイズ */
    width: 100% !important;
    height: auto !important;
    margin: 4px auto 12px !important; /* 上の余白を縮小し中央寄せ */
    display: block;
  }
}

/********/
/***ボタン***/
.LinkBT {
  font-size: 14px;
  width: 100%;
  text-align: center;
  margin: 0px 0 0 0;
  box-sizing: border-box;
  padding: 5px;
  float: left;
  background-color: #fdb300;
  background-color: #0070be;
  transition: 0.5s;
  border-radius: 30px;
}

.LinkBT a {
  display: block;
  width: 100%;
  /* 横幅 */
  padding: 10px;
  /* a要素内の余白 */
  box-sizing: border-box;
  color: #ffffff;
  text-decoration: none;
  transition: 0.5s;
  position: relative;
}

.LinkBT:hover {
  filter: alpha(opacity=70);
  /* IE 6,7*/
  -ms-filter: "alpha(opacity=70)";
  /* IE 8,9 */
  -moz-opacity: 0.7;
  /* FF , Netscape */
  -khtml-opacity: 0.7;
  /* Safari 1.x */
  opacity: 0.7;
  zoom: 1;
  /*IE*/
  transition: 0.5s;
}

.LinkBTREC {
  font-size: 16px;
  width: 100%;
  text-align: center;
  margin: 0px 0 0 0;
  box-sizing: border-box;
  padding: 5px;
  float: left;
  transition: 0.5s;
  border: 2px solid #ffffff;
  border: 2px solid #64b9e9;
  border-radius: 30px;
}

.LinkBTREC a {
  display: block;
  width: 100%;
  /* 横幅 */
  padding: 5px;
  /* a要素内の余白 */
  box-sizing: border-box;
  color: #ffffff;
  text-decoration: none;
  transition: 0.5s;
  position: relative;
}

.LinkBTREC:hover {
  filter: alpha(opacity=70);
  /* IE 6,7*/
  -ms-filter: "alpha(opacity=70)";
  /* IE 8,9 */
  -moz-opacity: 0.7;
  /* FF , Netscape */
  -khtml-opacity: 0.7;
  /* Safari 1.x */
  opacity: 0.7;
  zoom: 1;
  /*IE*/
  transition: 0.5s;
}

.LinkBTMore {
  display: inline-block;
  float: right;
}

.LinkBTMore a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  padding: 10px 25px 10px 30px;
  border: 1px solid #0070be;
  background-color: #0070be;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  position: relative;
  transition: all 0.3s ease;
}

.LinkBTMore a::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  margin-left: 12px;
  transition: all 0.3s ease;
}

.LinkBTMore:hover a {
  background-color: #fff;
  color: #0070be;
}

.LinkBTMore:hover a::after {
  border-color: #0070be;
  transform: rotate(45deg) translateX(2px);
}

.LinkBTMore--white a {
  background-color: #fff;
  color: #0070be;
  border-color: #0070be;
}
.LinkBTMore--white a::after {
  border-color: #0070be;
}
.LinkBTMore--white:hover a {
  background-color: #0070be;
  color: #fff;
}
.LinkBTMore--white:hover a::after {
  border-color: #fff;
}

.arrow_r::after {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -4px;
  transform: rotate(45deg);
}

.arrow_rg::after {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #64b9e9;
  border-right: solid 2px #64b9e9;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -4px;
  transform: rotate(45deg);
}

.arrow_rgr::after {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #e56811;
  border-right: solid 2px #e56811;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -4px;
  transform: rotate(45deg);
}

.LinkBTA {
  font-size: 14px;
  width: 100%;
  text-align: center;
  margin: 0px 0 0 0;
  box-sizing: border-box;
  padding: 5px;
  float: left;
  background-color: #ffffff;
  transition: 0.5s;
  border-radius: 30px;
  border: 2px solid #e56811;
}

.LinkBTA a {
  display: block;
  width: 100%;
  /* 横幅 */
  padding: 10px;
  /* a要素内の余白 */
  box-sizing: border-box;
  color: #e56811;
  text-decoration: none;
  transition: 0.5s;
  position: relative;
}

.LinkBTA:hover {
  filter: alpha(opacity=70);
  /* IE 6,7*/
  -ms-filter: "alpha(opacity=70)";
  /* IE 8,9 */
  -moz-opacity: 0.7;
  /* FF , Netscape */
  -khtml-opacity: 0.7;
  /* Safari 1.x */
  opacity: 0.7;
  zoom: 1;
  /*IE*/
  transition: 0.5s;
}

.LinkBTB {
  font-size: 16px;
  width: 100%;
  text-align: center;
  margin: 0px 0 0 0;
  box-sizing: border-box;
  padding: 5px;
  float: left;
  background-color: #78470e;
  font-weight: bold;
  color: #ffffff;
  transition: 0.5s;
}

.LinkBTB a {
  display: block;
  width: 100%;
  /* 横幅 */
  padding: 10px;
  /* a要素内の余白 */
  box-sizing: border-box;
  color: #ffffff;
  text-decoration: none;
  transition: 0.5s;
}

.LinkBTB:hover {
  filter: alpha(opacity=70);
  /* IE 6,7*/
  -ms-filter: "alpha(opacity=70)";
  /* IE 8,9 */
  -moz-opacity: 0.7;
  /* FF , Netscape */
  -khtml-opacity: 0.7;
  /* Safari 1.x */
  opacity: 0.7;
  zoom: 1;
  /*IE*/
  transition: 0.5s;
}

.LinkBTC {
  font-size: 16px;
  width: 100%;
  text-align: center;
  margin: 5px 0 0 0;
  box-sizing: border-box;
  padding: 5px;
  float: left;
  background-color: #ffffff;
  font-weight: bold;
  color: #000000;
  transition: 0.5s;
}

.LinkBTC a {
  display: block;
  width: 100%;
  /* 横幅 */
  padding: 10px;
  /* a要素内の余白 */
  box-sizing: border-box;
  color: #000000;
  text-decoration: none;
  transition: 0.5s;
}

.LinkBTC:hover {
  filter: alpha(opacity=70);
  /* IE 6,7*/
  -ms-filter: "alpha(opacity=70)";
  /* IE 8,9 */
  -moz-opacity: 0.7;
  /* FF , Netscape */
  -khtml-opacity: 0.7;
  /* Safari 1.x */
  opacity: 0.7;
  zoom: 1;
  /*IE*/
  transition: 0.5s;
}

.LinkBTFooter {
  font-size: 14px;
  width: 100%;
  text-align: left;
  margin: 0px 0 0 0;
  box-sizing: border-box;
  padding: 5px;
  float: left;
  transition: 0.5s;
  border-bottom: 1px dotted #404040;
}

.LinkBTFooter a {
  display: block;
  width: 100%;
  /* 横幅 */
  padding: 5px;
  /* a要素内の余白 */
  box-sizing: border-box;
  color: #404040;
  text-decoration: none;
  transition: 0.5s;
  position: relative;
}

.LinkBTFooter:hover {
  filter: alpha(opacity=70);
  /* IE 6,7*/
  -ms-filter: "alpha(opacity=70)";
  /* IE 8,9 */
  -moz-opacity: 0.7;
  /* FF , Netscape */
  -khtml-opacity: 0.7;
  /* Safari 1.x */
  opacity: 0.7;
  zoom: 1;
  /*IE*/
  transition: 0.5s;
}

.LinkBTNEWC {
  font-size: 14px;
  width: 100%;
  text-align: center;
  margin: 0px 0 0 0;
  box-sizing: border-box;
  padding: 5px;
  float: left;
  background-color: #ffb415;
  transition: 0.5s;
  border-radius: 30px;
}

.LinkBTNEWC a {
  display: block;
  width: 100%;
  /* 横幅 */
  padding: 5px;
  /* a要素内の余白 */
  box-sizing: border-box;
  color: #ffffff;
  text-decoration: none;
  transition: 0.5s;
  position: relative;
}

.LinkBTNEWC:hover {
  filter: alpha(opacity=70);
  /* IE 6,7*/
  -ms-filter: "alpha(opacity=70)";
  /* IE 8,9 */
  -moz-opacity: 0.7;
  /* FF , Netscape */
  -khtml-opacity: 0.7;
  /* Safari 1.x */
  opacity: 0.7;
  zoom: 1;
  /*IE*/
  transition: 0.5s;
}

.LinkBTARROW {
  display: block;
  color: #000000;
  font-size: 18px;
  width: 100%;
  /* 横幅 */
  padding: 5px;
  /* a要素内の余白 */
  box-sizing: border-box;
  color: #ffffff;
  text-decoration: none;
  transition: 0.5s;
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.LinkBTARROW:hover {
  filter: alpha(opacity=70);
  /* IE 6,7*/
  -ms-filter: "alpha(opacity=70)";
  /* IE 8,9 */
  -moz-opacity: 0.7;
  /* FF , Netscape */
  -khtml-opacity: 0.7;
  /* Safari 1.x */
  opacity: 0.7;
  zoom: 1;
  /*IE*/
  transition: 0.5s;
}

.LinkBTARROWCE {
  display: block;
  color: #000000;
  font-size: 18px;
  width: 100%;
  /* 横幅 */
  padding: 5px;
  /* a要素内の余白 */
  box-sizing: border-box;
  color: #ffffff;
  text-decoration: none;
  transition: 0.5s;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.LinkBTARROWCE:hover {
  filter: alpha(opacity=70);
  /* IE 6,7*/
  -ms-filter: "alpha(opacity=70)";
  /* IE 8,9 */
  -moz-opacity: 0.7;
  /* FF , Netscape */
  -khtml-opacity: 0.7;
  /* Safari 1.x */
  opacity: 0.7;
  zoom: 1;
  /*IE*/
  transition: 0.5s;
}

/*区切り線*/
.KusuriLine {
  width: 100%;
  height: 22px;
  margin: 50px 0 0 0;
  padding: 0 0 0 0;
  box-sizing: border-box;
  background: url(../img/kusuri_line.png);
  background-position: top left;
  background-repeat: repeat-x;
  float: left;
}

/********/
/*見出し横線*/
/********/
.head-border-right {
  display: flex;
  align-items: center;
}

.head-border-right:after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #ffffff;
}

.head-border-right:before {
  margin-right: 1rem;
}

.head-border-right:after {
  margin-left: 1rem;
}

/********/
/*見出し横線2*/
/********/
.head-border-right-se {
  display: flex;
  align-items: center;
}

.head-border-right-se:after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #e26810;
}

.head-border-right-se:before {
  margin-right: 1rem;
}

.head-border-right-se:after {
  margin-left: 1rem;
}

/********/
/*TOP*/
/********/
#ALLBGWrapper {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  float: left;
}

#ALLBGWrapper img {
  max-width: 100%;
  height: auto;
  width/***/
	: auto;
}

.TopSlide {
  width: 100%;
  text-align: left;
  margin: -50px 0 0 0;
  padding: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.TOPCABOXL {
  width: 50%;
  text-align: left;
  margin: 0 0 0 0;
  float: left;
}

.TOPCABOXR {
  width: 50%;
  text-align: left;
  padding: 25px;
  margin: 100px 0 0 -40px;
  float: left;
  background-color: #ffffff;
  box-sizing: border-box;
}

.TOPbCABOXL {
  width: 50%;
  text-align: left;
  margin: 0 0 0 0;
  float: left;
}

.TOPbCABOXR {
  width: 50%;
  padding: 20px;
  box-sizing: border-box;
  font-size: 22px;
  color: #595757;
  text-align: left;
  margin: 0px 0 0px 0;
  float: left;
}

.TopPhaBG {
  /* background: url(../img/take_bg_1.webp); */
  background-position: top right;
  background-repeat: no-repeat;
}

.NewsBG {
  /* background: url(../img/take_bg_2.webp); */
  background-position: top right;
  background-repeat: no-repeat;
}

.TopSerBG {
  background: url(../img/take_bg_3.webp);
  background-position: top right;
  background-repeat: no-repeat;
}

.RecruiteBG {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  box-sizing: border-box;
  text-align: center;
  background: url(../img/rec_bg.jpg);
  background-position: top right;
  background-repeat: no-repeat;
  background-size: cover;
  float: left;
}

.MaruceBG {
  width: 100%;
  min-height: 550px;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  box-sizing: border-box;
  text-align: center;
  background: url(../img/ca_img_1.png);
  background-position: top right;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  right: 0;
}

/***TOP店舗情報*****/

.TopPhaBoxALL {
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  margin: 0px 0 0 0;
  text-align: center;
  float: left;
}

.TopPhaBoxL {
  width: 33.3%;
  padding: 35px;
  box-sizing: border-box;
  margin: 0px 0 0 0;
  text-align: center;
  float: left;
}

.TopPhaBoxR {
  width: 50%;
  padding: 20px;
  box-sizing: border-box;
  margin: 0px 0 0 0;
  text-align: center;
  float: left;
}

.TopPhaBox {
  width: 100%;
  padding: 0px;
  box-sizing: border-box;
  margin: 0px 0 0 0;
  text-align: center;
  float: left;
}

.TopPhaBoxA {
  width: 100%;
  padding: 0px;
  box-sizing: border-box;
  margin: 0px 0 0 0;
  text-align: center;
  float: left;
}

.TopPhaBoxB {
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  margin: 0 0 0 0;
  text-align: center;
  float: left;
}

.TopPhaBoxC {
  width: 100%;
  padding: 0px;
  box-sizing: border-box;
  margin: -15px 0 0 0;
  text-align: center;
  float: left;
}

.TopPhaBoxMidashi {
  width: 100%;
  font-size: 40px;
  line-height: 1;
  padding: 10px;
  box-sizing: border-box;
  margin: 0px 0 0 0;
  text-align: left;
  float: left;
}

.TopPhaBoxMidashiA {
  width: 100%;
  font-size: 16px;
  font-weight: normal;
  padding: 0px;
  box-sizing: border-box;
  margin: 0px 0 0 0;
  text-align: left;
  float: left;
}

.TopPhaBoxMidashiB {
  width: 100%;
  padding: 0px;
  font-size: 24px;
  box-sizing: border-box;
  margin: 0px 0 0 0;
  text-align: left;
  float: left;
}

.TopPhaBoxMidashiC {
  width: 100%;
  padding: 0px;
  box-sizing: border-box;
  margin: 0px 0 0 0;
  text-align: center;
  float: left;
}

/***店舗情報*****/

.TenpoALLBox {
  width: 100%;
  padding: 0px;
  box-sizing: border-box;
  margin: 40px 0 0 0;
  text-align: center;
  float: left;
}

.TenpoMainPhoto {
  width: 100%;
  padding: 0px;
  box-sizing: border-box;
  margin: 0px 0 0 0;
  text-align: center;
  float: left;
}

.TenpoSumPhotoBox {
  width: 100%;
  padding: 0px;
  box-sizing: border-box;
  margin: 10px 0 0 0;
  text-align: center;
  float: left;
}

.TenpoSumPhotoBox div {
  width: 33.3%;
  padding: 5px;
  box-sizing: border-box;
  margin: 0px 0 0 0;
  text-align: center;
  float: left;
}

.TenpoInfoBox {
  width: 100%;
  padding: 0px;
  box-sizing: border-box;
  margin: 10px 0 0 0;
  text-align: center;
  float: left;
}

.TenpoInfoBoxL {
  width: 50%;
  padding: 10px;
  box-sizing: border-box;
  margin: 0px 0 0 0;
  text-align: center;
  float: left;
}

.tenpo-css {
  margin: 0px 0 0px 0;
  position: relative;
  width: 100%;
  padding-top: 60%;
  float: left;
}

.tenpo-css iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.TenpoInfoBoxR {
  width: 50%;
  line-height: 1.3;
  padding: 20px;
  box-sizing: border-box;
  margin: 0px 0 0 0;
  text-align: center;
  float: left;
}

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

.CompanyList {
  width: 100%;
  padding: 10px;
  border-bottom: 1px dotted #000000;
  box-sizing: border-box;
  margin: 10px 0 0 0;
  text-align: center;
  float: left;
}

.CompanyListL {
  width: 25%;
  font-weight: bold;
  font-size: 16px;
  padding: 5px 10px 5px 10px;
  box-sizing: border-box;
  margin: 0 0 0 0;
  text-align: left;
  float: left;
}

.CompanyListR {
  width: 75%;
  font-size: 16px;
  padding: 5px 10px 5px 10px;
  box-sizing: border-box;
  margin: 0 0 0 0;
  text-align: left;
  float: left;
}

/**共通のブルーボックス***/

.BlueAllBox {
  width: 100%;
  float: left;
  padding: 0px;
  margin: 0 0 0 0;
  text-align: left;
  box-sizing: border-box;
  border: 3px solid #3e8e5d;
  background-color: #ffffff;
}

.BlueMidashiBox {
  width: 100%;
  font-size: 28px;
  color: #ffffff;
  background-color: #3e8e5d;
  float: left;
  padding: 15px;
  margin: 0 0 0 0;
  text-align: left;
  box-sizing: border-box;
}

.BlueMidashiBoxL {
  width: 50%;
  font-size: 28px;
  float: left;
  padding: 0;
  margin: 0 0 0 0;
  text-align: left;
  box-sizing: border-box;
}

.BlueMidashiBoxR {
  width: 49%;
  font-size: 18px;
  float: right;
  padding: 5px;
  margin: 0 0 0 0;
  text-align: right;
  box-sizing: border-box;
}

.BlueMainBox {
  width: 100%;
  float: left;
  padding: 40px;
  margin: 0 0 0 0;
  text-align: left;
  box-sizing: border-box;
}

/********/
/***Q&A**/
/********/
.QAmidashiBox {
  width: 100%;
  line-height: 1;
  float: left;
  color: #ffffff;
  padding: 80px 10px 80px 10px;
  margin: 0 0 0 0;
  text-align: center;
  background-position: top center;
  background-repeat: no-repeat;
  box-sizing: border-box;
  background-size: cover;
}

.QAListBox {
  width: 100%;
  float: left;
  padding: 0;
  margin: 40px 0 0 0;
  text-align: left;
  box-sizing: border-box;
}

.QAListBox:first-child {
  margin: 0px 0 0 0;
}

.QAListBoxA {
  width: 100%;
  color: #3e8e5d;
  font-size: 20px;
  float: left;
  padding: 10px;
  margin: 0 0 0 0;
  text-align: left;
  box-sizing: border-box;
  border-bottom: 1px dotted #3e8e5d;
}

.QAListBoxB {
  width: 100%;
  color: #000000;
  float: left;
  font-size: 16px;
  padding: 10px;
  margin: 0 0 0 0;
  text-align: left;
  box-sizing: border-box;
}

/********/

.FlowerBoxALL {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  float: left;
  background-color: #efefef;
}

.FlowerBoxA {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  float: left;
}

.FlowerBoxAL {
  width: 50%;
  margin: 0 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  float: left;
}

.FlowerBoxAR {
  width: 50%;
  margin: 0 0 0 0;
  padding: 10px 10px 10px 50px;
  box-sizing: border-box;
  float: left;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.FlowerBoxB {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  float: left;
}

.FlowerBoxBL {
  width: 50%;
  margin: 0 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  float: right;
}

.FlowerBoxBR {
  width: 50%;
  margin: 0 0 0 0;
  padding: 10px 50px 10px 100px;
  box-sizing: border-box;
  float: left;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.FlowerText {
  width: 100%;
  margin: 0px 0 0 0;
  padding: 0px;
  text-align: left;
  box-sizing: border-box;
  float: left;
}

.FlowerTextA {
  width: 100%;
  font-size: 18px;
  margin: 0 0 0 0;
  padding: 0px;
  text-align: left;
  box-sizing: border-box;
  float: left;
}

.FlowerTextB {
  width: 100%;
  font-size: 30px;
  margin: 0 0 0 0;
  padding: 0px;
  text-align: left;
  box-sizing: border-box;
  float: left;
}

.FlowerTextC {
  width: 100%;
  color: #c0a275;
  font-size: 18px;
  margin: 0 0 0 0;
  padding: 0px;
  text-align: left;
  box-sizing: border-box;
  float: left;
}

.FlowerTextD {
  width: 100%;
  margin: 20px 0 0 0;
  padding: 0px;
  text-align: left;
  box-sizing: border-box;
  float: left;
}

.FlowerBGA {
  width: 100%;
  height: 100%;
  float: left;
  background: url(../img/1f_bg.jpg);
  background-position: top center;
  background-repeat: no-repeat;

  border-radius: 20px 0 0 20px;
}

.FlowerBGB {
  width: 100%;
  height: 100%;
  float: left;
  background: url(../img/2f_bg.jpg);
  background-position: top center;
  background-repeat: no-repeat;

  border-radius: 0 20px 20px 0;
}

/***********/
/***********/

/*****店舗リストボタン******/
/***********/

.TenpoListBT {
  width: 100%;
  margin: 0 0 0 0;
  padding: 10px;
  text-align: center;
  float: left;
  box-sizing: border-box;
}

.TenpoListBT li {
  list-style: none;
  float: left;
  width: 25%;
  margin: 10px 0 0 0;
  padding: 10px;
  text-align: center;
  text-decoration: none;
  position: relative;
  box-sizing: border-box;
}

/***********/
/***********/

.AboutBG {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: center;
  background: url(../img/bio_bg.png);
  background-position: center center;
  background-repeat: no-repeat;
  float: left;
}

.AboutBOX {
  width: 100%;
  margin: 0 0 0 0;
  text-align: center;
  float: left;
}

.AboutBOX li {
  display: inline-block;
  float: left;
  width: 33.3%;
  margin: 20px 0 0 0;
  padding: 20px;
  text-align: center;
  text-decoration: none;
  position: relative;
  box-sizing: border-box;
  color: #ffffff;
}

.AboutIMG {
  width: 100%;
  margin: 0 0 0 0;
  text-align: center;
  float: left;
  box-sizing: border-box;
}

.AboutText {
  width: 80%;
  margin: -15px 0 0 -15px;
  padding: 0px;
  text-align: left;
  float: left;
  color: #000000;
  box-sizing: border-box;
  background-color: #ffffff;
}

.AboutTextA {
  width: 20%;
  font-size: 30px;
  border-bottom: 3px solid #000000;
  margin: 0 0 0 0;
  padding: 3px;
  text-align: center;
  float: left;
  box-sizing: border-box;
}

.AboutTextB {
  width: 80%;
  font-size: 17px;
  margin: 0 0 0 0;
  padding: 10px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

.ServiceBG {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: center;
  background: url(../img/se_bg.webp);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  float: left;
}

.WEcanBG {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: center;
  background: url(../img/wecan_bg.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  float: left;
  border-radius: 20px 20px 0 0;
  box-sizing: border-box;
}

.WEcanMARUBG {
  width: 100%;
  margin: 0 0 0 0;
  padding: 100px 0 0 0;
  text-align: center;
  background: url(../img/maru_bg.png);
  background-position: bottom center;
  background-repeat: no-repeat;
  float: left;
  box-sizing: border-box;
}

.WEcanALLBOX {
  width: 100%;
  margin: 0 0 0 0;
  padding: 10px;
  float: left;
  box-sizing: border-box;
}

.WEcanALLBOX span {
  font-family: "Cardo", serif;
  font-size: 1.5rem;
}

.ServiceTxtBG {
  border-radius: 10px;
}

/******角丸*****/
.Kadomaru {
  border-radius: 20px;
  padding: 10px;
  background-color: #ffffff;
  box-sizing: border-box;
  font-weight: bold;
  display: inline-block;
}

.CaImgBG {
  position: absolute;
  text-align: right;
  top: 0;
  right: 0;
  width: 100%;
  max-width: 800px;
  background-size: cover;
}

/******角丸*****/

#TOPWrapper {
  width: 100%;
  max-width: 1400px;
  margin: 20px auto;
  padding: 0 0 0 0;
  text-align: center;
}

#TOPIMG {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

#TOPIMG img {
  max-width: 100%;
  height: auto;
  width/***/
	: auto;
}

#ALLTOPBTBOX {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}

.ContentsBTLine {
  margin-top: 6% !important;
  background-size: auto auto;
  background-color: rgba(250, 247, 241, 1);
  background-image: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 10px,
    rgba(237, 240, 227, 1) 10px,
    rgba(237, 240, 227, 1) 15px
  );
}

.TOPBTBOX {
  width: 100%;
  margin: 0 0 0 0;
  text-align: center;
  float: left;
}

.TOPBTBOX li {
  display: inline-block;
  float: left;
  width: 33.3%;
  margin: 0px 0 0 0;
  padding: 0px;
  text-align: center;
  text-decoration: none;
  position: relative;
  box-sizing: border-box;
  color: #ffffff;
}

.TOPBTBOX li:nth-child(1) {
  width: 50%;
}

.TOPBTBOX li:nth-child(2) {
  width: 50%;
}

.TOPBTBOX li a {
  color: #ffffff;
  text-decoration: none;
  transition: 0.5s;
}

.TOPBTBOX li a:hover {
  filter: alpha(opacity=70);
  /* IE 6,7*/
  -ms-filter: "alpha(opacity=70)";
  /* IE 8,9 */
  -moz-opacity: 0.7;
  /* FF , Netscape */
  -khtml-opacity: 0.7;
  /* Safari 1.x */
  opacity: 0.7;
  zoom: 1;
  /*IE*/
  transition: 0.5s;
}

/* --- 3項目版 TOP ボタン用（会社概要・薬局を除外した時） --- */
.TOPBTBOX--three li {
  width: 33.333%;
}
.TOPBTBOX--three li:nth-child(1),
.TOPBTBOX--three li:nth-child(2) {
  width: 33.333%;
}

@media screen and (max-width: 600px) {
  .TOPBTBOX--three li,
  .TOPBTBOX--three li:nth-child(1),
  .TOPBTBOX--three li:nth-child(2) {
    width: 100%;
  }
}

/* TOPBTBOXを横幅いっぱいに */
.topbtbox-fullwidth {
  max-width: none !important;
}
.topbtbox-fullwidth .TOPBTBOX {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  column-gap: 0 !important;
  overflow: hidden; /* サブピクセルのズレ対策 */
}
.topbtbox-fullwidth .TOPBTBOX li {
  float: none;
  display: block;
  width: auto;
  margin: 0 !important;
  padding: 0 !important;
}
.topbtbox-fullwidth .TOPBTBOX li,
.topbtbox-fullwidth .TOPBTBOX li a,
.topbtbox-fullwidth .TOPBTBOX li .w-100 {
  display: block;
  width: 100%;
  text-align: left;
  float: none;
}
.topbtbox-fullwidth .TOPBTBOX li img {
  display: block;
  width: 100% !important;
  height: auto;
}

/* macOS/Retinaでのサブピクセル隙間対策としてPC画像をわずかにオーバーラップ */
.topbtbox-fullwidth .TOPBTBOX li .pcshow img {
  width: calc(100% + 2px) !important;
  margin-left: -1px;
}
.topbtbox-fullwidth .TOPBTBOX li:first-child .pcshow img {
  margin-left: 0;
}

.topbtbox-fullwidth .TOPBTBOX li > a {
  display: block;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

@media screen and (max-width: 600px) {
  .topbtbox-fullwidth .TOPBTBOX {
    grid-template-columns: 1fr;
  }
  .topbtbox-fullwidth .TOPBTBOX li {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
  }
  .topbtbox-fullwidth .TOPBTBOX li .pcshow img {
    width: 100% !important;
    margin-left: 0;
  }
}

/* タブレット以下では必ずPC画像を非表示、SP画像を表示 */
@media screen and (max-width: 1024px) {
  .topbtbox-fullwidth .TOPBTBOX li .pcshow {
    display: none !important;
  }
  .topbtbox-fullwidth .TOPBTBOX li .spshow {
    display: block !important;
  }
}

.TOPLINK {
  width: 100%;
  text-align: right;
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 5px;
  box-sizing: border-box;
  z-index: 999;
  /* 必要であればリンク要素の重なりのベース順序指定 */
}

/* =============================
   Fix: 微小な隙間(1px程度)の解消
   対象: トップの ALLBGWrapper（.ContentsBTLine）直後に
        .clearfix を挟んで .ContactBG が来るケース
   目的: サブピクセル描画により生じる線状の隙間を解消
   影響範囲を最小化するため隣接セレクタで限定
   ============================= */
.ContentsBTLine + .clearfix + .ContactBG {
  margin-top: -1px !important;
}

.TOPBTimg {
  width: 100%;
  text-align: center;
  padding: 0px;
  box-sizing: border-box;
  float: left;
}

.TOPBTtext {
  width: 100%;
  text-align: center;
  padding: 10px;
  box-sizing: border-box;
  color: #000000;
  float: left;
}

.TOPBTtextALL {
  width: 100%;
  text-align: left;
  float: left;
  padding: 0px;
  box-sizing: border-box;
}

.TOPBTtextA {
  font-size: 30px;
  width: 100%;
  text-align: center;
  padding: 5px;
  box-sizing: border-box;
  border-bottom: 4px solid #000000;
  font-style: oblique;
}

.TOPBTtextB {
  font-size: 16px;
  width: 100%;
  text-align: center;
  padding: 5px;
  box-sizing: border-box;
}

.TOPBTBOX li img {
  max-width: 100%;
  height: auto;
  width/***/
	: auto;
}

.TOPBTA {
  background: url(../img/top_bt_bg_1.jpg);
  background-position: top left;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 350px;
}

.TOPBTB {
  background: url(../img/top_bt_bg_2.jpg);
  background-position: top left;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 400px;
}

.TOPBTC {
  background: url(../img/top_bt_bg_3.jpg);
  background-position: top left;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 400px;
}

.TOPBTD {
  background: url(../img/top_bt_bg_4.jpg);
  background-position: top left;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 400px;
}

.TOPBTE {
  background: url(../img/top_bt_bg_5.jpg);
  background-position: top left;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 400px;
}

.TOPBTF {
  background: url(../img/contact_bg.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

.ContactBG {
  width: 100%;
  float: left;
  margin: 0px 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  background: url(../img/footer_mati.png);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-color: #64b9e9;
}

.TOPSERVICEBG {
  width: 100%;
  float: left;
  margin: 0px 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  background: url(../img/servicebg.webp);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

/********/
/*TOPリニューアルコンセプト*/
/********/
.TOPCA {
  width: 100%;
  min-height: 500px;
  float: left;
  margin: 10px 0 0 0;
  padding: 50px;
  box-sizing: border-box;
  background: url(../img/topconcet_a.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

.TOPCB {
  width: 100%;
  min-height: 500px;
  float: left;
  margin: 10px 0 0 0;
  padding: 50px;
  box-sizing: border-box;
  background: url(../img/topconcet_b.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

.TOPCC {
  width: 100%;
  min-height: 500px;
  float: left;
  margin: 10px 0 0 0;
  padding: 50px;
  box-sizing: border-box;
  background: url(../img/topconcet_c.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

.TOPCD {
  width: 100%;
  min-height: 500px;
  float: left;
  margin: 10px 0 0 0;
  padding: 50px;
  box-sizing: border-box;
  background: url(../img/topconcet_d.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

.TOPCASP {
  width: 100%;
  float: left;
  margin: 10px 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  display: none;
}

.TOPCAtextA {
  width: 100%;
  max-width: 420px;
  margin: 0 0 0 0;
  padding: 40px;
  text-align: center;
  float: left;
  background-color: #ffffff;
  box-sizing: border-box;
}

.TOPCAtextAA {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0px;
  text-align: left;
  float: left;
  box-sizing: border-box;
  color: #820000;
  font-size: 24px;
}

.catch {
  display: flex;
  align-items: center;
  /* 垂直中心 */
  justify-content: left;
  /* 水平中心 */
}

.catch:after {
  border-top: 3px solid;
  content: "";
  width: 5em;
  /* 線の長さ */
}

.catch:after {
  margin-left: 1em;
  /* 文字の左隣 */
}

.catchB {
  display: flex;
  align-items: center;
  /* 垂直中心 */
  justify-content: left;
  /* 水平中心 */
}

.catchB:after {
  border-top: 3px solid;
  content: "";
  width: 3em;
  /* 線の長さ */
}

.catchB:after {
  margin-left: 1em;
  /* 文字の左隣 */
}

.TOPCAtextAB {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0px;
  text-align: left;
  float: left;
  box-sizing: border-box;
  color: #000000;
  font-size: 30px;
}

.TOPCAtextAC {
  width: 100%;
  margin: 10px 0 0 0;
  padding: 0px;
  text-align: left;
  float: left;
  box-sizing: border-box;
  color: #000000;
  font-size: 16px;
  font-weight: normal;
}

.TOPCAtextAD {
  width: 100%;
  margin: 15px 0 0 0;
  padding: 0px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

/********/

.ServiceMidashi {
  background-size: auto auto;
  background-color: rgba(246, 244, 239, 1);
  background-image: repeating-linear-gradient(
    -45deg,
    transparent,
    transparent 10px,
    rgba(242, 238, 231, 1) 10px,
    rgba(242, 238, 231, 1) 20px
  );
}

/********/
/*リニューアル用*/
/********/
.TOPPUA {
  width: 100%;
  min-height: 80px;
  float: left;
  margin: 0px 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  background: url(../img/toppu_a.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

.TOPPUB {
  width: 100%;
  float: left;
  margin: 0px 0 0 0;
  padding: 0px 0 100px 0;
  box-sizing: border-box;
  background: url(../img/toppu_b.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

.PUBBOX {
  width: 100%;
  float: left;
  margin: 0 0 0 0;
  padding: 10px;
  box-sizing: border-box;
  background-size: auto auto;
  background-color: rgba(130, 0, 0, 1);
  background-image: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 10px,
    rgba(154, 48, 48, 1) 10px,
    rgba(154, 48, 48, 1) 11px
  );
}

.PUBBOXA {
  width: 100%;
  float: left;
  margin: 5px 0 0 0;
  padding: 5px;
  box-sizing: border-box;
  font-size: 16px;
  color: #ffffff;
}

.PUBBOXB {
  width: 100%;
  float: left;
  margin: 5px 0 40px 0;
  padding: 5px;
  box-sizing: border-box;
  font-size: 24px;
  color: #ffffff;
}

.Carib {
  font-family: Calibri, Candara, Segoe, Segoe UI, Optima, Arial, sans-serif;
  letter-spacing: 0.08em;
}

.TopTenpoImgA {
  width: 100%;
  position: absolute;
  left: 0px;
  top: 0px;
  text-align: center;
}

.TopTenpoImgB {
  width: 100%;
  position: absolute;
  left: 0px;
  bottom: 0px;
  text-align: center;
}

.TopTenpoImgC {
  width: 10%;
  max-width: 167px;
  position: absolute;
  left: 2%;
  bottom: -4%;
  text-align: left;
}

.TopTenpoImgD {
  width: 10%;
  max-width: 130px;
  position: absolute;
  right: 2%;
  bottom: -4%;
  text-align: right;
}

.TopTenpoImgE {
  width: 30%;
  max-width: 284px;
  position: absolute;
  left: 0;
  top: -60px;
  text-align: left;
}

.TopTenpoImgF {
  width: 30%;
  max-width: 284px;
  position: absolute;
  right: 2%;
  top: -60px;
  text-align: left;
}

.TopTenpoImgG {
  width: 20%;
  max-width: 271px;
  position: absolute;
  left: 0%;
  bottom: -10%;
  text-align: left;
}

.TopTenpoImgH {
  width: 20%;
  max-width: 254px;
  position: absolute;
  right: 0;
  bottom: -10%;
  text-align: right;
}

.TopTenpoImgI {
  width: 20%;
  max-width: 447px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  text-align: center;
}

.TopTenpoImgJ {
  width: 20%;
  max-width: 409px;
  position: absolute;
  right: 0;
  top: 0;
  text-align: right;
}

.TopTenpoImgK {
  width: 80%;
  max-width: 278px;
  position: absolute;
  right: 0;
  top: -80px;
  text-align: right;
}

.TopTenpoImgL {
  width: 80%;
  max-width: 278px;
  position: absolute;
  left: -20px;
  top: -85px;
  text-align: left;
}

.TopTenpoImgM {
  width: 30%;
  max-width: 278px;
  position: absolute;
  left: 5%;
  top: 0;
  text-align: left;
}

.TopTenpoImgN {
  width: 30%;
  max-width: 278px;
  position: absolute;
  right: 5%;
  top: 0;
  text-align: right;
}

.TetudouLine {
  background: url(../img/se_middle_img.webp);
  background-position: center;
  background-repeat: no-repeat;
}

.NewsLine {
  width: 100%;
  height: 95px;
  margin: -60px 0 0 0;
  padding: 0 0 0 0;
  box-sizing: border-box;
  background: url(../img/news_line.webp);
  float: left;
}

.TopMidashiBox {
  width: 100%;
  margin: 0 0 0 0;
  text-align: center;
  float: left;
  line-height: 1.3;
  box-sizing: border-box;
  font-weight: bold;
}

.TopMidashiBoxL {
  width: 16%;
  margin: 0 0 0 0;
  padding: 5px;
  text-align: center;
  float: left;
  line-height: 1.3;
  box-sizing: border-box;
}

.TopMidashiBoxR {
  width: 70%;
  margin: 0 0 0 0;
  padding: 5px;
  text-align: left;
  float: left;
  line-height: 1.3;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}

.TopMidashiBoxA {
  width: 100%;
  font-size: 33px;
  color: #333;
  margin: 0px 0 0 0;
  padding: 5px;
  text-align: left;
  float: left;
  line-height: 1.3;
  box-sizing: border-box;
  font-family: "Cardo", serif;
}

.TopMidashiIMGA {
  position: absolute;
  top: -60px;
  right: 0;
  width: 60%;
}

/**太字のクラス***/

.KarinMoji {
  font-weight: bold;
  letter-spacing: 0.12em;
}

.CommonMidashi {
  width: 100%;
  margin: 0 0 0 0;
  text-align: center;
  float: left;
  line-height: 1.3;
  box-sizing: border-box;
  font-weight: bold;
}

.CommonMidashiBG {
  width: 100%;
  margin: 0 0 0 0;
  text-align: center;
  padding: 10px;
  float: left;
  line-height: 1.3;
  box-sizing: border-box;
  border-radius: 20px;
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #ffffff 45%,
    #efeadd 45%,
    #efeadd 100%
  );
}

.CommonMidashiA {
  width: 100%;
  margin: 0 0 0 0;
  text-align: center;
  float: left;
  font-size: 18px;
  line-height: 1;
  box-sizing: border-box;
  color: #64b9e9;
}

.CommonMidashiB {
  width: 100%;
  font-size: 36px;
  color: #78502e;
  margin: 10px 0 0 0;
  text-align: center;
  float: left;
  box-sizing: border-box;
}

.CommonMidashiLine {
  width: 100%;
  height: 2px;
  background-color: #0070be;
  float: left;
}

.CommonMidashiNew {
  display: inline-block;
  border-bottom: 1px solid #0070be;
  font-size: 36px;
  color: #333333;
}

.CommonMidashiSEmax {
  width: 100%;
  max-width: 295px;
  text-align: left;
  margin: 0 auto;
}

.CommonMidashiSE {
  width: 100%;
  margin: -40px 0 100px 0;
  padding: 0 0 0 0;
  text-align: center;
  float: left;
  line-height: 1.3;
  box-sizing: border-box;
}

.CommonMidashiSEBOX {
  width: 100%;
  margin: 0 0 0 0;
  padding: 30px 10px 30px 10px;
  text-align: center;
  float: left;
  box-sizing: border-box;
  background-color: #000000;
}

.CommonMidashiSEA {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: center;
  float: left;
  line-height: 1.3;
  box-sizing: border-box;
  color: #ffffff;
  font-size: 30px;
  font-style: oblique;
}

.CommonMidashiSEB {
  width: 100%;
  margin: 5px 0 0 0;
  padding: 0 0 0 0;
  text-align: center;
  float: left;
  line-height: 1.3;
  box-sizing: border-box;
  color: #ffffff;
  font-size: 16px;
}

.CommonMidashiTH {
  width: 100%;
  margin: 0 0 0 0;
  color: #ffffff;
  padding: 15px 15px 20px 15px;
  text-align: center;
  float: left;
  line-height: 1.3;
  box-sizing: border-box;
  background-color: #64b9e9;
  border-radius: 10px;
}

.CommonMidashiC {
  width: 100%;
  margin: 10px 0 0 0;
  text-align: center;
  float: left;
  font-size: 24px;
  line-height: 1;
  box-sizing: border-box;
}

.CommonMidashiD {
  width: 100%;
  margin: 10px 0 0 0;
  text-align: center;
  float: left;
  font-size: 30px;
  box-sizing: border-box;
}

/********/

.TopMesseBox {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: center;
  float: left;
  line-height: 1.3;
  box-sizing: border-box;
}

.TopMesseBoxL {
  width: 45%;
  margin: 0 0 0 0;
  padding: 10px;
  text-align: center;
  float: left;
  box-sizing: border-box;
}

.TopMesseBoxLL {
  width: 45%;
  margin: 0 0 0 0;
  padding: 10px;
  text-align: center;
  float: right;
  box-sizing: border-box;
}

.TopMesseBoxR {
  width: 55%;
  margin: 0 0 0 0;
  padding: 10px;
  text-align: center;
  float: left;
  box-sizing: border-box;
}

.TopMesseBoxRR {
  width: 55%;
  margin: 0 0 0 0;
  padding: 10px;
  text-align: center;
  float: left;
  box-sizing: border-box;
}

.TopMesseBoxA {
  width: 100%;
  margin: 80px 0 0 0;
  padding: 0 0 0 0;
  text-align: center;
  font-size: 18px;
  float: left;
  line-height: 1.3;
  box-sizing: border-box;
}

.TopMesseBoxB {
  width: 100%;
  margin: 20px 0 0 0;
  padding: 0 0 0 0;
  font-size: 30px;
  text-align: center;
  float: left;
  line-height: 1.3;
  box-sizing: border-box;
}

.TopMesseBoxC {
  width: 100%;
  margin: 20px 0 0 0;
  padding: 0 0 0 0;
  text-align: center;
  float: left;
  line-height: 1.3;
  box-sizing: border-box;
}

.TopMesseBoxD {
  width: 100%;
  margin: 60px 0 0 0;
  padding: 0 0 0 0;
  text-align: center;
  float: left;
  line-height: 1.3;
  box-sizing: border-box;
}

.TopMesseBoxSum {
  width: 33.3%;
  margin: 0 0 0 0;
  padding: 5px;
  text-align: center;
  float: left;
  line-height: 1.3;
  box-sizing: border-box;
}

/********/

.TOPBTBOXtext {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translate(0%, -50%);
  padding: 15px;
  box-sizing: border-box;
  font-weight: 600;
  text-align: left;
}

.REBTBOXtext {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 40px 10px 40px 10px;
  box-sizing: border-box;
  font-weight: 600;
  background-color: rgba(0, 134, 57, 0.8);
  max-width: 300px;
}

#SIDEBTBOX {
  width: 100%;
  margin: 10px 0 0 0;
  text-align: left;
}

#SIDEBTBOX li {
  display: block;
  float: left;
  width: 48%;
  margin: 10px 0 0 5px;
  padding: 0;
  text-align: center;
  text-decoration: none;
  position: relative;
}

#SIDEBTBOX li img {
  max-width: 100%;
  height: auto;
  width/***/
	: auto;
}

/***コンテンツボタン****/
.ContentsBT {
  width: 50%;
  float: left;
  padding: 10px;
  margin: 15px 0 0 0;
  box-sizing: border-box;
}

/***真ん中寄せボタン****/
.parentBOX {
  display: flex;
  justify-content: center;
  align-items: center;
  max-height: 300px;
  width: 100%;
  height: 100%;
  background: orange;
}

.exampleBOX {
  display: block;
  width: 100%;
  max-width: 300px;
  background: #fff;
  text-align: left;
}

/********/
/*本文*/
/********/
/*全体*/
#TOPpageWrapper {
  position: relative;
  width: 1000px;
  margin: 0 auto;
  text-align: left;
}

#pageWrapper {
  position: relative;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  text-align: left;
}

/*第一階層*/
#MainWrapper {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

#PageImg {
  width: 100%;
  margin: 0 0 0 0;
  text-align: center;
  float: left;
  position: relative;
}

.PageImgMidashi {
  width: 100%;
  margin: -40px 0 0 0;
  padding: 10px;
  text-align: center;
  box-sizing: border-box;
}

.PageImgMidashi span {
  padding: 15px;
  font-size: 30px;
  color: #ffffff;
  background-color: #64b9e9;
}

#MidashiLine {
  width: 100%;
  float: left;
  margin: 0 0 50px 0;
  text-align: left;
  background: url(../img/midashi_line.png);
  background-position: right 0px top 40px;
  background-repeat: no-repeat;
}

.KugiriLine {
  width: 100%;
  float: left;
  height: 31px;
  margin: 0 0 20px 0;
  text-align: left;
  background: url(../img/kugiri.png);
  background-position: top left;
  background-repeat: no-repeat;
}

.MidashiBG {
  width: 100%;
  height: 50px;
  float: left;
  padding: 6px;
  margin: 0 0 0 0;
  text-align: left;
  background: url(../img/midashi_bg.png);
  background-position: top left;
  background-repeat: no-repeat;
  box-sizing: border-box;
}

/**#PageImg img{
	width: 100%;
}*/
.PageTitle {
  position: absolute;
  top: 35%;
  left: 0;
  right: 0;
  margin: auto;
  color: #ffffff;
  font-size: 34px;
}

/********/
/*レフト*/

#LeftBox {
  display: inline;
  width: 100%;
  margin: 20px 0 50px 0;
  padding: 0 0 0 0;
  float: left;
}

#LeftBoxBlog {
  display: inline;
  width: 76%;
  margin: 20px 0 50px 0;
  padding: 0 0 0 0;
  float: left;
}

#BlogAllBox li {
  text-align: left;
  color: #000000;
  width: 100%;
  margin: 0 0 0 0;
  padding: 5px;
  list-style-type: none;
  display: block;
  float: left;
  box-sizing: border-box;
}

/*ブログ用のリスト*/
.BlogNewsBox {
  width: 100%;
  margin: 20px 0 20px 0;
  padding: 0 0 0 0;
  float: left;
  font-size: 14px;
  box-shadow: 0 0 4px gray;
  position: relative;
  background-color: #ffffff;
}

.BlogNewsBoxL {
  width: 30%;
  margin: 0 0 0 0;
  padding: 1px;
  float: left;
  box-sizing: border-box;
  text-align: center;
}

.BlogNewsBoxR {
  width: 68%;
  margin: 0 0 0 0;
  padding: 5px;
  float: right;
  box-sizing: border-box;
  text-align: left;
}

.BlogNewsBoxL img {
  max-width: 100%;
  height: auto;
  width/***/
	: auto;
}

.BlogNewsBoxR img {
  max-width: 100%;
  height: auto;
  width/***/
	: auto;
}

.BlogBT {
  font-size: 12px;
  width: 150px;
  margin: 0 0 0 0;
  text-align: center;
  position: absolute;
  bottom: 5px;
  right: 0px;
}

.BlogBT a:link,
.BlogBT a:visited,
.BlogBT a:hover {
  padding: 5px;
  box-sizing: border-box;
  color: #4a340e;
  text-decoration: none;
  border-radius: 10px;
  /* CSS3草案 */
  -webkit-border-radius: 10px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 10px;
  /* Firefox用 */
}

.BlogBT a:hover {
  color: #5a5a5a;
  text-decoration: underline;
  background-color: #e9e9e9;
}

.BlogBTB {
  width: 150px;
  margin: 0 0 0 0;
  text-align: center;
}

.BlogBTB a:link,
.BlogBTB a:visited,
.BlogBTB a:hover {
  padding: 5px;
  box-sizing: border-box;
  color: #4a340e;
  text-decoration: none;
  border-radius: 10px;
  /* CSS3草案 */
  -webkit-border-radius: 10px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 10px;
  /* Firefox用 */
}

.BlogBTB a:hover {
  color: #5a5a5a;
  text-decoration: underline;
  background-color: #e9e9e9;
}

/********/
/********/

/********/
/*ライト*/
#RightBox {
  display: inline;
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: left;
  float: right;
}

#RightBox a:link,
#RightBox a:visited,
#RightBox a:hover {
  color: #4a340e;
  text-decoration: none;
}

#RightBox a:hover {
  color: #5a5a5a;
  text-decoration: underline;
}

#RightBoxBlog {
  display: inline;
  width: 23%;
  margin: 20px 0 0 0;
  padding: 0 0 0 0;
  text-align: left;
  float: right;
}

#RightBoxBlog li {
  text-align: left;
  color: #000000;
  width: 100%;
  margin: 0 0 0 0;
  padding: 10px;
  list-style-type: none;
  display: block;
  float: left;
  box-sizing: border-box;
}

#SideNavi {
  float: left;
  width: 100%;
}

#SideNaviSP {
  display: none;
  float: left;
  width: 100%;
}

#MenuListBox {
  display: inline;
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 40px 0;
  text-align: left;
  float: left;
  background-color: #ffffff;
}

#ListBoxM {
  width: 100%;
  margin: 0 0 0 0;
  padding: 5px;
  box-sizing: border-box;
  text-align: left;
  float: left;
}

#ListBoxM li {
  display: block;
  float: left;
  width: 100%;
  font-size: 12px;
  margin: 5px 0 5px 0;
  padding: 0 0 0 0;
  text-align: left;
  border-bottom: dotted 1px #000000;
  text-decoration: none;
}

#ListBoxM li a {
  display: block;
  text-decoration: none;
  color: #000000;
}

#ListBoxM li a:visited {
  color: #000000;
}

#ListBoxM li a:hover {
  color: #000000;
}

#SideBox {
  width: 100%;
  margin: 50px 0 10px 0;
  padding: 0 0 0 0;
  text-align: center;
  float: left;
}

#SideBoxList {
  width: 100%;
  margin: 0 0 0 0;
  padding: 10px 10px 20px 10px;
  text-align: left;
  float: left;
  background-color: #e87296;
  box-sizing: border-box;
  border-radius: 10px;
  /* CSS3草案 */
  -webkit-border-radius: 10px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 10px;
  /* Firefox用 */
}

#SideBoxList li {
  width: 98%;
  float: left;
  margin: 10px 0 0 0;
  padding: 5px;
  text-align: left;
  text-decoration: none;
  list-style: none;
  border-bottom: 1px dotted #ffffff;
  float: left;
}

#SideBoxList li img {
  max-width: 100%;
  height: auto;
  width/***/
	: auto;
}

/********/
/***TOPメインコンテンツ***/

.TOPmidashi {
  display: none;
}

.TOPSP {
  display: none;
}

/***行動指針*****/

.VisionALLBox {
  width: 100%;
  margin: 0px 0 0px 0;
  padding: 0 0 0 0;
  text-align: center;
  float: left;
  box-sizing: border-box;
}

.VisionBox {
  width: 100%;
  margin: 40px 0 0px 0;
  padding: 0 0 0 0;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

.VisionBoxA {
  width: 100%;
  color: #cdecd4;
  font-size: 24px;
  margin: 0px 0 0px 0;
  padding: 5px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

.VisionBoxB {
  width: 100%;
  font-size: 20px;
  color: #ffffff;
  background-color: #1d8e3d;
  margin: 0px 0 0px 0;
  padding: 10px;
  border-radius: 10px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

.VisionBoxC {
  width: 100%;
  font-size: 16px;
  margin: 0px 0 0px 0;
  padding: 5px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

/***先輩の声*****/

.SenpaiALLBox {
  width: 100%;
  margin: 0px 0 0px 0;
  padding: 0 0 0 0;
  text-align: center;
  float: left;
  box-sizing: border-box;
}

.SenpaiBox {
  width: 100%;
  margin: 40px 0 0px 0;
  padding: 0 0 0 0;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

.SenpaiBoxA {
  width: 100%;
  color: #cdecd4;
  font-size: 24px;
  margin: 0px 0 0px 0;
  padding: 5px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

.SenpaiBoxB {
  width: 100%;
  font-size: 20px;
  color: #ffffff;
  background-color: #1d8e3d;
  margin: 0px 0 0px 0;
  padding: 10px;
  border-radius: 10px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

.SenpaiBoxC {
  width: 100%;
  font-size: 16px;
  margin: 20px 0 0px 0;
  padding: 5px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

.SenpaiBoxD {
  width: 100%;
  color: #1d8e3d;
  font-size: 20px;
  margin: 10px 0 0px 0;
  padding: 5px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

.SenpaiBoxE {
  width: 100%;
  font-size: 16px;
  margin: 10px 0 0px 0;
  padding: 5px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

.SenpaiBoxL {
  width: 40%;
  margin: 0px 0 0px 0;
  padding: 5px;
  text-align: center;
  float: left;
  box-sizing: border-box;
}

.SenpaiBoxR {
  width: 60%;
  margin: 0px 0 0px 0;
  padding: 5px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

/********/

/********/
/*第2階層パンくず*/
#Pankuzu {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 5px;
  text-align: left;
  box-sizing: border-box;
}

#Pankuzu a:link,
#Pankuzu a:visited,
#Pankuzu a:hover {
  color: #000000;
  text-decoration: none;
}

#Pankuzu a:hover {
  color: #5a5a5a;
  text-decoration: underline;
}

/*第2階層ページナビ*/
#PageNavi {
  width: 100%;
  max-width: 860px;
  margin: 20px 0 50px 0;
  color: #333c41;
  font-size: 14px;
  text-align: center;
  float: left;
}

#PageNavi a:link,
#PageNavi a:visited {
  color: #f4a102;
}

#PageNavi a:hover {
  color: #f4a102;
  cursor: pointer;
}

/*第2階層ページTopへ*/
.PageUp {
  width: 100%;
  max-width: 860px;
  margin: 30px 0 0 0;
  padding: 0 0 0 0;
  float: left;
}

.PageUp ul {
  width: 100%;
  max-width: 860px;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  float: left;
}

.PageUp li {
  display: block;
  float: right;
  width: 120px;
  border-bottom: 1px solid #93232a;
  margin: 0;
  padding: 0;
}

.PageUp li a {
  display: block;
  padding: 12px 0 10px;
  background-color: #a4333a;
  color: #fff;
  text-align: center;
  text-decoration: none;
}

.PageUp li a:hover {
  background: #e6858b;
}

/****本文****/
.MidashiSP {
  width: 100%;
  float: left;
  text-align: left;
  background: url("../img/bg_line.jpg");
  background-position: bottom left;
  background-repeat: repeat-x;
}

#TextBox {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: left;
  float: left;
}

#TextBox img {
  max-width: 100%;
  height: auto;
  width/***/
	: auto;
}

#HonbunBox {
  width: 100%;
  max-width: 780px;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: left;
  float: left;
}

.HonbunText {
  width: 100%;
  max-width: 780px;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: center;
  float: left;
}

.HonbunText li {
  display: block;
  float: left;
  width: 33%;
  margin: 30px 0 0 0;
  padding: 0;
  text-align: center;
  text-decoration: none;
}

.HonbunText img {
  max-width: 100%;
  height: auto;
  width/***/
	: auto;
}

.HonbunIMGSP {
  display: none;
  width: 100%;
  max-width: 860px;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: center;
  float: left;
}

/*****/

/********/

.iframe-css {
  margin: 0px 0 0px 0;
  position: relative;
  width: 100%;
  padding-top: 80%;
  float: left;
}

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

/***会社地図****/

.AboutMapBox {
  width: 100%;
  text-align: center;
  padding: 0px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.AboutMapBoxL {
  width: 50%;
  text-align: center;
  padding: 10px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.AboutMapBoxR {
  width: 50%;
  text-align: center;
  padding: 10px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.AboutMapList {
  width: 100%;
  text-align: center;
  padding: 0px;
  margin: 15px 0 0 0;
  float: left;
  box-sizing: border-box;
  border-bottom: 1px solid #efefef;
}

.AboutMapListL {
  width: 25%;
  text-align: left;
  padding: 5px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.AboutMapListR {
  width: 75%;
  text-align: left;
  padding: 5px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.map-css {
  margin: 0px 0 0px 0;
  position: relative;
  width: 100%;
  padding-top: 80%;
  float: left;
}

.map-css iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/***フッター地図****/
.FooterMapBoxALL {
  width: 100%;
  text-align: center;
  padding: 0px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.FooterMapBox {
  width: 100%;
  text-align: center;
  padding: 0px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.FooterMapBoxL {
  width: 50%;
  text-align: center;
  padding: 15px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.FooterMapBoxR {
  width: 50%;
  text-align: center;
  padding: 15px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.FooterMapA {
  width: 100%;
  text-align: center;
  padding: 0px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.FooterAcA {
  width: 100%;
  text-align: left;
  padding: 5px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
  font-size: 36px;
}

.FooterAcB {
  width: 100%;
  text-align: left;
  padding: 5px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
  font-size: 18px;
  line-height: 1.3;
}

.FooterAcC {
  width: 100%;
  text-align: left;
  padding: 5px;
  margin: 10px 0 0 0;
  float: left;
  box-sizing: border-box;
  font-size: 18px;
  line-height: 1.3;
}

.FooterAcC span {
  background: linear-gradient(transparent 40%, #ffffff 60%);
}

.FooterAcD {
  width: 100%;
  text-align: left;
  padding: 5px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
  font-size: 16px;
}

.iframe-css-footer {
  margin: 0 0 0px 0;
  position: relative;
  width: 100%;
  padding-top: 30%;
  float: left;
}

.iframe-css-footer iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*******/

/***価格表****/

.ToryouALLBox {
  width: 100%;
  text-align: center;
  padding: 10px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.ToryouBox {
  width: 100%;
  text-align: center;
  padding: 0px;
  margin: 50px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.ToryouBoxL {
  width: 35%;
  text-align: center;
  padding: 10px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.ToryouBoxR {
  width: 65%;
  text-align: center;
  padding: 10px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.ToryouBoxA {
  width: 100%;
  text-align: left;
  padding: 10px;
  font-size: 24px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
  border-bottom: 1px solid #000000;
}

.ToryouBoxB {
  width: 100%;
  text-align: left;
  padding: 5px;
  font-size: 18px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.ToryouBoxC {
  width: 100%;
  text-align: left;
  padding: 5px;
  font-size: 16px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.ToryouBoxD {
  width: 100%;
  text-align: left;
  padding: 5px;
  font-size: 16px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.SekouStepALLBox {
  width: 100%;
  text-align: center;
  padding: 10px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.SekouStepBox {
  width: 100%;
  text-align: center;
  padding: 0px;
  margin: 50px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.SekouStepMidashi {
  width: 100%;
  text-align: left;
  padding: 0px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
  border-bottom: 1px solid #000000;
}

.StepMidashi {
  font-size: 18px;
  color: #ffffff;
  text-align: left;
  padding: 10px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
  background-color: #000000;
}

.SekouStepBoxL {
  width: 35%;
  text-align: center;
  padding: 10px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.SekouStepBoxR {
  width: 65%;
  font-size: 16px;
  text-align: left;
  padding: 20px 10px 10px 10px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
}

/***コンセプト****/

.ConceptInfoBoxALL {
  width: 100%;
  text-align: center;
  padding: 0px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.ConceptInfoBoxA {
  width: 100%;
  text-align: center;
  padding: 0px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.ConceptInfoBoxB {
  width: 100%;
  text-align: center;
  padding: 0px;
  margin: -30px 0 0 0;
  float: left;
  box-sizing: border-box;
  position: relative;
}

.ConceptInfoBoxC {
  width: 100%;
  font-size: 16px;
  text-align: center;
  padding: 0px;
  margin: 50px 0 100px 0;
  float: left;
  box-sizing: border-box;
}

.ConceptInfoBoxMidashi {
  width: 100%;
  text-align: center;
  padding: 0px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
  background-color: #ffffff;
}

.ConceptInfoBoxMidashiA {
  width: 100%;
  font-size: 18px;
  text-align: center;
  padding: 0px;
  margin: 10px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.ConceptInfoBoxMidashiB {
  width: 100%;
  font-size: 30px;
  text-align: center;
  padding: 0px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.ConceptInfoBoxPhoto {
  width: 33.3%;
  text-align: center;
  padding: 10px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.FeInfoBoxALL {
  width: 100%;
  text-align: center;
  padding: 0px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.FeInfoBoxA {
  width: 100%;
  text-align: center;
  padding: 0px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.FeInfoBoxB {
  width: 40%;
  text-align: left;
  padding: 10px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
  position: relative;
}

.FeInfoBoxC {
  width: 60%;
  text-align: left;
  padding: 10px;
  margin: 0px 0 0px 0;
  float: left;
  box-sizing: border-box;
}

.FeInfoBoxMidashi {
  width: 100%;
  text-align: left;
  padding: 0px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.FeInfoBoxMidashiA {
  width: 100%;
  font-size: 18px;
  text-align: left;
  padding: 0px;
  margin: 10px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.FeInfoBoxMidashiB {
  width: 100%;
  font-size: 30px;
  text-align: left;
  padding: 0px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.FeInfoBoxMidashiC {
  width: 100%;
  color: #c0a275;
  font-size: 18px;
  text-align: left;
  padding: 0px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.FeInfoBoxPhoto {
  width: 50%;
  text-align: center;
  padding: 10px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.CONCEPTaBOXL {
  width: 45%;
  text-align: center;
  padding: 10px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.CONCEPTaBOXR {
  width: 55%;
  text-align: left;
  padding: 10px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.CONCEPTbBOXL {
  width: 50%;
  text-align: left;
  padding: 25px;
  margin: 0px 0px 0 0px;
  background-color: #ffffff;
  box-sizing: border-box;
  position: absolute;
  top: 40px;
  left: 40px;
}

.CONCEPTbBOXR {
  width: 50%;
  text-align: left;
  margin: 0 0 0 0;
  float: right;
}

.CONCEPTBG {
  width: 100%;
  text-align: center;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #ffffff 50%,
    #f9f9f0 50%,
    #f9f9f0 100%
  );
}

.CONCEPTBGA {
  width: 100%;
  text-align: center;
  padding: 40px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
  background-color: #f8f8fa;
  position: relative;
}

.CONCEPTBGAL {
  width: 50%;
  text-align: center;
  padding: 10px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.CONCEPTBGAR {
  width: 50%;
  text-align: center;
  padding: 10px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.CONCEPTBGB {
  width: 100%;
  text-align: center;
  padding: 80px 30px 80px 30px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
  background: url(../img/tuyomi_bg.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

.CONCEPTBGC {
  width: 100%;
  text-align: center;
  padding: 0px 30px 0px 30px;
  margin: -20px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.CONCEPTLIST {
  width: 100%;
  text-align: center;
  padding: 20px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
  background-color: #b6ab88;
}

.CONCEPTLIST li {
  display: block;
  float: left;
  width: 25%;
  margin: 20px 0 20px 0;
  padding: 0;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
}

.CONCEPTLIST li:nth-child(2) {
  border-left: 1px solid #cabe9a;
  border-right: 1px solid #cabe9a;
}

.CONCEPTLIST li:nth-child(3) {
  border-right: 1px solid #cabe9a;
}

.CONCEPTLISTA {
  font-size: 20px;
  color: #ffffff;
  width: 100%;
  text-align: center;
  padding: 5px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.CONCEPTLISTB {
  font-size: 16px;
  color: #e8dfc2;
  width: 100%;
  text-align: center;
  padding: 5px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.CONCEPTLISTC {
  width: 100%;
  text-align: center;
  padding: 5px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.ARTBOXA {
  width: 100%;
  text-align: center;
  padding: 10px;
  margin: 140px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.ARTBOXB {
  width: 100%;
  text-align: center;
  padding: 10px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.ARTBOXL {
  width: 50%;
  text-align: left;
  padding: 10px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.ARTBOXR {
  width: 50%;
  text-align: left;
  padding: 20px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.ARTBOXRA {
  width: 100%;
  text-align: left;
  padding: 0px;
  margin: 10px 0 0 0;
  float: left;
  box-sizing: border-box;
  font-size: 36px;
  color: #820000;
}

.ARTBOXRB {
  width: 100%;
  text-align: left;
  padding: 0px;
  margin: 10px 0 0 0;
  float: left;
  box-sizing: border-box;
  font-size: 16px;
  color: #820000;
}

.ARTBOXRC {
  width: 100%;
  text-align: left;
  padding: 0px;
  margin: 10px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.ARTBOXBA {
  width: 100%;
  text-align: left;
  padding: 10px;
  margin: 10px 0 0 0;
  float: left;
  box-sizing: border-box;
  font-size: 20px;
  color: #820000;
  border-bottom: 1px solid #820000;
}

.ARTBOXBB {
  width: 100%;
  text-align: left;
  padding: 10px;
  margin: 10px 0 0 0;
  float: left;
  box-sizing: border-box;
  font-size: 16px;
}

/*即日買取*/

.PUBBOXSE {
  width: 100%;
  float: left;
  margin: 0 0 0 0;
  padding: 10px;
  box-sizing: border-box;
  background-size: auto auto;
  background-color: rgba(130, 0, 0, 1);
  background-image: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 10px,
    rgba(154, 48, 48, 1) 10px,
    rgba(154, 48, 48, 1) 11px
  );
}

.PUBBOXSEA {
  color: #820000;
  font-size: 30px;
  background: linear-gradient(transparent 60%, #ffcccc 60%);
}

.PUMidashi {
  width: 100%;
  float: left;
  margin: 0 0 10px 0;
  padding: 10px;
  box-sizing: border-box;
  font-size: 18px;
  background-color: #820000;
  color: #ffffff;
}

/*訪問*/

.HomeVisitALLBox {
  width: 100%;
  margin: 0 0 0 0;
  padding: 30px;
  box-sizing: border-box;
  float: left;
}

.HomeVisitMidashiBox {
  width: 100%;
  margin: 0px 0 0 0;
  padding: 0;
  box-sizing: border-box;
  float: left;
  text-align: center;
}

.HomeVisitMidashiBoxLine {
  width: 100%;
  height: 6px;
  margin: 0px 0 0 0;
  padding: 0;
  background-color: #64b9e9;
  box-sizing: border-box;
  float: left;
}

.HomeVisitMidashiBox span {
  font-size: 20px;
  display: inline-block;
  color: #ffffff;
  margin: 0 0 0 0;
  padding: 20px;
  box-sizing: border-box;
  background-color: #64b9e9;
  border-radius: 20px 20px 0 0;
}

.HomeVisitBox {
  width: 50%;
  margin: 40px 0 0 0;
  padding: 20px;
  box-sizing: border-box;
  float: left;
}

.HomeVisitBoxA {
  width: 100%;
  font-size: 18px;
  text-align: center;
  margin: 0px 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  float: left;
}

.HomeVisitBoxB {
  width: 100%;
  text-align: center;
  margin: 10px 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  float: left;
}

.title-border-right {
  font-size: 24px;
  color: #64b9e9;
  display: flex;
  align-items: center;
}

.title-border-right:after {
  border-top: 1px solid #64b9e9;
  content: "";
  flex-grow: 1;
}

.title-border-right:after {
  margin-left: 1rem;
}

.title-border-rightse {
  font-size: 24px;
  color: #1f8d3b;
  display: flex;
  align-items: center;
}

.title-border-rightse:after {
  border-top: 1px solid #1f8d3b;
  content: "";
  flex-grow: 1;
}

.title-border-rightse:after {
  margin-left: 1rem;
}

/*LINE受付*/

.FlowALLBox {
  width: 100%;
  margin: 0 0 0 0;
  padding: 30px;
  box-sizing: border-box;
  float: left;
  background-color: #fefcf7;
  border: 1px solid #e2680f;
  border-radius: 20px;
}

.FlowMidashiBox {
  width: 100%;
  margin: -40px 0 0 0;
  padding: 0;
  box-sizing: border-box;
  float: left;
}

.FlowMidashiBox span {
  font-size: 20px;
  color: #ffffff;
  margin: 0 0 0 0;
  padding: 20px;
  box-sizing: border-box;
  background-color: #e2680f;
  border-radius: 20px;
}

.FlowMidashiBoxA {
  width: 20%;
  margin: 0 0 0 0;
  padding: 10px;
  box-sizing: border-box;
  float: left;
  font-size: 30px;
  background-color: #820000;
  text-align: center;
  color: #ffffff;
}

.FlowMidashiBoxB {
  width: 80%;
  margin: 0 0 0 0;
  padding: 10px 10px 10px 30px;
  box-sizing: border-box;
  float: left;
  font-size: 30px;
  color: #820000;
  text-align: left;
}

.FlowBox {
  width: 100%;
  margin: 40px 0 0 0;
  padding: 10px;
  box-sizing: border-box;
  float: left;
}

.FlowBoxL {
  width: 40%;
  margin: 0px 0 0 0;
  padding: 10px;
  box-sizing: border-box;
  float: left;
}

.FlowBoxR {
  width: 60%;
  margin: 0px 0 0 0;
  padding: 20px;
  box-sizing: border-box;
  float: right;
}

.FlowBoxA {
  width: 100%;
  text-align: left;
  font-size: 24px;
  color: #64b9e9;
  margin: 0px 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  float: left;
}

.FlowBoxA span {
  background: linear-gradient(transparent 70%, #dcf3c8 70%);
}

.FlowBoxB {
  width: 100%;
  text-align: left;
  margin: 10px 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  float: left;
}

.FlowArrowBox {
  width: 100%;
  margin: 20px 0 0 0;
  padding: 10px;
  box-sizing: border-box;
  text-align: center;
  float: left;
}

.Flowth {
  width: 20%;
  padding: 10px;
  background-color: #63843e;
  color: #ffffff;
  box-sizing: border-box;
  border-bottom: 1px solid #63843e;
}

.Flowtd {
  width: 80%;
  padding: 10px;
  color: #63843e;
  box-sizing: border-box;
  border-bottom: 1px solid #63843e;
}

/*標準仕様*/

.StandBox {
  display: inline;
  width: 100%;
  margin: 0px 0 0 0;
  padding: 0 0 0 0;
  float: left;
}

.StandBox li {
  text-align: center;
  color: #000000;
  width: 33%;
  margin: 0 0 0 0;
  padding: 10px;
  list-style-type: none;
  display: block;
  float: left;
  box-sizing: border-box;
  display: flex;
}

.StandBoxF {
  width: 100%;
  height: 100%;
  margin: 0px 0 0 0;
  padding: 10px;
  float: left;
  box-sizing: border-box;
  border: 3px solid #f6f6f6;
}

/*ブログ*/
#MonthList {
  display: inline;
  width: 100%;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  float: left;
  list-style-type: none;
  text-align: left;
}

#MonthList li {
  width: 100%;
  text-align: left;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  float: left;
}

/****採用情報*****/

.KikiSetubiBoxALL {
  width: 100%;
  text-align: left;
  padding: 0px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.KikiSetubiBox {
  width: 50%;
  text-align: left;
  padding: 20px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.KikiSetubiBoxBG {
  width: 100%;
  height: 100%;
  text-align: left;
  padding: 0px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
  border-radius: 10px;
  background-color: #ffffff;
}

.KikiSetubiBoxA {
  width: 100%;
  font-size: 18px;
  color: #ffffff;
  text-align: center;
  padding: 10px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
  background-color: #3e8e5d;
  border-radius: 10px 10px 0 0;
}

.KikiSetubiBoxB {
  width: 100%;
  text-align: left;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
  background-color: #ffffff;
  border-radius: 0px 0px 10px 10px;
}

.KikiSetubiBoxBL {
  width: 45%;
  text-align: center;
  padding: 10px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.KikiSetubiBoxBR {
  width: 55%;
  text-align: left;
  padding: 10px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.KikiSetubiBoxC {
  width: 100%;
  text-align: center;
  padding: 5px;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.RecCompanyBox {
  width: 100%;
  text-align: left;
  font-size: 18px;
  padding: 0px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.RecCompanyBoxL {
  width: 20%;
  text-align: left;
  padding: 10px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.RecCompanyBoxR {
  width: 80%;
  text-align: left;
  padding: 10px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.MiryokuBox {
  width: 100%;
  text-align: left;
  padding: 0px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.MiryokuBoxL {
  width: 40%;
  text-align: left;
  padding: 0px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.MiryokuBoxR {
  width: 60%;
  text-align: left;
  padding: 0px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}

.MiryokuBoxLL {
  width: 40%;
  text-align: left;
  padding: 0px;
  margin: 0px 0 0 0;
  float: right;
  box-sizing: border-box;
}

.MiryokuBoxRR {
  width: 60%;
  text-align: left;
  padding: 0px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}

.MiryokuBoxA {
  width: 100%;
  text-align: left;
  padding: 30px 0 30px 0;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
  background-size: auto auto;
  background-color: rgba(220, 243, 200, 1);
  background-image: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 5px,
    rgba(181, 229, 141, 1) 5px,
    rgba(181, 229, 141, 1) 9px
  );
}

.MiryokuBoxB {
  width: 100%;
  text-align: left;
  padding: 20px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
  background-color: #ffffff;
}

.MiryokuMidashiA {
  width: 100%;
  text-align: center;
  padding: 0 0 0 0;
  margin: -30px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.MiryokuMidashiA span {
  color: #ffffff;
  text-align: center;
  padding: 10px;
  font-size: 24px;
  margin: 0px 0 0 0;
  box-sizing: border-box;
  background-color: #64b9e9;
}

.MiryokuMidashiB {
  width: 100%;
  font-size: 24px;
  color: #64b9e9;
  text-align: center;
  padding: 0 0 0 0;
  margin: 15px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.MiryokuMidashiC {
  width: 100%;
  font-size: 16px;
  text-align: left;
  padding: 0 0 0 0;
  margin: 10px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.KnsyuuBox {
  width: 100%;
  text-align: left;
  padding: 0px;
  margin: 40px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.KnsyuuBox span {
  padding: 10px;
  color: #ffffff;
  background-color: #64b9e9;
  box-sizing: border-box;
}

.KnsyuuBoxA {
  width: 100%;
  text-align: left;
  padding: 5px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
  border-bottom: 1px dotted #64b9e9;
}

.KnsyuuBoxB {
  width: 100%;
  text-align: left;
  padding: 10px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
}

.KnsyuuBoxC {
  width: 100%;
  text-align: left;
  padding: 5px;
  margin: 0px 0 0 0;
  float: left;
  box-sizing: border-box;
  text-indent: -1em;
  padding-left: 1em;
}

.Retable th {
  width: 25%;
  color: #000000;
  background-color: none;
  text-align: left;
  border-bottom: 1px dotted #000000;
}

.Retable td {
  width: 75%;
  color: #000000;
  background-color: none;
  text-align: left;
  border-bottom: 1px dotted #000000;
}

.RetableA {
  width: 100%;
  text-align: left;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
}

.RetableA th {
  width: 25%;
  color: #000000;
  background-color: none;
  text-align: left;
  border-bottom: 1px dotted #000000;
  background-color: #e0f4da;
  box-sizing: border-box;
}

.RetableA td {
  width: 75%;
  color: #000000;
  background-color: none;
  text-align: left;
  border-bottom: 1px dotted #000000;
  background-color: #ffffff;
  box-sizing: border-box;
}

/****診療時間***/

.TimeTableA {
  width: 100%;
  text-align: left;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  float: left;
  box-sizing: border-box;
  letter-spacing: 0.08em;
}

.TimeTableA th {
  color: #ffffff;
  padding: 10px;
  background-color: none;
  text-align: center;
  background-color: #68bc24;
  box-sizing: border-box;
  border: 1px #ffffff solid;
}

.TimeTableA td {
  color: #68bc24;
  padding: 10px;
  background-color: none;
  text-align: center;
  background-color: #ffffff;
  box-sizing: border-box;
}

/****診療時間***/

/*動画の投稿*/
.MovieListF {
  display: inline;
  width: 100%;
  margin: 30px 0 0 0;
  padding: 0 0 0 0;
  float: left;
}

.MovieListF li {
  text-align: center;
  color: #000000;
  width: 33%;
  margin: 0 0 0 0;
  padding: 10px;
  list-style-type: none;
  display: block;
  float: left;
  box-sizing: border-box;
}

.MovieBoxALL {
  width: 100%;
  margin: 0px 0 0 0;
  padding: 0 0 0 0;
  float: left;
}

.MovieBox {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.MovieBox iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.frame-wrapper__video {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}

.frame-wrapper__video iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.MovieTitleF {
  width: 100%;
  margin: 5px 0 0 0;
  padding: 3px;
  box-sizing: border-box;
  float: left;
  border: 1px solid #000000;
}

/************/

/*イベントの投稿*/
.EveBox {
  display: inline;
  width: 100%;
  margin: 30px 0 0 0;
  padding: 0 0 0 0;
  float: left;
}

.EveBox li {
  text-align: center;
  color: #000000;
  width: 50%;
  margin: 0 0 0 0;
  padding: 20px;
  list-style-type: none;
  display: block;
  float: left;
  box-sizing: border-box;
  display: flex;
}

.EveBoxL {
  width: 50%;
  margin: 30px 0 0 0;
  padding: 0 0 0 0;
  float: left;
}

.EveBoxR {
  width: 50%;
  margin: 0px 0 0 0;
  padding: 0;
  float: right;
  box-sizing: border-box;
}

.EvePhoto {
  width: 100%;
  margin: 0px 0 0 0;
  padding: 0 0 0 0;
  float: right;
  background-color: red;
}

.EveBoxA {
  width: 100%;
  text-align: left;
  font-size: 14px;
  color: #ffffff;
  margin: 10px 0 0 0;
  padding: 10px;
  float: left;
  box-sizing: border-box;
  background-color: #78470e;
}

.EveBoxB {
  width: 100%;
  text-align: left;
  font-size: 18px;
  margin: 0px 0 0 0;
  padding: 5px 5px 0px 5px;
  float: left;
  box-sizing: border-box;
}

.EveBoxC {
  width: 100%;
  text-align: left;
  font-size: 14px;
  margin: 0px 0 0 0;
  padding: 5px;
  float: left;
  box-sizing: border-box;
}

.EveBT {
  text-align: right;
  width: 100%;
  margin: 5px 0 5px 0;
  padding: 3px;
  float: left;
  box-sizing: border-box;
  position: relative;
  border-bottom: 2px solid #63843e;
}

.EveBT a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  /* 必要であればリンク要素の重なりのベース順序指定 */
}

/******施工事例***/

.ProListALLBox {
  width: 100%;
  margin: 0px 0 0 0;
  padding: 10px;
  float: left;
  box-sizing: border-box;
}

.ProList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: table;
  table-layout: fixed;
  width: 100%;
}

.ProList li {
  display: table-cell;
  box-sizing: border-box;
  padding: 10px;
  box-sizing: border-box;
  transition-duration: 500ms;
  text-align: center;
}

.ProList li a {
  display: block;
  font-size: 20px;
  width: 100%;
  /* 横幅 */
  padding: 10px;
  /* a要素内の余白 */
  box-sizing: border-box;
  background-color: #ffffff;
  color: #64b9e9;
  text-decoration: none;
  border: 1px solid #64b9e9;
  transition-duration: 500ms;
  border-radius: 30px;
}

.ProList li a:hover {
  filter: alpha(opacity=70);
  /* IE 6,7*/
  -ms-filter: "alpha(opacity=70)";
  /* IE 8,9 */
  -moz-opacity: 0.7;
  /* FF , Netscape */
  -khtml-opacity: 0.7;
  /* Safari 1.x */
  opacity: 0.7;
  zoom: 1;
  /*IE*/
  color: #ffffff;
  background-color: #64b9e9;
}

.ProList .bton {
  display: block;
  font-size: 20px;
  width: 100%;
  /* 横幅 */
  padding: 10px;
  /* a要素内の余白 */
  box-sizing: border-box;
  background-color: #e2680f;
  color: #ffffff;
  text-decoration: none;
  border: 1px solid #e2680f;
  transition-duration: 500ms;
  border-radius: 30px;
}

.ProList .bton:hover {
  filter: alpha(opacity=70);
  /* IE 6,7*/
  -ms-filter: "alpha(opacity=70)";
  /* IE 8,9 */
  -moz-opacity: 0.7;
  /* FF , Netscape */
  -khtml-opacity: 0.7;
  /* Safari 1.x */
  opacity: 0.7;
  zoom: 1;
  /*IE*/
}

.WorkSum {
  display: inline;
  width: 100%;
  margin: 5px 0 0 0;
  padding: 0 0 0 0;
  float: left;
}

.WorkSum li {
  text-align: center;
  color: #000000;
  width: 25%;
  margin: 0 0 0 0;
  padding: 5px;
  list-style-type: none;
  display: block;
  float: left;
  box-sizing: border-box;
}

.WorkinfoBox {
  width: 33.3%;
  margin: 0 0 0 0;
  padding: 10px;
  float: left;
  box-sizing: border-box;
}

.AfBeBox {
  display: inline;
  width: 100%;
  margin: 20px 0 0 0;
  padding: 10px;
  box-sizing: border-box;
  float: left;
}

.ListPhotoBox {
  width: 100%;
  height: 300px;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  float: left;
}

.ListPhoto {
  width: 100%;
  text-align: center;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  float: left;
}

/******お問合せフォーム***/
.ToiBox {
  width: 100%;
  max-width: 730px;
  margin: 15px 0 0 200px;
  padding: 5px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

/********/
/*フッタBOX*/
/********/
#footer {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: center;
  float: left;
  color: #000000;
  box-sizing: border-box;
}

.FooterImgA {
  width: 30%;
  max-width: 396px;
  position: absolute;
  left: 5%;
  top: 0;
  text-align: left;
}

.FooterImgB {
  width: 30%;
  max-width: 352px;
  position: absolute;
  right: 5%;
  top: 0;
  text-align: right;
}

.FooterImgC {
  width: 30%;
  max-width: 590px;
  position: absolute;
  left: 5%;
  bottom: 0;
  text-align: left;
}

.FooterImgD {
  width: 30%;
  max-width: 491px;
  position: absolute;
  right: 5%;
  bottom: 0;
  text-align: right;
}

#FooterBox {
  width: 100%;
  margin: 30px 0 0 0;
  padding: 0 0 0 0;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

#FooterBoxSP {
  display: none;
  width: 100%;
  line-height: 1.3;
  margin: 0 0 0 0;
  padding: 5px 0 0 0;
  color: #000000;
  text-align: left;
}

#FooterBT {
  width: 100%;
  font-size: 80%;
  margin: 10px 0 0 0;
  padding: 0 0 0 0;
  text-align: center;
  color: #000000;
}

#FooterBTSP {
  width: 100%;
  margin: 10px 0 0 0;
  color: #000000;
  padding: 0 0 0 0;
  text-align: left;
  transition: 0.5s;
  font-weight: normal;
}

#FooterBTSP a {
  font-weight: bold;
  color: #000000;
  text-decoration: none;
  transition: 0.5s;
}

#FooterBTSP a:hover {
  color: #64b9e9;
  transition: 0.5s;
}

/**上側**/
#FooterBoxA {
  width: 70%;
  text-align: center;
  margin: 10px 0 0 0;
  padding: 10px;
  float: left;
  color: #000000;
  box-sizing: border-box;
}

#FooterBoxA a {
  color: #000000;
  font-size: 13px;
  transition: 0.5s;
  text-decoration: none;
}

#FooterBoxA a:hover {
  color: #64b9e9;
  transition: 0.5s;
}

#FooterBoxB {
  width: 30%;
  text-align: left;
  margin: 30px 0 0 0;
  padding: 10px;
  float: left;
  color: #000000;
  box-sizing: border-box;
  transition: 0.5s;
  font-weight: bold;
}

#FooterBoxB a {
  color: #000000;
  font-size: 16px;
  font-weight: bold;
  transition: 0.5s;
  text-decoration: none;
}

#FooterBoxB a:hover {
  color: #64b9e9;
  transition: 0.5s;
}

#FooterBoxC {
  width: 30%;
  color: #000000;
  margin: 0 0 0 0;
  padding: 10px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

#FooterLink {
  width: 100%;
  text-align: left;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  float: left;
  box-sizing: border-box;
  border-top: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
  transition: 0.5s;
}

#FooterLink li {
  text-align: center;
  color: #ffffff;
  width: 12.5%;
  margin: 10px 0 10px 0;
  padding: 5px;
  list-style-type: none;
  display: block;
  float: left;
  color: #656565;
  box-sizing: border-box;
  border-left: 1px solid #d9d9d9;
  transition: 0.5s;
}

#FooterLink li a {
  color: #656565;
  text-decoration: none;
  transition: 0.5s;
}

#FooterLink li a:hover {
  color: #bababa;
  transition: 0.5s;
}

#FooterBoxASP {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: center;
  float: left;
  color: #ffffff;
}

#FooterBoxBSP {
  width: 100%;
  margin: 10px 0 0px 0;
  padding: 0 0 0 0px;
  color: #ffffff;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

/********/

/************/
/*グローバルNAVIブロック*/

.MainFont {
  text-align: center;
  color: #0070be; /* メニュー文字色をブルーに */
  font-size: 18px;
  transition: 0.5s;
  font-weight: bold;
  letter-spacing: 0.12em;
}

.FontMaru {
  color: #0070be;
  font-size: 10px;
}

.MainFont:hover {
  color: #005fa3;
}

.MainFontCon {
  text-align: center;
  color: #333333;
  font-size: 15px;
  transition: 0.5s;
}

.MainFontCon:hover {
  color: #555555;
}

.SubFont {
  text-align: center;
  font-size: 12px;
  transition: 0.5s;
  color: #ffffff;
  font-weight: normal;
  letter-spacing: 0.1em;
}

.MainFontSE {
  text-align: center;
  color: #000000;
  font-size: 16px;
  transition: 0.5s;
  font-weight: normal;
  letter-spacing: 0.12em;
}

.MainFontSE:hover {
  color: #82c9f2;
}

.SubFontSE {
  text-align: center;
  font-size: 12px;
  transition: 0.5s;
  color: #364d20;
  font-weight: normal;
  letter-spacing: 0.1em;
}

.GlobalWrapper {
  width: 100%;
  padding: 20px 0 0 0;
  text-align: left;
  float: right;
  position: relative;
}

.GlobalWrapperR {
  width: 100%;
  max-width: 190px;
  padding: 0 0 0 0;
  text-align: left;
  float: right;
}

.GlobalNavi {
  width: 100%;
  margin: 0px 0 0 0;
  padding: 10px 20px 0 0;
  box-sizing: border-box;
  margin: 0 0 0 0;
  text-align: right;
  float: left;
}

.GlobalNavi.center {
  margin: 0;
  /* 余分なマージンを消去 */
  padding: 0;
  /* 余分なパディングを消去 */
  text-align: center;
  /* 中央寄せ */
}

.GlobalNavi li {
  display: inline-block;
  vertical-align: middle;
  margin: 0px 0 0 0;
  padding: 0 0 0 0;
  font-weight: 600;
  position: relative;
  line-height: 1;
  transition: 0.5s;
  text-align: center;
  color: #ffffff;
}

.GlobalNavi li a {
  font-size: 12px;
  text-align: center;
  display: block;
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  text-decoration: none;
  color: #0070be; /* 白ヘッダー上で視認できる色に */
  border-bottom: 1px solid transparent;
  transition: 0.5s;
}

.TopSpace {
  margin: 0px 0 0 0;
}

.GlobalNavi li a:hover {
  color: #005fa3; /* 濃いめのブルーに */
  border-bottom: 1px solid transparent;
}

.ContactBT {
  color: #ffffff;
  padding: 0px 10px 0px 10px;
  background-color: #b6ab88;
  border-radius: 10px;
}

/* Contact CTA buttons (replacing image buttons) */
.cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  max-width: 340px;
  min-height: 64px;
  padding: 16px 22px;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0.03em;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease,
    border-color 0.2s ease;
  box-shadow: none;
  border: 2px solid currentColor; /* 線のあるボタン */
  background: transparent;
  box-sizing: border-box;
  margin: 8px 12px; /* ボタン間の余白（左右にも余白） */
}
.cta-btn:focus {
  outline: 3px solid rgba(255, 255, 255, 0.6);
  outline-offset: 2px;
}
.cta-btn:hover {
  box-shadow: none;
}
.cta-btn:active {
  box-shadow: none;
}

/* Icon before text using CSS mask (supported on modern browsers including iOS Safari) */
.cta-btn::before {
  content: "";
  width: 1.15em;
  height: 1.15em;
  background-color: currentColor;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.cta-btn--mail {
  background: transparent;
  color: #ffffff;
  border-color: #ffffff;
}
.cta-btn--mail:hover {
  background: #ffffff; /* 反転 */
  color: #0a4da2;
  border-color: #0a4da2;
}
.cta-btn--mail::before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23000"><path d="M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm-1.4 3L12 12.25 5.4 7h13.2zM20 18H4V8.5l8 6 8-6V18z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23000"><path d="M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm-1.4 3L12 12.25 5.4 7h13.2zM20 18H4V8.5l8 6 8-6V18z"/></svg>');
}

.cta-btn--tel {
  background: #0070be;
  color: #ffffff;
  border-color: #ffffff;
}
.cta-btn--tel:hover {
  background: #005fa3;
  color: #ffffff;
  border-color: #ffffff;
}
.cta-btn--tel::before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23fff"><path d="M6.62 10.79a15.464 15.464 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.25c1.12.37 2.33.57 3.58.57a1 1 0 0 1 1 1V21a1 1 0 0 1-1 1C10.07 22 2 13.93 2 3a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.46.57 3.58a1 1 0 0 1-.25 1.01l-2.2 2.2z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23fff"><path d="M6.62 10.79a15.464 15.464 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.25c1.12.37 2.33.57 3.58.57a1 1 0 0 1 1 1V21a1 1 0 0 1-1 1C10.07 22 2 13.93 2 3a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.46.57 3.58a1 1 0 0 1-.25 1.01l-2.2 2.2z"/></svg>');
}

/* ContactBG上の配色: mailはアウトライン、telは塗り */
.ContactBG .cta-btn--mail {
  background: transparent;
  color: #ffffff;
  border-color: #ffffff;
}
.ContactBG .cta-btn--mail:hover {
  background: #ffffff;
  color: #0a4da2;
  border-color: #0a4da2;
}
.ContactBG .cta-btn--tel {
  background: #0070be;
  color: #ffffff;
  border-color: #ffffff;
}
.ContactBG .cta-btn--tel:hover {
  background: #005fa3;
  color: #ffffff;
  border-color: #ffffff;
}

@media (max-width: 768px) {
  .cta-btn {
    min-height: 56px;
    padding: 14px 18px;
    max-width: 320px; /* SPは幅を制限して縦積み */
    font-size: 16px;
    border-radius: 0; /* 角丸なし */
  }
}

/* PCではボタン文言を折り返さない（レイアウト崩れ防止） */
@media (min-width: 769px) {
  .cta-btn {
    white-space: nowrap;
  }
}

#SubNavi {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  float: left;
}

#SubNavi li {
  font-size: 10px;
  width: 20%;
  display: block;
  margin: 0 0 0 0;
  padding: 0px;
  float: left;
  font-weight: 600;
  background-color: #63843e;
  border-right: 1px solid #ffffff;
  box-sizing: border-box;
}

#SubNavi li a {
  display: block;
  width: 100%;
  padding: 5px;
  box-sizing: border-box;
  text-decoration: none;
  color: #ffffff;
}

#SubNavi li a:hover {
}

/************/

/*****ニュース&FACEBOOK囲む*******/
#ALLNEWSFACEBOX {
  width: 100%;
  min-width: 1000px;
  margin: 50px 0 0 0;
  float: left;
}

.InstaBox {
  width: 100%;
  margin: 0 0 0 0;
  padding: 10px;
  text-align: center;
  float: left;
  box-sizing: border-box;
  background-color: #f4f2f1;
}

/****ニュース******/

#NEWSWrapper {
  width: 100%;
  max-width: 1000px;
  margin: 30px auto;
  padding: 0 0 0 0;
  text-align: center;
}

/**新着情報**/
.NewsALLBox {
  width: 100%;
  margin: 0px 0 0 0;
  padding: 20px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

.NewsBoxIMG {
  width: 100%;
  margin: 0px 0 0 0;
  padding: 0px;
  text-align: left;
  float: left;
  position: relative;
}

.NewsBox {
  width: 100%;
  margin: 50px 0 100px 0;
  padding: 0 0 0 0;
  text-align: left;
  float: left;
  position: relative;
}

.NewsMidashi {
  font-size: 24px;
  color: #6d7909;
  line-height: 1.3;
  width: 100%;
  margin: 0px 0 0 0;
  padding: 10px;
  box-sizing: border-box;
  text-align: center;
  float: left;
  border-bottom: 3px solid #f6f6f6;
}

.NewsBoxLL {
  width: 100%;
  margin: 0 0 0 0;
  padding: 10px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

.NewsBoxRR {
  width: 100%;
  margin: 0 0 0 0;
  padding: 10px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

.NewsBoxL {
  width: 100%;
  margin: 0 0 0 0;
  padding: 5px;
  text-align: left;
  float: left;
  box-sizing: border-box;
  position: relative;
}

.NewsBoxR {
  width: 100%;
  margin: 0px 0 0 0;
  padding: 10px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

#NewsList,
.news-tab-list {
  display: inline;
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  float: left;
  text-align: left;
  list-style: none;
}

#NewsList li,
.news-tab-list li {
  text-align: left;
  font-size: 10px;
  color: #ffffff;
  width: 33.3%;
  margin: 20px 0 0 0;
  padding: 10px;
  list-style-type: none;
  overflow: hidden;
  float: left;
  box-sizing: border-box;
  transition: 0.5s;
}

#NewsList a:link,
#NewsList a:visited,
#NewsList a:hover,
.news-tab-list a:link,
.news-tab-list a:visited,
.news-tab-list a:hover {
  color: #ffffff;
  text-decoration: none;
  transition: 0.5s;
}

#NewsList a:hover,
.news-tab-list a:hover {
  color: #7dbd48;
  text-decoration: underline;
  transition: 0.5s;
}

.NewsPhoto {
  width: 100%;
  margin: 0 0 0 0;
  float: left;
  position: relative;
}

.NewsTimeBox {
  font-size: 14px;
  color: #333;
  width: 100%;
  margin: 0 0 0 0;
  padding: 5px;
  box-sizing: border-box;
  text-align: left;
  float: left;
}

.TenpoIcon {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0px;
  text-align: left;
  position: absolute;
  left: 10px;
  top: 10px;
}

.NewsTimeBoxA {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  text-align: center;
  float: left;
  line-height: 1.2;
}

.NewsTimeBoxB {
  font-size: 24px;
  width: 100%;
  margin: 0 0 0 0;
  padding: 0px;
  box-sizing: border-box;
  text-align: center;
  float: left;
  line-height: 1.2;
}

.NewsTextBox {
  color: #000000;
  width: 100%;
  margin: 0 0 0 0;
  text-align: left;
  float: left;
  font-size: 12px;
}

.NewsBT {
  width: 100%;
  max-width: 100px;
  margin: 0 0 0 0;
  padding: 0px;
  text-align: right;
  font-weight: 600;
  position: absolute;
  right: 10px;
  top: 10px;
}

.NewsBT a {
  display: block;
  width: 100%;
  /* 横幅 */
  padding: 0px;
  /* a要素内の余白 */
  box-sizing: border-box;
  color: #000000;
  text-decoration: none;
}

.NewsBT a:hover {
  text-decoration: underline;
}

/**商品新着情報**/

.ItemNewsBox {
  width: 100%;
  margin: 0 0 0 0;
  padding: 10px;
  float: left;
  text-align: center;
  box-sizing: border-box;
}

#ItemNewsList {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0px 0;
  float: left;
  text-align: center;
}

#ItemNewsList li {
  text-align: left;
  font-size: 12px;
  color: #ffffff;
  width: 33.3%;
  padding: 10px;
  margin: 20px 0 0 0;
  list-style-type: none;
  overflow: hidden;
  box-sizing: border-box;
  float: left;
  transition: 0.5s;
  position: relative;
}

#ItemNewsList a:link,
#ItemNewsList a:visited,
#ItemNewsList a:hover {
  color: #000000;
  text-decoration: none;
  transition: 0.5s;
}

#ItemNewsList a:hover {
  color: #000000;
  text-decoration: underline;
  transition: 0.5s;
}

.ItemNewsBoxL {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0px;
  float: left;
  text-align: center;
  box-sizing: border-box;
}

.ItemNewsBoxR {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0px;
  float: left;
  text-align: center;
  box-sizing: border-box;
}

.ItemNewsInfo {
  width: 100%;
  height: 100%;
  margin: 0 0 0 0;
  padding: 0;
  text-align: left;
  position: absolute;
  bottom: 0px;
  left: 0px;
  display: flex;
  align-items: flex-end;
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-transition: 0.4s ease-in-out;
  transition: 0.4s ease-in-out;
  opacity: 0;
}

.ItemNewsBoxL:hover .ItemNewsInfo {
  opacity: 1;
}

.ItemNewsInfoA {
  width: 100%;
  color: #ffffff;
  font-size: 14px;
  margin: 0 0 0 0;
  padding: 5px;
  float: left;
  text-align: left;
  box-sizing: border-box;
}

/**商品情報**/

.ItemInfoBoxA {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0px;
  float: left;
  text-align: left;
  box-sizing: border-box;
}

.ItemInfoBoxAL {
  width: 45%;
  margin: 0 0 0 0;
  padding: 10px;
  float: left;
  text-align: left;
  box-sizing: border-box;
}

.ItemInfoBoxAR {
  width: 55%;
  margin: 0 0 0 0;
  padding: 15px;
  float: left;
  text-align: left;
  box-sizing: border-box;
}

.ItemInfoBoxListA {
  width: 100%;
  font-size: 18px;
  margin: 10px 0 0 0;
  padding: 0px;
  float: left;
  text-align: left;
  box-sizing: border-box;
}

.ItemInfoBoxListB {
  width: 100%;
  font-size: 30px;
  margin: 10px 0 0 0;
  padding: 0px;
  float: left;
  text-align: left;
  box-sizing: border-box;
  border-bottom: 1px solid #a6a6a6;
}

.ItemInfoBoxListC {
  width: 100%;
  margin: 10px 0 0 0;
  padding: 0px;
  float: left;
  text-align: right;
  box-sizing: border-box;
  border-bottom: 1px dotted #a6a6a6;
}

.ItemInfoBoxListD {
  width: 100%;
  font-size: 16px;
  line-height: 1.8;
  margin: 10px 0 0 0;
  padding: 10px;
  float: left;
  text-align: left;
  box-sizing: border-box;
}

.ItemInfoBoxSum {
  width: 100%;
  margin: 10px 0 0 0;
  padding: 10px;
  float: left;
  text-align: left;
  box-sizing: border-box;
}

.ItemInfoBoxSum li {
  text-align: left;
  font-size: 12px;
  color: #ffffff;
  width: 25%;
  padding: 10px;
  margin: 10px 0 0 0;
  list-style-type: none;
  overflow: hidden;
  box-sizing: border-box;
  float: left;
  transition: 0.5s;
}

.ItemInfoBoxB {
  width: 100%;
  line-height: 1.8;
  margin: 10px 0 0 0;
  padding: 10px;
  float: left;
  text-align: left;
  box-sizing: border-box;
}

.ItemInfoBoxC {
  width: 100%;
  margin: 10px 0 0 0;
  padding: 10px;
  float: left;
  text-align: right;
  box-sizing: border-box;
}

.KakakuA {
  font-size: 24px;
}

.KakakuB {
  font-size: 14px;
}

/**施工事例情報**/
.WorksNewsBox {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: left;
  float: left;
  position: relative;
}

.WorksNewsMidashi {
  font-size: 24px;
  color: #6d7909;
  width: 100%;
  margin: 0px 0 0 0;
  padding: 10px;
  box-sizing: border-box;
  text-align: center;
  float: left;
}

.WorksNewsBoxL {
  width: 45%;
  margin: 0 0 0 0;
  padding: 5px;
  text-align: left;
  float: left;
  box-sizing: border-box;
  position: relative;
}

.WorksNewsArrow {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0;
  text-align: right;
  position: absolute;
  bottom: 0px;
  left: 0px;
}

.UketukeBox {
  font-size: 14px;
  width: 100%;
  margin: 0 0 0 0;
  padding: 0;
  text-align: left;
  position: absolute;
  top: 5px;
  left: 5px;
}

.EventArrow {
  font-size: 14px;
  color: #ffffff;
  width: 100%;
  margin: 0 0 0 0;
  padding: 0;
  text-align: right;
  position: absolute;
  bottom: 5px;
  right: 10px;
}

.YoyakauOn {
  margin: 0 0 0 0;
  padding: 5px;
  font-weight: bold;
  box-sizing: border-box;
  text-align: center;
  color: #ffffff;
  background-color: #f18800;
}

.YoyakauOff {
  margin: 0 0 0 0;
  padding: 5px;
  font-weight: bold;
  box-sizing: border-box;
  text-align: center;
  color: #ffffff;
  background-color: #5d615a;
}

.BlackFilter {
  width: 100%;
  height: 100%;
  margin: 0 0 0 0;
  padding: 0px;
  text-align: left;
  position: absolute;
  top: 0px;
  left: 0px;
  background-color: #000000;
  filter: alpha(opacity=50);
  /* IE 6,7*/
  -ms-filter: "alpha(opacity=50)";
  /* IE 8,9 */
  -moz-opacity: 0.5;
  /* FF , Netscape */
  -khtml-opacity: 0.5;
  /* Safari 1.x */
  opacity: 0.5;
}

.WorksNewsBoxR {
  width: 55%;
  margin: 0 0 0 0;
  padding: 10px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

.WorksNewsBoxCate {
  width: 100%;
  margin: 0 0 0 0;
  padding: 10px 5px 10px 5px;
  text-align: left;
  float: left;
  box-sizing: border-box;
  border-bottom: 1px solid #000000;
}

.WorksCateBox {
  width: 100%;
  max-width: 80px;
  font-size: 12px;
  color: #ffffff;
  margin: 5px 2px 0px 2px;
  padding: 5px;
  text-align: center;
  box-sizing: border-box;
  background-color: #000000;
  float: left;
}

.WorksNewsBoxRText {
  width: 100%;
  font-size: 16px;
  margin: 10px 0 0 0;
  padding: 3px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

.WorksNewsBoxRBT {
  width: 20%;
  margin: 0 0 0 0;
  padding: 3px;
  text-align: center;
  float: left;
  box-sizing: border-box;
}

.WorksNewsBoxRTextA {
  line-height: 1.3;
  font-size: 18px;
  width: 100%;
  margin: 0px 0 0 0;
  padding: 3px;
  box-sizing: border-box;
  float: left;
  text-align: left;
  color: #484747;
}

.WorksNewsBoxRTextB {
  line-height: 1.3;
  font-size: 18px;
  width: 100%;
  margin: 5px 0 0 0;
  padding: 3px;
  box-sizing: border-box;
  float: left;
  text-align: left;
  color: #484747;
}

.WorksNewsBoxRTextC {
  line-height: 1.3;
  font-size: 14px;
  width: 100%;
  margin: 5px 0 0 0;
  padding: 3px;
  box-sizing: border-box;
  float: left;
  text-align: left;
  color: #484747;
}

.WorksNewsBoxRTextD {
  line-height: 1.3;
  font-size: 14px;
  color: #484747;
  width: 100%;
  margin: 10px 0 0 0;
  padding: 3px;
  box-sizing: border-box;
  float: left;
  text-align: right;
}

#WorksNewsList {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0px 0;
  float: left;
  text-align: center;
}

#WorksNewsList li {
  text-align: left;
  font-size: 12px;
  color: #ffffff;
  width: 50%;
  padding: 10px;
  margin: 20px 0 0 0;
  list-style-type: none;
  overflow: hidden;
  box-sizing: border-box;
  float: left;
  transition: 0.5s;
  position: relative;
}

#WorksNewsList a:link,
#WorksNewsList a:visited,
#WorksNewsList a:hover {
  color: #000000;
  text-decoration: none;
  transition: 0.5s;
}

#WorksNewsList a:hover {
  color: #000000;
  text-decoration: underline;
  transition: 0.5s;
}

.WorksNewsPhoto {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  float: left;
}

.WorksNewsTextBox {
  color: #000000;
  width: 100%;
  margin: 3px 0 0 0;
  text-align: left;
  float: left;
  font-size: 12px;
}

/*施工事例*/
.WorksPageBox {
  width: 100%;
  margin: 20px 0 50px 0;
  padding: 0 0 0 0;
  text-align: left;
  float: left;
  position: relative;
}

.WorksPageBoxL {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0px;
  text-align: left;
  float: left;
  position: relative;
}

.WorksPageBoxR {
  width: 100%;
  margin: 0px 0 0 0;
  padding: 5px;
  text-align: left;
  float: right;
  box-sizing: border-box;
}

#WorksPageList {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  float: left;
  text-align: left;
}

#WorksPageList li {
  text-align: left;
  font-size: 10px;
  color: #000000;
  width: 25%;
  padding: 10px;
  margin: 30px 0 0 0;
  list-style-type: none;
  overflow: hidden;
  box-sizing: border-box;
  float: left;
}

#WorksPageList a:link,
#WorksPageList a:visited,
#WorksPageList a:hover {
  color: #000000;
  text-decoration: none;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

#WorksPageList a:hover {
  color: #5a5a5a;
  text-decoration: underline;
}

.WorksPagePhoto {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  float: left;
}

.WorksPageCate {
  font-size: 10px;
  margin: 0 0 0 0;
  padding: 5px;
  background-color: #820000;
  color: #ffffff;
  box-sizing: border-box;
}

/****お客様の声***/
.VoiceNewsBox {
  width: 100%;
  margin: 20px 0 100px 0;
  padding: 0 0 0 0;
  text-align: left;
  float: left;
  position: relative;
}

.VoiceNewsBoxL {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

.VoiceNewsBoxR {
  width: 100%;
  margin: 5px 0 0 0;
  padding: 0px;
  text-align: left;
  float: left;
  box-sizing: border-box;
}

#VoiceNewsList {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0px 0;
  float: left;
  text-align: left;
}

#VoiceNewsList li {
  text-align: left;
  font-size: 10px;
  color: #000000;
  width: 50%;
  padding: 30px;
  margin: 0px;
  list-style-type: none;
  overflow: hidden;
  box-sizing: border-box;
  float: left;
}

#VoiceNewsList a:link,
#VoiceNewsList a:visited,
#VoiceNewsList a:hover {
  color: #000000;
  text-decoration: none;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

#VoiceNewsList a:hover {
  color: #5a5a5a;
  text-decoration: underline;
}

.VoiceNewsPhoto {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  float: left;
}

/*縦書き*/
.Tategaki {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl;

  text-orientation: upright;

  display: inline-block;
  padding: 1em 0;
  box-sizing: border-box;
  font-size: 1vw;
  text-align: left;
  max-height: 300px;
  line-height: 1.3;
}

.TategakiBox {
  text-align: center;
}

/*****スマホ・タブレット対応********/
@media screen and (max-width: 960px) {
  .MainFont {
    font-size: 14px;
  }

  .SubFont {
    font-size: 10px;
  }

  #headerBoxL {
  }

  #headerBoxR {
  }

  .headerBoxSub {
    display: none;
  }

  .headerBoxSubB {
    display: block;
  }

  .GlobalWrapper {
  }

  .GlobalWrapperR {
    max-width: 140px;
  }

  .GlobalNavi {
  }

  .GlobalNavi li a {
    padding: 5px 5px 5px 5px;
  }

  .FooterMapBoxR {
  }

  .TOPCABOXL {
    width: 100%;
    text-align: center;
    margin: 0 0 0 0;
    float: left;
  }

  .TOPCABOXR {
    width: 100%;
    text-align: left;
    padding: 10px;
    margin: 20px 0 0 0px;
    float: left;
    background-color: #ffffff;
    box-sizing: border-box;
    position: static;
  }

  .TOPbCABOXL {
    width: 100%;
    text-align: center;
    margin: 0 0 0 0;
    float: left;
  }

  .TOPbCABOXR {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    font-size: 22px;
    color: #595757;
    text-align: center;
    margin: 10px 0 0px 0;
    float: left;
  }

  .CONCEPTaBOXL {
    width: 100%;
    text-align: center;
    margin: 0 0 0 0;
    float: left;
  }

  .CONCEPTaBOXR {
    width: 100%;
    text-align: left;
    padding: 10px;
    margin: 0px 0 0 0px;
    float: left;
    background-color: #ffffff;
    box-sizing: border-box;
  }

  .CONCEPTbBOXL {
    width: 100%;
    text-align: left;
    padding: 10px;
    margin: 20px 0 0 0px;
    float: left;
    background-color: #ffffff;
    box-sizing: border-box;
    position: static;
  }

  .CONCEPTbBOXR {
    width: 100%;
    text-align: center;
    margin: 0 0 0 0;
    float: left;
  }

  .CONCEPTBG {
    width: 100%;
    text-align: center;
    padding: 0 0 0 0;
    margin: 0 0 0 0;
    float: left;
  }

  .CONCEPTBGA {
    padding: 10px;
  }

  .CONCEPTBGAL {
    width: 100%;
  }

  .CONCEPTBGAR {
    width: 100%;
  }

  .CONCEPTLIST {
    width: 100%;
    text-align: center;
    padding: 10px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .CONCEPTLIST li {
    display: block;
    float: left;
    width: 100%;
    margin: 20px 0 20px 0;
    padding: 0;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
  }

  .CONCEPTLIST li:nth-child(2) {
    border-top: 1px solid #cabe9a;
    border-left: 0px solid #cabe9a;
    border-right: 0px solid #cabe9a;
  }

  .CONCEPTLIST li:nth-child(3) {
    padding: 10px 0 0 0;
    border-top: 1px solid #cabe9a;
    border-left: 0px solid #cabe9a;
    border-right: 0px solid #cabe9a;
  }

  .CONCEPTLIST li:nth-child(4) {
    padding: 10px 0 0 0;
    border-top: 1px solid #cabe9a;
    border-left: 0px solid #cabe9a;
    border-right: 0px solid #cabe9a;
  }

  .CONCEPTLISTA {
    font-size: 20px;
  }

  .CONCEPTLISTB {
    font-size: 14px;
  }

  .CONCEPTLISTC {
    width: 100%;
    text-align: center;
    padding: 5px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .ARTBOXA {
    margin: 60px 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .ARTBOXL {
    width: 100%;
    text-align: left;
    padding: 10px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .ARTBOXR {
    width: 100%;
    text-align: left;
    padding: 10px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .ARTBOXRA {
    width: 100%;
    text-align: left;
    padding: 0px;
    margin: 0px 0 0 0;
    float: left;
    box-sizing: border-box;
    font-size: 24px;
    color: #820000;
  }

  .ARTBOXRB {
    margin: 0px 0 0 0;
    font-size: 14px;
  }

  .ARTBOXBA {
    font-size: 18px;
  }

  .ARTBOXBB {
    font-size: 14px;
  }

  .evecover {
    padding-top: 60%;
  }

  .EveBox li {
    width: 100%;
  }

  .EveBoxL {
    width: 100%;
  }

  .EveBoxR {
    width: 100%;
  }

  /***コンテンツボタン****/
  .ContentsBT {
    width: 50%;
    float: left;
    padding: 10px;
    margin: 0px 0 0 0;
    box-sizing: border-box;
  }

  #NewsList li,
  .news-tab-list li {
    width: 50%;
  }

  #WorksNewsList li {
    width: 100%;
    margin: 25px 0 0 0;
  }

  .WorksNewsBoxRTextA {
    font-size: 16px;
  }

  .WorksNewsBoxRTextB {
    font-size: 14px;
  }
}

/* ==============================
	 Front page hero adjustments
	 - Full-bleed hero
	 - Remove list markers on slides
	 - Responsive height and text positioning
	 Scoped to front page to avoid side effects
	 ============================== */
body.front-page #container,
body.home #container {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  margin-bottom: 0;
  overflow: hidden;
}

body.front-page #container .flexslider,
body.home #container .flexslider {
  margin: 0;
}

/* Remove default list bullets and spacing from Flexslider */
body.front-page .flexslider .slides,
body.front-page .flexslider .slides li,
body.home .flexslider .slides,
body.home .flexslider .slides li {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Hero slide sizing */
body.front-page .hero-slide,
body.home .hero-slide {
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: center;
  min-height: clamp(420px, 80vh, 860px);
  /* Ensure inner absolute media doesn't overflow */
  overflow: hidden;
}

body.front-page .hero-visual,
body.home .hero-visual {
  /* Fill the slide and stay behind text */
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  height: 100%;
}

body.front-page .hero-visual img,
body.home .hero-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Make sure the HTML5 video behaves like a background */
body.front-page .hero-visual .hero-video,
body.home .hero-visual .hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none; /* keep overlay text clickable */
}

/* Overlay text centering and responsive tweak */
body.front-page .SlideText,
body.home .SlideText {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  z-index: 2; /* above video */
}

@media (max-width: 768px) {
  body.front-page .hero-slide,
  body.home .hero-slide {
    min-height: clamp(320px, 75vh, 620px);
  }

  body.front-page .SlideText,
  body.home .SlideText {
    padding: 15px;
    top: auto;
    bottom: 40%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    width: 90%;
    max-width: 90%;
  }
}

/************************/

/*****スマホ・タブレット対応********/
@media screen and (max-width: 768px) {
  /**全体のフォント***/
  body {
    font-size: 100%;
    line-height: 1.5;
  }

  /**画像１００％表示***/
  img {
    max-width: 100%;
    height: auto;
    width/***/
		: auto;
  }

  /*コントローラ*/
  .flex-control-nav {
    display: block;
  }

  /************スマホ用ボタン表示非表示*************/
  header {
    visibility: visible;
  }

  .fix-header {
    display: none;
  }

  .fix-footer {
    display: none;
  }

  .SlideText {
    width: 100%;
  }

  .LinkBTARROW {
    font-size: 16px;
  }

  /*************************/
  /*ついてくるボタン*/
  #totop {
    display: none;
  }

  #FixBT {
    display: none;
  }

  #FixBTSP {
    display: block;
  }

  /*ヘッダ全体*/
  #headerWrapper {
    display: none;
  }

  #headerWrapperSP {
    display: block;
  }

  /*PC用グローバルナビ*/
  .GlobalWrapper {
    display: none;
  }

  /***アニメ***/
  .iosSlider {
    display: none;
  }

  .iosSliderSP {
    display: block;
  }

  /***スライド文字****/

  .title-border-rightse {
    font-size: 18px;
  }

  .TopMidashiBox {
  }

  .TopMidashiBoxL {
    width: 20%;
  }

  .TopMidashiBoxR {
    width: 80%;
  }

  .TopMidashiBoxA {
    width: 100%;
    font-size: 24px;
  }

  .TopMidashiIMGA {
    position: absolute;
    top: -50px;
    right: 0;
  }

  /***TOP店舗情報*****/

  .TopPhaBoxALL {
  }

  .TopPhaBoxL {
    width: 100%;
    padding: 10px;
    margin: 30px 0 0 0;
  }

  .TopPhaBoxR {
    width: 100%;
    padding: 10px;
    margin: 30px 0 0 0;
  }

  .TopPhaBoxB {
  }

  .TopPhaBoxMidashi {
    font-size: 24px;
  }

  .TopPhaBoxMidashiA {
  }

  /*****店舗リストボタン******/
  /***********/

  .TenpoListBT {
    width: 100%;
    margin: 0 0 0 0;
    padding: 10px;
    text-align: center;
    float: left;
    box-sizing: border-box;
  }

  .TenpoListBT li {
    list-style: none;
    float: left;
    width: 100%;
    margin: 10px 0 0 0;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    position: relative;
    box-sizing: border-box;
  }

  /***********/
  /***********/

  /***先輩の声*****/

  .SenpaiBox {
    width: 100%;
    margin: 40px 0 0px 0;
    padding: 0 0 0 0;
    text-align: left;
    float: left;
    box-sizing: border-box;
  }

  .SenpaiBoxA {
    width: 100%;
    font-size: 20px;
    margin: 0px 0 0px 0;
  }

  .SenpaiBoxB {
    width: 100%;
    font-size: 16px;
  }

  .SenpaiBoxC {
    width: 100%;
    font-size: 16px;
    margin: 20px 0 0px 0;
    padding: 5px;
    text-align: left;
    float: left;
    box-sizing: border-box;
  }

  .SenpaiBoxD {
    font-size: 16px;
  }

  .SenpaiBoxE {
    width: 100%;
    font-size: 14px;
  }

  .SenpaiBoxL {
    width: 100%;
  }

  .SenpaiBoxR {
    width: 100%;
  }

  /********/

  /********/
  /***Q&A**/
  /********/
  .QAmidashiBox {
    padding: 50px 10px 50px 10px;
  }

  .QAListBox {
    width: 100%;
    float: left;
    padding: 0;
    margin: 20px 0 0 0;
    text-align: left;
    box-sizing: border-box;
  }

  .QAListBox:first-child {
    margin: 20px 0 0 0;
  }

  .QAListBoxA {
    font-size: 16px;
  }

  .QAListBoxB {
    font-size: 14px;
  }

  /***行動指針*****/

  .VisionALLBox {
    width: 100%;
    margin: 0px 0 0px 0;
    padding: 0 0 0 0;
    text-align: center;
    float: left;
    box-sizing: border-box;
  }

  .VisionBox {
    width: 100%;
    margin: 0px 0 30px 0;
    padding: 0 0 0 0;
    text-align: left;
    float: left;
    box-sizing: border-box;
  }

  .VisionBoxA {
    font-size: 20px;
  }

  .VisionBoxB {
    width: 100%;
    font-size: 16px;
  }

  .VisionBoxC {
    width: 100%;
    font-size: 14px;
  }

  /**共通のブルーボックス***/

  .BlueAllBox {
    width: 100%;
    float: left;
    padding: 0px;
    margin: 0 0 0 0;
    text-align: left;
    box-sizing: border-box;
    border: 3px solid #3e8e5d;
  }

  .BlueMidashiBox {
    font-size: 20px;
    padding: 10px;
  }

  .BlueMidashiBoxL {
    width: 100%;
    font-size: 20px;
    line-height: 1.5;
    float: left;
    padding: 0;
    margin: 0 0 0 0;
    text-align: left;
    box-sizing: border-box;
  }

  .BlueMidashiBoxR {
    width: 100%;
    line-height: 1.5;
    font-size: 16px;
    float: right;
    padding: 0px;
    margin: 0 0 0 0;
    text-align: left;
    box-sizing: border-box;
  }

  .BlueMainBox {
    padding: 10px;
  }

  /************/

  .RecruiteBG {
  }

  .WEcanBG {
  }

  .WEcanMARUBG {
    padding: 70px 0 0 0;
    background-size: cover;
  }

  .WEcanALLBOX {
    width: 100%;
    margin: 0 0 0 0;
  }

  /********/

  .ContactBG {
    width: 100%;
    float: left;
    margin: 0px 0 0 0;
    padding: 0px;
    box-sizing: border-box;
    border-radius: 0 0 0 0;
  }

  /**商品新着情報**/

  .ItemNewsBox {
    width: 100%;
    margin: 0 0 0 0;
    padding: 10px;
    float: left;
    text-align: center;
    box-sizing: border-box;
  }

  #ItemNewsList {
    width: 100%;
    margin: 0 0 0 0;
    padding: 0 0 0px 0;
    float: left;
    text-align: center;
  }

  #ItemNewsList li {
    text-align: left;
    font-size: 12px;
    color: #ffffff;
    width: 100%;
    padding: 10px;
    margin: 20px 0 0 0;
    list-style-type: none;
    overflow: hidden;
    box-sizing: border-box;
    float: left;
    transition: 0.5s;
    position: relative;
  }

  #ItemNewsList a:link,
  #ItemNewsList a:visited,
  #ItemNewsList a:hover {
    color: #000000;
    text-decoration: none;
    transition: 0.5s;
  }

  #ItemNewsList a:hover {
    color: #000000;
    text-decoration: underline;
    transition: 0.5s;
  }

  .ItemNewsBoxL {
    width: 100%;
    margin: 0 0 0 0;
    padding: 0px;
    float: left;
    text-align: center;
    box-sizing: border-box;
  }

  .ItemNewsBoxR {
    width: 100%;
    margin: 0 0 0 0;
    padding: 0px;
    float: left;
    text-align: center;
    box-sizing: border-box;
  }

  .ItemNewsInfo {
    display: none;
  }

  /*********/

  .TopMesseBoxL {
    width: 100%;
  }

  .TopMesseBoxR {
    width: 100%;
  }

  .TopMesseBoxLL {
    width: 100%;
    float: left;
  }

  .TopMesseBoxRR {
    width: 100%;
    float: left;
  }

  .TopMesseBoxA {
    width: 100%;
    margin: 40px 0 0 0;
  }

  .TopMesseBoxB {
    width: 100%;
    margin: 20px 0 0 0;
    padding: 0 0 0 0;
    font-size: 30px;
  }

  .TopMesseBoxC {
    margin: 20px 0 0 0;
  }

  .TopMesseBoxD {
    width: 100%;
    margin: 30px 0 0 0;
  }

  .TopMesseBoxSum {
    width: 100%;
  }

  /********/

  .TopTenpoImgA {
    width: 30%;
    max-width: 205px;
    position: absolute;
    left: -10px;
    top: -20px;
    text-align: left;
    z-index: 900;
  }

  .TopTenpoImgB {
    width: 30%;
    max-width: 305px;
    position: absolute;
    right: 0px;
    bottom: -10px;
    text-align: left;
  }

  .TopTenpoImgC {
    width: 15%;
    max-width: 177px;
    position: absolute;
    left: 0;
    bottom: -20px;
    text-align: left;
  }

  .TopTenpoImgD {
    width: 15%;
    max-width: 177px;
    position: absolute;
    right: 0%;
    bottom: -20px;
    text-align: right;
  }

  .TopTenpoImgE {
    width: 15%;
    max-width: 211px;
    position: absolute;
    left: 0px;
    bottom: 30px;
    text-align: left;
  }

  .TopTenpoImgF {
    width: 15%;
    max-width: 264px;
    position: absolute;
    right: 0px;
    bottom: 0px;
    text-align: left;
  }

  .TopTenpoImgG {
    width: 25%;
    max-width: 271px;
    position: absolute;
    left: 0%;
    bottom: -5%;
    text-align: left;
  }

  .TopTenpoImgH {
    width: 25%;
    max-width: 254px;
    position: absolute;
    right: 0%;
    bottom: -5%;
    text-align: right;
  }

  .TopTenpoImgI {
    width: 50%;
    max-width: 331px;
  }

  .TopTenpoImgJ {
    width: 30%;
    max-width: 300px;
    position: absolute;
    right: 0;
    top: -50px;
    text-align: right;
  }

  .TopTenpoImgK {
    width: 50%;
    max-width: 278px;
    position: absolute;
    right: 0;
    top: -60px;
    text-align: right;
  }

  .TopTenpoImgL {
    width: 50%;
    max-width: 278px;
    position: absolute;
    left: -20px;
    top: -50px;
    text-align: left;
  }

  /***店舗情報*****/

  .TenpoALLBox {
    width: 100%;
    padding: 0px;
    box-sizing: border-box;
    margin: 20px 0 0 0;
    text-align: center;
    float: left;
  }

  .TenpoMainPhoto {
    width: 100%;
    padding: 0px;
    box-sizing: border-box;
    margin: 0px 0 0 0;
    text-align: center;
    float: left;
  }

  .TenpoSumPhotoBox {
    width: 100%;
    padding: 0px;
    box-sizing: border-box;
    margin: 10px 0 0 0;
    text-align: center;
    float: left;
  }

  .TenpoSumPhotoBox div {
    width: 33.3%;
    padding: 5px;
    box-sizing: border-box;
    margin: 0px 0 0 0;
    text-align: center;
    float: left;
  }

  .TenpoInfoBox {
    width: 100%;
    padding: 0px;
    box-sizing: border-box;
    margin: 10px 0 0 0;
    text-align: center;
    float: left;
  }

  .TenpoInfoBoxL {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    margin: 0px 0 0 0;
    text-align: center;
    float: left;
  }

  .TenpoInfoBoxR {
    width: 100%;
    line-height: 1.3;
    padding: 10px;
    box-sizing: border-box;
    margin: 0px 0 0 0;
    text-align: center;
    float: left;
  }

  .tenpo-css {
    margin: 0px 0 0px 0;
    position: relative;
    width: 100%;
    padding-top: 90%;
    float: left;
  }

  /***会社概要*****/
  .CompanyList {
    width: 100%;
    margin: 20px 0 0 0;
    padding: 0px;
    text-align: left;
    float: left;
    border-bottom: 1px dotted #8bb269;
    box-sizing: border-box;
  }

  .CompanyListL {
    width: 100%;
    font-size: 14px;
    margin: 0;
    padding: 5px;
    text-align: left;
    float: left;
    box-sizing: border-box;
  }

  .CompanyListR {
    width: 100%;
    font-size: 14px;
    margin: 0;
    padding: 5px;
    text-align: left;
    float: left;
    box-sizing: border-box;
  }

  /***フロア紹介*****/

  .FlowerBoxALL {
    width: 100%;
    margin: 0 0 0 0;
    padding: 0px;
    box-sizing: border-box;
    float: left;
    background-color: #efefef;
  }

  .FlowerBoxA {
    width: 100%;
    margin: 0 0 0 0;
    padding: 0px;
    box-sizing: border-box;
    float: left;
  }

  .FlowerBoxAL {
    width: 100%;
    margin: 0 0 0 0;
    padding: 0px;
    box-sizing: border-box;
    float: left;
  }

  .FlowerBoxAR {
    width: 100%;
    margin: 0 0 0 0;
    padding: 10px;
    box-sizing: border-box;
    float: left;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }

  .FlowerBoxB {
    width: 100%;
    margin: 0 0 0 0;
    padding: 0px;
    box-sizing: border-box;
    float: left;
  }

  .FlowerBoxBL {
    width: 100%;
    margin: 0 0 0 0;
    padding: 0px;
    box-sizing: border-box;
    float: right;
  }

  .FlowerBoxBR {
    width: 100%;
    margin: 0 0 0 0;
    padding: 10px;
    box-sizing: border-box;
    float: left;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }

  .FlowerText {
    width: 100%;
    margin: 0px 0 0 0;
    padding: 0px;
    text-align: left;
    box-sizing: border-box;
    float: left;
  }

  .FlowerTextA {
    width: 100%;
    font-size: 16px;
    margin: 0 0 0 0;
    padding: 0px;
    text-align: left;
    box-sizing: border-box;
    float: left;
  }

  .FlowerTextB {
    width: 100%;
    font-size: 24px;
    margin: 0 0 0 0;
    padding: 0px;
    text-align: left;
    box-sizing: border-box;
    float: left;
  }

  .FlowerTextC {
    width: 100%;
    color: #c0a275;
    font-size: 16px;
    margin: 0 0 0 0;
    padding: 0px;
    text-align: left;
    box-sizing: border-box;
    float: left;
  }

  .FlowerTextD {
    width: 100%;
    margin: 20px 0 0 0;
    padding: 0px;
    text-align: left;
    box-sizing: border-box;
    float: left;
  }

  /***********/
  /***********/

  /********/
  /*TOPリニューアルコンセプト*/
  /********/
  .TOPCA {
    width: 100%;
    min-width: initial;
    min-width: auto;
    min-height: initial;
    min-height: auto;
    float: left;
    margin: 10px 0 0 0;
    padding: 0px;
    box-sizing: border-box;
    background: none;
  }

  .TOPCB {
    width: 100%;
    min-width: initial;
    min-width: auto;
    min-height: initial;
    min-height: auto;
    float: left;
    margin: 10px 0 0 0;
    padding: 0px;
    box-sizing: border-box;
    background: none;
  }

  .TOPCC {
    width: 100%;
    min-width: initial;
    min-width: auto;
    min-height: initial;
    min-height: auto;
    float: left;
    margin: 10px 0 0 0;
    padding: 0px;
    box-sizing: border-box;
    background: none;
  }

  .TOPCD {
    width: 100%;
    min-width: initial;
    min-width: auto;
    min-height: initial;
    min-height: auto;
    float: left;
    margin: 10px 0 0 0;
    padding: 0px;
    box-sizing: border-box;
    background: none;
  }

  .TOPCASP {
    display: block;
  }

  .TOPCAtextA {
    width: 100%;
    max-width: initial;
    max-width: auto;
    margin: 0 0 0 0;
    padding: 15px;
  }

  .TOPCAtextAA {
    width: 100%;
    margin: 0 0 0 0;
    padding: 0px;
    text-align: left;
    float: left;
    box-sizing: border-box;
    color: #820000;
    font-size: 24px;
  }

  .catch {
    display: flex;
    align-items: center;
    /* 垂直中心 */
    justify-content: left;
    /* 水平中心 */
  }

  .catch:after {
    border-top: 3px solid;
    content: "";
    width: 5em;
    /* 線の長さ */
  }

  .catch:after {
    margin-left: 1em;
    /* 文字の左隣 */
  }

  .TOPCAtextAB {
    width: 100%;
    margin: 0 0 0 0;
    padding: 0px;
    text-align: left;
    float: left;
    box-sizing: border-box;
    color: #000000;
    font-size: 30px;
  }

  .TOPCAtextAC {
    width: 100%;
    margin: 10px 0 0 0;
    padding: 0px;
    text-align: left;
    float: left;
    box-sizing: border-box;
    color: #000000;
    font-size: 16px;
    font-weight: normal;
  }

  .TOPCAtextAD {
    width: 100%;
    margin: 15px 0 0 0;
    padding: 0px;
    text-align: left;
    float: left;
    box-sizing: border-box;
  }

  /********/

  /********/
  /*リニューアル用*/
  /********/

  .TOPPUA {
    width: 100%;
    min-height: 30px;
    float: left;
    background-position: bottom center;
    background-size: contain;
  }

  .TOPPUB {
    width: 100%;
    float: left;
    margin: 0px 0 0 0;
    padding: 0px 10px 50px 10px;
    box-sizing: border-box;
  }

  .PUBBOX {
    width: 100%;
    float: left;
    margin: 0 0 0 0;
    padding: 10px;
    box-sizing: border-box;
    background-size: auto auto;
    background-color: rgba(130, 0, 0, 1);
    background-image: repeating-linear-gradient(
      45deg,
      transparent,
      transparent 10px,
      rgba(154, 48, 48, 1) 10px,
      rgba(154, 48, 48, 1) 11px
    );
  }

  .PUBBOXA {
    width: 100%;
    float: left;
    margin: 5px 0 0 0;
    padding: 5px;
    box-sizing: border-box;
    font-size: 16px;
    color: #ffffff;
  }

  .PUBBOXB {
    width: 100%;
    float: left;
    margin: 5px 0 40px 0;
    padding: 5px;
    box-sizing: border-box;
    font-size: 24px;
    color: #ffffff;
  }

  .CommonMidashiA {
    font-size: 16px;
  }

  .CommonMidashiB {
    font-size: 20px;
  }

  .CommonMidashiC {
    font-size: 18px;
  }

  .CommonMidashiNew {
    font-size: 24px;
  }

  .CommonMidashiSE {
    margin: -20px 0 50px 0;
  }

  .CommonMidashiSEmax {
    max-width: 1000px;
  }

  .CommonMidashiSEBOX {
    width: 100%;
    margin: 0 0 0 0;
    padding: 30px 10px 30px 10px;
    text-align: center;
    float: left;
    box-sizing: border-box;
  }

  .CommonMidashiSEA {
    font-size: 24px;
  }

  .CommonMidashiSEB {
    font-size: 16px;
  }

  /********/

  /*ページ全体*/

  .HonbunText {
    padding: 0 3px 0 4px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }

  .leftimg {
    float: none;
    clear: both;
    margin: 0 0 5px 0;
  }

  .rightimg {
    float: none;
    clear: both;
    margin: 0 0 10px 0;
  }

  .pcshow {
    display: none;
  }

  .spshow {
    display: block;
  }

  .TopMessegeA {
    line-height: 1.8;
    font-size: 20px;
  }

  #ALLBGWrapper {
  }

  #TOPpageWrapper {
    width: 100%;
    max-width: 1000px;
  }

  #pageWrapper {
    width: 100%;
    max-width: 1000px;
  }

  #pageWrapperSE {
    width: 100%;
    max-width: 1000px;
  }

  #LeftBox {
    display: inline;
    width: 100%;
    margin: 20px 0 0 0;
    padding: 5px;
    box-sizing: border-box;
  }

  .blogcover {
    padding-top: 60%;
  }

  #BlogAllBox li {
    width: 100%;
  }

  .BlogNewsBoxL {
    width: 100%;
    margin: 0 auto;
    padding: 1px;
    float: none;
    box-sizing: border-box;
    text-align: center;
  }

  .BlogNewsBoxR {
    width: 100%;
    margin: 0 0 0 0;
    padding: 5px;
    float: right;
    box-sizing: border-box;
    text-align: left;
    border-top: 1px dotted #000000;
  }

  #RightBox {
    display: inline;
    margin: 40px 0 0 0;
    width: 100%;
    padding: 5px;
    box-sizing: border-box;
  }

  #LeftBoxBlog {
    display: inline;
    width: 100%;
    margin: 0 0 0 0;
    padding: 5px;
    box-sizing: border-box;
  }

  #BlogAllBox {
    width: 100%;
  }

  #RightBoxBlog {
    display: inline;
    margin: 0 0 0 0;
    width: 100%;
    padding: 5px;
    box-sizing: border-box;
  }

  #RightBoxBlog li {
    width: 100%;
  }

  #RightBox .TOPBTBOXSP li {
    width: 50%;
  }

  #RightBox img {
    max-width: 100%;
    height: auto;
    width/***/
		: auto;
  }

  #MenuListBox {
    width: 100%;
    margin: 5px 0 0 0;
    background: url("../img/menu_head.png"), url("../img/menu_bottom.png");
    background-position: top left, bottom left;
    background-repeat: no-repeat, no-repeat;
  }

  #SideNavi {
    display: none;
  }

  #SideNaviSP {
    display: block;
  }

  #SideBox {
    width: 100%;
    margin: 50px 0 10px 0;
    padding: 0 0 0 0;
    text-align: center;
    float: left;
  }

  #Midashi {
    display: none;
  }

  .MidashiSP {
    display: block;
  }

  /*アニメ*/
  #AnimeMain {
    display: none;
  }

  .AnimeSP {
    display: block;
    height: 32px;
  }

  /*TOPメインコンテンツ*/

  /******/
  /*TOPボタンリスト*/

  .TOPBTBOX li {
    width: 100%;
  }

  .TOPBTBOX li:nth-child(1) {
    width: 100%;
  }

  .TOPBTBOX li:nth-child(2) {
    width: 100%;
  }

  .TOPBTtextA {
    font-size: 20px;
  }

  .AboutBOX li {
    display: inline-block;
    float: left;
    width: 100%;
    margin: 20px 0 0 0;
    padding: 20px;
    text-align: center;
    text-decoration: none;
    position: relative;
    box-sizing: border-box;
    color: #ffffff;
  }

  .AboutIMG {
    width: 100%;
    margin: 0 0 0 0;
    text-align: center;
    float: left;
    box-sizing: border-box;
  }

  .AboutText {
    width: 95%;
    margin: -10px 0 0 0;
    padding: 0px;
    text-align: left;
    float: left;
    color: #000000;
    box-sizing: border-box;
    background-color: #ffffff;
  }

  .AboutTextA {
    width: 15%;
    font-size: 20px;
    border-bottom: 3px solid #000000;
    margin: 0 0 0 0;
    padding: 3px;
    text-align: center;
    float: left;
    box-sizing: border-box;
  }

  .AboutTextB {
    width: 85%;
    font-size: 14px;
    margin: 0 0 0 0;
    padding: 10px;
    text-align: left;
    float: left;
    box-sizing: border-box;
  }

  /***********/
  /*ニュース*/
  /***********/
  #ALLNEWSFACEBOX {
    width: 100%;
    min-width: 100%;
    margin: 10px 0 0 0;
    float: left;
  }

  #facebox {
    width: 99%;
    height: 290px;
    margin: 10px 1px 1px 1px;
    padding: 0 0 10px 0;
    float: right;
  }

  /**商品情報**/

  .ItemInfoBoxA {
    width: 100%;
    margin: 0 0 0 0;
    padding: 0px;
    float: left;
    text-align: left;
    box-sizing: border-box;
  }

  .ItemInfoBoxAL {
    width: 100%;
    margin: 0 0 0 0;
    padding: 10px;
    float: left;
    text-align: left;
    box-sizing: border-box;
  }

  .ItemInfoBoxAR {
    width: 100%;
    margin: 0 0 0 0;
    padding: 15px;
    float: left;
    text-align: left;
    box-sizing: border-box;
  }

  .ItemInfoBoxListA {
    width: 100%;
    font-size: 16px;
    margin: 10px 0 0 0;
    padding: 0px;
    float: left;
    text-align: left;
    box-sizing: border-box;
  }

  .ItemInfoBoxListB {
    width: 100%;
    font-size: 20px;
    margin: 10px 0 0 0;
    padding: 0px;
    float: left;
    text-align: left;
    box-sizing: border-box;
    border-bottom: 1px solid #a6a6a6;
  }

  .ItemInfoBoxListC {
    width: 100%;
    margin: 10px 0 0 0;
    padding: 0px;
    float: left;
    text-align: right;
    box-sizing: border-box;
    border-bottom: 1px dotted #a6a6a6;
  }

  .ItemInfoBoxListD {
    width: 100%;
    font-size: 14px;
    line-height: 1.8;
    margin: 15px 0 0 0;
    padding: 0px;
    float: left;
    text-align: left;
    box-sizing: border-box;
  }

  .ItemInfoBoxSum {
    width: 100%;
    margin: 10px 0 0 0;
    padding: 0px;
    float: left;
    text-align: left;
    box-sizing: border-box;
  }

  .ItemInfoBoxSum li {
    text-align: left;
    font-size: 12px;
    color: #ffffff;
    width: 50%;
    padding: 10px;
    margin: 10px 0 0 0;
    list-style-type: none;
    overflow: hidden;
    box-sizing: border-box;
    float: left;
    transition: 0.5s;
  }

  .ItemInfoBoxB {
    width: 100%;
    line-height: 1.8;
    margin: 10px 0 0 0;
    padding: 10px;
    float: left;
    text-align: left;
    box-sizing: border-box;
  }

  .ItemInfoBoxC {
    width: 100%;
    margin: 10px 0 0 0;
    padding: 10px;
    float: left;
    text-align: right;
    box-sizing: border-box;
  }

  .KakakuA {
    font-size: 24px;
  }

  .KakakuB {
    font-size: 14px;
  }

  /*新着情報*/

  .NewsBox {
    margin: 50px 0 30px 0;
  }

  .NewsBoxLL {
    width: 100%;
    margin: 20px 0 0 0;
    padding: 3px;
    text-align: left;
    float: left;
  }

  .NewsBoxRR {
    width: 100%;
    margin: 40px 0 0 0;
    padding: 3px;
    text-align: left;
    float: left;
  }

  .NewsBoxL {
    width: 100%;
  }

  .NewsBoxR {
    width: 100%;
  }

  #NewsList li,
  .news-tab-list li {
    width: 100%;
  }

  .NewsBT {
    margin: 5px 0 5px 0;
    position: static;
    float: right;
  }

  /*施工新着情報*/

  .WorksNewsBox {
    margin: 10px 0 30px 0;
  }

  .WorksNewsBoxL {
    width: 100%;
    margin: 0 0 0 0;
    padding: 10px;
    text-align: left;
    float: left;
  }

  .WorksNewsBoxR {
    width: 100%;
    margin: 0 0 0 0;
    padding: 10px;
    text-align: left;
    float: left;
  }

  #WorksNewsList {
    display: block;
  }

  #WorksNewsList li {
    width: 100%;
    margin: 15px 0 0 0;
    padding: 5px;
  }

  .WorksNewsBT {
    margin: 5px 0 5px 0;
    position: static;
    float: right;
  }

  /*施工事例*/

  .ProList {
    display: block;
    table-layout: fixed;
    width: 100%;
  }

  .ProList li {
    display: block;
    width: 100%;
  }

  .WorksPageBox {
    margin: 10px 0 30px 0;
  }

  .WorksPageBoxL {
    width: 100%;
    margin: 0 0 0 0;
    padding: 0px;
    text-align: left;
    float: left;
    box-sizing: border-box;
  }

  .WorksPageBoxR {
    width: 100%;
    margin: 0px 0 0 0;
    padding: 0px;
    text-align: left;
    float: right;
    box-sizing: border-box;
  }

  #WorksPageList {
    width: 100%;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    float: left;
    text-align: left;
  }

  #WorksPageList li {
    text-align: left;
    font-size: 10px;
    color: #000000;
    width: 100%;
    padding: 0;
    margin: 40px 0 0 0;
    list-style-type: none;
    overflow: hidden;
    box-sizing: border-box;
    float: left;
  }

  .WorkinfoBox {
    width: 100%;
    padding: 0px;
  }

  /****お客様の声***/
  .VoiceNewsBox {
    width: 100%;
    margin: 20px 0 30px 0;
  }

  #VoiceNewsList li {
    text-align: left;
    font-size: 10px;
    color: #000000;
    width: 100%;
    padding: 5px;
    margin: 20px 0 0 0;
    list-style-type: none;
    overflow: hidden;
    box-sizing: border-box;
    float: left;
  }

  /*訪問*/

  .HomeVisitALLBox {
    width: 100%;
    margin: 0 0 0 0;
    padding: 10px;
    box-sizing: border-box;
    float: left;
  }

  .HomeVisitMidashiBox {
  }

  .HomeVisitMidashiBoxLine {
    width: 100%;
    height: 6px;
    margin: 0px 0 0 0;
    padding: 0;
    box-sizing: border-box;
    float: left;
  }

  .HomeVisitMidashiBox span {
    font-size: 16px;
    padding: 10px;
  }

  .HomeVisitBox {
    width: 100%;
    margin: 20px 0 0 0;
    padding: 10px;
    box-sizing: border-box;
    float: left;
  }

  .HomeVisitBoxA {
    width: 100%;
    font-size: 18px;
    text-align: center;
    margin: 0px 0 0 0;
    padding: 0px;
    box-sizing: border-box;
    float: left;
  }

  .HomeVisitBoxB {
    width: 100%;
    text-align: center;
    margin: 10px 0 0 0;
    padding: 0px;
    box-sizing: border-box;
    float: left;
  }

  /*LINE受付*/

  .FlowBox {
    width: 100%;
    margin: 40px 0 0 0;
    padding: 10px;
    box-sizing: border-box;
    float: left;
  }

  .FlowBoxA {
    font-size: 20px;
  }

  .FlowALLBox {
    padding: 15px;
  }

  .FlowMidashiBox {
    margin: -20px 0 0 0;
  }

  .FlowMidashiBoxA {
  }

  .FlowMidashiBoxB {
  }

  .FlowBoxL {
    width: 100%;
    padding: 10px;
  }

  .FlowBoxR {
    width: 100%;
    padding: 10px;
  }

  /*即日買取*/

  .PUBBOXSEA {
    font-size: 20px;
    text-align: center;
  }

  /*****2階層本文内*****/

  #Pankuzu {
    width: 99%;
    margin: 0 auto;
  }

  #PageImg {
  }

  .PageImgMidashi {
    width: 100%;
    margin: -40px 0 0 0;
    padding: 10px;
    text-align: center;
    box-sizing: border-box;
  }

  .PageImgMidashi span {
    padding: 15px;
    font-size: 20px;
    color: #ffffff;
    border-radius: 15px;
  }

  #MidashiLine {
    background: none;
  }

  .MapBox li {
    display: block;
    float: left;
    width: 45%;
    margin: 10px 0 0 10px;
    padding: 0 0 0 0;
    text-align: left;
    text-decoration: none;
  }

  /***価格表****/

  .ToryouBox {
    width: 100%;
    text-align: center;
    padding: 0px;
    margin: 50px 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .ToryouBoxL {
    width: 100%;
    text-align: center;
    padding: 10px;
    margin: 0px 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .ToryouBoxR {
    width: 100%;
    text-align: center;
    padding: 10px;
    margin: 0px 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .ToryouBoxA {
    width: 100%;
    text-align: left;
    padding: 10px;
    font-size: 20px;
    margin: 0px 0 0 0;
    float: left;
    box-sizing: border-box;
    border-bottom: 1px solid #000000;
  }

  .ToryouBoxB {
    width: 100%;
    text-align: left;
    padding: 5px;
    font-size: 16px;
    margin: 0px 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .ToryouBoxC {
    width: 100%;
    text-align: left;
    padding: 5px;
    font-size: 14px;
    margin: 0px 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .SekouStepBox {
    width: 100%;
    text-align: center;
    padding: 0px;
    margin: 50px 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .SekouStepMidashi {
    width: 100%;
    text-align: left;
    padding: 0px;
    margin: 0px 0 0 0;
    float: left;
    box-sizing: border-box;
    border-bottom: 1px solid #000000;
  }

  .StepMidashi {
    font-size: 16px;
    color: #ffffff;
    text-align: left;
    padding: 10px;
    margin: 0px 0 0 0;
    float: left;
    box-sizing: border-box;
    background-color: #000000;
  }

  .SekouStepBoxL {
    width: 100%;
    text-align: center;
    padding: 10px;
    margin: 0px 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .SekouStepBoxR {
    width: 100%;
    font-size: 16px;
    text-align: left;
    padding: 10px;
    margin: 0px 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  /**コンセプト**/

  .ConceptInfoBoxALL {
    width: 100%;
    text-align: center;
    padding: 0px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .ConceptInfoBoxA {
    width: 100%;
    text-align: center;
    padding: 0px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .ConceptInfoBoxB {
    width: 100%;
    text-align: center;
    padding: 0px;
    margin: -30px 0 0 0;
    float: left;
    box-sizing: border-box;
    position: relative;
  }

  .ConceptInfoBoxC {
    width: 100%;
    font-size: 14px;
    text-align: center;
    padding: 0px;
    margin: 30px 0 50px 0;
    float: left;
    box-sizing: border-box;
  }

  .ConceptInfoBoxMidashi {
    width: 100%;
    text-align: center;
    padding: 0px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
    background-color: #ffffff;
  }

  .ConceptInfoBoxMidashiA {
    width: 100%;
    font-size: 16px;
    text-align: center;
    padding: 0px;
    margin: 10px 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .ConceptInfoBoxMidashiB {
    width: 100%;
    font-size: 20px;
    text-align: center;
    padding: 0px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .ConceptInfoBoxPhoto {
    width: 100%;
    text-align: center;
    padding: 10px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .FeInfoBoxALL {
    width: 100%;
    text-align: center;
    padding: 0px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .FeInfoBoxA {
    width: 100%;
    text-align: center;
    padding: 0px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .FeInfoBoxB {
    width: 100%;
    text-align: left;
    padding: 10px;
    margin: 0px 0 0 0;
    float: left;
    box-sizing: border-box;
    position: relative;
  }

  .FeInfoBoxC {
    width: 100%;
    text-align: left;
    padding: 10px;
    margin: 0px 0 0px 0;
    float: left;
    box-sizing: border-box;
  }

  .FeInfoBoxMidashi {
    width: 100%;
    text-align: left;
    padding: 0px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .FeInfoBoxMidashiA {
    width: 100%;
    font-size: 18px;
    text-align: left;
    padding: 0px;
    margin: 10px 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .FeInfoBoxMidashiB {
    width: 100%;
    font-size: 20px;
    text-align: left;
    padding: 0px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .FeInfoBoxMidashiC {
    width: 100%;
    color: #c0a275;
    font-size: 16px;
    text-align: left;
    padding: 0px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .FeInfoBoxPhoto {
    width: 50%;
    text-align: center;
    padding: 10px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .HonbunIMGSP {
    display: block;
  }

  .HonbunText li {
    width: 100%;
  }

  .iframe-east {
    margin: 15px 0 25px 0;
    position: relative;
    width: 100%;
    height: 50%;
    padding-top: 80%;
    float: left;
  }

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

  /***会社地図****/

  .AboutMapBox {
    width: 100%;
    text-align: center;
    padding: 0px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .AboutMapBoxL {
    width: 100%;
    text-align: center;
    padding: 10px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .AboutMapBoxR {
    width: 100%;
    text-align: center;
    padding: 10px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .AboutMapList {
    width: 100%;
    text-align: center;
    padding: 0px;
    margin: 15px 0 0 0;
    float: left;
    box-sizing: border-box;
    border-bottom: 1px solid #efefef;
  }

  .AboutMapListL {
    width: 25%;
    text-align: left;
    padding: 5px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .AboutMapListR {
    width: 75%;
    text-align: left;
    padding: 5px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  /***フッター地図****/
  .FooterMapBoxL {
    width: 100%;
  }

  .FooterMapBoxR {
    width: 100%;
    margin: 30px 0 0 0;
  }

  .iframe-css-footer {
    margin: 0 0 0px 0;
    position: relative;
    width: 100%;
    padding-top: 60%;
    float: left;
  }

  /*******/

  /*****採用情報****/
  .Retable tr,
  .Retable th,
  .Retable td {
    width: 100%;
    display: block;
  }

  .Retable th {
    border: none;
  }

  .RetableA tr,
  .RetableA th,
  .RetableA td {
    width: 100%;
    display: block;
  }

  .RetableA th {
    border: none;
  }

  .RecCompanyBox {
    font-size: 16px;
  }

  .RecCompanyBoxL {
    width: 100%;
    text-align: left;
    padding: 10px;
    margin: 0px 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .RecCompanyBoxR {
    width: 100%;
    text-align: left;
    padding: 10px;
    margin: 0px 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .KikiSetubiBoxALL {
    width: 100%;
    text-align: left;
    padding: 0px;
    margin: 0 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .KikiSetubiBox {
    width: 100%;
    text-align: left;
    padding: 10px;
    margin: 20px 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .MiryokuBox {
  }

  .MiryokuBoxL {
    width: 100%;
  }

  .MiryokuBoxR {
    width: 100%;
  }

  .MiryokuBoxLL {
    width: 100%;
    float: left;
  }

  .MiryokuBoxRR {
    width: 100%;
    float: left;
  }

  .MiryokuMidashiA {
    width: 100%;
    text-align: center;
    padding: 0 0 0 0;
    margin: -30px 0 0 0;
    float: left;
    box-sizing: border-box;
  }

  .MiryokuMidashiA span {
  }

  .MiryokuMidashiB {
    font-size: 18px;
  }

  .MiryokuMidashiC {
    font-size: 16px;
  }

  /*標準仕様*/

  .StandBox li {
    width: 50%;
  }

  /*動画の投稿*/
  .MovieListF {
    display: inline;
    width: 100%;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    float: left;
  }

  .MovieListF li {
    text-align: center;
    font-size: 14px;
    color: #000000;
    width: 100%;
    margin: 20px 0 0 0;
    padding: 3px;
    list-style-type: none;
    display: block;
    float: left;
  }

  /*イベントの投稿*/
  .EveBox {
    display: inline;
    width: 100%;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    float: left;
  }

  .EveBox li {
    text-align: center;
    font-size: 14px;
    color: #000000;
    width: 100%;
    margin: 20px 0 0 0;
    padding: 3px;
    list-style-type: none;
    display: block;
    float: left;
  }

  .EveBoxL {
    width: 100%;
  }

  .EveBoxR {
    width: 100%;
  }

  /******施工事例***/

  .WorkSum li {
    width: 50%;
  }

  /******お問合せフォーム***/

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

  #order2 {
    height: 950px;
  }

  #ToiBox {
    width: 100%;
    margin: 0 auto;
    text-align: left;
  }

  .form-width {
    width: 80%;
  }

  .form-widthyyubin {
    width: 50%;
  }

  .form-widthkibou {
    margin: 2px 0 0 0;
    width: 40%;
  }

  .form-widthysonota {
    width: 90%;
  }

  .table-contactform7 {
    display: block;
    float: left;
    background-color: #ffffff;
  }

  .table-contactform7 tbody,
  .table-contactform7 tr {
    display: block;
    float: left;
    width: 100%;
    background-color: #ffffff;
  }

  .table-contactform7 th {
    width: 100%;
    display: block;
    float: left;
    margin: 0 auto;
    border: none;
    background-color: #ffffff;
  }

  .table-contactform7 td {
    float: left;
    display: list-item;
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 80%;
    background-color: #ffffff;
  }

  /**********/

  /****/

  /*フッター*/
  #footertoiA {
    width: 100%;
    text-align: center;
  }

  #footer {
    margin: 0 0 0 0;
    min-width: initial;
    min-width: auto;
    min-height: initial;
    min-height: auto;
  }

  #FooterLine {
    min-width: initial;
    min-width: auto;
  }

  #FooterBox {
    display: none;
  }

  #FooterBoxSP {
    display: block;
  }

  .FooterImgA {
    top: -5%;
  }

  .FooterImgB {
    top: -5%;
  }

  .FooterImgC {
    width: 30%;
    max-width: 590px;
    position: absolute;
    left: 5%;
    bottom: 60px;
    text-align: left;
  }

  .FooterImgD {
    width: 30%;
    max-width: 491px;
    position: absolute;
    right: 5%;
    bottom: 60px;
    text-align: right;
  }
}

/*************************/

/*****スマホ・タブレット対応********/
@media screen and (max-width: 600px) {
  .concoverCon {
    width: 150px;
    height: 100px;
  }
}

/*****スマホ対応********/
@media screen and (max-width: 414px) {
  .AnimeSP {
    text-align: center;
  }

  .TOPBTBOX li {
    width: 100%;
  }

  #NewsList li,
  .news-tab-list li {
    margin: 0 0 0 0;
    width: 100%;
  }

  #WorksNewsList li {
    width: 100%;
  }

  .PageTitle {
    font-size: 20px;
  }

  /***コンテンツボタン****/
  .ContentsBT {
    width: 100%;
    float: left;
    padding: 10px;
    margin: 0px 0 0 0;
    box-sizing: border-box;
  }

  #SIDEBTBOX li {
    display: block;
    float: left;
    width: 100%;
    margin: 10px 0 0 0;
    padding: 0;
    text-align: center;
    text-decoration: none;
    position: relative;
  }

  /*標準仕様*/

  .StandBox li {
    width: 100%;
  }
}

/***TOPに戻るボタン****/
.fixbtn {
  position: fixed;
  z-index: 1500;
}

#totop {
  right: 0;
  bottom: 60px;
}

#totop a {
  display: block;
  margin: 0 0 10px 0;
  padding: 3px;
  font-size: 85%;
  text-align: center;
}

#totop a:hover {
  opacity: 0.8;
}

.wp-pagenavi {
  padding: 10px 20px 10px !important;
  display: block !important;
  clear: both !important;
}

.wp-pagenavi a,
.wp-pagenavi span.pages,
.wp-pagenavi span.extend {
  display: inline-block;
  color: #333333 !important;
  text-shadow: 0px 1px #f6f6f6 !important;
  padding: 6px 9px 6px 9px !important;
  border: solid 1px #b6b6b6 !important;
  box-shadow: 0px 1px #efefef !important;
  -moz-box-shadow: 0px 1px #efefef !important;
  -webkit-box-shadow: 0px 1px #efefef !important;
  background: #e6e6e6 !important;
  background: -moz-linear-gradient(
    top,
    #ffffff 1px,
    #f3f3f3 1px,
    #e6e6e6
  ) !important;
  background: -webkit-gradient(
    linear,
    0 0,
    0 100%,
    color-stop(0.02, #ffffff),
    color-stop(0.02, #f3f3f3),
    color-stop(1, #e6e6e6)
  ) !important;
  font-size: 12px !important;
  margin-right: 3px !important;
  text-decoration: none !important;
}

.wp-pagenavi a:hover {
  display: inline-block;
  color: #fff !important;
  text-shadow: 0px 1px #3c3c3c !important;
  border-color: #202020 !important;
  background: #525252 !important;
  background: -moz-linear-gradient(
    top,
    #9f9f9f 1px,
    #6c6c6c 1px,
    #525252
  ) !important;
  background: -webkit-gradient(
    linear,
    0 0,
    0 100%,
    color-stop(0.02, #9f9f9f),
    color-stop(0.02, #6c6c6c),
    color-stop(1, #525252)
  ) !important;
  color: #ffffff !important;
  box-shadow: 0px 1px #e7e7e7 !important;
  -moz-box-shadow: 0px 1px #e7e7e7 !important;
  -webkit-box-shadow: 0px 1px #e7e7e7 !important;
}

.wp-pagenavi span.current {
  display: inline-block;
  padding: 6px 9px 6px 9px !important;
  border: solid 1px #dcdcdc !important;
  color: #fff !important;
  box-shadow: 0px 1px #e7e7e7 !important;
  -moz-box-shadow: 0px 1px #e7e7e7 !important;
  -webkit-box-shadow: 0px 1px #e7e7e7 !important;
  margin-right: 3px !important;
  text-shadow: 0px 1px #3c3c3c !important;
  border-color: #202020 !important;
  background: #525252 !important;
  background: -moz-linear-gradient(
    top,
    #9f9f9f 1px,
    #6c6c6c 1px,
    #525252
  ) !important;
  background: -webkit-gradient(
    linear,
    0 0,
    0 100%,
    color-stop(0.02, #9f9f9f),
    color-stop(0.02, #6c6c6c),
    color-stop(1, #525252)
  ) !important;
}

/* 画面外にいる状態 */
.fadein {
  opacity: 0.1;
  transform: translate(0, 50px);
  transition: all 500ms;
}

/* 画面内に入った状態 */
.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

/***** コンタクトフォーム *****/
.table-contactform7 {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 20px;
  border-collapse: collapse;
  border-spacing: 0;
  border: #e2e2e2 1px solid;
  float: left;
  box-sizing: border-box;
  font-size: 16px;
  background-color: #ffffff;
}

.table-contactform7 th {
  width: 30%;
  background-color: #f8f8f8;
  border: 1px solid #e9e9e9;
}

.table-contactform7 td {
  width: 70%;
  border: 1px solid #e9e9e9;
  background-color: #ffffff;
}

.table-contactform7 {
  overflow: hidden;
  table-layout: fixed;
}

.required-contactform7 {
  padding: 5px;
  background: #de8686;
  color: #fff;
  border-radius: 3px;
  margin-right: 3px;
}

.unrequired-contactform7 {
  padding: 5px;
  background: #bdbdbd;
  color: #fff;
  border-radius: 3px;
  margin-right: 3px;
}

.table-contactform7 th {
  font-weight: bold;
}

.table-contactform7 input,
.table-contactform7 textarea {
  max-width: 90% !important;
  margin: 5px 10px 10px 5px;
  font-size: 16px;
  border: 1px solid #e9e9e9;
}

.address-100 input {
  max-width: 90% !important;
  margin: 5px 10px 10px 5px;
  font-size: 16px;
  border: 1px solid #e9e9e9;
}

.message-100 textarea {
  width: 100%;
  margin: 5px 10px 10px 5px;
  font-size: 16px;
  border: 1px solid #e9e9e9;
}

@media screen and (min-width: 900px) {
  .table-contactform7 th {
    width: 28%;
  }
}

@media screen and (max-width: 900px) {
  .table-contactform7 {
    display: block;
  }

  .table-contactform7 tbody,
  .table-contactform7 tr {
    display: block;
    width: 100%;
  }

  .table-contactform7 th {
    width: 100%;
    display: block;
    margin: 0 auto;
    border: none;
  }

  .table-contactform7 td {
    display: list-item;
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 100%;
    border-top: none !important;
  }
}

.wpcf7-submit {
  font-size: 1.2em;
  padding: 5px 30px;
  background-color: #4ca404;
  color: #fff;
  border-style: none;
}

.wpcf7-submit:hover:enabled {
  background-color: #6dc823;
  color: #fff;
}

/***** タブ切り替え *****/

.tab_container {
  width: 100%;
  float: left;
  padding: 10px;
  box-sizing: border-box;
}

.tab_list {
  width: calc(100% / 4);
  padding: 10px;
  float: left;
  box-sizing: border-box;
  position: relative;
}

.tab_item {
  width: 100%;
  font-size: 16px;
  padding: 15px 0;
  border: 1px solid #ffffff;
  background-color: #0070be;
  text-align: center;
  color: #ffffff;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

.tab_item:hover {
  opacity: 0.75;
}

input[name="tab_item"] {
  display: none;
}

.tab_content {
  width: 100%;
  text-align: center;
  float: left;
  display: none;
  padding: 10px;
  clear: both;
  overflow: hidden;
  box-sizing: border-box;
}

#tab1:checked ~ div#tab1_content.tab_content,
#tab2:checked ~ div#tab2_content.tab_content,
#tab3:checked ~ div#tab3_content.tab_content,
#tab4:checked ~ div#tab4_content.tab_content {
  animation: appear 0.5s ease;
  display: block;
}

.tab_container input:checked + .tab_list .tab_item {
  background-color: #ffffff;
  color: #0070be;
}

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

  100% {
    opacity: 1;
  }
}

.c-txtsp {
  color: #ffffff;
}

.TABBOX {
  width: 25%;
  float: left;
  padding: 0px;
  box-sizing: border-box;
}

.TABBOXL {
  width: 100%;
  float: left;
  padding: 10px;
  box-sizing: border-box;
}

.TABBOXR {
  width: 100%;
  float: left;
  padding: 10px;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .TABBOX {
    width: 100%;
    float: left;
    padding: 0px;
    box-sizing: border-box;
  }

  .tab_item {
    font-size: 14px;
    padding: 10px;
  }

  .tab_list {
    width: calc(100% / 1);
    padding: 10px;
    float: right;
    box-sizing: border-box;
  }
}

/* TOP BTN Image Overlay */
.image-container {
  position: relative;
  display: block;
  overflow: hidden;
}

.image-wrapper {
  transition: transform 0.4s ease;
}

.image-container:hover .image-wrapper {
  transform: scale(1.05);
}

.image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.2);
  color: #fff;
  text-align: left;
  transition: background 0.3s ease;
}

.image-container:hover .image-overlay {
  background: rgba(0, 0, 0, 0.4);
}

.image-title .en {
  display: block;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.1;
}

.image-title .ja {
  display: block;
  font-size: 14px;
  margin-top: 5px;
}

.image-button {
  align-self: flex-end;
  border: 1px solid #fff;
  padding: 8px 20px;
  font-size: 14px;
  transition: background-color 0.3s, color 0.3s;
}

.image-container:hover .image-button {
  background-color: #fff;
  color: #333;
}

@media screen and (max-width: 768px) {
  .image-title .en {
    font-size: 24px;
  }
}

/* Page Key Visual */
.page-kv {
  position: relative;
  width: 100%;
  height: 250px;
  background-image: url(../img/top_news_bg.webp);
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #333;
  margin-top: 60px; /* Adjust based on header height */
}
.page-kv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
}
.page-kv__inner {
  position: relative;
  z-index: 2;
}
.page-kv__title {
  font-size: 42px;
  font-weight: bold;
  line-height: 1.2;
}
.page-kv__subtitle {
  font-size: 16px;
  margin-top: 10px;
}

/* Override KV style for pages that use background images with dark overlay */
.page-kv--company,
.page-kv--contact,
.page-kv--news {
  color: #fff;
}
.page-kv--company::before,
.page-kv--contact::before,
.page-kv--news::before {
  background-color: rgba(0, 0, 0, 0); /* disable default white wash */
}
.page-kv--company .page-kv__title,
.page-kv--contact .page-kv__title,
.page-kv--news .page-kv__title {
  text-shadow: 0 3px 8px rgba(0, 0, 0, 0.6);
}
.page-kv--company .page-kv__subtitle,
.page-kv--contact .page-kv__subtitle,
.page-kv--news .page-kv__subtitle {
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
}

/* トップページ以外のヘッダー背景を白に */
body:not(.home) #headerWrapper {
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
body:not(.home) .MainFont {
  color: #0070be;
}

/* Archive/Single Page Adjustments */

.pankuzu--light {
  color: #888;
}
.pankuzu--light a {
  color: #888;
}
.label-badge {
  background-color: #fff;
  color: #0070be;
  padding: 3px 10px;
  border-radius: 4px;
  font-size: 12px;
  border: 1px solid #0070be;
}
.label-badge--blue {
  background-color: #0070be;
  color: #fff;
}
.single-meta {
  margin-top: 20px;
  margin-bottom: 20px;
}

/* Archive & Single Page Styles */
.pankuzu {
  font-size: 14px;
  margin: 20px 0;
  color: #fff;
}
.pankuzu a {
  color: #fff;
  text-decoration: none;
}
.pankuzu a:hover {
  text-decoration: underline;
}
.pankuzu span {
  margin: 0 8px;
}

.archive-news-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.archive-news-list a:hover {
  text-decoration: none;
  opacity: 0.8;
}

.archive-news-list li {
  width: 100% !important;
  margin: 0 !important;
}

.single-content-area {
  background-color: #fff;
  padding: 40px;
  margin-top: 30px;
  color: #333;
}

.single-thumbnail {
  margin-bottom: 30px;
}
.single-thumbnail img {
  width: 100%;
  height: auto;
}

.single-content h2 {
  font-size: 24px;
  font-weight: bold;
  padding-bottom: 10px;
  border-bottom: 2px solid #0070be;
  margin: 40px 0 20px;
}
.single-content h3 {
  font-size: 20px;
  font-weight: bold;
  padding-left: 10px;
  border-left: 5px solid #0070be;
  margin: 30px 0 15px;
}
.single-content p {
  line-height: 1.8;
  margin-bottom: 1.5em;
}
.single-content ul,
.single-content ol {
  margin: 20px 0 20px 25px;
}
.single-content li {
  margin-bottom: 10px;
}

.single-post-navigation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 50px;
  padding: 20px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.single-post-navigation a {
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  transition: opacity 0.3s;
}
.single-post-navigation a:hover {
  opacity: 0.7;
}
.single-post-navigation .nav-home a {
  border: 1px solid #fff;
  padding: 8px 25px;
}

/* Pagination */
.pagination {
  margin-top: 40px;
}
.pagination .nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.pagination .page-numbers {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid #fff;
  color: #fff;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s;
}
.pagination .page-numbers:hover,
.pagination .page-numbers.current {
  background-color: #fff;
  color: #0070be;
}
.pagination .page-numbers.dots {
  border: none;
}

@media screen and (max-width: 768px) {
  .archive-news-list {
    grid-template-columns: 1fr;
  }
  .single-content-area {
    padding: 20px;
  }
  .single-content h2 {
    font-size: 20px;
  }
  .single-content h3 {
    font-size: 18px;
  }
  .page-kv {
    height: 180px;
    margin-top: 60px; /* Adjust for SP header */
  }
  .page-kv__title {
    font-size: 28px;
  }
}

/* ===== サービスページ 可読性向上・レイアウト調整 ===== */
/* WordPressはテンプレートに応じて body に .page-template-page-service を付与 */
.page-template-page-service .maxw-1100 {
  max-width: 1100px;
  margin: 0 auto;
}

/* 2カラムの行をフレックス化（PC表示） */
.page-template-page-service .pcshow .w-100.ta-center.p-0.mt-60.fl.bb {
  display: flex;
  align-items: stretch;
  gap: 24px;
}
.page-template-page-service .pcshow .samebox {
  float: none; /* 旧floatを無効化 */
}
.page-template-page-service .pcshow .samebox.w-45p {
  flex: 0 0 45%;
}
.page-template-page-service .pcshow .samebox.w-55p {
  flex: 1 1 55%;
}

/* テキストブロック内の過剰なfloatを抑制して縦積み */
.page-template-page-service .pcshow .samebox .fl {
  float: none;
}
.page-template-page-service .pcshow .samebox .w-100 {
  width: 100%;
}

/* タイポグラフィ調整（見出しや英字サブタイトルのサイズ最適化） */
.page-template-page-service .pcshow .samebox .fw-bold.fs-40 {
  font-size: 28px;
  line-height: 1.4;
}
.page-template-page-service .spshow .fw-bold.fs-24 {
  font-size: 22px;
}
.page-template-page-service .KarinMoji {
  line-height: 1.7;
}

/* フローダイアグラム（手順） */
.page-template-page-service .flow-diagram {
  display: flex;
  justify-content: space-around;
  align-items: center;
  text-align: center;
  margin-top: 24px;
  padding: 16px;
  background-color: #ebf4fb;
  border-radius: 8px;
}
.page-template-page-service .flow-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 110px;
}
.page-template-page-service .flow-item svg {
  width: 48px;
  height: 48px;
  fill: #0070be;
  margin-bottom: 8px;
}
.page-template-page-service .flow-arrow {
  font-size: 1.8em;
  color: #64b9e9;
  font-weight: bold;
}

/* 強みカード（3カラム） */
.page-template-page-service .strengths-container {
  display: flex;
  gap: 18px;
  margin-top: 24px;
}
.page-template-page-service .strength-card {
  flex: 1;
  background: #ebf4fb;
  border-radius: 8px;
  padding: 18px;
  text-align: center;
  border-top: 4px solid #64b9e9;
}
.page-template-page-service .strength-card h4 {
  font-size: 1.1em;
  color: #0070be;
  margin: 10px 0 6px;
}
.page-template-page-service .strength-card svg {
  width: 56px;
  height: 56px;
  fill: #0070be;
}

/* 在宅医療：テキストと画像の横並び */
.page-template-page-service .home-care-content {
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: 24px;
  align-items: center;
  margin-top: 24px;
}
.page-template-page-service .home-care-text {
  line-height: 1.8;
}
.page-template-page-service .home-care-image {
  width: 100%;
  height: 240px;
  border-radius: 8px;
  background-size: cover;
  background-position: center;
}

/* 情報テーブル */
.page-template-page-service .info-table {
  margin-top: 24px;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.page-template-page-service .info-row {
  display: flex;
  border-bottom: 1px solid #eee;
}
.page-template-page-service .info-row:last-child {
  border-bottom: none;
}
.page-template-page-service .info-header {
  background: #ebf4fb;
  padding: 12px 14px;
  font-weight: 600;
  flex-basis: 120px;
  text-align: center;
  color: #0070be;
}
.page-template-page-service .info-data {
  padding: 12px 14px;
  flex: 1;
}

/* 背景や帯 */
.page-template-page-service .TopSerBG {
  background: #f7fbff;
}

/* 画像は角丸で統一感 */
.page-template-page-service img {
  border-radius: 8px;
  height: auto;
}

/* スマホ最適化 */
@media (max-width: 768px) {
  .page-template-page-service .pcshow .w-100.ta-center.p-0.mt-60.fl.bb {
    display: block;
  }
  .page-template-page-service .strengths-container {
    flex-direction: column;
    gap: 12px;
  }
  .page-template-page-service .strength-card {
    width: 100%;
  }
  .page-template-page-service .home-care-content {
    grid-template-columns: 1fr;
  }
  .page-template-page-service .home-care-image {
    order: -1;
    width: 100%;
    height: 200px;
    margin: 0 0 12px;
  }
  .page-template-page-service .flow-diagram {
    flex-direction: column;
  }
  .page-template-page-service .flow-arrow {
    transform: rotate(90deg);
    margin: 10px 0;
  }
  .page-template-page-service .pcshow .samebox .fw-bold.fs-40 {
    font-size: 24px;
  }
}

/* ===== NEWS 一覧（コンパクト表示）調整 ===== */
/* 既存カード風スタイルをリスト風に上書き */
#NewsList.archive-news-list {
  display: block; /* grid指定を打ち消し */
}

#NewsList.archive-news-list li {
  width: 100% !important;
  float: none;
  margin: 0 !important;
  padding: 14px 0;
  list-style: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

#NewsList.archive-news-list a {
  display: grid;
  grid-template-columns: 160px 1fr;
  grid-template-rows: auto auto;
  grid-template-areas:
    "thumb meta"
    "thumb title";
  gap: 8px 16px;
  align-items: center;
  color: #333;
  text-decoration: none;
}

#NewsList.archive-news-list a:hover {
  background-color: rgba(0, 0, 0, 0.03);
  text-decoration: none;
}

/* 左：サムネイル */
#NewsList.archive-news-list .NewsBoxL {
  grid-area: thumb;
  width: auto;
  margin: 0;
  padding: 0;
  float: none;
}

#NewsList.archive-news-list .NewsPhoto {
  width: 100%;
}

#NewsList.archive-news-list .newscover {
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
  border-radius: 4px;
  background-color: #eee;
}

/* 右上：日付・カテゴリ */
#NewsList.archive-news-list .NewsBoxR {
  grid-area: meta;
  width: auto;
  margin: 0;
  padding: 0;
  float: none;
}

#NewsList.archive-news-list .NewsTimeBox {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: #666;
}

#NewsList.archive-news-list .label-badge {
  display: inline-block;
  font-size: 12px;
  line-height: 1;
  padding: 4px 8px;
  border-radius: 12px;
  background: #0070be;
  color: #fff;
}

/* 右下：タイトル（3行まで） */
#NewsList.archive-news-list a > div:nth-child(3) {
  grid-area: title;
  width: auto;
  margin: 0;
  padding: 0;
}

#NewsList.archive-news-list .pcshow,
#NewsList.archive-news-list .spshow {
  color: #111;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
}

/* 不要なアンダーラインや配色の上書き */
#NewsList.archive-news-list a:link,
#NewsList.archive-news-list a:visited,
#NewsList.archive-news-list a:hover {
  color: inherit;
  text-decoration: none;
}

/* レスポンシブ（SPはさらにコンパクトに） */
@media screen and (max-width: 768px) {
  #NewsList.archive-news-list a {
    grid-template-columns: 120px 1fr;
    gap: 6px 12px;
  }
  #NewsList.archive-news-list .newscover {
    padding-top: 66.66%; /* 3:2 */
  }
  #NewsList.archive-news-list .NewsTimeBox {
    font-size: 13px;
  }
}

/*--------------------------------------------------------------
## Single Page Modern Design
--------------------------------------------------------------*/
.single-header-spacer {
    height: 80px;
    background-color: #faf7f1;
}

.single-main-container {
    max-width: 840px !important;
    background-color: #fff;
    padding: 60px 50px !important;
    margin: 0 auto !important;
    border-radius: 16px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.03);
    position: relative;
    z-index: 10;
    margin-bottom: 60px !important;
}

.article-header {
    margin-bottom: 40px;
    text-align: center;
    border-bottom: 1px solid #eee;
    padding-bottom: 30px;
}

.article-title {
    font-size: 26px !important;
    font-weight: 700;
    line-height: 1.6;
    color: #333;
    margin-top: 20px;
    margin-bottom: 0;
    letter-spacing: 0.05em;
}

.single-meta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    font-size: 14px;
    color: #888;
    font-family: "游ゴシック体", "Yu Gothic", "YuGothic", sans-serif;
}

.single-meta__time {
    letter-spacing: 0.1em;
    color: #888;
}

.single-thumbnail {
    margin-bottom: 50px;
    border-radius: 12px;
    overflow: hidden;
}

.single-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.single-thumbnail:hover img {
    transform: scale(1.02);
}

.single-content {
    font-size: 16px;
    line-height: 2;
    color: #444;
}

.single-content p {
    margin-bottom: 2em;
}

.single-content h2 {
    font-size: 22px;
    margin-top: 60px;
    margin-bottom: 30px;
    padding-bottom: 10px;
    border-bottom: 2px solid #0070be;
    color: #0070be;
    font-weight: 700;
}

.single-content h3 {
    font-size: 19px;
    margin-top: 50px;
    margin-bottom: 25px;
    padding-left: 15px;
    border-left: 4px solid #64b9e9;
    color: #333;
    font-weight: 700;
}

/* ナビゲーション調整 */
.single-post-navigation {
    margin-top: 60px;
    padding-top: 40px;
    border-top: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.single-post-navigation a {
    color: #888;
    text-decoration: none;
    transition: color 0.3s;
    font-size: 14px;
}

.single-post-navigation a:hover {
    color: #0070be;
}

.nav-home a {
    display: inline-block;
    padding: 10px 30px;
    border: 1px solid #ddd;
    border-radius: 30px;
    color: #333;
}

.nav-home a:hover {
    background-color: #0070be;
    border-color: #0070be;
    color: #fff;
}

/* SP対応 */
@media (max-width: 768px) {
    .single-main-container {
        padding: 40px 20px !important;
        border-radius: 12px;
        margin: 0 15px !important;
        width: auto !important;
        background-color: #fff;
    }

    .article-title {
        font-size: 20px !important;
    }
    
    .single-header-spacer {
        height: 60px;
    }
    
    .single-content h2 {
        font-size: 20px;
        margin-top: 40px;
    }
    
    .single-content h3 {
        font-size: 18px;
        margin-top: 30px;
    }
}
