@charset "utf-8";

/*
	Theme Name: sakurajima-syuzen.com
	Theme URI: https://sakurajima-syuzen.com
	Description: pcbrain
	Version: 1.0
	Author: pcbrain.co.jp
*/

/* ============================================================

	Reset

============================================================ */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

/* ============================================================

	Reset + α

============================================================ */

a[href^="tel:"] {
  cursor: default;
  pointer-events: none;
}

a[href^="tel:"]:hover {
  text-decoration: none;
}

a.tel {
  text-decoration: none;
  color: #000;
}

a.tel_white {
  text-decoration: none;
  color: #fff;
}

a.black {
  color: #000;
  text-decoration: underline;
}

a.black:hover {
  color: #a00535;
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

a {
  -ms-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s linear 0s;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
  /* cursor: pointer; */
}

a:hover img {
  opacity: 0.75;
}

*,
*:after,
*:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.clearfix {
  min-height: 1%;
}

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

.clearfix {
  display: inline-table;
}

* html .clearfix {
  height: 1px;
}

.clearfix {
  display: block;
}

img,
textarea,
iframe {
  vertical-align: middle;
}

p + p {
  margin-top: 10px;
}

.mb40 {
  margin-bottom: 40px;
}

.mt80 {
  margin-top: 80px;
}

::selection {
  background: #a00535;
  color: #fff;
}

::-moz-selection {
  background: #a00535;
  color: #fff;
}

.color_yellow {
  color: #ff0;
}

/* ============================================================

	Primary styles

============================================================ */

/* Firefox, Opera, Safari */
@font-face {
  font-family: "07ロゴたいぷゴシック7";
  src: url(./font/logotypego.OTF) format("opentype");
}

body {
  line-height: 1.75;
  color: #333;
  /* font-family: Quicksand, 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */
  font-family: "07ロゴたいぷゴシック7", "メイリオ", "Meiryo", verdana,
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック",
    "MS PGothic", Sans-Serif;
  font-size: 15px;
  font-weight: 500;
  min-width: 1100px;
  overflow-x: hidden;
}

body.fixedMargin {
  margin-top: 100px;
}

@media screen and (max-width: 1100px) {
  /* 1079pxまでの幅の場合に適応される */
  body {
    overflow-x: visible;
  }
}

.container {
  width: 1100px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

#main {
  /* width: 1100px; */
  /* padding: 80px 0; */
  /* margin: 0 auto; */
}

/* 子要素をコンテナーからはみ出して画面いっぱいに広げるセレクタ */
.stickout {
  /* margin: 0 calc(50% - 50vw);
	width: 100vw; */
}

.iframeWrap {
  position: relative;
  width: 100%;
  /* padding-top: 56.25%; */
  padding-top: 75%;
  margin-bottom: 1em;
}

.iframeWrap.youtube {
  padding-top: 56.25%;
}

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

/* --- contactBtn --- */
.contactBtn a {
  background: #a00535;
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
  -ms-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s linear 0s;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  text-decoration: none;
  display: block;
  width: 240px;
  line-height: 60px;
  border-radius: 30px;
  text-align: center;
}

.contactBtn a:hover {
  background: #a00535;
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a00535', endColorstr='#a00535', GradientType=1);
}

/* --- moreBtn --- */
.moreBtn {
  margin-top: 40px;
}

/* --- gradBox --- */
.gradBox {
  width: 240px;
  margin: 0 auto;
  line-height: 44px;
  padding: 3px;
  text-align: center;
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
  border-radius: 25px;
}

.gradBox a {
  background-color: #fff;
  display: block;
  text-decoration: none;
  font-weight: bold;
  border-radius: 22px;
}

.gradBox a span {
  display: block;
  color: #a00535;
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.gradBox a:hover {
  opacity: 0.9;
}

/* --- worksBtn --- */
.worksBtn_wrap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  display: box;
  flex-direction: row;
  justify-content: space-between;
}

.worksBtn {
  width: 530px;
}

.worksBtn a {
  background-color: rgba(255, 255, 255, 0.9);
  background-image: url(img/gradarrow.png);
  background-repeat: no-repeat;
  background-position: top 42px right 40px;
  display: block;
  text-decoration: none;
  font-weight: bold;
  border-radius: 50px;
  line-height: 100px;
  font-size: 24px;
  text-align: left;
  padding: 0 40px;
}

.worksBtn a span {
  display: block;
  color: #a00535;
  background: -webkit-linear-gradient(0deg, #a00535, #a00535);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.worksBtn a:hover {
  background-color: rgba(255, 255, 255, 1);
}

/* ============================================================

	header

============================================================ */

#header {
}

#header .logo {
  width: 246px;
}

#header .logo a {
  display: flex;
  align-items: center;
  height: 100%;
}

.navContent {
  display: flex;
  align-items: center;
  max-width: calc(100% - 266px);
}

.telBox {
  margin-right: 20px;
}

.telBox .contactCatch {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  background-color: #a00535;
  color: #fff;
  font-weight: bold;
  font-size: 13px;
  text-align: center;
  padding: 0 10px;
}

.telBox .tel {
  margin-top: 10px;
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
}

.telBox .tel span {
  display: block;
  font-family: "Roboto Mono", monospace;
  font-size: 32px;
  line-height: 0.8;
  background: url(img/freedial.png) no-repeat bottom 2px left;
  background-size: 28px auto;
  padding-left: 28px;
  letter-spacing: -2.5px;
  margin-bottom: 5px;
  color: #a00535;
}

@media screen and (min-width: 1400px) {
  .telBox .tel span {
    font-size: 42px;
    background-size: 38px auto;
    padding-left: 42px;
  }
}

/* --- htxt --- */
.htxt {
  border-top: 5px solid #a00535;
  padding: 10px 30px;
}

.htxt h1,
.htxt .hone {
  font-size: 13px;
  line-height: 1;
  color: #000;
}

/* ============================================================

	globalnav

============================================================ */

#globalnav {
  background: #fff;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  padding: 0 30px 10px;
}

#globalnav ul {
  display: flex;
  align-items: center;
  text-align: center;
}

#globalnav ul li {
  display: flex;
  align-items: center;
}

#globalnav ul li:after {
  content: " ／ ";
  color: #cbcbcb;
}

#globalnav ul li:last-child:after {
  content: none;
}

#globalnav ul li a {
  line-height: 1.2;
  color: #000;
  text-decoration: none;
  font-weight: bold;
  font-size: 15px;
}

#globalnav ul li a:hover {
  color: #a00535;
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

#globalnav ul li:after {
  padding: 0 10px;
}

.fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10000;
}

/* ============================================================

	mainv

============================================================ */
.mainv {
  height: 500px;
  /* overflow: hidden; */
}

.mainvLeft {
  width: 350px;
  background: #fff;
  z-index: 2;
  position: relative;
}

.mainvLinks {
}

.mainvLinksList {
}

.mainvLinksList li {
  transition: ease 0.4s;
}

.mainvLinksList li:hover {
  opacity: 0.7;
}

.mainvLinksList li a,
.mainvLinksList li span {
  display: flex;
  align-items: center;
  font-weight: 700;
  width: 100%;
  height: 100%;
  font-size: 22px;
  line-height: 1;
  text-decoration: none;
}

.mainvLinksList li .telLink {
  padding-left: 0;
}

.mainLogo {
  height: 338px;
  background-color: #fff;
}

.mainLogo a {
  justify-content: center;
}

.mainBtn {
  margin-top: 1px;
  height: 80px;
  background: #c43b65;
  position: relative;
}

.mainBtn::before {
  position: absolute;
  content: "";
  right: -8px;
  bottom: 0;
  border-top: 15px solid rgba(255, 255, 255, 0.5);
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  transform: rotate(-45deg);
}

.mainBtn a,
.mainBtn span {
  color: #fff;
  padding: 0 0 0 20px;
  box-sizing: border-box;
  transition: ease 0.4s;
  font-weight: 400;
}

.mainBtn img {
  margin-right: 20px;
}

.mainvRight {
  width: calc(100% - 350px);
}

.mainvSlides {
  position: relative;
  width: 100%;
  height: 500px;
  /* overflow: hidden; */
}

/* ============================================================

	footer

============================================================ */

#footer {
  padding: 35px 0 130px;
  /* border-top: 1px solid #fff;
	background: #a00535; */
}

.footerConts {
  justify-content: space-between;
}

.ftrLogo {
}

.ftrAbout {
  margin-top: 20px;
  font-size: 13px;
}

.ftrAbout p + p {
  margin: 0;
}

/* .ftrAbout h5 {
	margin-top: 10px;
} */

.ftrAbout .siteName {
  font-size: 14px;
}

.ftrAbout .corpName02 {
  margin-top: 10px;
}

.footerNav nav .ftrNav {
  position: relative;
  overflow: hidden;
}

.footerNav nav .ftrNav > li {
  float: left;
  margin-left: 50px;
}

.footerNav nav .ftrNav li ul > li {
  position: relative;
  padding-left: 13px;
}

.footerNav nav .ftrNav li ul > li:before,
.footerNav nav .ftrNav li ul > li:after {
  display: block;
  content: "";
  position: absolute;
  top: 8px;
  margin: auto;
}

.footerNav nav .ftrNav li ul > li:before {
  z-index: 2;
  left: 1px;
  width: 3px;
  height: 3px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(-45deg);
  top: 10px;
}

.footerNav nav .ftrNav li ul > li:after {
  left: 0px;
  top: 8px;
  width: 8px;
  height: 8px;
  background-color: #a00535;
}

.footerNav nav .ftrNav li ul > li a {
  text-decoration: none;
  color: #333;
  font-size: 13px;
}

.footerNav nav .ftrNav li ul li ul > li {
  position: relative;
  line-height: 1.6;
}

.footerNav nav .ftrNav li ul li ul > li {
  background: url(./img/common/list_line02.png) no-repeat left center;
}

.footerNav nav .ftrNav li ul li ul > li:last-child {
  background: url(./img/common/list_line01.png) no-repeat left center;
}

.footerNav nav .ftrNav li ul li ul > li::before {
  display: none;
}

/* .footerNav nav .ftrNav li ul li ul>li::before {
	display: block;
	content: "";
	position: absolute;
	top: 8px;
	margin: auto;
	z-index: 2;
	left: 1px;
	width: 5px;
	height: 5px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: rotate(-45deg);
	top: 10px;
} */

.footerNav nav .ftrNav li ul li ul > li:after {
  content: none;
}

.copyright {
  font-size: 13px;
  line-height: 1;
  text-align: right;
  width: 100%;
  margin-top: 20px;
}

.ftrScroll {
  padding: 3px 0;
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  bottom: 0;
  width: 100%;
  display: none;
  z-index: 100;
  font-size: 12px;
  line-height: 1.2;
}

.ftrScroll .ftrFloatingBnr {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 90px;
  max-width: 1100px;
  width: 100%;
}

.ftrScroll .ftrFloatingBnr img {
  width: 100%;
  height: auto;
}

.ftrScroll .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 1100px;
  margin: 10px auto;
  padding: 0;
}

.ftrScroll .ftrCont {
  overflow: hidden;
  background: #fff;
  padding: 2px 6px;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: space-between;
}

.ftrScroll .ftrCont h3 {
  background: #a00535;
  color: #fff;
  font-size: 19px;
  margin: -6px 50px -6px -10px;
  padding: 14px 10px 13px 20px;
  border-radius: 0 5px 5px 0;
  position: relative;
  z-index: 1;
}

.ftrScroll .ftrCont h3:after {
  content: "";
  position: absolute;
  left: 80%;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border: solid 30px #a00535;
  transform: rotate(-45deg);
  border-radius: 0 0 5px 0;
  z-index: -1;
}

.ftrScroll .tel {
  display: inline-block;
  color: #231816;
  font-size: 11px;
}

.ftrScroll .tel span {
  display: block;
  font-family: "Roboto Mono", monospace;
  font-size: 42px;
  line-height: 0.8;
  background: url(img/freedial.png) no-repeat bottom 2px left;
  background-size: 38px auto;
  padding-left: 42px;
  letter-spacing: -2.5px;
  color: #333;
}

.ftrScroll .reception {
  margin: 0 9px;
  font-size: 12px;
  line-height: 1.4;
}

.ftrScroll .ftrCont ul {
  display: flex;
  align-items: center;
  overflow: hidden;
}

.ftrScroll .ftrCont ul li:not(:first-child) {
  margin-left: 10px;
}

.ftrScroll .ftrCont ul li a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 50px;
  text-decoration: none;
  font-size: 16px;
  line-height: 1;
  padding: 10px 15px;
  border-radius: 32px;
  transition: ease 0.4s;
}

.ftrScroll .ftrCont ul li.cvContact a::before {
  content: "＞";
  margin-right: 5px;
}

.ftrScroll .ftrCont ul li.cvContact a {
  background: #a00535;
  color: #fff;
  border: 2px solid #a00535;
  padding: 10px 36px;
}

.ftrScroll .ftrCont ul li.cvRequest a {
  background: #c43b65;
  border: 2px solid #c43b65;
  color: #fff;
}

.ftrScroll .ftrCont ul li.cvRequest a img {
  display: inline-block;
  margin-right: 10px;
}

.ftrScroll .pageTop a:hover img {
  opacity: 0.8;
}

/* New comFooterCon CSS */
.ftrScroll .ftrCont .ftrLogo {
  width: 90px;
  padding: 5px 5px 5px 0;
}

.ftrScroll .ftrCont .ftrLogo img {
  max-width: 100%;
  height: auto;
}

.ftrScroll .ftrCont .ftrContBnrItem .tel {
  margin-top: 5px;
}

.ftrScroll .ftrCont .ftrContBnrItem .reception {
  margin: 0;
}

.ftrScroll .ftrCont .ftrContBnrItem.contact,
.ftrScroll .ftrCont .ftrContBnrItem.docrequest {
  width: 290px;
}

.ftrScroll .ftrCont .ftrContBnrItem a {
  justify-content: center;
  padding: 6px 15px;
  font-size: 20px;
  text-align: center;
}

.ftrScroll .ftrCont .ftrContBnrItem a:hover {
  opacity: 0.7;
}

.ftrScroll .ftrCont .ftrContBnrItem.contact a {
  /* background: #a00535;
	color: #fff;
	border: 2px solid #a00535; */
  background: #a00535;
  color: #fff;
  border: 2px solid #a00535;
}

.ftrScroll .ftrCont .ftrContBnrItem.docrequest a {
  /* background: #c43b65;
	border: 2px solid #c43b65;
	color: #fff; */
  background: #2983b7;
  border: 2px solid #2983b7;
  color: #fff;
}

.ftrScroll .ftrCont .ftrContBnrItem a img {
  width: 40px;
  height: auto;
  margin-right: 10px;
}

.ftrScroll .ftrCont .ftrContBnrItem a img:hover {
  opacity: 1;
}

.pageTopNew a {
  display: block;
  /* background-color: #a00535; */
  background-color: #c43b65;
  padding: 7px 8px;
}

.pageTopNew a:hover {
  opacity: 0.7;
}

/* --- cta --- */
#cta {
  background: #fff;
}

#cta .ctaBody {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  display: box;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 1100px;
  margin: 0 auto;
  padding: 20px 0;
  position: relative;
}

#cta .ctaBody .logo {
  margin-right: auto;
}

#cta .ctaBody .build {
  position: absolute;
  bottom: 0;
  left: 210px;
}

#cta .ctaBody .build img {
  width: 230px;
  height: auto;
}

#cta .ctaBody .info {
  font-weight: bold;
  text-align: center;
}

#cta .ctaBody .info .flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  display: box;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

#cta .ctaBody .info .phone span {
  display: block;
  font-family: "Roboto Mono", monospace;
  font-size: 40px;
  line-height: 1;
  background: url(img/freedial.png) no-repeat center left;
  padding-left: 60px;
}

#cta .ctaBody .info .phone small {
  text-align: justify;
  text-justify: inter-ideograph;
  font-size: 12px;
}

#cta .ctaBody .info .contact {
  margin-left: 20px;
}

/* ============================================================

	common parts

============================================================ */

/* --- kind --- */
small.kind {
  font-size: 12px;
  font-weight: bold;
  color: white;
  padding: 4px 8px;
  display: inline-block;
}

small.kind01 {
  background: #2a99c5;
}

small.kind02 {
  background: #ed7070;
}

small.kind03 {
  background: #61a31a;
}

small.kind04 {
  background: #a00535;
}

small.kind05 {
  background: #93289f;
}

/* --- singleHeader01 --- */
h2.singleHeader01 {
  font-size: 24px;
  font-weight: bold;
  position: relative;
  line-height: 1.5;
  padding: 40px;
}

h2.singleHeader01::before {
  content: "";
  border-top: 8px solid #a00535;
  border-right: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 8px solid #a00535;
  width: 8px;
  height: 8px;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
}

h2.singleHeader01 span {
  display: block;
  font-family: "Roboto Mono", monospace;
  font-size: 16px;
  line-height: 1.5;
}

h2.singleHeader01 div {
  margin-top: 10px;
}

/* --- bnrs --- */
.bnrs {
  padding: 0;
}

.bnrsList {
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
}

.bnrsListItem {
  width: 50%;
  height: 400px;
  transition: ease 0.4s;
  overflow: hidden;
}

.bnrsListItem:hover {
  opacity: 0.7;
}

.bnrsListItem:hover img {
  transform: scale(1.1);
}

.bnrsListLink {
  display: block;
  position: relative;
  height: 100%;
  text-decoration: none;
}

.bnrsListLink::before {
  /* position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.1); */
}

.bnrsListLink img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: ease 0.4s;
}

.bnrsTxts {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  line-height: 1;
  padding: 20px;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  color: #fff;
}

.bnrsTxts .ttl {
  font-size: 60px;
}

.bnrsTxts .txt {
  font-size: 18px;
  margin-top: 5px;
}

/* --- breadcrumbs --- */
#breadcrumbs {
  border-bottom: 5px solid #ebebeb;
  padding: 20px 0;
  width: 1100px;
  margin: 0 auto;
}

#contact #breadcrumbs {
  border-bottom: none;
}

#breadcrumbs a {
  color: #000;
  font-weight: bold;
  text-decoration: underline;
}

#breadcrumbs a:hover {
  text-decoration: none;
}

/* --- pageHeader --- */
#pageHeader {
  background: url(img/pageHeader.png) no-repeat center center / cover;
  width: 100%;
  /* line-height: 200px; */
  height: 200px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 50px;
  font-weight: bold;
  color: #000;
  text-align: center;
}

#pageHeader .subTxt {
  display: block;
  text-align: center;
  margin-top: 10px;
  font-size: 0;
}

#pageHeader .subTxt span {
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
  color: #fff;
  display: inline-block;
  font-size: 16px;
  padding: 5px 10px;
}

/* --- wp-pagenavi --- */
.wp-pagenavi {
  text-align: center;
  font-size: 12px;
  font-weight: bold;
  margin-top: 40px;
}

.wp-pagenavi .pages {
  color: white;
  border: none;
  background: #ccc;
  padding: 4px 8px;
  text-align: center;
  display: inline-block;
}

.wp-pagenavi .current {
  background: #a00535;
  color: white !important;
  padding: 4px 0;
  width: 30px;
  text-align: center;
  display: inline-block;
  border: none !important;
}

.wp-pagenavi a {
  background: white !important;
  color: #a00535;
  border: 1px solid #a00535 !important;
  padding: 4px 0;
  width: 30px;
  text-align: center;
  display: inline-block;
}

.wp-pagenavi a:hover {
  background: #a00535 !important;
  border: 1px solid #a00535 !important;
  color: white;
}

/* --- pageList --- */
.pageList {
  text-align: center;
  margin-top: 40px;
  font-size: 12px;
  font-weight: 700;
}

.pageList a {
  padding: 5px 0;
  display: inline-block;
  margin: 0 5px;
  text-decoration: none;
  color: white;
  background-color: #a00535;
  width: 120px;
  border-radius: 5px;
  border: 1px solid #a00535;
}

.pageList a.list {
  color: white;
  background-color: #a00535;
  width: 60px;
}

.pageList a:hover {
  opacity: 0.7;
}

.pageList + .pageList {
  margin-top: 10px !important;
}

.pageList span {
  padding: 5px 0;
  display: inline-block;
  margin: 0 5px;
  color: #a00535;
  border-top: 1px solid white;
  border-right: 1px solid white;
  border-left: 1px solid white;
  border-bottom: 1px solid #a00535;
  width: 120px;
}

/* --- wysiwyg --- */
.wysiwyg * + * {
  margin-top: 20px;
}

.wysiwyg img {
  display: block;
  margin: 20px auto;
}

.wysiwyg li + li {
  margin-top: 0;
}

.singlePage .wysiwyg {
  border-bottom: 1px solid #e5e5e5;
  padding-bottom: 40px;
}

.wysiwyg h2 {
  font-size: 30px;
  text-align: center;
  margin-bottom: 40px;
  padding-bottom: 20px;
  position: relative;
}

.wysiwyg h2::before {
  position: absolute;
  content: "";
  width: 40px;
  height: 4px;
  background: #a00535;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

.wysiwyg h3 {
  background: #a00535;
  color: white;
  font-size: 20px;
  font-weight: bold;
  padding: 10px 15px;
}

.wysiwyg h4 {
  border-left: 4px solid #a00535;
  background: #f5f5f5;
  font-size: 18px;
  font-weight: bold;
  padding: 10px 20px;
}

.wysiwyg h5 {
  border-left: 4px solid #a00535;
  font-size: 18px;
  font-weight: bold;
  padding: 10px 20px;
}

.wysiwyg ul li {
  position: relative;
  margin-left: 18px;
  padding-left: 10px;
}

.wysiwyg ul li::after,
.wysiwyg ul li::before {
  display: block;
  content: "";
  position: absolute;
}

.wysiwyg ul li::after {
  top: 0.35em;
  left: -1.2em;
  width: 14px;
  height: 14px;
  background-color: #a00535;
  border-radius: 100%;
}

.wysiwyg ul li::before {
  z-index: 2;
  top: 0.625em;
  left: -0.975em;
  width: 6px;
  height: 6px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/* ============================================================

	top

============================================================ */

/* --- section --- */
section {
  padding: 60px 0;
}

/* slickをOverwrite */
.slick-dots {
  top: 500px !important;
  width: 100vw;
  left: -350px;
  z-index: 10;
}

.slick-dots li button:before {
  color: #a00535 !important;
  font-size: 20px;
}

.slick-dots li.slick-active button:before {
  color: #a00535 !important;
}

.slick-dotted.slick-slider {
  margin-bottom: 0 !important;
}

/* --- bnrBlock --- */

.bnrBlock {
  padding: 120px 0;
  margin: 40px 0;
}

.bnrBlock .container {
  display: flex;
  justify-content: center;
  gap: 200px;
}

.bnrBlock p.bnrBlockTtl {
  font-size: 48px;
  font-weight: bold;
  text-shadow: 2px 2px 1px #ffffff, -2px 2px 1px #ffffff, 2px -2px 1px #ffffff,
    -2px -2px 1px #ffffff, 2px 0px 1px #ffffff, 0px 2px 1px #ffffff,
    -2px 0px 1px #ffffff, 0px -2px 1px #ffffff;
}

.bnrBlock .c-btnWrap {
  display: inline-block;
  margin-top: 15px;
}

/* --- worksBlock --- */
.worksBlock {
  background: url(img/worksBg.png) no-repeat center center / cover;
  padding: 80px 0;
}

.worksPickupLink {
  text-decoration: none;
  text-align: center;
  transition: ease 0.4s;
}

.worksPickupLink:hover {
  opacity: 0.8;
}

.worksPickupLink .imgWrap {
  width: 800px;
  height: 400px;
}

.worksPickupLink img {
  transition: ease 0.4s;
}

.worksPickupLink:hover img {
  opacity: 1;
}

.worksPickupLink .txtWrap {
  padding: 20px;
  width: 300px;
}

.worksPickupCont {
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.4);
}

.worksPickupCont .txtSubTtl {
  font-size: 20px;
  line-height: 1;
}

.worksPickupCont .txtTtl {
  font-size: 18px;
  line-height: 1.4;
}

/* ============================================================

	page - corporate

============================================================ */

/* --- section --- */
#corporate #main section + section {
  /* margin-top: 80px; */
}

/* --- contents01 --- */
.messageCont {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  display: box;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
}

.messageCont .txtBox {
  width: 720px;
}

.messageCont .imgBox {
  width: 320px;
  text-align: right;
  padding-top: 20px;
  background: #a00535;
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
  background-size: 300px 400px;
  background-repeat: no-repeat;
}

.messageCont .imgBox img {
  max-width: 300px;
  height: auto;
}

.messageCont .imgBox p {
  font-size: 20px;
  margin-top: 20px;
}

/* --- contents02 --- */
#corporate #main .contents02 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  display: box;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: flex-start;
}

#corporate #main .contents02 .txtBox {
  width: 720px;
}

#corporate #main .contents02 .imgBox {
  width: 320px;
  text-align: right;
  padding-top: 20px;
  background: #a00535;
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
  background-size: 300px 400px;
  background-repeat: no-repeat;
}

/* table.borderTbl */
table.borderTbl {
  border-top: 2px solid #ebebeb;
  width: 100%;
}

table.borderTbl th {
  border-bottom: 2px solid #ebebeb;
  width: 30%;
  padding: 20px;
  text-align: left;
  font-weight: bold;
}

table.borderTbl td {
  border-bottom: 2px solid #ebebeb;
  width: 70%;
  padding: 20px;
}

table.borderTbl td:last-child {
  padding: 20px 0 20px 20px;
}

table.borderTbl td:last-child img {
  max-width: 100%;
  height: auto;
}

/* --- contents03 --- */
#corporate #main .contents03 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  display: box;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
}

#corporate #main .contents03 .txtBox {
  width: 720px;
}

#corporate #main .contents03 .imgBox {
  width: 320px;
  text-align: right;
  padding-top: 20px;
  background: #a00535;
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
  background-size: 300px 400px;
  background-repeat: no-repeat;
}

/* --- awards --- */
.awardsListItem {
  text-align: center;
}

/* --- contents04 --- */
.achievement {
  padding: 0 0 60px;
}

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

.achievement .achievementList li {
  width: 366px;
}

/* .achievement .achievementList li:nth-child(n+3) {
	margin-top: 40px;
} */

.achievement .txtBox p {
  max-width: 1010px;
  margin: 25px auto 0;
}

/* .historyUI */
.historyUI li.year {
  color: #a00535;
  font-family: "Roboto Mono", monospace;
  font-size: 20px;
  font-style: italic;
  position: relative;
  display: inline-block;
  padding-right: 60px;
}

.historyUI li.year:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 660px;
  height: 2px;
  background-color: #e5e5e5;
}

.historyUI li.year:after {
  left: 60px;
}

.historyUI li.mb {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  display: box;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding-left: 60px;
}

.historyUI li.mb span {
  font-weight: bold;
  display: inline-block;
  width: 60px;
}

/* --- access --- */
.accessConts {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  display: box;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
}

.accessConts .mapBox {
  width: 100%;
}

.accessConts .mapBox + .mapBox {
  margin-top: 40px;
}

.accessConts .mapBox .txt {
  background: #a00535;
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
  color: #fff;
  padding: 20px;
  font-weight: bold;
  font-size: 1.1em;
}

.accessConts .mapBox .txt span {
  margin-right: 10px;
}

.accessConts .mapBox .txt span:first-child {
  border: 1px solid #fff;
  width: 300px;
  display: inline-block;
  text-align: center;
}

.accessPhotos {
  margin: 20px 0;
}

.accessPhotosList {
  justify-content: space-between;
}

.accessPhotosList li {
  width: 530px;
  height: 380px;
}

#corporate .u-bg_logoBgL {
  display: none;
}

/* TOP - Faq */
.faq {
}

.faqUI {
  margin-top: 20px;
  padding: 20px;
}

.faqUI_item:nth-of-type(n + 2) {
  margin-top: 20px;
}

.faqUI_head,
.faqUI_body {
  font-size: 24px;
  font-weight: 700;
  padding-left: 2em;
  position: relative;
}

.faqUI_head {
  color: #fff;
  background: #a00535;
  padding: 0.4em 30px 0.4em 2em;
  line-height: 1.3;
}

.faqUI_body {
  font-size: 18px;
  text-align: justify;
  margin-top: 10px;
  display: none;
}

.faqUI_head::before,
.faqUI_body::before {
  position: absolute;
  left: 0.2em;
  top: 0;
  line-height: 1;
  font-size: 1.5em;
  content: "Q.";
  color: #fff;
  font-weight: 700;
}

.faqUI_head::before {
  top: 0.2em;
}

.faqUI_head::after {
  position: absolute;
  content: "";
  right: 0.5em;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 14px;
  height: 14px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transition: ease 0.4s;
}

.faqUI_head.active::after {
  transform: translateY(-50%) rotate(135deg);
}

.faqUI_body::before {
  content: "A.";
  color: #a00535;
}

.faqUI_body dt {
  color: #a00535;
}

/* ============================================================

	page - contact

============================================================ */

/* --- contents01 --- */
#contact #main .contents01 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  display: box;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
}

#contact #main .contents01 .txtBox {
  width: 720px;
}

#contact #main .contents01 .imgBox {
  width: 320px;
  text-align: right;
  padding-top: 20px;
  background: #a00535;
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
  background-size: 300px 400px;
  background-repeat: no-repeat;
}

#contact #main .contents01 .imgBox img {
  max-width: 300px;
  height: auto;
}

#contact #main .contents01 .imgBox p {
  font-size: 20px;
  margin-top: 20px;
}

/* --- contents01 --- */
.cPhone {
  font-size: 20px;
  font-weight: bold;
}

.cPhone span {
  display: block;
  font-family: "Roboto Mono", monospace;
  font-size: 60px;
  line-height: 1;
  background: url(img/freedial.png) no-repeat bottom 6px left;
  padding-left: 60px;
}

.cPhone span a {
  color: #a00535;
}

.cPhone small {
  text-align: justify;
  text-justify: inter-ideograph;
  font-size: 20px;
}

/* --- comContactTel --- */
.contactTel {
  margin-bottom: 40px;
}

.contactTel h3 {
  font-size: 24px;
}

.contactTel .catchTxt {
  font-size: 32px;
  align-items: center;
}

.contactTel .catchTxt .catchSpan {
  padding: 5px 10px;
  border-radius: 3px;
  margin-right: 5px;
  line-height: 1;
}

/* --- form --- */
.formBox .mailForm {
  border: 5px solid #e5e5e5;
  width: 100%;
}

.formBox .mailForm table {
  width: 100%;
  border-collapse: collapse;
}

.formBox .mailForm table th,
.formBox .mailForm table td {
  padding: 20px;
  vertical-align: middle;
  text-align: left;
  border-bottom: 1px solid #e5e5e5;
}

.formBox .mailForm table td span.notes {
  display: block;
  margin-top: 5px;
}

.formBox .mailForm table td label,
.formBox .mailForm table td label span {
  display: inline-block;
}

.mw_wp_form .horizontal-item {
  margin-right: 1em;
}

.formBox .mailForm table th small {
  font-size: 11px;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
}

.formBox .mailForm table th {
  padding: 20px;
  width: 25%;
  background: #f9f9f9;
  line-height: 40px;
}

.formBox .mailForm table th span {
  margin-right: 10px;
  display: inline-block;
  width: 40px;
  font-size: 12px;
  color: white;
  text-align: center;
  background-color: #a00535;
  border-radius: 3px;
  line-height: 20px;
}

.formBox .mailForm table th .any {
  background-color: #ccc;
}

.formBox .mailForm table td input[type="text"],
.formBox .mailForm table td input[type="email"] {
  width: 50%;
  height: 40px;
  padding: 0 10px;
  background-color: #fff;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 4px;
  box-shadow: 0px 0px 6px 3px #f1f1f1 inset;
  border: 1px solid #e5e5e5;
  font-size: 16px;
}

.formBox .mailForm table td .datepicker {
  width: 200px;
  margin-right: 10px;
  font-size: 16px;
}

.formBox .mailForm table td input.w100[type="text"],
.formBox .mailForm table td input.w100[type="email"] {
  width: 100%;
  margin-top: 10px;
}

.formBox .mailForm table td select,
.formBox .mailForm table td .datepicker {
  width: 40%;
  height: 40px;
  padding: 0 10px;
  background-color: #fff;
  box-sizing: border-box;
  border-radius: 4px;
  box-shadow: 0px 0px 6px 3px #f1f1f1 inset;
  border: 1px solid #e5e5e5;
  margin-right: 10px;
  font-size: 16px;
}

.formBox .mailForm table td textarea {
  width: 100%;
  height: 200px;
  padding: 10px;
  background-color: #fff;
  box-sizing: border-box;
  border-radius: 4px;
  box-shadow: 0px 0px 6px 3px #f1f1f1 inset;
  border: 1px solid #e5e5e5;
  font-size: 16px;
}

.formBox .mailForm table td div + div {
  margin-top: 10px;
}

.formBox .mailForm table td .wid01 {
  width: 150px;
  margin-bottom: 10px;
}

.formBox .mailForm table td .wid01none {
  width: 150px;
}

.formBox .mailForm table td .wid02 {
  width: 100%;
}

input::-webkit-input-placeholder {
  color: #bbb;
  opacity: 1;
}

/* WebKit browsers */
input:-moz-placeholder {
  color: #bbb;
  opacity: 1;
}

/* Mozilla Firefox 4 to 18 */
input::-moz-placeholder {
  color: #bbb;
  opacity: 1;
}

input:-ms-input-placeholder {
  color: #bbb;
  opacity: 1;
}

/* Internet Explorer 10+ */
textarea::-webkit-input-placeholder {
  color: #bbb;
  opacity: 1;
}

/* WebKit browsers */
textarea:-moz-placeholder {
  color: #bbb;
  opacity: 1;
}

/* Mozilla Firefox 4 to 18 */
textarea::-moz-placeholder {
  color: #bbb;
  opacity: 1;
}

textarea:-ms-input-placeholder {
  color: #bbb;
  opacity: 1;
}

/* Internet Explorer 10+ */

.formBox .mailForm .formFoot {
  padding: 40px;
}

/* .formBox .mailForm .formFoot ul li:first-child {
  font-weight: bold;
  margin-top: 40px;
} */

.formBox .mailForm .submit {
  text-align: center;
}

.formBox .mailForm .submit li {
  display: inline-block;
}

.formBox .mailForm .submit input {
  color: white;
  font-weight: bold;
  background: #a00535;
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
  -ms-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s linear 0s;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
  width: 480px;
  font-size: 18px;
  line-height: 60px;
  border-radius: 30px;
  text-decoration: none;
  display: block;
  text-align: center;
  appearance: none;
  -webkit-appearance: none;
  margin: 0 auto;
  border: none;
  outline: none;
}

.formBox .mailForm .submit input:hover {
  background: #a00535;
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
  cursor: pointer;
}

.complete {
  padding: 40px;
}

/* ============================================================

	news(custom post)-single

============================================================ */

.eyecatchFull {
  text-align: center;
  background: #f5f5f5;
  margin-bottom: 40px;
}

.eyecatchFull img {
  max-width: 1100px;
  height: auto;
}

/* --- twentytwenty-container --- */
.twentytwenty-container {
  width: 1100px;
  height: 540px;
  overflow: hidden;
  background: #ddd;
  margin-bottom: 40px;
  text-align: center;
}

.twentytwenty-container img {
  max-width: 1100px;
  max-height: 540px;
}

/* --- twentytwenty-container-empty --- */
.twentytwenty-container-empty {
  width: 1100px;
  height: 540px;
  overflow: hidden;
  background: #ddd;
  margin-bottom: 40px;
  text-align: center;
}

.twentytwenty-container-empty img {
  max-width: 1100px;
  max-height: 540px;
}

/* --- union --- */
.union {
  background: #e6f5fb;
  margin-bottom: 80px;
}

/* --- corp --- */
.corp {
  background: #ffeadf;
  margin-bottom: 80px;
}

/* --- taxhead --- */
.taxhead {
  padding: 80px 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  display: box;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
}

.taxhead .txtBox {
  width: 520px;
}

.taxhead .imgBox {
  width: 520px;
}

.taxhead .imgBox img {
  border: 4px solid white;
}

.taxhead h2.headline2 {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 40px;
}

/* --- tab --- */
.tab {
  border-bottom: 5px solid #a00535;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}

.tab li {
  cursor: pointer;
  list-style: none;
  border-radius: 5px 5px 0 0;
  background: #ebebeb;
  display: inline;
  -ms-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s linear 0s;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
  transition: 0.3s;
  font-weight: bold;
  padding: 10px 30px;
  margin: 0 5px;
}

.tab li span {
  display: inline-block;
  text-align: center;
}

.tab li:hover {
  background: #a00535;
  color: #fff;
}

.tab li.active {
  color: #fff;
  background: #a00535;
  cursor: auto;
}

.tabContent article {
  display: none;
}

.tabContent article.show {
  display: block;
}

.tabContent {
  padding-top: 80px;
}

/* --- table.feature --- */
table.feature {
  width: 100%;
}

table.feature th {
  border-bottom: 1px solid #fff;
  width: 100px;
  text-align: center;
  font-weight: bold;
  background: #a00535;
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
  color: #fff;
  vertical-align: middle;
  font-size: 20px;
}

table.feature td {
  border-bottom: 1px solid #fff;
  width: -webkit-calc(100% - 100px);
  width: calc(100% - 100px);
  background: #f5f5f5;
  padding: 20px;
}

table.feature td strong {
  font-weight: bold;
  font-size: 20px;
}

.pcblink {
  margin-top: 20px;
}

.focus-in-expand {
  -webkit-animation: focus-in-expand 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94)
    both;
  animation: focus-in-expand 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

@-webkit-keyframes focus-in-expand {
  0% {
    letter-spacing: -0.5em;
    -webkit-filter: blur(12px);
    filter: blur(12px);
    opacity: 0;
  }

  100% {
    -webkit-filter: blur(0px);
    filter: blur(0px);
    opacity: 1;
  }
}

@keyframes focus-in-expand {
  0% {
    letter-spacing: -0.5em;
    -webkit-filter: blur(12px);
    filter: blur(12px);
    opacity: 0;
  }

  100% {
    -webkit-filter: blur(0px);
    filter: blur(0px);
    opacity: 1;
  }
}

/* ========== top / lead ========== */
.leadConts {
  align-items: center;
}

.leadConts .imgWrap {
  width: 136px;
}

.leadConts .imgWrap img {
  max-width: 100%;
  height: auto;
}

.leadConts .txtWrap {
  font-size: 46px;
  line-height: 1;
  margin-left: 20px;
  color: #333;
}

.leadConts .txtWrap .txtLg {
  font-size: 62px;
  display: block;
  margin-top: 10px;
}

/* ========== cvBlock ========== */

#top section.cvBlock,
section.cvBlock {
  padding: 5px 0;
}

.cvBlock + .fullWidth {
  margin-top: 40px;
}

.cvConts {
  padding: 10px 20px;
  overflow: hidden;
}

.cvLeft {
  width: 470px;
  font-size: 18px;
  line-height: 1.4;
  padding: 6px 0;
  position: relative;
}

.cvLeft .logoWrap,
.cvLeft .txt {
  position: relative;
  z-index: 1;
  color: #333;
}

.cvLeft .logoWrap {
  margin-top: 10px;
}

.cvLeft .imgWrap {
  position: absolute;
  content: "";
  bottom: -35px;
  right: -10px;
  z-index: 0;
}

.cvRight {
  width: calc(100% - 470px);
}

.cvRight .cvWrap {
  border-radius: 5px;
  margin-bottom: 10px;
}

.cvRight .cvWrap .ttl {
  font-size: 16px;
  text-align: center;
  padding: 10px 0;
  line-height: 1;
}

.cvRight .telContactConts {
  padding: 0 5px 5px;
}

.cvRight .telContactContsWrap {
  padding: 10px;
  font-size: 12px;
  line-height: 1;
}

.telContactConts .telConts span {
  display: block;
  font-family: "Roboto Mono", monospace;
  font-size: 42px;
  line-height: 0.8;
  background: url(img/freedial.png) no-repeat bottom 2px left;
  background-size: 38px auto;
  padding-left: 42px;
  letter-spacing: -2.5px;
  margin-bottom: 5px;
}

.telContactConts .telConts {
  color: #333;
}

.telContactConts .telConts span a {
  color: #333;
}

.telContactConts .telConts .telConts02 .fa-phone {
  display: none;
}

.telContactConts .contactConts {
  margin-left: auto;
}

.telContactConts .contactConts a {
  font-size: 17px;
  line-height: 1;
  padding: 12px 20px;
}

.telContactConts .contactConts .c-btn01 a {
  background: #a00535;
  color: #fff;
  border: 2px solid #a00535;
  padding: 12px 20px;
}

.telContactConts .contactConts .c-btn01 a:hover {
  color: #a00535;
  background: #fff;
}

.cvRight .btnWrap {
}

.cvRight .cvBtn {
  width: 290px;
}

.cvRight .cvBtn a {
  color: #000;
  text-decoration: none;
  height: 40px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 18px;
  line-height: 1;
  transition: ease 0.4s;
}

.cvRight .cvBtn a img {
  display: inline-block;
  margin-right: 10px;
}

.cvRight .cvRequest a {
  background: #2983b7;
  border: 2px solid #2983b7;
  color: #fff;
}

.cvRight .cvReserve a {
  background: #333;
  border: 2px solid #333;
  color: #fff;
}

.cvRight .cvBtn a:hover {
  opacity: 0.7;
}

/* ========== newsInfo ========== */
.newsInfo {
  margin-top: 20px;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
}

.newsInfoTtl {
  font-size: 24px;
  color: #fff;
  line-height: 1;
  padding: 15px 0;
  position: relative;
  background: #c43b65;
  min-width: 140px;
  text-align: center;
}

.newsInfoTtl::before {
  position: absolute;
  content: "";
  right: -15px;
  top: 50%;
  border-left: 15px solid #c43b65;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  transform: translateY(-50%);
  z-index: 1;
}

.newsInfoTxt {
  background: #fff;
  padding: 15px 20px 15px 40px;
  font-size: 16px;
  /* overflow: hidden; */
  width: calc(100% - 140px);
}

.newsInfoTxt a {
  font-size: 16px;
  text-decoration: none;
  color: #000;
  line-height: 1;
  overflow: hidden;
}

.newsInfoTxt a:hover {
  opacity: 0.7;
}

.newsInfoTxt .ttl {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-left: 10px;
}

.newsInfoTxtWrap .cat {
  background: #c43b65;
  padding: 3px 10px;
  border-radius: 3px;
  margin-left: 10px;
  white-space: nowrap;
}

/* ========== reason ========== */
#top .reasonConts {
  margin-top: 40px;
}

.reasonContsListItem {
  transition: ease 0.4s;
}

.reasonContsListItem:hover {
  opacity: 0.7;
}

.reasonContsListItem {
  width: 18.8%;
  margin: 0 1.5% 0 0;
}

.reasonContsListLink {
  background: #fff;
  text-decoration: none;
  text-align: center;
  padding: 20px 5px;
  display: block;
  position: relative;
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
}

.reasonContsListLink::before {
  position: absolute;
  content: "";
  right: 2px;
  bottom: -4px;
  border-left: 12px solid #a00535;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  transform: rotate(45deg);
}

.reasonContsListLink .imgWrap img {
  border-radius: 50%;
  margin: 0 auto;
  display: block;
  max-width: 100%;
}

.reasonContsListLink .txtWrap {
  margin-top: 20px;
}

.reasonContsListLink .txtWrap h3 {
  color: #a00535;
  font-size: 17px;
  line-height: 1.2;
}

.reasonTextBlock {
  margin-top: 40px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.2);
  line-height: 1;
  text-align: center;
  color: #333;
}

.reasonTextBlock .reasonText {
  font-size: 46px;
}

.reasonTextBlock .reasonTexts {
  font-size: 70px;
  display: block;
  margin: 10px 0;
}

.reasonDetailList {
}

.reasonDetailList li {
  margin-bottom: 60px;
}

.reasonDetailList li:last-of-type {
  margin-bottom: 0;
}

.reasonDetailList li .imgWrap {
  width: 480px;
}

.reasonDetailList li .imgWrap img {
  border-radius: 20%;
}

.reasonDetailList li .txtWrap {
  width: calc(100% - 520px);
}

.reasonDetailList li:nth-of-type(2n) .imgWrap {
  order: 2;
}

.reasonDetailList li:nth-of-type(2n) .txtWrap {
  order: 1;
}

.reasonCatch .catchTtl {
  font-size: 56px;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 20px;
  text-align: left;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.reasonCatch .catchTtl img {
  float: left;
  margin-right: 10px;
}

.reasonCatch .catchTxtWrap {
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
}

.reasonCatch .catchTxt {
  color: #fff;
  text-align: justify;
  padding: 20px;
}

.reasonCatch {
  font-size: 18px;
  line-height: 1.5;
}

.showroomRecommended ul {
  margin-top: 20px;
  border-top: #a00535 dotted 1px;
  padding-top: 10px;
  overflow: hidden;
  counter-reset: recommend;
}

.showroomRecommended li {
  background: none;
  border-bottom: #a00535 dotted 1px;
  position: relative;
  font-size: 26px;
  font-weight: bold;
  padding: 0 0 8px 0;
  margin: 0 0 8px;
  counter-increment: recommend;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.showroomRecommended li:last-child {
  margin-bottom: 0;
}

.showroomRecommended li:before,
.showroomRecommended li:after {
  content: none;
}

.showroomRecommended li:before {
  content: "オススメ理由その" counter(recommend, decimal);
  background: #c43b65;
  color: #fff;
  padding: 2px 10px;
  box-sizing: border-box;
  margin: 0 10px 0 0;
  border-radius: 5px;
  width: auto;
  height: auto;
  position: relative;
  top: inherit;
  left: inherit;
}

.showroomRecommended li strong {
  background: #fdff3f;
  display: inline-block;
  line-height: 0.5;
}

.showroomRecommended h3 .icoTtl {
  font-size: 40px;
  background-color: #a00535;
  border-radius: 50%;
  width: 130px;
  height: 130px;
  line-height: 1.2;
  color: #fff;
  font-weight: bold;
  display: block;
  float: left;
  margin: -15px 20px 0 0;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
}

.showroomRecommended h3 {
  font-size: 48px;
  background: no-repeat;
  border: none;
  width: auto;
  margin: 0;
  padding: 15px 0 0;
  line-height: 1;
  color: #a00535;
  position: relative;
  overflow: hidden;
}

.showroomRecommended h3 span {
  padding: 0;
  color: #a00535;
  margin: 0;
}

/* ========== menu ========== */
#top .menuBlock .sectionTxt01 {
  color: #fff;
}

.menuDetails {
}

.menuContsListItem {
}

.menuContsListLink {
  background: #fff;
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
  position: relative;
  text-decoration: none;
  transition: ease 0.4s;
}

.menuContsListLink:hover {
  opacity: 0.7;
}

.menuContsListLink::before {
  position: absolute;
  content: "";
  right: 2px;
  bottom: -4px;
  border-left: 12px solid #a00535;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  transform: rotate(45deg);
}

.menuContsListLink .imgWrap {
  width: 160px;
  background: #f5f5f5;
}

.menuContsListLink .imgWrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.menuContsListLink .txtWrap {
  width: calc(100% - 160px);
  padding: 10px 20px;
  font-size: 24px;
  line-height: 1.3;
}

.menuContsListLink .txtWrap p + p {
  margin: 0;
}

.menuContsListLink .txtWrap .prices {
  text-align: right;
}

.menuContsListLink .txtWrap .price {
  font-size: 54px;
  font-family: "Bahnschrift", sans-serif;
  font-weight: 700;
  font-variation-settings: "wght" 500, "wdth" 90;
}

.menuContsListLink .txtWrap .yen {
  font-size: 28px;
}

.menuContsListLink .txtWrap .check {
  font-size: 12px;
  color: #333;
  line-height: 1;
  text-align: right;
}

/* ========== warranty ========== */
#top section.warrantyBlock {
  padding: 40px 0;
}

.warrantyConts {
  font-size: 49px;
  line-height: 1;
  text-align: center;
}

.warrantyConts .lead {
  font-size: 48px;
}

.warrantyConts p + p {
  margin: 5px 0 0;
}

.warrantyConts .txt .point {
  display: inline-block;
  margin-right: 10px;
  border-radius: 5px;
  padding: 5px;
}

.warrantyConts .txtL {
  font-size: 71px;
}

/* ========== first ========== */
.firstContsListItem {
  justify-content: space-between;
  margin-bottom: 20px;
}

.firstContsListItem:last-of-type {
  margin-bottom: 0;
}

.firstContsListItem .imgWrap {
  width: 400px;
}

.firstContsListItem:nth-of-type(2n) .imgWrap {
  order: 2;
}

.firstContsListItem:nth-of-type(2n) .txtWrap {
  order: 1;
}

.firstContsListItem .txtWrap {
  width: calc(100% - 440px);
  font-size: 16px;
  line-height: 1.4;
}

.firstContsListItem .txtWrap .point span {
  font-size: 18px;
  display: inline-block;
  padding: 5px 10px;
  line-height: 1;
}

.firstContsListItem .txtWrap .ttl {
  margin: 10px 0 20px;
  border-bottom: 1px dashed #a00535;
  padding-bottom: 10px;
  font-size: 23px;
}

.firstLead {
  margin: 20px 0;
  text-align: justify;
}

.firstPointList {
  counter-reset: fistpoint;
  position: relative;
  overflow: hidden;
  padding: 0;
}

.firstPointListItem {
  margin-bottom: 40px;
  padding: 40px 0 0;
  counter-increment: fistpoint;
}

.firstPointListItem:last-of-type {
  margin-bottom: 0;
}

.firstPointListItem h4 {
  margin-bottom: 0;
}

.firstPoint h3.catchTtl {
  font-size: 50px;
  padding: 0;
  line-height: 1.3;
  background: none;
  color: #000;
  position: relative;
}

.firstPoint h3.catchTtl:before {
  content: "ポイント" counter(fistpoint, decimal-leading-zero);
  background: #a00535;
  border-radius: 5px;
  color: #fff;
  padding: 5px 20px;
  display: inline-block;
  position: absolute;
  bottom: 100%;
  left: 0;
  font-size: 20px;
}

.firstPointImgs {
}

.firstPointImgs .imgWrap {
  width: 400px;
}

.firstPointImgs .txtWrap {
  width: calc(100% - 440px);
  margin-left: 40px;
}

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

.corpType li {
  padding: 0;
  background: #f5f5f5;
  padding: 10px 20px;
  margin-bottom: 20px;
  width: 48%;
  width: calc(50% - 10px);
  box-sizing: border-box;
}

.corpType li:before,
.corpType li:after {
  content: none;
}

.corpType li li {
  width: inherit;
  background: transparent;
  padding: 0;
  margin-bottom: 5px;
  padding-left: 1rem;
  text-indent: -1rem;
}

.firstPoint ol li li p:last-child {
  margin-bottom: 0;
}

.firstPoint table {
  width: 480px;
  height: 250px;
  float: right;
  clear: none;
}

.firstPoint table th,
.firstPoint table td {
  padding: 10px 10px;
  background: #eeeeee;
  position: relative;
  text-align: center;
}

.firstPoint table thead th:first-of-type {
  width: 20%;
}

.firstPoint table th {
  width: auto;
  background-color: #0e57aa;
  color: #fff;
  text-align: center;
  vertical-align: middle;
}

.firstPoint p {
  font-size: 16px;
}

.firstPoint p.pointCom {
  border-top: dotted 1px #ccc;
  margin-top: 30px;
  padding-top: 30px;
}

.firstPoint h5 {
  font-size: 20px;
  margin: 0 0 10px;
  padding: 3px 10px;
  display: inline-block;
  background: #a00535;
  color: #fff;
}

.firstPoint table th {
  width: auto;
}

.firstPoint table strong {
  font-weight: bold;
  color: #a00535;
}

.firstPoint table caption {
  caption-side: bottom;
  text-align: right;
}

.firstPoint .btn {
  margin-bottom: 40px;
  float: right;
}

#first .main table strong {
  color: #a00535;
}

p.firstPointLead {
  margin: 30px 0;
  text-align: center;
  background: #a00535;
  color: #fff;
  font-size: 24px;
  padding: 10px 0;
}

/* ========== comCheck ========== */
.deteriorationChk .inner {
  padding: 15px 0 30px;
}

.deteriorationChk .checkLegend {
  width: 232px;
  order: 1;
}

.deteriorationChk .checkLegend .checkLegendText {
  font-size: 42px;
  color: #a00535;
  line-height: 1;
}

.deteriorationChk .checkLegend .checkLegendText .checkLegendEm {
  font-size: 28px;
}

.deteriorationChk .checkLegend span {
  display: block;
  position: relative;
  text-align: center;
  line-height: 1.2;
}

.deteriorationChk .checkLegend img {
  margin-top: 20px;
}

.deteriorationChk .checkPoint {
  width: 848px;
  margin-left: 20px;
  background: #fff;
  border: #ccc solid 1px;
  order: 2;
}

.deteriorationChk .checkPoint h3 {
  margin: 0;
  background: #a00535;
  border: none;
  color: #fff;
  font-size: 20px;
  padding: 5px 7px;
}

.deteriorationChkList {
  position: relative;
  overflow: hidden;
  padding: 15px;
  margin: 0;
  box-sizing: border-box;
}

.deteriorationChkListItem {
  position: relative;
}

.checkpointThumb {
  width: 100%;
  height: 180px;
}

.checkpointThumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.deteriorationChkListItem .checkTtl {
  position: absolute;
  bottom: 10px;
  padding: 0 30px;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}

.deteriorationChkListItem .checkTtl h4 {
  background: #a00535;
  color: #fff;
  display: block;
  padding: 0;
  font-size: 13px;
  margin: 0;
}

.deteriorationChkListItem .checkTtl h4:before,
.deteriorationChkListItem .checkTtl h4:after {
  display: none;
}

.deteriorationChkListItem .checkTtl p {
  background: #fff;
  border-radius: 5px;
  color: #a00535;
  display: block;
  font-size: 16px;
  margin-top: 5px;
  line-height: 1.2;
}

.deteriorationChkListItem p {
  display: inline-block;
  font-size: 13px;
  margin-bottom: 0;
}

/* ========== corpAbout ========== */
.aboutConts {
  justify-content: space-between;
  align-items: flex-start;
}

.aboutConts .imgWrap {
  width: 400px;
}

.aboutConts .imgWrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aboutConts .txtWrap {
  width: calc(100% - 440px);
  line-height: 1.5;
  font-size: 16px;
  text-align: justify;
}

.aboutConts .txtWrap .ttl {
  font-size: 20px;
  line-height: 1;
  margin-bottom: 20px;
}

.aboutConts .txtWrap .mainTtl {
  display: block;
  font-size: 25px;
  margin-top: 10px;
  color: #000;
}

.aboutConts .txtWrap .mainTtl .eng {
  margin-left: 30px;
}

.aboutBtnList {
  margin: 20px 0;
}

.aboutBtnListLink {
  background: #a00535;
  color: #fff;
  text-align: center;
  padding: 20px 0;
  height: 60px;
  border-radius: 30px;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size: 20px;
  border: 2px solid #a00535;
  position: relative;
  transition: ease 0.4s;
}

.aboutBtnListLink:hover {
  background: #fff;
  color: #a00535;
}

.aboutBtnListLink::before {
  content: "＞";
  margin-right: 10px;
}

/* ========== diagnosis ========== */
.diagnosisCont {
  margin-bottom: 40px;
}

.diagnosisCont .imgWrap {
  width: 400px;
}

.diagnosisCont .txtWrap {
  width: calc(100% - 440px);
  margin-left: 40px;
  font-size: 23px;
}

.diagnosisPointsList li {
  display: flex;
  align-items: center;
  line-height: 1;
  margin-bottom: 20px;
  font-size: 36px;
}

.diagnosisPointsList li:last-of-type {
  margin-bottom: 0;
}

.diagnosisPointsList .point {
  display: inline-block;
  font-size: 23px;
  padding: 6px 10px;
  margin-right: 20px;
}

/* ========== topics ========== */
.topicsListItem {
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
  background: #fff;
}

.topicsListItem .mainTtl {
  background: #a00535;
  color: #fff;
  font-size: 24px;
  padding: 12px 20px;
  line-height: 1;
}

.topicsDetails,
.topicsDetail {
  padding: 20px;
}

.topicsDetailsItem {
  border-bottom: 1px dashed #333;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.topicsDetailsItem:last-of-type {
  margin-bottom: 0;
}

.topicsDetailLink,
.topicsDetailsLink {
  text-decoration: none;
  color: #333;
  font-size: 16px;
  line-height: 1;
  transition: ease 0.4s;
}

.topicsDetailLink:hover,
.topicsDetailsLink:hover {
  opacity: 0.7;
}

.topicsDetailsLink .imgWrap {
  width: 200px;
  height: 120px;
  background: #f5f5f5;
}

.topicsDetailsLink .imgWrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.topicsDetailsLink .txtWrap {
  display: flex;
  flex-flow: row nowrap;
  width: 100%;
}

.topicsDetailsLink .txtWrap .ttl {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  margin-left: 20px;
}

.topicsDetailsLink .imgWrap + .txtWrap {
  width: calc(100% - 220px);
  margin-left: 20px;
  display: flex;
  justify-content: center;
  flex-flow: column wrap;
}

.topicsDetailsLink .imgWrap + .txtWrap .ttl {
  font-size: 18px;
  line-height: 1.5;
  text-align: justify;
  height: 81px;
  margin-top: 5px;
  white-space: initial;
  text-overflow: initial;
  margin-left: 0;
}

.topicsLink a {
  display: block;
  text-align: center;
  position: relative;
  font-size: 20px;
  text-decoration: none;
  transition: ease 0.4s;
  color: #fff;
}

.topicsLink a:hover {
  opacity: 0.7;
}

.topicsLink a::before {
  content: "＞";
  margin-right: 10px;
}

.topicsDetailLink > .imgWrap {
  width: 200px;
  height: 120px;
  background: #f5f5f5;
}

.topicsDetailLink > .imgWrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.topicsDetailLink > .txtWrap {
  width: calc(100% - 220px);
  margin-left: 20px;
  position: relative;
}

.topicsDetailLink > .txtWrap .ttl {
  font-size: 36px;
  line-height: 1;
}

.topicsDetailLink > .txtWrap .ttl.txtSm {
  font-size: 18px;
  line-height: 1.5;
}

.topicsDetailLink > .txtWrap .topicsBtn {
  position: absolute;
  content: "";
  bottom: 0;
  right: 0;
  width: 100%;
}

.topicsDetailLink > .txtWrap .topicsBtn span {
  text-decoration: none;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 20px;
  border-radius: 25px;
  position: relative;
  color: #fff;
  /* width: 100%; */
}

.topicsDetailLink > .txtWrap .topicsBtn span::before {
  content: "＞";
  margin-right: 10px;
}

/* ========== wingGroup ========== */
.wingGroupList {
}

.wingGroupListLink {
  background: #fff;
  border: 1px solid #ccc;
  text-decoration: none;
  padding: 35px 10px 45px;
  display: block;
  position: relative;
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
  color: #000;
}

.wingGroupListLink .imgWrap img {
  max-width: 100%;
  width: inherit;
}

.wingGroupListLink::before {
  position: absolute;
  content: "";
  right: 2px;
  bottom: -4px;
  border-left: 12px solid #a00535;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  transform: rotate(45deg);
}

.wingGroupListLink:hover {
  opacity: 0.7;
}

.wingGroupListLink .txtWrap {
  margin-top: 15px;
}

.wingGroupListLink .ttl {
  font-size: 18px;
}

.wingGroupList .txts {
  margin-top: 10px;
  font-size: 14px;
}

/* ========== staff ========== */
.staffList {
}

/* #staff .main h2 {
	font-size: 30px;
}

#staff .main h2:first-of-type {
	margin-top: 0;
} */

#staff #tabMenu {
  position: relative;
  overflow: hidden;
  margin-bottom: 25px;
}

#staff #tabMenu li {
  border-radius: 4px;
  background: linear-gradient(0deg, #7f7f7f 0%, #cfcfcf 100%);
  box-shadow: 0px 4px 7px 1px rgba(52, 52, 52, 0.35) inset;
  font-size: 25px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  text-decoration: none;
  display: block;
  float: left;
  line-height: 1.2;
  padding: 0;
  width: 485px;
}

#staff #tabMenu li a {
  color: #fff;
  text-decoration: none;
  display: block;
  padding: 15px 0;
}

#staff #tabMenu li:hover {
  cursor: pointer;
  opacity: 0.8;
  transition: 0.7s;
}

#staff #tabMenu li:nth-child(2n) {
  float: right;
}

#staff #tabMenu li.select {
  background: linear-gradient(0deg, #a00535 0%, #fd2571 100%);
}

#staff #tabMenu li.select:hover {
  opacity: inherit;
}

#staff .staffShop {
  position: relative;
  overflow: hidden;
  margin-bottom: 45px;
}

#staff .staffShop li {
  position: relative;
  font-size: 25px;
  background: none;
  display: inline-block;
  padding: 0 0 0 20px;
  margin: 0 35px 0 0;
}

#staff .staffShop li:before,
#staff .staffShop li:after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

#staff .staffShop li:before {
  background: #a00535;
  border-radius: 50%;
  width: 16px;
  height: 16px;
}

#staff .staffShop li:after {
  left: 4px;
  width: 5px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  border-right: none;
  border-top: none;
  transform: rotate(-45deg);
}

#staff .staffShop li a {
  color: #a00535;
  text-decoration: none;
}

#staff .staffList {
  position: relative;
  overflow: hidden;
  margin-bottom: 50px;
}

#staff .staffList li {
  background: none;
  /* float: left;
	margin: 35px 20px 0 0;
	width: 235px; */
  padding: 0;
  font-weight: bold;
}

#staff .staffList li:nth-child(-n + 4) {
  /* margin-top: 0; */
}

#staff .staffList li:nth-child(4n) {
  /* margin-right: 0; */
}

#staff .staffList li a {
  text-decoration: none;
}

#staff .staffList li:before,
#staff .staffList li:after {
  content: none;
}

#staff .staffList li .staffPict {
  width: 100%;
  height: 340px;
  position: relative;
  overflow: hidden;
  margin-bottom: 10px;
}

#staff .staffList li .positionTxt {
  display: block;
  margin: 0;
  text-align: center;
  line-height: 1.2;
}

#staff .staffList li .positionTxt span {
  font-size: 12px;
  font-weight: bold;
  display: inline-block;
  text-align: center;
  padding: 2px 5px;
  margin-right: 5px;
  color: #c43b65;
}

#staff .staffProf .profileDetail .positionTxt span {
  font-size: 12px;
  font-weight: bold;
  text-align: left;
  padding: 2px 5px;
  line-height: 1.2;
  margin-right: 5px;
  color: #fff;
  border-radius: 3px;
  background: #c43b65;
  display: inline-block;
}

#staff .staffList li .staffName {
  color: #333;
  font-size: 23px;
  line-height: 1.3;
  font-weight: bold;
  text-align: center;
  margin: 5px 0 5px;
}

#staff .staffProf .profileDetail .staffName {
  color: #333;
  font-size: 20px;
  line-height: 1.3;
  font-weight: bold;
  margin-bottom: 15px;
}

#staff .staffList li .staffName span,
#staff .staffProf .profileDetail .staffName span {
  color: #333;
  font-size: 12px;
  font-family: "Bahnschrift", sans-serif;
  font-weight: bold;
  display: block;
}

#staff #staffSection .inner {
  padding-top: 0;
}

#staff #staffSection .inner .combnrListOtr li {
  margin-bottom: 0;
  margin-top: 30px;
}

#staff .staffList li .btnDetail,
.staffProf a#btnClose {
  font-size: 12px;
  margin: 0 auto;
  width: 8em;
  border-radius: 5px;
  padding: 3px 6px;
  background: #a00535;
  box-shadow: 0px 2px 0px 0px rgba(255, 255, 255, 0.4) inset;
  clear: both;
  color: #fff;
}

#btnClose {
  font-size: 14px;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  text-align: center;
  display: block;
  background: #a00535;
  border-radius: 5px;
  box-shadow: 0px 2px 0px 0px rgba(255, 255, 255, 0.4) inset;
  width: 8em;
  margin: 50px auto 0 auto;
  padding: 2px 20px;
}

body#staff.staffSingle {
  min-width: 0;
}

#staff .staffProf {
  padding: 20px;
  position: relative;
  overflow: hidden;
}

#staff .staffProf .staffPictBox {
  width: 235px;
  margin-right: 25px;
  float: left;
}

#staff .staffProf .staffPictBox > img {
  width: 235px;
  height: auto;
}

#staff .staffProf .staffPict {
  width: 235px;
  height: 314px;
  position: relative;
  overflow: hidden;
  margin-bottom: 20px;
}

#staff .staffProf .staffPict img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: 100%;
}

#staff .staffProf .profileDetail {
  overflow: hidden;
}

#staff .staffProf .profileDetail .positionTxt {
  margin-top: 0;
  font-size: 12px;
  margin-bottom: 5px;
}

#staff .staffProf .profileDetail .staffName span {
  display: inline-block;
  margin-left: 10px;
}

#staff .staffProf .profileDetail dl dt {
  background: #a00535;
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  display: block;
  padding: 3px 10px;
  margin: 15px 0 10px;
}

#staff .staffProf .profileDetail dl dd {
  font-size: 15px;
}

/* ========== archive ========== */
.taxList li,
.areaList li {
  display: inline-block;
  padding: 0;
  background: none;
  margin: 0;
}

.taxList li:before,
.areaList li:before,
.taxList li:after,
.areaList li:after {
  content: none;
}

.cat a,
.taxList li a,
.areaList li a {
  display: inline-block;
  background: #c43b65;
  color: #fff;
  font-weight: bold;
  margin: 0 4px 4px 0;
  text-decoration: none;
  padding: 0 5px;
  border-radius: 3px;
  position: inherit;
}

.taxBtnConts {
  display: flex;
  flex-flow: row wrap;
}

.taxBtnCont {
  /* margin: 0 5px 5px 0; */
}

.taxBtnConts .taxList {
  display: none;
  margin: 20px 0;
  width: 100%;
}

.cat a {
  border-radius: 0;
  padding: 3px 5px;
  margin: 0 2px 2px 0;
}

.areaList li a,
.makerList li a,
.wallList li a,
.priceList li a {
  background-color: #c43b65;
  border: solid 1px #c43b65;
}

.taxList li.current-cat a {
  background-color: #fff;
  color: #c43b65;
  border: solid 1px #c43b65;
}

.areaList li.current-cat a,
.makerList li.current-cat a,
.wallList li.current-cat a,
.priceList li.current-cat a {
  background-color: #fff;
  color: #c43b65;
  border: solid 1px #c43b65;
}

.infoBox {
  padding: 8px 0;
  border-bottom: dotted 1px #000;
  overflow: hidden;
  margin-bottom: 30px;
}

.infoBox .time {
  float: right;
  font-weight: bold;
}

.archiveList {
  padding: 20px 0;
  position: relative;
}

.worksArchiveBox {
  position: relative;
  /* overflow: hidden; */
}

.archiveList article {
  position: relative;
  padding: 0;
}

.archiveList article:nth-child(3n) {
  margin-right: 0;
}

.archiveList article:nth-child(3n + 1) {
  clear: both;
}

.archiveList a {
  text-decoration: none;
}

.archiveList a:hover {
  /* opacity: 0.8; */
  transition: 0.7s;
}

.archiveList h3,
.archiveList .contTxt,
.archiveList .price {
  /* display: block;
	border: none;
	background: none;
	line-height: 1.4;
	font-size: 14px;
	padding: 0;
	margin: 0 0 5px 0;
	color: #000;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap; */
}

.archiveList h3 {
  /* color: #000;
	margin-bottom: 5px;
	box-shadow: none; */
}

.archiveList .cat {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 13px;
  line-height: 1.4;
  height: 24px;
  overflow: hidden;
}

.archiveList .cat a {
  position: relative;
}

.archiveList .overflowH .price,
.worksList .worksExp .price {
  color: #fff;
  display: table-cell;
  background: #a00535;
  border-radius: 3px;
  margin: 3px 8px 0 0;
  padding: 1px 5px 0 5px;
  color: #fff;
}

.worksList .time,
.voiceList .time {
  margin: 3px 0 0 0;
  line-height: 1.4;
  font-size: 12px;
  display: block;
  color: #000;
}

.worksList .worksExp p {
  margin-bottom: 0;
}

.worksListLtl {
  overflow: hidden;
  padding-bottom: 20px;
}

.relation-works-item a {
  text-decoration: none;
  color: #000;
  font-size: 14px;
  text-align: justify;
}

.relation-works-wrap {
  width: 100%;
  height: 150px;
}

.relation-works-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.archiveCont {
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
  border: 1px solid #eee;
  transition: ease 0.4s;
}

.archiveCont:hover {
  box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.2);
  /* opacity: 0.7; */
}

.archiveCont > a {
  text-decoration: none;
  color: #000;
}

.archiveTumb {
  height: 220px;
  background: #f5f5f5;
}

.archiveCont .txtWrap {
  padding: 20px;
}

/* ========== single ========== */
.singlePage {
}

.singlePage table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 1px;
  margin-bottom: 20px;
}

.singlePage table th,
.singlePage table td {
  padding: 15px 20px;
  font-size: 15px;
  line-height: 1.7;
  text-align: left;
  vertical-align: top;
  background: #f5f5f5;
  position: relative;
  overflow: hidden;
}

.singlePage table th {
  width: 20%;
  background: #a00535;
  font-weight: normal;
  color: #fff;
}

.singlePage table td a {
  background: #c43b65;
  border-radius: 5px;
  color: #fff;
  text-decoration: none;
  padding: 0 15px;
  display: inline-block;
  float: right;
  margin: 0 0 5px 5px;
}

.singlePage table .paintList li a {
  background: #a00535;
  color: #fff;
}

#works .singlePage table td a {
  float: none;
  margin: 0 5px 5px 0;
}

.singlePage table td .cat a {
  position: initial;
  right: initial;
  top: initial;
}

.singlePage table td a:hover {
  opacity: 0.7;
  transition: 0.6s;
}

.picBox {
  overflow: hidden;
  margin-bottom: 30px;
  position: relative;
}

.picBox .photo {
  float: right;
  width: 680px;
  height: 440px;
  position: relative;
  overflow: hidden;
}

.picBox .btmPhoto {
  float: left;
  width: 400px;
  height: 250px;
  position: relative;
  overflow: hidden;
}

.picBox .photo img,
.picBox .btmPhoto img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
}

.picBox .arrowImg {
  margin: 10px 0 0;
  float: right;
}

.picBox02 {
  margin-top: 40px;
}

.picBox02 .photo {
  float: right;
  width: 680px;
  position: relative;
}

.picBox02 .btmPhoto {
  float: left;
  width: 400px;
  position: relative;
}

.picBox02 .arrowImg {
  margin: 15px 0 0 100px;
}

.picBox span.after,
.picBox span.before {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #c43b65;
  display: inline-block;
  z-index: 10;
  font-size: 15px;
  font-weight: bold;
  color: #fff;
  border-radius: 4px;
  padding: 3px 10px 2px 10px;
}

.picBox span span {
  opacity: 0.7;
  margin-left: 5px;
}

.voiceSummary {
  position: relative;
  overflow: hidden;
}

.voicephotList {
  /* float: left; */
  width: 400px;
  margin-right: 40px;
}

.voicephotList li {
  background: none;
  padding: 0;
  position: relative;
  margin: 0 0 20px;
  border: #ccc solid 1px;
  box-sizing: border-box;
  width: 100%;
  height: 220px;
  overflow: hidden;
}

.voicephotList li:before,
.voicephotList li:after {
  content: none;
}

.voicephotList li img {
  /* position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: auto; */
}

.voicephotList li .imgLayer,
.voiceSummary .enqImg .imgLayer {
  position: absolute;
  bottom: 5px;
  right: 5px;
  transform: none;
  top: inherit;
  left: inherit;
  width: auto;
  height: auto;
}

.voiceSummary .txtWrap {
  width: calc(100% - 440px);
}

.voiceSummary .enqImg .imgLayer {
  right: inherit;
}

.voiceSummary .enqImg {
  width: auto;
  height: 500px;
  text-align: center;
}

.voiceSummary .enqImg a > img {
  height: 100%;
  width: auto;
}

.voiceData {
  margin-top: 15px;
}

.voiceData table {
  margin-bottom: 30px;
}

.workingListItem .otherPhoto {
  height: 220px;
  display: block;
}

.voiceArchiveCont .txtWrap .price,
.voiceArchiveCont .txtWrap .time {
  display: block;
}

/* ========== archive - seminar  ========== */
.seminarList article {
  width: 100%;
  margin: 0 0 40px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  background: #f5f5f5;
  border: #ccc solid 1px;
}

.seminarList a {
  border: none;
}

.seminarList .mainThumb {
  width: 400px;
  margin-right: 20px;
}

.seminarList .txtWrap {
  width: calc(100% - 420px);
  padding: 0;
}

.seminarList .btn span {
  display: inline-block;
  text-decoration: none;
  font-size: 18px;
  line-height: 1.5;
  padding: 10px 20px;
  background: #fff;
  color: #a00535;
  position: relative;
  border: 2px solid #a00535;
  border-radius: 32px;
  transition: ease 0.4s;
}

.seminarList .btn span::before {
  content: "＞";
}

.archiveCont:hover .btn span {
  color: #fff;
  background: #a00535;
}

.seminarList h3 {
  background: #a00535;
  font-size: 22px;
  color: #fff;
  margin: 0;
  width: auto;
  padding: 10px;
  line-height: 1.4;
  text-align: left;
  position: relative;
  overflow: hidden;
}

.seminarList h3 span {
  float: right;
  border-radius: 3px;
  padding: 2px 10px;
  font-size: 16px;
}

.seminarConts {
  padding: 20px;
  align-items: flex-start;
}

.seminarList dl {
  border-top: #a00535 dotted 1px;
  padding-top: 20px;
  margin-bottom: 20px;
}

.seminarList dl dt {
  font-weight: bold;
  float: left;
  clear: both;
}

.seminarList dl dd {
  padding: 0 0 0 120px;
  border-bottom: #a00535 dotted 1px;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.seminarList dl dd:last-of-type {
  margin-bottom: 0;
}

/* ========== single - seminar  ========== */
.infoBox .status {
  float: left;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  margin-bottom: 0;
}

.infoBox .status span {
  border-radius: 3px;
  padding: 2px 10px;
}

.formBox td input[type="text"].readonly {
  background: #eee;
  color: #888;
}

.seminarImg {
  align-items: flex-start;
}

/* ========== docrequet  ========== */
.docDetailsListItem .imgWrap {
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.2);
}

.docDetailsListItem .txtWrap h3 {
  font-size: 20px;
  text-align: center;
  margin-top: 10px;
}

.docDetailsListItem .txtWrap p {
  text-align: justify;
  margin-top: 10px;
}

/* ========== showroom ========== */
#showroom .u-header_margin {
  padding-top: 40px;
}

.showroomMeritTtl {
}

.showroomMeritListItem {
  background: #c43b65;
  color: #fff;
}

.showroomMeritListItem .imgWrap,
.showroomMeritListItem .txtWrap {
  width: 50%;
}

.showroomMeritListItem .imgWrap {
  background: #f5f5f5;
}

.showroomMeritListItem .txtWrap {
  padding: 10px;
  line-height: 1.4;
}

.showroomMeritListItem .txtWrap p + p {
  margin-top: 0;
}

.showroomMeritListItem .txtWrap .merit {
  font-size: 22px;
  color: #fff;
}

.showroomDetailListItem .txtWrap {
  margin-top: 10px;
}

.featureBox {
  position: relative;
  overflow: hidden;
  background: #a00535;
  margin: 30px 0;
  height: 331px;
}

/* .featureBox.login {
  height: 417px;
} */

.featureBox p {
  margin-top: 0;
}

.featureBox .imgWrap {
  width: calc(100% - 360px);
  height: 100%;
}

/* .featureBox.login .imgWrap {
  width: calc(100% - 460px);
  height: 100%;
}

.featureBox.login .imgWrap img {
  max-width: 100%;
  height: auto;
} */

.featureBox .txtWrap {
  width: 360px;
}

/* .featureBox.login .txtWrap {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 460px;
} */

.featureBoxList {
  padding: 10px;
  box-sizing: border-box;
  margin-bottom: 0;
  display: block;
}

/* .featureBox.login .featureBoxList {
  padding: 20px;
} */

.featureBoxListItem {
  border-radius: 5px;
  background: #fff;
  font-size: 15px;
  padding: 10px;
  position: relative;
  overflow: hidden;
  margin-top: 10px;
  line-height: 1.6;
}

/* .featureBox.login .featureBoxListItem {
  font-size: 16px;
  padding: 15px;
} */

.featureBoxListItem::before,
.featureBoxListItem::after {
  content: none;
}

.featureBoxListItem:first-child {
  margin-top: 0;
}

.featureBoxListItem p {
  font-size: 14px;
  line-height: 1.8;
}

.featureBoxListItem .ttl {
  background: #a00535;
  color: #fff;
  font-size: 25px;
  display: table-cell;
  padding: 26px 5px;
  height: 100%;
  width: 3em;
  text-align: center;
  vertical-align: middle;
  float: left;
  margin: 0 10px 0 0;
  line-height: 1;
}

.featureContentsListItem {
  margin-bottom: 60px;
}

.featureContentsListItem:last-of-type {
  margin-bottom: 0;
}

.featureContentsCont .imgWrap {
  width: 480px;
}

.featureContentsCont .txtWrap {
  width: calc(100% - 520px);
}

.featureContentsListItem:nth-of-type(2n) .imgWrap {
  order: 2;
}

.featureContentsListItem:nth-of-type(2n) .txtWrap {
  order: 1;
}

.showroomStepList {
  position: relative;
  overflow: hidden;
  padding: 0;
  margin: 0 0 30px;
}

.showroomStepListItem {
  list-style-type: none;
  float: left;
  width: 25%;
  margin: 15px 0 0 -50px;
  font-weight: bold;
}

.showroomStepListItem span {
  background: #a00535;
  border-radius: 50%;
  width: 67px;
  height: 67px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
}

.showroomCheckListItem {
  padding-left: 1.75em;
  position: relative;
}

.showroomCheckListItem::before,
.showroomCheckListItem::after {
  position: absolute;
  content: "";
}

.showroomCheckListItem::before {
  left: 0;
  top: 0.25em;
  width: 1.2em;
  height: 1.2em;
  background: #a00535;
  border-radius: 50%;
}

.showroomCheckListItem::after {
  left: 0.26em;
  top: 0.58em;
  transform: rotate(45deg);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 0.5em;
  height: 0.5em;
}

.showroomStepListItem:first-child {
  width: 200px;
  margin-left: 0;
}

.showroomStepListItem h4 {
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
  margin: 0 50px 10px 0;
  color: #fff;
  padding: 0 10px 0 50px;
  position: relative;
}

.showroomStepListItem:first-child h4 {
  padding-left: 10px;
}

.showroomStepListItem:last-child h4 {
  background: #c43b65;
}

.showroomStepListItem h4:before {
  display: none;
}

.showroomStepListItem h4:after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 40px 0 0 40px;
  border-color: transparent transparent transparent #a00535;
  content: "";
  z-index: 10;
  position: absolute;
  left: 100%;
  bottom: 0;
  top: inherit;
  border-radius: 0;
  background: none;
}

.showroomStepListItem:last-child h4:after {
  border-color: transparent transparent transparent #c43b65;
}

.showroomStepListItem p {
  padding-left: 40px;
  height: 68px;
  display: flex;
  align-items: center;
}

.showroomStepListItem:first-child p {
  padding-left: 0;
}

.showroomStepListItem:last-child img {
  width: 67px;
  height: auto;
}

/* ========== diagnosis ========== */
.diagnosisDetailListItem {
  margin-bottom: 60px;
}

.diagnosisDetailListItem:last-of-type {
  margin-bottom: 0;
}

.diagnosisDetailCont .imgWrap {
  width: 480px;
}

.diagnosisDetailCont .txtWrap {
  width: calc(100% - 520px);
}

.diagnosisDetailListItem:nth-of-type(2n) .imgWrap {
  order: 2;
}

.diagnosisDetailListItem:nth-of-type(2n) .txtWrap {
  order: 1;
}

.troubleBoxCont .imgWrap {
  width: 360px;
  margin-right: 40px;
}

.troubleBoxCont .imgWrap img {
  margin-bottom: 10px;
}

.troubleBoxCont .imgWrap img:last-of-type {
  margin-bottom: 0;
}

.troubleBoxCont .txtWrap {
  width: calc(100% - 400px);
}

.troubleBoxListItem {
  margin-bottom: 10px;
}

.troubleBoxListItem:last-of-type {
  margin-bottom: 0;
}

.troubleBoxListItem h4 {
  padding-left: 30px;
  position: relative;
  font-size: 22px;
  color: #a00535;
}

.troubleBoxListItem h4::after,
.troubleBoxListItem h4::before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
}

.troubleBoxListItem h4::after {
  left: 0;
  width: 22px;
  height: 22px;
  background-color: #a00535;
  border-radius: 100%;
  transform: translateY(-50%);
}

.troubleBoxListItem h4::before {
  z-index: 2;
  left: 5px;
  width: 9px;
  height: 9px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateY(-50%) rotate(-45deg);
}

.troubleBoxListItem p {
  font-size: 18px;
}

.troubleBoxLead {
  text-align: center;
  font-size: 30px;
  margin-top: 20px;
}

.diagnosisMeritCont {
  border: #e2e2e2 solid 5px;
  position: relative;
  overflow: hidden;
  padding: 20px;
  box-sizing: border-box;
}

.diagnosisMeritCont .imgWrap {
  width: 400px;
  margin-right: 20px;
}

.diagnosisMeritCont .txtWrap {
  width: calc(100% - 420px);
}

.meritList {
  border-top: #d5d5d5 solid 1px;
  padding-top: 10px;
  overflow: hidden;
  margin-bottom: 10px;
}

.meritList li {
  background: none;
  border-bottom: #d5d5d5 solid 1px;
  position: relative;
  font-size: 20px;
  font-weight: bold;
  padding: 0 0 0 25px;
  margin: 0 0 8px;
}

.meritList li::before,
.meritList li::after {
  position: absolute;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

.meritList li::before {
  top: 8px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #a00535;
}

.meritList li::after {
  top: 13px;
  left: 3px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

.meritList li:last-child {
  margin-bottom: 0;
}

.meritList li strong {
  color: #a00535;
}

.diagnosisList li {
  border-radius: 4px;
  background: #a00535;
  color: #fff;
  font-size: 25px;
  text-align: center;
}

/* ========== comMember ========== */
.member {
  background: linear-gradient(
    to right,
    rgba(196, 59, 101, 0.3) 0%,
    rgba(196, 59, 101, 0.2) 20%,
    rgba(196, 59, 101, 0) 50%,
    rgba(232, 58, 52, 0)
  );
}

.comMember {
  margin-bottom: 0;
  position: relative;
}

.comMember .container {
  background: url(./img/common/comMember_bg.png) no-repeat center top;
  min-height: 432px;
  padding: 0;
}

.comMember p {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  color: #a00535;
  font-size: 54px;
  line-height: 1.4;
  display: block;
  text-align: center;
  background: rgba(255, 255, 255, 0.8);
}

/* ========== design ========== */
.designReasonListItem {
  font-size: 26px;
  padding: 10px 0;
  border-bottom: 1px dotted #a00535;
}

.designReasonListItem:first-of-type {
  border-top: 1px dotted #a00535;
}

.designReasonListItem .lead {
  align-items: center;
}

.designReasonListItem .point {
  color: #fff;
  background: #a00535;
  padding: 0 10px;
  margin-right: 20px;
  border-radius: 5px;
}

.designReasonCommonTxt {
  text-align: center;
  font-size: 24px;
  padding-top: 80px;
  position: relative;
}

.designReasonCommonTxt::before {
  position: absolute;
  content: "";
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  border-top: 40px solid #a00535;
  border-left: 100px solid transparent;
  border-right: 100px solid transparent;
}

.designReasonPoint {
  margin-top: 20px;
  padding: 20px;
  border-radius: 10px;
  font-size: 28px;
  text-align: center;
  color: #fff;
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
}

.designTable {
  /* width: 100%; */
  border-collapse: separate;
  /* border-spacing: 1px; */
  margin-bottom: 20px;
  border: 1px solid #ccc;
}

.designTable tr {
}

.designTable th,
.designTable td {
  border: 1px solid #ccc;
  text-align: center;
  vertical-align: middle;
  padding: 10px 5px;
  background: #fff;
}

.designTable th {
  background: #a00535;
  color: #fff;
}

.designTable.whyTable th {
  width: 16.6666%;
}

.designTable.whyTable td.point,
.designTable .bg_point td {
  background: #c43b65;
  color: #fff;
}

.designTable th.u-bg_yellow {
  background: #a00535;
}

.designWhyListItem {
  padding-left: 1.5em;
  position: relative;
}

.designWhyListItem::before {
  position: absolute;
  content: "";
  left: 0;
  top: 50%;
  border-top: 2px solid #a00535;
  border-right: 2px solid #a00535;
  width: 12px;
  height: 12px;
  transform: translateY(-50%) rotate(45deg);
}

.designBox {
  background: #f5f5f5;
  padding: 20px;
  font-size: 18px;
  margin-top: 20px;
}

.designSuggestionCont {
  align-items: flex-start;
}

.designSuggestionContLead {
  text-align: center;
  font-size: 24px;
}

.designSolutionCont {
  margin-bottom: 40px;
}

.designSolutionCont .txtWrap {
  width: calc(100% - 420px);
}

.designSolutionCont .txtWrap .lead {
  font-size: 42px;
}

.designSolutionCont .imgWrap {
  width: 400px;
  margin-left: 20px;
}

/* ========== plan  ========== */
.planLeadCont .imgWrap {
  width: 300px;
  margin-left: 20px;
}

.planLeadCont .txtWrap {
  width: calc(100% - 320px);
}

.planLeadCont .txtWrap .lead {
  font-size: 34px;
}

.planMainvDetail .lead {
  font-size: 24px;
}

.planMainvDetailCont {
  position: relative;
  border: 5px solid #a00535;
  padding: 40px 20px 20px;
  margin: 40px 0 80px;
}

.planMainvDetailCont::before {
  position: absolute;
  content: "";
  bottom: -65px;
  left: 50%;
  transform: translateX(-50%);
  border-top: 40px solid #a00535;
  border-left: 100px solid transparent;
  border-right: 100px solid transparent;
}

.planMainvDetailCont .ttl {
  position: absolute;
  content: "";
  top: -23px;
  left: 50%;
  transform: translateX(-50%);
  background: #a00535;
  color: #fff;
  font-size: 36px;
  padding: 5px 80px;
  border-radius: 36.5px;
  line-height: 1;
}

.planMainvDetailContListItem {
  background: #c43b65;
  border-radius: 10px;
  text-align: center;
  padding: 10px 20px;
  align-items: center;
  justify-content: center;
  display: flex;
  font-size: 32px;
  width: 32%;
  margin: 0 2% 10px 0;
  line-height: 1;
  color: #fff;
}

.planMainvDetailContListItem.u-oneCol {
  width: 100%;
  margin: 0 0 10px;
}

.planFlowStep {
}

.planFlowStepCont {
  margin-bottom: 60px;
}

.planFlowStepCont:last-of-type {
  margin-bottom: 0;
}

.planFlowStepCont .ttl {
  font-size: 52px;
  line-height: 1;
  color: #a00535;
}

.planFlowStepCont .ttl span {
  font-size: 36px;
  background: #a00535;
  color: #fff;
  display: inline-block;
  padding: 5px 20px;
  margin-right: 20px;
  border-radius: 10px;
}

.planFlowStepList {
  margin-top: 20px;
}

.planFlowStepListItem {
  margin-bottom: 20px;
  padding: 20px;
  line-height: 1;
  font-size: 32px;
  text-align: center;
  border: 2px solid #a00535;
  position: relative;
  background: #fff;
}

.planFlowStepListItem::before {
  position: absolute;
  content: "";
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  border-top: 20px solid #a00535;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
}

.planFlowStepListItem:last-of-type::before {
  content: none;
}

.planFlowStepCont.second .ttl {
  color: #a00535;
}

.planFlowStepCont.second .ttl span {
  background: #a00535;
}

.second .planFlowStepListItem {
  border-color: #a00535;
}

.second .planFlowStepListItem::before {
  border-top-color: #a00535;
}

.planFlowStepCont.second .ttl {
  color: #a00535;
}

.planFlowStepCont.second .ttl span {
  background: #a00535;
}

.second .planFlowStepListItem {
  border-color: #a00535;
}

.second .planFlowStepListItem::before {
  border-top-color: #a00535;
}

.planFlowStepCont.third .ttl {
  color: #a00535;
}

.planFlowStepCont.third .ttl span {
  background: #a00535;
}

.third .planFlowStepListItem {
  border-color: #a00535;
}

.third .planFlowStepListItem::before {
  border-top-color: #a00535;
}

.planFlowStepCont.fourth .ttl {
  color: #a00535;
}

.planFlowStepCont.fourth .ttl span {
  background: #a00535;
}

.fourth .planFlowStepListItem {
  border-color: #a00535;
}

.fourth .planFlowStepListItem::before {
  border-top-color: #a00535;
}

.planFlowStepCont.fifth .ttl {
  color: #a00535;
}

.planFlowStepCont.fifth .ttl span {
  background: #a00535;
}

.fifth .planFlowStepListItem {
  border-color: #a00535;
}

.fifth .planFlowStepListItem::before {
  border-top-color: #a00535;
}

.planFlowStepCont .check {
  font-size: 18px;
  margin-top: 20px;
}

.planFlowStepDetail .example {
  font-size: 18px;
  margin-bottom: 10px;
}

.planFlowStepDetail .example span {
  display: inline-block;
  margin-right: 10px;
  font-size: 24px;
}

.planContactCont {
  margin-top: 20px;
}

.planContactCont .txtWrap p {
  font-size: 20px;
  text-align: center;
}

.planContactTxt {
  position: relative;
  margin-top: 20px;
  padding: 20px;
  border-radius: 10px;
  background: linear-gradient(to right, #c43b65 0%, #c43b65 100%);
}

.planContactTxt p {
  font-size: 32px;
  line-height: 1.4;
  text-align: center;
  color: #fff;
  position: relative;
  z-index: 1;
}

.planContactTxt img {
  position: absolute;
  bottom: 0;
  width: 240px;
  z-index: 0;
}

.planContactTxt .imgRight {
  right: 10px;
}

.planContactTxt .imgLeft {
  left: 10px;
}

/* ========== menu ========== */

/*--comFlowWall--*/

.flowListP {
  position: relative;
  clear: both;
}

.flowListP .pointB {
  position: absolute;
  color: #fff;
  box-sizing: border-box;
  font-weight: bold;
  background: #a00535;
  right: 18px;
  top: -115px;
  border-radius: 50%;
  height: 110px;
  width: 110px;
  text-align: center;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
}

.flowListP .pointB::after {
  content: "";
  position: absolute;
  margin: 0;
  bottom: -25px;
  right: 20px;
  width: 0;
  height: 0;
  border-top: 40px solid #a00535;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  transform: rotate(-30deg);
}

.flowList {
  border-radius: 5px;
  background: #000;
  padding: 10px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: space-between;
  clear: both;
}

.flowList h3 {
  color: #fff;
  font-size: 28px;
  float: left;
  background: none;
  border: none;
  padding: 0 12px;
  line-height: 1.2;
  margin: 0;
  box-shadow: none;
  min-width: 200px;
}

.flowList ul {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
}

.flowList ul li {
  border-radius: 10px;
  background: #fff;
  font-size: 23px;
  color: #000;
  font-weight: bold;
  padding: 0;
  text-align: center;
  margin: 0 5px 0 0;
  width: 77px;
  height: 74px;
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.flowList ul li:before,
.flowList ul li:after {
  content: none;
}

.flowList ul li.stxt {
  font-size: 16px;
}

.flowList ul li:last-child {
  margin-right: 0;
}

.flowList.flowRoof ul li {
  width: 110px;
}

.textComS {
  font-size: 13px;
}

.commitPoint ul .flowCatch {
  background: #a00535;
  color: #fff;
}

.menuArchiveCont {
  margin-bottom: 60px;
}

.menuArchiveCont.packOther {
  display: none;
}

.menuArchiveContListItem {
  background: #fff;
  border: #a00535 solid 1px;
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
  transition: ease 0.4s;
}

.menuArchiveContListItem:hover {
  opacity: 0.7;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.2);
}

.menuArchiveContListItem a {
  box-sizing: border-box;
  padding: 10px;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  color: #000;
  display: block;
}

.packOther .menuArchiveContListItem {
  border: none;
  box-shadow: none;
  background: none;
}

.packOther .menuArchiveContListItem a {
  padding: 0;
  display: block;
}

.packTtl {
  position: relative;
}

.packTtl h3 {
  font-size: 30px;
  box-shadow: none;
  background: #a00535 url(./img/common/packttl_bg.png) no-repeat center center;
  color: #fff;
  width: 160px;
  height: 185px;
  border-top: none;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column;
  position: relative;
  z-index: 100;
  box-sizing: border-box;
  text-align: center;
}

.packTtl h3 span {
  display: inline-block;
  text-align: center;
  line-height: 0.9;
  font-size: 18px;
}

.packImg {
  width: calc(100% - 160px);
  height: 185px;
  overflow: hidden;
  margin: 0;
  float: left;
  position: relative;
}

.packImg span {
  background: #a00535;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 5px 10px;
  transform: rotate(-45deg);
  display: block;
  position: absolute;
  right: -90px;
  bottom: 40px;
  width: 280px;
  text-align: center;
  box-sizing: border-box;
}

.packsummary {
  position: relative;
  overflow: hidden;
  margin-bottom: 10px;
}

.packList h4 {
  font-size: 32px;
  color: #a00535;
  position: relative;
  padding-left: 0;
  margin: 10px 0 0;
  line-height: 1;
}

.packList h4 span {
  font-size: 21px;
  margin-right: 5px;
}

.packList h4:before,
.packList h4:after {
  display: none;
}

.packList .packCatch {
  position: relative;
  overflow: hidden;
  margin: 0 0 5px;
  text-align: center;
}

.packList .packCatch li {
  width: 110px;
  float: left;
  margin: 0 5px 0 0;
  text-align: center;
  text-align: center;
  font-size: 18px;
  line-height: 1.1;
  border-radius: 4px;
  background: #ff6600;
  color: #fff;
  display: inline-block;
  padding: 8px 0;
  font-weight: bold;
  border: none;
}

.packList .packCatch li span {
  font-size: 14px;
}

.packList ul li:before,
.packList ul li:after {
  display: none;
}

.packCatch ul li:last-child {
  margin-bottom: 0;
}

.basicC {
  font-size: 20px;
  background: #000;
  color: #fff;
  font-weight: bold;
  padding: 5px;
  line-height: 1;
  clear: both;
}

.basicC.basicTxt span {
  background: #fff;
  color: #000;
  border-radius: 5px;
  padding: 0 2px;
  position: relative;
  margin-left: 14px;
}

.basicC.basicTxt span:before {
  font-family: "Font Awesome 5 Free";
  content: "\f055";
  font-weight: 900;
  color: #000;
  font-size: 18px;
  position: absolute;
  right: 100%;
  background: #fff;
  border-radius: 50%;
  width: 15px;
  height: 15px;
  line-height: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}

.basicC.basicTxt span:first-of-type {
  margin-left: 0;
}

.basicC.basicTxt span:first-of-type:before {
  content: none;
}

.basicC.basicTxt {
  line-height: 1.5;
}

.packList .imgIco {
  position: absolute;
  left: 210px;
  top: 0;
  z-index: 99;
}

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

.packList ul.optionalUl {
  margin: 0;
  line-height: 1;
  position: absolute;
  bottom: 25px;
}

.packList ul.optionalUl li {
  display: inline-block;
  float: none;
  border: none;
  border-radius: 5px;
  width: 160px;
  padding: 5px;
  background: #c43b65;
  margin: 0 10px 0 0;
  color: #fff;
  font-size: 18px;
  text-align: center;
  font-weight: bold;
  overflow: hidden;
}

.packList ul.optionalUl li.details {
  width: auto;
  padding: 5px 20px;
}

.packList ul.optionalUl li:last-child {
  margin-right: 0;
}

.packList ul.optionalUl li span {
  display: inline-block;
  float: right;
  border-radius: 5px;
  background: #fff;
  color: #a00535;
  min-width: 4em;
  text-align: center;
}

.priceBlock {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 10px;
}

.priceTxt {
  font-family: "Bahnschrift", sans-serif;
  font-weight: 700;
  font-variation-settings: "wght" 500, "wdth" 90;
  font-size: 90px;
  color: #a00535;
  letter-spacing: -0.02em;
  line-height: 0.9;
  display: flex;
  -ms-align-items: flex-end;
  align-items: flex-end;
  position: relative;
  justify-content: flex-end;
}

.priceTxt span {
  font-size: 64px;
}

.priceTxt span.unitTxt {
  font-size: 48px;
  line-height: 0.9;
  font-weight: bold;
  padding-bottom: 7px;
  display: inline;
  margin-left: 10px;
}

.priceTxt small {
  color: #a00535;
  font-size: 15px;
  display: block;
  position: absolute;
  font-weight: normal;
  right: 25px;
  top: 30px;
}

.detailsPrices {
  display: flex;
  flex-flow: row nowrap;
}

.detailsPrices dl {
}

.detailsPrices dl:nth-of-type(2) {
  margin-left: 20px;
}

.detailsPrices dt {
  font-size: 24px;
  color: #000;
  letter-spacing: 1px;
}

.detailsPrices dd {
  font-size: 76px;
}

.detailsPrices dd .yen {
  font-size: 24px;
  line-height: 1;
  letter-spacing: -2px;
  font-weight: bold;
  margin-left: 0;
  writing-mode: vertical-rl;
  font-family: "Noto Sans JP", sans-serif;
}

.detailsPrices.single {
  position: absolute;
  content: "";
  right: 13px;
  bottom: 30px;
  flex-flow: column wrap;
}

.detailsPrices.single dl:nth-of-type(2) {
  margin: 10px 0 0;
}

.detailsPrices.single dt {
  font-size: 36px;
  line-height: 1;
}

.detailsPrices.single dt span {
  display: inline-block;
  color: #fff;
  background: #000;
  border-radius: 5px;
  padding: 5px 20px;
  line-height: 1;
}

.detailsPrices.single dd {
  font-size: 130px;
  color: #a00535;
  font-family: "Bahnschrift", sans-serif;
  font-weight: 700;
  font-variation-settings: "wght" 500, "wdth" 90;
  letter-spacing: 4px;
  line-height: 0.9;
  margin-top: 10px;
  text-shadow: 3px 3px 1px #ffffff, -3px 3px 1px #ffffff, 3px -3px 1px #ffffff,
    -3px -3px 1px #ffffff, 3px 0px 1px #ffffff, 0px 3px 1px #ffffff,
    -3px 0px 1px #ffffff, 0px -3px 1px #ffffff;
}

.detailsPrices.single dd span {
  font-size: 80px;
}

.detailsPrices.single dd .yen {
  font-size: 50px;
}

.priceTaxin {
  margin-bottom: 0;
  color: #000;
  font-size: 15px;
  text-align: right;
}

.packList .txts {
  font-size: 10px;
  margin-bottom: 5px;
  word-wrap: break-word;
}

.packList .optionTxt {
  color: #a00535;
  font-size: 23px;
  font-weight: bold;
}

.packList h5 {
  font-size: 16px;
  position: relative;
  padding-left: 0;
  margin: 0 0 10px;
  background: #40668c;
  border-radius: 0;
  display: block;
}

.packList ul li p {
  letter-spacing: -0.1em;
  margin-bottom: 10px;
}

.packList .catchTxt {
  font-size: 16px;
  line-height: 1.2;
}

.packList .catchTxt br {
  display: none;
}

.packList .detailsBtn {
  margin: 10px -10px -10px;
  background: #a00535;
  color: #fff;
  text-align: center;
  font-size: 20px;
  line-height: 1.4;
  padding: 5px 10px;
  position: relative;
}

.packList .detailsBtn::before {
  content: "＞";
  margin-right: 10px;
}

.packOther article.layout03 {
  overflow: hidden;
  width: 100%;
}

.packOther article.layout02 img {
  width: 100%;
  height: auto;
}

.packOther .packOtherWrap img {
  max-width: 100%;
  height: auto;
}

.packWall .noteTxt {
  font-size: 35px;
  font-weight: bold;
  text-align: center;
  color: #a00535;
}

.packWall .packItems {
  padding: 25px 30px;
  border: 1px solid #ccc;
}

.packWall .packItems .packTi {
  background: none;
  box-shadow: none;
  padding: 0;
  font-size: 50px;
  color: #000;
}

.packWall .packRow {
  display: flex;
  align-items: flex-end;
}

.packWall .packItems .packList {
  display: flex;
  margin: 0;
}

.packWall .packItems .packItem {
  position: relative;
  width: 320px;
  height: 190px;
  border: 4px solid #000;
  background-color: #fff;
  margin: 0 20px 0 0;
  padding: 0;
}

.packWall .packItems .packDetalis {
  position: relative;
  background-color: #000;
  padding: 10px 10px 0 10px;
  font-size: 32px;
  color: #fff;
  text-align: center;
}

.packWall .packItems .packDetalis::before {
  position: absolute;
  left: 0;
  bottom: -35px;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 35px 160px 0 160px;
  border-color: #000 transparent transparent transparent;
}

.packWall .packItems .packPrice {
  margin-top: 5px;
  font-size: 100px;
  font-family: "Bahnschrift", sans-serif;
  font-weight: bold;
  color: #a00535;
  letter-spacing: -0.5px;
  text-align: center;
}

.packWall .packItems .smallTxt {
  font-size: 80px;
}

.packWall .packItems .packYen {
  font-size: 42px;
  font-family: "Noto Sans JP", sans-serif;
}

.packWall .packItems .btn .btnWrap {
  padding: 11px 63px;
  display: inline-block;
  /* background: #a00535; */
  color: #a00535;
  border-radius: 50px;
  color: #fff;
}

.packWall .packItems .btn .btnWrap::before {
  position: absolute;
  top: 12px;
  left: 40px;
  margin: auto;
  content: "＞";
  vertical-align: middle;
}

.packWall .attentionTxt {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  line-height: 1.1;
}

.packWall .attentionTxt span {
  display: inline-block;
  background: #a00535;
  color: #fff;
  border-radius: 10px;
  line-height: 1;
  padding: 5px 10px;
  margin-right: 10px;
}

.packWall .attentionTxt strong {
  font-size: 65px;
  font-weight: bold;
  color: #a00535;
}

.packWall .packItems .note {
  padding-top: 5px;
  font-size: 12px;
  font-family: "Noto Sans JP", sans-serif;
  text-align: right;
  margin: 0;
  text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff,
    0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;
}

.wallPartsBox .catchTtl {
  text-align: center;
}

.wallPartsBox .catchTtl span {
  font-size: 45px;
  line-height: 1.2;
}

.wallPartsBox .catchTtl .txtL {
  font-size: 130px;
  line-height: 1.2;
  margin: 0 0 10px;
  font-weight: bold;
  display: flex;
  justify-content: center;
}

.wallPartsBox .floatL .catchTtl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.wallPartsBox .catchTtl .txtL span {
  border-radius: 50%;
  background: #a00535;
  color: #fff;
  width: 165px;
  height: 165px;
  font-size: 130px;
  font-weight: bold;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding-bottom: 10px;
}

.wallPartsBox p.txts {
  font-size: 14px;
  font-weight: bold;
}

.wallPartsBox h4 {
  background: #004ea2;
  color: #fff;
  padding: 0;
  margin: 0 0 40px;
  margin: 0 0 10px;
  padding: 5px 0;
}

.wallPartsBox h4:before,
.wallPartsBox h4:after {
  display: none;
}

.balloonBox {
  margin-top: 20px;
  font-size: 36px;
  text-align: center;
  padding: 20px;
  line-height: 1.4;
  border-radius: 10px;
  color: #fff;
  background: -moz-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: -webkit-linear-gradient(left, #a00535 0%, #a00535 100%);
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
}

/* ========== comComparePaint.php ========== */
.comparePaint {
  /* padding: 0; */
}

.compareTable {
  width: 100%;
  table-layout: fixed;
  border-spacing: 1px;
  border-collapse: separate;
}

.compareTable th,
.compareTable td {
  vertical-align: top;
  text-align: center;
  width: auto;
  padding: 10px;
  background: #fff;
}

.compareTable th {
  font-weight: bold;
  padding: 10px;
  vertical-align: middle;
  background: #a00535;
  color: #fff;
}

.compareTable th:first-of-type {
  width: 12%;
}

.compareTable th:last-of-type {
  width: 37%;
}

.compareTable tr.thinking td {
  text-align: left;
  font-weight: normal;
  font-size: 15px;
}

.compareTable td {
  font-weight: normal;
  font-size: 13px;
  text-align: justify;
}

.compareTable td span.symbol {
  font-size: 35px;
  float: left;
  width: 35px;
  display: block;
  line-height: 2;
  border-right: #ccc solid 1px;
  margin-right: 15px;
  padding-right: 15px;
  text-align: center;
  box-shadow: 2px 0px 0px 0px #fff;
  font-weight: bold;
  font-family: sans-serif;
  box-sizing: initial;
}

.compareTable td span.goodS {
  color: #a00535;
  font-size: 35px;
}

/* ========== menu - single ========== */
.fullWidth.noName {
  display: none;
}

.itemBox h3 {
  background: none;
  border: none;
  display: inline-block;
  float: left;
  width: 740px;
  margin: 0;
  font-size: 30px;
  color: #231816;
  display: flex;
  align-items: center;
}

.itemBox h3 img {
  margin-right: 15px;
}

.itemBox.noName {
  display: none;
}

.itemPhoto {
  width: 260px;
  position: relative;
  overflow: hidden;
  float: right;
  color: #999;
  display: block;
}

.itemPhoto img {
  width: 100%;
  height: auto;
}

.itemPhoto p {
  color: #fff;
  font-size: 40px;
  font-weight: bold;
}

.itemSummery {
  width: 840px;
  float: left;
}

.itemSummery p {
  font-size: 22px;
}

.itemSummery .leadTxt {
  position: relative;
  padding-right: 55px;
}

.itemSummery .leadTxt .imgIco {
  right: -140px;
  top: 140px;
  z-index: 5;
}

.itemSummery .leadTxt p {
  font-size: 20px;
  line-height: 1.5;
}

.itemSummery ul.menuAge {
  display: flex;
  -ms-align-items: center;
  align-items: center;
  margin-top: 20px;
}

.itemSummery ul.menuAge li {
  background: none;
  padding: 0;
  text-align: center;
  font-weight: bold;
  margin: 0 20px 0 0;
  display: flex;
  align-items: stretch;
  border-radius: 50px;
  border: 2px solid #c43b65;
  overflow: hidden;
  color: #fff;
}

.itemSummery ul.menuAge li:before,
.itemSummery ul.menuAge li:after {
  content: none;
}

.itemSummery ul.menuAge li h5 {
  font-size: 20px;
  line-height: 2;
  margin: 0;
  background: #c43b65;
  width: auto;
  padding: 15px 15px;
  border-radius: 0;
}

.itemSummery ul li.itemFeature {
  -webkit-flex-basis: 370px;
  flex-basis: 370px;
  margin-right: 0;
}

.itemSummery ul.menuAge li p {
  width: 200px;
  font-size: 20px;
  margin: 0;
  padding: 10px;
  background: #fff;
  color: #c43b65;
  display: flex;
  justify-content: center;
  align-items: center;
}

.itemSummery ul li.itemFeature p {
  text-align: left;
  font-size: 18px;
}

.itemData {
  clear: both;
  margin-top: 20px;
  background: #a00535;
  padding: 30px;
}

.itemData h4 {
  color: #fff;
  font-size: 35px;
  text-align: center;
  margin: 0 0 20px;
  padding: 0;
}

.itemData h4:before,
.itemData h4:after {
  display: none;
}

.itemData ul {
  position: relative;
  overflow: hidden;
  margin: 0;
}

.itemData ul li {
  border-radius: 5px;
  background: #fff;
  padding: 25px 25px 70px;
  margin: 0 15px 0 0;
  position: relative;
  width: 303px;
  float: left;
  box-sizing: border-box;
}

.itemData ul li:nth-child(3n) {
  margin-right: 0;
}

.itemData ul li:before,
.itemData ul li:after {
  content: none;
}

.itemData ul li h5 {
  position: absolute;
  bottom: 0;
  left: 50%;
  background: #f7b500;
  display: block;
  width: 200px;
  text-align: center;
  margin-left: -100px;
  padding: 3px;
  box-sizing: border-box;
}

.tileCotent {
  padding-bottom: 30px;
}

.tileCotent .btnWrap {
  text-align: center;
}

.tileCotent .btnWrap .btn {
  margin-bottom: 0;
}

/*---comIdea---*/

.comIdea .ttl {
  margin-bottom: 3px;
}

.comIdeaList {
  display: flex;
  justify-content: space-between;
  justify-content: space-around;
  padding: 0 90px;
}

.comIdeaList:after {
  content: none;
}

.comIdeaList li {
  padding-left: 0;
  float: none;
  width: 182px;
  box-sizing: border-box;
  display: flex;
  flex-flow: column wrap;
  justify-content: space-between;
}

.comIdeaList li::before,
.comIdeaList li::after {
  content: none;
}

.comIdeaList li img {
  display: block;
  margin: 0 auto;
}

.comIdeaList li span {
  font-size: 18px;
  padding: 10px 10px;
  position: relative;
  color: #fff;
  font-weight: bold;
  line-height: 1.4;
  text-align: left;
  border-radius: 6px;
  background: #2983b7;
  display: block;
  margin-bottom: 30px;
}

.comIdeaList li span:after {
  content: "";
  height: 0;
  position: absolute;
  width: 0;
  border: 10px solid transparent;
  border-top-color: #2983b7;
  top: 100%;
  left: 0;
  right: 0;
  margin: auto;
}

.comIdeaList li:first-child {
  padding-left: 0;
}

.selectPointImg {
  position: relative;
  width: 100%;
  height: 220px;
  overflow: hidden;
  background: #f5f5f5;
}

.selectPointNums {
  position: absolute;
  content: "";
  right: -110px;
  top: 25px;
  width: 300px;
  text-align: center;
  font-size: 20px;
  background: #a00535;
  color: #fff;
  transform: rotate(45deg);
}

.selectPointNums span {
  display: inline-block;
}

.selectPointSummery {
  font-size: 16px;
  margin-top: 10px;
}

.selectPointSummery h4 {
  font-size: 18px;
  color: #a00535;
}

/*----comLawpriceWhy-----*/
.lawpriceWhy .catchTtl {
  font-size: 30px;
  line-height: 1.2;
  font-weight: bold;
  text-align: center;
}

.lawpriceWhy .highCost {
  background: #a00535;
  padding: 25px;
  margin-top: 25px;
}

.lawpriceWhy .highCost h3 {
  color: #fff;
  font-size: 50px;
  font-weight: normal;
  padding: 0;
  background: none;
  border-top: none;
  text-align: center;
  line-height: 1.3;
  margin-top: 0;
  box-shadow: none;
  margin-bottom: 20px;
}

.lawpriceWhyList {
  position: relative;
  margin-bottom: 0;
}

.lawpriceWhyListItem {
  background: #a00535;
  padding: 10px;
  box-sizing: border-box;
  position: relative;
}

.lawpriceWhyListItem h4 {
  border-radius: 50%;
  background: #c43b65;
  width: 57px;
  height: 57px;
  color: #fff;
  font-size: 13px;
  position: absolute;
  top: -10px;
  left: 3px;
  padding: 0;
  margin: 0;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
}

.lawpriceWhyListItem img {
  width: 100%;
  height: auto;
}

.lawpriceWhyListItem p {
  display: block;
  background: #fff;
  font-weight: bold;
  font-size: 20px;
  padding: 10px;
  line-height: 1.4;
  margin-bottom: 0;
}

/*----comLawpriceReason-----*/
.lowpriceReasonList {
  position: relative;
  overflow: hidden;
}

.lowpriceReasonListItem {
  background: #a00535;
  padding: 25px;
  box-sizing: border-box;
  position: relative;
}

.lowpriceReasonListItem:last-of-type {
  margin-top: 20px;
}

.lowpriceReasonListItem h4 {
  background: #a00535;
  color: #fff;
  padding: 10px;
  font-size: 30px;
  margin: 0 0 30px;
  position: relative;
}

.lowpriceReasonListItem.fullW h4 {
  padding: 0 25px;
}

.lowpriceReasonListItem h4:after {
  content: " ";
  height: 0;
  position: absolute;
  width: 0;
  border: 25px solid transparent;
  border-top: #a00535 solid 25px;
  top: 100%;
  left: 50%;
  margin-left: -25px;
  border-radius: 0;
  background: none;
  clear: both;
  display: block;
}

.lowpriceReasonListItem h4 span {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  line-height: 1.3;
  margin-bottom: 5px;
}

.lowpriceReasonListItem.fullW h4 {
  height: 112px;
}

.lowpriceReasonListItem.fullW span {
  text-align: center;
  align-items: center;
  padding: 0;
  margin: 0;
}

.lowpriceReasonListItem h4 span.reasonIco {
  background: #c43b65;
  color: #fff;
  min-width: 112px;
  height: 112px;
  border-radius: 50%;
  font-size: 23px;
  padding: 0;
  margin: 0 10px 0 0;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  float: left;
}

.lowpriceReasonListItem.fullW span.reasonIco {
  margin: 0 10px 0 0;
}

.lowpriceReasonListItem h4 span strong {
  font-size: 11px;
  line-height: 1.2;
  margin-top: 5px;
  letter-spacing: -0.1em;
}

.lowpriceReasonListItem h4 img {
  width: 100%;
  height: auto;
}

.lowpriceReasonListItem p {
  font-size: 30px;
  color: #fff;
  line-height: 1.2;
  font-weight: bold;
  margin-bottom: 0;
}

.lowpriceReasonListItem .compareBox {
  background: #fff;
  padding: 30px 25px;
}

.lowpriceReasonListItem .compareBox h6 {
  font-size: 20px;
  padding: 0 0 0 20px;
  margin: 0 0 20px;
  position: relative;
}

.lowpriceReasonListItem .compareBox h6::before,
.lowpriceReasonListItem .compareBox h6::after {
  position: absolute;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  top: 50%;
}

.lowpriceReasonListItem .compareBox h6::before {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #a00535;
  transform: translateY(-50%);
}

.lowpriceReasonListItem .compareBox h6::after {
  left: 3px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

.lowpriceReasonListItem .compareBox h6:first-child {
  margin-top: 0;
}

.lowpriceReasonListItem .compareBox hr {
  border-top: #231816 dotted 1px;
  display: block;
  margin-top: 25px;
}

/*----comQuality-----*/

.qualityBox .catchTtl {
  position: relative;
  font-size: 53px;
  font-weight: bold;
  text-align: left;
  line-height: 1.1;
  margin-top: 0;
  margin-bottom: 30px;
}

.qualityBox .catchTtl img.catchIco {
  float: left;
}

.qualityBox .catchTtl .txtL {
  font-size: 56px;
  line-height: 1.2;
}

.qualityBox .catchTtl .imgLayer {
  right: 0;
  top: -80px;
  position: absolute;
  content: "";
}

.qualityBox .catchTtl .txtBox {
  padding: 5px;
  text-align: center;
  font-size: 38px;
  display: block;
}

.qualityBox h3 span {
  /* border-radius: 4px;
	background: #a00535;
	color: #fff;
	display: inline-block;
	padding: 0px 10px;
	margin: 10px 10px 10px 0;
	font-size: 20px; */
}

.qualityBox .catchTxt {
  font-size: 23px;
}

.quelityBoxListItem {
  text-align: justify;
}

.quelityBoxListItem h4 {
  font-size: 20px;
  color: #a00535;
  margin: 5px 0;
}

.qualityBox h3 {
  font-size: 23px;
}

.qualityBox h3 span {
  border-radius: 4px;
  background: #a00535;
  color: #fff;
  display: inline-block;
  padding: 0 10px;
  margin: 0 10px 5px 0;
  font-size: 20px;
}

.qualityBoxWrap {
  margin-bottom: 40px;
}

.qualityBoxWrap:last-of-type {
  margin-bottom: 0;
}

.qualityBoxWrap h4 {
  font-size: 20px;
  color: #a00535;
  margin-bottom: 20px;
}

.qualityBoxWrap .qualityBoxTxt {
  width: 60%;
}

.qualityBoxWrap .qualityBoxPic {
  width: 36%;
}

.qualityBoxWrap .qualityBoxPic img {
  max-width: 100%;
  height: auto;
}

.commitFlow {
  position: relative;
  overflow: hidden;
}

.commitFlow li {
  background: none;
  width: 369px;
  margin: 0;
  float: left;
  padding: 0;
}

.commitFlow li:before,
.commitFlow li:after {
  content: none;
}

.commitFlow li h4 {
  border-radius: 5px;
  background: #231816;
  text-align: center;
  color: #fff;
  padding: 0;
  margin-bottom: 10px;
}

.commitFlow li h4:before,
.commitFlow li h4:after {
  display: none;
}

.commitFlow li:nth-child(2) {
  width: 229px;
  margin: 0 84px 0 12px;
  position: relative;
}

.commitFlow li:nth-child(3) {
  width: 305px;
}

.commitFlow li:nth-child(2):before,
.commitFlow li:nth-child(2):after,
.commitFlow li:nth-child(3):before {
  position: absolute;
  z-index: 10;
}

.commitFlow li:nth-child(2):before,
.commitFlow li:nth-child(3):before {
  content: " ";
  height: 0;
  width: 0;
  border: 55px solid transparent;
  border-left: #bb0000 solid 48px;
  left: 125%;
  top: 50%;
  margin-top: -25px;
  background: none;
}

.commitFlow li:nth-child(3):before {
  border-left: #fff solid 48px;
  left: -8%;
  z-index: 8;
}

.commitFlow li:nth-child(2):after {
  background: #a00535;
  content: "クリア";
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  left: 95%;
  top: 50%;
  width: 80px;
  padding: 15px 0;
  text-align: right;
  transform: none;
  height: auto;
  border: none;
  border-left: #fff solid 2px;
}

.commitPoint {
  position: relative;
  margin-bottom: 30px;
}

.commitPoint .imgLayer {
  top: 63px;
  left: 56%;
}

/*--comEnquete--*/
.enqueteBox .catchTtl {
  position: relative;
  font-size: 38px;
  font-weight: bold;
  margin-top: 0;
  text-align: left;
  line-height: 1.4;
}

.enqueteBox .catchTtl .imgL {
  float: left;
  margin: 0 20px 10px 0;
}

.enqueteBox .catchTtl .txtL {
  font-size: 70px;
  line-height: 1.2;
}

.enqueteBox .catchTtl strong {
  color: #c01920;
}

.enqueteBox p {
  font-size: 20px;
}

.enqueteBoxList {
  clear: both;
  margin-top: 20px;
}

.enqueteBoxListItem a {
  text-decoration: none;
  color: #231816;
}

.enqueteBoxListItem img {
  box-sizing: border-box;
  border: #ccc solid 1px;
  width: 100%;
  height: auto;
}

.enqueteBoxListItem h3 {
  background: none;
  border: 0;
  margin: 5px 0 0;
  padding: 0;
  color: #036936;
  font-size: 15px;
  line-height: 1.4;
}

.enqueteBoxListItem .contTxt {
  font-weight: bold;
  display: block;
}

.enqueteBox .balloonBox p {
  font-size: 30px;
  text-align: center;
}

/* ========== menu-single ========== */
.menuMainv {
  position: relative;
  width: 100%;
  height: 600px;
}

.menuMainv > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tileMainv > img {
  max-width: 100%;
  height: auto;
}

.menuMainv .type,
.menuMainv .menuSubTtl,
.menuMainv .medalsWrap,
.menuMainv .ttlCont,
.menuMainv .detailsCont,
.menuMainv .makersCont,
.menuMainv .pricesCont {
  position: absolute;
  content: "";
  left: 30px;
}

.menuMainv .type {
  top: 30px;
  display: flex;
  flex-flow: row wrap;
}

.menuMainv .type span {
  width: 150px;
  line-height: 150px;
  background: #fff;
  border-radius: 10px;
  font-size: 150px;
  margin-right: 10px;
  color: #a00535;
  box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.5);
}

.menuMainv .menuSubTtl {
  font-size: 70px;
  top: 200px;
  line-height: 1.2;
  text-shadow: 3px 3px 3px #fff, -3px -3px 3px #fff, -3px 3px 3px #fff,
    3px -3px 3px #fff, 3px 0px 3px #fff, -3px -0px 3px #fff, 0px 3px 3px #fff,
    0px -3px 3px #fff;
}

.menuMainv .medalsWrap {
  bottom: 30px;
}

.menuMainv .medalsWrap .medals img {
  width: 180px;
}

.menuMainv .medalsWrap .medals img + img {
  display: none;
}

.menuMainv .ttlCont {
  top: 210px;
  background: #a00535;
  font-size: 52px;
  color: #fff;
  padding: 0 10px;
  display: flex;
  align-items: center;
  line-height: 1.4;
}

.menuMainv .ttlCont .age {
  font-size: 26px;
  padding: 5px 10px;
  background: #fff;
  color: #a00535;
  margin-left: 10px;
}

.menuMainv .detailsCont {
  top: 304px;
}

.menuMainv .detailsList li {
  background: #c43b65;
  font-size: 24px;
  color: #fff;
  border-radius: 3px;
  padding: 0 10px;
  margin: 0 10px 0 0;
}

.menuMainv .detailsList li:last-of-type {
  background: #c43b65;
  color: #fff;
}

.menuMainv .makersCont {
  left: initial;
  right: 30px;
}

.menuMainv .makersCont {
  top: 30px;
}

.makersWrap.noName {
  visibility: hidden;
}

.menuMainv .makersTxt {
  background: #fff;
  border-radius: 5px;
  position: relative;
  padding: 10px;
  border: 3px solid #c43b65;
  line-height: 1.2;
  font-size: 18px;
  margin-bottom: 25px;
}

.menuMainv .makersTxt::before {
  position: absolute;
  content: "";
  border-top: 20px solid #c43b65;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  left: 50%;
  transform: translateX(-50%);
  bottom: -20px;
}

.menuMainv .makersLogo {
  background: #fff;
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.menuMainv .makersLogo img {
  max-width: 100%;
  height: auto;
}

.menuMainv .limited {
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: #2983b7;
  color: #fff;
  font-size: 30px;
  transform: rotate(15deg);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column wrap;
  margin: 10px 0 0 auto;
}

.menuMainv .limited .num {
  font-size: 68px;
  margin: 5px 0;
}

.menuMainv .pricesCont {
  width: 100%;
  bottom: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.8);
  justify-content: space-between;
  padding: 10px 30px;
}

.menuMainv .medals img {
  width: 150px;
  height: auto;
  margin-right: 10px;
}

.menuMainv .medals img:last-of-type {
  margin-right: 0;
}

.menuMainv .prices {
  line-height: 1;
  margin-top: 10px;
}

.menuMainv .price {
  font-family: "Bahnschrift", sans-serif;
  font-size: 150px;
  line-height: 0.9;
  color: #a00535;
  letter-spacing: -8px;
  display: inline-block;
}

.menuMainv .yen {
  font-size: 80px;
  color: #a00535;
  display: inline-block;
}

.menuMainv .prices .txt {
  display: block;
  text-align: right;
}

/* ========== archive - seminar ========== */
/* ボタンの光沢 */
.is-reflection {
  overflow: hidden;
  position: relative;
}

.is-reflection a {
  overflow: hidden;
}

.is-reflection a:after {
  -moz-animation: is-reflection 4s ease-in-out infinite;
  -moz-transform: rotate(45deg);
  -ms-animation: is-reflection 4s ease-in-out infinite;
  -ms-transform: rotate(45deg);
  -o-animation: is-reflection 4s ease-in-out infinite;
  -o-transform: rotate(45deg);
  -webkit-animation: is-reflection 4s ease-in-out infinite;
  -webkit-transform: rotate(45deg);
  animation: is-reflection 4s ease-in-out infinite;
  background-color: #fff;
  content: " ";
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: -180px;
  transform: rotate(45deg);
  width: 30px;
}

/* アニメーションを遅延させる */
.is-reflection + .is-reflection a:after {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}

@keyframes is-reflection {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }

  80% {
    -webkit-transform: scale(0) rotate(45deg);
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }

  81% {
    -webkit-transform: scale(4) rotate(45deg);
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(50) rotate(45deg);
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

@-webkit-keyframes is-reflection {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }

  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }

  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

/* ========== frontpage - theme contents ========== */
.themeCats .sectionHeader01 h2 {
  line-height: 1.1;
}

.themeCatsList {
  display: flex;
  flex-flow: row wrap;
}

.themeCatsListItem {
  width: 49%;
  margin: 0 2% 10px 0;
  padding: 0;
  background: #f5f5f5;
  transition: ease 0.4s;
}

.themeCatsListItem:nth-child(even) {
  margin-right: 0;
}

.themeCatsList li::before,
.themeCatsList li::after {
  content: none;
}

.themeCatsListItem a {
  box-sizing: border-box;
  display: block;
  padding: 10px;
  text-decoration: none;
  height: 100%;
  color: #333;
}

.themeCatsListItem a img {
  transition: ease 0.4s;
}

.themeCatsListItem a:hover img {
  transition: ease 0.4s;
}

.themeCatsListCont {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
}

.themeCatsListCont .imgWrap {
  background: #a00535;
  padding: 5px;
  border-radius: 5px;
  width: 60px;
  box-sizing: border-box;
}

.themeCatsListCont .txtWrap {
  width: calc(100% - 70px);
  margin-left: 10px;
  line-height: 1.4;
  text-align: justify;
  font-size: 14px;
}

.themeCatsListCont .txtWrap dt {
  color: #a00535;
  font-weight: 700;
  border-bottom: 1px dashed #a00535;
  padding-bottom: 5px;
  margin-bottom: 5px;
  font-size: 16px;
}

/* ======= 防水工事ページ設置 =======*/
#waterproof #pageHeader,
#waterproof #breadcrumbs {
  display: none;
}

.waterproof .hero {
  padding-top: 30px;
}

.waterproof .checkpointThumb {
  height: 218px;
}

.waterproof .deteriorationNote {
  margin: 30px 0 0;
  text-align: center;
  background: #a00535;
  color: #fff;
  font-size: 26px;
  font-weight: bold;
  padding: 20px 0;
  line-height: 1.4;
}

.waterproof .deteriorationChk .sectionHeader02 h2 {
  padding: 1.25rem;
  background-color: #feff00;
  color: #000000;
}

.waterproof .sectionHeader02 h2::before,
.waterproof .sectionHeader02 h2::after {
  display: none;
}

.waterproof .features {
  position: relative;
}

.waterproof .features .sectionHeader02 h2 {
  padding-bottom: 0;
}

.waterproof .featuresInner {
  padding: 0 0 60px;
}

.waterproof .features h3 {
  margin: 0;
  background: #a00535;
  border: none;
  color: #fff;
  font-size: 38px;
  padding: 10px 0;
  text-align: center;
}

.waterproof .featuresPoints {
  position: relative;
}

.waterproof .featuresPoint {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 30px;
  font-weight: bold;
  font-size: 22px;
}

.waterproof .featuresPoint span {
  display: flex;
  margin-right: 20px;
  background-color: #feff00;
  border-radius: 50%;
  text-align: center;
  line-height: 1.2;
  justify-content: center;
  align-items: center;
  width: 120px;
  height: 120px;
  font-weight: bold;
  font-size: 24px;
}

.waterproof .featuresCatch {
  margin-top: -5px;
  position: relative;
  padding: 10px 40px;
  min-width: 240px;
  max-width: 450px;
  font-size: 23px;
  font-weight: bold;
  background: #a00535;
  border-radius: 15px;
  color: #fff;
  margin-inline: auto;
  left: 20px;
  line-height: 1.5;
}

.waterproof .featuresCatch:before {
  content: "";
  position: absolute;
  top: -25px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #a00535;
  z-index: 0;
}

.waterproof .featuresPics {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}

.waterproof .featuresSec {
  margin-top: 40px;
  padding: 30px;
  background-color: #f5f5f5;
}

.waterproof .featuresSec h4 {
  font-size: 22px;
  line-height: 1.5;
  padding-bottom: 10px;
  position: relative;
}

.waterproof .featuresSec h4::before {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #a00535 0%, #a00535 100%);
}

.waterproof .featuresSec .featuresSecPics {
  display: grid;
  align-items: center;
  justify-content: center;
  grid-template-columns: repeat(auto-fit, 333px);
  gap: 20px;
  margin-top: 30px;
}

.waterproof .featuresSec .featuresSecPics img {
  max-width: 100%;
  height: auto;
}

.waterproof .featuresSec .featuresSecPics02 {
  margin-top: 30px;
  text-align: center;
}

.waterproof .featuresSec .featuresSecPics02 img {
  width: 100%;
}

.waterproof .featuresNote {
  margin: 30px 0 0;
  text-align: center;
  background: #a00535;
  color: #fff;
  font-size: 26px;
  font-weight: bold;
  padding: 20px 0;
}

.waterproof .featureDrones {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}

.waterproof .featureDrones li {
  width: 48%;
}

.waterproof .featureDrones h5 {
  margin: 0 0 20px;
  text-align: center;
  background: #c43b65;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  padding: 10px 0;
}

.waterproof .featureDrones img {
  max-width: 100%;
  height: auto;
}

.waterproof .worksBlock h2 {
  line-height: 1.2;
}

.waterproof .worksBlock .c-btn01 a {
  min-width: 320px;
}

.waterproof .menuBlock {
  margin-top: 60px;
}

.waterproof .menuArchiveCont {
  margin-bottom: 0;
}

.waterproof .menuArchiveCont h2 {
  text-shadow: 2px 2px 1px #ffffff, -2px 2px 1px #ffffff, 2px -2px 1px #ffffff,
    -2px -2px 1px #ffffff, 2px 0px 1px #ffffff, 0px 2px 1px #ffffff,
    -2px 0px 1px #ffffff, 0px -2px 1px #ffffff;
}

.waterproof .menuBlock .c-btn01 a {
  min-width: 369px;
}

.waterproof .bannerList {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 3rem;
}

.waterproof .bannerItem {
  width: 48%;
}

.waterproof .bannerItem a {
  display: block;
  padding: 0.8rem 2rem 0.8rem 4rem;
  border-radius: 8px;
  box-shadow: 3px 5px 5px -2px rgba(0, 0, 0, 0.78);
  color: #fff;
  text-decoration: none;
  transition: ease 0.4s;
}

.waterproof .bannerItem a:hover {
  opacity: 0.7;
  transition: ease 0.4s;
}

.waterproof .bannerItem_tel a {
  background: #a00535;
  box-shadow: 0px 4px 6px 0px rgba(255, 255, 255, 0.6) inset;
}

.waterproof .bannerItem_contact a {
  background: #4b9b02;
}

.waterproof .bannerItem_diagnosis a {
  background: #a00535;
}

.waterproof .bannerItem .bannerTitle {
  font-size: 38px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.2px;
  line-height: 1.4;
}

.waterproof .bannerItem .bannerTitle span {
  font-size: 20px;
}

.waterproof .bannerItem .bannerDesc {
  margin-top: 0;
  font-size: 26px;
  font-weight: bold;
  color: #feff00;
  line-height: 1.25;
}

.waterproof .formTtl h2 span {
  color: #feff00;
}

.estimatesBox {
  width: 100%;
  position: relative;
}

.estimatesBox a {
  text-decoration: none;
}

.estimatesBox h3 {
  background: #a00535;
  color: #fff;
  font-size: 1.33333em;
  border-top: none;
  margin: 0;
  padding: 5px 15px;
  text-align: center;
  font-weight: bold;
}

.estimatesBox .inBox {
  border: #ccc solid 1px;
  background: #fff;
  box-sizing: border-box;
  padding: 0;
  position: relative;
  overflow: hidden;
  height: 240px;
}

.estimatesBox .imgLayer {
  top: -30px;
  right: 0;
  z-index: 0;
  width: 24.7%;
}

.estimatesBox h3 {
  text-align: left;
}

.estimatesBox .inBox {
  border: #ccc solid 1px;
  background: #fff;
  box-sizing: border-box;
  padding: 8px 15px 0;
  position: relative;
  height: 240px;
}

.estimatesBox h4 {
  font-size: 1.2em;
  padding: 0 0 0 50px;
  position: relative;
  margin: 0;
  font-weight: bold;
}

.estimatesBox h4:before,
.estimatesBox h4:after {
  border-radius: 50%;
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  font-size: 30px;
  line-height: 1;
  background: #a00535;
  width: 24px;
  height: 24px;
}

.estimatesBox h4:before {
  left: -5px;
  opacity: 0.5;
}

.estimatesBox h4:after {
  left: 22px;
}

.estimatesBox .inBox p {
  font-size: 1.6em;
  line-height: 1;
  font-weight: bold;
  z-index: 10;
  position: relative;
  margin-bottom: 10px;
  margin-top: 10px;
  color: #222;
}

.estimatesBox .inBox p strong {
  color: #a00535;
  font-size: 1.5em;
}

.estimatesBox .inBox p.spLady span {
  border-radius: 4px;
  background: #a00535;
  color: #fff;
  font-size: 0.8333em;
  padding: 9px 7px;
  margin-right: 4px;
  display: inline-block;
  vertical-align: 5px;
}

.estimatesBox .inBox .telBox {
  background: #a00535;
  margin-right: 0;
  padding: 8px 10px;
  position: relative;
}

.estimatesBox .inBox .telBox h5 {
  background: none;
  color: #fff;
  font-size: 1em;
  font-weight: bold;
  line-height: 1;
  margin: 0 0 10px 0;
  padding: 0;
  display: block;
}

.estimatesBox .inBox .telBox h5:before {
  display: none;
}

.estimatesBox .inBox .telBox .number {
  background: #fff;
  margin-top: 5px;
  padding: 5px 10px;
  text-align: center;
}

.estimatesBox .inBox .telBox .tel {
  font-weight: bold;
  display: inline-block;
  text-align: left;
  margin: 0;
  font-variation-settings: "wght" 500, "wdth" 100;
  padding-left: 5px;
  color: #000000;
  text-align: center;
}

.estimatesBox .inBox .telBox .tel span {
  background-size: 54px auto;
  font-size: 2.9em;
  line-height: 0.9;
  padding: 0 0 0 54px;
  margin: 4px 0 0 0;
  display: block;
  letter-spacing: -0.03em;
  font-weight: bold;
}

@media screen and (max-width: 1180px) {
  .estimatesBox .inBox {
    height: auto;
    aspect-ratio: 397/199;
  }

  .estimatesBox .inBox .telBox .number {
    padding: 0 10px;
  }

  .estimatesBox .inBox .telBox .tel span {
    background-size: 48px auto;
    font-size: 4.9vw;
  }
}

@media screen and (max-width: 799px) {
  .estimatesBox .inBox {
    height: auto;
    aspect-ratio: auto;
  }
}

.estimatesBox .inBox .telBox .tel small {
  padding-left: 27px;
  font-size: 0.48em;
  line-height: 1.1;
  display: block;
  font-weight: normal;
}

.waterproof #forms {
  margin-top: 60px;
}

/* --- メインビジュアル --- */
.waterproof .heroArea {
  padding: 30px 0 0;
}

.waterproof .topContentsLink {
  text-decoration: none;
}

.waterproof .heroMv {
  position: relative;
  padding-bottom: 4rem;
  background-image: url(img/common/pc_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}

.waterproof .topContentsTtl {
  margin-bottom: 2rem;
  padding: 0.8rem 0;
  text-align: center;
  color: #fff;
  text-decoration: none;
  font-size: 32px;
  font-weight: 700;
  background-color: #a00535;
}

.waterproof .topContentsTtl span {
  color: #f6fa47;
  display: inline-block;
  margin-left: 1rem;
  font-size: 38px;
}

.waterproof .mvProof .mvImg {
  max-width: 100%;
  height: auto;
}

.waterproof .mvProof .mvImg02 {
  display: block;
  margin-top: 15px;
}

/* --- 当てはまったらすぐ相談！ --- */
.waterproof .issueTextContainer {
  padding: 2rem;
  background-color: #f6fa47;
}

.waterproof .issueText {
  position: relative;
  display: flex;
  flex-flow: column;
  font-size: 36px;
  color: #000000;
  line-height: 1.6;
  text-align: center;
  align-items: center;
  font-weight: 700;
}

.waterproof .issueText .textRed {
  line-height: 1;
  font-size: 23px;
  display: block;
}

.waterproof .issueImgsContainer {
  margin-top: 40px;
}

.waterproof .issueImgs {
  display: flex;
}

.waterproof .issueImgs img {
  width: 25%;
}

.waterproof .issueImgsText {
  margin-top: 10px;
  margin-inline: auto;
  text-align: center;
}

.waterproof .issueCatchText {
  position: relative;
  display: flex;
  flex-flow: column;
  margin-top: 40px;
  font-size: 36px;
  color: #000000;
  line-height: 1.5;
  text-align: center;
  align-items: center;
  font-weight: 700;
  -webkit-text-stroke: 0.5px #000;
}

/* --- 工事開始までの流れ --- */
.flow {
  padding: 40px 0 0;
}

.flow_index_wrap {
  display: flex;
  gap: 20px;
}

.flow_box {
  flex: 1;
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 10px;
}

.flow_box .numbox {
  position: relative;
}

.flow_box .numbox .circle {
  display: flex;
  width: 100px;
  height: 100px;
  background-color: #fbd9d9;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  color: #a00535;
  line-height: 1;
  font-weight: 600;
}

.flow_box .numbox:after {
  content: "";
  width: 20px;
  height: 20px;
  background-color: #fbd9d9;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  display: block;
  margin: -5px auto 0;
}

.flow_box:nth-of-type(2) .numbox .circle,
.flow_box:nth-of-type(2) .numbox:after {
  background-color: #fdcccc;
}

.flow_box:nth-of-type(3) .numbox .circle,
.flow_box:nth-of-type(3) .numbox:after {
  background-color: #ffcccc;
}

.flow_box:nth-of-type(4) .numbox .circle,
.flow_box:nth-of-type(4) .numbox:after {
  background-color: #ffb2b2;
}

.flow_box.last .numbox .circle,
.flow_box.last .numbox:after {
  background-color: #a00535;
  color: #fff;
}

.flow_box .numbox .circle .en {
  text-transform: uppercase;
  font-size: 14px;
}

.flow_box .numbox .circle .num {
  font-size: 32px;
}

.flow_box .contbox {
  background-color: #fff;
  border: 2px solid #ccc;
  padding: 0;
  display: flex;
  height: 100%;
  flex-flow: column;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}

.flow_box .contbox h4 {
  background-color: #cc6263;
  text-align: center;
  padding-left: 0;
  font-size: 20px;
  margin-bottom: 0;
  color: #fff;
}

.flow_box.last h4 {
  background-color: #a00535;
}

.flow_box .contbox h4:before,
.flow_box .contbox h4:after {
  display: none;
}

.flow_box .contbox p {
  padding: 10px;
}

.flow .cvList {
  padding-bottom: 60px;
}

.zsiq-float.zsiq-flexM {
  bottom: 105px;
}
