/*
Theme Name:otani-kenso-roof
Theme URI: https://otani-kenso-roof.com/
Description: pcbrain
Version: 1.0
Author: pcbrain.co.jp
*/
/* YUI fonts.css - font size設定
----------------------------------------------------------- */
@import url("css/cssfonts-min.css");
/* default style - リセット及びbody基本設定
----------------------------------------------------------- */
@import url("css/default.css");
/* all style
----------------------------------------------------------- */
@charset "UTF-8";
body {
    min-width: 1300px;
    /*コンテンツ横幅を指定する（スマホ閲覧時の背景欠けを防ぐ）*/
    font-size: 16px;
}
body *,
body *::before,
body *::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.inner {
    width: 1100px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    padding: 0;
}
.innerLtl{
    width: 980px;
    margin: 0 auto;
}

@font-face {
    src: url(./font/BAHNSCHRIFT.woff);
    font-family: 'Bahnschrift';
    font-style: normal;
}
/*----------------------------------------------------
    基本設定、リンクカラーなど
----------------------------------------------------*/

a:link,a:visited {
    color: #4a1a0e;
    text-decoration:underline;
    transition:0.7s;
}

a:hover {
    transition:0.7s;
    opacity:0.7;
    transition:0.7s;
}

a img{
    transition:0.7s;
    backface-visibility: hidden;
}

a:hover img{
}


a:active {
}


/*----------------------------------------------------
    汎用class
----------------------------------------------------*/
.imgR {
    float: right;
    margin: 0 0 10px 10px;
}
.imgR20 {
    float: right;
    margin: 0 0 20px 20px;
}
.imgR30 {
    float: right;
    margin: 0 0 20px 30px;
}
.imgL {
    float: left;
    margin: 0 10px 10px 0;
}
.imgL20 {
    float: left;
    margin: 0 20px 20px 0;
}
.imgL30 {
    float: left;
    margin: 0 30px 20px 0;
}
.imgC {
    margin: 0 auto 10px auto;
    display:block;
}
.imgBox{
    border:#CCCCCC solid 1px;
    padding:3px;
}

.imgLayer {
    position: absolute;
}
.mt-25{
    margin-top: -25px !important;
}
.mt-20{
    margin-top: -20px !important;
}
.mt-20 p {
    margin: 0 !important;
}

.mt0{
    margin-top: 0 !important;
}
.mt10 {
    margin-top: 10px !important;
}
.mt30 {
    margin-top: 30px !important;
}
.mt50 {
    margin-top: 50px !important;
}
.mt70 {
    margin-top: 70px !important;
}
.mt100 {
    margin-top: 100px !important;
}
.mb0{
    margin-bottom: 0 !important;
}
.mb10{
    margin-bottom: 10px !important;
}
.mb20{
    margin-bottom: 20px !important;
}
.mb30{
    margin-bottom: 30px !important;
}
.mb50{
    margin-bottom: 50px !important;
}
.mb80{
    margin-bottom: 80px !important;
}
.mb100{
    margin-bottom: 100px !important;
}
.mr30{
    margin-right: 30px;
}

.ml30{
    margin-left: 30px;
}
.pt0{
    padding-top: 0 !important;
}
.pt50{
    padding-top: 50px !important;
}
.pb0{
    padding-bottom: 0 !important;
}

.overflowH{
    overflow:hidden;
}
.overflowA{
    overflow:auto;
}
.overflowV{
    overflow:visible;
}
.clearBoth{
    clear:both;
}
.textRight{
    text-align:right !important;
}
.textCenter{
    text-align:center !important;
    display:block;
}

.textLeft{
    text-align:left !important;
    display: block;
}
.textBold{
    font-weight:bold;
}

.remark_red{
    color:#e62600;
}
.floatR{
    float:right;
}
.floatL{
    float:left;
}
.imgM{
    margin:0 auto;
}
strong{
    font-weight:bold;
}

.must{
    font-size:10px;
    color:#e62600;
}

/* 外部リンクは別窓用の指定 */
.externalIcon {
    padding-left: 5px;
    vertical-align: middle;
}

/* clearfix */
.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}

/* ヘッダ固定を固定したことによるアンカーポイントへの位置ずれ調整
   ※アンカーポイントへのリンクを追加する際は要追加 */
/* #roof #main #flow { 
    padding-top: 190px;
    margin-top: -190px;
} */

.u-displaynone-md-up {
    display: none !important;
}

/*----------------------------------------------------
    スマホ用
----------------------------------------------------*/
.spblock,
.spinline,
.sptr{
    display:none !important;
}

/*------------- tmp -------------*/
.tmp img {
    display: block;
    margin: 0 auto;
}

.tmp.bg01 {
    background: url(./img/bg_gray.png) center center;
}

.bg02 {
    background: #ede6cf;
    padding: 20px 0 !important;
}


.bg03 {
    background: url(./img/contact_bg.png) center center;
}

.bgMt {
    background: url(./img/bg_strength.png) no-repeat top center;
    padding-top: 60px;
}
.btn {
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 20px;
    font-weight: 700;
    padding: 10px 60px 10px 40px;
    background: #4a1a0e;
    border: #222222 solid 2px;
    text-align: center;
    border-radius: 5px;
    margin: 0 auto;
    width: fit-content;
    display: block;
    position: relative;
}
.btn:after {
    font-family: "Font Awesome 5 Free";
    content: '\f105';
    font-weight: 900;
    right: 15px;
    position: absolute;
    font-size: 30px;
    height: 1em;
    top: 0;
    bottom: 0;
    margin: auto;
    display: block;
    line-height: 1;
}
.btnRight {
    float: right;
    padding-right: 6px;
}
.btnMny {
    display: flex;
    justify-content: center;
    gap: 40px;
}
.btnMny .btn{
    margin: 0;
}
.btnS,
.btn a {
    color: #fff !important;
    text-decoration: none !important;
}

.bnrBox a,
.btnImg {
    position: relative;
    padding-bottom: 3px;
}

.bnrBox a:hover,
.btnImg:hover {
    top:3px;
}

.btnDetail {
    background: #e62600;
    box-shadow: 0px 2px 0px 0px rgba(255, 255, 255, 0.3) inset;
    -moz-box-shadow: 0px 2px 0px 0px rgba(256, 256, 256, 0.3) inset;
    -webkit-box-shadow: 0px 2px 0px 0px rgba(255, 255, 255, 0.3) inset;
    color: #fff;
    padding: 1px 10px 3px;
    display: inline-block;
    border-radius: 3px;
    font-size: 12px !important;
    font-weight: 700;
}

.btnDetail:hover{
    opacity: 0.7;
    transition: 0.7s;
}

.btnDetail a {
    display: block;
    padding: 3px 10px !important;
    color: #fff;
    text-decoration: none !important;
    text-align: center;
    transition: 0.7s;
}

.bg01 .btn {
    margin: 10px 15px !important;
}

.notice-r {
    color: #e62600 !important;
}

.notice-o {
    color: #ffb500 !important;
}
.notice-y {
    color: #ff0 !important;
}
.notice-b {
    color: #083a95 !important;
}

.notice-g {
    color: #66b60e !important;
}
.notice-ul {
	font-weight: 500;
	background: linear-gradient(transparent 50%, #ffe78c 50%);
}
.spanDisp span{
    display: inline-block;
    margin-right: 1em;
}
.spanDisp span:last-child{
    margin-right: 0;
}
#main ul.checkList{
	font-size: 24px;
	font-weight: 700;
}
#main ul.checkList li{
    padding-left: 50px;
    background: url(./img/ico_check01.png) no-repeat 0px 0px;
    line-height: 2.1;
}
#main ul.checkList + li{
	margin-top: 10px;
}
#main ul.checkList strong{
	color: #e62600;
}

#main .spanRplace{
    margin-right: 3px;
}
#main .spanRplace span{
    color: #fff;
    border-radius: 3px;
    padding: 3px 4px 6px;
    margin: 1px;
    line-height: 1;
    display: inline-block;
    background: #b36044;
}
#main .strengthSpn span{
    background: #083a95;
}
#main .popularMenuBox .strengthSpn span{
    background: #e62600;
}

.tel {
    display: inline-block;
    font-size: 12px;
    margin-bottom: 0 !important;
}

.tel .bHours {
    display: none;
}

.tel span.tel-link {
    background: url(./img/ico_fd.png) no-repeat left 70%;
    font-family: 'Roboto', sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
    padding-left: 38px;
    display: block;
}
.tel span.dNum {
    background: none;
    padding-left: 0;
}
.tel span.dNum:before {
    content: 'TEL.';
    font-size: 0.6em;
}

.timeL{
    font-size: 14px;
    line-height: 1.2;
}

.timeL li:after,
.timeL li:before {
    content: none !important;
}

.timeL li{
    padding: 0 !important;
    display:inline-block;
}

.timeL li span {
    display:inline-block;
}

hr {
    margin: 30px 0;
    display: block;
    border: none;
    border-top: #ccc solid 1px;
}

iframe {
    width: 100%;
    height: 400px;
    margin-bottom: 30px;
}

/* -----------------------------------------------------------
    header
----------------------------------------------------------- */
header {
}
header.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    background: url(./img/bg_header.png);
}

header > .inner{
	padding: 0 40px;
	width: unset;
	max-width: unset;
	display: flex;
	justify-content: space-between;
	gap: 20px;
    margin-bottom: 20px;
}
header .logoArea {
    flex: 1;
    display: flex;
    flex-direction: column;
}
header .htxt {
    font-size: 12px;
}

header .htxt strong {
    font-weight: normal;
}

header .hbtm {
    display: flex;
    justify-content: space-between;
}
header a.hdrLogo {
    margin: 5px 5px 0 0;
    display: block;
    text-decoration: none;

    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
}

header .hdrContact {
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
header .tel {
    display: block;
}
header .tel {
    line-height: 1.2;
    white-space: nowrap;

    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

header .tel span.dNum {
    display: block;
    font-size: 30px;
}
header .tel span.dNum::before {
}
header .hdrSubMenu {
    display: flex;
    gap: 40px;
    justify-content: center;
    align-items: center;
}
header .hdrSubMenu a{
    color: #222222;
	font-weight: 700;
    text-decoration: none;
    line-height: 1;
    padding-left: 25px;
}
header .hdrSubMenu a.hdrSubMenuBlog{
    background: url(./img/ico_blogsubnav.png) left center no-repeat;
}
header .hdrSubMenu a.hdrSubMenuPartner{
    background: url(./img/ico_partnersubnav.png) left center no-repeat;
}

.hdrBtn{
    padding-bottom: 10px;
}
.hdrBtn,
.hdrBtn li{
	display: flex;
	gap: 10px;
}
.hdrBtn a{
	display: flex;
	gap: 5px;
	padding: 5px 0;
	width: 150px;
	border: solid 2px #222222;
	border-top: none;
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	justify-content: flex-end;
	align-items: center;
	flex-direction: column;
	background-color: #083a95;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	transition: 0.3s ease-out;
}
.hdrBtn li a.hdrBnrContact{
	background-color: #5fcc25;
}
.hdrBtn li a.hdrBnrShowroom{
	background-color: #e62600;
}
.hdrBtn li a.hdrBnrContact img:nth-child(1),
.hdrBtn li a.hdrBnrShowroom img:nth-child(1){
	margin-bottom: 5px;
}
.hdrBtn a:hover img{
	opacity: 1;
}
.hdrBtn a:hover{
	opacity: 0.8;
}
.reviewBox {
    background: #f0f0f0;
    text-align: center;
    padding: 8px 0;
    display: flex;
    justify-content: center;
    line-height: 1;
    align-items: center;
}
.reviewBox .reviewLink{
    display: flex;
    align-items: center;
    text-decoration: none !important;
    font-size: 16px;
    font-weight: 700;
    color: #222;
}
.reviewBox .reviewIco{
    margin-right: 5px;
}
.reviewBox .emSpn{
    color: #e73310;
}
.reviewBox .reviewSN{
    background: #222;
    color: #fff;
    padding: 3px;
    font-size: 14px;
    font-weight: normal;
    margin: 0 10px;
}
.reviewBox .wpac{
    width: 180px !important;
    padding: 0 !important;
    overflow: visible;
}
.reviewBox .wp-google-powered{
    display: none;
}

/* -----------------------------------------------------------
    footer
----------------------------------------------------------- */
.showroomBox{
    /* padding-top: 200px; */
    margin-top: 50px;
    position: relative;
}
.showroomBox .imgLayerStaff {
    position: absolute;
    top: 60px;
    /* right: 65%; */
    left: 18%;
    z-index: 1;
}

.showroomBox .imgLayerStaff p {
    position: absolute;
    top: 30px;
    left: -50px;
    text-align: center;
    font-weight: 700;
    transform: rotate(-25deg);
    width: 200px;
}
.showroomBox .imgLayerStaff p::before, .showroomBox .imgLayerStaff p::after {
    content: '';
    width: 32px;
    height: 74px;
    position: absolute;
    bottom: 0;
    left: -40px;
    background-image: url(./img/bg_staff01_deco.png);
    background-repeat: no-repeat;
    background-size: contain;
}
.showroomBox .imgLayerStaff p::after {
    left: unset;
    right: -40px;
    transform: scale(-1, 1);
}
.showroomBox .imgLayerItem {
    position: absolute;
    top: 0;
    left: 70%;
    z-index: 1;
}
.showroomHead{
    padding-top: 140px;
    clip-path: polygon(50% 0%, 100% 250px, 100% 100%, 0 100%, 0% 250px);
    background: url(./img/bg_footer.png);
    min-height: 400px;
    padding-bottom: 40px;
}

.showroomHead h2.showroomH{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
	line-height: 1;
}
.showroomHead h2.showroomH strong {
    font-size: 26px;
    font-weight: 700;
    color: #4a1a0e;
}
.showroomHead h2.showroomH span {
    font-family: "Roboto", sans-serif;
    font-size: 100px;
    font-weight: 700;
    color: #ffffff;
    display: inline-block;
}
.showroomHead h2.showroomH span.headCtx span:first-letter{
	color: #4a1a0e;
}

.showroomBox .area {
    display: flex;
    justify-content: center;
    margin-top: 30px;
}
.showroomBox .area dt {
    color: #FFFFFF;
    background: #b36044;
    padding: 10px 40px;
}
.showroomBox .area dd {
    background: #f8f8f8;
    padding: 10px 50px;
}
.showroomCtx{
    background: url(./img/bg_footer.png);
    padding-bottom: 50px;
}
.showroomAccess{
    padding-bottom: 50px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 860px;
    margin: 0 auto;
}
.showroomBox .shopBox {
    display: flex;
    gap: 40px;
}
.showroomBox .shopBox .photo {
    width: 300px;
    height: 200px;
}
.showroomBox .shopBox .photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.showroomBox .shopBox .showroomHeadding{
    font-weight: 700;
    margin-bottom: 10px;
}
.showroomBox .shopBox .btnShowrom{
    margin: 5px 0 0;
    font-size: 16px;
    padding: 5px 15px;
    background: #222222;
    color: #fff;
    text-decoration: none !important;
    font-weight: 700;
    border: #222222 solid 2px;
    text-align: center;
    border-radius: 5px;
    width: fit-content;
    display: block;
}
.showroomBox .shopBox .telNo span{
    margin-right: 1em;
}
.showroomBox .shopBox .telNo span:last-of-type{
    margin-right: 0;
}

.ftrContactBox{
    width: 860px;
    margin: 0 auto;
    background: #fff;
    padding: 60px;
    text-align: center;
    position: relative;
}
.ftrContactBox .imgLayer {
    position: absolute;
    right: 50px;
    top: -20px;
    width: 110px;
}
.ftrContactBox .tel span.tel-link {
    font-size: 52px;
}
.ftrContactBox .tel span.dNum:before {
    font-size: 30px;
}
.ftrContactBtn{
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-top: 20px;
}
.ftrContactBtn a{
}
.ftrAdd{
	border-top: solid 1px #FFF;
	border-bottom: solid 1px #FFF;
	padding: 25px;
	text-align: center;
	margin-top: 50px;
}
.ftrAdd p span{
	display: inline-block;
}
.ftrAdd p span + span{
	margin-left: 20px;
}

.ftrBanner {
    background: #fff4dd;
    padding: 40px 0;
}
.ftrBanner .ftrBannerList{
    display: flex;
    justify-content: center;
    gap:13.3px;
}
footer {
    clear: both;
    font-size: 13px;
    background: #4a1a0e;
    color: #ffffff;
    padding: 60px 0 20px;
    position: relative;
}

footer .copyRight {
    font-size: 12px;
    text-align: center;
}
footer .pageTop {
    position: fixed;
    bottom: 20px;
    display: none;
    right: 3%;
    z-index: 1000;
}
footer .pageTop a{
    display: block;
}
footer .mainMenuL {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    font-size: 14px;
    justify-content: space-between;
}

footer .mainMenuL li:before,
footer .mainMenuL li:after {
    content: none;
}

footer .mainMenuL>li {
    padding: 0;
    max-width: calc((100% - 60px) / 4);
}
footer .mainMenuL li a {
    position: relative;
    display: block;
    padding-left: 18px;
    margin: 0 0 5px 10px;
}

footer .mainMenuL li>a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    width: 12px;
    height: 1px;
    background-color: #9ea59f;
}


footer .mainMenuL li a {
    color: #ffffff;
    text-decoration: none;
}
footer .mainMenuL li ul.childList{
    margin-left: 20px;
}
footer .mainMenuL li ul.childList li a{
}

footer .mainMenuL li ul.childList li a::before {
    position: absolute;
    top: 2px;
    bottom: auto;
    left: 0;
    margin: auto;
    content: "";
    width: 12px;
    height: 12px;
    border-width: 0 0 1px 1px;
    border-color: #9ea59f;
    border-style: solid;
    background: none;
}

footer .mainMenuL li ul li:after {
    content: none;
}


/* -----------------------------------------------------------
    nav
----------------------------------------------------------- */
header nav {
    background: #4a1a0e;
    color: #fff;
}

header nav #gNav {
    margin: 0 auto;
    min-width: 1200px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px;
}
header nav #gNav li{
    position: relative;
}
header nav ul li a {
    color: #fff !important;
    text-decoration: none !important;
}
header nav>ul>li>a {
    display: block;
    padding: 14px 0;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    position: relative;
}
header nav>ul>li>a:has(+ ul) {
    padding-right: 30px;
}
header nav>ul>li>a:has(+ ul)::after {
    color: #a58d87;
    position: absolute;
    top: 3px;
    right: 10px;
    bottom: 0;
    display: block;
    margin: auto;
    height: 19px;
    content: '\f107';
    font-weight: 900;
    font-size: 18px;
    font-family: 'Font Awesome 5 Free';
    line-height: 1;
}

header nav #gNav>li>ul {
        position: absolute;
        top: calc(1em + 41px);
        margin: auto;
        z-index: 1;
        display: block;
        margin: 0;
        padding: 0;
        min-width: 100%;
        width: auto;
        height: 0;
}
header nav #gNav>li>ul>li {
        visibility: hidden;
        overflow: hidden;
        margin: 0;
        width: auto;
        height: 0;
        border-right: none;
        border-bottom: solid 1px;
        border-bottom-color: rgba(255, 255, 255, .8);
        border-left: none;
        background: rgba(45, 41, 32, .8);
        text-shadow: none;
        font-weight: normal;
        font-size: 13px;
        -webkit-transition: .7s;
        transition: .7s;
}

header nav #gNav li:hover ul li,
header nav #gNav li a:hover ul li {
        visibility: visible;
        overflow: visible;
        height: 3em;
}

header nav #gNav>li>ul>li a{
    white-space: nowrap;
    display: block;
    min-width: 100%;
    height: 100%;
    text-align: center;
    line-height: 3;
    padding: 0 5px;
}
/* -----------------------------------------------------------
    #mainv
----------------------------------------------------------- */
#top #mainVg {
    width: 100%;
    height: 650px;
    margin: 0 0 0 0;
	position: relative;
    background: url(./img/bg_mainv.jpg) no-repeat right;
}
#top #mainVg .catch{
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0.1em;
	position: absolute;
	top:55px;
	left: calc(100% / 8 );
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
    text-shadow: 0px 0px 10px rgba(255, 255, 255, 1);
}
#top #mainVg .catch strong{
	color: #b36044;
}
#top #mainVg .imgLayer{
	position: absolute;
	top: 200px;
	right: calc(100vw / 10 );
}
#mainv {
    z-index: 0;
    overflow: hidden;
    margin-top: -100px;
    
}

#mainv .stage {
    width: 100%;
    margin: 0 auto;
    z-index: 0;
}

#mainv .stage span {
    width: 580px;
    height: 220px;
    z-index: 10 !important;
    margin: 0 20px;
}
#mainv .stage span img {
    width: 100%;
    height: 100%;
    aspect-ratio: 29 / 11;
    object-fit: cover ;
}

#mainv .slick-slide {
}

#mainv .slick-current {
}

#mainv .stage button {
    position: absolute;
    z-index: 2000;
}

#arrows {
    width: 100vw;
    margin: 0 auto;
    position: relative;
}

#arrows button {
    position: absolute;
    border: none;
}

#arrows button.slick-prev,
#arrows button.slick-next {
    background: none;
    outline: none;
    cursor: pointer;
    width: 50px;
    height: 50px;
    overflow: hidden;
}

#arrows button.slick-prev {
    left: 30px;
    top: -120px;
    background: url(./img/leftNav.png) right center no-repeat;
    opacity: 1;
}

#arrows button.slick-next {
    right: 30px;
    top: -120px;
    background: url(./img/rightNav.png) left center no-repeat;
    opacity: 1;
}

#arrows button.slick-prev:before,
#arrows button.slick-next:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
}

#arrows .slick-prev:hover {
}

#arrows .slick-next:hover {
}
/*--トップスライド--*/
a.leftNav,
a.rightNav {
    outline: none;
    transition: none;
}

.leftNav:before,
.rightNav:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    transition: none;
}

.leftNav:hover {
    background: url(./img/leftNav.png) right center no-repeat;
    /*rgba(204,204,204,0.4);*/
    transition: none;
    opacity: 1;
}

.rightNav:hover {
    background: url(./img/rightNav.png) left center no-repeat;
    /*rgba(204,204,204,0.4);*/
    transition: none;
    opacity: 1;
}

.leftNav:hover:before,
.rightNav:hover:before {
    background: url(./img/bg2.png);
    transition: none;
}


.slick-dots {
    position: absolute;
    bottom: -50px;
    width: 100%;
    padding: 0;
    list-style: none;
    text-align: center;
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: 12px;
    height: 12px;
    margin: 0 10px;
    padding: 0;
    cursor: pointer;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 12px;
    height: 12px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
    position: relative;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1;
}

.slick-dots li button:before {
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 12px;
    height: 12px;
    content: '';
    text-align: center;
    display: block;
    background: #ccc;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
    background: #fed900;
}
.mainvThumbnail{
    padding: 30px 100px;
}

.mainvThumbnail .slick-track {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    transform: unset !important;
}

.mainvThumbnail .slick-slide {
    margin: 0 1%;
}
.mainvThumbnail .slick-slide:hover {
    cursor: pointer;
}
.mainvThumbnail-img {
    opacity: 0.3;
    transition: opacity .3s linear;
}

.mainvThumbnail .slick-slide img {
    width: 100% !important;
}
.mainvThumbnail .slick-current {
    opacity: 1;
}
/* -----------------------------------------------------------
    contents
----------------------------------------------------------- */


#contents {
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}

#contents section {
    margin: 0 auto;
    border-bottom: none;
}

/*--メインカラム--*/
/* -----------------------------------------------------------
    main
----------------------------------------------------------- */
#main {
}
#main>*:first-child{
    padding-top: 80px;
}
#main>h2.headdingL02:first-child{
    margin-top: 100px;
}


/*--基本の記事スタイル設定--*/
#main section {
    margin-bottom: 30px !important;
    padding-bottom: 30px;
    position: relative;
}

#main article {
    margin-bottom: 50px;
    position: relative;
}

#main img{
    height: auto;
}
#main p {
    margin-bottom: 15px;
}
#main p:not([class]){
    line-height: 2.5;
}

#main a {
    text-decoration: underline;
}

#main .singleDetail h2,
#main .singleDetail h3,
#main .singleDetail h4,
#main .singleDetail h5,
#main .singleDetail h6 {
    clear: both;
}
#main .singleDetail p:has(+ h3:not([class])),
#main .singleDetail p:has(+ h4:not([class])),
#main .singleDetail p:has(+ h5:not([class])) {
    margin-bottom: 50px;
}

#main .headdingL01 {
	display: flex;
	flex-direction: column-reverse;
	justify-content: center;
	align-items: center;
	gap: 20px;
	line-height: 1;
    margin-bottom: 50px;
	font-size: 36px;
	font-weight: 700;
	color: #b36044;
}
#main .headdingL01 strong{
	position: relative;
}
#main .headdingL01 .subH{
	font-family: "Roboto", sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: #4a1a0e;
}
#main .headdingL01 .subHF{
    background: #4a1a0e;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
    border-radius: 50vh;
    position: relative;
    padding: 15px 40px;
}
#main .headdingL01 .subHF::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -9px;
    border-top: 10px solid #4a1a0e;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
}
#main .headdingL01.haveNoEl{
    position: relative;
    width: fit-content;
    margin-left:auto;
    margin-right:auto;
}
#main .headdingL01.haveNoEl::before,
#main .headdingL01.haveNoEl::after,
#main .headdingL01 strong::before,
#main .headdingL01 strong::after{
	content: '';
	width: 20px;
	height: 36px;
	position: absolute;
	bottom: 0;
    top:0;
    margin: auto;
	left: -50px;
	background-image: url(./img/heading01_bg.png);
	background-repeat: no-repeat;
	background-size: contain;
}	
#main .headdingL01.haveNoEl::after,
#main .headdingL01 strong::after{
	left: unset;
	right:-50px;
	transform: scale(-1,1);
}

#main .headdingL01.haveBg{
    position: relative;
    padding-top: 80px;
    z-index: 0;
}
#main .headdingL01.haveBgAl,
#main .headdingL01.haveBg,
#main .headdingL01.haveBg *{
    color: #fff !important;
}
#main .headdingL01.haveBg::after{
    background: #4a1a0e;
    height: 340px;
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}
#main .popularMenuBox .headdingL01 strong::before,
#main .popularMenuBox .headdingL01 strong::after,
#main .contactBox .headdingL01.haveNoEl::before,
#main .contactBox .headdingL01.haveNoEl::after,
#main .pickupMenuBox .headdingL01 strong::before,
#main .pickupMenuBox .headdingL01 strong::after {
	background-image: url(./img/heading01_bg-g.png) !important;
}	

#history.headdingL01 {
    margin-top: 50px;
}

#main .headdingL02,
#main .singleDetail h2{
    background: url(./img/line01.png) repeat-x top, url(./img/line01.png) repeat-x bottom;
    padding: 15px 0;
    margin-bottom: 40px;
    font-size: 30px;
    font-weight: 700;
    text-align: center;
}
#main .headdingL02.versionSec{
    background: url(./img/line01.png) repeat-x top, url(./img/line01.png) repeat-x bottom;
}
#main .singleDetailHeadding{
    margin-bottom: 20px;
    text-align: left;
}
#main h3.pointHedding{
    background: #07a723;
    padding: 0;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content:flex-start; 
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
}
#main .pointHedding span.heddingNo{
	font-family: 'Noto Sans JP',"メイリオ","Meiryo",verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    background: #e62600;
    font-weight: 500;
    border-radius: 4px;
    color: #fff;
    display: inline-block;
    font-size: 18px;
    padding: 3px 10px;
    margin: 0 10px 0 0;
    line-height: 1.3;
    flex-grow: 0;
    flex-shrink: 0;
}
#main .pointHedding span.heddingNo span.noCrcl{
    display: inline-block;
    margin-left: 5px;
    line-height: 24px;
    text-align: center;
    color: #fff;
    border-radius: 100%;
    width: 24px;
    height: 24px;
    background: #fff;
    color: #e62600;
}

#main .headdingL03,
#main .singleDetail h3 {
    color: #fff;
    margin-bottom: 30px;
    padding:0 20px;
    font-size: 26px;
    font-weight: 500;
    position: relative;
    background: #083a95;
    border: 2px solid #222;
}
#main .headdingL04,
#main .singleDetail h4 {
    font-size: 24px;
    color: #fff;
    padding: 2px 20px;
    margin-bottom: 20px;
    background: #b36044;
}

#main .headdingL05,
#main .singleDetail h5 {
    position: relative;
    font-size: 20px;
    font-weight: 600;
    padding: 5px 20px;
    margin-bottom: 20px;
    border:#4a1a0e double;
    border-width: 2px 0;
}
#main .headdingL06,
#main .singleDetail h6 {
    position: relative;
    font-size: 16px;
    font-weight: 600;
    padding: 0 20px 5px;
    margin-bottom: 20px;
    border-bottom:#4a1a0e dotted 2px;
}

#main blockquote {
    background: #fde9cd;
    padding: 20px;
    margin-bottom: 50px;
}

#main blockquote p {
    margin: 0;
}

#main ul.normalUl,
#main .singleDetail ul {
    margin-bottom: 50px;
}
#main ul.normalUl li,
#main .singleDetail ul li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 5px;
}

#main ul.normalUl li:before,
#main .singleDetail ul li:before{
    position: absolute;
    top: 10px;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    border-radius: 100%;
    width: 10px;
    height: 10px;
    background: #5fcc25;
}

#main ol.normalOl,
#main .contentsList ol.indexUl,
#main .singleDetail ol {
    margin-bottom: 50px;
    counter-reset: olct;
}

#main ol.normalOl > li,
#main .contentsList ol.indexUl > li,
#main .singleDetail ol > li {
    position: relative;
    counter-increment: olct;
    list-style-type: none;
    padding-left: 30px;
    margin-bottom: 5px;
}
#main ol.normalOl > li::before,
#main .contentsList ol.indexUl > li::before,
#main .singleDetail ol > li::before{
    content: counter(olct);
    line-height: 24px;
    text-align: center;
    color: #fff;
    position: absolute;
    top: 3px;
    left: 0;
    margin: auto;
    vertical-align: middle;
    border-radius: 100%;
    width: 24px;
    height: 24px;
    background: #083a95;
}
#main .checkMarkList{
    font-size: 24px;
    font-weight: 700;
}
#main .checkMarkList li{
    background: url(./img/checkmark.png) top left no-repeat;
    padding-left: 42px;
    margin-bottom: 10px;
}

#main .singleDetail dl{
    margin-bottom: 30px;
}
#main .singleDetail dl dt{
    font-size: 20px;
    font-weight: bold;
    color: #083a95;
    margin-bottom: 0;
}
#main .singleDetail dl dd{
    margin-bottom: 15px;
}
#main .singleDetail table,
#main table.normalTable {
    margin: 0 0 50px;
    border: #222222 solid;
    border-width: 1px 0 1px 0;
    width: 100%;
}
#main .singleDetail table thead th,
#main table.normalTable thead th {
    background: #4a1a0e;
    color: #fff;
    text-align: center;
    border-left: #fff solid 1px;
    white-space: nowrap;
}

#main .singleDetail table th,
#main .singleDetail table td,
#main table.normalTable th,
#main table.normalTable td {
    padding: 15px 20px;
    line-height: 1.5;
    text-align: left;
    vertical-align: top;
    border-bottom: #222222 dotted 1px;
}
#main .singleDetail table td,
#main table.normalTable td {
    border-left: #e7e6e1 solid 1px;
    background: #fff;
}

#main .singleDetail table tbody th,
#main table.normalTable th {
    background: #e7e6e1;
    text-align: center;
    white-space: nowrap;
    min-width: 28%;
}
#main table.fixedTable {
    table-layout: fixed;
}
#main table.corporateTable{
    width: 900px;
    margin: 0 auto 60px;
}
#main table.corporateTable td {
    background: none;
    border-left: none;
}

#main table.corporateTable th {
    background: none !important;
    text-align: left !important;
    min-width: 28%;
    width: 20%;
}
#main table.corporateTable td,
#main table.corporateTable th {
    padding: 20px;
}

#main .voiceimg {
    max-width: 700px;
}

#blog #main .singleDetail table th,
#blog #main .singleDetail table td{
	border:solid 1px #222 !important;
}

/*--共通パーツ--*/
/*子ページなど一覧*/
#main .searchByCategory{
    background: #fff;
    border:#cccccc solid 1px;
    padding: 30px;
}
#main .searchByCategory .sbcHedding{
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 20px;
    text-align: center;
}
#main .searchByCategory .searchByCategoryUl{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content:flex-start; 
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px;
}
#main .searchByCategory .searchByCategoryUl li a{
    display: block;
    background: #ededed;
    color: #222;
    text-decoration: none;
    padding: 10px 20px;
}
#main .searchByCategory .searchByCategoryUl li.current_page_item a{
    background: #222;
    color: #fff;
}
#main .searchByCategory .searchByCategoryUl.tkkU li{
    width: calc((100% - 20px) / 3);
    text-align: center;
}

#main .frameBox {
    background: #fff;
    padding: 30px;
}

#main .photoUL {
    margin: 0 0 0 0;
    padding: 0;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap:40px;
}
#main .photoUL03 {
    gap:10px;
}

#main .photoUL li {
    margin: 0 !important;
    padding: 0 !important;
    background: none;
    overflow: hidden;
    position: relative;
    width: 44%;
    width: calc(50% - 20px);

}

#main .photoUL li:before,
#main .photoUL li:after {
    content: none !important;
}

#main .photoUL li span {
    display: block;
    height: 280px;
    overflow: hidden;
    position: relative;
}

#corporate #main .photoUL li span,
#staff #main .photoUL li span {
    height: auto;
}

#main .photoUL li p {
    padding: 10px 0;
    line-height: 1.8;
    font-weight: bold;
}

#main .photoUL03 li {
    width: 31%;
    width: calc((100% - 20px) / 3);
}

#main .photoUL03 li span {
    width: 100%;
    height: 220px;
    position: relative;
    overflow: hidden;
    display: block;
    margin-bottom: 5px;
}

#main .photoUL03 li span img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
}

#main .photoUL li .btn a {
    width: 100%;
    font-size: 16px;
    padding: 10px 40px 10px 10px;
    border-radius: 10px;
}

#main .photoUL li h5 {
    font-size: 15px;
    display: block;
    margin: 0;
    padding: 0;
    background: none;
    color: #222222;
}

#main .photoUL li span img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#main .pickupMenu {
    background: url(./img/bg_header.png);
    padding: 60px 60px 0;
}
#main .pickupMenuList {
    display: flex;
    gap: 20px 60px;
    flex-wrap: wrap;
    margin-bottom: 80px;
}
#main .pickupMenuList li{
    background: #222;
    border-radius: 5px;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    width: calc(50% - 30px);
}
#main .pickupMenuList li a{
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px 10px 30px;
}
#main .pickupMenuList li a img.ico{
}
#main .pickupMenuList li a span{
    flex-grow: 1;
}
.contactBtn a{
    font-size: 18px;
    padding: 10px 20px;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 700;
    border: #222222 solid 2px;
    border-radius: 5px;

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
.contactBtn .btnDiagnosis{
    background: #083a95;
}
.contactBtn .btnDiagnosis .icoFree{
    background: #e62600;
    line-height: 1;
    padding: 3px 5px 5px;
}

.contactBtn .btnContact{
    background: #5fcc25;
}

/*---checkエリア--*/
#main .checkBox {
    overflow: visible;
}
#main .checkL {
    display: flex;
    gap: 70px 20px;
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: 100px;
}
#main .checkL li{
    position: relative;
}
#main .checkLTtl {
    position: absolute;
    bottom: -70px;
    right: 0;
    left: 0;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    font-weight: 500;
    text-align: center;
    text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
    background: url(./img/bg_checklist.png) top right no-repeat;
    height: 152px;
    width: 151px;
}

#main .estimateFlow {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

#main .estimateFlow li {
    position: relative;
    width: 100%;
}
#main .estimateFlow li:last-child{
    overflow: hidden;
}
#main .estimateFlow li img{
    width: 100%;
    height: 159px;
    object-fit: cover;
    box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.2);
}
#main .estimateFlow li h3{
    border: none;
    background: #222222;
    padding: 10px 20px 10px 5px;
    margin-bottom: 0;
    position: relative;
    text-align: center;
    width: calc(100% + 20px);
    font-size: 18px !important;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    clip-path: polygon(0% 0%, calc(100% - 20px) 0%, 100% 50%, calc(100% - 20px) 100%, 0% 100%);
}
#main .estimateFlow li:last-child h3{
    padding: 10px 5px;
    width: 100%;
    clip-path: none;
}

#main .estimateFlow li p {
    margin-bottom: 0;
}

#main .strengthsList{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    counter-reset: strengthslist;
    margin:50px 0
}
#main .strengthsList li{
    counter-increment: strengthslist;
    width: 260px;
    box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.2);
    background: #fff;
}
#main .strengthsList li a{
    display: flex;
    flex-direction: column;
    gap: 20px;
    text-decoration: none;
}
#main .strengthsList li a .strengthNo{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    background: #083a95;
    color: #fff;
    text-align: center;
    font-family: 'Roboto', sans-serif;
}
#main .strengthsList.firstList li a .strengthNo{
    background: #083a95;
}

#main .strengthsList li a .strengthNo::after {
    content: counter(strengthslist, decimal-leading-zero);
    font-size: 36px;
}
#main .strengthsList li a figure{
    padding: 0 20px;
    margin: 0;
}
#main .strengthsList li a figure img{
    width: 100%;
    height: 100px;
    object-fit: cover;
}
#main .strengthsList li a .strengthHeadding{
    text-align: center;
    font-size: 22px;
    color: #222;
    line-height: 1.5;
}
#main .strengthsList li a::after {
    font-family: "Font Awesome 5 Free";
    content: '\f107';
    font-weight: 900;
    font-size: 20px;
    width: 100%;
    text-align: center;
    display: block;
    position: relative;
    background: #222;
    color: #fff;
}
#main .strengthsCtxList {
    counter-reset: strengthsCtxlist;
}
#main .strengthsCtxList li.strengthsCtx{
    counter-increment: strengthsCtxlist;
    padding: 270px 0 0;
    position: relative;
}
#main .strengthsCtxList li.strengthsCtx:nth-child(odd){
    background: url(./img/bg_footer.png);
}
#main .strengthsCtxList .innerLtl>*:last-child{
    margin-bottom: 80px;
}
#main .strengthsCtxList li.strengthsCtx::before{
    content: "STRENGTHS";
    color: #4a1a0e;
    font-family: 'Roboto', sans-serif;
    position: absolute;
    top: 100px;
    right: 0;
    left: 0;
    margin: auto;
    width: fit-content;
    display: block;
}
#main .strengthsCtxList li.strengthsCtx::after {
    content: counter(strengthsCtxlist, decimal-leading-zero);
    font-family: 'Roboto', sans-serif;
    font-size: 36px;
    color: #b36044;
    background: #fff;
    border:2px solid #b36044;
    position: absolute;
    top: 130px;
    right: 0;
    left: 0;
    margin: auto;
    display: block;
    width: fit-content;
    line-height: 1;
    padding: 30px;
}
#main .strengthsCtxList .strengthsImg{
    display: block;
    margin: 0 auto 50px;
    max-width: 800px;
}
#main .strengthsCtxList li.strengthsCtx .headdingL02{
    font-size: 30px;
}
#main .strengthsCtxList .inyBox{
    border-top: dotted 2px #222;
    border-bottom: dotted 2px #222;
    padding: 25px;
    text-align: center;
    margin: 50px 0;
}

/*---areaBox--*/
#main .areaBox{
    background: #4479ff;
    color: #fff;
    padding: 42px;
    display: flex;
    gap: 50px;
    align-items: center;
    justify-content: center;
}
#main .areaBox .mapImg{
}
#main .areaBox .areaTxt{
}
#main .areaBox h4{
    font-size: 26px;
    text-align: center;
}
#main .areaBox h5{
    font-size: 18px;
    color: #222;
    background: #fff;
    border: #083a95 2px solid;
    border-radius: 50vh;
    text-align: center;
    width: fit-content;
    padding: 2px 80px;
    margin: 15px auto;
}
#main .areaBox p{
    word-break: keep-all;
    padding: 0 10px;
}

/*---バナーエリア--*/
#main .bnrBox {
    position: relative;
    overflow: hidden;
}
#main .bnrBox a {
    display: block;
    margin-bottom: 50px;
}
#main .bnrBoxH a {
    margin-bottom: 20px;
}

#main .bnrBox img {
    display: block;
    margin: 0 auto;
}

#main .bnrBox .bnrList {
    display: flex;
    gap: 60px;
}
#main .bnrBox .bnrList li {
    margin-top: 0;
}
#main .bnrBox .bnrList li a{
    margin-bottom: 0;
}


/*---商品メニュー一覧--*/
#main .menuBoxH {
    background: url(./img/bg_menuheadding.png) center;
    min-height: 643px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding-left: 50px;
    margin-top: -160px;
}
#main .menuBoxH strong{
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    text-align: right;
    width: 400px;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
#main .menuBoxH span.headCtx {
    font-family: "Roboto", sans-serif;
    font-size: 100px;
    font-weight: 700;
    color: #ffffff;
    display: inline-block;
    line-height: 0.8;
    min-width: 400px;
}
#main .menuBoxH span.headCtx:first-letter{
	color: #4a1a0e;
}
#main .menuBox {
    background: url(./img/bg_footer.png);
    padding: 80px 0;
}
#main .menuBox:has(+.popularMenuBox),
#main .menuBox:has(+.contactBox) {
  margin-bottom: 0 !important;
}
#main .menuCatList{
    display: flex;
    gap: 20px;
}
#main .menuCatList li{
    width: calc((100% - 60px) / 4);
    background: #fff;
    border:#222 solid 2px;
    border-radius: 5px;
    position: relative;
    text-align: center;
    margin-bottom: 50px;
    padding: 15px 0;
    font-weight: 700;
}
#main .menuCatList li.active,
#main .menuCatList li:hover{
    background: #222;
    color: #fff;
}
#main .menuCatList li.active:before,
#main .menuCatList li:hover:before{
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -10px;
	border-top: 10px solid #222;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
}


#main .serviceMenu {
    position: relative;
    margin-bottom: 50px;
}
#main .menuCatTop{
    display: none;
}
#main .menuCatTop.active{
    display: block !important;
}

#main .serviceMenu.inner{
    overflow: visible;
}
#main .serviceMenu h3.headdingL02{
    padding: 10px 0;
    font-size: 26px;
}
#main .serviceMenu h3.headdingL02:has(+.txtAtt){
    margin-bottom: 10px;
}

#main .serviceMenu .txtAtt{
    text-align: right;
    font-size: 14px;
}
#main .menuListU {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
}
#main .menuListU li{
    box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.2);
    background: #fff;
    width: calc((100% - 60px) / 4);
}
#main .menuListU li a{
    color: #222;
    text-decoration: none;
}
#main .menuListU li h4.itemName{
    background: #5fcc25;
    color: #fff;
    font-size: 19px;
    text-align: center;
    line-height: 1;
    padding: 20px 5px;
}
#main .menuCatClrL .serviceMenu:nth-of-type(odd) .menuListU li h4.itemName {
    background: #083a95;
}

/*商品カテゴリページにて、工事メニュー一覧の奇数グループにあたるメニューを背景色変更*/
#main .catMenuList #roof02 .menuListU li h4.itemName,
#main .catMenuList #roof03 .menuListU li h4.itemName,
#main .catMenuList #gableboard .menuListU li h4.itemName,
#main .catMenuList #chimney .menuListU li h4.itemName,
#main .catMenuList #wall02 .menuListU li h4.itemName,
#main .catMenuList #wall03 .menuListU li h4.itemName,
#main .catMenuList #raingutter .menuListU li h4.itemName,
#main .catMenuList #caulking .menuListU li h4.itemName,
#main .catMenuList #amamori .menuListU li h4.itemName{
    background: #083a95;
}
#main .menuListU li h4.itemName .subHdg {
    font-size: 15px;
    display: block;
    margin-bottom: 5px;
}
#main .menuListU .packSummary {
    padding: 20px;
}
#main .menuListU .packSummary:has(h5) {
    padding: 10px 20px 15px;
}
#main .menuListU .materialName {
    font-size: 14px;
    margin-bottom: 10px;
    text-align: center;
}
#main .menuListU .packImg {
    width: 220px;
    height: 120px;
    display: block;
}
#main .menuListU .packImg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#main .menuListU .years,
#main .menuListU .guarantee {
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 0;
    margin-top: 10px;
}
#main .menuListU .guarantee {
    margin-top: 0;
}
#main .menuListU .stars {
    color: #ffb500;
    font-size: 36px;
    text-align: center;
    margin-bottom: 0;
    line-height: 1;
}
#main .menuListU .stars span{
    color: #e6e6e6;
}
#main .menuListU .headdingPrice{
    color: #fff;
    background: #222;
    text-align: center;
    padding: 2px 0;
    font-size: 16px;
    font-weight: 700;
}
#main .menuListU .priceBox {
    padding: 20px;
    text-align: right;
    line-height: 1;
}
#main .menuListU .priceTxt {
    font-size: 34px;
    color: #e62600;
    font-weight: 900;
    letter-spacing:-0.07em;
}
#main .menuListU .priceTxt .unitTxt{
    font-size: 18px;
    letter-spacing:normal;
    margin-left: 3px;
}
#main .menuListU .priceTxt .unitTxt span{
    font-size: 14px;
    color: #222;
    font-weight: normal;
}
#main .menuListU .priceTxt .txtS {
    font-size: 14px;
}
#main .menuCatListBtn {
    width: 640px;
    display: flex;
    flex-wrap: wrap;
    gap:20px 40px;
    margin: 0 auto;
}
#main .menuCatListBtn li{
    width: calc((100% - 40px) / 2);
}
#main .menuCatListBtn li a.btn{
    width: 100%;
    font-size: 18px;
    color: #fff !important;
    background: #4a1a0e;
}

/*-------------------#popularMenu-----------------*/
#main .popularMenuBox{
    background: url(./img/bg_footer.png);
}
#main .popularMenuListU {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
#main .popularMenuListU li{
    box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.2);
    background: #fff;
    width: calc((100% - 60px) / 4);
}
#main .popularMenuListU li a{
    text-decoration: none;
}
#main .popularMenuListU .popularMenuName{
    background: #083a95;
    color: #fff;
    text-align: center;
    font-size: 18px;
    position: relative;
    padding: 10px 20px 10px 0;
}
#main .popularMenuListU .emLi .popularMenuName{
    background: #5fcc25;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3px;
}
#main .popularMenuListU .emLi .popularMenuName .freeIco{
    background: #e62600;
    line-height: 1;
    padding: 3px 3px 5px;
}
#main .popularMenuListU .popularMenuName::after{
    font-family: "Font Awesome 5 Free";
    content: '\f105';
    font-weight: 900;
    right: 20px;
    position: absolute;
    font-size: 20px;
    height: 1em;
    top: 0;
    bottom: 0;
    margin: auto;
    display: block;
    line-height: 1;
}
#main .popularMenuListU .menuImg {
    display: block;
    padding: 20px;
}
#main .popularMenuListU .menuImg img {
    width: 220px;
    height: 120px;
    object-fit: cover;
}

/*目次*/
#main .indexUl {
    border: solid 2px #222222;
    padding: 0.5em;
    position: relative;
    margin-top: 3em;
    background: #fff;
}

#main .indexUl:after {
    /*タイトルタブ*/
    background: #222222;
    color: #fff;
    font-weight: 700;
    position: absolute;
    left: -2px;
    bottom: 100%;
    padding: 1px 8px;
    content: "目次";
    /*タブの文字*/
    letter-spacing: 0.05em;
    /*字間*/
}
#main .singleDetail .indexUl li {
    line-height: 1.5;
    padding: 0;
    list-style-type: none !important;
    margin: 5px 0;
}
#main .singleDetail .indexUl li::before,
#main .singleDetail .indexUl li::after{
    content: none;
}

#main .indexUl li a {
    color: #222222;
    text-decoration: none;
    display: block;
    position: relative;
    padding: 7px 0 7px 28px;
    border-bottom: dotted 1px #222222;
}

#main .indexUl li a:before {
    content: "";
    width: 10px;
    height: 10px;
    border: 2px solid;
    border-color: transparent transparent #222222 #222222;
    transform: rotate(-45deg);
    position: absolute;
    left: 3px;
    top: 12px;
    bottom: 0;
}
#main .indexUl li a span.heddingNo{
    background: #e62600;
    font-weight: 500;
    border-radius: 4px;
    color: #fff;
    display: inline-block;
    font-size: 14px;
    padding: 0 5px;
    margin: 0 5px 0 0;
    line-height: 1.3;
}
#main .indexUl li a span.heddingNo span.noCrcl{
    display: inline-block;
    margin-left: 5px;
    line-height: 14px;
    text-align: center;
    color: #fff;
    border-radius: 100%;
    width: 14px;
    height: 14px;
    font-size: 12px;
    background: #fff;
    color: #e62600;
}
/*コンテンツリストの目次は普通のリスト形式に*/
#main .contentsList ol.indexUl{
    border: none;
    padding: 0;
    margin-top: 0;
    background: none;
}
#main .contentsList ol.indexUl:after{
    content: none;
}
#main .contentsList ol.indexUl li a {
    padding: 0;
    border-bottom: none;
}
#main .contentsList ol.indexUl li a::before {
    content: none;
}
#main .contentsList ol.indexUl li a .heddingNo{
    display: none;
}
#main ol.indexUlCld {
    counter-reset: numbers !important;
    list-style-type: none !important;
    padding: 0;
    border: none;
    margin: 0 0 0 15px !important;
}

#main .indexUlCld::before {
    content: none;
}

#main .indexUlCld li {
    position: relative;
    line-height: 1.5em;
    padding: 0;
    border: none;
}

#main .indexUlCld li a {
    border: none;
}

#main .indexUlCld li a:before {
    border: none;
    position: absolute;
    counter-increment: numbers;
    content: counter(numbers);
    display: inline-block;
    background: #0061bc;
    color: white;
    font-weight: 700;
    font-size: 15px;
    left: 0;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    line-height: 25px;
    text-align: center;
    top: 50%;
    -webkit-transform: translateY(-50%);
}

#main .itemImg {
    width: 335px;
    height: auto;
    position: static;
    overflow: hidden;
    display: block;
    float: right;
    margin: 0 0 30px 30px;
    text-align: center;
}

#main .itemImg img {
    position: static;
    /*    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);*/
/*    width: 100%;*/
    height: auto;
    max-width: 100%;
}

#main .spec {
    font-weight: 700;
}

#main .itemSummery {
    width: auto;
    position: relative;
    overflow: hidden;
}

#main .itemSummery p {
    line-height: 1.8;
}

#main .itemSummery .price {
    font-size: 80px;
    font-family: 'Bahnschrift', sans-serif;
    font-weight: 900;
    font-variation-settings: 'wght' 900, 'wdth' 90;
    letter-spacing: -0.01em;
    color: #f3981e;
    line-height: 1.2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    -webkit-align-items: baseline;
    align-items: baseline;
}

#main .itemSummery .price img {
    margin-right: 10px;
}

#main .itemSummery .price .unitTxt {
    font-family: inherit;
    font-size: 26px;
    position: relative;
}

#main .itemSummery .price .txtS {
    font-size: 13px;
    color: #222222;
    font-weight: normal;
    position: absolute;
    bottom: 100%;
    left: 0;
}

#main .itemFeature {
    position: relative;
    overflow: hidden;
}

#main .itemFeature li {
    width: 180px;
    float: left;
    margin: 30px 26px 0 0;
    padding: 0;
}

#main .itemFeature li:before,
#main .itemFeature li:after {
    content: none;
}

#main .itemFeature li:nth-child(-n+4) {
    margin-top: 0;
}

#main .itemFeature li:nth-child(4n) {
    margin-right: 0;
}

#main .itemFeature li:nth-child(4n+1) {
    clear: both;
}

#main .itemFeature li .featureImg {
    width: 180px;
    height: 180px;
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0 0 10px;
    background: #fff;
}

#main .itemFeature li .featureImg img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
}

#main .itemFeature li h5 {
    border-radius: 0;
    display: block;
    font-size: 16px;
    text-align: center;
    padding: 5px 0;
    margin-bottom: 10px;
}

#main .itemFeature li p {
    font-size: 12px;
}


#main .basicBox .basicList {
    background: #66b60e url(./img/bg_stripeS.png) center center;
    position: relative;
    overflow: hidden;

}

#main .basicBox .basicList .floatL {
    background: #4c8f2b;
    padding: 10px;
    box-sizing: border-box;
    float: none;
}

#main .basicBox .basicList .floatL h3 {
    color: #fff;
    background: none;
    font-size: 20px;
    border: none;
    margin-bottom: 0;
}

#main .basicBox .basicList .floatL h3 span {
    border-radius: 50px;
    background: #003b68;
    /*    width: 25px;*/
    height: 25px;
    box-sizing: border-box;
    margin: 0;

}

#main .basicBox .basicList.basicImg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

#main .basicBox .basicList.basicImg .floatL {

    flex-basis: 150px;
    width: 150px;
}

#main .basicBox .basicList.basicImg .floatL h3 {
    margin-bottom: 15px;
    text-align: center;
}

#main .basicBox .basicList.basicImg .floatL h3 span {
    font-size: 80px;
    width: 100px;
    height: 100px;
    padding: 0;
    margin: 5px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    font-family: 'Bahnschrift', sans-serif;
    font-weight: 900;
    font-variation-settings: 'wght' 900, 'wdth' 90;
    letter-spacing: -0.01em;   
    line-height: 1;
}

#main .basicBox .basicList .floatL p {
    color: #fff;
    font-size: 11px;
    line-height: 1.4;
    margin-bottom: 0;
}

#main .basicBox .basicList ul {
    padding: 10px;
    overflow: hidden;
    counter-reset: basiclist;
    flex-basis: 650px;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
}

#main .basicBox .basicList.basicImg ul {
    display: block;
}

#main .basicBox .basicList ul li {
    margin: 10px 10px 0 0;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    padding: 0;
    box-sizing: border-box;
    counter-increment: basiclist;
    flex-basis: inherit;
}

#main .basicBox .basicList ul li:before,
#main .basicBox .basicList ul li:after {
    content: none;
}

#main .basicBox .basicList.basicImg ul li {

    width: 150px;
    float: left;
}

#main .basicBox .basicList.basicImg ul li:nth-child(-n+4) {
    margin-top: 0;
}

#main .basicBox .basicList.basicImg ul li:nth-child(4n),
#main .basicBox .basicList ul li:last-child {
    margin-right: 0;
}

#main .basicBox .basicList ul li h6 {
    background: #ebce08;
    color: #003b68;
    font-size: 15px;
    padding: 10px 5px;
    position: relative;
    margin-bottom: 0;
    line-height: 1.2;
}

#main .basicBox .basicList.basicImg ul li h6 {

    padding: 5px 5px 5px 20px;
}

#main .basicBox .basicList ul li h6:before {
    content: counter(basiclist, decimal);
    background: none;
    display: block;
    color: #003b68;
    position: relative;
    font-family: inherit;
    left: 0;
}

#main .basicBox .basicList.basicImg ul li h6:before {
    position: absolute;
    left: 7px;
    top: 5px;
    display: inline-block;
}

#main .basicBox .basicList ul li h6 span {
    font-size: 11px;
    display: block;
}

#main .basicBox .basicList ul li img {
    display: block;
    margin: 5px auto 0;
}

/*-------------------.message-----------------*/
#main .message:has(+.pickupMenuBox) {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
#main .message .imgLayer{
	position: relative;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	display: block;
}
#main .message .messageBox{
	padding-bottom:100px;
	padding-top:80px;
	background: #efefef;
}

#main .message .messageBox .inner{
	margin: 50px auto 0;
	display: flex;
	gap: 60px;
}
#main .msgPhoto {
    width: 320px;
	display: flex;
    gap:20px;
    flex-direction: column;
}
#main .msgPhoto img{
	width: 100%;
	height: auto;
}
#main .msgText{
	flex: 1;
}
#main .msgText p {
    font-size: 16px;
    line-height: 2.5;
}
#main .msgText p.ceoName{
    font-size: 18px;
	font-weight: 700;
    line-height: 1.8;
	margin-top: 30px;
}




/*--comSelectPoint--*/
#main .selectPoint ol {
    counter-reset: selectP;
    padding: 0;
    margin: 0 0 20px;
}

#main .selectPoint li {
    padding: 0;
    position: relative;
    overflow: hidden;
    background: none;
    counter-increment: selectP;
    padding: 0;
    list-style: none;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 15px;
}

#main .selectPoint li:last-child {
    margin-bottom: 0;
}

#main .selectPoint li span {
    position: relative;
    color: #fff;
    background: url(./img/ico_point.png) no-repeat center center;
    width: 113px;
    height: 113px;
    float: left;
    margin-right: 15px;
    font-size: 22px;
    text-align: center;
    line-height: 1.2;
    padding-top: 25px;
}

#main .selectPoint li span:after {
    content: "\A" counter(selectP, decimal-leading-zero);
    white-space: pre;
    line-height: 1;
    font-size: 36px;
}

#main .selectPoint li h3 {
    background: none;
    border-top: none;
    font-size: 36px;
    display: table-cell;
    padding: 0;
    margin-bottom: 5px;
}

#main .selectPoint li h3 strong {
    color: #f3981e;
}



/*--コンタクトエリア02--*/

#main .ftrConBox {
    background: #fff;
    padding: 10px 10px 0 10px !important;
    overflow: visible;
    position: relative;
    border: #e62600 solid 7px;
    margin-bottom: 50px;
}

#main .ftrConBox .imgLayer {
    right: 0;
    bottom: -7px;
}

#main .ftrConBox h2 {
    color: #222222;
    background: none;
    border: none;
    padding: 0;
    margin-bottom: 15px;
    font-size: 26px;
    font-weight: 700;
}

.nocolumn #main .ftrConBox h2 {
    font-size: 30px;
}

#main .ftrConBox h2 strong {
    color: #e62600;
}

#main .ftrConBox h2 span {
    font-size: 20px;
    border-radius: 4px;
    background: #57a800;
    color: #fff;
    font-size: 25px;
    padding: 0 5px;
    margin-right: 5px;
    vertical-align: 10%;
}

#main .ftrConBox h2 span img {
    width: 220px;
    height: auto;
}

#main .ftrConBox .telBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    margin-bottom: 5px;
}

#main .ftrConBox .tel {
    float: left;
    margin-right: 5px;
    font-size: 13px;
    line-height: 1.2;
}

#main .ftrConBox .btn a {
    padding: 10px 50px 14px 20px;
}

.nocolumn #main .ftrConBox .btn a {
    padding: 10px 80px 10px 50px;
    font-size: 20px;
    margin-bottom: 5px;
}

#main .ftrConBox .tel span {
    display: block;
    font-size: 56px;
    padding-left: 50px !important;
    background-size: 45px auto !important;
}

.nocolumn #main .ftrConBox .tel span {
    font-size: 80px;
    padding-left: 90px !important;
    background-size: 85px auto !important;
    margin-right: 20px;
}

#main .ftrConBox a {
    display: block;
}

#main .ftrConBox .catchTxt {
    background: #e62600;
    color: #fff;
    font-size: 20px;
    margin: 0 -11px -1px -12px;
    clear: both;
    padding: 0 10px;
    font-weight: 700;
}

#main .ftrConBox strong {
    border-radius: 4px;
    color: #fff;
}

#main .ftrConBox ul {
    position: relative;
    overflow: hidden;
    float: none;
}

#main .ftrConBox ul li {
    border-radius: 4px;
    float: left;
    position: relative;
    overflow: hidden;
    font-size: 13px;
    font-weight: 700;
}

#main .ftrConBox ul li:last-child {
    margin-right: 0;
}

#main .ftrConBox ul li a {
    display: block;
    text-decoration: none;
    color: #222222;
}

#main .ftrConBox ul li img {
    /*float: left;
    margin-right: 15px;*/
}

#main .ftrConBox ul li h4 {
    color: #fed900;
    font-size: 22px;
    line-height: 1.2;
}
#main article .ftrConBox{
    margin-top: 25px;
}

/*--コンタクトエリア--*/
#main .contactBox {
    background: #4a1a0e;
    border:solid #222;
    border-width: 2px 0;
    margin: 0 !important;
    padding: 60px 0;
}
#main .contactBox .headdingL01 {
    font-size: 22px;
}
#main .hasForm .contactBox .headdingL01 {
    margin-bottom: 5px;
}
#main .contactBox .inner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 55px;
}

#main .contactBox .holidayP {
    font-size: 16px;
}
#main .contactBox .tel {
    margin: 0;
    line-height: 1.2;
    color: #fff;
}

#main .contactBox .tel span.tel-link {
    display: block;
    font-size: 52px;
}
#main .hasForm .contactBox .tel span.tel-link {
    font-size: 80px;
}

#main .contactBox ul.contactBtn {
    clear: both;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
#main .hasForm .contactBox ul.contactBtn{
    display: none;
}

#main .contactBox ul.contactBtn li {
}
#main .contactBox ul.contactBtn .btnContact {
    background: #5fcc25;
}
#main .contactBox .contactChara {
    width: 110px;
}


/*--電話番号コンパクト表示----*/
#main .contactTel .contactCatch span {
    background: #fff;
    border-radius: 3px;
    text-align: center;
    color: #112943;
    display: inline-block;
    width: 48%;
    width: calc(50% - 5px);
    margin: 0 0 0 5px;
    box-sizing: border-box;
}

#main .contactTel .contactCatch span:first-of-type {
    margin-left: 0;
}

#main .contactTel .tel {
    font-size: 12px;
}

#main .contactTel .tel span {
    font-size: 50px;
    color: #e62600;
    padding-left: 50px;
    display: block;
    background-size: 48px auto;
    font-variation-settings: 'wght' 700, 'wdth' 100;
}


#main .contactTel p {
    font-size: 15px;
    line-height: 1.3;
    margin-bottom: 5px;
}
/*--来店予約----*/
#main .reserveBox{
    padding-top: 20px;
    margin-bottom: 50px;
}
#main .reserveBox a{
    background: url(./img/bg_bnr_shoroomR.png) no-repeat;
    height: 316px;
    display: block;
    padding: 155px 0 0 750px;
}
#main .reserveBox a:hover{
    opacity:1 !important;
}
#main .reserveBox .btnS{
    opacity:1 !important;
}
#main .reserveBox .btnS{
    opacity:1 !important;
}
#main .contactT .reserveBox{
    margin: 25px 0 0;
}
#main .contactT .reserveBox.inner{
    width: 100%;
}
#main .contactT .reserveBox a{
    background: url(./img/bg_bnr_shoroomS.png) no-repeat;
    height: 368px;
    padding: 270px 0 0 0;
}


/*--下層ページメインビジュアル--*/
#pageTitle {
    position: relative;
    overflow: hidden;
    background-image: 
    url(./img/bg_pagetitlel.png),
    url(./img/bg_pagetitle.png);
    background-position:
    right bottom,
    center center;
    background-repeat:
    no-repeat,
    repeat;
}

#pageTitle .inner {
    width: calc(100% - 320px);
    min-width: 1100px;
    text-align: right;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 200px;
}

#pageTitle h1 {
    font-weight: 500;
    display: inline-block;
    font-size: 36px;
    background: #222;
    color: #fff;
    padding: 0 30px;
}

/*-------------------#leadBox-----------------*/
#main .leadBox{
    overflow: visible;
}
#main .leadCts{
  display: flex;
  justify-content: space-between;
}

#main .leadTxt {
  width: 70%;
  padding-right: 40px;
}
#main .leadImg {
  width: 30%;
}
#main .leadImg > p {
  width: 50vw;
  height: 400px;
  overflow: hidden;
  margin-right: calc((50vw - 100%) * -1);
}

#main .leadImg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#main .ltlHding{
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    font-size: 18px;
    font-weight: 700;
}
#main .ltlHding span{
    font-size: 20px;
    font-weight: 900;
    color: #083a95;
    margin:0 10px 0 0;
}
#main .ltlHding span::after{
    content: "：";
}

/*--ぱんくずエリア--*/
#pagePath {
    padding: 20px 0 10px;
}

#pagePath p {
    width: calc(100% - 320px);
    min-width: 1100px;
    margin: 0 auto;
    font-size: 14px;
}

/*--フォーム--*/
#main .formArea{
    width: 900px;
}
#main #form {
    margin: 0 auto 0 auto;
    padding: 10px 0 0;
}

#form ul {
    margin-bottom: 40px;
}

#form ul li {
    background: none !important;
    padding: 0;
}

#form ul li:before,
#form ul li:after {
    content: none;
}

#main #form table {
    width: 100%;
    margin: 0 auto 40px;
    background: #fff;
    border: solid 1px #083a95;
}
#main #form table th p,
#main #form table td p{
    margin-bottom: 0;
    line-height: 1.8;
}
#main #form th {
    text-align: left;
    padding: 15px;
    vertical-align: top;
    width: 30%;
    border: none;
    color: #fff;
    border-bottom: solid 1px #fff;
    background: #083a95;
}

#main #form th span {
    background: #e62600;
    color: #fff;
    line-height: 1.2;
    font-size: 14px;
    padding: 0 10px;
    margin-right: 5px;
}

#main #form th span.any {
    background: #b0b0b0;
}

#main #form td {
    padding: 20px;
    vertical-align: middle;
    font-size: 13px;
    border: none;
    border-bottom: solid 1px #083a95;
}

#main #form td .wpcf7c-elm-step1 {
    font-size: 13px;
}

#main #form td>span {
    display: inline-block;
    font-size: 16px;
}

#main #form td span.your-order span span {
    font-weight: 700;
    margin-right: 10px;
}

#main #form td a {
    color: #222222;
    font-size: 16px;
    padding-left: 25px;
    display: inline-block;
}

#main #form td input[type="text"],
#main #form td input[type="tel"],
#main #form td input[type="email"] {
    padding: 5px;
    height: 35px;
    border: 1px solid #cccccc;
    box-sizing: border-box;
    background: #f9f9f9;
    width: 100%;
}

#main #form td select,
#main #form td input[type="date"] {
    width: 200px;
    font-size: 14px;
    padding: 2px;
    height: 30px;
    line-height: 30px;
    border: 1px solid #CCC;
    box-sizing: border-box;
    margin-right: 10px;
    background: #f9f9f9;
}

#main #form td input[type="date"] {
    width: 360px;
}

#main #form td input[name="your-zip"] {
    display: inline-block;
    width: 200px !important;
}

#main #form td input:placeholder-shown,
#main #form td textarea:placeholder-shown {
    color: #b0b0b0;
}

#main #form td input::-webkit-input-placeholder,
#main #form td textarea::-webkit-input-placeholder {
    color: #b0b0b0;
}

#main #form td input:-moz-placeholder,
#main #form td textarea:-moz-placeholder {
    color: #b0b0b0;
    opacity: 1;
}

#main #form td input::-moz-placeholder,
#main #form td textarea::-moz-placeholder {
    color: #b0b0b0;
    opacity: 1;
}

#main #form td input:-ms-input-placeholder,
#main #form td textarea:-ms-input-placeholder {
    color: #b0b0b0;
}

#main #form td input[type="checkbox"] {
    display: inline-block;
    margin-right: 5px;
}

#main #form .submit {
    text-align: center;
}
#main #form .submit p{
    margin: 0;
}

#main #form .submit li {
    margin: 0 5px;
    display: inline;
}

#form .submit .wpcf7c-btn-back {
    background-color: rgba(0, 0, 0, 0.2);
    border: solid 1px #777;
    box-shadow: 0px 4px 0px 0px #afafaf;
    -moz-box-shadow: 0px 4px 0px 0px #afafaf;
    -webkit-box-shadow: 0px 4px 0px 0px #afafaf;
    color: #949494;
}

#contents #main .wpcf7c-btn-back textarea[readonly] {
    background: #efefef !important;
}

#main #form td input.wpcf7c-conf,
#main #form td select.wpcf7c-conf,
#main #form td textarea.wpcf7c-conf {
    border: none;
    background: #efefef;
}

#main #form td select.wpcf7c-conf {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-indent: .01px;
    text-overflow: "";
}

#main #form td select.wpcf7c-conf::-ms-expand {
    display: none;
}

#form th,
#form td {
    padding: 15px 20px;
    line-height: 1.5;
    text-align: left;
    vertical-align: top;
}

#form th {
    width: 20%;
    color: #222222;
}

#form table {
    margin-bottom: 20px;
}

#form td .wpcf7c-elm-step1 {
    font-size: 13px;
}

#form td>span {
    display: inline-block;
    font-size: 16px;
}

#form td a {
    padding-left: 25px;
    position: relative;
}

#form td a:before {
    font-family: "Font Awesome 5 Free";
    line-height: 1.3;
    content: '\f138';
    font-weight: 900;
    left: 0;
    position: absolute;
    font-size: 12px;
    top: 0;
    bottom: 0;
    height: 14px;
    margin: auto;
    display: block;
    color: #083a95;
}

#form td input[type="text"],
#form td input[type="tel"],
#form td input[type="email"] {
    padding: 5px;
    height: 30px;
    /*line-height: 30px;*/
    border: 1px solid #CCC;
}

#form td select,
#form td input[type="date"] {
    width: 200px;
    font-size: 14px;
    padding: 2px;
    height: 30px;
    line-height: 30px;
    border: 1px solid #CCC;
    margin-right: 10px;
}

#form td input[type="date"] {
    width: 360px;
}

#form td textarea {
    padding: 5px;
    border: 1px solid #cccccc;
    background: #f9f9f9;
    width: 100%;
}


#form .submit {
    text-align: center;
}

#form .submit li {
    margin: 0 5px;
    display: inline;
}

#form input[type="submit"] {
    cursor: pointer;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 20px;
    font-weight: 700;
    padding: 20px 100px 20px 80px;
	background: #4a1a0e url(./img/bgbtn.png) no-repeat center right 20px;
    border: #222222 solid 2px;
    text-align: center;
    border-radius: 5px;
    margin: 0 auto;
    width: fit-content;
    display: block;
    position: relative;
}
#form .submit input:hover {
	opacity: 0.8;
}

#form .submit input[type="button"] {
    margin-right: 10px;
}

#form td input.wpcf7c-conf,
#form td select.wpcf7c-conf {
    border: none;
    background: #fffeee;
}

#form td select.wpcf7c-conf {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-indent: .01px;
    text-overflow: "";
}

#form td select.wpcf7c-conf::-ms-expand {
    display: none;
}

#form td input.wpcf7c-conf:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1100px #efefef inset;
}

.wpcf7-validation-errors {
    background: #fff;
    border: 3px solid #f3981e !important;
}



span.wpcf7-list-item {
    margin-left: 0;
}


/*--ブログ形式ページ--*/
#main #toc_container {
    background: #fff;
    border: 1px solid #aaa;
    padding: 10px;
    margin-bottom: 1em;
    width: 80%;
    display: table;
    font-size: 95%;
    margin: 0 auto 20px;
}
#main .taxListBox{
	margin: 50px 0;
}
#main .taxListBox h3{
    position: relative;
    width: 100%;
    margin: 0 0 15px 0;
    font-weight: 300 !important;
    line-height: inherit !important;
    font-size: 16px;
}

#main .taxListBox h3::before,
#main .taxListBox h3::after {
    position: relative;
    display: inline-block;
    content: "";
    background: #222;
    width: 2px;
    height: 1.2em;
    margin: 0 1em;
    margin-top: -.2em;
    vertical-align: middle;
}

#main .taxListBox h3::before {
    transform: rotate(-25deg);
}

#main .taxListBox h3::after {
    transform: rotate(25deg);
}
#main .taxListBox h3:nth-of-type(n+2){
	margin-top: 30px;
}
#main ul.taxList {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
#main ul.taxList li a{
    background: #fff;
    border:#083a95 2px solid;
    color: #222;
	display: inline-block;
    font-size: 14px;
    border-radius: 5px;
    text-decoration: none;
    padding: 2px 20px;
	margin: 0;
}
#main ul.taxList li.current-cat a,
#main ul.taxList a:hover{
    border:#083a95 2px solid;
    background: #083a95;
    color: #fff;
}
#main ul.taxList.taxSecond a{
    border:#5fcc25 2px solid;
}
#main ul.taxList.taxSecond li.current-cat a,
#main ul.taxList.taxSecond a:hover{
    border:#5fcc25 2px solid;
    background: #5fcc25;
    color: #fff;
}
#main ul.taxList.taxThird a{
    border:#083a95 2px solid;
}
#main ul.taxList.taxThird li.current-cat a,
#main ul.taxList.taxThird a:hover{
    border:#083a95 2px solid;
    background: #083a95;
    color: #fff;
}
#main ul.taxList.taxFourth a{
    border:#083a95 2px solid;
    background: #083a95;
    color: #fff;
}

#main .infoBox {
    padding: 0;
    overflow: hidden;
    margin-bottom: 20px;
}
#main .faqList .infoBox{
    margin-bottom: 20px;	
}
#main .infoBox .time {
    color: #222;
    text-align: right;
    margin: 20px 0 0;
}

/*--施工事例・ブログ--*/
#main .blogBox,
#main .worksBox {
    padding: 50px 0 0;
    margin-bottom: 80px;
    overflow: visible;
}
#main .worksNumber{
    margin: 0 auto 20px;
    border-radius: 50vh;
    padding: 0 100px;
    width: fit-content;
    border:#083a95 2px solid ;
    color: #222;
    background: #fff;
    font-size: 24px;
    font-weight: 700;
}
#main .worksNumber .ltlSt{
    font-size: 18px;
}

#main .archiveList {
    margin-bottom: 50px;
    display: flex;
    justify-content: flex-start;
    gap: 40px;
    flex-wrap: wrap;
}
#main .archiveList.archiveColumns {
    gap:20px
}
#main .archiveList li {
    width: calc((100% - 40px) / 2);
    box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.2);
    position: relative;
    background: #fff;
}
#main .archiveList.archiveColumns li{
    width: calc((100% - 40px) / 3);
}
#main .archiveList li a {
    color: #222222;
    text-decoration: none;
    display: block;
    padding: 40px;
}

#main .archiveList.archiveColumns li a{
    padding: 20px;
}

#main .archiveList li .ttlBox{
    padding-top: 10px;
}
#main .archiveList li .ttlBox h3{
    margin: 2.5em 0 10px;
    font-size: 16px;
    background: none;
    border: none;
    padding: 0;
}
#main .worksBox .archiveList.archiveColumns li .ttlBox h3.ellipsisHdg{
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: block;
}

#main .archiveList li .ttlBox .date{
    font-size: 14px;
    color: #222222;
    margin: 0;
}
#main .archiveList li .ttlBox p{
    margin-bottom: 0;
    font-size: 14px;
}
#main .archiveList li .cat {
    position: absolute;
    top: 370px;
    left: 40px;
    max-width: calc(100% - 40px);
    font-size: 14px;
    line-height: 1.4;
    height: 2em;
    overflow: hidden;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0;
}
#main .archiveList.archiveColumns li .cat{
    top: 225px;
    left: 20px;
}
#main .archiveList.archiveColumns li .cat.havDate {
    top: 250px;
}

#main .archiveList li .cat a{
    background: #083a95;
    border-radius: 5px;
    color: #fff;
    text-decoration: none;
    line-height: 1;
    padding: 5px;
    flex-shrink: 0;
}
#main .archiveList li .cat.taxThird a{
    background:#083a95;
}

#main .archiveList li img.thumbImg {
    width: 100%;
    height: 290px;
    object-fit: cover;
}
#main .archiveList.archiveColumns li img.thumbImg{
    height: 190px;
}

/*-------------------------施工事例詳細----*/
#main .singleWorks table {
    width: 100%;
    box-shadow: none;
    background: none;
    table-layout: fixed;
}

#main .singleWorks table tr th:last-of-type,
#main .singleWorks table tr td:last-of-type {
    border-right: none;
}

#main .singleWorks table tr:last-child th,
#main .singleWorks table tr:last-child td {
    border-bottom: none;
}

#main .singleWorks table th,
#main .singleWorks table td {
    border-right: none;
    border-left: none;
}
#main .catLink{
    margin-right: 10px;
}
#works #main .catLink{
    margin-right: 10px;
    background: #083a95;
    border-radius: 5px;
    color: #fff;
    text-decoration: none;
    line-height: 1;
    padding: 5px;
    flex-shrink: 0;
}
#main .btn.btnForWorks{
    font-size: 16px;
}

#main .picBox {
    overflow: hidden;
    position: relative;
    margin: 30px 0 50px;
}
#main .picBox a {
    text-decoration: none;
}

#main .picBox .photo {
    float: right;
    width: 650px;
    height: 450px;
    position: relative;
    overflow: hidden;
    display: block;
}

#main .picBox .btmPhoto {
    position: relative;
    height: 300px;
    width: 430px;
    padding-bottom: 10px;
    display: block;
    float: left;
}

#main .picBox .photo a {
    display: block;
    height: 100%;
}

#main .picBox .btmPhoto a {
    overflow: hidden;
    height: 100%;
    width: 100%;
    margin-bottom: 10px;
    display: block;
    position: relative;
}


#main .picBox .photo img,
#main .picBox .btmPhoto a img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}


#main .picBox .btmPhoto:before,
#main .picBox .btmPhoto:after {
    position: absolute;
    bottom: -65px;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    z-index: 10;
}

#main .picBox .btmPhoto:before {
    right: -40px;
    bottom: -80px;
    width: 5px;
    height: 5px;
    border: 32px solid transparent;
    border-left: 45px solid #083a95;
}

#main .picBox .btmPhoto:after {
    right: 30px;
    width: 80px;
    height: 80px;
    border: 0px solid transparent;
    border-bottom: 30px solid #083a95;
    border-radius: 0 0 0px 75px;
    z-index: -1;
}
#main .picBox span.after,
#main .picBox span.before {
    background: #083a95;
    display: block;
    font-size: 15px;
    text-align: center;
    font-weight: 700;
    color: #FFF;
    padding: 2px 0;
    line-height: 1.4;
}

#main .picBox span span {
    opacity: 0.5;
    margin-left: 5px;
}

#main .singleBlog .singleDetail img {
    float: none !important;
    max-width: 100%;
    height: auto;
}


#main .voicephotList {
    float: left;
}

#main .otherPhoto {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    gap: 20px;
    flex-wrap: wrap;
}

#main .otherPhoto li {
    width: calc((100% - 40px) / 3);
}

#main .otherPhoto li a {
    margin-bottom: 10px;
}

#main .otherPhoto li a img {
    width: 100%;
    height: 240px;
    object-fit: cover;
}

#main .otherPhoto li h5 {
    font-size: 18px;
}



/*------------- tmp -------------*/

/*投稿画像の回り込み処理*/
img.centered {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

img.alignright {
    padding: 0;
    margin: 0 0 20px 30px;
    display: inline;
}

img.alignleft {
    padding: 0;
    margin: 0 30px 20px 0;
    display: inline;
}

img.aligncenter {
    display: block;
    margin: 0 auto;
}

.alignright {
    float: right;
    margin-left: 10px;
    margin-bottom: 2px;
}

.alignleft {
    float: left;
    margin-right: 10px;
    margin-bottom: 2px;
}

img {
    border-style: none;
}

#main .nobr br {
    display: none;
}

#main p.wp-caption {
    margin: 0 0 10px 0;
    font-size: 0.8em;
    line-height: 1.2em;
}

#main p.wp-caption img {
    margin-bottom: 5px;
}

#main p.wp-caption .caption-text {
    text-align: left;
}

/*pagenavi*/
.pagenavi {
    padding: 0;
    margin: 0 50px 50px !important;
}

.pagenavi ul {
    display: flex;
    justify-content:center;
    gap:80px;
    align-items: center;
}


.pagenavi a {
    background: #222222;
    border-radius: 5px;
    border:2px #222 solid;
    color: #ffffff;
    text-decoration: none !important;
    padding: 3px 10px 5px;
    position: relative;
}

.pagenavi .next a {
    padding-left: 30px;
}
.pagenavi .prev a {
    padding-right: 30px;
}
.pagenavi .list a {
    padding-left:30px;
    padding-right: 30px;
}

.pagenavi .prev a:after{
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    font-family: "Font Awesome 5 Free";
    content: '\f105';
    font-weight: 900;
    font-size: 20px;
    right: 10px;
    height: 18px;
    line-height: 1;
}
.pagenavi .next a:after{
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    font-family: "Font Awesome 5 Free";
    content: '\f104';
    font-weight: 900;
    font-size: 20px;
    left: 10px;
    height: 18px;
    line-height: 1;
}

#main .wp-pagenavi {
    text-align: center;
}

#main .wp-pagenavi a {
    border-radius: 5px;
    background: #222;
    color: #ffffff !important;
    padding: 0 5px;
    text-align: center;
    transition: 0.7s;
    border: none;
    display: inline-block !important;
    overflow: inherit !important;
}

#main .wp-pagenavi span {
    border-radius: 5px;
    padding: 0 5px;
    text-align: center;
    transition: 0.7s;
}

#main .wp-pagenavi span.pages,
#main .wp-pagenavi span.last {
    display: inline-block;
}

#main .wp-pagenavi a:link,
#main .wp-pagenavi a:visited {
    color: #ffffff !important;
    text-decoration: none;
}

#main .wp-pagenavi a:hover,
#main .wp-pagenavi span.current {
    border-color: #bfbfbf;
    display: inline-block;
}

#main .wp-pagenavi a:hover {
    color: #fff !important;
    opacity: 0.7;
}



/*-------------------#top-----------------*/
/*--.introduction--*/
#main .introduction{
	position: relative;
	width: 100%;
	overflow: hidden;
}
#main .introduction .imgLayer{
	position: absolute;
	top: 0;
	left: 5%;
	z-index: 1;
}
#main .introduction .imgLayerStaff{
	position: absolute;
	bottom: 0;
	left: calc((50% + 400px));
	z-index: 1;
}
#main .introduction .imgLayerStaff p.staffSrf{
	position: absolute;
	top: -100px;
	left: 10px;
	text-align: center;
	font-weight: 700;
	transform: rotate(-35deg);
}
#main .introduction .imgLayerStaff p.staffSrf::before,
#main .introduction .imgLayerStaff p.staffSrf::after{
	content: '';
	width: 32px;
	height: 74px;
	position: absolute;
	bottom: 0;
	left: -40px;
	background-image: url(./img/bg_staff01_deco.png);
	background-repeat: no-repeat;
	background-size: contain;
}
#main .introduction .imgLayerStaff p.staffSrf::after{
	left: unset;
	right:-40px;
	transform: scale(-1,1);
}
#main .introduction .inner{
	width: 670px;
	margin: 0 auto 0;
	padding: 50px 0 50px;
	position: relative;
	z-index: 5;
}
#main .introduction .inner p{
	font-size: 18px;
	line-height: 2.0;
}
#main .introduction .inner .logo{
	text-align: center;
	margin-bottom: 50px;
}
@media screen and (max-width: 1399px) {
	#main .introduction .imgLayer{
		left: 0;
		width: 200px;
		height: auto;
	}
	#main .introduction .imgLayerStaff{
		left: calc((100% - 300px));
	}
	#main .introduction .inner{
		width: 1100px;
		margin: 0 auto 0;
		padding: 70px 0 50px 0;
		position: relative;
		z-index: 5;
	}
	#main .introduction .inner p:last-child{
		padding: 0 320px 0 60px;
	}
}

/*--.strengthListBox--*/

#main .strengthListBox{
	background: url(./img/bg_strength.png) no-repeat top 30px center;
}
#main .strengthListBox .inner{
	padding: 60px 60px 50px;
	background: url(./img/line01.png) repeat-x top,url(./img/line01.png) repeat-x bottom;
    overflow: visible;
    margin-bottom: 50px;
}
#main .strengthListBox .strengthHdding{
    text-align: center;
    font-size: 38px;
    line-height: 1;
    position: relative;
    margin-bottom: 30px;
}
#main .strengthListBox .strengthHdding .imgLayerItem{
    position: absolute;
    top: -80px;
    right: -20px;
}
#main .strengthListBox .spanRplace span{
    font-size: 48px;
}

/*--.newsBox--*/
#main .newsBox {
    position: relative;
}

#main .newsBox .inBox {
  background: #fff;
  padding: 40px 60px 60px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
#main .newsBox .inBox li {
  position: relative;
  overflow: hidden;
  border-bottom: #222 dotted 1px;
  padding: 0 20px 15px;
}

#main .newsBox .inBox li:before,
#main .newsBox .inBox li:after {
  content: none;
}

#main .newsBox .inBox li a {
  color: #222;
  text-decoration: none !important;
  display: block;
  overflow: hidden;
  display: flex;
  align-items: center;
}
  
#main .newsBox .inBox li .price {
  color: #d73d33 !important;
}
  
#main .newsBox .inBox p {
  margin-bottom: 5px;
  letter-spacing: -0.05em;
  line-height: 1.3;
}
  
#main .newsBox .inBox .newsCont {
    overflow: hidden;
}
#main .newsBox .inBox li .newsCont h5 {
    background: none !important;
    font-size: 16px !important;
    font-weight: 500;
    padding: 0 !important;
    margin: 0 !important;

    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: block;
  }

  
#main .newsBox .inBox p.time {
  font-weight: bold;
}

#main .newsBox .inBox p strong {
  color: #e62600;
}
  
#main .newsBox .inBox .cat {
    position: absolute;
    left: 300px;
    top: 22px;
    height: 1.7em;
    overflow: hidden;
}
#main .newsBox .inBox li .cat a {
    display: inline-block !important;
    background: #4a1a0e;
    width: 14em;
    text-align: center;
    color: #fff !important;
    margin: 0 4px 4px 0;
    text-decoration: none;
    padding: 2px 5px 3px;
    border-radius: 0;
}
#main .newsBox .inBox li .cat.blogcat a {
    background: #083a95;
}
#main .newsBox .inBox li .newsTumb {
  width: 160px;
  height: 100px;
  overflow: hidden;
  display: block;
  background: #ededed;
  margin-right: 20px;
  flex-shrink:0;
}
  
#main .newsBox .inBox li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#main ul.informationTab {
    overflow: visible;
    margin-bottom: 0 !important;
    color: #222222;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content:flex-start;
    gap: 1px;
}

#main ul.informationTab li {
    position: relative;
    padding: 15px 0 !important;
    text-align: center;
    width: calc((100% - 2px) / 3);
    cursor: pointer;
    font-size: 15px;
    font-weight: 900;
    margin-top: 10px;
    border-radius: 5px 5px 0 0;
    color: #fff;
	background-color: #fff;
    z-index: 1;
}

#main ul.informationTab li.active,
#main ul.informationTab li:hover {
    padding-top: 20px !important;
    margin-top: 0 !important;
}
#main ul.informationTab li.active:before,
#main ul.informationTab li:hover:before{
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -9px;
	border-top: 10px solid #222;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
}
#main ul.informationTab li:first-child {
	border: 2px solid #222;
    color: #222;
}
#main ul.informationTab li:first-child.active:after,
#main ul.informationTab li:first-child:hover:after{
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -10px;
	border-top: 10px solid #222;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
}

#main ul.informationTab li:first-child.active:after,
#main ul.informationTab li:first-child:hover:after{
    border-top-color:#fff;
}  
#main ul.informationTab li:first-child.active:after,
#main ul.informationTab li:first-child:hover:after{
	bottom: calc( -7px );
	border-top: solid 10px #fff;
}  
#main ul.informationTab li:nth-of-type(2) {
    background: #4a1a0e;
}
#main ul.informationTab li:nth-of-type(2).active:before,
#main ul.informationTab li:nth-of-type(2):hover:before{
    border-top-color:#4a1a0e;
}  
#main ul.informationTab li:nth-of-type(2).active:after,
#main ul.informationTab li:nth-of-type(2):hover:after{
	bottom: calc( -7px );
	border-top: solid 10px #4a1a0e;
}  
#main ul.informationTab li:nth-of-type(3) {
    background: #083a95;
}
#main ul.informationTab li:nth-of-type(3).active:before,
#main ul.informationTab li:nth-of-type(3):hover:before{
    border-top-color:#083a95;
}  
#main ul.informationTab li:nth-of-type(3).active:after,
#main ul.informationTab li:nth-of-type(3):hover:after{
	bottom: calc( -7px );
	border-top: solid 10px #083a95;
}  


  div.tabContent {
    clear: both;
    display: none;
  }
  div.active {
    display: block;
  }

  .news_wrap {
      margin-top: -70px;
  }


/*-------------------#serviceページ-----------------*/
#main .serviceHeading01 {
    font-size: 40px;
    position: relative;
    text-align: center;
    margin-bottom: 50px;
}
#main .serviceHeading01::after {
    position: absolute;
    content: "";
    display: block;
    height: 4px;
    width: 1em;
    bottom: -10px;
    left: 0;
    right: 0;
    margin: auto;
    background: #b36044;
}

#main .serviceMenuListBox {
    margin-bottom: 100px;
}
#main .serviceMenuList {
    display: flex;
    flex-wrap: wrap;
    width: 900px;
    gap: 40px;
    margin: 0 auto;
}
#main .serviceMenuList li{
    width: calc((100% - 40px) / 2);
    box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.2);
}
#main .serviceMenuList li a {
    display: flex;
    flex-direction: column;
    text-decoration: none;
}
#main .serviceMenuList .serviceMenuListHeadding{
    background: #083a95;
    color: #fff;
    font-size: 30px;
    padding: 10px 0;
    text-align: center;
}
#main .serviceMenuList figure{
    width: 100%;
    height: 240px;
    margin: 0;
}
#main .serviceMenuList figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#main .serviceMenuList li a::after {
    font-family: "Font Awesome 5 Free";
    content: '\f107';
    font-weight: 900;
    line-height: 1.5;
    font-size: 20px;
    width: 100%;
    text-align: center;
    display: block;
    position: relative;
    background: #222;
    color: #fff;
}

#main .serviceMenuBox{
    background: url(./img/bg_footer.png);
    margin-bottom: 0 !important;
    padding: 100px 0;
}
#main .serviceNameHeadding{
    background: #222;
    font-size: 30px;
    color: #fff;
    border-radius: 5px;
    padding: 0 100px;
    margin: 0 auto 30px;
    text-align: center;
}
#main .servicePointList{
    display: flex;
    flex-wrap: wrap;
    gap: 60px 40px;
    counter-reset: servicePointList;
    margin-bottom: 60px;
}
#main .servicePointList li{
    width: calc((100% - 40px) / 2);
    counter-increment: servicePointList;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
#main .servicePointList .servicePointHeadding{
    font-size: 26px;
    text-align: center;
    line-height: 1.5;
}

#main .servicePointList li::before {
    content: counter(servicePointList, decimal-leading-zero);
    font-family: 'Roboto', sans-serif;
    font-size: 36px;
    color: #b36044;
    background: #fff;
    border: 2px solid #b36044;
    margin: auto;
    display: block;
    width: fit-content;
    line-height: 1;
    padding: 30px;
}
#main .servicePointList .servicePointHeaddingImg {
    margin: 0;
}
#main .servicePointList .areaBox .mapImg {
    max-width: 50%;
}
#main .servicePointList .areaBox{
    gap: 20px;
    padding: 20px;
    height: 290px;
}
#main .servicePointList .areaBox h4{
    font-size: 25px;
}
#main .servicePointList .areaBox h5{
    font-size: 16px;
    padding: 2px 40px;
}
#main .servicePointList .areaBox p{
    font-size: 12px;
}
#main .servicePointList .areaBox .mapImg {
    max-width: 50%;
}


/*-------------------corporate-----------------*/
#corporate #main .message .messageBox{
	padding-top:0;
	background: none;
}
#main .outlineBox{
    background: #efefef;
    padding: 80px 0 60px;
    margin-bottom: 0;
}
#main .awdBox{
    background: #ffe094;
    padding: 60px 60px 20px;
}
#main .awdBox .headdingL02 strong{
    color: #e62600;
}
#main .awdBox .photoUL{
    margin-bottom: 20px;
}
#main .awdBox .awdExp{
    background: #fff;
    text-align: center;
    line-height: 2;
    padding: 20px;
    margin-bottom: 40px;
}
#main .serviceBox{
    background: url(./img/bg_footer.png);
    padding: 60px 60px 20px;
}
#main .serviceList{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap:80px 40px;
    margin-bottom: 60px;
}
#main .serviceList li{
    background: none;
    overflow: hidden;
    position: relative;
    width: 44%;
    width: calc(50% - 20px);
    background: #fff;
}
#main .serviceList .serviceListHeadding{
    background: #083a95;
    padding: 20px 0;
    color: #fff;
    text-align: center;
    font-size: 22px;
}
#main .serviceList .servicePhoto{
    width: 450px;
    height: 300px;
    display: block;
    margin: 40px auto;
}
#main .serviceList .servicePhoto img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#main .serviceList .serviceCom{
    margin: 40px;
    line-height: 2.2;
}
#main table.showroomTable td, #main table.showroomTable th {
    padding: 10px;
}
/*-------------------#strengthsページ-----------------*/
#strengths #pageTitle {
    background-image: 
    url(./img/bg_strengths_pagetitle02.png),
    url(./img/bg_strengths_pagetitle03.png),
    url(./img/bg_strengths_pagetitle01.png);
    background-position:
    right -15% bottom,
    left bottom,
    center center;
    background-repeat:
    no-repeat,
    no-repeat,
    repeat;
}

#strengths #pageTitle .inner {
    min-height: 400px;
}
#main .strengthsBox{
    position: relative;
    margin-top: -50px;
}
#main .strengthsBox::after{
    position: absolute;
    content: "";
    width: 289px;
    height: 324px;
    background: url(./img/bg_item01.png) no-repeat;
    bottom: 0;
    left: 5%;
}
#main .strengthsBox .inner{
    width: 980px;
}

#main .strengthsBox .strengthsBoxTtl{
    text-align: center;
    margin-bottom: 50px;
}
#main .strengthsBox .strengthsBoxTtl .imgLayer {
    position: absolute;
    right: calc(50% - 570px);
    top: 0;
}
#main .strengthsBox .spanRplace span{
    font-size: 58px;
    padding: 5px 6px 8px;
}
#main .strengthsBox .strengthsBoxTtl .strengthsSubTtl{
    display: block;
    border-radius: 50vh;
    border:2px #222 solid;
    font-size: 26px;
    width: fit-content;
    padding: 0 20px;
    margin: 20px auto 0;
    background: #fff;
}

/*-------------------#insuranceページ-----------------*/
#main .insuranceBox {
}
#main .insuranceBoxTtl{
    text-align: center;
    margin-bottom: 10px;
    font-size: 38px;
}
#main .insuranceBoxTtl .spanRplace span {
    font-size: 48px;
}
#main .insuranceBox .leadCtx{
    text-align: center;
    font-weight: 700;
}
#main .insuranceBox .leadCtx h3{
    font-size: 24px;
}
#main .insuranceBox .leadCtx h3 strong{
    color: #e62600;
}
#main .insuranceBox .leadCtx h3 span.lrgTxt{
    font-size: 48px;
}
#main h3.insuranceHeadding {
    display: flex;
    align-items: center;
    padding: 0 20px 0 10px;
}

#main h3 span.pointS {
    border-radius: 3px;
    background: #e62600;
    color: #fff;
    display: block;
    font-weight: 700;
    font-size: 18px;
    text-align: center;
    margin-right: 10px;
    line-height: 1;
    padding: 5px 20px 8px;
}
#main .insuranceCtxBox p {
    line-height: 1.8;
}

/*-------------------#showroomページ-----------------*/
#showroom #pageTitle {
    background-image: 
    url(./img/bg_strengths_pagetitle02.png),
    url(./img/bg_showroom_pagetitle01.png),
    url(./img/bg_strengths_pagetitle01.png);
    /* background-position:
    right -15% bottom,
    left -40px bottom,
    center center; */
    background-repeat:
    no-repeat,
    no-repeat,
    repeat;
}

#showroom #pageTitle .inner {
    min-height: 400px;
}
#main .srExplan{
    margin-top: 50px;
}
/*-------------------#contactページ-----------------*/
#main .contactTtl{
    background: url(./img/line01.png) repeat-x bottom;
    width: fit-content;
    padding-bottom: 5px;
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 30px;
}
#contact #main .message .messageBox {
    padding-bottom: 0;
    padding-top: 0;
    background: none;
}


/*-------------------#firstページ-----------------*/
#main .strengthsCtxList li.strengthsCtx.firstCtx::before{
    color: #4a1a0e;
    content: "POINT";
}
#main .strengthsCtxList li.strengthsCtx.firstCtx::after {
    color: #b36044;
    border:2px solid #b36044;
}
/*-------------------#flow-----------------*/
#main .flowArcl {
    position: relative;
    padding-bottom: 60px;
}

#main .flowArcl::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-top: 50px solid #083a95;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
/*-------------------#faq-----------------*/
#main .faqList {
    margin-bottom: 80px;
}
#main .faqList li {
    margin-bottom: 20px;
    background: #fff;
    border: #083a95 solid 5px;
    padding: 5px 5px 30px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}

#main .faqList li:before,
#main .faqList li:after {
    content: none;
}

#main .faqList li h4 {
    background: none;
    box-shadow: none;
    margin: 0 0 10px;
    border: none;
    border-bottom: #083a95 solid 1px;
    color: #222222;
    font-size: 16px;
    padding: 10px;
}

#main .faqList li p {
    padding: 0 10px;
}

#main .faqList li .contactTel {
    margin-bottom: 0;
    padding: 0 10px;
}


#main .faqList li .btn {
    float: right;
}

/*-------------------#partner-----------------*/
#main .featuresList {
    display: flex;
    gap: 40px;
}
#main ul.featuresList li {
    width: calc((100% - 80px) / 3);
    background: #fff;
    box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.2);
    padding: 20px;
}
#main ul.featuresList li h4{
    text-align: center;
    margin: 10px 0;
    font-size: 35px;
}
#main ul.featuresList li h4 span{
    min-height: 85px;
    margin-bottom: 20px;
    display: block;
}

#main ul.featuresList li h4 img{
    display: block;
    margin: 0 auto;
    width: auto;
}
#main ul.featuresList li p{
    line-height: 1.8;
    margin-bottom: 0;
}

#main ul.hopeList {
    display: flex;
    gap: 50px;
}
#main ul.hopeList>li{
    width: calc((100% - 50px) / 2);
}
#main .hopeList .headdingL03 {
    font-size: 22px;
    text-align: center;
}
#main ul.hopeList img.imgIlst {
    float: right;
}
#main .rinen {
    clear: both;
    background: #f0f6fc ;
    padding: 10px;
    border: solid 1px #0061bc ;
}
#main .promiceTtl{
    font-weight: 700;
    color: #07a723;
    font-size: 18px;
}

#main .hopeList .areaBox{
    gap: 20px;
    padding: 20px;
}
#main .hopeList .areaBox h4{
    font-size: 18px;
}
#main .hopeList .areaBox h5{
    font-size: 12px;
    padding: 2px 40px;
}
#main .hopeList .areaBox p{
    font-size: 11px;
}
#main .hopeList .areaBox .mapImg {
    max-width: 50%;
}

/*-------------------#diagnosisページ-----------------*/
#main .diagnosisTtl {
    text-align: center;
    margin-bottom: 50px;
    font-size: 38px;
}

#main .checkHeadding {
    font-size: 48px;
    font-weight: 900;
    text-align: center;
}
#main .checkCtx {
    background: #083a95;
    color: #fff;
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
    border-radius: 25px;
    position: relative;
    padding: 20px;
    margin-bottom: 30px;
}
#main .checkCtx::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -20px;
    border-top: 20px solid #083a95;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
}
#main .checkYb {
    font-size: 40px;
    font-weight: 900;
    line-height: 1.5;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
#main .checkNt {
    display: flex;
    justify-content: space-between;
    align-items:flex-end;
}
#main .checkNtTxt{
    font-size: 50px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0;
}
#main .checkNtTxtSub{
    font-size: 40px;
    display: block;
}
#main .checkFkds {
    background: #e62600;
    color: #fff;
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
    border-radius: 25px;
    position: relative;
    padding: 20px;
    margin-bottom: 30px;
}
#main .checkFkds::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -20px;
    border-top: 20px solid #e62600;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
}

#main .troubleBox .floatL {
    margin-right: 20px;
}

#main .troubleBox .floatL img {
    margin-bottom: 10px;
}
#main .troubleBox h4 {
    margin-bottom: 10px;
}
#main .strengthsCtxList li.strengthsCtx.diagnosisCtx {
    padding: 200px 0 0;
    margin-bottom: 50px;
}
#main .strengthsCtxList li.strengthsCtx.diagnosisCtx::before{
    color: #4a1a0e;
    content: "ここが違う！";
    font-weight: 700;
    top: 30px;
}
#main .strengthsCtxList li.strengthsCtx.diagnosisCtx::after {
    color: #b36044;
    border:2px solid #b36044;
    top: 60px;
}
#main .strengthsCtxList li.strengthsCtx.diagnosisCtx:nth-child(odd) {
    background: none;
}
#main .diagnosisCtxTxt{
    display: flex;
    justify-content: space-between;
    gap:50px;
}
#main p.catchPAt {
    font-size: 50px;
    line-height: 1.5;
    overflow: hidden;
    font-weight: 700;
}

#main p.catchPAt img {
    float: left;
    margin-right: 10px;
}

#main .emergencyBox {
    background: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

#main .ttlCaution {
    background: #083a95;
    margin: 0 auto 0;
    font-size: 26px;
    text-align: center;
    color: #fff;
    padding: 10px;
}

#main .warningChk {
    padding: 20px 50px;
    background: #e7e6e1;
    margin-bottom: 100px;
}

#main .warningChk h5 {
    margin: 0 0 20px;
    background: #e62600;

    color: #FFFFFF;
    font-size: 24px;
    display: inline-block;
    padding: 10px 20px;
    border-radius: 5px;
    line-height: 1.2;
}

#main .warningChk ul li {
    font-size: 25px;
    font-weight: 700;
    padding: 0 0 0 24px;
    margin: 0 0 0;
    position: relative;
}

#main .warningChk ul li:before {
    content: "";
    left: 0;
    position: absolute;
    width: 15px;
    height: 15px;
    border-radius: 50vh;
    top: 0;
    bottom: 0;
    margin: auto;
    display: block;
    background: #e62600;
}


/*-------------------contentsListページ （#menuアーカイブページ）-----------------*/
#main .cornerMainv {
    position: relative;
    padding-bottom:50px;
}
#main .cornerMainv.menuMainv {
    background-image: 
    url(./img/bg_tools.png),
    url(./img/deco_strength.png);
    background-position:
    left center,
    right center;
    background-repeat:
    no-repeat,
    no-repeat;
    background-color: #feeace;
    padding-bottom: 150px;
    margin-bottom: -150px;
}
#main .contentsList {
    position: relative;
    overflow: visible;
    margin-bottom: 50px;
}
#main .contentsList article.itemBox{
    overflow: hidden;
    background: #fff;
    box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.2);
    margin-bottom: 60px;
}
#main .contentsList article.itemBox a{
    text-decoration: none;
    color: #222;
}
#main .contentsList .itemBoxHheadding{
    background: #5fcc25;
    color: #fff;
    text-decoration: none;
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    display: block;
    position: relative;
}
#main .contentsList article:nth-child(odd) .itemBoxHheadding{
    background: #083a95;
}
#main .contentsList .itemBoxHheadding::after {
    font-family: "Font Awesome 5 Free";
    content: '\f105';
    font-weight: 900;
    right: 15px;
    position: absolute;
    font-size: 24px;
    height: 1em;
    top: 0;
    bottom: 0;
    margin: auto;
    display: block;
    line-height: 1;
}

#main .contentsList .itemBoxHheaddingL02 {
    margin-bottom: 20px;
    font-size: 24px;
    font-weight: 700;
}
#main .contentsList article.itemBox .itemBoxCtx{
    padding: 20px;
    display: flex;
    gap: 40px;
}
#main .contentsList article.itemBox .itemBoxCtxTxt{
    flex:1;
}
#main .contentsList article.itemBox .itemBoxCtxTxt p{
    line-height: 2;
}
#main .contentsList article .menuImg {
    width: 340px;
    height: 220px;
}
#main .contentsList article .menuImg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*-------------------menu-categoryページ-----------------*/
#main .menuCategoryBox {
}

#main .menuCategoryCatchBtm {
    color: #fff;
    text-align: center;
    margin-bottom: 30px;
    padding: 0 20px;
    font-size: 26px;
    font-weight: 500;
    position: relative;
    background: #083a95;
}

#main .menuCategoryBox .categoryTtl {
    display: flex;
    gap: 40px;
    margin-bottom: 50px;
}
#main .menuCategoryBox .categoryTtl p{
    line-height: 2;
}
#main .menuCategoryBox .categoryTtl .categoryTtlImg {
    width: 450px;
    height: 280px;
}
#main .menuCategoryBox .categoryTtl .categoryTtlImg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#main .menuCategoryBox .categoryTtl .categoryTtlTxt {
    flex: 1;
}

#main .bgMt.cautionBox {
    padding-top: 20px;
}
#main .catchTtl {
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 30px;
}

#main .catchTtl span.cautionS {
    background: #e62600;
    border-radius: 5px;
    padding: 0 20px;
    color: #fff;
    font-size: 24px;
    display: block;
    width: fit-content;
    margin: 0 auto;
}
#main .cautionBoxImg {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 30px;
}
#main .casesBox{
    position: relative;
}
#main .casesBox .imgCases{
    position: absolute;
    right: 0;
    bottom: 0;
}
#main .contactFkds{
    background: #083a95;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    border-radius: 50vh;
    position: relative;
    padding: 5px 60px;
    text-align: center;
    width: fit-content;
    margin: 0px auto -20px;
    z-index: 10;
}
#main .contactFkds strong{
    color: #ffee2c;
}
#main .contactFkds::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -10px;
    border-top: 10px solid #083a95;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
}

#main .flowTk li {
    padding-bottom: 40px;
    margin-bottom: 15px !important;
    position: relative;
}

#main .flowTk li::after {
    content: ' ';
    height: 0;
    position: absolute;
    width: 0;
    border: solid transparent;
    border-top: #b36044 solid;
    border-width: 15px 20px;
    left: 60px;
    bottom: -10px;
    margin: auto;
}

#main .flowTk li:last-child:before,
#main .flowTk li:last-child:after {
    content: none;
}
#main .flowTk li:last-child {
    padding-bottom: 0;
}

#main .estimateFlowDtl>li {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    flex-wrap: wrap;
    counter-increment: flowdtlc;
    margin-bottom: 40px;
}
#main .estimateFlowDtl>li:last-child {
    margin-bottom: 0;
}
#main .estimateFlowDtl li h3 {
    font-size: 26px;
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 1.5;
    margin-bottom: 15px;
}

#main .estimateFlowDtl li h3:before {
    background: #083a95;
    line-height: 32px;
    display: block;
    color: #fff;
    content: counter(flowdtlc);
    font-size: 18px;
    text-align: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
}
#main .estimateFlowDtl li p {
    line-height: 1.5;
    margin: 0;
}
#main .estimateFlowDtl li .estimateFlowCtx {
    flex:1;
}
#main .estimateFlowDtl li ol.flowOl {
    border: #ccc 8px solid;
    padding: 20px 20px 20px 40px;
    clear: both;
    margin-top: 30px;
    margin-bottom: 0;
    width: 100%;
}
#main .ttlSttl {
    font-size: 20px;
    text-align: center;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 40px;
}
/*-------------------#staff-----------------*/
#staff #pageTitle {
    background-image: 
    url(./img/bg_staff_pagetitle03.png);
    background-position:
    left bottom,
    center center;
    background-repeat:
    no-repeat,
    repeat;
}

#staff #pageTitle .inner {
    min-height: 400px;
}

#main .staffList {
    margin-bottom: 50px;
    display: flex;
    justify-content: flex-start;
    gap: 40px;
    flex-wrap: wrap;
}

#main .staffList article {
    padding: 0;
    position: relative;
    overflow: hidden;
}
#main .slickArchive .staffList article {
    margin: 0 20px;
}

#main .staffList article a {
    text-decoration: none;
    color: #222222;
    display: block;
}

#main .staffPhoto {
    width: 340px;
    height: 380px;
    display: block;
    position: relative;
    padding: 0 0 20px 20px;
}
#main .staffPhoto::after {
    content: "";
    background: #4a1a0e;
    height: calc(tan(60deg) * 60px / 2);
    width: 240px;
    height: 240px;
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}

#main .staffPhoto img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#main .staffList article a .staffSummary {
    text-align: center;
    background: #feeace;
    margin:10px 0 0 20px;
    padding: 10px;
}

#main .staffList article .staffName {
    color: #222222;
    font-size: 21px;
    line-height: 1.3;
    font-weight: 700;
    margin-bottom: 0;
}

#main .staffList article .staffName span {
    color: #07a723;
    font-size: 14px;
    margin-left: 5px;
}

#main .staffList article .btnDetail {
    padding: 0 10px !important;
}


#main .staffProf {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: flex-start;
}

#main .staffProf .photoPict {
    margin-right: 80px;
}

#main .staffProf .profileDetail {
    overflow: hidden;
    width: 100%;
}


#main .staffProf .profileDetail .staffName {
    font-size: 36px;
    font-weight: 700;
}

#main .staffProf .staffOtherL {
    margin: 20px 0;
    font-weight: 700;
}

#main .staffProf .profileDetail li {
    border-bottom: #222 dotted 2px;
    padding: 15px 0;
    display: flex;
    gap: 30px;
    justify-content: flex-start;
}
#main .staffProf .profileDetail li .staffTtl{
    width: 5.5em;
    flex-basis: 1;
}

#main .staffLead{
	margin: 10px 0 0;
	font-weight: 700;
}
#main .staffSection{
	margin: 0 0 20px;
    display: inline-block;
    background-color: #083a95;
    color: #FFF;
    padding: 5px 20px;
    line-height: 1;
    border-radius: 5px;
    font-size: 14px;
}
#main .staffComment{
	margin: 10px 0 0;
}
#main .staffAwdExplain{
    text-align: center;
}
/*--スタッフリスト スライド用--*/
#main .slickArchive .slick-slide {
    opacity: 0.8;
    transition: 0.5s;
}

#main .slickArchive .slick-current {
    opacity: 1;
}
#main .archiveArrows {
    width: 100vw;
    margin: 0 auto;
    position: relative;
}

#main .archiveArrows button {
    position: absolute;
    border: none;
}

#main .archiveArrows button.slick-prev,
#main .archiveArrows button.slick-next {
    background: none;
    outline: none;
    cursor: pointer;
    width: 50px;
    height: 50px;
    overflow: hidden;
}

#main .archiveArrows button.slick-prev {
    left: 30px;
    top: -320px;
    background: url(./img/leftNav.png) right center no-repeat;
    opacity: 1;
}

#main .archiveArrows button.slick-next {
    right: 30px;
    top: -320px;
    background: url(./img/rightNav.png) left center no-repeat;
    opacity: 1;
}

#main .archiveArrows button.slick-prev:before,
#main .archiveArrows button.slick-next:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
}


/* --------------------------------------------------
	page
-------------------------------------------------- */

#main .meritBox {
    overflow: inherit;
}


#main .meritBox p {
    margin-top: 0;
}

#main .meritBox img {
    float: left;
    margin-right: 30px;
}

#main .meritBox .meritTxt {
    overflow: hidden;
}

#main .meritList {
    border-top: #222222 dashed 1px;
    padding-top: 10px;
    overflow: hidden;
}

#main .meritList {
    padding-top: 5px;
    border-top: #ccc solid 1px;
}

#main .meritList li {
    background: none;
    border-bottom: #222222 dashed 1px;
    position: relative;
    font-size: 19px;
    font-weight: 700;
    padding: 0 0 5px 30px;
    margin: 0 0 10px;
}

#main .meritList li {
    font-size: 20px;
    padding: 0 0 0 25px;
    border-bottom: #ccc solid 1px;
}

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

#main .meritList>li:before,
#main .meritList>li:after {
    position: absolute;
    top: 5px;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}



#main .meritList>li:before {
    background: #e62600;
    border-radius: 50%;
    width: 20px;
    height: 20px;
}

#main .meritList>li:after {
    left: 3px;
    width: 7px;
    height: 7px;
    top: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
}

#main .meritList li strong {
    color: #e62600;
}

#main .meritBox .diagnosisList {
    z-index: 10;
    position: relative;
    overflow: hidden;
}

#main .meritBox .diagnosisList li {
    border-radius: 4px;
    background: #57a800;
    color: #fff;
    font-size: 25px;
    font-weight: 700;
    text-align: center;
    width: 48%;
    width: calc(50% - 5px);
    padding: 3px 0;
    float: left;
    margin-top: 10px;
}

#main .meritBox .diagnosisList li:nth-child(2n) {
    float: right;
}

#main .meritBox .diagnosisList li:before,
#main .meritBox .diagnosisList li:after {
    content: none;
}

#main .flex-list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#main .flex-list > li{
	padding: 0;
	width: calc( 50% - 15px );
}

#main .flex-list > li:before,
#main .flex-list > li:after {
	content: none !important;
}

#main p.catchWorksPower {
    font-size: 46px;
}tant;
}

#main p.catchWorksPower {
    font-size: 46px;
}