/* =================================
 margin・padding
================================= */

/*margin right*/
.mr05 {
  margin-right: 5px;
}
.mr10 {
  margin-right: 10px;
}
.mr15 {
  margin-right: 15px;
}
.mr20 {
  margin-right: 20px;
}
.mr25 {
  margin-right: 25px;
}
.mr30 {
  margin-right: 30px;
}
.mr35 {
  margin-right: 35px;
}
.mr40 {
  margin-right: 40px;
}
.mr45 {
  margin-right: 45px;
}
.mr50 {
  margin-right: 50px;
}
/*margin left*/
.ml05 {
  margin-left: 5px;
}
.ml10 {
  margin-left: 10px;
}
.ml15 {
  margin-left: 15px;
}
.ml20 {
  margin-left: 20px;
}
.ml25 {
  margin-left: 25px;
}
.ml30 {
  margin-left: 30px;
}
.ml35 {
  margin-left: 35px;
}
.ml40 {
  margin-left: 40px;
}
.ml45 {
  margin-left: 45px;
}
.ml50 {
  margin-left: 50px;
}
/*margin top*/
.mt00 {
  margin-top: 0px !important;
}
.mt05 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt35 {
  margin-top: 35px;
}
.mt40 {
  margin-top: 40px;
}
.mt45 {
  margin-top: 45px;
}
.mt50 {
  margin-top: 50px !important;
}
.mt80 {
  margin-top: 80px !important;
}
.mt100 {
  margin-top: 100px !important;
}
/*margin bottom*/
.mb00 {
  margin-bottom: 0px !important;
}
.mb05 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb35 {
  margin-bottom: 35px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb45 {
  margin-bottom: 45px;
}
.mb50 {
  margin-bottom: 50px !important;
}
.mb80 {
  margin-bottom: 80px !important;
}
.mb100 {
  margin-bottom: 100px !important;
}
/*padding right*/
.pr05 {
  padding-right: 5px;
}
.pr10 {
  padding-right: 10px;
}
.pr15 {
  padding-right: 15px;
}
.pr20 {
  padding-right: 20px;
}
.pr25 {
  padding-right: 25px;
}
.pr30 {
  padding-right: 30px;
}
.pr35 {
  padding-right: 35px;
}
.pr40 {
  padding-right: 40px;
}
.pr45 {
  padding-right: 45px;
}
.pr50 {
  padding-right: 50px;
}
/*padding left*/
.pl05 {
  padding-left: 5px;
}
.pl10 {
  padding-left: 10px;
}
.pl15 {
  padding-left: 15px;
}
.pl20 {
  padding-left: 20px;
}
.pl25 {
  padding-left: 25px;
}
.pl30 {
  padding-left: 30px;
}
.pl35 {
  padding-left: 35px;
}
.pl40 {
  padding-left: 40px;
}
.pl45 {
  padding-left: 45px;
}
.pl50 {
  padding-left: 50px;
}
/*padding top*/
.pt05 {
  padding-top: 5px;
}
.pt10 {
  padding-top: 10px;
}
.pt15 {
  padding-top: 15px;
}
.pt20 {
  padding-top: 20px;
}
.pt25 {
  padding-top: 25px;
}
.pt30 {
  padding-top: 30px;
}
.pt35 {
  padding-top: 35px;
}
.pt40 {
  padding-top: 40px;
}
.pt45 {
  padding-top: 45px;
}
.pt50 {
  padding-top: 50px;
}
.pt80 {
  padding-top: 80px;
}
.pt100 {
  padding-top: 100px;
}
/*padding bottom*/
.pb05 {
  padding-bottom: 5px;
}
.pb10 {
  padding-bottom: 10px;
}
.pb15 {
  padding-bottom: 15px;
}
.pb20 {
  padding-bottom: 20px;
}
.pb25 {
  padding-bottom: 25px;
}
.pb30 {
  padding-bottom: 30px;
}
.pb35 {
  padding-bottom: 35px;
}
.pb40 {
  padding-bottom: 40px;
}
.pb45 {
  padding-bottom: 45px;
}
.pb50 {
  padding-bottom: 50px;
}
.pb80 {
  padding-bottom: 80px;
}
.pb100 {
  padding-bottom: 100px;
}
  
/*All padding*/
.pd10{
	padding:10px;
}
.pd20{
	padding:20px;
}
.pd30{
	padding:30px;
}
.pd50{
	padding:50px;
}

/* ----------------------------------------------------------------------
 全体設定
---------------------------------------------------------------------- */
body{
	color:#111;
}

/* ----------------------------------------------------------------------
 フォントファミリー
---------------------------------------------------------------------- */
.yu_font{
font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}
.yugo_font{
font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif !important;
}
.heisei_font{
	font-family: "heisei-kaku-gothic-std","Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
}
.cent_font{
	font-family: Century Gothic, sans-serif;
}

.midashi_font{
	font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
	font-weight: 600;
	font-style: normal;
}
/* =================================
font（weight）
================================= */
.bold {
	font-weight: bold;
}
.normal {
	font-weight: normal !important;
}

/* =================================
font（size %）
================================= */
.font50 {
	font-size: 50% !important;
}
.font60 {
	font-size: 60% !important;
}
.font70 {
	font-size: 70% !important;
}
.font80 {
	font-size: 80% !important;
}
.font90 {
	font-size: 90% !important;
}
.font100 {
	font-size: 100% !important;
}
.font110 {
	font-size: 110% !important;
}
.font120 {
	font-size: 120% !important;
	line-height:1.8em;
}

a[href*="tel:"]{
	color:inherit;
}

/* =================================
font（size px）
================================= */
.font12px{
	font-size: 12px;
}
.font14px{
	font-size: 14px;
}
.font16px{
	font-size: 16px;
}
.font18px{
	font-size: 18px;
}
.font20px{
	font-size: 20px;
}
.font25px{
	font-size: 25px;
}
.font30px{
	font-size: 30px;
}
.font40px{
	font-size: 40px;
}
@media screen and (min-width: 769px) {
	.font12-14px{
		font-size: 14px;
	}
	.font14-16px{
		font-size: 16px;
	}
	.font16-18px{
		font-size: 18px;
	}
	.font16-20px{
		font-size: 20px;
	}
	.font18-20px{
		font-size: 20px;
	}
	.font18-25px{
		font-size: 25px;
	}
	.font20-25px{
		font-size: 25px;
	}
	.font20-30px{
		font-size: 30px;
	}
	.font22-30px{
		font-size: 30px;
	}
	.font25-30px{
		font-size: 30px;
	}
}
@media screen and (max-width: 768px) {
    .font12-14px{
		font-size: 12px;
	}
	.font14-16px{
		font-size: 14px;
	}
	.font16-18px{
		font-size: 16px;
	}
	.font16-20px{
		font-size: 16px;
	}
	.font18-20px{
		font-size: 18px;
	}
	.font18-25px{
		font-size: 18px;
	}
	.font20-25px{
		font-size: 20px;
	}
	.font20-30px{
		font-size: 20px;
	}
	.font22-30px{
		font-size: 22px;
	}
	.font25-30px{
		font-size: 25px;
	}
}

/* =================================
font（color）
================================= */

.white{
	color:#fff;
}
.red{
	color:#bb354f;
}

/* =================================
テキスト揃え
================================= */
.txtJustify{
	text-align:justify;
}
.txtCenter{
	text-align:center;
}
.txtLeft{
	text-align:left;
}
.txtRight{
	text-align:right;
}

/* =================================
テキスト行間
================================= */
.lh10{
	line-height:1em;
}
.lh12{
	line-height:1.2em;
}
.lh15{
	line-height:1.5em;
}
.lh18{
	line-height:1.8em;
}
.lh20{
	line-height:2.0em;
}
.lh25{
	line-height:2.5em;
}

/* =================================
文字間
================================= */
.ls01{
	letter-spacing: 0.1em;
}
.ls02{
	letter-spacing: 0.2em;
}

/* =================================
改行
================================= */

/*スマホのみ改行*/
@media screen and (min-width: 769px) {
    .kaigyouSp {
     display: none;
    }
}
/*PCのみ改行*/
@media screen and (max-width: 768px) {
    .kaigyouPc {
        display: none;
    }
}

/* ----------------------------------------------------------------------
 破線hr
---------------------------------------------------------------------- */

hr.hasen{
border:none;
border-top:dashed 1px #999;
height:1px;
color:#FFFFFF;
margin:15px 0 !important;
}

/* ----------------------------------------------------------------------
 見出し
---------------------------------------------------------------------- */
.bgTit{
		font-size:50px;
	}


/* =================================
背景色
================================= */
.bgWhite{
	background: #fff;
}

/* =================================
角丸
================================= */
.radius05{
	border-radius: 5px;		/* CSS3草案 */
	-webkit-border-radius: 5px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 5px;	/* Firefox用 */
}
.radius10{
	border-radius: 10px;		/* CSS3草案 */
	-webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 10px;	/* Firefox用 */
}

/* =================================
 画像サイズ（レスポンシブ仕様）
================================= */
img.img100{
	width:100%;
	max-width: 100%;
	line-height: 0;
	vertical-align: bottom;
	display: block;
}
img.imgInner {
	max-width: calc(100% - 30px);
	line-height: 0;
	vertical-align: bottom;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
img.imgCenter{
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width:100%;
}
img.imgLeft{
	display: block;
	margin-right: auto;
	max-width:100%;
}
img.imgRight{
	display: block;
	margin-left: auto;
	max-width:100%;
}

/* ----------------------------------------------------------------------
 画像リンク
---------------------------------------------------------------------- */
a:hover img{
filter:alpha(opacity=50);
-moz-opacity: 0.5;
opacity: 0.5;
}

/* ----------------------------------------------------------------------
 スマホ・PC画像振り分け
---------------------------------------------------------------------- */

@media screen and (min-width: 769px) {
.sp_only{
display:none !important;
}
}

@media screen and (max-width: 768px) {
.pc_only{
display:none !important;
}
}

/* ----------------------------------------------------------------------
 ボタン
---------------------------------------------------------------------- */
.btnW250{
	width:100%;
	max-width: 250px;
}
.btnW350{
	width:100%;
	max-width: 350px;
}
.button00 {
  display: block;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
	margin: 10px auto;
}
.button00::before,
.button00::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button00,
.button00::before,
.button00::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

/*ボタン　矢印*/
.button00 span{
	display:block;
	position:relative;
	font-family: fot-tsukuardgothic-std,sans-serif;
}
.button00 span::after{
	position:absolute;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f054";
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

/*ボタン０１*/
.btn01 {
  position: relative;
  z-index: 2;
  border: 2px solid #bb354f;
  background:#bb354f;
  color: #fff !important;
  line-height: 50px;
  -webkit-perspective: 300px;
  perspective: 300px;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}
.btn01:hover {
  color: #bb354f !important;
}
.btn01::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  -webkit-transform-origin: center top;
  transform-origin: center top;
  -webkit-transform: rotateX(90deg);
  transform: rotateX(90deg);
  opacity: 0;
}
.btn01:hover::after {
  -webkit-transform: rotateX(0);
  transform: rotateX(0);
  opacity: 1;
}



/* ----------------------------------------------------------------------
 電話番号リンクをスマホのみ有効
---------------------------------------------------------------------- */
@media (min-width: 751px) {
	a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	}
}

/* ----------------------------------------------------------------------
 inner
---------------------------------------------------------------------- */
.inner01{
	width:100%;
	max-width:100%;
	margin-left:auto;
	margin-right:auto;
}
.inner02{
	width:1150px;
	max-width: calc(100% - 40px);
	margin-left:auto;
	margin-right:auto;
}
.inner03{
	width:768px;
	max-width: calc(100% - 40px);
	margin-left:auto;
	margin-right:auto;
}
.inner960{
	width:960px;
	max-width: calc(100% - 40px);
	margin-left:auto;
	margin-right:auto;
}

/* ----------------------------------------------------------------------
 flexbox
---------------------------------------------------------------------- */
.flexOrigin{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: stretch;    /*全ての要素の高さを揃える*/
}
.flex-wrap{
	flex-wrap:wrap; 	/*要素を折り返して繰り返す*/
}
.space-between{
	justify-content: space-between; /*均等に間隔をあける*/
}
.row-reverse{
	flex-flow: row-reverse; /*並び順を逆にする*/
}
.border-box{
	box-sizing:border-box;
}
@media(max-width:768px)  {
	.flex_block{
		display: block;
	}
}

@media(min-width:768px)  {
.flexBox2{
width:48%;
}
.flexBox3{
width:30%;
}
.flexBox4{
width:23%;
}
}
@media(max-width:768px)  {
.flexBox2{
width:100%;
}
.flexBox3{
width:100%;
}
.flexBox4{
width:48%;
}
}

/* =================================
 float
================================= */
.left{
	float: left;
}
.right{
	float: right;
}


/* =================================
 グローバルメニュー
================================= */
.global-nav > ul > li > a{
	padding: 0 20px;
}

/* =================================
 Footer
================================= */
.footer{
	margin-top:0;
}
.footer-bar01,.copyright,.pagetop a{
	background:#bb354f;
}
.footer-nav-wrapper:before{
	background:none;
	content: none;
	position: static;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
}
.footer-nav-wrapper .inner02{
	box-sizing:border-box;
}
p.footTel{
	color:#bb354f;
	font-size:30px;
}
p.footTel::before{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f2a0";
	font-size:80%;
	position:relative;
	top:-3px;
}
ul.footSns li{
	display:inline-block;
	margin-right:1px;
	width:30px;
}
ul.footSns li a{
	display:block;
}
ul.footSitemap{
	margin-bottom:15px;
}
ul.footSitemap li,ul.footSitemap li a{
	color:#333;
}
a.linkA::before{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f0da"
}
a.linkB::before{
	content: "└"
}

/* =================================
 メインビジュアル（video）
================================= */

.wp-custom-header .wp-custom-header-video-button{
display: none;
}
.wp-custom-header{
	position:relative;
}

video.headVideo{
	display: block;
	max-width: 100%;
	width: 100%;
	-o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1200px) {
	video.headVideo{
		height:calc(100vh - 100px);
	}
}
@media screen and (max-width: 1200px) {
	video.headVideo{
		height: calc(100vh - 55px);
		height: calc((var(--vh, 1vh) * 100) - 55px);
	}
}

/* =================================
 メインビジュアル（テキスト）
================================= */
.head_txt{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	color:#f6f6f8;
	max-width:738px;
	width:calc(100% - 30px);
}
.head_txt_inner{
	
	margin-left:auto;
	margin-right:auto;
}
.head_txt p{
	letter-spacing:0.1em;
	font-weight:bold;
}
.head_txt ul{
	text-align:center;
}
.head_txt ul li{
	display:inline-block;
	border:1px #f6f6f8 solid;
	box-sizing:border-box;
	margin-right:10px;
}
.head_txt ul li:last-child{
	margin-right:0;
}
@media screen and (min-width: 769px) {
	.head_txt h2{
		font-size:35px;
	}
	.head_txt p{
		font-size:18px;
		margin-bottom:15px;
	}
	.head_txt ul li{
		font-size:23px;
		font-weight:bold;
		padding:5px 10px;
	}
}
@media screen and (max-width: 768px) {
	.head_txt h2{
		font-size:25px;
	}
	.head_txt p{
		font-size:16px;
		margin-bottom:10px;
	}
	.head_txt ul li{
		font-size:14px;
		font-weight:bold;
		padding:3px 8px;
	}
}
/*スクロールボタンの指定*/
.scroll{
  position: absolute;
  width: 100%;
  bottom: 0;
  text-align: center;
	z-index:2;
}
.scroll a{
	position: relative;
	display: inline-block;
	font-size: 20px;
	font-weight: bold;
	color: #f6f6f8;
	text-decoration: none;
	padding: 0 0 50px;
}
    /*矢印を作成する*/
.scroll a:before{
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	left: 0;
	right: 0;
	bottom: 25px;
	margin: auto;
	border-bottom: 2px solid #f6f6f8;
	border-right: 2px solid #f6f6f8;
	transform: rotate(45deg);
	animation: move 2s infinite;
}

/* =================================
 ページごとのメインビジュアル
================================= */
.signage{
	background:#fff;
}
img.signageImg{
	position: absolute;
	top: 50%;
	right: 0%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	
	object-fit: cover;
	
}
@media screen and (min-width: 1200px) {
	img.signageImg{
		height:360px;
		width:80%;
	}
}
@media screen and (max-width: 1200px)  and (min-width: 620px){
	img.signageImg{
		height:260px;
		width:80%;
	}
}
@media screen and (max-width: 619px) {
	img.signageImg{
		height:260px;
		width:100%;
	}
}
.signage-text{
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	z-index:1;
	background:rgba(187,53,79,0.9);
	padding:20px;
	box-sizing:border-box;
}

@media screen and (min-width: 1200px) {
	.signage-text{
		width:50%;
		max-width:700px;
	}
	h1.signage-title{
		font-size:20px;
	}
	p.signage-title-sub{
		font-size:40px;
		line-height:1.5em;
	}
}
@media screen and (max-width: 1200px)  and (min-width: 620px){
	.signage-text{
		width:60%;
		max-width:600px;
	}
	h1.signage-title{
		font-size:20px;
	}
	p.signage-title-sub{
		font-size:40px;
		line-height:1.5em;
	}
}
@media screen and (max-width: 619px) {
	.signage-text{
		width:70%;
	}
	h1.signage-title{
		font-size:18px;
	}
	p.signage-title-sub{
		font-size:26px;
		line-height:1.5em;
	}
}

/* =================================
 トップページ
================================= */
@media screen and (min-width: 769px){
	 .img-holderSp{
		 display:none;
	 }
}
@media screen and (max-width: 768px){
	 .img-holderPc{
		 display:none;
	 }
}
.topAboutContent{
	background:#e2e2e2;
	
}
.topAboutContent .inner03{
	position:relative;
}
.upTit{
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}
@media screen and (min-width: 769px) {
	.upTit{
		top: -65px;
	}
}
@media screen and (max-width: 769px) {
	.upTit{
		top: -50px;
	}
}
.topReasonContent{
	background:url(images/bg_top_reason.jpg);
	background-size:cover;
}
.topReasonBox{
	width:calc(100% - 40px);
	max-width:1150px;
	margin-left:auto;
	margin-right:auto;
}
.topReasonOuter{
	background:#fff;
	border-left:10px #a3a3a3 solid;
	box-sizing:border-box;
}
@media screen and (min-width: 769px) {
	.topReasonOuter{
		width:90%;
	}
}
@media screen and (max-width: 768px) {
	.topReasonOuter{
		width:95%;
	}
}
.topReasonOuterL{
	margin-right:auto;
}
.topReasonOuterR{
	margin-left:auto;
}
.topReasonInner{
	padding:20px;
	box-sizing:border-box;
}
ul.topCheckList{
	display:inline-block;
	margin-bottom:30px;
}
ul.topCheckList li{
	text-align:left;
	line-height:1.5em;
	padding-top:10px;
	padding-bottom:10px;
	border-bottom:1px #bb354f solid;
}
ul.topCheckList li::before{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f00c";
	color:#bb354f;
	margin-right:0.2em;
}
@media screen and (min-width: 769px) {
	ul.topCheckList li{
		font-size:25px;
	}
}
@media screen and (max-width: 768px)  and (min-width: 421px){
	ul.topCheckList li{
		font-size:20px;
	}
}
@media screen and (max-width: 420px) {
	ul.topCheckList li{
		font-size:16px;
	}
}
img.topCheckImg{
	display:block;
	width:100%;
}

/* お知らせ一覧 */
.blogpost_list ul li{
	line-height:2em;
	border-bottom:1px #bb354f solid;
	padding-top:10px;
	padding-bottom:10px;
	height:25px;
	overflow:hidden;
}
.blogpost_list ul li a{
	color:#333;
}

/* =================================
 業務内容
================================= */
.worksTxt{
	position:relative;
}
@media screen and (min-width: 769px) {
	.worksTxtInner{
		position:absolute;
		top: -80px;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		width:90%;
	}
	.worksTxtBox h3{
		font-size:30px;
	}
	.worksTxtBox h3 span.red{
		font-size:55px;
	}
}
@media screen and (max-width: 768px) {
	.worksTxtBox h3{
		font-size:25px;
	}
	.worksTxtBox h3 span.red{
		font-size:40px;
	}
}
.worksTxtBox{
	background:#fff;
	padding:25px;
	width:100%;
	box-sizing:border-box;
}

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

/* =================================
 リフォームの窓口
================================= */
@media screen and (min-width: 769px) {
	.reformIntroL,.reformIntroR{
		width:50%;
	}
	.reformIntroL{
		overflow:hidden;
		height:800px;
		position:relative;
	}
	.reformIntroLInner{
		position:absolute;
		top: 50%;
		right: 0%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}
	.reformIntroLInner img{
		display:block;
		width:800px;
	}
	.reformIntroRInner{
		width:80%;
		max-width:550px;
		margin-left:40px;
		margin-right:auto;
	}
}
@media screen and (max-width: 769px) {
	.reform01{
		width:calc(100% - 40px);
		margin-left:auto;
		margin-right:auto;
	}
	.reformIntroL img{
		display:block;
		width:100%;
		max-width:420px;
		margin-left:auto;
		margin-right:auto;
	}
}
.reformIntroR h4 {
	border-bottom: solid 3px #111;
	position: relative;
	padding-bottom:10px;
	line-height:1.1em;
}
.reformIntroR h4:after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 3px #bb354f;
	bottom: -3px;
	width: 30%;
}
.reformIntroR h4 span{
	font-size:70%;
	color:#bb354f;
}

.reform02{
	background:url(images/bg_voice.jpg);
	background-size:cover;
}
.voiceBox{
	padding:25px;
	border-radius: 10px;        /* CSS3草案 */  
	-webkit-border-radius: 10px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 10px;   /* Firefox用 */ 
	background:#fff;
	box-sizing:border-box;
}

/* =================================
 会社概要
================================= */
.companyProf{
	background:#bb354f;
}
.companyProfInner{
	width:80%;
	margin-left:auto;
	margin-right:auto;
	padding:45px 0;
}
@media screen and (min-width: 769px) {
	.companyProfL{
		width:65%;
	}
	.companyProfR{
		width:35%;
	}
	.companyProfR iframe{
		height:100%;
	}
}
@media screen and (max-width: 768px) {
	.companyProfL,.companyProfR{
		width:100%;
	}
	.companyProfR iframe{
		height:300px;
	}
}
table.companyTb{
	border-top:1px #fff solid;
}
table.companyTb tr th{
	text-align:left;
}
table.companyTb tr th,table.companyTb tr td{
	padding:15px 10px;
	line-height:1.5em;
	border-bottom:1px #fff solid;
}

.timeline {
  list-style: none;
}
.timeline > li {
  margin-bottom: 60px;
}

/* for Desktop */
@media ( min-width : 768px ){
  .timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
  }
  p.timeline-date {
    width: 120px;
    float: left;
	  padding:20px 0;
	  line-height:2.5em;
	  font-size:16px;
    /*margin-top: 20px;*/
  }
  .timeline-content {
    width: 75%;
    float: left;
    border-left: 3px #d39284 solid;
    padding-left: 30px;
  }
	.timeline-content h4{
		padding:20px 0;
		line-height:2.5em;
		font-size:16px;
	}
  .timeline-content:before {
    content: '';
    width: 12px;
    height: 12px;
    background: #bb354f;
    position: absolute;
    left: 116px;
    top: 34px;
    border-radius: 100%;
  }
}
@media ( max-width : 768px ){
	.timeline-content h4,p.timeline-date {
		line-height:2.0em;
		font-size:16px;
	}
}

/* =================================
 ご挨拶
================================= */
.position{
	background:#bb354f;
	width:100%;
}
.position h3{
	padding:15px;
}
.arrow01{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 40px 0 40px;
	border-color: #bb3550 transparent transparent transparent;
	line-height: 0px;
	_border-color: #bb3550 #000000 #000000 #000000;
	_filter: progid:DXImageTransform.Microsoft.Chroma(color='#000000');
	margin-left:auto;
	margin-right:auto;
}

/* =================================
 お問い合わせ
================================= */
.contact .wpcf7{
	border:none;
	background:none;
}
.contact .wpcf7 input,.contact .wpcf7 textarea,.contact .wpcf7 select{
	border:none;
	background:#fff;
}
.contact table.formTable{
	border-collapse: collapse;
	width:100%;
}
.contactForm h4,.contactForm input,.contactForm select,textarea{
	font-size:16px;
}
.contactForm p{
	font-size:14px;
}
.contactForm h4{
	margin-bottom:10px;
}
.contactForm h4::before{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f0da";
	margin-right:0.1em;
}
.contactForm .contactBox{
	padding-top:15px;
	padding-bottom:15px;
	border-bottom:1px #bb354f solid;
}
@media ( max-width : 640px ){
	.wpcf7-radio .wpcf7-list-item {
		display: block;
	}
}

/* =================================
 プライバシーポリシー
================================= */
h3.midashi_sl {
  position: relative;
  display: inline-block;
  padding: 0 55px;
	color:#bb354f;
	letter-spacing:0.1em;
}
h3.midashi_sl:before, h3.midashi_sl:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: black;
}
h3.midashi_sl:before {
  left:0;
}
h3.midashi_sl:after {
  right: 0;
}
@media screen and (min-width: 769px) {
	h3.midashi_sl {
		font-size:25px;
	}
}
@media screen and (max-width: 768px) {
	h3.midashi_sl {
		font-size:20px;
	}
}
ul.privacyUl li::before{
	content:"・";
}
ul.privacyUl li {
	padding-left:1em;
	text-indent:-1em;
}

/* ----------------------------------------------------------------------
 memberページ
---------------------------------------------------------------------- */
.blanchBox{
	width:calc((100% - 40px) / 2);
	margin-bottom:50px;
	margin-right:40px;
}
.blanchBox:nth-child(2n),.blanchBox:last-child{
	margin-right:0;
}
@media screen and (max-width: 640px) {
	.blanchBox{
		width:100%;
		max-width:400px;
		margin:0 auto 50px;
	}
}
.blanchType{
	background:#bb354f;
}
ul.bgInfo{
	border-top:1px #b3b3b3 solid ;
	border-bottom:1px #b3b3b3 solid ;
}
ul.bgInfo li{
	border-bottom:1px #b3b3b3 dashed;
	padding:0.3em 0;
}
ul.bgInfo li:last-child{
	border-bottom:0;
}
a.bgLink{
	text-decoration:none;
	color:#29abe2;
}
a.bgLink:hover{
	color:#b3b3b3;
}
a.bgLink::before{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content:"\f390";
	padding-right:0.5em;
}
a.bgLink::after{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content:"\f101";
	padding-left:0.2em;
}

.group{
	background:#f2f2f2;
}
.group .flexOrigin{
	justify-content: center;
}
@media screen and (min-width: 961px) {
	.groupBox{
		width:calc((100% - 60px) / 3);
		margin-right:30px;
		margin-bottom:50px;
	}
	.groupBox:nth-child(3n),.groupBox:last-child{
		margin-right:0;
	}
}
@media screen and (max-width: 960px) and (min-width:640px) {
	.groupBox{
		width:calc((100% - 40px) / 2);
		margin-bottom:50px;
		margin-right:40px;
	}
	.groupBox:nth-child(2n),.groupBox:last-child{
		margin-right:0;
	}
}


/* ----------------------------------------------------------------------
 カテゴリ名（色分け）
---------------------------------------------------------------------- */
.article03-content{
	padding:15px;
}
p.article03-category{
	color:#fff !important;
	line-height:1em;
	padding:3px 5px;
	margin-bottom:5px;
}
p.article03-category a{
	color:#fff !important;
}
.category01,.category02,.category03,.category04,.category05{
	background:#bb354f;
}

